:root{--bg:#070b10;--panel:#070d149e;--panel-solid:#0a111af0;--line:#78c8e647;--text:#e6eef4;--muted:#8ea2b2;--accent:#38e8ff;--accent2:#42ff8a;--amber:#ffb347;--red:#ff5a4a;--good:#42ff8a;--font:"Segoe UI", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--mono:"Cascadia Mono", Consolas, "SFMono-Regular", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#app{position:fixed;inset:0}canvas.gl{width:100%;height:100%;display:block;position:absolute;inset:0}.hidden{display:none!important}kbd{min-width:1.6em;font-family:var(--mono);text-align:center;background:#ffffff14;border:1px solid #ffffff59;border-bottom-width:2px;border-radius:4px;margin:0 .1em;padding:.05em .45em;font-size:.85em;display:inline-block}.muted{color:var(--muted)}.amber{color:var(--amber)!important}.red{color:var(--red)!important}.ok{color:var(--good)!important}.ui{pointer-events:none;z-index:20;position:absolute;inset:0}.screen{pointer-events:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:linear-gradient(#04080cb8,#04080c59 40%,#04080ccc);padding:32px 48px;position:absolute;inset:0;overflow-y:auto}.screen.center{justify-content:center;align-items:safe center;display:flex}.screen.dim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03060a99}.card{background:var(--panel-solid);border:1px solid var(--line);border-radius:10px;padding:22px 26px;box-shadow:0 12px 40px #00000073}.card.narrow{flex-direction:column;gap:10px;width:min(520px,92vw);display:flex}.card.wide{overscroll-behavior:contain;width:min(980px,94vw);max-height:88vh;overflow-y:auto}h1,h2,h3{letter-spacing:.02em;margin:0 0 8px;font-weight:600}h3{color:var(--accent);margin-top:16px;font-size:15px}.btn{pointer-events:auto;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff29;border-radius:8px;padding:11px 18px;font-size:16px;transition:background .15s,border-color .15s,transform .1s}.btn:hover{border-color:var(--accent);background:#38e8ff1f}.btn:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.screen:focus,.modal:focus{outline:none}button:disabled{opacity:.5;cursor:default}a{color:var(--accent);text-underline-offset:3px}.btn.primary{background:linear-gradient(#1aa6c4,#127c96);border-color:#3fd8f5;font-weight:600}.btn.primary:hover{background:linear-gradient(#22b9d9,#1590ad)}.btn.ghost{background:0 0}.btn.big{text-align:center;padding:15px 22px;font-size:19px}.btn.sm{padding:6px 10px;font-size:13px}.tag{background:var(--amber);color:#1b1200;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:12px}.main-menu{background:linear-gradient(90deg,#03070bdb 0%,#03070b8c 38%,#03070b00 70%);flex-direction:column;justify-content:center;padding-bottom:90px;padding-left:9vw;display:flex}.logo{letter-spacing:.12em;background:linear-gradient(90deg,#fff,#8fefff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:clamp(42px,6vw,76px);font-weight:800}.logo-sub{color:var(--muted);letter-spacing:.3em;margin-bottom:36px;font-size:18px}.menu-col{flex-direction:column;gap:10px;width:320px;max-width:100%;display:flex}.menu-foot{color:var(--muted);font-size:13px;position:absolute;bottom:22px;left:9vw}.warnbox{border:1px solid var(--amber);color:var(--amber);background:#ffb34726;border-radius:6px;margin-bottom:8px;padding:8px 12px}.screen-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:18px;display:flex}.screen-head h2{margin:0}.map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:1080px){.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.map-grid{grid-template-columns:minmax(0,1fr)}}.map-card{font:inherit;color:var(--text);text-align:left;background:var(--panel-solid);border:1px solid var(--line);cursor:pointer;pointer-events:auto;border-radius:10px;flex-direction:column;padding:0;transition:border-color .15s,transform .15s;display:flex;position:relative;overflow:hidden}.mc-img{aspect-ratio:2.6;background:var(--card-color,var(--accent)) center / cover no-repeat;width:100%;transition:transform .35s;display:block}.map-card:hover .mc-img{transform:scale(1.035)}.mc-body{background:var(--panel-solid);flex-direction:column;flex:1;width:100%;padding:10px 18px 14px;display:flex;position:relative}.map-card:hover{border-color:var(--accent);transform:translateY(-2px)}.map-japan{--card-color:linear-gradient(90deg, #2b7fd4, #c43a3a)}.map-canyon{--card-color:linear-gradient(90deg, #c4562a, #e0a050)}.map-amazon{--card-color:linear-gradient(90deg, #2a8a3a, #7ac43a)}.map-fjord{--card-color:linear-gradient(90deg, #4a6a8a, #c0d0e0)}.map-himalaya{--card-color:linear-gradient(90deg, #e8eef4, #7aa8d4)}.map-training{--card-color:linear-gradient(90deg, #888, #ccc)}.mc-head{color:var(--muted);justify-content:space-between;width:100%;margin-top:4px;font-size:13px;display:flex}.mc-stars{color:var(--amber);letter-spacing:2px}.mc-name{margin-top:8px;font-size:22px;font-weight:700;display:block}.mc-sub{color:var(--accent);margin-bottom:8px;font-size:14px;display:block}.mc-desc{color:#c6d4de;font-size:14px;line-height:1.5;display:block}.mc-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%;margin-top:auto;padding-top:14px;font-size:13px;display:flex}.mc-best{color:var(--good)}.brief{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;display:grid}.brief-hero{background:50%/cover no-repeat;border-radius:10px 10px 0 0;height:170px;margin:-22px -24px 14px}.brief-main p{color:#c6d4de;line-height:1.65}.brief-main .lead{color:var(--text);font-size:16px}.brief-side{flex-direction:column;gap:14px;display:flex}.brief-side .opts{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.brief-side .card{padding-top:14px;padding-bottom:14px}.brief-side .card h3{margin-top:0}.brief-side>.btn.big{z-index:3;position:sticky;bottom:0;box-shadow:0 -14px 28px #04080cd9}.obj-list{margin:0;padding-left:20px}.obj-list li{margin:6px 0;line-height:1.5}.obj-list li span{color:var(--muted);font-size:13px;display:block}.opts{flex-direction:column;gap:8px;display:flex}.opt-card{font:inherit;color:var(--text);text-align:left;cursor:pointer;pointer-events:auto;background:0 0;border:1px solid #ffffff24;border-radius:8px;padding:9px 12px;transition:border-color .15s,background .15s}.opt-card:hover{border-color:var(--accent);background:#38e8ff0d}.opt-card b{display:block}.opt-card span{color:var(--muted);font-size:13px}.opt-card.sel{border-color:var(--accent);background:#38e8ff1a}.lbar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.lbar i{background:var(--accent);height:100%;transition:width .2s;display:block}.llabel{color:var(--muted);font-size:14px}.menu-art{z-index:5;pointer-events:none;background:50%/cover no-repeat;transition:opacity 1.4s;position:absolute;inset:0}.menu-art.off{opacity:0}.screen.loading{background:linear-gradient(180deg, #04080c1a 45%, #04080cd1), var(--art,none) center / cover no-repeat, radial-gradient(ellipse at 50% 40%, #13263a, #070d14 70%);flex-direction:column;justify-content:flex-end;padding:0 6vw 5vh;display:flex}.load-name h2{letter-spacing:.04em;text-shadow:0 2px 12px #0009;margin:0;font-size:clamp(28px,4vw,52px);font-weight:700}.load-name span{color:#d6e0e8;letter-spacing:.1em;text-shadow:0 1px 6px #000c;font-size:15px}.load-foot{max-width:520px;margin-top:16px}.load-foot .lbar{height:3px;margin-bottom:7px}.click-start{cursor:pointer;background:#03060a59}.click-start p{line-height:1.9}.pause .btn,.fail .btn{width:100%}.fail-badge{color:var(--red);letter-spacing:.2em;font-weight:700}.cp-list{flex-direction:column;gap:8px;display:flex}.cp-row{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.cp-row .btn{margin-left:6px}.modal{pointer-events:auto;z-index:30;overscroll-behavior:contain;background:#0204088c;justify-content:center;align-items:safe center;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.help-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.keys{border-collapse:collapse;width:100%}.keys td{border-bottom:1px solid #ffffff0f;padding:5px 8px;font-size:14px}.keys td:first-child{font-family:var(--mono);color:var(--accent);white-space:nowrap}.tips{color:#c6d4de;padding-left:18px;font-size:14px;line-height:1.6}.result .res-head{justify-content:space-between;align-items:center;display:flex}.rating{border:3px solid;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:64px;font-weight:800;display:flex}.r-S{color:#ffd23a}.r-A{color:var(--good)}.r-B{color:var(--accent)}.r-C{color:#c0c8d0}.r-D{color:var(--amber)}table.score{border-collapse:collapse;width:100%;margin:14px 0}table.score td{border-bottom:1px solid #ffffff12;padding:7px 8px}table.score .num{text-align:right;font-family:var(--mono)}table.score .total td{border-top:1px solid var(--line);font-size:18px;font-weight:700}.newbest{color:#ffd23a;margin-bottom:10px;font-weight:700}.res-grid{grid-template-columns:repeat(3,1fr);gap:14px;font-size:14px;display:grid}.res-grid span{margin-bottom:4px;display:block}.btn-row{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.settings .tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tab{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:7px 14px}.tab.sel{border-color:var(--accent);background:#38e8ff1f}.set-row{border-bottom:1px solid #ffffff0d;grid-template-columns:minmax(150px,1fr) minmax(100px,1.4fr) minmax(120px,1fr);align-items:center;gap:12px;padding:7px 0;display:grid}.set-row em{font-size:13px;font-style:normal}.set-row input[type=range]{width:100%;accent-color:var(--accent);margin:0}.set-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);justify-self:start}.set-row select{font:inherit;color:var(--text);background:#0d1620;border:1px solid #fff3;border-radius:5px;min-width:0;padding:4px 8px}.bind-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 24px;display:grid}.bind-row{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:14px;display:flex}.bind-row>div{flex-wrap:wrap;justify-content:flex-end;gap:4px 0;display:flex}.binding-notice{color:var(--amber);background:#ffb3470f;border:1px solid #ffb34740;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.6}.settings-save{margin-bottom:0;font-size:12px}.key{font:inherit;font-family:var(--mono);color:var(--accent);cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:5px;margin-left:4px;padding:3px 9px;font-size:13px}.key.add{color:var(--muted)}.key.wait{color:var(--amber);border-color:var(--amber)}.hud{--hud-opacity:1;pointer-events:none;z-index:10;text-shadow:0 1px 2px #000c;font-size:14px;position:absolute;inset:0}.hud-overlay{width:100%;height:100%;position:absolute;inset:0}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:8px;padding:9px 12px}.hud .panel{-webkit-backdrop-filter:none;backdrop-filter:none;background:#060b105c;border-color:#ffffff12;padding:7px 10px;transition:opacity .9s}.hud>:not(.hud-warn):not(.hud-toasts){opacity:var(--hud-opacity)}.hud.hud-calm .panel,.hud.hud-calm .hud-hint{opacity:0}.hud-hint{transition:opacity .9s}.hud.hud-calm .nav-sub,.hud.hud-off>:not(.hud-warn):not(.hud-toasts):not(.hud-place){display:none}.hud-label{letter-spacing:.15em;color:var(--muted);text-transform:uppercase;font-size:11px}.hud-obj{width:300px;position:absolute;top:12px;left:12px}.obj-title{margin-top:1px;font-size:14px;font-weight:600}.obj-detail{color:#c6d4de;margin-top:2px;font-size:12px;line-height:1.4}.obj-bar{background:#ffffff1f;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.obj-bar i{background:var(--accent2);height:100%;display:block}.obj-hint{color:var(--amber);min-height:0;margin-top:4px;font-size:13px}.obj-opt{color:#b8c8d4;margin-top:6px;font-size:12px}.obj-opt .opt.done{color:var(--good)}.hud-buffs{flex-direction:column;gap:6px;width:190px;display:flex;position:absolute;top:12px;right:12px}.buff{opacity:.45;grid-template-columns:26px 1fr;align-items:center;gap:2px 8px;display:grid}.buff.on{opacity:1}.buff .bi{border-radius:6px;grid-row:span 2;width:24px;height:24px}.buff.boost .bi{background:radial-gradient(circle,#ffe680,#d89a10)}.buff.shield .bi{background:radial-gradient(circle,#9fdcff,#2a7fd4)}.buff .bt b{font-size:13px}.buff .bt span{color:#c6d4de;font-size:12px;display:block}.buff .bbar{background:#ffffff1f;grid-column:2;height:3px}.buff .bbar i{background:currentColor;height:100%;display:block}.buff.boost{color:#ffd23a}.buff.shield{color:#46b4ff}.buff .bt{color:var(--text)}.hud-flight,.hud-status{width:180px;font-size:12px;position:absolute;top:46%;transform:translateY(-50%)}.hud-flight{left:12px}.hud-status{width:210px;right:12px}.row{align-items:baseline;gap:8px;padding:2px 0;display:flex}.row span{color:var(--muted);flex-shrink:0;width:58px;font-size:11px}.row b{font-family:var(--mono);font-size:14px}.row b.sm{font-family:var(--font);font-size:12px;font-weight:500}.row.big b{font-size:19px}.row em{color:var(--muted);font-size:11px;font-style:normal}.meter{background:#ffffff1f;border-radius:3px;height:6px;margin:2px 0 6px;position:relative;overflow:visible}.meter i{background:var(--good);border-radius:3px;height:100%;display:block}.meter.amber i{background:var(--amber)}.meter.red i{background:var(--red)}.meter s{background:#ffffffb3;width:2px;height:10px;position:absolute;top:-2px}.warrow{color:var(--accent);text-align:center;width:20px;font-size:18px;display:inline-block}.zone{color:var(--accent);margin:2px 0;font-size:12px}.gust-warn{color:var(--amber);font-size:13px;font-weight:600}.hud-nav{text-align:center;width:clamp(300px,100vw - 700px,460px);position:absolute;top:12px;left:50%;transform:translate(-50%)}.heading-tape{aspect-ratio:560/46;width:100%;height:auto}.nav-text{text-shadow:0 1px 3px #000000f2,0 0 8px #0000008c;margin-top:1px;padding:0 8px}.nav-main{font-size:13px}.nav-main b{color:var(--accent)}.nav-path{color:var(--muted);border:1px solid var(--line);border-radius:4px;margin-right:4px;padding:0 5px;font-size:12px}.nav-sub{color:#d6e0e8;margin-top:1px;font-size:12px}.nav-turn{color:var(--amber);margin-top:3px;font-size:15px;font-weight:600}.nav-warn{color:var(--amber);margin-top:3px;font-size:14px}.hud-forks{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;width:min(760px,100% - 28px);display:flex;position:absolute;top:150px;left:50%;transform:translate(-50%)}.hud-forks .hud-label{text-align:center;width:100%}.fork{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:300px;padding:8px 12px}.fork.pref{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.fork b{font-size:15px;display:block}.fork span{color:#c6d4de;margin:2px 0;font-size:12px;display:block}.fork em{color:var(--accent);font-size:12px;font-style:normal}.hud-landing{grid-template-columns:150px minmax(0,1fr);gap:4px 10px;width:450px;display:grid;position:absolute;bottom:16px;right:14px}.hud-landing>.hud-label{grid-column:1/-1}.hud-landing .land-info{align-self:center}.land-cv{border-radius:6px;width:150px;height:150px;margin:4px auto;display:block}.land-info div{padding:1px 0;font-size:13px}.land-info b{font-family:var(--mono)}.land-info i{margin-right:4px;font-style:normal}.land-info i.ok{color:var(--good)}.land-info i.bad{color:var(--red)}.land-verdict{text-align:center;border-radius:4px;margin-top:4px;padding:3px;font-weight:700}.land-verdict.ok{color:var(--good);background:#42ff8a26}.land-verdict.bad{color:var(--amber);background:#ff5a4a1f}.hud-toasts{flex-direction:column;align-items:center;gap:6px;width:min(560px,100% - 32px);display:flex;position:absolute;top:34%;left:50%;transform:translate(-50%)}.toast{border-left:3px solid var(--accent);background:#060c12c7;border-radius:4px;padding:6px 14px;font-size:15px;transition:opacity .5s,transform .5s}.toast.good{border-color:var(--good)}.toast.warn{border-color:var(--amber)}.toast.bad{border-color:var(--red);color:#ffd8d4}.toast.out{opacity:0;transform:translateY(-8px)}.hud-warn{text-align:center;width:min(620px,100% - 32px);position:absolute;top:24%;left:50%;transform:translate(-50%)}.hud-warn .w{background:#00000073;border-radius:4px;margin-bottom:4px;padding:4px 14px;font-size:18px;font-weight:700}.hud-warn .w.red{color:var(--red);animation:.6s infinite alternate blink}.hud-warn .w.amber{color:var(--amber)}.hud:has(.hud-forks:not(.hidden)) .hud-warn{top:max(24%,285px)}.hud:has(.hud-forks:not(.hidden)) .hud-toasts{top:max(34%,335px)}@keyframes blink{0%{opacity:1}to{opacity:.45}}.hud-hint{color:#c6d4de;font-size:13px;position:absolute;bottom:16px;left:14px}.hud-debug{font-family:var(--mono);background:#00000080;padding:4px 8px;font-size:12px;position:absolute;top:auto;bottom:0;left:14px}.tutorial{z-index:12;pointer-events:none;background:#071018e6;border:1px solid #ffffff24;border-radius:12px;width:min(680px,100% - 28px);padding:14px 20px 12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 34px #00000080}.tutorial.top{top:14px;bottom:auto}.tutorial.side{width:min(640px,100% - 492px);left:14px;transform:none}.tut-head{letter-spacing:.06em;color:var(--accent);justify-content:space-between;align-items:center;font-size:12px;display:flex}.tut-dots{gap:5px;display:flex}.tut-dots i{background:#ffffff2e;border-radius:50%;width:7px;height:7px}.tut-dots i.on{background:var(--accent2)}.tut-dots i.now{background:#fff}.tut-main{align-items:center;gap:18px;margin:6px 0 10px;display:flex}.tut-body{flex:1;min-width:0}.tut-title{letter-spacing:.02em;font-size:22px;font-weight:700}.tut-text{margin-top:4px;font-size:16px;line-height:1.6}.tut-text b{color:#fff}.tut-why{color:#b8c7d2;margin-top:4px;font-size:14px;line-height:1.5}.tut-note{color:#ffd27a;margin-top:6px;font-size:14px;line-height:1.5}.tut-live{color:#9fd8ff;font-variant-numeric:tabular-nums;margin-top:6px;font-size:13px;line-height:1.5}.tut-live b{color:#e8f6ff;font-weight:600}.tut-keys{flex-shrink:0;gap:8px;display:flex}kbd.big{color:#fff;background:#ffffff14;border:1px solid #ffffff47;border-bottom-width:4px;border-radius:9px;justify-content:center;align-items:center;min-width:52px;height:52px;padding:0 12px;font-size:18px;font-weight:700;transition:transform 80ms,background 80ms;display:flex}kbd.big.on{background:var(--accent2);border-color:var(--accent2);color:#06131c;border-bottom-width:2px;transform:translateY(2px)}.tut-ok{color:#dfffe9;background:#0a2c1ef0;border-radius:12px;justify-content:center;align-items:center;gap:12px;font-size:26px;font-weight:700;animation:.25s ease-out tut-pop;display:flex;position:absolute;inset:0}.tut-ok b{color:#4cff9a;font-size:34px}@keyframes tut-pop{0%{opacity:0;transform:scale(.97)}}.tut-bar{background:#ffffff1f;border-radius:3px;height:5px;overflow:hidden}.hud.tut-no-flight .hud-flight,.hud.tut-no-status .hud-status,.hud.tut-no-heading .heading-tape,.hud.tut-no-nav .nav-text,.hud.tut-no-landing .hud-landing,.hud.hud-tut .hud-obj,.hud.hud-tut .hud-buffs,.hud.hud-tut .hud-forks{display:none}.hud.hud-tut .hud-flight{background:#060b1099;width:196px;top:40%}.hud.hud-tut .hud-flight .row.big b{font-size:30px}.hud.hud-tut .hud-flight .row span{color:#dfe8ef;font-size:14px}.hud.tut-spot-flight .hud-flight,.hud.tut-spot-status .hud-status,.hud.tut-spot-landing .hud-landing{outline:2px solid var(--accent2);outline-offset:2px;animation:1.3s ease-in-out infinite tut-spot}.hud.tut-spot-heading .heading-tape{filter:drop-shadow(0 0 6px var(--accent2))}@keyframes tut-spot{50%{outline-color:#0000}}.hud.hud-free .hud-obj,.hud.hud-free .hud-buffs,.hud.hud-free .hud-forks,.hud.hud-cine .hud-nav,.hud.hud-cine .hud-hint,.hud.hud-cine .panel,.hud.hud-cine .hud-overlay{display:none}.vistas{flex-wrap:wrap;gap:6px;display:flex}.vistas span{background:#ffffff14;border-radius:999px;padding:3px 10px;font-size:13px}.free-pause{width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto}.free-pause h3{color:var(--muted);margin:14px 0 6px;font-size:13px;font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:inherit;font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:8px;padding:6px 12px;font-size:14px}.chip:hover,.chip:focus-visible{border-color:var(--accent)}.chip.sel{background:var(--accent);border-color:var(--accent);color:#06131c}.free-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.free-actions .primary{grid-column:1/-1}.course-tabs{gap:6px;margin:0 0 12px;display:flex}.course-tabs button{font:inherit;color:#b8c7d2;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:8px 18px;font-size:15px}.course-tabs button.on{color:#fff;background:#78beff38;border-color:#96d2ff80}.train{grid-template-columns:minmax(280px,380px) 1fr;gap:18px;width:100%;max-width:1040px;margin:0 auto;display:grid}.train-side .btn{width:100%}.lessons{flex-direction:column;gap:8px;display:flex}.lesson{text-align:left;color:inherit;cursor:pointer;font:inherit;background:#0a121ab8;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:14px;padding:11px 14px;transition:border-color .15s,background .15s;display:flex}.lesson:hover,.lesson:focus-visible{border-color:var(--accent);background:#101e2adb}.ls-no{background:#ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.lesson.done .ls-no{background:var(--accent2);color:#06131c}.ls-body{flex-direction:column;gap:2px;display:flex}.ls-body b{font-size:16px}.ls-body span{color:var(--muted);font-size:13px}.tut-bar i{background:var(--accent2);height:100%;transition:width .2s;display:block}.tut-skip{color:var(--muted);margin-top:6px;font-size:12px}@media (max-width:1100px){.hud-obj{width:280px}.hud-flight,.hud-status{width:235px}.brief{grid-template-columns:1fr}}@media (max-width:980px){.screen{padding:24px}.hud-obj{width:260px}.hud-nav{width:calc(100% - 302px);left:auto;right:14px;transform:none}.hud-buffs{width:190px;top:158px}.hud-buffs .buff:not(.on){display:none}.hud-buffs:not(:has(.buff.on)){display:none}.hud-forks{width:calc(100% - 40px);top:235px}.fork{width:min(300px,50% - 10px)}.hud-status,.hud-flight{top:48%}.help-grid,.bind-list{grid-template-columns:1fr}.hud-hint{max-width:calc(100% - 490px);line-height:1.7}}@media (max-width:640px){.screen{padding:18px 14px}.main-menu{justify-content:flex-start;padding-top:8vh}.logo{letter-spacing:.06em;font-size:clamp(28px,8vw,48px)}.logo-sub{letter-spacing:.08em;margin-bottom:24px;font-size:14px}.menu-foot{margin-top:28px;line-height:1.7;position:static}.card{padding:18px 16px}.card.wide{width:100%;max-height:calc(100dvh - 32px)}.screen-head{gap:10px}.screen-head h2{font-size:21px}.screen-head>.muted{width:100%;font-size:13px}.set-row{grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:6px 12px;padding:10px 0}.set-row em{grid-column:1/-1}.set-row input[type=checkbox]{justify-self:end}.cp-row{flex-direction:column;align-items:flex-start;gap:10px}.cp-row .btn{margin:0 6px 0 0}.res-grid{grid-template-columns:1fr}.rating{flex-shrink:0;width:72px;height:72px;font-size:44px}.keys td{padding:6px 4px;font-size:13px}.keys td:first-child{white-space:normal}.hud-obj{width:min(210px,50% - 21px)}.hud-obj .obj-detail,.hud-obj .obj-opt,.hud-buffs,.hud-status,.hud-hint{display:none}.hud-nav{width:calc(100% - 252px);min-width:140px}.nav-text{padding:5px 7px}.nav-main,.nav-sub,.nav-turn{font-size:12px}.hud-flight{width:205px}.hud-flight .row:not(.big){display:none}.hud-landing{width:245px;display:block}.land-cv{width:100px;height:100px}.tut-title{font-size:18px}.tut-text{font-size:15px}kbd.big{min-width:40px;height:40px;font-size:15px}.train{grid-template-columns:1fr}.hud-warn .w{font-size:14px}}@media (max-height:760px) and (min-width:641px){.hud-flight,.hud-status{padding:7px 10px;top:48%}.hud-status .row:nth-last-child(-n+2){display:none}.hud-landing{grid-template-columns:120px minmax(0,1fr);width:418px;padding:7px 10px;bottom:10px}.land-cv{width:120px;height:120px}.land-info div{font-size:12px}.hud-forks{top:160px}.hud-hint{max-width:calc(100% - 460px)}}@media (max-height:520px) and (min-width:560px){.logo{margin-bottom:2px;font-size:36px}.logo-sub{font-size:13px;margin-bottom:10px!important}.menu-col{grid-template-columns:repeat(2,200px);width:auto;display:grid}.menu-col .btn{padding-top:9px;padding-bottom:9px}.main-menu{padding-left:5vw;padding-top:14px!important;padding-bottom:8px!important}.menu-foot{font-size:11px;margin-top:8px!important}.brief{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.brief-hero{height:84px}}@media (max-height:620px){.main-menu{justify-content:flex-start;padding-top:24px;padding-bottom:24px}.logo-sub{margin-bottom:18px}.menu-col{gap:6px}.menu-foot{margin-top:18px;position:static}.screen.center{padding-top:16px;padding-bottom:16px}.hud-obj .obj-detail,.hud-obj .obj-opt,.hud-status .zone,.hud-buffs .buff:not(.on){display:none}.hud-buffs:not(:has(.buff.on)){display:none}.hud-approach .hud-status{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.map-card:hover,.btn:active{transform:none}}canvas.gl.sim-cursor{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='12' cy='12' r='5' fill='none' stroke='white' stroke-opacity='.75' stroke-width='1.4'/><circle cx='12' cy='12' r='1.1' fill='white' fill-opacity='.9'/></svg>") 12 12,crosshair}canvas.gl.sim-cursor.sim-cursor-hot{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='12' cy='12' r='7' fill='none' stroke='%23ffd27a' stroke-width='2'/><circle cx='12' cy='12' r='1.5' fill='%23ffd27a'/></svg>") 12 12,pointer}.sim-tip{z-index:30;color:#dfe7ee;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080b0ed1;border:1px solid #ffffff1f;border-radius:6px;max-width:300px;padding:7px 11px;font-size:12.5px;line-height:1.45;position:fixed;top:0;left:0}.sim-tip b{letter-spacing:.04em;color:#fff;font-size:13px}.sim-tip em{color:#ffd27a;margin-left:10px;font-style:normal;font-weight:600}.sim-tip span{color:#aebbc6;display:block}.sim-tip i{color:#ff9d7a;font-style:normal;display:block}.sim-list{z-index:25;color:#cfd9e2;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080b0eb8;border:1px solid #ffffff1a;border-radius:8px;width:292px;padding:11px 14px 10px;font-size:12.5px;position:fixed;top:16px;left:16px}.sim-list-head{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.sim-list-head b{color:#fff;font-size:13.5px}.sim-auto{color:#cfd9e2;cursor:pointer;background:0 0;border:1px solid #ffffff38;border-radius:4px;padding:3px 9px;font-size:12px}.sim-auto:hover{background:#ffffff1a}.sim-list ol{margin:0;padding-left:19px;line-height:1.62}.sim-list li.done{color:#6f8a78;text-decoration:line-through}.sim-list li.now{color:#ffd27a;font-weight:600}.sim-note{color:#8fa0ad;margin:7px 0 0;font-size:11.5px;line-height:1.45}.photo-on .tutorial,.photo-on .sim-tip,.photo-on .sim-list{display:none}.photo-on canvas.gl{cursor:grab}.photo-on canvas.gl:active{cursor:grabbing}.photo-panel{border:1px solid var(--line);width:min(1120px,100vw - 24px);color:var(--text);z-index:30;background:#070d14b3;border-radius:10px;padding:8px 14px 10px;font-size:13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.photo-panel.hidden{display:none}.photo-keys{color:var(--muted);margin-bottom:6px;font-size:12px}.photo-row{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.photo-slider{align-items:center;gap:6px;display:flex}.photo-slider input{width:110px;accent-color:var(--accent)}.photo-slider output{min-width:46px;font-family:var(--mono);color:var(--muted);font-size:12px}.photo-check{cursor:pointer;align-items:center;gap:5px;display:flex}.photo-check input{accent-color:var(--accent)}.photo-note{min-width:0;color:var(--good);text-align:right;flex:1}.photo-grid{pointer-events:none;z-index:29;position:absolute;inset:0}.photo-grid.lines{background:linear-gradient(90deg,#0000 calc(33.333% - .5px),#ffffff59 calc(33.333% - .5px) calc(33.333% + .5px),#0000 calc(33.333% + .5px) calc(66.667% - .5px),#ffffff59 calc(66.667% - .5px) calc(66.667% + .5px),#0000 calc(66.667% + .5px)),linear-gradient(0deg,#0000 calc(33.333% - .5px),#ffffff59 calc(33.333% - .5px) calc(33.333% + .5px),#0000 calc(33.333% + .5px) calc(66.667% - .5px),#ffffff59 calc(66.667% - .5px) calc(66.667% + .5px),#0000 calc(66.667% + .5px))}.photo-grid.photo-flash:after{content:"";background:#fff;animation:.28s ease-out forwards photo-flash;position:absolute;inset:0}@keyframes photo-flash{0%{opacity:.55}to{opacity:0}}@media (prefers-reduced-motion:reduce){.photo-grid.photo-flash:after{opacity:0;animation:none}}.pad-focus{outline:2px solid var(--accent);outline-offset:2px}.ltip{color:var(--muted);text-shadow:0 1px 6px #000c;margin-top:10px;font-size:13px;line-height:1.6}.hud.hud-clean .hud-place{display:none}.hud-place{text-align:center;pointer-events:none;text-shadow:0 1px 3px #000c,0 0 20px #0009;width:min(640px,100vw - 32px);animation:8.8s both place-card;position:absolute;top:17%;left:50%}.hud-place b{letter-spacing:.3em;text-indent:.3em;color:#fff;font-size:clamp(24px,3.1vw,34px);font-weight:400;display:block}.hud-place b:after{content:"";background:#fff9;width:56px;height:1px;margin:10px auto 9px;display:block}.hud-place span{color:#eef3f6;font-size:15px;line-height:1.6;display:block}.hud-place i{letter-spacing:.12em;color:#c3d0d9;margin-top:6px;font-size:12px;font-style:normal;display:block}@keyframes place-card{0%{opacity:0;transform:translate(-50%,8px)}14%{opacity:1;transform:translate(-50%)}84%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.been-all{margin:12px 0 0}.replay-on .tutorial,.replay-on .sim-tip,.replay-on .sim-list{display:none}.replay-bar{min-width:160px;accent-color:var(--accent);flex:1}.replay-time{min-width:92px;font-family:var(--mono);color:var(--muted);text-align:right;font-size:12px}.log-grid{grid-template-columns:repeat(4,1fr);margin:6px 0 4px}@media (max-width:640px){.log-grid{grid-template-columns:repeat(2,1fr)}}.photo-slider select{border:1px solid var(--line);color:inherit;font:inherit;background:#070d14d9;border-radius:6px;padding:3px 6px;font-size:13px}.touch-ui{z-index:9;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.touch-ui.hidden,.touch-ui .hidden{display:none}.t-look{position:absolute;inset:0}.t-stick{width:42%;height:64%;position:absolute;bottom:0}.t-left{left:0}.t-right{right:0}.t-base{left:calc(92px + env(safe-area-inset-left));box-sizing:border-box;pointer-events:none;background:#060c1229;border:2px solid #ffffff42;border-radius:50%;width:124px;height:124px;margin-left:-62px;font-style:normal;position:absolute;bottom:28px}.t-right .t-base{left:auto;right:calc(92px + env(safe-area-inset-right));margin-left:0;margin-right:-62px}.t-base.on{border-color:#ffffff80;margin:-62px 0 0 -62px;bottom:auto;right:auto}.t-base span{white-space:nowrap;color:#ffffff9e;text-shadow:0 1px 2px #0009;font-size:11px;position:absolute;top:-21px;left:50%;transform:translate(-50%)}.t-base.on span{display:none}.t-knob{background:#ffffff4d;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%;box-shadow:0 1px 6px #00000059}.t-keys{top:calc(8px + env(safe-area-inset-top));gap:6px;display:flex;position:absolute}.t-keys-l{left:calc(10px + env(safe-area-inset-left))}.t-keys-r{right:calc(10px + env(safe-area-inset-right))}.t-key{color:#e8f0f4;min-width:46px;height:36px;font:inherit;touch-action:none;background:#060c1275;border:1px solid #ffffff3d;border-radius:9px;padding:0 8px;font-size:13px}.t-key:active{background:#38e8ff57}.touch-ui.look-only .t-stick,.touch-ui.look-only .t-keys,.touch-device .hud-hint{display:none}.touch-device .hud-obj{top:calc(52px + env(safe-area-inset-top))}@media (max-height:520px){.touch-device .hud-flight,.touch-device .hud-status{display:none}.touch-device .heading-tape{width:min(300px,38vw)}.touch-device .hud-nav{width:min(300px,38vw);left:50%;right:auto;transform:translate(-50%)}.touch-device .hud-forks{top:calc(52px + env(safe-area-inset-top));left:auto;right:calc(10px + env(safe-area-inset-right));flex-flow:column;gap:5px;width:210px;transform:none}.touch-device .hud-forks .hud-label{text-align:right;letter-spacing:.04em}.touch-device .fork{width:100%;padding:4px 10px}.touch-device .fork span{display:none}.touch-device .hud:has(.hud-forks:not(.hidden)) .hud-warn{top:24%}.touch-device .hud:has(.hud-forks:not(.hidden)) .hud-toasts{top:34%}.touch-device .hud-landing{left:50%;right:auto;bottom:calc(6px + env(safe-area-inset-bottom));grid-template-columns:84px minmax(0,1fr);width:300px;padding:6px 8px;transform:translate(-50%)}.touch-device .hud.hud-tut .hud-landing{left:auto;right:calc(10px + env(safe-area-inset-right));transform:none}.touch-device .land-cv{width:84px;height:84px}.touch-device .land-info div{font-size:11px}}.pad-reticle{pointer-events:none;z-index:11;border:2px solid #ffffffd9;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;display:none;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #00000073,inset 0 0 0 1px #00000059}.pad-reticle:after{content:"";background:#fff;width:2px;height:2px;margin:-1px 0 0 -1px;position:absolute;top:50%;left:50%}.pad-reticle.on{display:block}.touch-device .fork-key,.touch-device .course-tabs,.touch-device .opt-card[data-a=assist][data-v=sim]{display:none}.touch-device .card:has(#brief-sim){display:none}@media (orientation:portrait) and (max-width:640px){.touch-device:after{content:"把手机横过来玩";z-index:99;color:#e8f0f4;background:#050a10f0;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed;inset:0}}.medals{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:4px 0 8px;display:grid}.medal{border:1px solid var(--line);opacity:.62;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;display:flex}.medal.on{opacity:1;background:#ffcd6012;border-color:#ffcd608c}.medal i{color:var(--muted);font-size:20px;font-style:normal;line-height:1}.medal.on i{color:#ffcd60}.medal b{font-size:14px;display:block}.medal small{color:var(--muted);font-size:12px;line-height:1.35;display:block}
