:root{color-scheme:dark;--ink:#182c29;--panel:#20362ff5;--gold:#e3c184;--paper:#eee4cb;--muted:#acc0a8;--line:#bdc8a52b;--green:#a2cba0}*{box-sizing:border-box}body{margin:0;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--paper);font-size:14px;background:#243e38}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,canvas:focus-visible{outline:2px solid #ffe2a0;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.48}button{border:0}button:hover:not(:disabled){filter:brightness(1.14)}[hidden]{display:none!important}#game{position:relative;width:100%;height:100vh;height:var(--game-height,100dvh);min-height:0;overflow:hidden}#world{display:block;width:100%;height:100%;outline:none;touch-action:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}kbd{font:10px ui-monospace,monospace;border:1px solid #d3d6ad44;border-radius:3px;padding:1px 4px;opacity:.65}i{font-style:normal}.hud{position:absolute;top:18px;left:24px;right:24px;display:flex;align-items:center;gap:22px;pointer-events:none}.hud>*{pointer-events:auto}.brand{display:flex;align-items:center;background:transparent;gap:13px;text-shadow:0 2px 8px #10251f}.brand span{font-family:"Songti SC",SimSun,serif;font-size:38px;font-weight:900;letter-spacing:5px}.brand small{writing-mode:vertical-rl;font-size:10px;letter-spacing:2px;line-height:1.3;border-left:1px solid #f4e1b04d;padding-left:8px}.vitals{display:flex;gap:9px}.vital{min-width:105px;background:#182e29e0;border:1px solid #c8d1a538;border-radius:5px;padding:9px 11px;box-shadow:0 4px 12px #12241b15}.vital .line{display:flex;align-items:center;gap:9px}.vital em{font-style:normal;font-size:20px;color:var(--accent)}.vital b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.vital small{font-size:10px;color:#c6d0b3;margin-right:auto}.meter{margin-top:6px;height:3px;background:#ffffff1a}.meter i{display:block;height:100%;background:var(--accent);transition:width .2s}.clock{margin-left:auto;display:grid;grid-template-columns:38px auto;column-gap:8px;padding:8px 13px;background:#182e29e0;border:1px solid #c8d1a538;border-radius:5px}.clock>div{grid-row:1/3;font-size:32px;color:var(--gold);line-height:36px}.clock p{font-family:"Songti SC",serif;font-size:16px}.clock small{font-size:10px;color:var(--muted);margin-top:2px}.menu-button{height:39px;width:37px;border:1px solid var(--line);background:#182e29e0;border-radius:4px}.knowledge{position:absolute;left:193px;top:89px;display:flex;gap:17px;font-size:11px;text-shadow:0 1px 4px #13281b}.knowledge span{display:flex;gap:5px;align-items:center}.knowledge b{color:#efdcad;font-weight:500}.tool-rail{position:absolute;left:24px;top:155px;display:flex;flex-direction:column;gap:9px}.tool-rail button{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;width:60px;height:67px;background:#20382fe8;border:1px solid #b5c69a55;border-radius:5px;box-shadow:0 4px 12px #182e2220}.tool-rail span{font-size:26px;line-height:31px;color:#e0c48b}.tool-rail b{font-size:11px;font-weight:400}.tool-rail kbd{position:absolute;left:-5px;top:-4px;background:#233b31}.quest{position:absolute;right:24px;top:102px;width:249px;background:linear-gradient(105deg,#18332ce8,#213b32c7);border:1px solid #c0cca32c;border-radius:4px;padding:16px 18px;box-shadow:0 4px 18px #102b1e16}.quest .eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);display:flex;justify-content:space-between}.quest h2{font-family:"Songti SC",serif;font-size:19px;margin:9px 0}.quest p{font-size:11px;line-height:1.9;color:#c5d1b9}.quest .quest-progress{margin-top:13px;display:flex;gap:4px}.quest-progress i{height:3px;flex:1;background:#b9c7a338}.quest-progress i.done{background:var(--gold)}.location{position:absolute;right:24px;top:287px;display:flex;align-items:center;gap:7px;font-size:12px;color:#edf0d6;text-shadow:0 1px 3px #163228}.location small{font-size:10px;color:#d0dbc1}.mini-map{position:absolute;right:24px;bottom:24px;width:177px;padding:4px;background:#1b3029e8;border:1px solid #c0cca35c;border-radius:50% 50% 6px 6px;overflow:hidden;box-shadow:0 5px 25px #1730284d}.mini-map canvas{display:block;width:100%;height:119px;border-radius:50% 50% 0 0}.mini-map span{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;padding:6px 0 2px;color:#c9d4b8}.hotbar-wrap{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:calc(100% - 44px)}.hotbar{display:flex;gap:5px;padding:7px;background:#1b302be8;border:1px solid #d9d6a852;box-shadow:0 6px 20px #11241c40;border-radius:6px}.slot{position:relative;width:53px;height:58px;background:#395044;border:1px solid #b3c4a338;border-radius:3px;padding:2px}.slot.empty{opacity:.42;background:#263e34}.slot img{width:43px;height:43px;object-fit:contain}.slot .item-icon{width:43px;height:43px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#e8d4a3}.slot b{position:absolute;right:4px;bottom:3px;font-size:11px;text-shadow:0 1px 3px #162d21}.slot small{position:absolute;left:4px;top:3px;font-size:9px;opacity:.6}.slot .durability{height:2px;position:absolute;bottom:1px;left:0;background:#d7bb7a}.slot.active{border-color:#f0c46c;box-shadow:inset 0 0 8px #e7b54b4a}.controls-hint{text-align:center;color:#e2e9d0c9;font-size:10px;margin-top:7px;text-shadow:0 1px 4px #183123;white-space:nowrap}.controls-hint i{padding:0 5px;opacity:.5}.toast{position:absolute;top:115px;left:50%;transform:translateX(-50%);background:#152f29e8;border:1px solid #b6c39755;padding:10px 17px;border-radius:4px;font-size:12px;max-width:min(440px,80%);text-align:center;pointer-events:none;opacity:0;transition:opacity .2s}.toast.show{opacity:1}.context{position:absolute;bottom:123px;left:50%;transform:translateX(-50%);font-size:11px;text-align:center;padding:7px 12px;background:#1a332add;border:1px solid #bdd0a434;border-radius:4px;white-space:nowrap}.context:empty{display:none}.context button{background:transparent;padding:0}.context kbd{color:#f3d99b;margin-right:6px}.build-controls{position:absolute;bottom:135px;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--gold);padding:14px;border-radius:4px;text-align:center;width:310px;max-width:90%}.build-controls p{margin-bottom:10px;font-size:12px;color:var(--muted)}.build-controls button{padding:7px 12px;background:#d8bc82;color:#243b2e;border-radius:3px}.build-controls button:last-child{background:#49604d;color:var(--paper);margin-left:5px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b201c99;backdrop-filter:blur(5px);z-index:10;padding:25px}.dialog{width:min(880px,100%);max-height:calc(100dvh - 50px);background:linear-gradient(130deg,#2a4135,#1b332e);border:1px solid #bac7a34d;border-radius:8px;box-shadow:0 28px 80px #081d1c99;display:flex;flex-direction:column;overflow:hidden}.dialog-header{padding:23px 28px 19px;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center}.dialog-header .eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:7px}.dialog-header h2{font-family:"Songti SC",SimSun,serif;font-size:25px;letter-spacing:2px}.dialog-header>div{flex:1}.dialog-header p{color:var(--muted);font-size:11px;margin-top:8px;line-height:1.7}.close{background:#52705a33;color:#ccdabd;border:1px solid var(--line);width:32px;height:32px;border-radius:50%;font-size:21px;flex:none}.dialog-body{padding:22px 28px;overflow:auto;overscroll-behavior:contain}.dialog-foot{padding:12px 28px;border-top:1px solid var(--line);font-size:10px;color:#a5b69b;display:flex;justify-content:space-between;gap:10px}.dialog-foot button{background:transparent;font-size:11px;color:var(--gold)}.primary,.secondary,.danger{border:1px solid #ebd19a77;border-radius:4px;padding:10px 20px;background:#d4b981;color:#21372d;font-weight:600;font-size:12px}.secondary{background:#52664a44;color:var(--paper);border-color:#b0c49555}.danger{background:#854d3b55;border-color:#cf9a7755;color:#edb89a}.subtle{color:var(--muted);font-size:12px;line-height:1.9}.tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.tabs button{padding:8px 15px;background:#142e28;border:1px solid #b5c39830;color:#b7c9ad;font-size:12px;border-radius:3px}.tabs button.selected{color:var(--gold);border-color:#d7bd7c99;background:#d8bd7717}.recipe-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recipe{background:#142c244d;border:1px solid var(--line);border-radius:5px;padding:15px;display:flex;gap:12px;align-items:flex-start}.recipe .recipe-image{width:62px;height:76px;object-fit:contain;flex:none}.recipe-content{flex:1;min-width:0}.recipe h3{font-size:15px;margin:4px 0 7px}.recipe p{font-size:11px;line-height:1.7;color:var(--muted);min-height:37px}.cost{display:flex;flex-wrap:wrap;gap:5px 10px;color:#c2d1b6;font-size:10px;margin:10px 0}.cost .missing{color:#e9a387}.recipe button{padding:7px 11px;font-size:11px;min-width:80px}.recipe .reason{font-size:10px;color:#d1b891;margin-top:6px;line-height:1.5}.tech-columns{display:grid;grid-template-columns:1fr 1fr;gap:23px}.branch-title{font-family:"Songti SC",serif;font-size:19px;color:#c9e0c1;margin-bottom:15px}.branch-title.mind{color:#e6cd93}.tech-card{position:relative;padding:17px;background:#132c2455;border:1px solid #abc69940;border-radius:4px;margin-bottom:14px}.tech-card+.tech-card:before{content:'';position:absolute;height:15px;border-left:1px solid #d0ce9a55;top:-16px;left:50%}.tech-card.known{border-color:#b3d0a877;background:#718c5d1c}.tech-card h3{font-size:14px;margin-bottom:8px;display:flex;justify-content:space-between}.tech-card h3 small{font-size:10px;color:var(--gold);font-weight:400}.tech-card p{font-size:11px;color:var(--muted);line-height:1.8}.tech-card button{padding:6px 12px;font-size:11px}.requirements{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.requirement{font-size:11px;padding:9px;background:#112c224d;color:#9eaf98;border-radius:3px}.requirement.met{color:#d2dfa9}.bag-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.bag-item{position:relative;display:flex;align-items:center;flex-direction:column;padding:12px 5px;background:#173127;border:1px solid var(--line);border-radius:4px;min-height:114px}.bag-item img{width:60px;height:66px;object-fit:contain}.bag-item .item-icon{height:66px;font-size:34px;display:flex;align-items:center}.bag-item strong{font-size:11px;font-weight:400}.bag-item b{position:absolute;top:8px;right:8px;font-size:11px;color:var(--gold)}.bag-item small{font-size:9px;color:var(--muted);margin-top:6px}.station-visual{display:flex;align-items:center;gap:25px;margin-bottom:22px}.station-visual img{width:132px;height:150px;object-fit:contain}.station-visual h3{font-family:"Songti SC",serif;font-size:23px;margin-bottom:12px}.station-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.station-actions button{padding:15px 12px;text-align:left;background:#142f26;border:1px solid var(--line);border-radius:4px;font-size:13px}.station-actions small{display:block;color:var(--muted);font-size:10px;margin-top:7px;line-height:1.6}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.menu-grid button{padding:16px}.key-guide{font-size:12px;line-height:2.3;color:#bdceb2}.key-guide kbd{color:var(--gold);font-size:11px;opacity:1}.map-large{width:100%;max-height:52dvh;object-fit:contain;border:1px solid var(--line);background:#1b3535;border-radius:5px}.map-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:11px;color:var(--muted);margin-top:12px}.map-legend i{display:inline-block;width:7px;height:7px;background:var(--gold);margin-right:5px}.journal{margin-top:20px}.journal p{font-size:11px;color:#afc2a5;line-height:1.8;padding:6px 0;border-bottom:1px solid var(--line)}.journal b{color:var(--gold);font-weight:400;padding-right:10px}.welcome{width:590px;text-align:center;padding:42px 45px 35px;position:relative;background:radial-gradient(ellipse at 50% 0,#566b414a,transparent 65%),#20362ff7;border-color:#d1c39166}.welcome .crest{font-size:40px;color:#e4c88f;font-family:serif;line-height:1;margin-bottom:16px}.welcome h1{font-family:"Songti SC",SimSun,serif;font-size:72px;letter-spacing:20px;text-indent:20px;line-height:1.3;color:#f1e1b8;text-shadow:0 3px 0 #162d22}.welcome .chapter{font-size:12px;letter-spacing:7px;color:#dbc491;margin:12px 0 24px}.welcome .intro{font-family:"Songti SC",serif;font-size:16px;line-height:2;color:#d2dcc2}.welcome .start-steps{display:flex;justify-content:center;gap:25px;margin:27px 0;color:#b5c8ab;font-size:11px}.start-steps span{display:flex;align-items:center;flex-direction:column;gap:7px}.start-steps img{width:50px;height:53px;object-fit:contain}.welcome .primary{font-size:14px;letter-spacing:3px;width:230px;padding:14px}.welcome .minor{font-size:10px;color:#90a88e;margin-top:18px;line-height:1.8}.ending{max-width:560px;text-align:center;padding:38px}.ending .ending-level{font-family:serif;font-size:70px;color:var(--gold);margin-bottom:18px}.ending h2{font-family:"Songti SC",serif;font-size:29px;margin-bottom:18px;letter-spacing:3px}.ending .subtle{margin-bottom:25px}.ending .result-stats{display:flex;justify-content:center;gap:30px;margin:24px 0;font-size:11px;color:var(--muted)}.result-stats b{display:block;font-size:25px;color:var(--paper);margin-bottom:6px;font-weight:400}.ending button{margin:4px}.touch-controls{display:none}.flash{animation:flash 1s ease}@keyframes flash{50%{border-color:#edca8e;box-shadow:0 0 15px #eac98855}}@media(min-width:1400px){.quest{top:115px;width:265px}.location{top:302px}.hotbar-wrap{bottom:25px}}@media(max-width:1000px){.hud{gap:12px;left:16px;right:16px}.vital{min-width:92px;padding:8px}.brand span{font-size:31px}.brand small{display:none}.knowledge{left:112px;top:80px;gap:12px}.quest{width:210px;right:16px;padding:13px;top:110px}.quest h2{font-size:17px}.quest p{font-size:10px}.location{right:16px;top:282px}.tool-rail{left:16px}.mini-map{width:132px;right:16px;bottom:18px}.mini-map canvas{height:90px}.slot{width:46px;height:53px}.slot img,.slot .item-icon{width:39px;height:39px}.hotbar-wrap{bottom:14px}.context{bottom:115px}.toast{top:100px;max-width:45%}}@media(max-width:650px){#game{min-height:0}.hud{top:12px;left:12px;right:12px;gap:7px}.brand{padding:0}.brand span{font-size:27px;letter-spacing:2px}.vitals{gap:4px;flex:1;justify-content:center}.vital{min-width:0;flex:1;max-width:76px;padding:6px}.vital .line{gap:5px}.vital em{font-size:14px}.vital small{display:none}.vital b{font-size:12px}.clock{padding:4px 6px;grid-template-columns:auto;gap:0;margin-left:0;min-width:45px;text-align:center}.clock>div{display:none}.clock p{font-size:12px}.clock small{font-size:9px}.menu-button{width:25px;height:29px;padding:0;font-size:12px}.knowledge{top:64px;left:15px;gap:10px;font-size:10px}.quest{top:92px;left:12px;right:auto;width:230px;padding:10px 12px}.quest .eyebrow{font-size:8px}.quest h2{font-size:15px;margin:7px 0 4px}.quest p{font-size:9px;line-height:1.6}.quest .quest-progress{margin-top:8px}.location{top:67px;right:12px;font-size:10px}.location small{display:none}.tool-rail{top:92px;left:auto;right:12px;gap:6px}.tool-rail button{width:45px;height:49px}.tool-rail span{font-size:21px;line-height:25px}.tool-rail b{font-size:9px}.tool-rail kbd{display:none}.mini-map{display:none}.hotbar-wrap{bottom:max(13px,env(safe-area-inset-bottom));max-width:calc(100% - 20px);width:100%}.hotbar{padding:5px;gap:4px;justify-content:center}.slot{flex:1;max-width:49px;min-width:0;width:auto;height:45px}.slot img,.slot .item-icon{width:100%;max-width:36px;height:34px;font-size:22px}.slot b{font-size:10px;bottom:2px;right:3px}.slot small{font-size:7px;left:2px;top:1px}.controls-hint{display:none}.context{bottom:193px;max-width:calc(100% - 30px);font-size:10px;white-space:normal;width:max-content;line-height:1.6}.touch-controls{display:flex;position:absolute;left:16px;right:16px;bottom:85px;justify-content:space-between;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;border:1px solid #d1d2a753;background:#18342bba;border-radius:50%;width:43px;height:43px;user-select:none}.dpad{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:3px}.dpad button{font-size:20px;width:40px;height:40px}.dpad button:first-child{grid-column:2;grid-row:1}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.touch-actions{align-self:end;display:flex;gap:8px}.touch-actions button{width:51px;height:51px;font-size:11px}.toast{top:220px;max-width:calc(100% - 110px);width:max-content;font-size:10px;padding:9px 12px}.overlay{padding:12px}.dialog{max-height:calc(100dvh - 24px)}.dialog-header{padding:17px}.dialog-header h2{font-size:22px}.dialog-header p{font-size:10px}.dialog-body{padding:16px}.dialog-foot{padding:11px 17px;font-size:9px}.recipe-grid{grid-template-columns:1fr}.recipe{padding:12px}.recipe p{min-height:0}.recipe .recipe-image{width:53px;height:66px}.tabs{gap:5px;margin-bottom:14px}.tabs button{padding:7px 10px;font-size:11px}.tech-columns{grid-template-columns:1fr;gap:12px}.tech-card{padding:14px}.bag-grid{grid-template-columns:repeat(3,1fr);gap:7px}.bag-item{padding:8px 3px;min-height:103px}.requirements{grid-template-columns:1fr}.station-visual{gap:12px}.station-visual img{width:100px;height:120px}.station-visual h3{font-size:21px}.station-actions{gap:8px}.station-actions button{font-size:12px;padding:13px 10px}.welcome{padding:28px 20px;max-height:calc(100dvh - 24px);overflow:auto}.welcome h1{font-size:61px}.welcome .intro{font-size:14px}.welcome .start-steps{gap:22px;margin:22px 0}.welcome .chapter{font-size:11px}.welcome .crest{font-size:30px}.welcome .primary{width:220px}.ending{padding:28px 20px}.ending h2{font-size:25px}.ending .ending-level{font-size:55px}.build-controls{bottom:180px}.key-guide{font-size:11px}.menu-grid{gap:8px}.menu-grid button{padding:13px}.map-large{max-height:45dvh}}@media(max-width:350px){.brand span{font-size:23px}.hud{left:8px;right:8px;gap:5px}.vital{padding:5px}.vital .line{gap:3px}.vital b{font-size:10px}.quest{width:210px}.knowledge{gap:8px}.location{font-size:9px}.welcome .intro{font-size:12px}.welcome h1{font-size:52px}.welcome .start-steps{gap:15px}.dialog-header h2{font-size:20px}.bag-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.welcome>.primary{align-self:center}.start-steps .item-icon{height:53px;width:50px;display:flex;align-items:center;justify-content:center;font-size:32px}.recipe>.item-icon{display:flex;align-items:center;justify-content:center;font-size:37px}.station-visual>.item-icon{width:132px;font-size:70px}
.abilities{position:absolute;left:105px;bottom:28px;display:flex;gap:7px;align-items:center}.abilities button{background:#18362be8;border:1px solid #d5c58a66;padding:10px 11px;border-radius:4px;font-size:11px;color:#eed49c}.abilities>span{font-size:10px;background:#193a2b;padding:9px;color:#dccf9c}.section-title{margin:23px 0 12px;font-family:"Songti SC",serif;font-size:19px;color:#e4cd98}.station-maintenance{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}.station-maintenance small{font-size:10px;color:var(--muted)}.station-maintenance button{padding:7px 12px}.manifest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.storage-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.storage-row{display:flex;gap:8px;padding:10px;background:#183026;border:1px solid var(--line);border-radius:4px;align-items:center}.storage-row img,.storage-row .item-icon{width:28px;height:35px;object-fit:contain;font-size:23px}.storage-row>div{flex:1;min-width:0}.storage-row b{font-weight:400;font-size:11px}.storage-row small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.storage-row button{padding:6px 7px;font-size:10px;background:#456047;border:1px solid var(--line);border-radius:3px}.repair-list{margin-top:22px}.repair-list h3{font-size:15px;margin-bottom:10px}.repair-list>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;font-size:12px}.repair-list button{padding:6px 12px;font-size:11px}.trial-option{padding:17px;background:#182f25;border:1px solid var(--line);border-radius:4px;margin-bottom:13px}.trial-option h3{font-size:16px;margin-bottom:9px}.trial-option p{font-size:12px;color:var(--muted);line-height:1.8}.journey-levels{display:grid;grid-template-columns:1fr 1fr;gap:10px}.journey-level{display:flex;gap:14px;border:1px solid var(--line);padding:16px;background:#172e2599;border-radius:5px}.journey-level.current{background:#6c77422b;border-color:#dfc382aa}.journey-level.passed .level-number{color:#b7cfa7}.level-number{font-family:serif;font-size:31px;color:#d2ba84;width:44px;flex:none;align-self:center;text-align:center}.journey-level>div:last-child{flex:1}.journey-level h3{font-size:16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.journey-level h3 small{font-size:9px;color:var(--gold);font-weight:400}.journey-level p{font-size:11px;line-height:1.7;color:#c1d0b7;margin-bottom:5px}.journey-level small{font-size:9px;color:var(--muted);line-height:1.5}.trial-locations{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trial-locations>div{background:#173026;padding:12px;font-size:11px}.trial-locations b{font-weight:400}.trial-locations span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.ending-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ending-choices small{display:block;font-weight:400;font-size:10px;margin-top:8px;line-height:1.7}.recipe h3 small{font-family:serif;color:var(--gold)}@media(max-width:1100px){.abilities{left:16px;bottom:185px;flex-direction:column;align-items:flex-start}.abilities button{padding:8px 10px}}@media(max-width:650px){.abilities{left:12px;bottom:270px;gap:5px}.abilities button{font-size:10px;padding:8px}.abilities kbd{display:none}.journey-levels,.storage-grid{grid-template-columns:1fr}.journey-level{padding:13px}.trial-locations{grid-template-columns:1fr 1fr;gap:6px}.manifest-grid{grid-template-columns:1fr 1fr}.ending-choices{grid-template-columns:1fr}.station-maintenance{align-items:flex-start}.trial-option{padding:13px}.level-number{font-size:27px}.tool-rail button:last-child span{font-family:serif}}
.toast{z-index:30}
/* 荒野生活 0.4：墨线、旧纸与木质营地界面。 */
:root{--panel:#302f25f7;--gold:#e0c18a;--paper:#f1e4c6;--muted:#c0c4a4;--line:#d6c89c30}button{transition:filter .12s,transform .12s}.tool-rail button,.hotbar,.slot,.vital,.clock,.menu-button{border:2px solid #292e24;box-shadow:0 0 0 1px #ad9b7266,0 4px 0 #252c2455;background:#3b4030ed}.tool-rail button{border-radius:13px 4px 12px 5px}.tool-rail span{color:#ead09c}.hotbar{border-radius:12px 4px 12px 5px;padding:8px;background:#343a2aed}.slot{background:#6c7050;border:1px solid #b1a27b77;box-shadow:inset 0 0 14px #333b2a77;border-radius:6px 3px 7px 3px}.slot.empty{background:#414b35}.vital{border-radius:50%;min-width:76px;width:76px;height:76px;padding:12px 8px;background:radial-gradient(circle at 35% 25%,#655b40,#33392d 70%);transform:rotate(-2deg)}.vital .line{justify-content:center;gap:4px;flex-wrap:wrap}.vital em{font-size:18px}.vital b{font-size:18px;font-family:Georgia,serif}.vital small{order:3;flex-basis:100%;margin:0;text-align:center;font-size:9px;color:#ddd3b1}.vital .meter{width:40px;margin:4px auto 0;height:2px}.hud{top:14px;gap:22px}.knowledge{top:100px;left:194px}.clock{border-radius:50% 45% 48% 42%;padding:14px 18px}.quest{background:linear-gradient(110deg,#303c2bef,#404735d9);border:1px solid #c6b78855;border-radius:3px 12px 5px 15px;box-shadow:0 3px 0 #25322455}.dialog{background:linear-gradient(140deg,#424a36,#29362b);border:2px solid #b6a57b88;border-radius:6px 17px 7px 15px}.dialog-header h2{font-weight:700}.welcome{background:radial-gradient(ellipse at 50% 0,#8d855b30,transparent 65%),#2c3a2ef7}.weather{position:absolute;left:194px;top:125px;display:flex;gap:10px;align-items:center;font-size:10px;color:#eee1bf;text-shadow:0 2px 3px #293526}.weather b{font-weight:400;color:#cbd9bd}.weather .soaked{color:#e9af88}.weather small{font-size:9px;color:#d3d8c4}.sound-toggle{position:absolute;right:24px;bottom:187px;padding:6px 10px;font-size:10px;color:#e2d4b1;border:1px solid #c7b88455;background:#2b382ccf;border-radius:4px}.pinned{position:absolute;left:105px;bottom:145px;width:225px;background:#333d2cec;border:1px solid #b9ab7777;border-radius:6px 12px 4px 10px;padding:12px;box-shadow:0 4px 12px #202a2433}.pinned>div:first-child{display:flex;align-items:center;justify-content:space-between}.pinned strong{font-size:11px;color:var(--gold);font-weight:500}.pinned>div>button{background:none;font-size:18px;color:#d2c4a0}.pinned .cost{font-size:11px;gap:7px 12px;line-height:1.7}.pinned>.secondary{font-size:10px;padding:5px 9px}.pin-recipe{display:block!important;padding:5px 0!important;background:none;color:#d4c49d;font-size:10px!important;text-align:left;margin-top:7px}.batch{margin-left:6px;min-width:0!important}.craft-mode{backdrop-filter:none;background:#0d1c162b;justify-content:flex-start;padding:115px 0 110px 100px}.craft-mode .dialog{width:440px;max-height:100%;box-shadow:8px 12px 35px #18251d66}.craft-mode .dialog-header{padding:17px 20px}.craft-mode .dialog-header h2{font-size:22px}.craft-mode .dialog-body{padding:15px 17px}.craft-mode .recipe-grid{grid-template-columns:1fr}.craft-mode .recipe{padding:13px}.craft-mode .tabs{position:sticky;top:-15px;z-index:1;padding:10px 0;background:#35432f;margin-top:-10px;gap:5px}.craft-mode .tabs button{padding:7px 10px;font-size:11px}.craft-mode .dialog-foot{padding:11px 18px}.recipe .primary{min-height:32px}.build-controls{width:370px;max-width:94%;background:#30392bf5;border:1px solid #dcc292;border-radius:8px}.build-controls>div{display:flex;gap:6px;justify-content:center}.build-controls button{font-size:11px;padding:8px 10px}.build-controls button[aria-pressed="false"]{background:#57604a;color:#d5d7bb}.build-controls small{display:block;margin-top:9px;font-size:9px;color:#c6c9a9}.dish-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.harvest-ready{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;background:#60714a30;border:1px solid #b3bb7c66}.harvest-ready img{width:50px;height:62px}.harvest-ready span{font-size:13px;color:var(--gold)}.cooking-progress{padding:20px;background:#59684922;border:1px solid var(--line);border-radius:6px}.cooking-progress h3{font-family:"Songti SC",serif;font-size:22px;color:var(--gold)}.cooking-progress p{font-size:12px;color:var(--muted);line-height:1.9;margin:12px 0 18px}.recipe-image{filter:drop-shadow(1px 3px 0 #14241c33)}
@media(max-width:1000px){.hud{gap:14px}.vital{width:67px;min-width:67px;height:67px;padding:9px 7px}.vital em{font-size:15px}.vital b{font-size:16px}.knowledge{left:110px;top:93px}.weather{left:110px;top:114px}.sound-toggle{right:16px;bottom:142px}.craft-mode{padding-left:85px}.pinned{left:87px;width:200px}}
@media(max-width:650px){.hud{top:10px;gap:6px}.vitals{gap:6px}.vital{width:48px;min-width:0;height:48px;max-width:53px;padding:6px 3px}.vital .line{gap:3px;flex-wrap:nowrap}.vital em{font-size:12px}.vital b{font-size:15px}.vital small{display:none}.vital .meter{width:26px;margin-top:6px}.clock{padding:7px 6px;border-radius:14px;min-width:45px}.knowledge{top:70px;left:12px;gap:9px;font-size:9px}.weather{left:13px;top:220px;display:flex;flex-wrap:wrap;gap:4px 9px;width:230px;font-size:9px}.weather small{flex-basis:100%;font-size:8px}.quest{top:94px;left:12px}.location{top:72px;right:12px;font-size:9px}.tool-rail{top:94px}.tool-rail button{border-radius:10px 3px 9px 3px}.sound-toggle{top:378px;right:12px;bottom:auto;padding:5px 7px;font-size:9px}.pinned{left:12px;top:262px;bottom:auto;width:195px;padding:8px 10px}.pinned strong{font-size:10px}.pinned .cost{font-size:9px;gap:4px 8px;margin:5px 0}.pinned>.secondary{font-size:9px}.toast{top:auto;bottom:222px;max-width:calc(100% - 45px);z-index:2}.craft-mode{padding:12px;background:#10251bb0;backdrop-filter:blur(3px)}.craft-mode .dialog{width:100%;max-height:100%}.craft-mode .dialog-header{padding:16px}.craft-mode .dialog-body{padding:12px}.craft-mode .tabs{top:-12px;padding:10px 0}.craft-mode .dialog-header h2{font-size:21px}.craft-mode .recipe{padding:10px;gap:9px}.craft-mode .recipe .recipe-image{width:48px}.build-controls{bottom:185px;padding:11px;z-index:3}.build-controls button{font-size:10px;padding:8px}.dish-grid{grid-template-columns:1fr}.hotbar{padding:5px}.slot{border-radius:4px}.harvest-ready{gap:8px;padding:12px}.harvest-ready img{width:34px;height:44px}.harvest-ready span{font-size:11px}}
@media(max-width:350px){.vital{height:43px;padding:5px 2px}.vitals{gap:4px}.vital b{font-size:13px}.vital .meter{width:22px;margin-top:4px}.knowledge{gap:6px;font-size:8px}.weather{width:206px}.pinned{width:180px}.build-controls button{padding:7px}.craft-mode .dialog-header h2{font-size:19px}}
.context .quick-fuel{border-left:1px solid #d1c19555;margin-left:10px;padding-left:10px;color:#e5ca8d}@media(max-width:650px){.context .quick-fuel{margin-left:7px;padding-left:7px;font-size:10px}}

/* 首屏提示与手机安全区域。 */
#boot{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#283a2e;color:#ead4a1}#boot h1{font-family:"Songti SC",serif;font-size:64px;letter-spacing:12px}#boot small{color:#bdc4a8}#boot button{padding:10px 18px;background:#d3b982;border-radius:5px;color:#24362b}.touch-controls button{touch-action:none}body{overscroll-behavior:none}@media(max-width:650px){.hud{top:max(10px,env(safe-area-inset-top))}.touch-controls{bottom:calc(85px + env(safe-area-inset-bottom))}.hotbar-wrap{bottom:max(13px,env(safe-area-inset-bottom))}}

/* 生存手册在窄屏保留单栏，季节提示与原有天气共用区域。 */
.season-card{padding:18px;border:1px solid var(--season);border-radius:12px;background:#1d3833;margin-bottom:18px}.season-card h3{color:var(--season);margin:0 0 8px}.season-card p,.handbook-card p{font-size:13px;line-height:1.8;color:#bdccbc}.season-strip{display:flex;gap:6px;flex-wrap:wrap}.season-strip span{padding:6px 10px;background:#ffffff08;border-radius:6px;font-size:12px}.season-strip .active{background:#e7ce9430;color:#f5dfa9}.handbook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.handbook-card{padding:16px;background:#ffffff05;border:1px solid #b3c6a92b;border-radius:10px}.handbook-card h3{font-size:15px;margin:0;display:flex;justify-content:space-between;gap:8px}.handbook-card h3 small{color:#d8bd86;white-space:nowrap}.handbook-card progress{width:100%;height:6px;accent-color:#cbb379}.handbook-card.completed{opacity:.65}.handbook-card .reward{color:#ddc796}.weather{max-width:calc(100vw - 125px);flex-wrap:wrap}.weather span{white-space:nowrap}@media(max-width:650px){.handbook-grid{grid-template-columns:1fr}.weather{font-size:10px;gap:4px}.weather small{display:none}.tool-rail button{min-height:44px}}

/* 远征地图与图鉴在窄屏使用单列，武器切换保持可触达。 */
.realm-banner,.expedition-overview{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.realm-banner span,.expedition-overview span{color:#b6c7b5;font-size:12px}.realm-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 20px}.realm-cards article{display:flex;flex-direction:column;padding:14px 10px;border:1px solid #567365;border-top:3px solid var(--realm);border-radius:8px;gap:8px;background:#1b322c}.realm-cards article.current{background:#32483a;border-color:#ddc68d}.realm-cards small,.realm-cards span{font-size:10px;color:#b5c8b8}.realm-cards b{font-size:14px;color:#e4ddbc}.rift-hero{display:flex;align-items:center;gap:20px;margin:8px 0 16px}.rift-hero img{width:130px;height:160px}.rift-hero p{color:#bccdbb;line-height:1.8;font-size:13px}.bestiary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}.bestiary-grid article{background:#20372f;border:1px solid #4e6957;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.bestiary-grid img{width:65px;height:78px;object-fit:contain;align-self:center}.bestiary-grid h3{font-size:14px;margin:0}.bestiary-grid p{font-size:12px;color:#c0ceb8;line-height:1.7;margin:0}.bestiary-grid small{font-size:10px;color:#afbea8;line-height:1.6}.bestiary-grid button{margin-top:auto}.abilities{flex-wrap:wrap;max-width:calc(100vw - 24px)}
@media(max-width:650px){.realm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.bestiary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bestiary-grid article{padding:10px}.rift-hero img{width:85px;height:115px}.rift-hero{gap:10px}.realm-banner{font-size:12px}.abilities{bottom:160px;left:12px;right:auto}.abilities button{font-size:10px;padding:6px}.touch-actions{flex-wrap:wrap;width:100px}.touch-actions button{min-height:42px}.tabs{flex-wrap:wrap}}
@media(max-width:360px){.bestiary-grid{grid-template-columns:1fr}}
/* 手机将文明技能放在方向键上方，闪避使用右侧触控按钮。 */
@media(max-width:650px){.abilities{bottom:265px;left:12px;right:auto;display:flex;flex-direction:row;max-width:calc(100vw - 90px);gap:5px}.abilities [data-do="dodge"]{display:none}.touch-actions{width:55px}.abilities button{min-height:38px}}

/* 共生引导使用实际操作入口，手机保留清晰的单列阅读。 */
.knowledge button{display:flex;align-items:center;gap:5px;background:#24372de0;border:1px solid #c7b88455;border-radius:5px;padding:5px 8px;font:inherit;color:#eee4cb;min-height:30px;text-shadow:none}.knowledge{align-items:center}.weather{top:138px}.growth-callout{padding:14px 16px;background:#5669442e;border:1px solid #cdbb8277;border-radius:8px;margin-bottom:18px}.growth-callout b{color:#edd6a1;font-size:14px}.growth-callout p{font-size:12px;line-height:1.8;color:#c4d1b9;margin:7px 0 10px}.growth-callout button,.growth-card button,.sowing-recipe .secondary{margin:5px 7px 0 0}.growth-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.growth-summary span{padding:9px 13px;background:#1c3027;border:1px solid #a9bf9455;border-radius:6px;color:#c4d0b9}.growth-summary b{color:#f0d79a;margin-left:8px}.growth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.growth-card{padding:18px;background:#ffffff05;border:1px solid #b3c6a944;border-radius:8px}.growth-card h3{font-size:15px;color:#eddaaa}.growth-card p{font-size:12px;line-height:1.9;color:#c2d0bb;margin:11px 0}.growth-card strong{color:#eed7a1;font-weight:500}.growth-state{padding:9px 11px;background:#162e294a;border-left:2px solid #9fbc86}.growth-card .requirements{margin:10px 0}.growth-card .requirement{font-size:12px}.text-help{display:block;background:none;color:#d5c291;text-decoration:underline;text-underline-offset:4px;font-size:11px;line-height:1.8;padding:5px 0;margin:5px 0}.tech-requirements{list-style:none;padding:0;margin:9px 0;color:#cfb394;font-size:11px;line-height:1.9}.tech-requirements .met{color:#aec99c}.tech-card>.secondary{padding:7px 10px;font-size:11px}.sowing-recipe{border-color:#b5c68880}.sowing-recipe .secondary{display:block;font-size:11px}.sowing-recipe h3 small{color:#bad49e}.download-note{font-size:11px;line-height:1.9;color:#c4ccb5;margin:14px 0}.download-note a{color:#e9d199}
@media(max-width:650px){.growth-grid{grid-template-columns:1fr}.growth-card{padding:14px}.growth-summary{gap:6px}.growth-summary span{padding:7px 9px;font-size:12px}.growth-callout{padding:12px}.knowledge{top:65px;gap:5px}.knowledge button{font-size:9px;padding:4px 5px;min-height:30px}.knowledge>span{font-size:9px}.weather{top:224px}.growth-callout button{min-height:38px}.growth-card .secondary,.growth-card .primary{min-height:40px}.tech-card>.secondary{min-height:38px}}

/* 远征委托、探索与营地升级。 */
.contract-grid,.specialty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.contract-card,.contract-active{padding:17px;border:1px solid #9bac7b55;border-radius:8px;background:#20342b99}.contract-card h3,.contract-active h3{font-size:15px;color:#edd6a0;margin:8px 0}.contract-card p,.contract-active p{font-size:12px;line-height:1.85;color:#c5d0b9;margin:9px 0}.contract-card small,.contract-active small{font-size:10px;color:#bdc79c}.contract-card img{width:50px;height:62px}.contract-card.completed{opacity:.6}.contract-card .reward{color:#e0c98a}.contract-active{border-color:#d9bd77;background:#77704a25;margin:18px 0}.specialty-choice{padding:12px 0;border-bottom:1px solid #b3c6a92b}.specialty-choice:last-child{border:0}.specialty-choice b{font-size:13px;color:#ddc68f}.site-hero{display:flex;gap:20px;align-items:center}.site-hero img{width:120px;height:150px}.site-hero p{font-size:13px;line-height:1.9;color:#c4d0b8}.difficulty-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.difficulty-choices button{background:#24392d;border:1px solid #7e906c;border-radius:7px;padding:12px;color:#dbe0c5}.difficulty-choices .selected{background:#6c724d44;border-color:#e0c488}.difficulty-choices b,.difficulty-choices small{display:block}.difficulty-choices small{font-size:10px;line-height:1.7;margin-top:5px;color:#bdcaaa}.welcome .intro{margin-bottom:12px}.welcome .difficulty-choices{max-width:340px;margin:12px auto}.welcome .difficulty-choices button{padding:8px}.recipe-content .cost{flex-wrap:wrap}
@media(max-width:650px){.contract-grid,.specialty-grid{grid-template-columns:1fr}.contract-card,.contract-active{padding:14px}.site-hero{gap:12px}.site-hero img{width:75px;height:95px}.contract-card button{min-height:40px}.welcome .crest{font-size:32px}.welcome h1{font-size:50px}.welcome .intro{font-size:12px;line-height:1.9}.welcome .start-steps{margin:12px 0}.welcome .difficulty-choices{margin:9px auto}.welcome .difficulty-choices button{padding:7px}.difficulty-choices small{font-size:10px}.welcome .minor{font-size:10px}.welcome .primary{margin-top:6px}}
/* 首屏增加难度选项后保持开始按钮完整可见，小窗口可滚动。 */
.dialog.welcome{display:block;overflow-y:auto;padding:24px 36px}.welcome .crest{margin-bottom:8px}.welcome .start-steps{margin:15px 0}.welcome .minor{margin-top:11px}.welcome h1{font-size:64px}.welcome .difficulty-choices{margin:12px auto}.welcome .primary{min-height:44px}
@media(max-width:650px){.dialog.welcome{padding:18px 20px}.welcome h1{font-size:48px}.welcome .crest{font-size:26px;margin-bottom:6px}.welcome .start-steps{margin:10px 0}.welcome .difficulty-choices{margin:9px auto}.welcome .minor{margin-top:9px}}
/* 归途新生：经营状态、远征叙事与窄屏操作。 */
.frontier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 24px}.frontier-grid>*{min-width:0}.frontier-grid button{max-width:100%;white-space:normal;overflow-wrap:anywhere}.frontier-icon{width:70px;height:70px;object-fit:contain}.frontier-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #b7c9a85c;background:linear-gradient(110deg,#536a4d70,#22433980);padding:22px;border-radius:12px;margin-bottom:22px}.frontier-banner h3{font-size:24px;margin:8px 0}.frontier-banner>img{width:130px;height:130px}.frontier-upgrade{border:1px solid #c7ad735c;border-radius:8px;padding:14px;margin:20px 0}.frontier-upgrade p{font-size:13px;color:#c5c7ac;line-height:1.8}.frontier-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.frontier-locked{opacity:.6}.frontier-story{display:flex;align-items:center;gap:22px;padding:18px;background:#223f3566;border-radius:10px}.frontier-story>img{width:100px;height:100px}.frontier-story p{line-height:1.95}.tool-rail{max-height:70vh;overflow-y:auto;scrollbar-width:thin}@media(max-width:640px){.frontier-grid{grid-template-columns:1fr}.frontier-banner{padding:15px;gap:8px}.frontier-banner h3{font-size:21px}.frontier-banner>img{width:80px;height:80px}.frontier-story{flex-direction:column;align-items:flex-start;gap:6px}.frontier-story>img{width:70px;height:70px}.tool-rail{max-height:none;overflow-y:visible}}

html,body{height:100%;overflow:hidden}
.dialog{max-height:calc(var(--game-height,100dvh) - 50px)}
#boot{text-align:center;padding:24px} #boot small{max-width:30em;line-height:1.8}
@media(max-width:650px){.dialog{max-height:calc(var(--game-height,100dvh) - 24px)}}

/* 手机横屏使用真实可用高度，菜单与底部操作区各自保留空间。 */
@media (orientation:landscape) and (max-width:1280px) and (max-height:560px){
  .hud{top:max(8px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));gap:12px}
  .brand span{font-size:28px;letter-spacing:3px}.brand small{display:none}
  .vitals{gap:6px;flex:0 0 auto}.vital{width:48px;height:48px;min-width:48px;padding:6px 3px}
  .vital .line{flex-wrap:nowrap;gap:3px}.vital em{font-size:13px}.vital b{font-size:16px}.vital small{display:none}.vital .meter{width:28px;margin-top:5px}
  .clock{margin-left:auto;padding:6px 10px;grid-template-columns:auto;border-radius:12px;text-align:center}.clock>div{display:none}.clock p{font-size:12px}.clock small{font-size:10px}.menu-button{width:36px;height:36px}
  .knowledge{top:64px;left:max(12px,env(safe-area-inset-left));gap:6px;font-size:10px}.knowledge button{padding:3px 6px;min-height:28px;font-size:10px}
  .weather{top:95px;left:max(12px,env(safe-area-inset-left));width:auto;max-width:calc(100% - 230px);gap:5px;font-size:9px}.weather small{display:none}
  .tool-rail{top:116px;left:max(12px,env(safe-area-inset-left));right:auto;flex-direction:row;gap:5px;max-width:calc(100% - 225px);max-height:none;overflow:visible}
  .tool-rail button{width:44px;height:44px;min-height:44px;flex-shrink:0}.tool-rail span{font-size:17px;line-height:19px}.tool-rail b{font-size:10px}.tool-rail kbd{display:none}
  .quest{top:70px;right:max(12px,env(safe-area-inset-right));left:auto;width:185px;padding:8px 10px}.quest .eyebrow{font-size:8px;letter-spacing:1px}.quest h2{font-size:13px;margin:5px 0}.quest p{font-size:10px;line-height:1.4}.quest .quest-progress{margin-top:7px}
  .abilities{top:168px;bottom:auto;left:max(12px,env(safe-area-inset-left));right:auto;flex-direction:row;max-width:calc(100% - 230px);gap:5px}.abilities button{min-height:36px;padding:6px 8px;font-size:10px}.abilities kbd,.abilities [data-do="dodge"]{display:none}
  .mini-map,.controls-hint{display:none}
  .hotbar-wrap{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 320px);max-width:460px}.hotbar{padding:5px;gap:3px;justify-content:center}.slot{flex:1;width:42px;min-width:0;max-width:49px;height:46px}.slot img,.slot .item-icon{width:100%;max-width:34px;height:34px;font-size:23px}
  .context{bottom:76px;max-width:calc(100% - 310px);width:max-content;white-space:normal;line-height:1.4;padding:6px 8px;font-size:10px}
  .touch-controls{display:flex;position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));justify-content:space-between;pointer-events:none}
  .touch-controls button{width:42px;height:42px;min-height:42px;border:1px solid #d1d2a753;border-radius:50%;background:#18342be8;pointer-events:auto;touch-action:none;user-select:none}
  .dpad{display:grid;grid-template:repeat(2,42px)/repeat(3,42px);gap:3px}.dpad button:first-child{grid-area:1/2}.dpad button:nth-child(2){grid-area:2/1}.dpad button:nth-child(3){grid-area:2/2}.dpad button:nth-child(4){grid-area:2/3}
  .touch-actions{display:flex;align-self:end;gap:5px;flex-wrap:nowrap;width:auto}.touch-actions button{font-size:11px}
  .location{top:auto;bottom:105px;right:max(12px,env(safe-area-inset-right));font-size:9px}.location small{display:none}.sound-toggle{top:auto;bottom:124px;right:max(12px,env(safe-area-inset-right));padding:4px 6px;font-size:9px}
  .pinned{top:auto;bottom:110px;left:max(12px,env(safe-area-inset-left));width:180px;max-height:85px;overflow-y:auto;padding:7px 9px}.pinned .cost{margin:5px 0;font-size:9px}
  .toast{top:8px;bottom:auto;max-width:45%;font-size:11px;z-index:30}
  .build-controls{bottom:110px;max-height:calc(var(--game-height,100vh) - 125px);overflow:auto;padding:9px;z-index:3}
  .overlay,.craft-mode{padding:8px;justify-content:center}.dialog,.dialog.welcome,.craft-mode .dialog{max-height:calc(var(--game-height,100vh) - 16px)}
  .dialog-header{padding:12px 16px}.dialog-header h2{font-size:20px}.dialog-body{padding:12px 16px;min-height:0}.dialog-foot{padding:9px 16px}
  .dialog.welcome{padding:14px 25px}.welcome h1{font-size:42px}.welcome .crest{font-size:24px;margin-bottom:4px}.welcome .chapter{margin:7px 0}.welcome .intro{font-size:12px;line-height:1.7}.welcome .start-steps{display:none}.welcome .minor{margin-top:7px}
}
@media (orientation:landscape) and (max-width:1280px) and (max-height:380px){
  .quest p{display:none}.quest h2{font-size:12px}.quest{width:180px}
  .tool-rail{top:108px}.weather{top:93px}.abilities{top:158px}
}
@media (orientation:landscape) and (max-width:650px) and (max-height:560px){
  .tool-rail{max-width:none;gap:4px}.tool-rail button{width:40px}.quest{width:170px}.hotbar-wrap{width:calc(100% - 300px)}.hotbar{gap:2px;padding:4px}.slot img,.slot .item-icon{max-width:26px}.slot b{font-size:9px}
}
/* 小尺寸竖屏将七个菜单横排，避免压住右侧采集和攻击按钮。 */
@media (orientation:portrait) and (max-width:650px) and (max-height:680px){
  .tool-rail{top:100px;left:8px;right:8px;flex-direction:row;gap:4px;max-width:calc(100% - 16px);overflow:visible}
  .tool-rail button{flex:1;min-width:0;width:40px;height:44px;min-height:44px}.tool-rail span{font-size:17px;line-height:20px}.tool-rail b{font-size:9px}
  .quest{top:154px;left:12px;width:calc(100% - 24px);padding:8px 10px}.quest h2{font-size:14px;margin:5px 0}.quest p{font-size:10px;line-height:1.4}.quest .quest-progress{margin-top:6px}
  .weather{top:252px;left:12px;width:calc(100% - 24px);max-width:none}.location{display:none}
  .abilities{top:279px;bottom:auto;left:12px;max-width:calc(100% - 24px);max-height:62px;overflow-y:auto;flex-direction:row;gap:4px}
  .abilities button{min-height:36px;padding:5px 7px;font-size:9px}
  .sound-toggle{top:347px;right:12px;bottom:auto}
  .pinned{top:auto;bottom:182px;left:12px;width:calc(100% - 94px);max-height:48px;overflow-y:auto;padding:5px 8px}
}
@media (orientation:portrait) and (max-width:650px) and (max-height:680px){
  .hud{gap:4px}.brand{flex-shrink:0}.brand span{white-space:nowrap;font-size:23px;letter-spacing:1px}
  .vitals{gap:4px}.vital{width:43px;height:43px;max-width:43px;padding:5px 2px}
  .clock{max-width:59px;min-width:45px;padding:6px 4px}.clock small{font-size:8px}
  .sound-toggle{top:279px}
}

/* 营地入口可折叠；留出地图视野，偏好不写入旅程存档。 */
.camp-toolbar{position:absolute;left:24px;top:104px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;z-index:3;pointer-events:none}
.camp-toolbar-toggle{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:5px;min-width:60px;min-height:44px;padding:8px;color:var(--paper);background:#343e2ff2;border:1px solid #b6a57b88;border-radius:12px 4px 12px 4px;box-shadow:0 3px 0 #252c2455}
.camp-toolbar-toggle b{font-size:11px;font-weight:500}
.camp-toolbar-toggle svg{display:block;width:15px;height:15px;fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(180deg)}
.camp-toolbar.is-collapsed .camp-toolbar-toggle svg{transform:none}
.camp-toolbar .tool-rail{position:static;pointer-events:auto;max-height:calc(var(--game-height,100dvh) - 300px);max-width:none;overflow-y:auto;overflow-x:hidden;padding:4px 6px 7px;margin:-4px -6px -7px}
.camp-toolbar .tool-rail button{flex-shrink:0}
.dialog .close{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;line-height:1;align-self:flex-start}
.dialog .close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(max-width:1000px){.camp-toolbar{left:16px}}
@media(max-width:650px){.camp-toolbar{top:94px;left:auto;right:max(12px,env(safe-area-inset-right))}.camp-toolbar-toggle{min-width:52px}.camp-toolbar .tool-rail{max-height:calc(var(--game-height,100dvh) - 340px);align-self:center}}
@media(max-width:650px) and (min-height:561px) and (max-height:680px){.camp-toolbar{top:94px;left:8px;right:auto;max-width:calc(100% - 16px)}.camp-toolbar .tool-rail{max-height:52px;flex-direction:row;align-self:flex-start;overflow-x:auto;overflow-y:hidden;width:max-content;max-width:100%}.camp-toolbar .tool-rail button{flex:0 0 40px}.camp-toolbar:not(.is-collapsed)~.quest{visibility:hidden}}
@media(max-width:1280px) and (max-height:560px){.camp-toolbar{top:116px;left:max(12px,env(safe-area-inset-left));right:auto;max-width:calc(100% - 225px)}.camp-toolbar .tool-rail{flex-direction:row;max-height:56px;max-width:100%;overflow-x:auto;overflow-y:hidden;align-self:flex-start}.camp-toolbar-toggle{min-width:68px}.camp-toolbar .tool-rail button{flex:0 0 44px}}
@media(max-width:650px) and (max-height:560px){.camp-toolbar .tool-rail button{flex-basis:40px}}

@media(max-width:1280px) and (max-height:560px){.camp-toolbar~.abilities{left:auto;right:12px;top:176px;max-width:185px;max-height:calc(var(--game-height,100dvh) - 276px);overflow:auto;flex-wrap:wrap}}
