:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#eeeede;background:#13272d;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:dark;--mint:#96ddbc;--gold:#f1ce8c;--ink:#183139;--muted:#a5bcb4;--line:#4b666333;--coral:#f3a18b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0,#2d4846 0,transparent 60%),#13272d}button{font:inherit;color:inherit;border:0;cursor:pointer;transition:background .15s,transform .15s;border-radius:9px}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:3px solid var(--mint);outline-offset:3px}button[aria-pressed=true]{border-color:var(--gold)}h1,h2,h3,p{margin:0}em{font-style:normal;color:var(--gold)}kbd{font:10px system-ui;display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:20px;padding:2px 4px;border:1px solid #a9c1ad40;border-bottom-width:2px;border-radius:4px;color:#c9d9ca;background:#b8d3bb0b}small{font-size:11px}.app{max-width:1600px;margin:auto;padding:23px 30px 12px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.edition,.eyebrow{font-size:10px;letter-spacing:2px;color:#aac6b8;font-weight:600}.brand h1{font-size:27px;letter-spacing:-.8px;margin-top:7px;font-weight:800}.brand h1 span{color:#8aa69c}.brand h1 em{color:#edbfa2}.toolbar{display:flex;gap:8px}.toolbar button{padding:10px 13px;background:#9bc1aa0c;border:1px solid #a4c9b21c;color:#c7d8c9;font-size:12px}.toolbar kbd{margin-left:10px}.game-shell{border:1px solid #69877a50;border-radius:17px;overflow:hidden;background:var(--ink);box-shadow:0 24px 80px #031c2850}.statusbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 20px;min-height:90px;background:#203b40}.objective{display:flex;align-items:center;gap:13px;background:transparent;text-align:left;flex:1;min-width:0;padding:0;border-radius:6px}.objective:disabled{opacity:1}.step-badge{background:#94dbb619;border:1px solid #9cddb52e;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:var(--mint);font-size:11px;flex-shrink:0}.objective small{display:block;color:#a3bbb0;font-size:10px;margin-bottom:3px}.objective b{font-size:15px;font-weight:650;display:block}.objective-hint{display:block;margin-top:4px;color:#a3c4b5;font-size:10px}.objective-arrow{color:var(--mint);font-size:25px;padding:0 12px}.status-metrics{display:flex;align-items:center;gap:25px}.metric{width:130px;min-width:80px}.metric>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#b4cbbd;font-size:10px;margin-bottom:7px}.metric b{color:var(--mint);font-size:11px;font-variant-numeric:tabular-nums}.meter{height:5px;background:#0e282d;border-radius:10px;overflow:hidden}.meter i{display:block;height:100%;border-radius:10px;background:var(--mint);transition:width .15s}.metric.coral b{color:var(--coral)}.metric.coral i{background:var(--coral)}.time{border-left:1px solid #89b09f35;padding-left:23px;min-width:105px}.time small{color:#99b5a8;letter-spacing:1px;font-size:10px}.time b{display:block;font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-1px}.time b span{font-size:11px;margin-left:5px;color:#a6c0b2;font-weight:400}.time.urgent b{color:var(--coral)}.icon-button{background:#7da18e19;width:35px;height:35px;font-size:20px;flex-shrink:0}.stage{position:relative;height:calc(100dvh - 294px);min-height:440px;max-height:900px;background:#243e3f;isolation:isolate;overflow:hidden}.stage canvas{display:block;position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0}.scene-tools{position:absolute;top:17px;left:18px;display:flex;align-items:center;gap:10px}.scene-tools button{background:#1c3d42ed;border:1px solid #acc4a66b;padding:8px 12px;font-size:11px}.scene-tools kbd{margin-left:8px}.scene-tools>span{font-size:10px;background:#1c3d42d9;color:#d3e4d1;border-radius:8px;padding:9px 11px}.coach{position:absolute;left:18px;top:66px;max-width:360px;background:#ffeed2ee;color:#33473c;border:1px solid #fff8da;border-radius:9px;padding:10px 13px;font-size:11px;line-height:1.6;box-shadow:0 8px 20px #14372d20;pointer-events:none}.coach>span{margin-right:8px;color:#8b5f2d}.toast{position:absolute;bottom:14px;left:50%;transform:translate(-50%);width:max-content;max-width:80%;background:#183c40f2;color:#e6eedb;border:1px solid #afcaad66;border-radius:9px;padding:10px 17px;font-size:12px;line-height:1.5;text-align:center;box-shadow:0 5px 30px #13353640;pointer-events:none}.event-banner{position:absolute;top:115px;left:18px;border-radius:8px;background:#934b38ee;color:#ffeedb;font-size:11px;padding:9px 13px;max-width:350px;pointer-events:none}.danger{border-color:#d38662}.controls{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#203b40;padding:13px 20px;min-height:94px}.keyboard-guide>span{display:flex;align-items:center;gap:3px;font-size:11px;color:#c6d7c5}.keyboard-guide small{display:block;font-size:9px;color:#91afa1;margin-top:8px}.movement-tools{width:188px;flex-shrink:0}.movement-tools .metric{width:100%;margin-bottom:7px}.button-row{display:flex;gap:8px}.movement-tools button{font-size:10px;background:#87ae941b;border:1px solid #85ad8c2b;flex:1;padding:7px 4px;white-space:nowrap;touch-action:none}.movement-tools button.active{background:#b8e5ba;color:#203c34}.movement-tools kbd{font-size:9px;min-width:17px;min-height:16px;margin-left:4px}.inventory{display:flex;gap:7px}.inventory button{background:#10313955;border:1px solid #9aba9933;padding:9px 11px;min-width:91px;text-align:left}.inventory span{display:block;font-size:11px}.inventory b{color:var(--gold);margin-left:9px;font-size:10px}.inventory small{display:block;color:#96b6a6;font-size:9px;margin-top:6px}.interact{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #aedcba60;background:#3f695b;padding:11px 13px;min-width:180px;text-align:left}.interact span{font-size:12px}.interact small{display:block;color:#c0d9bf;font-size:9px;margin-top:5px}.interact kbd{min-width:26px;min-height:28px;font-size:12px}.mobile-stick{display:none}.bottom-note{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#8aa89a;padding:12px 3px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c242b9c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;z-index:5}.dialog{width:480px;max-width:100%;max-height:100%;overflow:auto;border:1px solid #93b49458;background:#203b3ff7;border-radius:16px;padding:28px;text-align:center;box-shadow:0 20px 70px #071c2880}.dialog h2{font-size:28px;letter-spacing:-1px;line-height:1.35;margin:12px 0}.dialog>p{font-size:12px;line-height:1.8;margin-bottom:18px;color:#bbcdbd}.muted{color:var(--muted)}.primary{background:var(--gold);color:#293e36;width:100%;padding:14px 17px;font-size:13px;font-weight:750;border:1px solid #fff1b033;box-shadow:0 3px #644c3720}.primary>span{float:right}.primary kbd{color:#304b3c;border-color:#304b3c50;margin-left:10px}.secondary{background:#aac8ad13;border:1px solid #b3cfaf30;padding:11px 14px;font-size:12px}.full{width:100%;margin-top:10px}.dialog>.button-row{margin-top:10px}.dialog>.button-row>*{flex:1}.text-button{background:transparent;color:#b4cbb7;font-size:11px;padding:11px 5px;margin-top:4px}.modal-heading{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:10px;margin-bottom:12px}.modal-heading h2{font-size:24px;margin:5px 0}.modal-heading .icon-button{align-self:flex-start}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin:20px 0}.help-grid article{padding:14px;border-radius:9px;background:#1231394d;border:1px solid #a7c0a722}.help-grid b{font-size:12px;color:var(--gold)}.help-grid p{font-size:11px;line-height:1.8;color:#b9cdbb;margin-top:8px}.setting-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0;font-size:13px}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#213c3e;gap:15px;text-align:center;padding:30px}.loading-mark{font-size:55px;color:var(--gold);font-weight:800;letter-spacing:-3px}.loading h2{font-size:22px}.loading p{font-size:12px;color:#a8c0b0}.loading .primary{max-width:240px}.menu-overlay{padding:22px;background:#132f3596;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog.lobby{width:1050px;padding:0;display:grid;grid-template-columns:.92fr 1.08fr;overflow:auto;text-align:left;border-color:#b7c9a758;background:linear-gradient(110deg,#284642fa,#1d383df9);border-radius:15px}.lobby-story{padding:28px 30px;border-right:1px solid #a8c5a426;display:flex;flex-direction:column}.lobby h2{font-size:32px;line-height:1.35;margin:12px 0 8px;letter-spacing:-1.3px}.lobby-story>p{font-size:11px;color:#b3c7b5;line-height:1.8;margin-bottom:15px}.selected-mission{padding:15px 0 12px;border-top:1px solid #a3bea82a}.selected-mission>small{color:#a2bda9;font-size:10px;letter-spacing:1px}.selected-mission h3{font-size:18px;margin:6px 0 10px}.mission-facts{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:#c0d3bc}.bonus{margin-top:15px;border-left:2px solid var(--gold);padding-left:11px}.bonus span{font-size:11px;color:var(--gold);display:block}.bonus small{display:block;font-size:10px;color:#a7c1aa;margin-top:5px}.pace-picker{display:flex;gap:7px;margin:9px 0 13px}.pace-picker button{flex:1;text-align:left;background:#8aad9220;border:1px solid #bdd5af2b;padding:10px;font-size:11px}.pace-picker button[aria-pressed=true]{background:#efca8316;border-color:#f1ce8c9e;color:#f6dfad}.pace-picker small{display:block;color:#a8bda8;font-size:8px;margin-top:4px}.start-button{margin-top:auto;min-height:46px}.start-hint{display:block;color:#a4bba7;font-size:9px;line-height:1.5;margin-top:8px;text-align:center}.lobby-levels{padding:27px 26px 18px;display:flex;flex-direction:column}.chapter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:12px}.chapter-heading h3{font-size:17px;margin-top:7px}.star-total{font-size:15px;color:var(--gold);background:#e6d0910f;border:1px solid #d3ce9c24;border-radius:8px;padding:8px 11px}.chapter-tabs{display:flex;gap:5px;margin-bottom:13px}.chapter-tabs button{flex:1;font-size:10px;text-align:left;background:transparent;border-radius:5px;border-bottom:2px solid #a7c2a81c;padding:7px;color:#92afa0}.chapter-tabs small{display:block;font-size:8px;margin-bottom:3px;letter-spacing:1px}.chapter-tabs button[aria-selected=true]{color:#f2d493;background:#d4c1900b;border-color:var(--gold)}.mission-grid{display:grid;grid-template-columns:1fr;gap:6px}.mission-grid button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid #a9c3a92b;background:#0d2d3533;padding:10px 12px;min-height:48px}.mission-grid button[aria-pressed=true]{background:#9cc99e18;border-color:#bddab478}.mission-grid button:disabled{opacity:.55}.mission-number{font-size:16px;letter-spacing:-.5px;color:#c4d8bf;font-variant-numeric:tabular-nums;width:23px}.mission-name{flex:1}.mission-name b{font-size:11px;font-weight:550;display:block}.mission-name small{font-size:9px;color:#98b19f;display:block;margin-top:4px}.stars{display:inline-flex;gap:4px;color:#94ae9b3d;font-size:16px;letter-spacing:0;white-space:nowrap}.stars .earned{color:var(--gold)}.mission-grid .stars{font-size:12px;gap:2px}.lock{font-size:17px;color:#9eb09c}.lobby-note{display:flex;align-items:center;gap:9px;color:#9bb6a1;margin:12px 0 2px}.lobby-note>span{color:var(--gold);font-size:17px}.lobby-note p{font-size:9px;line-height:1.7}.lobby-levels>.text-button{text-align:left;font-size:10px;padding-bottom:0}.on-menu .controls{display:none}.on-menu .stage{height:calc(100dvh - 204px);min-height:540px;max-height:950px}.on-menu .statusbar{display:none}.classic-cards{display:grid;gap:12px}.classic-cards>div{display:flex;align-items:center;gap:12px;background:#10313933;border-radius:8px;padding:7px}.classic-cards img{width:100px;border-radius:5px}.classic-cards b{font-size:12px}.result-seal{margin:14px auto 0;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;background:#91d4ab22;border:1px solid #91d4ab60;font-size:28px;color:var(--mint)}.dialog>.stars{font-size:32px;gap:12px;margin:0 0 12px}.result-stats{display:flex;justify-content:space-around;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:14px}.result-stats>span{font-size:10px;color:#a6beac;display:flex;flex-direction:column;gap:6px}.result-stats b{font-size:25px;color:#f1e4c2;font-variant-numeric:tabular-nums}.result-stats small{font-size:11px;margin-left:3px;font-weight:400}.star-goals{text-align:left;display:grid;gap:8px;margin:0 0 19px}.star-goals>div{display:grid;grid-template-columns:20px 90px 1fr;gap:6px;align-items:center;color:#839e8f}.star-goals>div.achieved{color:#d0dbbd}.star-goals span{color:var(--gold);font-size:18px}.star-goals b{font-size:11px;font-weight:550}.star-goals small{font-size:9px}.retry-tip{padding:14px;background:#b3cba916;border-radius:9px;text-align:left;margin:18px 0}.retry-tip b{color:var(--gold);font-size:11px}.retry-tip p{font-size:12px;line-height:1.8;color:#b5cbb6;margin-top:6px}.map-dialog{width:760px}.tactical-map{display:block;width:100%;max-height:340px;border-radius:10px;border:1px solid #b4cba753;background:#16313a}.map-destinations{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.map-destinations button{flex:1;min-width:80px;background:#95c59e17;border:1px solid #a0c3a136;font-size:11px;padding:9px}.map-destinations span{display:block;font-size:9px;margin-top:5px;color:#acd0b4}.map-dialog>.muted{font-size:10px;text-align:left;margin-bottom:10px}@media(min-width:1450px){.lobby-story{padding:36px}.lobby-levels{padding:34px 34px 25px}.lobby h2{font-size:38px}.mission-grid button{min-height:54px}.lobby-story>p{margin-bottom:23px}.selected-mission{padding:18px 0}.lobby-levels>.text-button{margin-top:auto}.lobby-note{margin-top:18px}}@media(max-width:1100px){.app{padding:17px}.controls{gap:10px;padding:12px}.keyboard-guide{display:none}.movement-tools{width:180px}.stage{min-height:430px}.lobby-story{padding:23px}.lobby-levels{padding:23px 19px}.lobby h2{font-size:29px}.inventory button{min-width:85px;padding:8px}.mission-facts{gap:9px}.statusbar{padding:12px 15px}.status-metrics{gap:15px}.objective-arrow{padding:0}.lobby .eyebrow{font-size:8px}}@media(max-width:760px){.app{padding:12px 9px}.topbar{margin-bottom:13px;gap:8px}.brand h1{font-size:21px}.edition{font-size:8px;letter-spacing:1px}.toolbar{gap:5px}.toolbar button{font-size:10px;padding:8px}.toolbar kbd,.toolbar button:first-child{display:none}.statusbar{gap:9px;flex-wrap:wrap;padding:10px}.objective{flex-basis:100%;gap:9px}.objective b{font-size:13px}.objective-hint{font-size:9px}.step-badge{width:31px;height:31px;font-size:9px}.objective-arrow{margin-left:auto}.status-metrics{width:100%;justify-content:space-between;gap:12px}.status-metrics .metric{flex:1;max-width:260px}.time{display:flex;align-items:center;gap:10px;border:0;padding:0;min-width:0}.time b{font-size:24px}.time small{font-size:9px}.icon-button{width:29px;height:29px;font-size:16px}.stage{height:48dvh;min-height:320px}.controls{flex-wrap:wrap;gap:10px;padding:12px;justify-content:flex-start}.mobile-stick{display:block;position:relative;width:78px;height:78px;border-radius:50%;background:#122f3880;border:1px solid #b5d5b44d;box-shadow:inset 0 0 0 12px #799e8910;touch-action:none}.mobile-stick span{position:absolute;left:23px;top:23px;width:30px;height:30px;background:#a1c5a4;border:2px solid #d9e6c6;border-radius:50%;pointer-events:none;box-shadow:0 3px 8px #112c3860}.movement{order:1}.movement-tools{width:calc(100% - 92px);order:2}.movement-tools .button-row button{padding:9px;font-size:11px}.inventory{order:3;flex:1;gap:5px}.inventory button{min-width:0;padding:8px;flex:1}.inventory span{font-size:10px}.inventory b{margin-left:4px}.inventory small{font-size:8px}.interact{order:4;min-width:135px;padding:9px;gap:7px}.interact span{font-size:10px}.interact small{font-size:8px}.interact kbd{display:none}.scene-tools{top:10px;left:10px;gap:6px}.scene-tools button{font-size:9px;padding:7px}.scene-tools>span{display:none}.coach{left:10px;top:52px;max-width:calc(100% - 120px);padding:8px 10px;font-size:9px}.event-banner{top:120px;left:10px;font-size:9px;max-width:80%}.toast{font-size:10px;padding:8px 11px;max-width:92%;bottom:10px}.bottom-note{font-size:8px;line-height:1.6}.overlay{padding:12px}.dialog{padding:20px;border-radius:12px}.dialog h2{font-size:24px}.dialog>p{font-size:11px}.help-grid{gap:8px}.help-grid article{padding:10px}.help-grid p{font-size:10px}.dialog.lobby{grid-template-columns:1fr;max-height:100%;overflow:auto}.lobby-story{padding:22px;border:0;border-bottom:1px solid var(--line)}.lobby h2{font-size:29px;margin:9px 0}.lobby-story>p{font-size:10px;margin-bottom:8px}.selected-mission{padding:12px 0 7px}.selected-mission h3{font-size:16px}.bonus{margin-top:10px}.pace-picker{margin:9px 0 12px}.lobby-levels{padding:20px 22px}.chapter-heading{margin-bottom:12px}.chapter-heading h3{font-size:15px}.on-menu .stage{height:calc(100dvh - 150px);min-height:540px}.menu-overlay{padding:11px}.start-hint{font-size:9px}.mission-grid button{min-height:51px}.chapter-tabs button{font-size:10px}.star-goals>div{grid-template-columns:18px 80px 1fr}.star-goals small{font-size:8px}.result-stats b{font-size:22px}.map-dialog{padding:15px}.map-destinations button{min-width:70px}.tactical-map{max-height:240px}}@media(pointer:coarse)and (min-width:761px){.mobile-stick{display:block;position:relative;width:72px;height:72px;touch-action:none;border-radius:50%;background:#13303a;border:1px solid #8fae94}.mobile-stick span{position:absolute;left:22px;top:22px;width:28px;height:28px;border-radius:50%;background:#b9d3ad}.keyboard-guide{display:none}}@media(max-width:390px){.brand h1{font-size:18px}.toolbar button{font-size:9px;padding:7px}.inventory{width:100%;order:4}.interact{order:3;width:100%}.controls{gap:8px}.objective-hint{max-width:270px}.help-grid{grid-template-columns:1fr}}@media(max-height:650px)and (min-width:761px){.app{padding:8px 16px}.topbar{margin-bottom:9px}.brand h1{font-size:21px}.edition{font-size:8px}.on-menu .stage{min-height:420px;height:calc(100dvh - 119px)}.menu-overlay{padding:12px}.lobby-story{padding:18px 22px}.lobby-levels{padding:18px 20px}.lobby h2{font-size:26px;margin:8px 0}.lobby-story>p{margin-bottom:8px;font-size:10px}.selected-mission{padding:9px 0}.selected-mission h3{font-size:16px}.bonus{margin-top:9px}.pace-picker{margin:6px 0 10px}.chapter-heading{margin-bottom:10px}.mission-grid{gap:4px}.mission-grid button{min-height:43px;padding:6px 10px}.chapter-tabs{margin-bottom:8px}.lobby-note{margin-top:8px}.start-hint{font-size:8px}.bottom-note{padding:7px}.statusbar{min-height:65px;padding:8px 14px}.objective-hint{display:none}.stage{height:calc(100dvh - 238px);min-height:270px}.controls{min-height:78px;padding:9px 13px}}@media(max-height:500px)and (orientation:landscape){.app{padding:0}.topbar,.bottom-note{display:none}.game-shell{border:0;border-radius:0}.stage{height:calc(100dvh - 135px);min-height:220px}.on-menu .stage{height:100dvh;min-height:0}.statusbar{min-height:56px;padding:6px 13px;flex-wrap:nowrap}.objective{flex-basis:auto}.objective small,.objective-hint{display:none}.status-metrics{width:auto;gap:10px}.status-metrics .metric{width:80px}.time small{display:none}.controls{padding:6px 10px;min-height:79px;gap:9px;flex-wrap:nowrap}.movement-tools{width:155px;order:0}.movement{order:0}.inventory{order:0;width:auto}.inventory small{display:none}.interact{order:0;min-width:130px;width:auto}.mobile-stick{width:58px;height:58px}.mobile-stick span{left:17px;top:17px;width:24px;height:24px}.dialog.lobby{grid-template-columns:1fr 1fr}.lobby-story,.lobby-levels{padding:15px}.lobby h2{font-size:23px}.lobby-story>p,.lobby-note,.start-hint{display:none}.bonus{margin-top:8px}.chapter-heading{margin-bottom:8px}.chapter-tabs{margin-bottom:6px}.mission-grid button{padding:6px 8px;min-height:38px}.mission-name small{font-size:8px}.mission-name b{font-size:10px}.lobby .eyebrow{font-size:8px}.chapter-heading h3{font-size:14px}.pace-picker button{padding:7px}.pace-picker small{display:none}.selected-mission{padding:7px 0}.lobby-story{border-bottom:0;border-right:1px solid var(--line)}.scene-tools{top:7px}.coach{top:45px}.dialog{padding:17px}.dialog h2{font-size:22px}.overlay{padding:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(min-width:761px){.dialog.lobby{height:min(600px,100%);overflow:hidden}.lobby-story,.lobby-levels{min-height:0}.lobby-story{overflow:auto}.lobby-levels .mission-grid{min-height:0;overflow:auto;flex:1;display:flex;flex-direction:column;padding-right:3px}.mission-grid button{flex-shrink:0}.lobby-note,.chapter-heading,.chapter-tabs,.lobby-levels>.text-button{flex-shrink:0}.start-button{position:sticky;bottom:0;z-index:1;flex-shrink:0}}@media(min-width:761px)and (max-height:800px){.lobby-story,.lobby-levels{padding:21px 25px}.lobby h2{font-size:28px;margin:9px 0 6px;line-height:1.3}.lobby-story>p{font-size:10px;margin-bottom:10px}.selected-mission{padding:10px 0}.selected-mission h3{font-size:17px;margin:5px 0 8px}.bonus{margin-top:10px}.pace-picker{margin:7px 0 10px}.pace-picker button{padding:8px}.start-hint{font-size:8px}.lobby-note{margin:8px 0 0}.lobby-note p{font-size:9px}.chapter-heading{margin-bottom:13px}.mission-grid button{min-height:44px;padding:8px 10px}}.tutorial-footer{font-size:11px;color:#c0d3b9;line-height:1.8}.tutorial-footer small{font-size:9px;color:#8fac9b}@media(max-width:760px){.tutorial-footer{font-size:10px;flex:1}.tutorial-footer small{font-size:8px}}.overlay:not(.menu-overlay){position:fixed;z-index:30;padding:28px;background:#0a252bd4}.overlay:not(.menu-overlay) .dialog{max-height:calc(100dvh - 56px)}@media(min-width:761px)and (min-height:651px){.stage{height:calc(100dvh - 325px);min-height:360px}.on-menu .stage{height:calc(100dvh - 204px);min-height:540px}}@media(max-width:760px){.overlay:not(.menu-overlay){padding:14px}.overlay:not(.menu-overlay) .dialog{max-height:calc(100dvh - 28px)}}.stage:has(.overlay:not(.menu-overlay)){z-index:40}@keyframes star-arrive{0%{transform:scale(.65);opacity:.3}to{transform:scale(1);opacity:1}}.dialog>.stars .earned{animation:star-arrive .35s ease-out both}.dialog>.stars .earned:nth-child(2){animation-delay:.12s}.dialog>.stars .earned:nth-child(3){animation-delay:.24s}@media(prefers-reduced-motion:reduce){.dialog>.stars .earned{animation:none}}.scene-layout{display:flex;align-items:stretch}.scene-layout>.stage{flex:1;min-width:0}.scene-rail{width:190px;flex-shrink:0;background:#1a3439;border-left:1px solid #718e7740;padding:20px 15px;display:flex;flex-direction:column;gap:16px}.rail-heading b{display:block;font-size:13px;margin-top:7px;color:#d4dfcd}.mini-map-button{display:block;width:100%;padding:0;background:#10292e;border:1px solid #89a58c40;overflow:hidden;border-radius:8px}.mini-map-button svg{display:block;width:100%;height:auto}.mini-map-button>span{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;font-size:10px;color:#bccdb7}.map-legend{display:flex;gap:10px;font-size:9px;color:#fff5dc}.map-legend span:nth-child(2){color:#8dd8b6}.map-legend span:nth-child(3){color:#efbb67}.lift-status{border-top:1px solid #8fac8726;padding-top:17px;margin-top:auto}.lift-status small{font-size:10px;color:#92ad9c}.lift-status b{display:block;font-size:12px;font-weight:550;color:#e8dbb4;margin:8px 0}.lift-status p{font-size:10px;line-height:1.7;color:#a8bcab}@media(max-width:900px){.scene-layout{flex-direction:column}.scene-rail{width:100%;border-left:0;border-top:1px solid #718e7740;padding:9px 12px;display:grid;grid-template-columns:90px 1fr;gap:6px 14px;align-items:center}.mini-map-button{grid-column:1;grid-row:1/4}.mini-map-button>span{padding:4px;font-size:8px}.mini-map-button kbd{display:none}.rail-heading{grid-column:2;grid-row:1;display:flex;align-items:center;gap:9px}.rail-heading b{margin:0;font-size:11px}.map-legend{grid-column:2;grid-row:2}.lift-status{grid-column:2;grid-row:3;margin:0;padding:0;border:0}.lift-status small,.lift-status p{display:none}.lift-status b{font-size:10px;margin:0}.stage{min-height:320px}}.pickup-progress{position:absolute;bottom:70px;left:50%;transform:translate(-50%);background:#203b40ee;border:1px solid #f1ce8c;padding:12px 20px 16px;border-radius:8px;min-width:190px;color:#f1ce8c;font-size:13px;overflow:hidden;text-align:center;pointer-events:none}.pickup-progress i{position:absolute;left:0;bottom:0;height:4px;background:#f1ce8c}.interact{touch-action:none;-webkit-user-select:none;user-select:none}:root{--gold:#ffd36f;--ink:#f2edcf}body{background:#0c1c23}.app{max-width:none}.on-menu .stage{height:calc(100dvh - 145px);min-height:570px}.dialog.lobby{max-width:1220px;grid-template-columns:.85fr 1.4fr;background:#102c34f5}.lobby-story{justify-content:center;gap:12px}.lobby h2{font-size:clamp(48px,6vw,90px);line-height:1.05;letter-spacing:-3px}.lobby-levels .mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:none;overflow:visible;flex:initial}.mission-grid button{min-height:64px;padding:10px;gap:8px;border-radius:10px}.mission-grid .mission-number{font-size:24px}.mission-grid .mission-name b{font-size:12px}.mission-grid .mission-name small{font-size:10px}.mission-grid .stars{display:none}.lobby-levels{padding:24px}.lobby-levels .mission-grid button:disabled{opacity:.58}.lobby-levels .chapter-heading{margin-bottom:16px}.lobby-story .selected-mission{margin:10px 0}.lobby-story .start-button{margin-top:18px}.lobby-note{margin-top:16px}@media(min-width:1000px){.app:not(.on-menu){padding:0}.app:not(.on-menu) .topbar,.app:not(.on-menu) .bottom-note{display:none}.app:not(.on-menu) .game-shell{height:100dvh;border:0;border-radius:0;position:relative}.app:not(.on-menu) .scene-layout{display:block;height:100%}.app:not(.on-menu) .stage{width:100%;height:100dvh;min-height:0}.app:not(.on-menu) .statusbar{position:absolute;z-index:3;top:18px;left:20px;right:20px;background:transparent;border:0;pointer-events:none;padding:0;align-items:flex-start}.statusbar button{pointer-events:auto}.app:not(.on-menu) .objective{background:#112f37e8;padding:15px;border:1px solid #8e8053;border-left:5px solid #ffd36f;border-radius:10px;max-width:340px}.app:not(.on-menu) .status-metrics .metric{position:fixed;bottom:150px;left:40%;width:24%;max-width:320px}.app:not(.on-menu) .time{position:fixed;left:50%;top:20px;transform:translate(-50%);display:flex;flex-direction:column;gap:3px;border:0}.app:not(.on-menu) .time small{font-size:36px;font-weight:800;color:#ffd36f}.app:not(.on-menu) .time b{font-size:14px}.app:not(.on-menu) .scene-rail{position:absolute;right:20px;top:95px;width:180px;z-index:2;background:#102c34df;border-radius:14px;padding:12px}.app:not(.on-menu) .scene-tools{left:auto;right:20px;top:380px;max-width:180px;flex-wrap:wrap}.scene-tools>span{display:none}.app:not(.on-menu) .controls{position:absolute;bottom:15px;left:20px;right:20px;z-index:3;background:transparent;border:0;pointer-events:none;justify-content:space-between}.controls button,.controls .mobile-stick{pointer-events:auto}.app:not(.on-menu) .mobile-stick{display:block;position:relative;width:110px;height:110px;background:#17363ecc;border:1px solid #54716d;border-radius:50%;touch-action:none}.app:not(.on-menu) .mobile-stick span{position:absolute;left:34px;top:34px;width:42px;height:42px;border-radius:50%;background:#93ac98}.app:not(.on-menu) .keyboard-guide{display:none}.app:not(.on-menu) .inventory{position:absolute;left:50%;bottom:0;transform:translate(-50%)}.app:not(.on-menu) .movement-tools{margin-left:auto;margin-right:20px;width:130px}.app:not(.on-menu) .movement-tools>.metric{position:fixed;bottom:122px;left:40%;width:24%;max-width:320px}.app:not(.on-menu) .movement-tools .button-row{flex-direction:column}.app:not(.on-menu) .interact{border-radius:50%;width:110px;height:110px;min-width:110px;justify-content:center}.interact>span:last-child,.interact small{display:none}.app:not(.on-menu) .coach{top:115px;max-width:300px;font-size:12px}.app:not(.on-menu) .event-banner{top:110px;left:50%;transform:translate(-50%)}.app:not(.on-menu) .toast{bottom:210px}.app:not(.on-menu) .pickup-progress{bottom:245px}.app:not(.on-menu) .overlay{z-index:8}}@media(max-width:999px){.lobby-levels .mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog.lobby{overflow:auto;max-height:100%}.lobby h2{font-size:42px}.lobby-story{padding:24px}.lobby-levels{padding:18px}.mission-grid button{min-height:58px}.on-menu .stage{min-height:600px}}.task-checklist{position:absolute;z-index:4;left:25px;top:108px;display:flex;gap:6px;max-width:330px;flex-wrap:wrap;pointer-events:none}.task-checklist span{background:#163840d9;border:1px solid #42645f;border-radius:6px;padding:5px 8px;font-size:11px;color:#d5e2c7}.app:not(.on-menu) .coach{top:160px}.app:not(.on-menu) .scene-tools{top:465px;z-index:4}.app:not(.on-menu) .scene-rail .lift-status{display:none}.app:not(.on-menu) .scene-rail{top:85px}.stage canvas{touch-action:none}.stage:fullscreen{background:#0d1c22;width:100vw;height:100vh}.stage:fullscreen canvas{width:100%;height:100%}@media(max-width:999px){.task-checklist{position:relative;left:0;top:0;padding:8px;max-width:none}.app:not(.on-menu) .scene-tools{top:10px}}.mission-grid .stars{display:flex;font-size:9px;gap:1px}.event-banner{background:#f6d57f;color:#17323b;border:1px solid #fae8b0}.app:not(.on-menu) .interact{background:#ffd36f;color:#18343d;border:4px solid #e6bd64}.app:not(.on-menu) .interact span{font-size:13px}.app:not(.on-menu) .time small{text-shadow:0 2px 8px #0d1c22}.scene-rail .mini-map-button svg{background:#173740}@media(min-width:1000px){.app:not(.on-menu) .interact{flex-direction:column;gap:5px;padding:12px;box-shadow:0 5px 22px #091b2540,inset 0 0 0 1px #fff0b680}.app:not(.on-menu) .interact>kbd{flex:none;font-size:13px;border-color:#94774155;background:#fff0b044;color:#385149}.app:not(.on-menu) .interact>span:not(:last-child){display:block;flex:none;max-width:80px;font-weight:650;line-height:1.5;text-align:center;word-break:keep-all}.app:not(.on-menu) .interact:active{transform:scale(.97)}.app:not(.on-menu) .task-checklist{top:128px}.app:not(.on-menu) .scene-tools{top:365px}}@media(prefers-reduced-motion:reduce){.interact{transition:none}}@media(max-width:999px){.app:not(.on-menu) .task-checklist{background:#19363c}.app:not(.on-menu) .coach{top:58px;left:10px;right:10px;max-width:none;padding:7px 10px;font-size:10px}.app:not(.on-menu) .event-banner{top:auto;bottom:54px;left:10px;right:10px;padding:7px 10px;font-size:10px}.app:not(.on-menu) .toast{bottom:10px;font-size:10px;padding:8px 12px}}.mission-twist{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding:11px 13px;border-left:3px solid #ddb97b;background:#a6c9ad0a;border-radius:0 7px 7px 0}.mission-twist b{font-size:11px;color:#e6cd96}.mission-twist span{font-size:10px;line-height:1.7;color:#bdccbc}.office-life-status{padding-top:10px;border-top:1px solid #8caa8e33}.office-life-status button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:none;border:0;color:#e5c88e;font-size:11px}.office-life-status b{font-size:14px}.office-life-status p{font-size:9px;line-height:1.65;color:#b1c4b8;margin:7px 0 0}.office-life-status small{display:block;margin-top:8px;font-size:9px;line-height:1.6;color:#a3c9cb}.life-help{font-size:12px;line-height:1.8;color:#c9d7bc;background:#5a877621;border:1px solid #76988740;border-radius:8px;padding:12px}@media(min-width:1000px){.app:not(.on-menu) .scene-tools{top:455px}.app:not(.on-menu) .scene-rail{gap:12px}.result-stats{gap:14px}}@media(max-width:999px){.office-life-status{grid-column:2;grid-row:3;border:0;padding:0}.office-life-status button{font-size:10px}.office-life-status p,.office-life-status small{display:none}.mission-twist{padding:8px 10px;margin-top:10px}.result-stats b{font-size:20px}.result-stats{gap:12px;flex-wrap:wrap}}.sight-status{display:flex;flex-direction:column;gap:4px;padding:6px 10px;border-left:2px solid var(--gold);background:#112f37e8;border-radius:4px}.sight-status small{font-size:10px;color:var(--gold)}.objective-hint.route-danger{color:#ffb4a9;font-weight:650}.objective-hint.route-noise{color:#f4cf88}.office-life-status>small{display:block;line-height:1.6;margin-top:5px}.mission-chapter{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px 5px;color:#a9c6bc;font-size:11px;flex-shrink:0}.mission-chapter span{font-size:10px;color:#839f95;letter-spacing:1px}.mission-chapter:first-child{padding-top:0}.mission-pressure{font-size:11px!important;line-height:1.7;color:#e5bf91;margin-top:12px;padding:9px 11px;background:#d7984d10;border-radius:6px}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.mode-picker button{padding:12px 10px;text-align:left;background:#719c8e12;border:1px solid #a7c6b83b;border-radius:9px;min-width:0}.mode-picker button[aria-pressed=true]{border-color:#e8cc83;background:#e8cc8312}.mode-picker button.hell-option[aria-pressed=true]{border-color:#ef9b7f;background:#d87a5b1c}.mode-picker b,.mode-picker span,.mode-picker small{display:block}.mode-picker b{font-size:13px;color:#eee5c6}.mode-picker span{font-size:10px;color:#c4d3c5;line-height:1.6;margin-top:7px}.mode-picker small{font-size:9px;color:#a7bcae;margin-top:5px;line-height:1.5}.mode-picker b{display:flex;align-items:center;justify-content:space-between;gap:5px}.mode-picker i{font-style:normal;font-size:9px;font-weight:400;color:#efcf8e}.mode-picker .hell-option i{color:#f0b099}.mode-picker span.mode-time{margin-top:9px;color:#f5e5b9}.mode-time strong{font-size:24px;line-height:1;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.hell-option .mode-time strong{color:#f2b294}.has-modes .mission-facts>span:nth-child(-n+2){display:none}.mission-extras{margin-top:10px;border-top:1px solid #b5ccb425;padding-top:10px}.mission-extras summary{cursor:pointer;font-size:11px;color:#b8cdbd;list-style:none;display:flex;justify-content:space-between;gap:8px}.mission-extras summary span{color:#e2cb92;font-size:10px}.mission-extras summary:focus-visible{outline:2px solid #e2cb92;outline-offset:4px}.mission-extras[open] summary span{display:none}.mission-extras[open] summary:after{content:"收起";color:#e2cb92;font-size:10px}.mode-picker button:disabled{opacity:.55;cursor:not-allowed}.mode-picker button:focus-visible{outline:2px solid #fff0be;outline-offset:3px}.lobby-story.has-modes{gap:5px;justify-content:flex-start}.lobby-story.has-modes h2{font-size:36px;line-height:1.1;margin:10px 0}.has-modes h2 br{display:none}.lobby-story.has-modes .selected-mission{margin:0 0 8px}.lobby-story.has-modes .start-button{margin-top:auto}.has-modes .mission-twist{margin-top:8px;padding:8px 10px}.has-modes .mission-pressure{margin-top:6px;padding:6px 10px}.has-modes .bonus{margin-top:8px}.star-total small{display:block;font-size:10px;margin-top:5px;color:#e8a58d}.mission-name small.hell-record{color:#edb498}.hell-challenge{margin-top:10px;color:#f4b39a;border-color:#d796794d}.hell-mode .start-button{background:#eea081;color:#2a2928}.hell-mode .lobby{border-color:#c58a6e70}.hell-mode .statusbar .objective>span>small{color:#f1b599}@media(max-width:760px){.lobby-story.has-modes h2{font-size:32px}.mode-picker button{padding:11px 9px}.mode-picker span,.mode-picker small{font-size:9px}.chapter-heading h3{font-size:13px}}.lobby-story{display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;gap:12px}.lobby-brief{min-height:0;overflow:auto;padding-right:2px}.lobby-brief>p{font-size:11px;line-height:1.8;color:#b3c7b5;margin:10px 0 15px}.lobby-actions{padding-top:8px;background:#102c34}.lobby-story .start-button,.lobby-story.has-modes .start-button{position:static;margin:0}.lobby-actions .start-hint{margin-top:8px}.lobby-story.has-modes{gap:10px}.lobby-story.has-modes h2{font-size:32px;margin:8px 0}.has-modes .lobby-brief>p{margin:8px 0 10px}.has-modes .mode-picker{margin:10px 0}@media(min-width:761px)and (max-height:800px){.lobby-story.has-modes{padding-top:16px;padding-bottom:16px}.lobby-story.has-modes h2{font-size:28px;margin:6px 0}.has-modes .selected-mission{padding:8px 0}.has-modes .mission-extras{margin-top:6px;padding-top:6px}}@media(max-width:760px){.dialog.lobby{grid-template-columns:minmax(0,1fr);overflow:auto}.lobby-story,.lobby-story.has-modes{display:block;min-width:0;padding:20px;border-right:0}.lobby-brief{overflow:visible;padding:0}.lobby-actions{position:sticky;bottom:0;margin-top:12px;padding:10px 0 2px;z-index:2}.lobby-levels{min-width:0;padding:20px}.lobby-levels .mission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mission-grid button{min-width:0;gap:6px}.mission-grid .mission-name b{font-size:11px;line-height:1.5}.mission-grid .mission-number{font-size:20px;width:21px}.mission-grid .stars{display:none}.chapter-heading h3{font-size:13px;line-height:1.5}.star-total{white-space:nowrap}.lobby h2{font-size:32px}.lobby-brief>p{margin-bottom:10px;font-size:11px}.on-menu .stage{height:calc(100dvh - 145px);min-height:580px}}.feat-toast{position:absolute;z-index:3;left:20px;top:222px;display:flex;align-items:flex-start;gap:11px;width:292px;max-width:calc(100% - 40px);padding:13px 15px;border:1px solid #a7d9a780;border-left:3px solid #a9dfb3;border-radius:10px;background:#143a37f2;box-shadow:0 8px 25px #0c282a35;pointer-events:none;animation:feat-arrive .24s ease-out}.feat-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#d4e9ab12;color:#e8d598;font-size:17px}.feat-toast small{display:block;font-size:9px;letter-spacing:2px;color:#9bcdad;margin-bottom:4px}.feat-toast b{display:block;font-size:14px;color:#f2e6bb}.feat-toast p{margin:5px 0 0;font-size:11px;line-height:1.65;color:#c8ddc9}.feat-recap{margin:16px 0;text-align:left;border:1px solid #a4cba535;border-radius:11px;padding:14px;background:#719f8410}.feat-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.feat-heading>b{font-size:13px;color:#e7d7a9}.feat-heading>small{font-size:9px;color:#aac6ad}.feat-recap ul,.feat-history ul{padding:0;margin:10px 0 0;list-style:none;display:grid;gap:9px}.feat-recap li,.feat-history li{display:flex;gap:10px;align-items:flex-start}.feat-recap li>div,.feat-history li>div{flex:1;min-width:0}.feat-recap li b,.feat-history li b{font-size:11px;color:#dce8cc}.feat-recap li p,.feat-history li p{font-size:10px;color:#b3cbb9;line-height:1.7;margin:3px 0 0}.feat-history{margin-top:12px;padding-top:10px;border-top:1px solid #a4cba530}.feat-history summary{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#c5d6b9;cursor:pointer;list-style:none}.feat-history summary::-webkit-details-marker{display:none}.feat-history summary>span:last-child{font-size:10px;color:#e5ce98}.feat-history summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}.feat-history[open] summary>span:last-child{display:none}.feat-history[open] summary:after{content:"收起";font-size:10px;color:#e5ce98}.feat-history>p{font-size:10px;color:#a6c0ae;line-height:1.7;margin-top:9px}.feat-history li{padding:8px;border-radius:8px;background:#6b9c8a0b;border:1px solid #70978920}.feat-history li.earned{background:#8bae7320;border-color:#a3c58b55}.feat-history li b{display:flex;justify-content:space-between;align-items:center;gap:8px}.feat-history li b small{font-size:9px;font-weight:400;color:#92ad9b}.feat-history li.earned b small{color:#d9d58d}@keyframes feat-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:999px){.feat-toast{top:106px;left:10px;width:280px;max-width:calc(100% - 20px);gap:8px;padding:9px 11px}.feat-toast small{font-size:8px;margin-bottom:2px}.feat-toast b{font-size:12px}.feat-toast p{font-size:10px;margin-top:3px}.feat-toast .feat-icon{width:25px;height:25px;font-size:15px}.feat-recap{padding:11px}.feat-heading{flex-wrap:wrap;gap:4px}}@media(prefers-reduced-motion:reduce){.feat-toast{animation:none}}.feat-history{text-align:left}.app:not(.on-menu) .scene-tools{top:16px;right:18px;left:auto;max-width:none;display:flex;align-items:flex-start;gap:8px;flex-wrap:nowrap;z-index:6}.scene-tools>button,.camera-tools>summary{height:36px;padding:8px 12px;font-size:11px;background:#16353ef2;border:1px solid #8aab9470;border-radius:8px;color:#e4e8ce;cursor:pointer;list-style:none}.camera-tools{position:relative}.camera-tools summary::-webkit-details-marker{display:none}.camera-tools>summary span{margin-left:8px;color:#f3d27f}.camera-tools>summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.camera-options{position:absolute;top:44px;right:0;width:204px;padding:12px;border:1px solid #77948780;border-radius:12px;background:#15333bf7;box-shadow:0 12px 35px #061c2580;display:flex;flex-direction:column;gap:8px}.camera-options>button{width:100%;min-height:38px}.camera-zoom{display:flex;align-items:center;justify-content:space-between;gap:8px}.camera-zoom span{font-size:11px;color:#c4d4c5}.camera-zoom button{width:38px;height:38px;padding:0;font-size:18px}.camera-options small{font-size:10px;color:#9fbcac;line-height:1.6;text-align:center}.game-shell:fullscreen{width:100vw;height:100dvh;overflow:auto;border:0;border-radius:0;background:#142e35}@media(min-width:1000px){.app:not(.on-menu) .scene-tools{top:18px;right:76px}.app:not(.on-menu) .movement-tools>.metric{bottom:118px;left:50%;transform:translate(-50%);width:220px}.app:not(.on-menu) .toast{bottom:165px}.app:not(.on-menu) .pickup-progress{bottom:165px}}@media(hover:hover)and (pointer:fine)and (min-width:1000px){.app:not(.on-menu) .mobile-stick{display:none}.app:not(.on-menu) .keyboard-guide{display:block;padding:14px 16px;background:#15343bd9;border:1px solid #6e8f7d55;border-radius:10px}.app:not(.on-menu) .keyboard-guide small{font-size:11px;line-height:1.5}.app:not(.on-menu) .interact{width:178px;min-width:178px;height:70px;border-radius:14px;flex-direction:row;gap:10px;border-width:2px}.app:not(.on-menu) .interact>span:not(:last-child){max-width:104px;font-size:14px}.app:not(.on-menu) .interact>kbd{font-size:12px}.app:not(.on-menu) .movement-tools{width:135px}.app:not(.on-menu) .tutorial-footer{position:absolute;left:50%;transform:translate(-50%);bottom:12px;text-align:center}}@media(max-width:760px)and (orientation:portrait){.app:not(.on-menu){padding:8px}.app:not(.on-menu) .topbar,.app:not(.on-menu) .bottom-note{display:none}.app:not(.on-menu) .scene-layout>.stage{flex:none;height:43dvh;min-height:280px}.app:not(.on-menu) .scene-rail{grid-template-columns:70px 1fr;padding:8px 10px;gap:4px 12px}.app:not(.on-menu) .controls{display:grid;grid-template-columns:78px minmax(0,1fr) 106px;gap:10px 8px;padding:12px 10px;align-items:center}.app:not(.on-menu) .movement{grid-row:1;grid-column:1;order:0}.app:not(.on-menu) .movement-tools{grid-row:1;grid-column:2;width:auto;order:0;margin:0}.app:not(.on-menu) .movement-tools .button-row{flex-direction:column;gap:4px}.app:not(.on-menu) .movement-tools button{padding:8px 2px;font-size:10px}.app:not(.on-menu) .movement-tools .metric{min-width:0}.app:not(.on-menu) .tutorial-footer{grid-row:1;grid-column:2;font-size:10px;line-height:1.6}.app:not(.on-menu) .tutorial-footer small{display:none}.app:not(.on-menu) .interact{grid-row:1;grid-column:3;width:106px;min-width:0;min-height:64px;padding:9px 7px;justify-content:center}.app:not(.on-menu) .interact span{font-size:12px}.app:not(.on-menu) .interact>span:last-child{display:none}.app:not(.on-menu) .interact small{font-size:9px;color:#39544c}.app:not(.on-menu) .inventory{grid-row:2;grid-column:1/-1;width:100%;order:0}.app:not(.on-menu) .inventory button{min-height:48px;font-size:11px}}.inventory .item-card{position:relative;min-width:132px;min-height:64px;padding:10px 12px;background:#14333cf2;overflow:hidden;touch-action:manipulation}.inventory .item-heading{display:flex;align-items:center;gap:7px}.inventory .item-heading>span{font-size:12px;font-weight:650}.inventory .item-heading b{margin:0;font-size:11px}.inventory .item-heading kbd{margin-left:auto;font-size:9px}.inventory .item-card small{font-size:10px;line-height:1.5;color:#bed0bd;white-space:normal}.inventory .item-card.selected{border-color:#f4d386;background:#48513df5;box-shadow:0 0 0 2px #f4d38626}.inventory .item-card.recommended{border-color:#b4d99b}.inventory .item-card.effect-active:disabled{opacity:1;background:#23463ff2;border-color:#8cbf99}.inventory .item-card.effect-active small{color:#c5efc6}.inventory .item-duration{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0e282d}.inventory .item-duration i{display:block;height:100%;background:#a9e4b8}.stage canvas.is-aiming{cursor:crosshair}.paper-aim{position:absolute;z-index:4;left:50%;bottom:178px;transform:translate(-50%);display:flex;align-items:center;gap:18px;width:460px;max-width:calc(100% - 32px);padding:14px 16px;border:1px solid #c1d4a5;border-radius:12px;background:#14363df5;box-shadow:0 10px 30px #081e2760;pointer-events:none}.paper-aim b{color:#f5dc9e;font-size:13px}.paper-aim p{font-size:12px;color:#dce9c9;line-height:1.6;margin:5px 0}.paper-aim small{font-size:10px;color:#a8c3b4;line-height:1.5}.paper-aim button{pointer-events:auto;flex-shrink:0;min-height:42px;padding:8px 12px;background:#789a7e22;border:1px solid #9cbb974d;font-size:12px}.paper-aim button kbd{margin-left:5px}.paper-aim.invalid{border-color:#d69c7d}.paper-aim.invalid p{color:#ffd1ab}.stage:has(.paper-aim) .toast{display:none}@media(min-width:1000px){.app:not(.on-menu) .inventory{max-width:calc(100% - 420px)}.app:not(.on-menu) .inventory .item-card{min-width:0;width:160px}.app:not(.on-menu) .movement-tools>.metric{bottom:125px}}@media(max-width:999px){.inventory{flex:1;min-width:0}.inventory .item-card{flex:1;min-width:0;padding:10px 8px}.inventory .item-heading{gap:4px}.inventory .item-heading kbd{display:none}.paper-aim{bottom:12px;padding:10px 12px;gap:10px}.paper-aim small{display:none}.paper-aim p{font-size:11px}.paper-aim button{min-width:54px;padding:8px}.paper-aim button kbd{display:none}.stage:has(.paper-aim) .event-banner{bottom:100px}}@media(max-width:760px)and (orientation:portrait){.app:not(.on-menu) .inventory .item-card{min-height:68px}.inventory .item-heading>span{font-size:11px}.inventory .item-card small{font-size:10px}.paper-aim{max-width:calc(100% - 16px)}}@media(min-width:1000px){.paper-aim{left:24px;bottom:132px;transform:none;width:340px;gap:10px}.paper-aim p{font-size:11px}.paper-aim button{padding:8px}}.paper-aim{flex-direction:column;align-items:stretch;gap:10px}.paper-aim .aim-actions{display:flex;gap:8px;pointer-events:auto}.paper-aim .aim-actions button{flex:1;min-height:40px}.paper-aim .aim-actions button:first-child{background:#f1ce8c;color:#243d38;border-color:#f1ce8c}.paper-aim .aim-actions button:first-child kbd{color:#375145;border-color:#37514555}@media(max-width:999px){.paper-aim{gap:6px}.paper-aim p{margin:4px 0}.paper-aim .aim-actions button{min-height:38px}.stage:has(.paper-aim) .event-banner{bottom:130px}}.task-checklist{max-width:440px}.task-checklist button{pointer-events:auto;background:#163840ed;border:1px solid #658275;border-radius:6px;min-height:32px;padding:5px 9px;font-size:11px;color:#d5e2c7;touch-action:manipulation}.task-checklist button[aria-pressed=true]{background:#435a47;border-color:#f1ce8c;color:#ffe2a4}.task-checklist button:disabled{opacity:.6;cursor:default}.task-checklist button:focus-visible{outline:3px solid #f1ce8c;outline-offset:2px}@media(min-width:1000px){.app:not(.on-menu) .coach{top:170px}}@media(max-width:999px){.task-checklist{max-width:none}.task-checklist button{min-height:44px;padding:8px 12px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.movement-tools .movement-button{display:flex;flex-direction:column;gap:5px;min-height:56px;padding:9px 10px;text-align:left;white-space:normal;background:#17363ef5;border-color:#789b8366;-webkit-user-select:none;user-select:none}.movement-button .control-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.movement-button .control-heading b{font-size:12px;font-weight:650;line-height:1.4}.movement-button .control-heading kbd{margin:0;flex-shrink:0}.movement-tools .movement-button small{display:block;font-size:11px;line-height:1.5;color:#c2d7c6}.movement-tools .movement-button.active,.movement-tools .movement-button.sprinting{background:#b8e5ba;border-color:#d6efc8;color:#203c34}.movement-tools .movement-button.active small,.movement-tools .movement-button.sprinting small{color:#315840}.movement-tools .movement-button.active kbd,.movement-tools .movement-button.sprinting kbd{color:#315840;border-color:#31584066}.movement-tools .movement-button:disabled{opacity:.8;background:#20343a;border-color:#577263;color:#b7c4b9}.app:not(.on-menu) .movement-tools>.metric{position:static;transform:none;width:100%;max-width:none;margin-bottom:8px}.app:not(.on-menu) .controls .interact{position:relative;overflow:hidden;height:auto;min-height:82px;border-width:2px;border-radius:14px;padding:12px;gap:9px;flex-direction:row;touch-action:none}.app:not(.on-menu) .controls .interact>.action-copy{display:block;flex:1;min-width:0;max-width:none;text-align:left;line-height:1.5}.interact .action-copy b{display:block;font-size:14px;font-weight:700}.app:not(.on-menu) .controls .interact .action-copy small{display:block;color:#365249;font-size:11px;font-weight:500;line-height:1.55;margin-top:5px;white-space:normal}.app:not(.on-menu) .controls .interact>.action-arrow{display:none}.app:not(.on-menu) .controls .interact:disabled{opacity:.8}.action-hold-progress{position:absolute;bottom:0;left:0;height:4px;background:#365d49;pointer-events:none}.inventory .item-heading{flex-wrap:wrap;row-gap:3px}.inventory .item-card:disabled{opacity:.78}.inventory .item-card .item-effect{margin-top:3px;color:#99b6a6;font-size:10px}.keyboard-guide kbd{white-space:nowrap}@media(min-width:1000px){.app:not(.on-menu) .controls{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr) 176px 196px;align-items:end;gap:12px;padding:0;bottom:18px}.app:not(.on-menu) .controls>.movement{grid-column:1;grid-row:1}.app:not(.on-menu) .controls>.inventory{grid-column:2;grid-row:1;position:static;transform:none;max-width:none;min-width:0;width:100%}.app:not(.on-menu) .controls .inventory .item-card{flex:1;min-width:0;width:auto;min-height:92px;padding:10px}.app:not(.on-menu) .controls>.movement-tools{grid-column:3;grid-row:1;width:auto;margin:0}.app:not(.on-menu) .controls .movement-tools .movement-button{padding:9px 10px;font-size:12px}.app:not(.on-menu) .controls>.interact{grid-column:4;grid-row:1;width:100%;min-width:0}.app:not(.on-menu) .controls>.tutorial-footer{grid-column:2;grid-row:1;position:static;transform:none;padding:10px;text-align:center;font-size:12px;line-height:1.7}.app:not(.on-menu) .keyboard-guide{padding:11px 10px}.keyboard-guide>span{flex-wrap:wrap;line-height:1.5}}@media(max-width:999px){.app:not(.on-menu) .movement-tools .movement-button{padding:8px;min-height:54px}.movement-button .control-heading b{font-size:11px}.movement-tools .movement-button small{font-size:10px}.app:not(.on-menu) .controls .interact{padding:10px 8px}.app:not(.on-menu) .controls .interact .action-copy b{font-size:12px}.app:not(.on-menu) .controls .interact .action-copy small{font-size:10px}.inventory .item-card .item-effect{font-size:9px}}@media(max-width:760px)and (orientation:portrait){.app:not(.on-menu) .controls{align-items:end}.app:not(.on-menu) .movement-tools .movement-button{padding:8px 6px}.movement-button kbd{display:none}.app:not(.on-menu) .controls .interact{min-height:86px}}.onboarding{max-width:560px;margin:auto;text-align:left}.lesson-keys{padding:18px;border:1px solid #91b5ad;border-radius:12px;color:#d8f0e7;background:#24484b;font-weight:700;font-size:20px;letter-spacing:1px}.onboarding p{line-height:1.85}.onboarding .lesson-hint{padding:14px 16px;background:#90b8a818;border-radius:10px;font-size:14px}.practice-guide{position:relative;z-index:3;display:flex;align-items:center;gap:20px;padding:18px 24px;margin:8px 18px 12px;background:#183c40;color:#edf5e8;border:2px solid #96d7bd;border-radius:14px;box-shadow:0 4px 18px #102c3930}.practice-guide small{color:#a6e2c7;font-size:12px}.practice-guide h3{margin:6px 0;font-size:21px}.practice-guide p{margin:0;line-height:1.7;font-size:15px;max-width:850px}.practice-guide button{flex-shrink:0;background:#f6d482;color:#263d36;padding:12px 18px;border-radius:8px;border:0;font-weight:700}[data-practice=interact] .interact,[data-practice=sprint] .sprint-button{outline:3px solid #96d7bd;outline-offset:4px}[data-practice=coffee] .inventory button:nth-child(2),[data-practice=paper] .inventory button:first-child{outline:3px solid #96d7bd;outline-offset:4px}@media(max-width:760px){.practice-guide{margin:8px;padding:12px;gap:10px;flex-direction:column;align-items:stretch}.practice-guide h3{font-size:18px}.practice-guide p{font-size:13px}.practice-guide button{padding:8px}}@media(min-width:1000px){.practice-guide{position:absolute;top:172px;left:20px;width:340px;margin:0;padding:14px 16px;display:block;z-index:5}.practice-guide h3{font-size:19px}.practice-guide p{font-size:13px}.practice-guide button{margin-top:12px}}[data-practice=sticker] .office-life-status{outline:3px solid #96d7bd;outline-offset:4px;border-radius:8px}.practice-collection{display:grid;gap:8px;margin-top:12px}.practice-collection>b{font-size:16px;color:#ffe2a1}.practice-collection button{margin-top:0;text-align:left}.practice-collection button:disabled{opacity:1;background:#335a50;color:#b8e6cb}.mission-requirements{display:grid;gap:10px;margin:0 0 14px;padding:13px 15px;border:1px solid #96d7bd55;border-radius:10px;background:#173a40}.mission-requirements b{display:block;font-size:12px;color:#a6e2c7;line-height:1.5}.mission-requirements div+div b{color:#ffd36f}.mission-requirements p{margin:3px 0 0;font-size:12px;line-height:1.65;color:#edf5e8;overflow-wrap:anywhere}@media(max-width:760px){.lobby-actions{position:static}.mission-requirements{padding:12px;gap:8px}}@media(min-width:761px){.lobby-story:not(.has-modes) h2{font-size:44px;line-height:1.05;margin:8px 0}}
