@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:500;src:url(./orbitron-latin-500-normal-DQ2gt4P1.woff2)format("woff2"),url(./orbitron-latin-500-normal-BCCupJ8c.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(./orbitron-latin-700-normal-4jsRXGGJ.woff2)format("woff2"),url(./orbitron-latin-700-normal-DmYOh-W9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(./orbitron-latin-900-normal-DrIi7unX.woff2)format("woff2"),url(./orbitron-latin-900-normal-BbJatbhp.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(./exo-2-cyrillic-ext-400-normal-CkIweJqd.woff2)format("woff2"),url(./exo-2-cyrillic-ext-400-normal-iCCHmvbS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(./exo-2-cyrillic-400-normal-DkhFZ3TL.woff2)format("woff2"),url(./exo-2-cyrillic-400-normal-h9Yg8YHF.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(./exo-2-vietnamese-400-normal-BgZK7AGH.woff2)format("woff2"),url(./exo-2-vietnamese-400-normal-C-HDQfeq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(./exo-2-latin-ext-400-normal-BiLgrt0k.woff2)format("woff2"),url(./exo-2-latin-ext-400-normal-eOOluZza.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(./exo-2-latin-400-normal-D8MC3_dU.woff2)format("woff2"),url(./exo-2-latin-400-normal-_vYD6UCb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./exo-2-cyrillic-ext-500-normal-Cc8zzZZQ.woff2)format("woff2"),url(./exo-2-cyrillic-ext-500-normal-W1MGb_cZ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./exo-2-cyrillic-500-normal-VVdDkghk.woff2)format("woff2"),url(./exo-2-cyrillic-500-normal-DBzaSLUy.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./exo-2-vietnamese-500-normal-Dzcusaks.woff2)format("woff2"),url(./exo-2-vietnamese-500-normal-BXxkl4Jl.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./exo-2-latin-ext-500-normal-UPjkt-P3.woff2)format("woff2"),url(./exo-2-latin-ext-500-normal-CkIs4PTR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:500;src:url(./exo-2-latin-500-normal-z_O1F9ci.woff2)format("woff2"),url(./exo-2-latin-500-normal-DseOpgOL.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./exo-2-cyrillic-ext-600-normal-c2lTakb1.woff2)format("woff2"),url(./exo-2-cyrillic-ext-600-normal-Bva7FavC.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./exo-2-cyrillic-600-normal-CENMUrsM.woff2)format("woff2"),url(./exo-2-cyrillic-600-normal-DUkGHFVI.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./exo-2-vietnamese-600-normal-D_uNeL95.woff2)format("woff2"),url(./exo-2-vietnamese-600-normal-H3VyuMj8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./exo-2-latin-ext-600-normal-70qtqWxx.woff2)format("woff2"),url(./exo-2-latin-ext-600-normal-DMfc7h1y.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(./exo-2-latin-600-normal-DOMk466V.woff2)format("woff2"),url(./exo-2-latin-600-normal-DZPWd1Z-.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./exo-2-cyrillic-ext-700-normal-Csksz6kL.woff2)format("woff2"),url(./exo-2-cyrillic-ext-700-normal-pInDkuOc.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./exo-2-cyrillic-700-normal-BWvdHNKb.woff2)format("woff2"),url(./exo-2-cyrillic-700-normal-BV2eOPIx.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./exo-2-vietnamese-700-normal-DXLQ-H9k.woff2)format("woff2"),url(./exo-2-vietnamese-700-normal-DffI6dGw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./exo-2-latin-ext-700-normal-DLQkDG7N.woff2)format("woff2"),url(./exo-2-latin-ext-700-normal-BP27c6Zx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(./exo-2-latin-700-normal-OoACPC18.woff2)format("woff2"),url(./exo-2-latin-700-normal-CMe4g2cX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#02030a;--panel:#090f22b8;--panel-strong:#070b1aeb;--line:#96c8ff29;--line-strong:#96dcff61;--text:#e9f1ff;--muted:#9aaccc;--faint:#66779a;--cyan:#5ee7ff;--atp:#ffc94a;--good:#4dffb0;--bad:#ff5c7a;--warn:#ffb547;--bonus:#d68cff;--accent:#5ee7ff;--radius:14px;--font-display:"Orbitron", "Segoe UI", system-ui, sans-serif;--font-body:"Exo 2", "Segoe UI", system-ui, sans-serif;--font-num:"Exo 2", "Segoe UI", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--hud-h:64px;--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-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-size:16px;overflow:hidden}button{font:inherit;color:inherit}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}#app{position:fixed;inset:0}#scene{position:absolute;inset:0}.scene-canvas{touch-action:none;width:100%;height:100%;display:block}#ui{pointer-events:none;z-index:1;position:absolute;inset:0}#ui>*{pointer-events:none}#ui button,#ui .slot,#ui .chip,#ui [role=dialog],#ui .panel,#ui .modal,#ui .screen{pointer-events:auto}#boot{z-index:200;background:radial-gradient(circle,#0b1430,#02030a 70%);place-content:center;justify-items:center;gap:18px;transition:opacity .9s;display:grid;position:fixed;inset:0}#boot.is-done{opacity:0;pointer-events:none}.boot-ring{border:2px solid #5ee7ff26;border-top-color:var(--cyan);border-radius:50%;width:54px;height:54px;animation:1s linear infinite spin}.boot-text{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}.no-webgl{text-align:center;place-content:center;height:100%;padding:24px;display:grid}.btn{--b:var(--accent);min-height:46px;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:700;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s,opacity .2s;display:inline-flex;position:relative}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)scale(.98)}.btn-primary{color:#041018;background:linear-gradient(180deg, color-mix(in srgb, var(--b) 85%, white) 0%, var(--b) 100%);box-shadow:0 0 0 1px color-mix(in srgb, var(--b) 60%, white) inset, 0 8px 28px -8px color-mix(in srgb, var(--b) 80%, transparent), 0 0 24px -6px var(--b)}.btn-primary:not(:disabled):hover{box-shadow:0 0 0 1px white inset, 0 10px 34px -6px color-mix(in srgb, var(--b) 90%, transparent), 0 0 36px -4px var(--b);transform:translateY(-1px)}.btn-ghost{border-color:var(--line-strong);color:var(--text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0a}.btn-ghost:not(:disabled):hover{border-color:color-mix(in srgb, var(--b) 70%, white);background:#ffffff17}.btn-danger{--b:var(--bad);color:#ffb3c0;border-color:#ff5c7a73}.btn-big{min-height:56px;padding:14px 28px;font-size:14px}.btn-sm{min-height:38px;padding:8px 14px;font-size:11px}.btn-ico{flex:none;width:20px;height:20px;display:inline-grid}.btn-ico svg{width:100%;height:100%}.btn-sub{font-family:var(--font-body);letter-spacing:.02em;text-transform:none;opacity:.75;flex-basis:100%;margin-top:-6px;font-size:12px;font-weight:600}.btn.is-pulse:after{content:"";border:2px solid var(--b);pointer-events:none;border-radius:16px;animation:1.8s ease-out infinite pulse-ring;position:absolute;inset:-4px}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.08,1.35)}}.icon-btn{cursor:pointer;border:1px solid var(--line);width:40px;height:40px;color:var(--muted);background:#ffffff0a;border-radius:11px;place-items:center;transition:all .2s;display:inline-grid}.icon-btn:hover,.icon-btn.is-active{color:var(--text);border-color:var(--line-strong);background:#ffffff17}.icon-btn.is-active{color:var(--accent);box-shadow:0 0 16px -4px var(--accent)}.icon-btn .ico{width:20px;height:20px;display:grid}.icon-btn .ico svg{width:100%;height:100%}.panel,.modal-card,.mission,.comms,.hud-top,.atp,.map-card,.travel{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px)saturate(1.3);background:linear-gradient(#0e1630d1,#060a18db);box-shadow:0 20px 60px -20px #000c,inset 0 1px #ffffff0d}.hud{opacity:0;visibility:hidden;z-index:10;transition:opacity .8s,visibility 0s linear .8s;position:absolute;inset:0}.hud.is-visible{opacity:1;visibility:visible;transition-delay:0s}.hud:not(.is-visible) *{pointer-events:none!important}.hud-top{top:calc(12px + var(--safe-top));height:var(--hud-h);pointer-events:auto;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:16px;padding:0 12px 0 10px;display:grid;position:absolute;left:12px;right:12px}.hud-brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{width:40px;height:40px;color:var(--accent);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 60%, transparent));flex:none}.brand-mark svg{width:100%;height:100%}.hud-loc{min-width:0}.loc-line{white-space:nowrap;align-items:baseline;gap:10px;display:flex}.loc-week{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.loc-name{font-family:var(--font-display);letter-spacing:.06em;font-size:17px;font-weight:700}.loc-topic{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.hud-center{justify-content:center;display:flex}.hud-right{justify-content:flex-end;align-items:center;gap:8px;display:flex}.stat{border:1px solid var(--line);background:#ffffff08;border-radius:11px;align-items:center;gap:6px;height:40px;padding:0 10px;display:flex}.stat-ico{color:var(--atp);place-items:center;width:18px;height:18px;font-size:15px;display:grid}.stat-ico svg{width:18px;height:18px;color:var(--accent)}.stat-val{font-family:var(--font-num);font-variant-numeric:tabular-nums;min-width:2ch;font-size:16px;font-weight:700}.stat-sub{color:var(--faint);font-size:12px}.timeline{--progress:0;align-items:flex-start;gap:0;margin:0;padding:0;list-style:none;display:flex;position:relative}.timeline:before,.timeline:after{content:"";background:var(--line);border-radius:2px;height:2px;position:absolute;top:13px;left:16px;right:16px}.timeline:after{width:calc((100% - 32px) * var(--progress));background:linear-gradient(90deg, var(--atp), var(--accent));box-shadow:0 0 10px var(--accent);transition:width 1s;right:auto}.tl-stop{z-index:1;flex-direction:column;align-items:center;gap:4px;width:44px;display:flex;position:relative}.tl-dot{width:28px;height:28px;font-family:var(--font-num);border:1.5px solid var(--line-strong);color:var(--muted);background:#0a1124;border-radius:50%;place-items:center;font-size:13px;font-weight:800;transition:all .4s;display:grid}.tl-dot svg{width:14px;height:14px}.tl-label{letter-spacing:.06em;color:var(--faint);text-transform:uppercase;white-space:nowrap;opacity:0;font-size:10px;font-weight:600;transition:opacity .2s}.tl-stop.is-current .tl-label,.tl-stop:hover .tl-label{opacity:1}.tl-stop.is-done .tl-dot{background:color-mix(in srgb, var(--c) 30%, #0a1124);border-color:var(--c);color:var(--text)}.tl-stop.is-current .tl-dot{background:var(--c);color:#061018;box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 30%, transparent), 0 0 18px var(--c);border-color:#fff;animation:2s ease-in-out infinite tl-pulse}.tl-stop.is-current .tl-label{color:var(--text)}.tl-stop.is-locked{opacity:.55}@keyframes tl-pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--c) 15%, transparent), 0 0 24px var(--c)}}.atp{left:12px;top:calc(var(--hud-h) + 24px + var(--safe-top));pointer-events:auto;width:min(320px,100vw - 24px);padding:12px 14px 26px;transition:box-shadow .4s,border-color .4s;position:absolute}.atp.is-gain{animation:.9s atp-gain}@keyframes atp-gain{30%{box-shadow:0 0 40px -6px var(--atp), inset 0 0 20px -8px var(--atp);border-color:var(--atp)}}.atp-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.atp-mol{align-items:center;gap:3px;display:flex}.atp-mol .a{font-family:var(--font-display);width:20px;height:20px;color:var(--atp);background:#ffc94a26;border:1px solid #ffc94a80;border-radius:6px;place-items:center;font-size:11px;font-style:normal;font-weight:900;display:grid}.atp-mol .p{border:1.5px solid #ffc94a66;border-radius:50%;width:11px;height:11px;transition:all .4s;position:relative}.atp-mol .p:before{content:"";background:#ffc94a66;width:4px;height:1.5px;position:absolute;top:50%;right:100%}.atp-mol .p.on{background:var(--atp);box-shadow:0 0 10px var(--atp);border-color:#fff4cf}.atp-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);flex:1;font-size:10px}.atp-num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.atp-val{color:var(--atp);text-shadow:0 0 14px #ffc94a99;font-size:22px;font-weight:800}.atp-num small{color:var(--faint);margin-left:2px;font-size:11px}.atp-bar{background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;height:12px;position:relative}.atp-fill{background:linear-gradient(90deg, #ff8a3d, var(--atp) 60%, #fff3c4);border-radius:8px;width:0;transition:width .9s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;left:0;overflow:hidden;box-shadow:0 0 16px #ffc94ab3}.atp-fill:after{content:"";background:repeating-linear-gradient(115deg,#0000 0 8px,#ffffff40 8px 11px);animation:1.2s linear infinite flow;position:absolute;inset:0}@keyframes flow{to{background-position:26px 0}}.atp-cost{background:var(--text);width:2px;position:absolute;top:-5px;bottom:-5px;transform:translate(-1px);box-shadow:0 0 8px #fff}.atp-cost-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:var(--muted);font-size:9px;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.atp.is-ready .atp-cost{background:var(--good);box-shadow:0 0 10px var(--good)}.atp.is-ready .atp-cost-label{color:var(--good)}.atp-orb{z-index:300;pointer-events:none;background:radial-gradient(circle, #fff 0%, var(--atp) 45%, #ff8c2800 70%);width:12px;height:12px;box-shadow:0 0 14px var(--atp);border-radius:50%;margin:-6px 0 0 -6px;position:fixed;top:0;left:0}.hud[data-mode=intro] .atp-cost,.hud[data-mode=travel] .hud-right .icon-btn:first-of-type,.hud[data-mode=intro] .hud-right .icon-btn:first-of-type{display:none}.planet-labels{opacity:0;visibility:hidden;z-index:5;transition:opacity .5s,visibility 0s linear .5s;position:absolute;inset:0}.planet-labels.is-visible{opacity:1;visibility:visible;transition-delay:0s}.planet-labels:not(.is-visible) .planet-label{pointer-events:none!important}.planet-label{cursor:pointer;border:1px solid color-mix(in srgb, var(--c) 40%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;will-change:transform;background:#050a18b3;border-radius:999px;align-items:center;gap:6px;padding:4px 9px 4px 4px;font-size:12px;transition:opacity .3s,border-color .2s,background .2s;display:flex;position:absolute;top:0;left:0}.planet-label:hover,.planet-label.is-selected{background:color-mix(in srgb, var(--c) 22%, #050a18d9);border-color:var(--c)}.pl-week{font-family:var(--font-display);background:color-mix(in srgb, var(--c) 30%, transparent);color:var(--c);border-radius:999px;padding:3px 6px;font-size:10px;font-weight:700}.pl-name{letter-spacing:.03em;font-weight:600}.pl-state{font-family:var(--font-display);letter-spacing:.12em;color:var(--c);font-size:9px}.planet-label[data-state=locked]{opacity:.55}.planet-label[data-state=next]{box-shadow:0 0 18px -2px var(--c);border-color:var(--c)}.planet-label[data-state=current] .pl-state{color:var(--good)}.dock-wrap{left:50%;bottom:calc(16px + var(--safe-bottom));z-index:12;flex-direction:column;align-items:center;gap:12px;width:min(560px,100vw - 24px);display:flex;position:absolute;transform:translate(-50%)}.action-dock{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.action-dock .btn{pointer-events:auto}.map-card{pointer-events:auto;text-align:center;min-width:260px;padding:14px 18px;animation:.35s rise;display:none}.map-card.is-open{display:block}.mc-kicker{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:10px}.mc-title{font-family:var(--font-display);margin:4px 0 2px;font-size:22px;font-weight:700}.mc-sub{color:var(--muted);font-size:14px}.mc-status{color:var(--good);margin-top:8px;font-size:13px;font-weight:600}.mc-status.is-locked{color:var(--faint)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.toasts{top:calc(var(--hud-h) + 24px + var(--safe-top));z-index:60;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{background:var(--panel-strong);border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;transition:opacity .4s,transform .4s;animation:.3s rise;display:flex}.toast.is-out{opacity:0;transform:translateY(-8px)}.toast-good{border-color:#4dffb080}.toast-warn{color:#ffd99a;border-color:#ffb54799}.comms{left:12px;bottom:calc(12px + var(--safe-bottom));z-index:30;cursor:pointer;opacity:0;visibility:hidden;border-color:#ffc94a59;gap:14px;width:min(500px,100vw - 24px);padding:14px 16px;transition:opacity .35s,transform .35s,visibility 0s linear .35s;display:flex;position:absolute;transform:translateY(12px);pointer-events:none!important}.comms.is-open{opacity:1;visibility:visible;transition-delay:0s;transform:none;pointer-events:auto!important}.comms:before{content:"";background:linear-gradient(var(--atp), #ff7a59);border-radius:3px;width:3px;position:absolute;top:14px;bottom:14px;left:0}.comms-avatar{background:radial-gradient(circle,#ffc94a26,#0000 70%);border:1px solid #ffc94a4d;border-radius:14px;flex:none;place-items:center;width:54px;height:54px;display:grid}.comms-avatar svg{width:46px;height:46px;animation:4s ease-in-out infinite mito-float}@keyframes mito-float{50%{transform:translateY(-2px)rotate(-3deg)}}.comms-main{flex:1;min-width:0}.comms-name{font-family:var(--font-display);letter-spacing:.2em;color:var(--atp);text-transform:uppercase;font-size:11px;font-weight:700}.comms-name span{color:var(--faint);letter-spacing:.08em;font-weight:500}.comms-text{min-height:3em;margin:6px 0 8px;font-size:15.5px;line-height:1.5}.comms-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.comms-actions{flex-wrap:wrap;gap:8px;display:flex}.comms-next{color:var(--atp);font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:6px 2px;font-size:11px;animation:1.4s ease-in-out infinite blink}@keyframes blink{50%{opacity:.45}}.planet-panel{--c:var(--accent);right:12px;top:calc(var(--hud-h) + 24px + var(--safe-top));bottom:calc(12px + var(--safe-bottom));z-index:20;opacity:0;visibility:hidden;border-color:color-mix(in srgb, var(--c) 30%, var(--line));flex-direction:column;width:min(440px,40vw);transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s,visibility 0s linear .6s;display:flex;position:absolute;overflow:hidden;transform:translate(calc(100% + 30px))}.planet-panel.is-open{opacity:1;visibility:visible;transition-delay:0s;transform:none}.planet-panel:not(.is-open),.planet-panel:not(.is-open) *{pointer-events:none!important}.pp-head{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--c) 22%, transparent), transparent 60%);padding:20px 22px 14px;position:relative}.pp-kicker{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--c);font-size:11px;font-weight:700}.pp-title{font-family:var(--font-display);letter-spacing:.04em;text-shadow:0 0 30px color-mix(in srgb, var(--c) 50%, transparent);margin:6px 0 2px;font-size:34px;font-weight:900;line-height:1.05}.pp-sub{color:var(--muted);font-size:16px;font-weight:600}.pp-sub span{font-weight:400}.pp-progress{align-items:center;gap:10px;margin-top:14px;display:flex}.pp-bar{background:#ffffff14;border-radius:6px;flex:1;height:6px;overflow:hidden}.pp-bar i{background:var(--c);height:100%;box-shadow:0 0 10px var(--c);transition:width .6s;display:block}.pp-count{color:var(--muted);white-space:nowrap;font-size:12px}.pp-stars i{color:#ffffff26;font-size:15px;font-style:normal}.pp-stars i.on{color:var(--atp);text-shadow:0 0 8px var(--atp)}.tabs{border-bottom:1px solid var(--line);gap:6px;padding:0 16px;display:flex}.tab{cursor:pointer;color:var(--muted);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px;font-size:11px;font-weight:700;display:flex}.tab .btn-ico{width:16px;height:16px}.tab.is-active{color:var(--text);border-bottom-color:var(--c)}.pp-body{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex:auto;min-height:0;padding:18px 22px;overflow-y:auto}.pp-summary{color:#f3f7ff;margin:0 0 14px;font-size:16px;line-height:1.55}.pp-points{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pp-points li{color:#d9e3f7;background:#ffffff09;border:1px solid #ffffff0d;border-radius:10px;padding:10px 12px 10px 34px;font-size:14.5px;line-height:1.5;position:relative}.pp-points li:before{content:"";background:var(--c);width:8px;height:8px;box-shadow:0 0 8px var(--c);border-radius:50%;position:absolute;top:17px;left:13px}.pp-terms-title{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin:18px 0 8px;font-size:10px}.pp-terms{flex-wrap:wrap;gap:6px;display:flex}.term{border:1px solid color-mix(in srgb, var(--c) 40%, transparent);color:color-mix(in srgb, var(--c) 70%, white);background:color-mix(in srgb, var(--c) 8%, transparent);border-radius:999px;padding:5px 10px;font-size:13px}.mcards{gap:10px;display:grid}.mcard{text-align:left;cursor:pointer;border:1px solid var(--line);background:#ffffff0a;border-radius:12px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:all .2s;display:grid}.mcard:not(:disabled):hover{border-color:var(--c);background:color-mix(in srgb, var(--c) 10%, transparent);transform:translate(-2px)}.mcard:disabled{cursor:default}.mcard-num{font-family:var(--font-num);color:var(--faint);font-size:13px;font-weight:700}.mcard-ico{background:color-mix(in srgb, var(--c) 16%, transparent);width:34px;height:34px;color:var(--c);border-radius:10px;place-items:center;font-size:16px;display:grid}.mcard-main{flex-direction:column;min-width:0;display:flex}.mcard-title{font-size:15px;font-weight:700}.mcard-type{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.mcard-reward{font-family:var(--font-display);color:var(--atp);white-space:nowrap;font-size:11px;font-weight:700}.mcard-score{font-family:var(--font-display);flex-direction:column;align-items:flex-end;font-size:13px;font-weight:700;display:flex}.mcard-score small{font-family:var(--font-body);color:var(--atp);font-size:11px;font-weight:600}.mcard-score.good{color:var(--good)}.mcard-score.partial{color:var(--warn)}.mcard.is-done{border-color:#4dffb040}.mcard.is-done .mcard-ico{color:var(--good);background:#4dffb01f}.mcard.is-new{border-left:3px solid var(--c)}.pp-foot{border-top:1px solid var(--line);background:#0003;gap:10px;padding:14px 18px 18px;display:grid}.pp-foot .btn{width:100%}.pp-note{color:var(--muted);text-align:center;margin:0;font-size:13.5px}.pp-note.warn{color:#ffd99a}.pp-note.ok{color:var(--good)}.travel{top:calc(var(--hud-h) + 24px + var(--safe-top));opacity:0;text-align:center;z-index:15;min-width:300px;padding:12px 22px 14px;transition:all .5s;position:absolute;left:50%;transform:translate(-50%,-10px)}.travel.is-open{opacity:1;transform:translate(-50%)}.travel-kicker{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-size:10px}.travel-route{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:4px 0 6px;font-weight:600;display:flex}.travel-route .arrow{color:var(--accent)}.travel-day{font-family:var(--font-display);justify-content:center;align-items:baseline;gap:8px;display:flex}.travel-day small{letter-spacing:.25em;color:var(--muted);text-transform:uppercase;font-size:11px}.travel-day b{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 20px var(--accent);min-width:2ch;font-size:36px;font-weight:800}.travel-bar{background:#ffffff14;border-radius:4px;height:4px;margin-top:8px;overflow:hidden}.travel-bar i{background:linear-gradient(90deg, var(--atp), var(--accent));width:0;height:100%;display:block}.reticle{cursor:pointer;z-index:16;background:0 0;border:none;place-items:center;width:96px;height:96px;transition:opacity .3s;display:none;position:absolute;top:0;left:0}.reticle.is-open{animation:.5s reticle-in;display:grid}.reticle-ring{border:2px dashed var(--bonus);box-shadow:0 0 24px -2px var(--bonus), inset 0 0 18px -6px var(--bonus);border-radius:50%;animation:4s linear infinite spin;position:absolute;inset:10px}.reticle:before,.reticle:after{content:"";border:2px solid #d68cff80;border-radius:50%;animation:1.4s ease-out infinite pulse-ring;position:absolute;inset:0}.reticle:after{animation-delay:.7s}.reticle-label{white-space:nowrap;font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:#f3d6ff;text-shadow:0 0 10px var(--bonus);background:#14061eb3;border:1px solid #d68cff80;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:700;position:absolute;top:calc(100% + 4px)}@keyframes reticle-in{0%{opacity:0;scale:1.6}}.countdown{z-index:45;pointer-events:none;font-family:var(--font-display);letter-spacing:.06em;color:#fff;text-transform:uppercase;text-shadow:0 0 40px var(--accent), 0 0 80px var(--accent);place-items:center;font-size:clamp(54px,12vw,140px);font-weight:900;display:grid;position:absolute;inset:0}.countdown.tick{animation:.5s ease-out count}@keyframes count{0%{opacity:0;filter:blur(6px);transform:scale(1.6)}}.screen{z-index:40;opacity:0;transition:opacity .9s;position:absolute;inset:0;overflow-y:auto}.screen.is-open{opacity:1}.title-screen{background:linear-gradient(90deg,#02030ae0 0%,#02030a8c 40%,#0000 70%);align-items:center;padding:40px 6vw;display:flex}.title-inner{max-width:600px}.title-screen.is-open .title-inner>*{animation:.9s cubic-bezier(.2,.8,.2,1) both rise}.title-screen.is-open .title-inner>:nth-child(2){animation-delay:.1s}.title-screen.is-open .title-inner>:nth-child(3){animation-delay:.2s}.title-screen.is-open .title-inner>:nth-child(4){animation-delay:.3s}.title-screen.is-open .title-inner>:nth-child(5){animation-delay:.4s}.title-kicker{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);font-size:12px;font-weight:700}.title-logo{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:12px 0 18px;font-size:clamp(44px,7.4vw,92px);font-weight:900;line-height:.92}.title-logo .l1{background:linear-gradient(#fff,#a9c6ff);color:#0000;-webkit-background-clip:text;background-clip:text;display:block}.title-logo .l2{background:linear-gradient(90deg,#ffd36e,#ff7a59 50%,#d68cff);color:#0000;filter:drop-shadow(0 0 24px #ff7a5959);-webkit-background-clip:text;background-clip:text;display:block}.title-tag{color:#cdd9f0;max-width:540px;margin:0 0 28px;font-size:18px;line-height:1.6}.title-actions{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.title-actions .btn-big{--b:var(--atp)}.title-howto{border-radius:var(--radius);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050a188c;margin-top:34px;padding:16px 18px}.title-howto-head{font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--atp);margin-bottom:10px;font-size:11px;font-weight:700}.title-settings{top:calc(16px + var(--safe-top));position:absolute;right:16px}.steps{gap:12px;margin:0;padding:0;list-style:none;display:grid}.steps li{align-items:flex-start;gap:12px;display:flex}.steps li>div{color:var(--muted);flex-direction:column;gap:2px;font-size:14px;line-height:1.45;display:flex}.steps li b{color:var(--text);font-weight:700}.step-ico{width:34px;height:34px;color:var(--cyan);background:#5ee7ff14;border:1px solid #5ee7ff40;border-radius:10px;flex:none;padding:7px;display:grid}.step-ico svg{width:100%;height:100%}.steps-compact{grid-template-columns:repeat(5,1fr);gap:10px}.steps-compact li{text-align:center;flex-direction:column;align-items:center;gap:8px}.steps-compact li>div{font-size:12px}.steps-compact li>div span{display:none}.steps-compact li b{font-size:12.5px;line-height:1.3}#ui.has-finale .hud,#ui.has-finale .comms{opacity:0!important;pointer-events:none!important}.finale-screen{background:radial-gradient(circle at 50% 40%,#02030a4d,#02030ad9 70%);place-items:center;padding:90px 16px 40px;display:grid}.finale-card{text-align:center;justify-items:center;gap:18px;width:100%;max-width:900px;animation:1s both rise;display:grid}.finale-title{font-family:var(--font-display);text-transform:uppercase;background:linear-gradient(90deg, #7dffb2, var(--cyan), #a9c6ff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(30px,5vw,56px);font-weight:900}.finale-sub{color:#cdd9f0;max-width:620px;margin:0;font-size:17px;line-height:1.6}.finale-rank{background:#ffc94a14;border:1px solid #ffc94a80;border-radius:999px;flex-direction:column;align-items:center;padding:10px 26px;display:flex}.finale-rank small{font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--muted);font-size:10px}.finale-rank b{font-family:var(--font-display);color:var(--atp);text-shadow:0 0 14px #ffc94a99;font-size:20px}.finale-tickets{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.finale-card .title-actions{justify-content:center}.log-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;width:100%;display:grid}.stat-box{border:1px solid var(--line);text-align:center;background:#ffffff08;border-radius:12px;flex-direction:column;gap:2px;padding:12px;display:flex}.stat-box b{font-family:var(--font-num);font-size:22px;font-weight:800}.stat-box small{color:var(--muted);font-size:12px}.ticket{--c:var(--accent);text-align:left;background:linear-gradient(120deg, color-mix(in srgb, var(--c) 20%, #0b1228), #0a1020 60%);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);box-shadow:0 20px 50px -20px color-mix(in srgb, var(--c) 60%, transparent);border-radius:16px;grid-template-columns:1fr 120px;display:grid;position:relative;overflow:hidden}.ticket-modal .ticket{animation:.8s cubic-bezier(.2,.9,.3,1.2) both ticket-in}@keyframes ticket-in{0%{opacity:0;transform:translateY(30px)rotate(-4deg)scale(.9)}}.t-main{gap:10px;padding:18px 20px;display:grid}.t-brand{font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--c);align-items:center;gap:8px;font-size:10px;display:flex}.t-brand span{width:20px;height:20px;color:var(--c);display:grid}.t-brand svg{width:100%;height:100%}.t-route{align-items:center;gap:16px;display:flex}.t-route>div{flex-direction:column;display:flex}.t-route small{text-transform:uppercase;letter-spacing:.2em;color:var(--faint);font-size:10px}.t-route b{font-family:var(--font-num);font-size:28px;font-weight:800;line-height:1.1}.t-route span{color:var(--muted);font-size:13px}.t-arrow{width:26px;height:26px;color:var(--c);flex:none;transform:rotate(90deg)}.t-arrow svg{width:100%;height:100%}.t-meta{color:var(--muted);font-size:12.5px}.t-stub{border-left:2px dashed #ffffff2e;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px;display:flex;position:relative}.t-stub:before,.t-stub:after{content:"";background:var(--bg);border-radius:50%;width:18px;height:18px;position:absolute;left:-10px}.t-stub:before{top:-10px}.t-stub:after{bottom:-10px}.t-stars i{color:#ffffff26;font-size:20px;font-style:normal}.t-stars i.on{color:var(--atp);text-shadow:0 0 10px var(--atp)}.t-stamp{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--good);border:2px solid var(--good);opacity:.9;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:900;transform:rotate(-12deg)}.ticket-modal .t-stamp{animation:.5s cubic-bezier(.3,1.6,.5,1) .6s both stamp}@keyframes stamp{0%{opacity:0;transform:rotate(-12deg)scale(2.4)}}.t-stamp.is-off{color:var(--faint);border-color:var(--faint)}.ticket.is-locked{filter:grayscale();opacity:.45}.ticket.is-mini{border-radius:12px;grid-template-columns:1fr 74px}.ticket.is-mini .t-main{gap:6px;padding:10px 12px}.ticket.is-mini .t-route b{font-size:16px}.ticket.is-mini .t-route{gap:8px}.ticket.is-mini .t-arrow{width:16px;height:16px}.ticket.is-mini .t-route span{font-size:11px}.ticket.is-mini .t-meta{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.ticket.is-mini .t-brand{display:none}.ticket.is-mini .t-stars i{font-size:13px}.ticket.is-mini .t-stamp{padding:2px 6px;font-size:9px}.ticket-note{text-align:center;color:var(--muted);margin:16px 0 0}.modal-root{z-index:50;pointer-events:none;position:absolute;inset:0}.modal{padding:16px;padding-top:calc(16px + var(--safe-top));padding-bottom:calc(16px + var(--safe-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;background:#02040c8c;place-items:center;transition:opacity .3s;display:grid;position:absolute;inset:0}.modal.is-open{opacity:1}.modal-card{flex-direction:column;width:min(640px,100%);max-height:calc(100dvh - 32px);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;transform:translateY(16px)scale(.98)}.modal.is-open .modal-card{transform:none}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 8px;display:flex}.modal-head h2{font-family:var(--font-display);letter-spacing:.03em;margin:2px 0 0;font-size:22px}.modal-kicker{font-family:var(--font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:700}.modal-body{min-height:0;padding:12px 22px 22px;overflow-y:auto}.mission-head,.mission-foot,.result,.pp-head,.tabs,.pp-foot,.modal-head,.modal-foot{flex:none}.mission.is-checked .chip-bank.is-empty{display:none}.mission.is-checked .bank-title:has(+.chip-bank.is-empty){display:none}.modal-body h3{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px;font-size:12px}.modal-foot{justify-content:flex-end;gap:10px;padding:0 22px 20px;display:flex}.log-modal .modal-card{width:min(920px,100%)}.log-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.ticket-modal .modal-card{width:min(560px,100%)}.type-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.type-chip{border:1px solid var(--line);background:#ffffff08;border-radius:10px;grid-template-columns:auto 1fr;column-gap:10px;padding:10px 12px;display:grid}.type-chip .tag-ico{color:var(--cyan);grid-row:span 2;align-self:center;font-size:18px}.type-chip small{color:var(--muted);font-size:12px}.controls{color:#cdd9f0;gap:8px;margin:0;padding-left:18px;font-size:14px;line-height:1.5;display:grid}.set-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.set-row:last-child{border-bottom:none}.set-row>div{flex-direction:column;gap:2px;display:flex}.set-row small{color:var(--muted);font-size:12.5px}.toggle{border:1px solid var(--line-strong);cursor:pointer;background:#ffffff0f;border-radius:999px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.toggle i{background:var(--muted);border-radius:50%;width:22px;height:22px;transition:all .25s;position:absolute;top:3px;left:3px}.toggle.on{background:color-mix(in srgb, var(--cyan) 30%, transparent);border-color:var(--cyan)}.toggle.on i{background:var(--cyan);box-shadow:0 0 10px var(--cyan);left:25px}.segmented{border:1px solid var(--line-strong);border-radius:10px;flex:none;display:flex;overflow:hidden}.segmented button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:8px 12px;font-size:13px;font-weight:600}.segmented button.on{background:color-mix(in srgb, var(--cyan) 22%, transparent);color:var(--text)}.mission-modal{background:#02040c80}.mission{--m:var(--accent);border-color:color-mix(in srgb, var(--m) 35%, var(--line));flex-direction:column;width:min(900px,100%);max-height:calc(100dvh - 32px);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s;display:flex;position:relative;overflow:hidden;transform:translateY(24px)scale(.97)}.modal.is-open .mission{transform:none}.mission:before{content:"";background:linear-gradient(90deg, transparent, var(--m), transparent);height:2px;position:absolute;inset:0 0 auto}.mission.is-bonus .btn-primary{--b:var(--bonus)}.mission.is-bonus{--m:var(--bonus);box-shadow:0 0 60px -20px var(--bonus), 0 20px 60px -20px #000c}.mission.is-good{box-shadow:0 0 60px -20px var(--good);border-color:#4dffb099}.mission.is-partial{border-color:#ffb54799}.mission.is-bad{border-color:#ff5c7a99}.mission.shake{animation:.45s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.mission-head{grid-template-columns:1fr auto;gap:4px 16px;padding:18px 22px 12px;display:grid;position:relative}.mission-tags{flex-wrap:wrap;grid-column:1/-1;gap:6px;padding-right:44px;display:flex}.tag{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;background:color-mix(in srgb, var(--m) 16%, transparent);color:color-mix(in srgb, var(--m) 70%, white);border:1px solid color-mix(in srgb, var(--m) 35%, transparent);border-radius:6px;padding:5px 9px;font-size:10px;font-weight:700}.tag-type{color:var(--muted);border-color:var(--line);background:#ffffff0a}.tag-ico{margin-right:5px}.tag-bonus{color:#f0d4ff;background:#d68cff2e;border-color:#d68cff80}.tag-retry{color:#ffd99a;background:#ffb54724;border-color:#ffb54766}.mission-title{font-family:var(--font-display);letter-spacing:.02em;margin:6px 0 0;font-size:24px}.mission-reward{font-family:var(--font-display);align-self:end;gap:8px;font-size:12px;font-weight:700;display:flex}.r-atp{color:var(--atp)}.r-pts{color:var(--muted)}.mission-close{position:absolute;top:14px;right:14px}.mission-timer{background:#ffffff14;border-radius:5px;grid-column:1/-1;height:5px;margin-top:8px;overflow:hidden}.mission-timer-fill{background:linear-gradient(90deg, var(--bonus), #ff9ad5);transform-origin:0;height:100%;transition:transform .1s linear}.mission-timer.is-low .mission-timer-fill{background:var(--bad);animation:.5s infinite blink}.mission-body{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex:auto;min-height:0;padding:4px 22px 18px;overflow-y:auto}.mission-prompt{color:#f3f7ff;margin:0 0 18px;font-size:18px;font-weight:500;line-height:1.5}.mission-foot{border-top:1px solid var(--line);background:#0003;justify-content:space-between;align-items:center;gap:14px;padding:14px 22px 18px;display:flex}.mission-hint{color:var(--muted);font-size:13px}.btn-check{min-width:190px}.result{border-top:1px solid var(--line);max-height:46dvh;padding:16px 22px 18px;animation:.35s rise;overflow-y:auto}.result-good{background:linear-gradient(#4dffb01f,#0003)}.result-partial{background:linear-gradient(#ffb5471f,#0003)}.result-bad{background:linear-gradient(#ff5c7a1f,#0003)}.result-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.result-head strong{font-family:var(--font-display);letter-spacing:.03em;font-size:18px}.result-icon{color:#04110b;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.result-good .result-icon{background:var(--good);box-shadow:0 0 18px var(--good)}.result-partial .result-icon{background:var(--warn)}.result-bad .result-icon{background:var(--bad);color:#fff}.result-gain{font-family:var(--font-display);gap:8px;margin-left:auto;font-size:12px;display:flex}.result-gain b{background:#ffffff0f;border-radius:6px;padding:5px 9px}.g-atp{color:var(--atp)}.g-mult{color:#ff9a6e}.result-expl{color:#d9e3f7;margin:12px 0 14px;font-size:15px;line-height:1.55}.result-actions{justify-content:flex-end;display:flex}.mission-tray{border-top:1px solid var(--line);background:#0000004d;flex:none;padding:8px 12px 6px}.tray-title{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:0 2px 6px;font-size:9.5px}.mission-tray .chip-bank{scrollbar-width:none;flex-wrap:nowrap;align-items:stretch;min-height:56px;max-height:118px;padding:6px;overflow:auto hidden}.mission-tray .chip-bank::-webkit-scrollbar{display:none}.mission-tray .chip{touch-action:pan-x;flex:none;max-width:72vw}.mission-tray .chip-bank.is-empty:before{content:"All cards placed ✓"}.options{gap:10px;display:grid}.options.is-tf{grid-template-columns:1fr 1fr}.option{text-align:left;cursor:pointer;border:1px solid var(--line);background:#ffffff0a;border-radius:12px;align-items:center;gap:14px;min-height:56px;padding:14px 16px;font-size:16px;transition:all .18s;display:flex}.option:not(:disabled):hover{border-color:color-mix(in srgb, var(--m) 70%, white);background:color-mix(in srgb, var(--m) 8%, transparent)}.option-key{width:30px;height:30px;font-family:var(--font-display);border:1px solid var(--line-strong);color:var(--muted);border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.options.is-multi .option-key{border-radius:7px}.options.is-multi .option.is-selected .option-key:after{content:"✓";color:#041018;font-size:15px}.option.is-selected{border-color:var(--m);background:color-mix(in srgb, var(--m) 14%, transparent);box-shadow:0 0 0 1px var(--m) inset}.option.is-selected .option-key{background:var(--m);color:#041018;border-color:var(--m)}.options.is-tf .option{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;justify-content:center;min-height:70px;font-weight:700}.options.is-tf .option-key{display:none}.option.is-correct{border-color:var(--good);box-shadow:0 0 0 1px var(--good) inset;background:#4dffb024}.option.is-correct .option-key{background:var(--good);border-color:var(--good);color:#041018}.option.is-wrong{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad) inset;background:#ff5c7a24}.option.is-wrong .option-key{background:var(--bad);border-color:var(--bad);color:#fff}.option.is-answer,.option.is-missed{border-color:var(--good);border-style:dashed}.option.is-answer .option-key,.option.is-missed .option-key{border-color:var(--good);color:var(--good)}.option.is-missed .option-key:after{content:"✓"}.option.is-dim{opacity:.45}.option:disabled{cursor:default}.chip-bank{border:1px dashed var(--line-strong);background:#0003;border-radius:12px;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:56px;padding:10px;transition:border-color .2s,background .2s;display:flex}.chip-bank.is-empty{justify-content:center;align-items:center}.chip-bank.is-empty:before{content:"All cards placed";color:var(--faint);letter-spacing:.1em;text-transform:uppercase;font-size:12px}.chip-bank.is-over{border-color:var(--m);background:color-mix(in srgb, var(--m) 8%, transparent)}.bank-title{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin:0 0 8px;font-size:10px}.chip{cursor:grab;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#283c6ee6,#162246f2);border:1px solid #96c8ff59;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:44px;padding:10px 14px;font-size:14.5px;font-weight:600;line-height:1.3;transition:transform .15s,box-shadow .15s,border-color .15s,opacity .15s;display:inline-flex;box-shadow:0 4px 12px -4px #0009,inset 0 1px #ffffff1f}.chip:not(:disabled):hover{border-color:var(--m);transform:translateY(-1px)}.chip.is-selected{border-color:var(--m);box-shadow:0 0 0 2px var(--m), 0 0 22px -4px var(--m);transform:translateY(-2px)}.chip.is-dragging{opacity:.3}.chip.pop{animation:.25s pop}@keyframes pop{40%{transform:scale(1.06)}}.chip-ghost{z-index:400;pointer-events:none;box-shadow:0 16px 40px -8px #000c, 0 0 0 2px var(--cyan);margin:0;position:fixed;transform:rotate(-2deg)scale(1.04)}.chip:disabled{cursor:default;opacity:1}.chip.is-correct{border-color:var(--good);background:linear-gradient(#1e6e50e6,#104634f2)}.chip.is-wrong{border-color:var(--bad);background:linear-gradient(#781e32e6,#501222f2)}.chip-fix{color:#b9ffe0;font-size:11.5px;font-weight:600}body.is-dragging-chip,body.is-dragging-chip *{cursor:grabbing!important}.slot{cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.slot-items{display:contents}.mission-body .slot .chip{touch-action:pan-y}.mission.has-selection .slot:not(.is-filled),.mission.has-selection .bin{border-color:color-mix(in srgb, var(--m) 60%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--m) 30%, transparent) inset}.slot.is-over{border-color:var(--m)!important;background:color-mix(in srgb, var(--m) 14%, transparent)!important;box-shadow:0 0 0 2px var(--m) inset!important}.slot-answer{color:#b9ffe0;flex-basis:100%;padding:4px 2px 0;font-size:12px;display:block}.slot-answer b{color:var(--good)}.seq{grid-template-columns:1.1fr 1fr;align-items:start;gap:20px;display:grid}.seq-cap{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:2px 0 6px;font-size:10px}.seq-slots{counter-reset:s;gap:8px;margin:0;padding:0;list-style:none;display:grid}.seq-slot{border:1px dashed var(--line-strong);background:#ffffff06;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;min-height:56px;padding:6px 8px;display:flex}.seq-slot.is-filled{border-style:solid}.seq-num{width:34px;font-family:var(--font-num);color:var(--m);text-align:center;flex:none;font-size:16px;font-weight:700}.seq-slot .chip,.match-target .chip,.diagram-slot .chip{flex:1}.seq-col .chip-bank{flex-direction:column;align-items:stretch}.seq-col .chip-bank .chip{width:100%}.slot-correct{border-color:#4dffb099!important}.slot-wrong{border-color:#ff5c7a99!important}.match{gap:16px;display:grid}.match-rows{gap:10px;display:grid}.match-row{grid-template-columns:minmax(140px,.8fr) auto 1.4fr;align-items:center;gap:10px;display:grid}.match-term{background:color-mix(in srgb, var(--m) 12%, transparent);border:1px solid color-mix(in srgb, var(--m) 40%, transparent);border-radius:10px;padding:12px 14px;font-weight:700}.match-link{color:var(--faint)}.match-target{border:1px dashed var(--line-strong);background:#ffffff06;border-radius:12px;flex-wrap:wrap;align-items:center;min-height:56px;padding:5px;display:flex}.match-target.is-filled{border-style:solid}.sort{gap:16px;display:grid}.bins{gap:12px;display:grid}.bins-2{grid-template-columns:1fr 1fr}.bins-3{grid-template-columns:repeat(3,1fr)}.bin{--bc:var(--m);border:1px dashed color-mix(in srgb, var(--bc) 45%, transparent);background:color-mix(in srgb, var(--bc) 5%, transparent);border-radius:14px;flex-direction:column;gap:8px;min-height:160px;padding:10px;display:flex}.bin-0{--bc:var(--cyan)}.bin-1{--bc:var(--bonus)}.bin-2{--bc:var(--atp)}.bin-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--bc) 75%, white);border-bottom:1px solid color-mix(in srgb, var(--bc) 25%, transparent);padding:4px 4px 8px;font-size:12px;font-weight:700}.bin-items{flex-direction:column;gap:6px;display:flex!important}.bin .chip{width:100%}.fill{gap:16px;display:grid}.fill-text{border:1px solid var(--line);background:#ffffff08;border-radius:12px;margin:0;padding:14px 18px;font-size:18px;line-height:2.5}.blank{vertical-align:middle;border:1px dashed var(--line-strong);background:#5ee7ff0d;border-radius:10px;flex-wrap:wrap;align-items:center;min-width:130px;min-height:44px;margin:2px 4px;padding:2px;line-height:1.3;display:inline-flex}.blank.is-filled{border-style:solid;min-width:0}.blank .chip{min-height:38px;padding:7px 12px}.blank .slot-answer{padding:2px 6px 4px}.diagram{grid-template-columns:1.35fr 1fr;grid-template-areas:"fig side""bank side";align-items:start;gap:14px 18px;display:grid}.diagram-side{grid-area:side}.diagram-bank{grid-area:bank}.diagram-figure{border:1px solid var(--line-strong);background:#0a1426;border-radius:14px;grid-area:fig;overflow:hidden}.diagram-figure svg{width:100%;height:auto;display:block}.dg-caption{font-family:var(--font-display);letter-spacing:.25em;fill:#c8e1ff73;font-size:13px}.dg-leader{stroke:#ffffffb3;stroke-width:1.5px;stroke-dasharray:3 3}.dg-dot{fill:#fff}.dg-pin-bg{fill:#071022;stroke:var(--cyan);stroke-width:2.5px;transition:all .2s}.dg-pin-num{font-family:var(--font-num);fill:#fff;font-size:17px;font-weight:800}.dg-pin.is-hot .dg-pin-bg{fill:var(--cyan)}.dg-pin.is-hot .dg-pin-num{fill:#041018}.dg-pin.is-correct .dg-pin-bg{stroke:var(--good);fill:#0b3a29}.dg-pin.is-wrong .dg-pin-bg{stroke:var(--bad);fill:#3a0b18}.diagram-slots{gap:7px;margin:0;padding:0;list-style:none;display:grid}.diagram-slot{border:1px dashed var(--line-strong);background:#ffffff06;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;min-height:48px;padding:5px 6px;display:flex}.diagram-slot.is-filled{border-style:solid}.pin-num{width:28px;height:28px;font-family:var(--font-num);border:2px solid var(--cyan);background:#071022;border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.diagram-bank .chip{min-height:40px;padding:8px 12px;font-size:13.5px}.diagram-slot .chip{min-height:36px;padding:7px 12px;font-size:13.5px}.dev-panel{z-index:100;pointer-events:auto;background:#ff007826;border:1px solid #ff007880;border-radius:10px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:none;position:absolute;bottom:12px;right:12px}.dev-panel,.dev-panel *{pointer-events:auto!important}.hud.is-visible~.dev-panel,.dev-panel{display:flex}.dev-panel select,.dev-panel button{color:#fff;cursor:pointer;background:#1a0a20;border:1px solid #ff007880;border-radius:6px;padding:4px 8px;font-size:12px}@media (width<=1180px){.hud-top{grid-template-columns:1fr auto}.hud-center{display:none}}@media (width>=761px) and (width<=1100px){.travel{left:auto;right:12px;transform:translateY(-10px)}.travel.is-open{transform:none}.comms{width:min(440px,100vw - 480px);min-width:320px}}@media (width<=860px){.seq,.diagram{grid-template-columns:1fr}.diagram{grid-template-areas:"fig""side""bank"}.log-grid,.finale-tickets{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){:root{--hud-h:54px}.hud-top{top:calc(8px + var(--safe-top));border-radius:12px;gap:8px;padding:0 6px 0 8px;left:8px;right:8px}.brand-mark{width:30px;height:30px}.loc-name{font-size:14px}.loc-week{font-size:10px}.loc-topic{font-size:12px}.hud-right{gap:5px}.hud-right .stat:nth-of-type(2){display:none}.hud-right .icon-btn{width:36px;height:36px}.hud-right .icon-btn:nth-of-type(3){display:none}.stat{height:36px;padding:0 8px}.atp{top:calc(var(--hud-h) + 14px + var(--safe-top));width:calc(100vw - 16px);padding:8px 12px 22px;left:8px}.atp-head{margin-bottom:6px}.atp-val{font-size:16px}.atp-title{font-size:9px}.comms{width:auto;left:8px;right:8px;bottom:calc(10px + var(--safe-bottom));z-index:35;gap:10px;padding:12px;box-shadow:0 -10px 40px #0009}.comms-avatar{width:42px;height:42px}.comms-avatar svg{width:36px;height:36px}.comms-text{min-height:0;font-size:14.5px}.planet-panel{width:auto;top:auto;left:8px;right:8px;bottom:calc(8px + var(--safe-bottom));height:56dvh;transform:translateY(calc(100% + 30px))}.pp-head{padding:14px 16px 10px}.pp-title{font-size:26px}.pp-sub{font-size:14px}.pp-progress{margin-top:10px}.pp-body{padding:14px 16px}.pp-foot{grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px 12px 12px}.pp-foot .pp-note{grid-column:1/-1;font-size:12.5px}.pp-foot .btn{min-height:48px}.pp-foot .btn-ghost{width:auto;padding:10px 14px}.pp-foot .btn-ghost span:last-child{display:none}.tabs{padding:0 8px}.travel{top:calc(var(--hud-h) + 84px + var(--safe-top));width:calc(100vw - 32px);min-width:0;padding:10px 14px}.travel-day b{font-size:26px}.dock-wrap{bottom:calc(10px + var(--safe-bottom))}.action-dock{width:100%}.action-dock .btn{flex:1;min-width:0;padding:10px 12px;font-size:11.5px}.modal{align-items:end;padding:0}.modal-card,.mission{border-bottom:none;border-radius:18px 18px 0 0;width:100%;max-height:94dvh}.mission-head{padding:14px 16px 8px}.mission-title{font-size:19px}.mission-body{padding:4px 16px 14px}.mission-prompt{margin-bottom:14px;font-size:16px}.mission-foot{padding:10px 16px calc(12px + var(--safe-bottom))}.mission-hint{display:none}.btn-check{flex:1}.result{padding:12px 16px calc(14px + var(--safe-bottom))}.result-gain{width:100%;margin-left:0}.result-actions .btn{width:100%}.match-row{grid-template-columns:1fr;gap:6px}.match-link{display:none}.match-term{padding:8px 12px;font-size:14px}.bins-3{grid-template-columns:1fr}.bins-3 .bin,.bins-2 .bin{min-height:90px}.bins-2{gap:8px}.bins-2 .bin{padding:8px}.bins-2 .bin-title{font-size:10.5px}.fill-text{padding:10px 12px;font-size:16px;line-height:2.4}.blank{min-width:100px}.chip{min-height:42px;padding:8px 11px;font-size:13.5px}.type-grid{grid-template-columns:1fr}.title-screen{padding:24px 18px calc(28px + var(--safe-bottom));background:linear-gradient(#0000 15%,#02030abf 45%,#02030af2 100%);align-items:flex-end}.title-tag{margin-bottom:20px;font-size:15.5px}.title-actions .btn{flex:100%}.title-howto{display:none}.finale-screen{padding:70px 12px 30px}.log-grid,.finale-tickets{grid-template-columns:1fr}.ticket{grid-template-columns:1fr 96px}.t-route b{font-size:20px}.planet-label{padding:3px 7px 3px 3px;font-size:11px}.pl-state{display:none}.planet-label[data-state=next] .pl-state,.planet-label[data-state=current] .pl-state{display:inline}}@media (height<=560px) and (width>=761px){.planet-panel{top:calc(var(--hud-h) + 20px)}.pp-title{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
