@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2)format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2)format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2)format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.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:#090c11;--panel:#0d1118d6;--panel-solid:#121821;--panel-raised:#ffffff0b;--border:#ffffff14;--border-strong:#ffffff29;--highlight:inset 0 1px 0 #ffffff0f;--text:#eef1f4;--muted:#8f99a6;--accent:#34d6e6;--accent-strong:#8ff3fb;--accent-ink:#00191c;--accent-glow:#34d6e659;--info:#4aa8ff;--ok:#4cd07d;--bad:#ff6b6b;--refund:#f2994a;--radius:10px;--radius-sm:7px;--shadow:0 12px 34px #00000073;--font-ui:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Barlow Condensed", "Barlow", "Inter Variable", sans-serif;--font-num:"Barlow", "Inter Variable", sans-serif;--ease-out:cubic-bezier(.2, .8, .2, 1);font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01"}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:12px}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--highlight);background:#ffffff0f;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:560;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff3d}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--accent-ink);box-shadow:inset 0 1px 0 #ffffff73, 0 6px 18px -6px var(--accent-glow);border-color:#8cf0f8b3;font-weight:700}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg, #a8f6fc, var(--accent-strong));box-shadow:inset 0 1px 0 #ffffff80, 0 8px 24px -6px var(--accent-glow);border-color:#b4f6fae6}.btn.big{width:100%;padding:12px 16px;font-size:15px}.btn.xl{width:100%;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;padding:14px 18px;font-size:20px;font-weight:700}.btn.ghost{box-shadow:none;background:0 0}.icon-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;background:#ffffff0a;place-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-grid}.icon-btn:hover{color:var(--text);border-color:var(--border-strong);background:#ffffff1a}input,select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#00000059;outline:none;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.field{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:12px;font-weight:600;display:grid}.field input{letter-spacing:normal;text-transform:none;color:var(--text);font-size:15px}.banner{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.banner.error{color:#ffb3b3;background:#ff6b6b1f;border:1px solid #ff6b6b59}.banner.warn{color:#ffd2a8;background:#f2994a1f;border:1px solid #f2994a66;font-size:13px}.banner.info{color:#bfe0ff;background:#4aa8ff1a;border:1px solid #4aa8ff4d;font-size:13px}.title{background:#0b0e13;height:100%;position:relative;overflow:hidden}.title-slides{position:absolute;inset:0;overflow:hidden}.title-slides img{object-fit:cover;opacity:0;will-change:opacity, transform;width:100%;height:100%;transition:opacity 1.8s,transform 10s linear;position:absolute;inset:0;transform:scale(1.02)}.title-slides img.shown{opacity:1;transform:scale(1.09)}.title-film video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}.title-film video.shown{opacity:1}@media (prefers-reduced-motion:reduce){.title-slides img{transition:opacity 1s;transform:none}}.title-shade{pointer-events:none;background:linear-gradient(90deg,#06080ceb 0%,#06080cb3 26%,#06080c00 52%),linear-gradient(#06080c00 72%,#06080cb3 100%),radial-gradient(130% 100% at 60% 40%,#0000 55%,#00000080 100%);position:absolute;inset:0}.title-side{flex-direction:column;gap:8px;width:min(440px,100%);padding:clamp(24px,6vh,64px) clamp(20px,4vw,56px);display:flex;position:absolute;inset:0 auto 0 0}.brand{animation:rise .8s var(--ease-out) both;align-items:center;gap:16px;display:flex}.brand-logo{filter:drop-shadow(0 4px 22px #00000073);width:min(100%,340px);height:auto;display:block}.brand-text{flex-direction:column;line-height:.9;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px 18px #00000080;font-size:clamp(30px,4.2vw,44px);font-weight:700}.brand-year{font-family:var(--font-display);letter-spacing:.42em;color:var(--accent);font-size:clamp(22px,3vw,30px);font-weight:600}.brand-tagline{color:#eef1f4b8;animation:rise .8s 80ms var(--ease-out) both;margin:6px 0 clamp(20px,6vh,56px);font-size:15px}.title-nav{gap:6px;display:grid}.title-item{border-radius:var(--radius);color:#eef1f4db;text-align:left;cursor:pointer;animation:slide-in .6s var(--ease-out) both;transition:background .2s, border-color .2s, color .2s, transform .2s var(--ease-out);background:0 0;border:1px solid #0000;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;padding:14px 16px 14px 18px;display:grid;position:relative}.title-item:before{content:"";background:var(--accent);width:3px;transition:transform .2s var(--ease-out);border-radius:2px;position:absolute;top:14px;bottom:14px;left:0;transform:scaleY(0)}.title-item:hover,.title-item.active{border-color:var(--border);color:var(--text);background:linear-gradient(90deg,#ffffff17,#ffffff05);transform:translate(4px)}.title-item:hover:before,.title-item.active:before{transform:scaleY(1)}.title-item svg:first-child{color:var(--accent)}.title-item-text{gap:2px;display:grid}.title-item-label{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;font-size:24px;font-weight:700;line-height:1.05}.title-item-sub{color:var(--muted);font-size:13px}.title-item-arrow{color:var(--muted);opacity:0;transition:opacity .2s, transform .2s var(--ease-out);transform:translate(-6px)}.title-item:hover .title-item-arrow,.title-item.active .title-item-arrow{opacity:1;transform:none}.title-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;font-size:12px;display:flex}.title-sheet{background:var(--panel);border:1px solid var(--border-strong);width:min(460px,100% - 32px);max-height:calc(100% - 2*clamp(24px,6vh,64px));box-shadow:var(--shadow), var(--highlight);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);animation:sheet-in .35s var(--ease-out) both;border-radius:14px;padding:22px 24px 24px;position:absolute;top:clamp(24px,6vh,64px);left:min(470px,40vw);overflow-y:auto}.sheet-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.sheet-head h2{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:26px;font-weight:700}.sheet-body{gap:16px;display:grid}.sheet-lead{color:#eef1f4cc;margin:0;font-size:14px;line-height:1.55}.sheet-section{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:4px 0 -4px;font-size:12px;font-weight:700;display:flex}.features{gap:10px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.features li{color:#eef1f4db;grid-template-columns:30px 1fr;align-items:center;gap:10px;display:grid}.features svg{width:30px;height:30px;color:var(--accent);background:#34d6e61f;border-radius:8px;padding:6px}.choice{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-raised);gap:10px;padding:14px;display:grid}.choice>div:first-child{gap:2px;display:grid}.join-row{gap:8px;display:flex}.join-row .btn{white-space:nowrap}.code-input{font-family:var(--font-num);letter-spacing:.4em;text-align:center;text-transform:uppercase;font-size:20px;font-weight:700}.advanced summary{cursor:pointer;color:var(--muted);margin-bottom:8px;font-size:13px}.quality-cards{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quality-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-raised);cursor:pointer;align-content:start;gap:6px;padding:12px;transition:border-color .15s,background .15s;display:grid}.quality-card strong{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:18px}.quality-card span{color:var(--muted);font-size:12px;line-height:1.4}.quality-card:hover{border-color:var(--border-strong)}.quality-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:#34d6e614}.lang-switch{gap:4px;display:flex}.lang-switch button{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:6px;padding:3px 8px;font-size:12px}.lang-switch.large button{flex:1;padding:10px;font-size:14px}.lang-switch button.active{color:var(--accent-ink);background:var(--accent);border-color:#0000;font-weight:700}.title-error{border-radius:var(--radius);color:#ffc4c4;background:#3c0e0ee6;border:1px solid #ff6b6b66;align-items:center;gap:10px;padding:10px 16px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.board{width:min(400px,100% - 32px);box-shadow:var(--shadow);font-family:var(--font-display);animation:rise .9s .4s var(--ease-out) both;background:#050608db;border:1px solid #ffffff14;border-radius:10px;position:absolute;bottom:clamp(16px,4vh,40px);right:clamp(16px,3vw,40px);overflow:hidden}.board header{background:var(--accent);color:var(--accent-ink);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;padding:8px 12px;font-size:15px;font-weight:700;display:flex}.board ul{margin:0;padding:4px 0;list-style:none}.board li{letter-spacing:.06em;color:#ffd75a;animation:flap .5s var(--ease-out) both;grid-template-columns:48px 70px 1fr auto;gap:10px;padding:5px 12px;font-size:16px;font-weight:600;display:grid}.board li:nth-child(2n){background:#ffffff08}.board-status{color:#eef1f4cc;text-transform:uppercase;font-size:14px}.board li.boarding .board-status{color:var(--ok);animation:1.2s steps(2,end) infinite blink}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes slide-in{0%{opacity:0;transform:translate(-18px)}}@keyframes sheet-in{0%{opacity:0;transform:translate(-14px)scale(.98)}}@keyframes flap{0%{opacity:0;transform:rotateX(70deg)}}@keyframes blink{50%{opacity:.35}}@media (max-width:900px){.title-sheet{top:auto;bottom:16px;left:16px}.board{display:none}}.game{height:100%;position:relative}.viewport{touch-action:none;width:100%;height:100%;display:block}.panel{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow), var(--highlight);-webkit-backdrop-filter:blur(14px)saturate(1.25);backdrop-filter:blur(14px)saturate(1.25);background:linear-gradient(#161c26e6,#0c1016e0)}.hud-top{pointer-events:none;z-index:3;align-items:stretch;gap:8px;display:flex;position:absolute;top:10px;left:10px;right:10px}.hud-top>*{pointer-events:auto}.hud-bar{white-space:nowrap;align-items:center;gap:14px;min-width:0;padding:6px 14px 6px 8px;display:flex}.hud-emblem{filter:drop-shadow(0 2px 6px #0006);display:grid}.hud-sep{background:var(--border-strong);align-self:stretch;width:1px;margin:4px 0}.hud-money{line-height:1.05;display:grid}.hud-money-value{font-family:var(--font-num);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:21px;font-weight:700}.hud-money-value.bad{color:var(--bad)}.hud-delta{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.hud-delta.ok{color:var(--ok)}.hud-delta.bad{color:var(--bad)}.hud-clock{align-items:center;gap:10px;display:flex}.hud-time{line-height:1.05;display:grid}.hud-day{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.hud-time strong{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:21px;font-weight:700}.hud-time strong.paused{color:var(--muted);animation:1.4s steps(2,end) infinite blink}.hud-speed{background:#00000059;border:0;border-radius:9px;gap:2px;margin:0;padding:3px;display:flex;box-shadow:inset 0 1px 2px #0006}.hud-speed button{width:30px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;transition:background .15s,color .15s;display:grid}.hud-speed button:hover{color:var(--text);background:#ffffff14}.hud-speed button.active{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:var(--accent-ink);box-shadow:0 2px 8px -2px var(--accent-glow)}.hud-status{align-items:center;gap:4px;min-width:0;display:flex}.hud-chip{color:#eef1f4e6;border-radius:8px;align-items:center;gap:6px;height:30px;padding:0 9px;font-size:13px;transition:background .15s;display:inline-flex}.hud-chip:hover{background:#ffffff0f}.crews{align-items:center;gap:4px;display:flex}.crew{background:#4cd07dd9;border-radius:3px;width:9px;height:9px;box-shadow:0 0 6px #4cd07d59}.crew.busy{background:var(--refund);box-shadow:0 0 6px #f2994a99}.hud-right{align-items:stretch;gap:8px;margin-left:auto;display:flex}.hud-button{min-height:44px;color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:650;transition:border-color .15s,background .15s;display:inline-flex;position:relative}.hud-button.square{justify-content:center;width:46px;padding:0}.hud-button:hover,.hud-button.active{border-color:#34d6e68c}.hud-button.active{background:linear-gradient(#34d6e633,#34d6e614)}.hud-live{font-family:var(--font-num);color:var(--muted);font-size:12px}.count{background:var(--bad);color:#fff;text-align:center;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:11.5px;font-weight:700;line-height:20px;box-shadow:0 0 0 2px #0c1016e6}.hud-button .count{animation:pop .3s var(--ease-out);position:absolute;top:-7px;right:-7px}.hud-room{align-items:center;gap:12px;padding:0 14px;font-size:13px;display:flex}.room-code{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.room-code-value{font-family:var(--font-num);letter-spacing:.18em;color:var(--accent);-webkit-user-select:all;user-select:all}.players{gap:10px;margin:0;padding:0;list-style:none;display:flex}.players li{align-items:center;gap:5px;display:flex}.players li.me{font-weight:650}.dot{border-radius:50%;width:7px;height:7px}.dot.ready{background:var(--ok)}.dot.loading{background:var(--refund)}.hud-menu{display:flex;position:relative}.popover{width:280px;animation:drop .18s var(--ease-out);z-index:10;gap:14px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.popover-section{gap:8px;display:grid}.popover-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.popover .segmented{margin:0}.popover-leave{width:100%}.dock-area{pointer-events:none;z-index:3;justify-items:center;gap:8px;display:grid;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.dock-area>*{pointer-events:auto}.dock{border-radius:14px;gap:4px;padding:6px;display:flex}.dock-tool{color:#eef1f4b3;cursor:pointer;width:76px;transition:background .15s, color .15s, border-color .15s, transform .15s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:10px;justify-items:center;gap:4px;padding:9px 4px 7px;font-size:11.5px;font-weight:600;display:grid;position:relative}.dock-tool:hover{color:var(--text);background:#ffffff12;transform:translateY(-2px)}.dock-tool.active{color:var(--accent);box-shadow:0 6px 18px -8px var(--accent-glow);background:linear-gradient(#34d6e638,#34d6e614);border-color:#34d6e699}.dock-tool.active:after{content:"";background:var(--accent);height:3px;box-shadow:0 0 8px var(--accent-glow);border-radius:2px;position:absolute;bottom:-7px;left:30%;right:30%}.dock-tool.danger.active{color:var(--bad);background:linear-gradient(#ff6b6b33,#ff6b6b0f);border-color:#ff6b6b99}.dock-tool.danger.active:after{background:var(--bad);box-shadow:0 0 8px #ff6b6b80}.dock-tool kbd{min-width:14px;font-family:var(--font-num);color:var(--muted);background:#ffffff14;border-radius:4px;padding:0 3px;font-size:9.5px;line-height:14px;position:absolute;top:4px;right:6px}.controls-hint{color:#fff9;text-shadow:0 1px 2px #000000e6;white-space:nowrap;margin:0;font-size:11px}.hint-chip{align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.hint-chip svg{color:var(--accent)}.catalog{width:min(1270px,100vw - 24px);animation:rise .22s var(--ease-out);border-radius:14px;gap:8px;padding:10px 10px 12px;display:grid}.catalog-head{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;padding:0 4px;font-size:15px;font-weight:700;display:flex}.catalog-head .muted{font-family:var(--font-ui);letter-spacing:normal;text-transform:none;margin-left:auto;font-weight:500}.catalog-cards{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.build-card{text-align:left;border:1px solid var(--border);background:var(--panel-raised);cursor:pointer;transition:border-color .15s, background .15s, transform .15s var(--ease-out);border-radius:10px;flex:0 0 132px;gap:4px;padding:6px 6px 8px;display:grid;position:relative}.build-card:hover{border-color:var(--border-strong);background:#ffffff14;transform:translateY(-3px)}.build-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset, 0 10px 24px -12px var(--accent-glow);background:#34d6e61a}.build-card-art{height:78px;color:var(--muted);background:radial-gradient(120% 90% at 50% 100%,#34d6e624,#0000 60%),linear-gradient(#243041,#151c26);border-radius:7px;place-items:center;display:grid;position:relative;overflow:hidden}.build-card-art img{object-fit:contain;filter:drop-shadow(0 6px 6px #00000073);width:100%;height:100%;transition:transform .25s var(--ease-out)}.build-card:hover .build-card-art img{transform:scale(1.06)}.build-card-count{font-family:var(--font-num);color:var(--text);background:#0000008c;border-radius:6px;align-items:center;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:4px;right:4px}.build-card-name{padding:0 2px;font-size:13px;font-weight:650;line-height:1.2}.build-card-meta{justify-content:space-between;align-items:center;padding:0 2px;font-size:11.5px;display:flex}.build-card-meta .muted{align-items:center;gap:3px;display:inline-flex}.build-card-cost{font-family:var(--font-num);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.build-card-cost.short{color:var(--bad)}.build-card.locked .build-card-art img{filter:grayscale()brightness(.6)}.build-card-lock{color:#ffc58a;text-align:center;background:#3c1e0ad9;border-radius:5px;padding:2px 6px;font-size:11px;font-weight:650;position:absolute;top:52px;left:6px;right:6px}.cursor-tip{pointer-events:none;background:var(--panel-solid);border:1px solid var(--border-strong);box-shadow:var(--shadow);white-space:nowrap;z-index:5;border-radius:8px;padding:6px 10px;font-size:12.5px;position:fixed}.cursor-tip.refund strong{color:var(--refund)}.cursor-tip.bad{color:var(--bad)}.cursor-tip .tip-checks{border-top:1px solid var(--border);color:var(--text);white-space:normal;gap:4px;max-width:280px;margin:6px 0 0;padding:6px 0 0;list-style:none;display:grid}.cursor-tip .tip-checks li{grid-template-columns:14px 1fr;align-items:start;gap:6px;line-height:1.3;display:grid}.cursor-tip .tip-checks li svg{margin-top:1px}.cursor-tip .tip-checks li.ok svg{color:var(--ok)}.cursor-tip .tip-checks li.warn svg{color:#ffa53c}.cursor-tip .tip-checks li.missing svg{color:var(--accent)}.cursor-tip .tip-sub{color:var(--muted);font-size:11.5px;display:block}.toasts{pointer-events:none;z-index:6;justify-items:end;gap:6px;display:grid;position:absolute;top:66px;right:10px}.snow-alert{border-radius:var(--radius);z-index:7;background:linear-gradient(#0e1c28f5,#080e14f5);border:1px solid #8ff3fb59;gap:6px;min-width:340px;max-width:min(560px,100vw - 40px);padding:9px 12px;display:grid;position:absolute;top:66px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px -10px #000000b3}.snow-alert.urgent{border-color:#ff5050bf;animation:1.6s ease-in-out infinite snow-urgent}@keyframes snow-urgent{50%{box-shadow:0 0 0 3px #ff505040,0 10px 30px -10px #000000b3}}.snow-alert-line{color:var(--text);align-items:center;gap:9px;display:flex}.snow-alert-line>svg{color:var(--cyan-hi);flex:none}.snow-alert-line.storm{color:var(--amber);font-weight:600}.snow-alert-line.storm>svg{color:var(--amber)}.snow-alert-text{flex:1;gap:1px;display:grid}.snow-alert-text .small{color:var(--muted)}.snow-dispatch{border-radius:var(--radius-sm);color:#1b0f02;cursor:pointer;pointer-events:auto;white-space:nowrap;background:linear-gradient(#f08a24,#c9600e);border:1px solid #ffb21ed9;flex:none;align-items:center;gap:6px;padding:6px 11px;font-weight:700;display:inline-flex}.snow-dispatch:hover{background:linear-gradient(#ffa040,#e0701a)}.snow-markers{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:hidden}.snow-marker{visibility:hidden;width:0;height:0;position:fixed;top:0;left:0}.snow-marker>*{pointer-events:auto}.snow-marker-body{color:var(--text);white-space:nowrap;cursor:pointer;background:#0a141ceb;border:1px solid #8ff3fb80;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;bottom:30px;left:0;transform:translate(-50%);box-shadow:0 6px 16px -6px #000c}.snow-marker-body:after{content:"";background:linear-gradient(#8ff3fbb3,#0000);width:2px;height:30px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.snow-marker.deep .snow-marker-body{border-color:#ffb21ecc}.snow-marker.closed .snow-marker-body{border-color:var(--red);background:#3c0a0ceb;animation:1.6s ease-in-out infinite snow-urgent}.snow-marker.closed .snow-marker-body:after{background:linear-gradient(#ff5050cc,#0000)}.snow-marker .snow-dispatch{font-size:12px;position:absolute;bottom:62px;left:0;transform:translate(-50%)}.snow-card .snow-dispatch{justify-self:start}.snow-depth div{background:linear-gradient(90deg,#cfe7f5,#fff)}.snow-depth.warn div{background:linear-gradient(90deg, #ffd27a, var(--amber))}.snow-depth.bad div{background:linear-gradient(90deg, #ff9a9a, var(--red))}@media (prefers-reduced-motion:reduce){.snow-alert.urgent,.snow-marker.closed .snow-marker-body{animation:none}}.toast-go{cursor:pointer;color:inherit;font:inherit;text-align:left}.toast-go:hover{filter:brightness(1.15)}.toast-go-icon{opacity:.75;margin-left:auto}.toast{border:1px solid var(--border-strong);border-left:3px solid var(--info);max-width:360px;box-shadow:var(--shadow);animation:toast-in .28s var(--ease-out);background:linear-gradient(#181e28f5,#0e1219f5);border-radius:10px;align-items:center;gap:10px;padding:9px 14px 9px 10px;font-size:13.5px;display:flex}.toast-icon{width:26px;height:26px;color:var(--info);background:#4aa8ff26;border-radius:7px;flex:none;place-items:center;display:grid}.toast.ok{border-left-color:var(--ok)}.toast.ok .toast-icon{color:var(--ok);background:#4cd07d26}.toast.accent{border-left-color:var(--accent)}.toast.accent .toast-icon{color:var(--accent);background:#34d6e626}.toast.bad{border-left-color:var(--bad);color:#ffd0d0}.toast.bad .toast-icon{color:var(--bad);background:#ff6b6b26}@keyframes toast-in{0%{opacity:0;transform:translate(24px)}}@keyframes pop{0%{transform:scale(.4)}}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}.loading{z-index:10;background:radial-gradient(900px 500px at 50% 35%,#34d6e61a,#0000 60%),linear-gradient(#121821,#07090d);transition:opacity .6s;animation:.4s fade-in;position:absolute;inset:0;overflow:hidden}.loading.done{opacity:0;pointer-events:none}.loading-photo{object-fit:cover;transform-origin:60% 45%;-webkit-user-select:none;user-select:none;width:100%;height:100%;animation:40s ease-out forwards ken-burns;position:absolute;inset:0}@keyframes ken-burns{0%{transform:scale(1.02)}to{transform:scale(1.16)translate(-1.5%,1%)}}.loading-shade{background:linear-gradient(#07090d8c 0%,#0000 22%),linear-gradient(#0000 50%,#07090d8c 76%,#07090deb 100%),radial-gradient(120% 90% at 50% 40%,#0000 55%,#00000073 100%);position:absolute;inset:0}.loading:not(.has-photo) .loading-shade{background:0 0}.loading-brand{align-items:center;gap:14px;animation:.6s fade-in;display:flex;position:absolute;top:28px;left:32px}.loading-logo{filter:drop-shadow(0 4px 18px #00000080);width:min(62vw,340px);height:auto;display:block}.loading-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 12px #00000080;font-size:30px;font-weight:700}.loading-title span{color:var(--accent);letter-spacing:.3em}.loading-bottom{grid-template-columns:minmax(0,620px) minmax(260px,380px);justify-content:space-between;align-items:end;gap:24px;display:grid;position:absolute;bottom:30px;left:32px;right:32px}.loading-tip{text-align:left;cursor:pointer;border:1px solid var(--border);gap:8px;padding:14px 18px;animation:.6s fade-in;display:grid}.loading-tip:hover{border-color:var(--border-strong)}.loading-tip-head{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.loading-tip-count{font-family:var(--font-num);letter-spacing:.04em;color:var(--muted);margin-left:auto;font-size:12px}.loading-tip-text{color:#eef1f4eb;animation:tip-in .45s var(--ease-out);font-size:15px;line-height:1.5}@keyframes tip-in{0%{opacity:0;transform:translateY(6px)}}.loading-progress{gap:8px;display:grid}.loading-progress-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.loading-status{letter-spacing:.08em;text-transform:uppercase;color:#eef1f4d9;font-size:13px;animation:.4s fade-in}.loading-percent{font-family:var(--font-num);color:var(--accent);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.loading-bar{background:#ffffff1f;border-radius:2px;height:4px;position:relative;overflow:hidden}.loading-bar span{background:var(--accent);box-shadow:0 0 12px var(--accent-glow);border-radius:2px;transition:width .35s ease-out;position:absolute;inset:0 auto 0 0}.loading-bar span:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);width:40%;animation:1.6s ease-in-out infinite sweep;position:absolute;inset:0}.loading-note{color:var(--muted);font-size:12px}@media (max-width:760px){.loading-bottom{grid-template-columns:1fr;left:16px;right:16px}.loading-brand{left:16px}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(290%)}}@keyframes fade-in{0%{opacity:0}}.overlay{background:var(--bg);color:var(--muted);z-index:10;place-items:center;font-size:15px;display:grid;position:absolute;inset:0}.overlay.soft{pointer-events:none;background:0 0;inset:40% 0 auto}.debug{color:#b8f7c8;pointer-events:none;background:#000000a6;border-radius:8px;padding:8px 10px;font:12px/1.5 ui-monospace,Consolas,monospace;position:absolute;top:70px;left:12px}.window-head{align-items:center;gap:12px;display:flex}.window-icon{width:40px;height:40px;color:var(--accent);background:linear-gradient(#34d6e640,#34d6e614);border:1px solid #34d6e659;border-radius:10px;flex:none;place-items:center;display:grid}.window-title{flex:1;gap:1px;min-width:0;display:grid}.window-title h2{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:22px;font-weight:700;line-height:1.05;overflow:hidden}.window-sub{color:var(--muted);font-size:12px}.building-panel{width:320px;max-height:calc(100% - 180px);animation:panel-in .25s var(--ease-out);z-index:2;gap:12px;padding:14px;display:grid;position:absolute;top:66px;right:10px;overflow-y:auto}.building-panel p{margin:0}.level-pips{gap:4px;display:flex}.level-pips span{background:#ffffff1a;border-radius:3px;flex:1;height:6px}.level-pips span.active{background:repeating-linear-gradient(45deg, var(--refund) 0 4px, #f2994a66 4px 8px);background-size:11.3px 11.3px;animation:1s linear infinite stripes}.status-row{justify-content:space-between;font-size:13px;display:flex}.status-row .ok{color:var(--ok)}.progress{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}.progress div{background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;transition:width .2s linear}.next{border-radius:var(--radius-sm);border:1px solid var(--border);background:#00000040;gap:4px;padding:10px 12px;display:grid}.next-row{align-items:baseline;gap:10px;font-size:13px;display:flex}.next-row strong{font-family:var(--font-num);color:var(--accent)}.next-row .bad,.blocker{color:var(--refund)}.blocker{margin:0}.actions{gap:8px;display:flex}.actions .btn{flex:1}.btn.danger{color:#ffc2c2;background:#ff6b6b2e;border-color:#ff6b6b80}.onboarding{max-width:340px;animation:panel-in .3s var(--ease-out);z-index:2;border-color:#34d6e666;padding:12px 16px;font-size:13.5px;position:absolute;top:66px;left:10px}.checklist strong{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:16px;display:block}.checklist ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checklist li{color:#eef1f4d9;align-items:center;gap:8px;display:flex}.checklist .check{border:1.5px solid var(--border-strong);color:#0000;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.checklist li.done{color:var(--muted);text-decoration:line-through}.checklist li.done .check{border-color:var(--ok);background:var(--ok);color:#06210f}@keyframes panel-in{0%{opacity:0;transform:translate(16px)}}@keyframes stripes{to{background-position:11.3px 0}}@media (max-width:1250px){.hud-chip:nth-child(n+4){display:none}}@media (max-width:1000px){.hud-emblem,.hud-delta,.controls-hint,.hud-button span:not(.count),.room-info .players{display:none}.dock-tool{width:54px}.dock-tool span{display:none}}.gallery-label{white-space:nowrap;pointer-events:none;background:#0009;border-radius:6px;padding:2px 7px;font-size:11px;position:absolute;transform:translate(-50%)}.gallery-controls{align-items:center;gap:14px;padding:8px 14px;font-size:13px;display:flex;position:absolute;top:12px;left:12px}.gallery-controls label{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.gallery-controls input{width:180px;padding:0}.gallery-controls a{color:var(--accent)}.catalog-cards::-webkit-scrollbar{height:6px}.catalog-cards::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.catalog-cards{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ops-panel{width:420px;max-width:calc(100vw - 20px);animation:panel-in .25s var(--ease-out);z-index:2;flex-direction:column;gap:12px;padding:14px;display:flex;position:absolute;top:66px;bottom:118px;right:10px}.ops-tabs{border-bottom:1px solid var(--border);gap:2px;display:flex}.ops-tabs button{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;padding:8px 12px 10px;font-size:15px;font-weight:700;transition:color .15s;display:flex;position:relative}.ops-tabs button:hover{color:var(--text)}.ops-tabs button.active{color:var(--accent)}.ops-tabs button.active:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 8px var(--accent-glow);border-radius:1px;position:absolute;bottom:-1px;left:8px;right:8px}.ops-tabs .count{font-family:var(--font-ui);letter-spacing:normal}.ops-body{scrollbar-width:thin;flex:1;overflow-y:auto}.pool-unlocks{gap:4px;margin:6px 0 0;padding-left:20px;font-size:12px;display:grid}.offer-list,.contract-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.offer,.contract-list li{border:1px solid var(--border);background:#00000038;border-radius:9px;gap:6px;padding:10px;display:grid}.offer-head{justify-content:space-between;align-items:center;display:flex}.airline{align-items:center;gap:8px;font-size:13.5px;font-weight:650;display:flex}.airline-symbol{object-fit:contain;filter:drop-shadow(0 1px 1px #00000059);display:block}.tail{color:#fff;letter-spacing:.04em;border-radius:4px;place-items:center;width:26px;height:18px;font-size:10px;font-weight:800;display:grid}.offer-terms{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12.5px;display:flex}.chip{background:#ffffff17;border-radius:10px;padding:1px 8px;font-size:11.5px}.offer-terms .money{color:var(--accent)}.offer-terms .bad,.requires{color:var(--refund);margin:0}.slots{font-family:ui-monospace,Consolas,monospace;font-size:12px}.offer .actions{gap:6px;display:flex}.offer .actions .btn{padding:5px 12px;font-size:12.5px}.fids{border-collapse:collapse;background:#07090c;border-radius:8px;width:100%;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;overflow:hidden}.fids th{text-align:left;color:#7c8794;text-transform:uppercase;letter-spacing:.06em;background:#11151b;padding:7px 8px;font-size:10.5px;font-weight:600}.fids td{color:#ffd23f;vertical-align:top;border-top:1px solid #141920;padding:6px 8px}.fids tr.live td{color:#6ee7a0}.fids tr.warn td{color:#ffb057}.fids tr.bad td{color:#ff7b7b}.fids tr.done td{color:#5d6773}.fids .reason{opacity:.85;font-size:10.5px;display:block}.fids .reason.late{color:var(--refund);opacity:1}.ledger{border-top:1px solid var(--border);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-top:8px;font-size:12.5px;display:flex}.ledger .ok{color:var(--ok)}.ledger .bad{color:var(--bad)}.ledger-net{margin-left:auto}.checklist p{margin:8px 0 0}.ops-card{border:1px solid var(--border);background:#00000038;border-radius:9px;gap:8px;padding:10px;display:grid}.card-head{justify-content:space-between;align-items:baseline;display:flex}.gantt{gap:5px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.gantt li{grid-template-columns:96px 1fr 92px;align-items:center;gap:8px;display:grid}.svc-bar{background:#ffffff14;border-radius:4px;height:7px;overflow:hidden}.svc-bar span{background:var(--muted);height:100%;transition:width .25s linear;display:block}.gantt li.active .svc-bar span{background:var(--accent)}.gantt li.done .svc-bar span{background:var(--ok)}.gantt li.blocked{color:var(--muted)}.svc-note{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.gantt li.done .svc-note{color:var(--ok)}.stat-grid{grid-template-columns:1fr auto;gap:4px 12px;font-size:12.5px;display:grid}.stat-grid .ok{color:var(--ok)}.stat-grid .warn{color:var(--refund)}.stat-grid .bad{color:var(--bad)}.pax-stages{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.pax-stages li{grid-template-columns:1fr auto;gap:3px 10px;font-size:12.5px;display:grid}.pax-stages .stage-name{align-items:center;gap:6px;font-weight:600;display:inline-flex}.pax-stages .stage-num{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--muted)}.pax-stages .stage-flag{color:var(--bad);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:#ff6b6b2e;border-radius:3px;padding:0 5px;font-size:11px}.pax-stages .stage-bar{background:#00000073;border-radius:2px;grid-column:1/-1;height:5px;overflow:hidden;box-shadow:inset 0 1px 2px #0009}.pax-stages .stage-bar span{background:var(--ok);height:100%;transition:width .4s var(--ease-out);display:block}.pax-stages .stage-bar.warn span{background:var(--refund)}.pax-stages .stage-bar.bad span{background:var(--bad);box-shadow:0 0 8px #ff6b6b99}.stars{letter-spacing:1px;color:#ffffff2e}.stars .on{color:var(--accent)}.stars .half{background:linear-gradient(90deg, var(--accent) 50%, #ffffff2e 50%);color:#0000;-webkit-background-clip:text;background-clip:text}.ledger-summary{cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:4px 12px;width:100%;padding:0;font-size:12.5px;display:flex}.ledger-summary .ok{color:var(--ok)}.ledger-detail{gap:2px;margin-top:6px;font-size:12px;display:grid}.ledger-detail>div{justify-content:space-between;display:flex}.ledger-detail .pos span:last-child{color:var(--ok)}.ledger-detail .neg span:last-child{color:var(--bad)}.stats-line{justify-content:flex-start;margin-top:4px}.runway-designator{letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:18px}.runway-designator .muted{font-size:13px}.wind{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.wind-arrow{color:var(--accent);font-weight:700;transition:transform .6s;display:inline-block}.segmented{background:#0000004d;border:0;border-radius:8px;gap:2px;min-width:0;margin:10px 0 4px;padding:2px;display:flex}.segmented button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:1;padding:6px 4px;font-size:12px}.segmented button:hover{color:var(--text);background:#ffffff14}.segmented button.active{background:var(--accent);color:var(--accent-ink)}.chip.renewal{color:var(--ok);background:#4cd07d2e}.airline-score{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:6px;display:grid}.score-bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.score-fill{height:100%;transition:width .4s;display:block}.score-fill.ok{background:var(--ok)}.score-fill.warn{background:var(--refund)}.score-fill.bad{background:var(--bad)}.fleet{gap:5px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.fleet li{grid-template-columns:1fr auto 44px;align-items:center;gap:8px;display:grid}.fleet-count{text-align:right;font-variant-numeric:tabular-nums}.fleet li.full .fleet-count{color:var(--refund)}.fleet-dots{gap:3px;display:flex}.fleet-dot{background:#ffffff26;border-radius:50%;width:7px;height:7px}.fleet-dot.busy{background:var(--accent)}.ops-card .warn{color:var(--refund)}.fids tr.clickable{cursor:pointer}.fids tr.diag-row td{padding:0 6px 10px}.fids tr.open td,.fids tr.clickable:hover td{background:#ffffff0d}.diag{background:#00000040;border-radius:8px;padding:8px 10px}.diag .ok{color:var(--ok)}.diag .bad{color:var(--bad)}.diag-causes{gap:4px;margin:6px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.diag-causes li{grid-template-columns:1fr 70px 46px;align-items:center;gap:8px;display:grid}.diag-minutes{text-align:right;font-variant-numeric:tabular-nums}.diag-causes li.none{color:var(--muted)}.weather{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.weather-icon{font-size:15px;line-height:1}.weather .bad{color:var(--bad)}.weather-ice{color:#8fd3ff;font-size:12px}.grant-card{box-shadow:0 10px 26px -14px var(--accent-glow);background:linear-gradient(135deg,#34d6e629,#34d6e608 60%),#00000040;border:1px solid #34d6e68c;border-radius:10px;gap:8px;padding:12px;display:grid}.grant-card p{margin:0;line-height:1.45}.grant-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.grant-head>div{gap:1px;display:grid}.grant-badge{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:9px;place-items:center;display:grid}.grant-amount{font-family:var(--font-num);color:var(--accent);font-size:20px;font-weight:700}.grant-notice{z-index:2;animation:rise .3s var(--ease-out);border-color:#34d6e68c;align-items:center;gap:12px;padding:10px 12px 10px 14px;display:flex;position:absolute;top:66px;left:50%;transform:translate(-50%)}.grant-notice>svg{color:var(--accent)}.grant-notice>div{display:grid}.grant-notice.urgent{border-color:#ff6b6bb3}.grant-notice.urgent>svg{color:var(--bad)}.count.warn{background:var(--refund)}.mgmt-panel .ok{color:var(--ok)}.mgmt-panel .warn{color:var(--refund)}.mgmt-panel .bad{color:var(--bad)}.mgmt-panel .staff,.mgmt-panel .finance{gap:12px;display:grid}.mgmt-panel .staff>p,.mgmt-panel .mgmt-section>p{margin:0;line-height:1.45}.mgmt-panel .staff-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mgmt-panel .staff-card{border:1px solid var(--border);border-left:3px solid var(--ok);background:#00000038;border-radius:9px;gap:9px;padding:11px 12px;display:grid}.mgmt-panel .staff-card.warn{border-left-color:var(--refund)}.mgmt-panel .staff-card.idle{opacity:.55;border-left-color:var(--border-strong)}.mgmt-panel .staff-card.bad{border-left-color:var(--bad);background:#ff6b6b0f}.mgmt-panel .staff-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.mgmt-panel .staff-icon{width:34px;height:34px;color:var(--accent);background:#34d6e61a;border-radius:8px;place-items:center;display:grid}.mgmt-panel .staff-name{gap:1px;min-width:0;display:grid}.mgmt-panel .staff-name strong{font-family:var(--font-display);letter-spacing:.02em;font-size:16px;font-weight:600}.mgmt-panel .staff-row{grid-template-columns:auto 1fr 44px;align-items:center;gap:10px;display:grid}.mgmt-panel .staff-pct{font-family:var(--font-num);text-align:right}.mgmt-panel .staff-foot{justify-content:space-between;gap:8px;display:flex}.mgmt-panel .switch{border:1px solid var(--border-strong);cursor:pointer;color:var(--muted);background:#ffffff0a;border-radius:14px;align-items:center;gap:7px;padding:4px 8px 4px 4px;font-size:12px;display:inline-flex}.mgmt-panel .switch-knob{background:#ffffff24;border-radius:8px;width:28px;height:16px;transition:background .2s;position:relative}.mgmt-panel .switch-knob:after{content:"";width:12px;height:12px;transition:transform .2s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.mgmt-panel .switch.on{color:var(--text);border-color:#34d6e673}.mgmt-panel .switch.on .switch-knob{background:var(--accent)}.mgmt-panel .switch.on .switch-knob:after{background:var(--accent-ink);transform:translate(12px)}.mgmt-panel .stepper{border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:center;display:inline-flex;overflow:hidden}.mgmt-panel .stepper button{cursor:pointer;background:#ffffff0f;border:0;width:28px;height:28px;font-size:16px}.mgmt-panel .stepper button:hover:not(:disabled){background:#ffffff24}.mgmt-panel .stepper button:disabled{opacity:.35;cursor:default}.mgmt-panel .stepper-value{text-align:center;min-width:70px;font-family:var(--font-num);padding:0 8px;font-size:14px}.mgmt-panel .mgmt-total{background:#34d6e612;border:1px solid #34d6e633;border-radius:9px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.mgmt-panel .mgmt-section{border:1px solid var(--border);background:#00000038;border-radius:9px;gap:9px;padding:12px;display:grid}.mgmt-panel .mgmt-section h3{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.mgmt-panel .statement{border-collapse:collapse;width:100%;font-size:12.5px}.mgmt-panel .statement th{text-align:right;color:var(--muted);padding:0 0 4px;font-weight:560}.mgmt-panel .statement tr.row td{padding:3px 0}.mgmt-panel .statement td.num{text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums}.mgmt-panel .statement tr.none td{color:var(--muted);opacity:.6}.mgmt-panel .statement tr.subtotal td{border-top:1px solid var(--border);padding-bottom:6px;font-weight:600}.mgmt-panel .statement tr.total td{border-top:1px solid var(--border-strong);padding-top:6px;font-size:14px;font-weight:700}.mgmt-panel .fee{gap:4px;display:grid}.mgmt-panel .fee-label{justify-content:space-between;font-size:13px;display:flex}.mgmt-panel .fee-label strong{font-family:var(--font-num)}.mgmt-panel .fee input[type=range]{width:100%;accent-color:var(--accent)}.mgmt-panel .fee-effects{color:var(--muted);gap:3px;margin:0;padding-left:18px;display:grid}.mgmt-panel .mgmt-section .actions{gap:8px;display:flex}.mgmt-panel .loan-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mgmt-panel .loan{border:1px solid var(--border);background:#ffffff09;border-radius:8px;gap:6px;padding:9px 10px;display:grid}.mgmt-panel .loan-head,.mgmt-panel .loan-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.mgmt-panel .loan-head strong{font-family:var(--font-num);font-size:15px}.btn.small{padding:4px 10px;font-size:12px}.mgmt-panel .loan-offers{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.mgmt-panel .loan-offer{border:1px solid var(--border-strong);cursor:pointer;text-align:left;background:#ffffff0d;border-radius:8px;gap:3px;padding:9px 8px;transition:border-color .15s,background .15s;display:grid}.mgmt-panel .loan-offer strong{font-family:var(--font-num);color:var(--accent);font-size:15px}.mgmt-panel .loan-offer:hover:not(:disabled){border-color:var(--accent);background:#34d6e614}.mgmt-panel .loan-offer:disabled{opacity:.4;cursor:default}.modal-backdrop{z-index:8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05070a8c;place-items:center;padding:16px;animation:.2s fade-in;display:grid;position:absolute;inset:0}.modal{width:min(480px,100%);max-height:calc(100% - 32px);animation:panel-in .25s var(--ease-out);gap:14px;padding:16px;display:grid;overflow-y:auto}.modal-backdrop .modal .actions{gap:8px;display:flex}.save-overwrite{gap:6px;display:grid}.save-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.save-list.compact{gap:4px;max-height:240px;overflow-y:auto}.save-row{cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #0000;border-radius:8px;width:100%;padding:6px}.save-row:hover{border-color:var(--border-strong)}.save-row.active{border-color:var(--accent);background:#34d6e614}.save-card{border:1px solid var(--border);background:#00000040;border-radius:10px;gap:10px;padding:10px;display:grid}.save-summary{grid-template-columns:96px 1fr;align-items:center;gap:12px;display:grid}.save-list.compact .save-summary{grid-template-columns:64px 1fr}.save-picture{aspect-ratio:16/9;color:var(--muted);background:linear-gradient(160deg,#1b2533,#0d1219);border-radius:6px;place-items:center;display:grid;overflow:hidden}.save-img{object-fit:cover;width:100%;height:100%}.save-text{gap:2px;min-width:0;display:grid}.save-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;font-weight:600;display:flex;overflow:hidden}.save-facts{font-family:var(--font-num);gap:10px;display:flex}.save-facts .bad,.save-when .bad{color:var(--bad)}.save-actions{align-items:center;gap:6px;display:flex}.save-actions .btn+.icon-btn{margin-left:auto}.save-actions .icon-btn.danger{width:auto;color:var(--bad);border-color:#ff6b6b80;gap:6px;padding:0 10px;display:inline-flex}.save-import{justify-items:start;gap:6px;margin-top:6px;display:grid}.popover-save{justify-content:flex-start;width:100%}.popover-save kbd{border:1px solid var(--border-strong);font-family:var(--font-num);color:var(--muted);border-radius:4px;margin-left:auto;padding:1px 6px;font-size:11px}.hud-bar .hud-name{cursor:pointer;max-width:220px;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:2px 6px;font-size:16px;font-weight:600;display:inline-flex}.hud-bar .hud-name span{text-overflow:ellipsis;overflow:hidden}.hud-bar .hud-name svg{color:var(--muted);flex:none}.hud-bar .hud-name:hover{border-color:var(--border-strong)}.hud-bar .hud-name input{border:1px solid var(--accent);background:#0000004d;border-radius:6px;width:200px;padding:4px 6px}.host-choice{flex-wrap:wrap}.banner.issues{align-items:flex-start}.building-panel .banner.issues p{margin:3px 0 0}.paper-backdrop{z-index:9}.paper-wrap{width:min(620px,100%);max-height:calc(100% - 24px);animation:paper-in .45s var(--ease-out);justify-items:center;gap:12px;display:grid;overflow-y:auto}@keyframes paper-in{0%{opacity:0;transform:translateY(30px)rotate(-1.5deg)}}.paper-wrap .paper{color:#23262b;background:linear-gradient(#ffffff80,#0000 30%),repeating-linear-gradient(0deg,#0000 0 27px,#283c5a09 27px 28px),#f6f2e7;border-radius:3px;width:100%;padding:26px 30px 22px;font-family:Barlow,Inter Variable,sans-serif;position:relative;overflow:hidden;box-shadow:0 30px 60px #0000008c,inset 0 2px #fff9}.paper-wrap .paper-head{border-bottom:3px solid var(--airline);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding-bottom:12px;display:grid}.paper-wrap .paper-head strong{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--airline);font-size:20px;display:block}.paper-wrap .paper-head div span{color:#6b6f76;font-size:12px}.paper-wrap .paper-badge{background:var(--airline);color:#fff;width:44px;height:44px;font-family:var(--font-display);border-radius:8px;place-items:center;font-size:18px;font-weight:700;display:grid}.paper-wrap .paper-number{font-family:var(--font-num)}.paper-wrap .paper-title{font-family:var(--font-display);letter-spacing:.05em;text-align:center;text-transform:uppercase;margin:18px 0 8px;font-size:24px;font-weight:700}.paper-wrap .paper-body{gap:10px;font-size:14px;line-height:1.45;display:grid}.paper-wrap .paper-body p{margin:0}.paper-wrap .paper-lead{text-align:center;color:#444a52}.paper-wrap .clauses{border-top:1px solid #d8d2c2;display:grid}.paper-wrap .clause{border-bottom:1px solid #d8d2c2;grid-template-columns:170px 1fr;gap:10px;padding:6px 0;display:grid}.paper-wrap .clause span{color:#6b6f76}.paper-wrap .paper-terms{color:#444a52;gap:3px;margin:0;padding-left:20px;display:grid}.capacity-warning{color:#a3262b;background:#e5484d14;border:1px solid #e5484d73;border-radius:6px;gap:4px;padding:10px 12px;font-size:13px;display:grid}.ops-panel .capacity-warning{color:#ffb3b3;background:#ff6b6b1a}.capacity-warning p{margin:0}.capacity-chip{color:var(--refund);margin:0}.paper-wrap .paper-signs{grid-template-columns:1fr 1fr;gap:28px;margin-top:10px;display:grid}.paper-wrap .paper-sign{border-top:0;display:grid}.paper-wrap .paper-sign svg{border-bottom:1px solid #8b8576;height:52px}.paper-wrap .paper-sign span{letter-spacing:.08em;text-transform:uppercase;color:#6b6f76;padding-top:4px;font-size:11px}.paper-wrap .sig{fill:#0000;stroke:#1b3a73;stroke-width:1px;stroke-dasharray:900;stroke-dashoffset:900px;font-family:Segoe Script,Brush Script MT,Snell Roundhand,cursive;font-size:30px}.paper-wrap .sig.done{fill:#1b3a73;stroke-dashoffset:0}.paper-wrap .sig.writing{animation:1.2s ease-in-out forwards sign}@keyframes sign{70%{fill:#0000}to{stroke-dashoffset:0;fill:#1b3a73}}.paper-wrap .paper-stamp{color:#b22222d9;font-family:var(--font-display);letter-spacing:.12em;mix-blend-mode:multiply;border:4px double #b22222d9;border-radius:8px;padding:6px 14px;font-size:28px;font-weight:700;animation:.35s cubic-bezier(.3,1.6,.5,1) stamp;position:absolute;bottom:74px;right:36px;transform:rotate(-12deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-12deg)scale(2.2)}}.paper-wrap .paper-actions{gap:10px;display:flex}.actions.end{justify-content:flex-end}@media (max-width:560px){.paper{padding:18px 16px}.clause{grid-template-columns:1fr;gap:2px}.paper-signs{gap:12px}}.social-panel .social-logo{color:#4aa8ff}.social-panel .mood{border:1px solid var(--border);background:#00000040;border-radius:9px;gap:8px;padding:10px 12px;display:grid}.social-panel .mood.crisis{background:#ff6b6b1a;border-color:#ff6b6b99;animation:1.6s ease-in-out infinite alarm-pulse}.social-panel .mood.viral{background:#4cd07d14;border-color:#4cd07d80}@keyframes alarm-pulse{50%{box-shadow:0 0 0 3px #ff6b6b40}}.social-panel .mood-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.social-panel .mood-gauge{background:linear-gradient(90deg,#e5484d,#f2994a 35%,#8f99a6 50%,#8fd08f 65%,#4cd07d);border-radius:4px;height:8px;position:relative}.social-panel .mood-needle{width:4px;height:16px;transition:left .6s var(--ease-out);background:#fff;border-radius:2px;margin-left:-2px;position:absolute;top:-4px;box-shadow:0 0 0 2px #00000080}.social-panel .trending{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.social-panel .tag{color:#4aa8ff;font-weight:600}.social-panel .feed{gap:8px;margin:0;padding:0;list-style:none;display:grid}.social-panel .post{border:1px solid var(--border);animation:panel-in .3s var(--ease-out);background:#00000038;border-radius:10px;grid-template-columns:36px 1fr;gap:10px;padding:10px;display:grid}.social-panel .post.angry{border-left:3px solid var(--bad)}.social-panel .post.happy{border-left:3px solid var(--ok)}.social-panel .avatar{color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid;overflow:hidden}.social-panel .avatar>img:not(.airline-symbol){object-fit:cover;width:100%;height:100%}.social-panel .post-main{gap:4px;min-width:0;display:grid}.social-panel .post-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.social-panel .verified{color:#fff;background:#4aa8ff;border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;display:inline-grid}.social-panel .post-text{overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.45}.social-panel .post-stats{gap:16px;display:flex}.social-panel .ratings{gap:14px;display:grid}.social-panel .ratings-overall{justify-items:center;gap:4px;padding:10px;display:grid}.social-panel .ratings-overall strong{font-family:var(--font-num);color:var(--accent);font-size:40px}.social-panel .rating-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.social-panel .rating-list li{grid-template-columns:110px 1fr 36px;align-items:center;gap:10px;display:grid}.social-panel .rating-list strong{font-family:var(--font-num);text-align:right}.social-panel .rating-tip{grid-column:1/-1;margin-top:-6px}.hud-button.alarm{border-color:#ff6b6bb3;animation:1.6s ease-in-out infinite alarm-pulse}.catalog-head .catalog-tabs{flex-wrap:wrap;gap:4px;display:flex}.catalog-tabs button{border:1px solid var(--border);cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#ffffff08;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.catalog-tabs button.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.catalog-body{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:10px;height:214px;display:grid}.catalog-cards{align-self:start}.catalog-details{overscroll-behavior:contain;border:1px solid var(--border);background:#00000040;border-radius:10px;align-content:start;gap:8px;min-height:0;padding:10px 12px;display:grid;overflow-y:auto}.catalog-details p{color:#eef1f4d9;margin:0;line-height:1.4}.catalog-details-head{align-items:center;gap:8px;font-size:15px;display:flex}.catalog-details-head svg{color:var(--accent)}.catalog-details-head .chip{font-family:var(--font-num);margin-left:auto}.catalog-needs{color:#bfe0ff;gap:3px;margin:0;padding:0;list-style:none;display:grid}.catalog-needs li{align-items:center;gap:6px;display:flex}.level-ladder{gap:2px;margin:0;padding:0;list-style:none;display:grid}.level-ladder li{background:#ffffff08;border-radius:5px;grid-template-columns:42px 1fr auto auto;align-items:center;gap:8px;padding:3px 6px;display:grid}.level-ladder li.locked{opacity:.55}.level-ladder .lvl{font-family:var(--font-display);color:var(--accent);font-weight:700}.level-ladder .money{font-family:var(--font-num)}@media (max-width:860px){.catalog-body{grid-template-columns:1fr;height:auto}.catalog-details{display:none}}.touch-confirm{z-index:6;width:max-content;max-width:calc(100vw - 16px);animation:rise .2s var(--ease-out);border-radius:14px;align-items:center;gap:10px;padding:6px;display:flex;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}.touch-confirm.bad{border-color:#ff6b6b73}.touch-details{width:min(360px,100vw - 16px);max-height:min(300px,100dvh - 170px);animation:rise .18s var(--ease-out);border-radius:12px;padding:0;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden}.touch-details .catalog-details{max-height:inherit;border:0;display:grid}.touch-what{border:1px solid var(--border-strong);width:52px;height:52px;color:var(--accent);cursor:pointer;background:#ffffff0d;border-radius:10px;flex:none;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.touch-what img{object-fit:cover;width:100%;height:100%}.touch-what-up{color:#fff;background:#0009;border-radius:50%;padding:1px;position:absolute;top:3px;right:3px;transform:rotate(-90deg)}.touch-what.plain{background:0 0;border:0;width:30px}.touch-info{gap:1px;min-width:0;max-width:260px;font-size:13px;line-height:1.25;display:grid}.touch-info strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.touch-info .ok b{color:var(--ok)}.touch-info .refund b{color:var(--refund)}.touch-info .bad{color:var(--bad);font-weight:600}.touch-issue{color:#f5b942;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:11.5px;display:inline-flex;overflow:hidden}.touch-issue.missing{color:var(--bad)}.touch-buttons{gap:6px;margin-left:auto;display:flex}.touch-confirm .btn.big{width:auto;min-width:48px;min-height:48px;padding:8px 16px}.touch-confirm .btn.big.icon-only{padding:0}.touch-handle{pointer-events:none;z-index:4;background:#34d6e6e6;border:3px solid #fff;border-radius:50%;width:30px;height:30px;position:absolute;top:-15px;left:-15px;box-shadow:0 0 0 7px #34d6e640,0 2px 8px #00000080}.folded-chip{cursor:pointer;text-align:left;border-radius:12px;gap:10px;padding:5px 6px 5px 5px}.folded-art{background:#ffffff0d;border-radius:8px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.folded-art img{object-fit:cover;width:100%;height:100%}.folded-text{gap:1px;font-size:13px;line-height:1.2;display:grid}.folded-text .muted{font-size:11.5px;font-weight:500}.folded-open{border:1px solid var(--border-strong);background:#ffffff0f;border-radius:9px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:13px;display:inline-flex}.chip-toggle{border:1px solid var(--border-strong);min-height:34px;color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:999px;align-items:center;gap:6px;margin-left:4px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.closure-flights{margin:4px 0 0}.closure-flights.bad{color:#ffb3b3;font-weight:600}.chip-cost{white-space:nowrap}.chip-tool{color:var(--text);white-space:nowrap;font-weight:700}.chip-toggle.on{border-color:var(--accent);color:var(--accent);background:#34d6e62e}@media (max-width:1360px){.hud-bar .hud-status .hud-chip:nth-child(n+3){display:none}}@media (max-width:1100px){.hud-right .hud-button>span:not(.count):not(.hud-live){display:none}.hud-bar .hud-name{max-width:150px}}@media (max-width:760px){.hud-top{flex-wrap:wrap;top:6px;left:6px;right:6px}.hud-bar{gap:4px;padding:4px 8px 4px 4px}.hud-bar .hud-status,.hud-bar .hud-sep,.hud-bar .hud-emblem,.hud-bar .hud-name{display:none}.hud-right{gap:4px}.hud-button{min-height:40px;padding:0 10px}.ops-panel,.building-panel{width:auto;max-height:58vh;inset:auto 6px 112px}.ops-tabs{scrollbar-width:none;overflow-x:auto}.ops-tabs button{flex:none}.onboarding{max-width:calc(100% - 12px);padding:8px 10px;font-size:12px;top:104px;left:6px}.toasts{justify-items:stretch;top:56px;left:6px;right:6px}.dock-tool>span,.dock-tool kbd,.controls-hint{display:none}.dock{scrollbar-width:none;max-width:calc(100vw - 12px);overflow-x:auto}.dock-tool{flex:none;min-width:44px;padding:8px 6px}.catalog{width:calc(100vw - 12px)}.touch-confirm{bottom:84px}}.objectives{gap:8px;width:340px;display:grid}.objectives .objectives-head{cursor:pointer;color:var(--accent);background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.objectives .objectives-head strong{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:16px}.objectives .objectives-head .muted:last-child{margin-left:auto}.objectives ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.objectives li{color:#eef1f4b3;grid-template-columns:18px 1fr auto;align-items:start;gap:8px;display:grid}.objectives li.current{color:var(--text)}.objectives .check{border:1.5px solid var(--border-strong);border-radius:50%;width:16px;height:16px;margin-top:2px}.objectives li.current .check{border-color:var(--accent);box-shadow:0 0 0 3px #34d6e633}.objectives .goal-title{font-weight:600}.objectives .goal-hint{color:#eef1f4bf;margin:3px 0 0;font-size:12.5px;line-height:1.4}.objectives .goal-reward{font-family:var(--font-num);color:var(--ok);font-size:12.5px;font-weight:700}@media (max-width:760px){.objectives{width:auto}}.volume{font-family:var(--font-num);align-items:center;gap:10px;font-size:13px;display:flex}.volume.mix .mix-label{font-family:var(--font-ui);color:var(--muted);flex:0 0 92px}.volume input{accent-color:var(--accent);flex:1}.mgmt-panel .chart{width:100%;height:auto}.mgmt-panel .bar-income{fill:var(--ok);opacity:.85}.mgmt-panel .bar-costs{fill:var(--bad);opacity:.75}.mgmt-panel .line-flights{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.mgmt-panel .chart-day{fill:var(--muted);text-anchor:middle;font-size:9px}.mgmt-panel .chart-net{font-family:var(--font-num);letter-spacing:0;margin-left:auto;font-size:14px}.mgmt-panel .chart-legend{color:var(--muted);gap:14px;display:flex}.mgmt-panel .chart-legend .key:before{content:"";vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.mgmt-panel .key.income:before{background:var(--ok)}.mgmt-panel .key.costs:before{background:var(--bad)}.mgmt-panel .key.flights:before{background:var(--accent);vertical-align:3px;height:3px}.chip.cargo{color:#ffc58a;background:#f2994a2e}.mgmt-panel .staff-night{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px 10px;padding-top:8px;display:flex}.mgmt-panel .staff-night-label{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.mgmt-panel .staff-night .segmented button{padding:3px 10px;font-size:12px}.start-kinds{grid-template-columns:1fr 1fr;gap:8px;display:grid}.start-kind{border:1px solid var(--border-strong);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:#ffffff08;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.start-kind>span{flex-direction:column;gap:2px;display:flex}.start-kind:hover{background:#ffffff12}.start-kind.active{background:#34d6e614;border-color:#34d6e699}.start-kind.active svg{color:var(--accent)}@media (max-width:520px){.start-kinds{grid-template-columns:1fr}}.chip.intl{color:#9fd0ff;background:#4aa8ff2e}.mgmt-panel .airline-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mgmt-panel .airline-row{border:1px solid var(--border);border-radius:var(--radius-sm);opacity:.75;background:#ffffff05;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.mgmt-panel .airline-row.flying{opacity:1;background:#ffffff0d}.mgmt-panel .airline-swatch{color:#fff;width:40px;height:28px;font-family:var(--font-display);letter-spacing:.04em;text-shadow:0 1px 2px #00000080;border-radius:5px;place-items:center;font-weight:700;display:grid}.mgmt-panel .airline-main{flex-direction:column;gap:2px;min-width:0;display:flex}.mgmt-panel .airline-name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mgmt-panel .airline-score{align-items:center;gap:6px;width:92px;display:flex}.mgmt-panel .airline-score .score-bar{flex:1}.chip.domestic{color:var(--muted);background:#ffffff14}.facility-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.facility{background:#ffffff08;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.facility.has{background:#4cd07d14}.facility-text{flex-direction:column;gap:2px;min-width:0;display:flex}.chat{z-index:20;pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;max-width:min(420px,100vw - 28px);display:flex;position:absolute;bottom:96px;left:14px}.chat>*{pointer-events:auto}.chat-lines{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.chat-lines li{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:chat-in .2s var(--ease-out);border-radius:7px;padding:4px 9px;font-size:13px;line-height:1.35}.chat-lines li strong{color:var(--accent);margin-right:4px}.chat-lines li.mine strong{color:var(--info)}.chat-input{gap:6px;display:flex}.chat-input input{border:1px solid var(--border-strong);background:var(--panel-solid);width:min(320px,100vw - 110px);color:var(--text);font:inherit;border-radius:8px;padding:8px 10px}.chat-button{border:1px solid var(--border-strong);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:34px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.chat-button .count{background:var(--bad);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;line-height:18px}.chat.open{border:1px solid var(--border-strong);background:var(--panel-solid);width:min(420px,100vw - 28px);box-shadow:var(--shadow);border-radius:12px;gap:0;padding:8px}.chat.open .chat-lines{width:100%;max-height:min(260px,40vh);margin:6px 0 8px;overflow-y:auto}.chat.open .chat-lines li{-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff0a}.chat.open .chat-lines li .title-chip{margin-right:4px}.chat-name{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.chat-name strong{text-underline-offset:3px;-webkit-text-decoration:underline dotted #ffffff59;text-decoration:underline dotted #ffffff59}.chat-actions{gap:6px;margin-top:5px;display:flex}.chat-actions .btn{align-items:center;gap:4px;display:inline-flex}.chat-muted{border:1px solid var(--border-strong);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px}.chat-muted.on{color:var(--text)}.chat-muted-list{flex-direction:column;gap:4px;width:100%;margin:6px 0 0;padding:0;list-style:none;display:flex}.chat-muted-list li{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.chat-head{align-items:center;gap:6px;width:100%;display:flex}.chat-head strong{flex:1}.chat-button:hover{color:var(--text)}@keyframes chat-in{0%{opacity:0;transform:translateY(4px)}}.chip.charter{color:#ffb3b3;background:#ff6b6b2e}.whats-new-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.whats-new{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--panel-solid);width:min(560px,100%);max-height:min(80vh,760px);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:18px;display:flex}.whats-new-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.whats-new-list li{border-radius:var(--radius-sm);background:#ffffff0a;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.whats-new-list li strong{color:var(--accent)}.whats-new .sheet-head{justify-content:space-between}.hud-chip.noise-toggle{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;font-size:12px;font-weight:700}.hud-chip.noise-toggle.active{color:#ffb36b;border-color:#ff8c3c80}.help-body{gap:14px;display:grid;overflow:auto}.help-steps{gap:6px;margin:0;padding-left:20px;font-size:13px;display:grid}.help-credits-title{margin:14px 0 2px;font-size:13px}.help-credits{margin:4px 0 0;padding-left:18px;line-height:1.6}.help-credits a{color:inherit}.help-keys{border-collapse:collapse;font-size:13px}.help-keys td{border-top:1px solid var(--border);padding:4px 8px}.help-keys kbd{white-space:nowrap}.mgmt-panel .bar-pax{fill:var(--info);opacity:.55}.mgmt-panel .line-ontime{fill:none;stroke:var(--ok);stroke-width:2px;stroke-linejoin:round}.mgmt-panel .key.pax:before{background:var(--info)}.mgmt-panel .key.ontime:before{background:var(--ok);vertical-align:3px;height:3px}.mgmt-panel .wage-policy{margin-bottom:10px}.pavement .progress.wear div{background:var(--ok)}.pavement .progress.wear.worn div{background:var(--refund)}.pavement .progress.wear.poor div{background:var(--bad)}.pave-actions{flex-wrap:wrap;gap:6px;display:flex}.weather-menu>.hud-chip{font:inherit;color:inherit;cursor:pointer}.forecast-pop{white-space:normal;grid-template-columns:minmax(0,1fr);width:min(380px,100vw - 32px);max-height:calc(100dvh - 90px);margin-left:max(-190px,16px - 50vw);left:50%;right:auto;overflow:hidden auto}.forecast-pop .card-head{flex-wrap:wrap;gap:2px 8px}.forecast-pop .forecast,.forecast-pop .outlook,.outlook-days,.season-bar{grid-template-columns:minmax(0,1fr);min-width:0}.outlook{gap:8px;display:grid}.outlook-days{gap:3px;margin:0;padding:0;list-style:none;display:grid}.outlook-days li{font-variant-numeric:tabular-nums;background:#ffffff0a;border-radius:7px;grid-template-columns:68px 20px auto minmax(0,1fr);align-items:center;gap:6px;padding:4px 8px;display:grid}.outlook-days li.icy{background:#8fd3ff1f}.outlook-days li.bad{background:#ff6b6b29}.outlook-day{white-space:nowrap;line-height:1.15;display:grid}.outlook-chance{text-align:right}.season-bar{gap:4px;margin-top:4px;display:grid}.season-track{border-radius:7px;grid-template-columns:repeat(4,1fr);font-size:11px;display:grid;position:relative;overflow:hidden}.season-seg{text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.7;padding:5px 4px;overflow:hidden}.season-seg.now{opacity:1;font-weight:600}.season-seg.s0{background:#78c8782e}.season-seg.s1{background:#ffc8502e}.season-seg.s2{background:#dc823c2e}.season-seg.s3{background:#8fd3ff33}.season-mark{background:var(--accent,#34d6e6);width:2px;box-shadow:0 0 6px var(--accent,#34d6e6);margin-left:-1px;position:absolute;top:0;bottom:0}.forecast{gap:8px;margin-bottom:10px;display:grid}.forecast-hours{grid-template-columns:repeat(6,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.forecast-hours li{font-variant-numeric:tabular-nums;background:#ffffff0a;border-radius:7px;justify-items:center;gap:2px;padding:6px 2px;display:grid}.forecast-hours li.bad{background:#ff6b6b24}.forecast-hours li.icy{background:#8fd3ff1f}.mgmt-panel .market{gap:6px;margin-bottom:10px;display:grid}.market-row{justify-content:space-between;align-items:baseline;display:flex}.market .good{color:var(--ok)}.market .warn{color:var(--refund)}.hud-day-wx{display:none}@media (max-width:760px){.hud-day-wx{display:inline}.hud-season{display:none}.hud-day{letter-spacing:.03em}.hud-clock{gap:6px}}@media (max-width:380px){.hud-speed button{width:26px}.hud-time strong{font-size:19px}}.year-body{flex-direction:column;gap:12px;min-height:0;display:flex;overflow:auto}.year-body .whats-new-list{overflow:visible}.year-stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:0;display:grid}.year-stats div{background:#ffffff0a;border-radius:8px;padding:8px 10px}.year-stats dd{font-family:var(--font-num);margin:2px 0 0;font-size:18px;font-weight:700}.year-stats dd.bad{color:var(--bad)}.year-awards strong{color:var(--accent)}.auth-panel{animation:drop .25s var(--ease-out);gap:12px;margin-top:8px;display:grid}.auth-tabs{grid-template-columns:1fr 1fr;display:grid}.account-chip{color:var(--text);align-items:center;gap:6px;display:inline-flex}.link-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{color:var(--text)}.title-chip{letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;color:var(--muted);border:1px solid var(--border);white-space:nowrap;background:#ffffff12;border-radius:999px;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.title-chip.special{color:var(--accent-ink);background:linear-gradient(180deg, var(--accent-strong), var(--accent));border-color:#0000}.community{gap:12px;display:grid}.board-tabs{grid-template-columns:repeat(3,1fr);display:grid}.board-me{color:var(--accent);margin:0}.board-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.board-list button{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #0000;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.board-list button:hover{border-color:var(--border-strong)}.board-list li.mine button{border-color:var(--accent);background:#34d6e614}.board-list .board-gap{text-align:center;color:var(--muted);letter-spacing:.3em;line-height:1}.board-rank{font-family:var(--font-num);color:var(--muted);place-items:center;font-weight:700;display:grid}.board-rank.r1{color:#8ff3fb}.board-rank.r2{color:#d5dde6}.board-rank.r3{color:#e2a46a}.board-who{min-width:0;display:grid}.board-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.board-score{font-family:var(--font-num);font-variant-numeric:tabular-nums}.profile-head{align-items:center;gap:12px;display:flex}.profile-head h3{font-family:var(--font-display);margin:0 0 4px;font-size:24px}.profile-head p{margin:4px 0 0}.profile-badge{width:56px;height:56px;color:var(--accent-ink);background:linear-gradient(160deg, var(--accent-strong), var(--accent));box-shadow:0 6px 20px -6px var(--accent-glow);border-radius:50%;flex:none;place-items:center;display:grid}.profile-badge:has(.rank-emblem){width:auto;height:auto;box-shadow:none;background:0 0;border-radius:0}.rank-emblem{object-fit:cover;filter:drop-shadow(0 4px 10px #00000073)}.profile-points{gap:6px;display:grid}.profile-points .progress div{background:linear-gradient(90deg, var(--accent), var(--accent-strong))}.profile select{width:100%}.ach-group{gap:6px;display:grid}.ach-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ach-list li{border-radius:var(--radius-sm);opacity:.75;background:#ffffff08;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.ach-list li.done{opacity:1;background:#34d6e612}.ach-text{gap:1px;display:grid}.ach-title{color:var(--accent);align-items:center;gap:4px;display:inline-flex}.ach-points{font-family:var(--font-num);color:var(--muted)}.ach-showcase{gap:6px;display:grid}.ach-showcase-badges{flex-wrap:wrap;gap:6px;display:flex}.ach-badge{flex:none;place-items:center;display:inline-grid;position:relative}.ach-badge>img{object-fit:contain;filter:drop-shadow(0 3px 6px #00000073);width:100%;height:100%}.ach-badge-medal{color:#14181ed9;background:radial-gradient(circle at 34% 28%, var(--tier-light), var(--tier) 48%, var(--tier-dark) 100%);border-radius:50%;place-items:center;width:88%;height:88%;display:grid;box-shadow:inset 0 0 0 2px #ffffff59,inset 0 -3px 6px #00000059,0 3px 8px #00000073}.ach-badge.locked>img{filter:grayscale()brightness(.5)drop-shadow(0 3px 6px #00000073)}.ach-badge.locked>.ach-badge-medal{filter:grayscale()brightness(.5)}.ach-badge-lock{color:var(--muted);background:#121821;border-radius:50%;place-items:center;padding:3px;display:grid;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 0 1px #ffffff1f}.tier-bronze{--tier:#d08a4c;--tier-light:#ffc89a;--tier-dark:#7a4a22;--tier-glow:#d08a4c8c}.tier-silver{--tier:#c9d3de;--tier-light:#f2f7fb;--tier-dark:#6f7d8c;--tier-glow:#c9d3de80}.tier-gold{--tier:#ffc828;--tier-light:#ffe28a;--tier-dark:#9a6b00;--tier-glow:#ffc82899}.tier-platinum{--tier:#8ff3fb;--tier-light:#d8fbff;--tier-dark:#2f8f9c;--tier-glow:#34d6e699}.ach-splash{z-index:40;pointer-events:none;justify-items:center;animation:.5s ease-in 2.3s forwards ach-splash-out;display:grid;position:absolute;top:84px;left:50%;translate:-50%}.ach-splash-stage{place-items:center;width:168px;height:168px;display:grid;position:relative}.ach-splash-rays{background:repeating-conic-gradient(from 0deg, var(--tier-glow) 0deg 7deg, transparent 7deg 22.5deg);border-radius:50%;animation:.6s ease-out both ach-rays-in,9s linear infinite ach-rays-spin;position:absolute;inset:-36px;-webkit-mask:radial-gradient(circle,#000 18%,#0000 66%);mask:radial-gradient(circle,#000 18%,#0000 66%)}.ach-splash-ring{border:3px solid var(--tier-light);box-shadow:0 0 18px var(--tier-glow), inset 0 0 18px var(--tier-glow);border-radius:50%;animation:.9s ease-out .15s both ach-ring;position:absolute;inset:20px}.ach-splash-sparks i{background:var(--tier-light);width:7px;height:7px;box-shadow:0 0 8px var(--tier-glow);rotate:var(--angle);border-radius:50%;margin:-3.5px;animation:.8s cubic-bezier(.2,.7,.3,1) .2s both ach-spark;position:absolute;top:50%;left:50%}.ach-splash-badge{place-items:center;animation:.6s cubic-bezier(.2,1.6,.4,1) both ach-pop;display:grid;position:relative}.ach-splash-badge .ach-badge{filter:drop-shadow(0 0 18px var(--tier-glow))}.ach-splash-shine{mix-blend-mode:screen;-webkit-mask:var(--badge) center / contain no-repeat;mask:var(--badge) center / contain no-repeat;position:absolute;inset:0;overflow:hidden}.ach-splash-badge:has(.ach-badge-medal) .ach-splash-shine{border-radius:50%;inset:6%;-webkit-mask:none;mask:none}.ach-splash-shine:before{content:"";background:linear-gradient(115deg,#0000 38%,#ffffffb3 50%,#0000 62%);animation:.9s ease-in-out .7s both ach-shine;position:absolute;inset:-20%;translate:-120%}.ach-splash-card{border:1px solid color-mix(in srgb, var(--tier) 55%, transparent);min-width:220px;box-shadow:0 10px 30px -10px #000000b3, 0 0 24px -8px var(--tier-glow);text-align:center;animation:ach-card-in .45s var(--ease-out) .25s both;background:linear-gradient(#10161ef0,#080b0ff0);border-radius:12px;justify-items:center;gap:2px;margin-top:-6px;padding:8px 18px 9px;display:grid}.ach-splash-kicker{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--tier-light);font-size:12px;font-weight:700}.ach-splash-name{font-family:var(--font-display);color:#fff;font-size:22px;font-weight:700;line-height:1.15}.ach-splash-meta{color:var(--muted);font-size:12px}@keyframes ach-rays-in{0%{opacity:0;scale:.4}}@keyframes ach-rays-spin{to{rotate:1turn}}@keyframes ach-ring{0%{opacity:0;scale:.55}12%{opacity:.95}to{opacity:0;scale:1.6}}@keyframes ach-spark{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translateY(calc(-1 * var(--distance))) scale(.2)}}@keyframes ach-pop{0%{opacity:0;rotate:-12deg;scale:.2}}@keyframes ach-shine{to{translate:120%}}@keyframes ach-card-in{0%{opacity:0;translate:0 14px}}@keyframes ach-splash-out{to{opacity:0;translate:-50% -18px;scale:.92}}@keyframes ach-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.ach-splash-rays,.ach-splash-ring,.ach-splash-sparks,.ach-splash-shine{display:none}.ach-splash-badge,.ach-splash-card{animation:.3s ease-out both ach-fade}.ach-splash{animation:.4s ease-in 2.4s forwards ach-splash-fade}}@keyframes ach-splash-fade{to{opacity:0}}.title-online{color:var(--muted);align-items:center;gap:8px;margin:10px 0 0;display:flex}.live-dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px;animation:2s infinite live;box-shadow:0 0 #4cd07d99}@keyframes live{70%{box-shadow:0 0 0 7px #4cd07d00}to{box-shadow:0 0 #4cd07d00}}.playing-as{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.open-rooms-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.open-rooms-head>div{display:grid}.room-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.room-list li{border-radius:var(--radius-sm);background:#ffffff0a;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.room-text{min-width:0;display:grid}.check-row{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.check-row input{accent-color:var(--accent);margin-top:3px}.tutorial{z-index:30;width:min(380px,100vw - 32px);animation:rise .25s var(--ease-out);border:1px solid #34d6e659;border-radius:14px;gap:10px;padding:14px 16px 12px;display:grid;position:absolute;bottom:120px;left:16px;box-shadow:0 18px 40px -18px #000000b3}.tutorial-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.tutorial-head h3{font-family:var(--font-display);letter-spacing:.04em;margin:2px 0 0;font-size:18px}.tutorial-icon{width:36px;height:36px;color:var(--accent-ink);background:var(--accent);border-radius:10px;place-items:center;display:grid}.tutorial-count{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.tutorial p{color:#eef1f4e6;margin:0;line-height:1.45}.tutorial-dots{gap:5px;display:flex}.tutorial-dots span{background:#ffffff26;border-radius:2px;width:18px;height:4px}.tutorial-dots span.past{background:#34d6e673}.tutorial-dots span.on{background:var(--accent)}.tutorial-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:720px){.tutorial{width:auto;bottom:96px;left:8px;right:8px}}.junction-road{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;gap:4px;padding:10px;display:grid}.junction-road.jam{border-color:var(--bad);background:#ff505014}.junction-road .meter{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.junction-road .meter span{background:var(--accent);height:100%;display:block}.junction-road.jam .meter span{background:var(--bad)}.junction-kinds{gap:8px;margin:0;padding:0;list-style:none;display:grid}.junction-kinds li{border:1px solid #ffffff14;border-radius:8px;gap:6px;padding:10px;display:grid}.junction-kinds li.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow) inset}.junction-kind-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.junction-kinds .accent{color:var(--accent)}.lesson-mascot{pointer-events:none;width:200px;height:200px;position:absolute;bottom:-14px;right:-176px}.lesson-mascot img{object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 18px #00000080);width:100%;height:100%;animation:mascot-hop .42s var(--ease-out)}@keyframes mascot-hop{0%{opacity:0;transform:translateY(16px)scale(.94)}60%{opacity:1;transform:translateY(-4px)scale(1.01)}to{transform:none}}.welcome-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .35s var(--ease-out);background:radial-gradient(at 40% 60%,#090c1159,#090c11c7);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.welcome-card{width:min(860px,100%);animation:rise .45s var(--ease-out);border-color:#34d6e659;border-radius:18px;grid-template-columns:300px minmax(0,1fr);align-items:end;padding:0 28px 0 0;display:grid;position:relative;overflow:visible}.welcome-mascot{filter:drop-shadow(0 18px 28px #0000008c);width:360px;animation:mascot-hop .6s .15s var(--ease-out) both;align-self:end;margin:-96px -40px 0 -36px}.welcome-text{gap:12px;padding:28px 0;display:grid}.welcome-kicker{color:var(--accent);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;font-size:13px}.welcome-text h2{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:40px;line-height:1}.welcome-text p{color:#eef1f4e6;margin:0;line-height:1.5}.welcome-points{gap:8px;margin:2px 0 0;padding:0;list-style:none;display:grid}.welcome-points li{color:var(--muted);align-items:center;gap:10px;display:flex}.welcome-points li svg{color:var(--accent)}.welcome-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.mascot-avatar{object-fit:cover;background:radial-gradient(circle at 50% 35%,#34d6e647,#121821e6);border-radius:50%;flex:none;box-shadow:0 0 0 1px #34d6e659}.toast.with-captain{align-items:center}@media (max-width:1000px){.lesson-mascot{display:none}}@media (max-width:720px){.welcome-card{text-align:left;grid-template-columns:1fr;padding:0 18px}.welcome-mascot{width:200px;margin:-120px auto -8px}.welcome-text{padding:0 0 18px}.welcome-text h2{font-size:30px}}.lesson-backdrop{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .3s var(--ease-out);background:radial-gradient(at 45% 55%,#090c1173,#090c11d1);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.lesson-stage{width:min(900px,100%);max-height:calc(100dvh - 48px);animation:stage-in .45s var(--ease-out);border-color:#34d6e666;border-radius:18px;grid-template-columns:300px minmax(0,1fr);align-items:end;padding-right:30px;display:grid;position:relative;box-shadow:0 30px 80px -20px #000c,0 0 0 1px #34d6e61f,0 0 60px -20px #34d6e673}@keyframes stage-in{0%{opacity:0;transform:translateY(24px)scale(.96)}}.stage-mascot{pointer-events:none;align-self:end;width:360px;height:360px;margin:-70px -30px 0 -40px}.stage-mascot img{object-fit:contain;object-position:bottom;filter:drop-shadow(0 18px 28px #0000008c);width:100%;height:100%;animation:mascot-hop .55s .1s var(--ease-out) both}.lesson-stage-body{gap:12px;padding:24px 0 22px;display:grid;overflow-y:auto}.lesson-stage-body>*{animation:step-in .45s var(--ease-out) both}.lesson-stage-body>:nth-child(2){animation-delay:60ms}.lesson-stage-body>:nth-child(3){animation-delay:.12s}.lesson-stage-body>:nth-child(n+4){animation-delay:.18s}@keyframes step-in{0%{opacity:0;transform:translateY(10px)}}.lesson-stage-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.lesson-stage h2{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:36px;line-height:1.05}.lesson-text{color:#eef1f4eb;margin:0;font-size:16px;line-height:1.55}.lesson-art{object-fit:cover;border-radius:10px;width:100%;max-height:220px;box-shadow:0 0 0 1px #ffffff14}.lesson-stage .lesson-model{height:200px}.lesson-confirm{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lesson-confirm button{border:1px solid var(--border-strong);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#ffffff08;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;transition:border-color .2s,background .2s;display:flex}.lesson-confirm button:hover{border-color:#34d6e680}.lesson-confirm button.on{background:#4cd07d1a;border-color:#4cd07d99}.lesson-confirm .box{border:2px solid var(--border-strong);width:22px;height:22px;color:var(--accent-ink);border-radius:6px;flex:none;place-items:center;display:grid}.lesson-confirm button.on .box{border-color:var(--ok);background:var(--ok);animation:tick-pop .3s var(--ease-out)}@keyframes tick-pop{50%{transform:scale(1.25)}}.lesson-progress{background:#ffffff1a;border-radius:3px;height:5px;overflow:hidden}.lesson-progress span{background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;box-shadow:0 0 12px var(--accent-glow);transition:width .5s var(--ease-out);border-radius:3px;display:block}.tutorial.lesson{gap:12px;width:min(430px,100vw - 32px);padding:16px 18px 14px}.tutorial.lesson .lesson-text{font-size:15px}.tutorial.lesson>:not(.lesson-mascot){animation:step-in .4s var(--ease-out) both}.tutorial.lesson .tutorial-dots{display:none}.tutorial.lesson .lesson-mascot{width:230px;height:230px;right:-206px}.tutorial.lesson.look,.lesson-spot.dim{z-index:72}.lesson-spot.dim{box-shadow:0 0 0 9999px #05080c9e, 0 0 0 2px var(--accent), 0 0 0 6px #34d6e640, 0 0 28px 6px #34d6e673;animation:none}.lesson-blocker{z-index:71;background:0 0;position:absolute}.lesson-blocker.dark{background:#05080c9e}.tutorial.lesson.nudged{animation:.45s ease-in-out nudge}@keyframes nudge{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.lesson-confetti{z-index:75;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lesson-confetti span{opacity:.9;border-radius:2px;width:9px;height:14px;animation:2.6s cubic-bezier(.3,.6,.5,1) both confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{to{opacity:.2;transform:translateY(105vh)rotate(540deg)}}@media (max-width:1000px){.lesson-stage{grid-template-columns:1fr;padding:0 20px}.stage-mascot{width:200px;height:200px;margin:-110px auto -10px}.lesson-stage h2{font-size:28px}}.paper-wrap.flight-card{z-index:6;justify-items:stretch;gap:8px;width:min(340px,100vw - 28px);max-height:calc(100% - 230px);position:absolute;bottom:140px;left:14px}.paper-wrap.flight-card .paper{padding:16px 18px 14px}.paper-wrap.flight-card .paper-title{margin:10px 0 2px;font-size:20px}.paper-wrap.flight-card .clause{grid-template-columns:110px 1fr;padding:4px 0;font-size:13px}.fcard-drawing{width:100%;height:auto;margin:2px 0 4px;display:block}.fcard-vip{color:#4a3a12;align-items:center;gap:8px;margin:0 0 4px;font-weight:600;display:flex}.fcard-vip-stamp{color:#b8871b;letter-spacing:.12em;border:2px solid #b8871b;border-radius:4px;padding:1px 7px;font-weight:800;transform:rotate(-4deg)}.fcard-bye{text-align:center;color:#6b6f76;margin:0;font-style:italic}.fcard-actions{justify-content:flex-end;gap:8px;display:flex}.hud-admin{background:var(--magenta);color:#1a0414;font-family:var(--font-display);letter-spacing:.08em;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:700}.objectives .daily-head{border-top:1px solid #ffffff14;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.daily-goals .daily-progress{height:4px;margin-top:4px}.daily-goals li.met .goal-title{color:var(--ok)}.daily-goals li.met .check{background:var(--ok);border-color:var(--ok)}.daily-goals li.missed{opacity:.5}.daily-goals li.missed .goal-title{text-decoration:line-through}@media (max-width:760px){.dock-area .dock{flex-wrap:wrap;justify-content:center;width:min(100vw - 16px,560px);padding:6px}.dock-area .dock-tool{letter-spacing:.02em;flex:none;width:62px;padding:7px 2px 5px;font-size:10px}}.lesson-skip{border:1px solid var(--border);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;flex:none;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.lesson-skip:hover{color:var(--text);border-color:var(--border-strong)}.album-head{align-items:center;gap:10px;margin-bottom:12px;font-size:13px;display:flex}.album-head strong{font-family:var(--font-num);font-size:18px}.album-bar{background:#ffffff14;border-radius:3px;flex:1;height:6px;overflow:hidden}.album-bar>span{background:var(--accent);height:100%;display:block}.album-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.album-card{border:1px solid var(--border);text-align:center;background:#ffffff08;border-radius:8px;justify-items:center;gap:4px;padding:10px 6px;display:grid}.album-tail{color:#fff;border-radius:8px 8px 8px 2px;place-items:center;width:38px;height:38px;display:grid}.album-name{font-size:12.5px;font-weight:600;line-height:1.2}.album-kind{color:var(--muted);font-size:11px}.album-card.locked{opacity:.55;border-style:dashed}.album-card.locked .album-tail{color:var(--muted);background:#ffffff0f}.album-need{color:var(--muted);font-size:10.5px;line-height:1.25}.noise-pop{white-space:normal;gap:8px;width:min(300px,100vw - 32px)}.delay-alert{width:min(460px,100%)}.delay-alert .window-icon.warn{color:var(--warn,#f5b942)}.delay-alert-late{margin:0;font-size:15px}.delay-alert-why,.delay-alert-tip{gap:4px;display:grid}.delay-alert .actions{flex-wrap:wrap;justify-content:flex-end}.flypast-backdrop{z-index:13;background:radial-gradient(#0c101473,#030508c7)}.flypast-notice{width:min(500px,100%);animation:flypast-in .35s var(--ease-out);border-color:#ffb21e66;padding-top:24px;position:relative;box-shadow:0 0 0 1px #ffb21e1f,0 18px 50px #0000008c}.flypast-notice:before{content:"";background:repeating-linear-gradient(-45deg, var(--amber) 0 10px, #15181b 10px 20px);opacity:.9;height:7px;position:absolute;inset:0 0 auto}.flypast-head{align-items:center;gap:14px;display:flex}.flypast-head h2{text-overflow:clip;white-space:normal;margin:2px 0 0;font-size:19px;line-height:1.2;overflow:visible}.flypast-emblem{filter:drop-shadow(0 0 6px #ffb21e59);flex:none;width:54px;height:54px}.flypast-emblem .ring{fill:#ffb21e0a;stroke:#ffb21ed9;stroke-width:1.5px}.flypast-emblem .ring.faint{fill:none;stroke:#ffb21e4d;stroke-width:1px}.flypast-emblem .sweep{transform-origin:24px 24px;animation:2.4s linear infinite flypast-sweep}.flypast-emblem .sweep path{fill:#ffb21e47}.flypast-emblem .jet{fill:#f4f6f8}.flypast-kicker{color:var(--amber);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.flypast-kicker:before{content:"";background:var(--red);width:8px;height:8px;box-shadow:0 0 8px var(--red);border-radius:50%;animation:1s steps(2,jump-none) infinite flypast-blink}.flypast-body{margin:0;line-height:1.45}.flypast-notam{border-radius:var(--radius);color:#ffd27a;letter-spacing:.03em;white-space:pre-wrap;background:repeating-linear-gradient(0deg,#ffb21e09 0 1px,#0000 1px 3px),#0006;border:1px solid #ffb21e40;margin:0;padding:10px 12px;font:12px/1.5 ui-monospace,Cascadia Mono,Consolas,monospace}.flypast-facts{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.flypast-facts div{border-radius:var(--radius);background:#ffffff0d;gap:2px;padding:8px 10px;display:grid}.flypast-facts dt{color:var(--muted);font-size:11px}.flypast-facts dd{margin:0;font-weight:700}.flypast-facts dd.good{color:var(--ok)}.flypast-watch{margin:0;font-size:13px}.flypast-notice .actions{justify-content:flex-end}.flypast-notice .actions .btn{min-width:120px}@keyframes flypast-sweep{to{transform:rotate(360deg)}}@keyframes flypast-blink{50%{opacity:.15}}@keyframes flypast-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@media (max-width:420px){.flypast-facts{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.flypast-emblem .sweep,.flypast-kicker:before{animation:none}}.advice-backdrop{z-index:12}.offer-advice{width:min(460px,100%)}.advice-list{gap:8px;margin:0;padding-left:18px;display:grid}.advice-list li{gap:2px;display:grid}.account-card{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:left;cursor:pointer;background:#ffffff0a;grid-template-columns:22px 1fr auto;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;transition:background .2s,border-color .2s;display:grid}.account-card>svg:first-child{color:var(--amber)}.account-card.on>svg:first-child{color:var(--ok)}.account-card:hover,.account-card.active{border-color:var(--border-strong);background:#ffffff14}.account-card-text{gap:1px;min-width:0;display:grid}.account-card-text strong{font-size:14px}.account-card-text span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.title-item-lock{color:var(--muted)}.account-page{gap:12px;display:grid}.sync-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#34d6e614,#34d6e605);gap:10px;padding:14px;display:grid}.sync-card p{color:#e6eff0d9;margin:0;font-size:13.5px;line-height:1.5}.sync-card strong{color:var(--text);font-size:15px}.sync-devices{color:var(--accent);align-items:flex-end;gap:10px;display:flex;position:relative}.sync-devices .sync-cloud{color:var(--muted);position:absolute;top:-12px;left:34px}.sync-card.on .sync-devices .sync-cloud{color:var(--ok)}.banner.ok{color:#b9f5cf;background:#3ee07f1a;border:1px solid #3ee07f59}.danger-link{color:#ff9c9c;justify-self:start}.delete-account{gap:10px;display:grid}.error-text{color:#ffb3b3;margin:0}.row-actions{justify-content:flex-end;gap:8px;display:flex}.legal-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040609b8;place-items:center;padding:16px;animation:.2s fade-in;display:grid;position:fixed;inset:0}.legal-window{width:min(760px,100%);height:min(720px,100dvh - 32px);animation:panel-in .25s var(--ease-out);grid-template-rows:auto auto minmax(0,1fr);padding:0;display:grid;overflow:hidden}.legal-head{align-items:center;gap:12px;padding:12px 14px 10px 16px;display:flex}.legal-head h2{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;flex:1;margin:0;font-size:20px}.legal-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;padding:0 12px;display:flex;overflow-x:auto}.legal-tabs button{min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.legal-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.legal-body{overscroll-behavior:contain;-webkit-user-select:text;user-select:text;min-height:0;padding:16px 20px 24px;overflow-y:auto}.legal-doc{color:#eef1f4e6;gap:10px;max-width:680px;font-size:14px;line-height:1.6;display:grid}.legal-doc h3{font-family:var(--font-display);letter-spacing:.03em;margin:0;font-size:22px}.legal-doc h4{color:var(--accent);margin:8px 0 0;font-size:15px}.legal-doc p,.legal-doc ul{margin:0}.legal-doc ul{gap:6px;padding-left:20px;display:grid}.legal-doc a,.legal-about a{color:var(--accent)}.legal-credits{font-size:13px}.legal-about{gap:14px;display:grid}.legal-brand{align-items:center;gap:14px;display:flex}.legal-brand>div{gap:2px;display:grid}.legal-brand strong{font-family:var(--font-display);letter-spacing:.04em;font-size:24px}.legal-facts{grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0;display:grid}.legal-facts dt{color:var(--muted)}.legal-facts dd{margin:0}.legal-links{flex-wrap:wrap;gap:8px;display:flex}.legal-page{height:100%;padding:max(24px, env(safe-area-inset-top)) max(20px, calc((100% - 760px) / 2)) 40px;-webkit-user-select:text;user-select:text;align-content:start;gap:20px;display:grid;overflow-y:auto}.legal-page-head{align-items:center;gap:12px;display:flex}.legal-page-head strong{font-family:var(--font-display);letter-spacing:.04em;flex:1;font-size:22px}.auth-agree{gap:6px;font-size:13px;display:grid}.auth-agree-links{flex-wrap:wrap;gap:14px;padding-left:26px;display:flex}.auth-agree-links .link-btn{color:var(--accent)}:root{--radius:5px;--radius-sm:3px;--cyan:#34d6e6;--cyan-hi:#8ff3fb;--cyan-lo:#1a8f9c;--green:#3ee07f;--amber:#ffb21e;--red:#ff5050;--magenta:#ff6ad5;--accent:var(--cyan);--accent-strong:var(--cyan-hi);--accent-ink:#00191c;--accent-glow:#34d6e666;--ok:var(--green);--refund:var(--amber);--bad:var(--red);--info:#6fb0ff;--text:#e6eff0;--muted:#8b9a9f;--bg:#0b0d0f;--metal-hi:#33383e;--metal:#23272c;--metal-lo:#16191c;--glass-top:#101618f2;--glass-bottom:#080b0cf5;--screws:radial-gradient(circle at 7px 7px, #5d646b 0 1.6px, #1b1e21 2.2px, transparent 2.8px), radial-gradient(circle at calc(100% - 7px) 7px, #5d646b 0 1.6px, #1b1e21 2.2px, transparent 2.8px), radial-gradient(circle at 7px calc(100% - 7px), #5d646b 0 1.6px, #1b1e21 2.2px, transparent 2.8px), radial-gradient(circle at calc(100% - 7px) calc(100% - 7px), #5d646b 0 1.6px, #1b1e21 2.2px, transparent 2.8px);--brushed:repeating-linear-gradient(90deg, #ffffff03 0 1px, transparent 1px 3px);--scan:repeating-linear-gradient(0deg, #78fff005 0 1px, transparent 1px 3px);--glass:linear-gradient(180deg, var(--glass-top), var(--glass-bottom));--bezel:0 0 0 1px #000000bf, inset 0 0 0 1px #ffffff12, inset 0 1px 0 #ffffff1f, inset 0 0 0 5px var(--metal), inset 0 0 0 6px #0000008c, 0 24px 50px -16px #000c;--key:inset 0 1px 0 #ffffff1a, inset 0 -2px 0 #00000073, 0 1px 0 #0009, 0 2px 4px #00000073;--lit:0 0 10px #34d6e68c}body{background:var(--bg)}.panel{background:var(--screws), var(--scan), var(--glass);border-radius:var(--radius);box-shadow:var(--bezel);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border:1px solid #3a4046}.window-head{background:var(--brushed), linear-gradient(180deg, var(--metal-hi), var(--metal) 70%, var(--metal-lo));border-radius:var(--radius) var(--radius) 0 0;border-bottom:1px solid #000000b3;margin:-14px -14px 0;padding:12px 14px;box-shadow:0 1px #ffffff0d}.window-icon{color:var(--cyan-hi);box-shadow:inset 0 0 8px #34d6e659, var(--lit);background:radial-gradient(circle at 50% 40%,#34d6e640,#0009);border:1px solid #34d6e68c;border-radius:3px}.window-title h2{letter-spacing:.08em;color:#f2f7f8;text-shadow:0 1px #000c;font-size:22px}.window-sub{color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-display);font-size:12.5px}.btn{background:var(--brushed), linear-gradient(180deg, #353a40, #24282d 55%, #1b1e22);box-shadow:var(--key);color:#dfe9ea;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px #000000b3;border:1px solid #000000bf;border-radius:3px;font-size:15px;font-weight:700}.btn:hover:not(:disabled){background:var(--brushed), linear-gradient(180deg, #3c4248, #2a2e33 55%, #1f2226);color:var(--cyan-hi);box-shadow:var(--key), inset 0 0 0 1px #34d6e659;text-shadow:var(--lit);border-color:#000000bf}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 5px #000000a6,inset 0 0 0 1px #34d6e64d}.btn.primary{background:var(--brushed), linear-gradient(180deg, #1f3a3e, #142a2d 55%, #0e1f21);color:var(--cyan-hi);text-shadow:var(--lit);box-shadow:var(--key), inset 0 0 0 1px #34d6e6bf, inset 0 0 14px #34d6e640, 0 0 18px -6px #34d6e699;border-color:#000c}.btn.primary:hover:not(:disabled){background:var(--brushed), linear-gradient(180deg, #23474c, #183338 55%, #102427);color:#fff;box-shadow:var(--key), inset 0 0 0 1px var(--cyan-hi), inset 0 0 18px #34d6e659, 0 0 26px -4px #34d6e6bf}.btn.danger,.btn.bad{color:#ffb3b3;box-shadow:var(--key), inset 0 0 0 1px #ff505080}.icon-btn{box-shadow:var(--key);color:#b9c6c9;background:linear-gradient(#353a40,#1d2125);border:1px solid #000000bf;border-radius:3px}.icon-btn:hover{color:var(--cyan-hi);box-shadow:var(--key), inset 0 0 0 1px #34d6e659;background:linear-gradient(#3c4248,#22262a);border-color:#000000bf}input,select{color:var(--cyan-hi);font-family:var(--font-num);background:linear-gradient(#070a0b,#0d1213);border:1px solid #000c;border-radius:3px;box-shadow:inset 0 2px 5px #000000b3,0 1px #ffffff0f}input:focus,select:focus{border-color:var(--cyan-lo);box-shadow:inset 0 2px 5px #000000b3,0 0 0 2px #34d6e640,0 0 14px -4px #34d6e6b3}select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--cyan) 50%) right 16px center / 6px 6px no-repeat, linear-gradient(-45deg, transparent 50%, var(--cyan) 50%) right 11px center / 6px 6px no-repeat, linear-gradient(180deg, #070a0b, #0d1213);padding-right:32px}input[type=range]{appearance:none;height:22px;box-shadow:none;background:0 0;border:0;padding:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(#050708,#12181a);border-radius:3px;height:6px;box-shadow:inset 0 1px 2px #000c,0 1px #ffffff0f}input[type=range]::-moz-range-track{background:linear-gradient(#050708,#12181a);border-radius:3px;height:6px}input[type=range]::-moz-range-progress{background:linear-gradient(90deg, var(--cyan-lo), var(--cyan));height:6px;box-shadow:var(--lit);border-radius:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(90deg, transparent 8px, var(--cyan) 8px 10px, transparent 10px), radial-gradient(circle at 40% 35%, #5a6168, #2a2e33 70%);cursor:grab;border:1px solid #000c;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 2px 5px #000000b3}input[type=range]::-moz-range-thumb{background:linear-gradient(90deg, transparent 8px, var(--cyan) 8px 10px, transparent 10px), radial-gradient(circle at 40% 35%, #5a6168, #2a2e33 70%);cursor:grab;border:1px solid #000c;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 5px #000000b3}input[type=range]:focus{box-shadow:none}input[type=checkbox]{appearance:none;cursor:pointer;background:linear-gradient(#070a0b,#12181a);border:1px solid #000c;border-radius:3px;flex:none;place-items:center;width:18px;height:18px;padding:0;display:inline-grid;box-shadow:inset 0 1px 3px #000c}input[type=checkbox]:checked{box-shadow:inset 0 0 0 1px var(--cyan), var(--lit)}input[type=checkbox]:checked:after{content:"";border-left:2px solid var(--cyan-hi);border-bottom:2px solid var(--cyan-hi);width:9px;height:5px;margin-top:-2px;transform:rotate(-45deg)}.segmented{background:linear-gradient(#070a0b,#101517);border-radius:3px;gap:3px;padding:3px;box-shadow:inset 0 2px 5px #000000bf,0 1px #ffffff0f}.segmented button{font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;color:#7f8e93;border-radius:2px;font-size:13px;font-weight:700}.segmented button.active{color:var(--cyan-hi);text-shadow:var(--lit);box-shadow:inset 0 0 0 1px #34d6e6b3, inset 0 -2px 0 var(--cyan);background:linear-gradient(#1f3a3e,#11272a)}.banner{border-radius:3px;box-shadow:inset 3px 0}.ops-tabs{border-bottom:1px solid #000000b3;gap:3px;box-shadow:0 1px #ffffff0d}.ops-tabs button{color:#7f8e93;background:linear-gradient(#ffffff0a,#0000);border-radius:3px 3px 0 0;transition:color .15s,background .15s}.ops-tabs button:hover{color:var(--text);background:linear-gradient(#ffffff14,#0000)}.ops-tabs button.active{color:var(--cyan-hi);text-shadow:var(--lit);background:linear-gradient(#34d6e629,#34d6e608);box-shadow:inset 1px 0 #34d6e666,inset -1px 0 #34d6e666,inset 0 1px #34d6e666}.ops-tabs button.active:after{background:var(--cyan);height:2px;box-shadow:var(--lit);left:0;right:0}.catalog-tabs button{box-shadow:var(--key);color:#a9b6ba;background:linear-gradient(#353a40,#1d2125);border:1px solid #000000bf;border-radius:3px}.catalog-tabs button:hover{color:var(--cyan-hi);border-color:#000000bf}.catalog-tabs button.active{color:var(--cyan-hi);text-shadow:var(--lit);box-shadow:var(--key), inset 0 0 0 1px #34d6e6b3;background:linear-gradient(#1f3a3e,#11272a);border-color:#000c}.hud-money-value{color:var(--green);text-shadow:0 0 12px #3ee07f73}.hud-money-value.bad{color:var(--red);text-shadow:0 0 12px #ff505073}.hud-time strong{color:#f4fafa;text-shadow:0 0 10px #8ff3fb40}.hud-day{color:var(--cyan)}.hud-speed{background:linear-gradient(#070a0b,#101517);border-radius:3px;box-shadow:inset 0 2px 5px #000000bf}.hud-speed button{border-radius:2px}.hud-speed button.active{color:var(--cyan-hi);box-shadow:inset 0 0 0 1px #34d6e6b3, var(--lit);background:linear-gradient(#1f3a3e,#11272a)}.hud-chip{border-radius:3px}button.hud-chip{cursor:pointer;background:0 0;border:0}button.hud-chip:hover,button.hud-chip[aria-expanded=true]{background:#ffffff0f;box-shadow:inset 0 0 0 1px #34d6e659}.hud-chip>svg{color:var(--cyan)}.hud-sep{background:linear-gradient(#0000,#000c,#0000);box-shadow:1px 0 #ffffff0d}.hud-button{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--screws), var(--brushed), linear-gradient(180deg, #2f343a, #1e2226 60%, #17191c);font-size:16px}.hud-button>svg{color:var(--cyan)}.hud-button:hover{color:var(--cyan-hi);box-shadow:var(--bezel), 0 0 20px -6px #34d6e68c;border-color:#3a4046}.hud-button.active{background:var(--screws), radial-gradient(120% 90% at 50% 100%, #34d6e640, transparent 70%), linear-gradient(180deg, #1c2e31, #121c1e);color:var(--cyan-hi);text-shadow:var(--lit)}.count{background:linear-gradient(#ff6b6b,#c7303a);border-radius:3px;box-shadow:inset 0 1px #ffffff59,0 0 10px -2px #ff5050cc}.crew{border-radius:1px}.dock{border-radius:var(--radius);gap:6px;padding:8px 10px}.dock-tool{background:var(--brushed), linear-gradient(180deg, #34393f, #23272c 55%, #1a1d20);box-shadow:var(--key);color:#b3c0c4;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;border:1px solid #000000bf;border-radius:3px;font-size:13px;font-weight:700}.dock-tool:hover{color:var(--cyan-hi);background:var(--brushed), linear-gradient(180deg, #3b4147, #282c31 55%, #1d2024);border-color:#000000bf}.dock-tool.active{color:var(--cyan-hi);box-shadow:var(--key), inset 0 0 0 1px #34d6e6bf, 0 0 22px -6px #34d6e6cc;text-shadow:var(--lit);background:radial-gradient(90% 70% at 50% 100%,#34d6e64d,#0000 70%),linear-gradient(#1f3a3e,#11272a);border-color:#000c}.dock-tool.active:after{background:var(--cyan);box-shadow:var(--lit)}.dock-tool.danger.active{color:#ffb3b3;box-shadow:var(--key), inset 0 0 0 1px #ff5050b3;background:linear-gradient(#3a1d20,#241214)}.dock-tool kbd{color:var(--cyan);background:#0000008c;border-radius:2px;box-shadow:inset 0 0 0 1px #34d6e640}.controls-hint{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#e6eff080;font-size:12px}.catalog{border-radius:var(--radius)}.catalog-head svg{color:var(--cyan)}.build-card{background:linear-gradient(#1a1f22,#101416);border:1px solid #000c;border-radius:3px;box-shadow:inset 0 1px #ffffff0f,0 1px #ffffff0a}.build-card:hover{background:linear-gradient(#1f2629,#13181a);box-shadow:inset 0 0 0 1px #34d6e673,0 6px 16px -8px #000c}.build-card.active{box-shadow:inset 0 0 0 1px var(--cyan), inset 0 0 20px -6px #34d6e699, 0 0 18px -6px #34d6e699;background:linear-gradient(#17302f,#0e1d1e)}.build-card-art{background:var(--scan), radial-gradient(110% 80% at 50% 100%, #34d6e624, transparent 65%), linear-gradient(180deg, #1c2428, #0a0e10);border-radius:2px;box-shadow:inset 0 0 0 1px #0009}.build-card.locked .build-card-art:after{content:"";background:repeating-linear-gradient(-45deg,#00000059 0 6px,#0000 6px 12px);position:absolute;inset:0}.build-card-lock{color:var(--amber);font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(#ffb21e33,#ffb21e14);border-radius:2px;box-shadow:inset 0 0 0 1px #ffb21e8c}.build-card-count{color:var(--cyan-hi);border-radius:2px}.build-card-name{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:14.5px;font-weight:700}.build-card-cost{color:var(--green)}.toast{border:1px solid #3a4046;border-left:3px solid var(--info);background:var(--scan), var(--glass);border-radius:3px;box-shadow:0 0 0 1px #000000b3,inset 0 1px #ffffff0f,0 14px 34px -10px #000c}.toast-icon{border-radius:2px}.cursor-tip{background:var(--scan), var(--glass);border:1px solid #3a4046;border-radius:3px;box-shadow:0 0 0 1px #000000b3,inset 0 1px #ffffff0f,0 10px 24px -8px #000c}.cursor-tip.ok strong{color:var(--green)}.progress{background:linear-gradient(#050708,#12181a);border-radius:1px;box-shadow:inset 0 1px 2px #000c}.level-pips span{border-radius:1px;transform:skew(-20deg)}.level-pips span.done{background:var(--cyan);box-shadow:var(--lit)}*{scrollbar-width:thin;scrollbar-color:#34d6e659 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#00000059}::-webkit-scrollbar-thumb{background:linear-gradient(#3b4248,#2a2f34);border-radius:2px;box-shadow:inset 0 0 0 1px #34d6e640}::-webkit-scrollbar-thumb:hover{background:#4a5258}.modal,.whats-new{border-radius:var(--radius);background:var(--screws), var(--scan), var(--glass);box-shadow:var(--bezel);border:1px solid #3a4046}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.toast{animation:toast-in .28s var(--ease-out), toast-out .35s ease-in 3.65s forwards;position:relative;overflow:hidden}.toast:after{content:"";transform-origin:0;opacity:.45;background:currentColor;width:100%;height:2px;animation:4s linear forwards toast-life;position:absolute;bottom:0;left:0}.toast.info:after{color:var(--info)}.toast.ok:after{color:var(--green)}.toast.accent:after{color:var(--cyan)}.toast.bad:after{color:var(--red)}@keyframes toast-life{to{transform:scaleX(0)}}@keyframes toast-out{to{opacity:0;transform:translate(16px)}}.academy-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(1200px 700px at 50% 40%,#080b108c,#040609d1);place-items:center;padding:16px;animation:.2s fade-in;display:grid;position:fixed;inset:0}.academy{width:min(1180px,100%);height:min(820px,100dvh - 32px);animation:panel-in .25s var(--ease-out);grid-template-rows:auto 1fr;padding:0;display:grid;overflow:hidden}.academy-head{background:linear-gradient(90deg,#34d6e61a,#0000 45%);border-bottom:1px solid #ffffff14;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.academy-brand{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.academy-brand strong{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:24px;line-height:1;display:block}.academy-brand small{font-size:12px}.academy-search{border-radius:var(--radius-sm);width:100%;max-width:460px;color:var(--muted);background:linear-gradient(#00000080,#0000004d);border:1px solid #ffffff1f;justify-self:center;align-items:center;gap:8px;padding:0 12px;display:flex;box-shadow:inset 0 2px 4px #00000073}.academy-search input{box-shadow:none;background:0 0;border:0;padding:9px 0}.academy-search input:focus{box-shadow:none}.academy-main{grid-template-columns:260px 1fr;min-height:0;display:grid}.academy-nav{background:#0000002e;border-right:1px solid #ffffff14;align-content:start;gap:2px;padding:12px 10px 20px;display:grid;overflow-y:auto}.academy-nav h4{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;margin:12px 6px 4px;font-size:13px;display:flex}.academy-nav-group{gap:2px;display:grid}.academy-nav button{color:#eef1f4c7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;width:100%;padding:6px 10px;font-size:13px;display:flex}.academy-nav button:hover{color:var(--text);background:#ffffff0f}.academy-nav button.active{color:var(--accent-strong);box-shadow:inset 2px 0 0 var(--accent);background:linear-gradient(90deg,#34d6e638,#34d6e60a)}.academy-body{padding:22px 30px 34px;overflow-y:auto}.academy-page{color:#eef1f4eb;gap:12px;max-width:780px;font-size:14.5px;line-height:1.6;animation:.2s fade-in;display:grid}.academy-page h2{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;margin:0;font-size:30px;line-height:1.1;display:flex}.academy-page h2 svg{color:var(--accent)}.academy-page h3{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-strong);margin:10px 0 0;font-size:19px}.academy-page p,.academy-page ul,.academy-page ol{margin:0}.academy-page ul,.academy-page ol{gap:6px;padding-left:22px;display:grid}.academy-crumb{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.academy-summary{color:var(--muted);font-size:16px}.academy-page .academy-steps{counter-reset:step;padding-left:0;list-style:none}.academy-steps li{counter-increment:step;padding-left:38px;position:relative}.academy-steps li:before{content:counter(step);color:#00191c;width:26px;height:26px;font-family:var(--font-num);background:linear-gradient(#a8f6fc,#34d6e6 50%,#1a8f9c);border-radius:3px;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:1px;left:0}.academy-note{border-radius:4px;grid-template-columns:18px 1fr;gap:10px;padding:10px 14px;font-size:14px;display:grid}.academy-note svg{margin-top:3px}.academy-note.tip{box-shadow:inset 3px 0 0 var(--accent);color:#bff5fa;background:#34d6e614}.academy-note.warn{box-shadow:inset 3px 0 0 var(--bad);color:#ffd0d0;background:#ff6b6b17}.academy-table{border-collapse:collapse;width:100%;font-size:13.5px}.academy-table th{text-align:left;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid #34d6e659;padding:7px 10px;font-size:13px}.academy-table td{vertical-align:top;border-bottom:1px solid #ffffff0f;padding:7px 10px}.academy-table tr:nth-child(2n) td{background:#ffffff06}.academy-table.compact td,.academy-table.compact th{text-align:center}.academy-table kbd{min-width:26px;font-family:var(--font-num);text-align:center;background:linear-gradient(#2d3847,#1c2430);border-radius:3px;padding:1px 8px;font-size:12.5px;display:inline-block;box-shadow:inset 0 -2px #0006,0 0 0 1px #ffffff1f}.academy-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.academy-related{border-top:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:12px;display:flex}.academy-related h4{width:100%;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:13px}.academy-related button{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:3px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.academy-related button:hover{color:var(--accent-strong);border-color:#34d6e680}.academy-hero{background:radial-gradient(600px 200px at 0 0,#34d6e62e,#0000 70%),linear-gradient(#ffffff0d,#ffffff03);border-radius:6px;padding:20px 22px;box-shadow:inset 0 0 0 1px #ffffff14}.academy-hero h2{margin-bottom:6px}.academy-page .academy-section{margin-top:6px}.academy-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.academy-card{text-align:left;color:var(--text);cursor:pointer;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));transition:background .15s, box-shadow .15s, transform .15s var(--ease-out);background:linear-gradient(#ffffff12,#ffffff05);border:0;align-content:start;gap:4px;padding:12px 14px;display:grid;box-shadow:inset 0 0 0 1px #ffffff17}.academy-card svg{color:var(--accent)}.academy-card strong{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;font-size:17px}.academy-card:hover{background:linear-gradient(#34d6e624,#34d6e608);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #34d6e680}.academy-card.lesson.done svg{color:var(--ok)}.academy-card-foot{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-top:4px;font-size:12px}.academy-page .academy-lesson-steps{gap:8px;padding-left:0;list-style:none}.academy-lesson-steps li{background:#ffffff08;border-radius:4px;grid-template-columns:30px 1fr auto;align-items:start;gap:10px;padding:10px 12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f}.academy-lesson-steps li>span:nth-child(2){gap:2px;line-height:1.45;display:grid}.academy-step-icon{width:30px;height:30px;color:var(--accent);background:#34d6e626;border-radius:3px;place-items:center;display:grid}.academy-building{grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid}.academy-building img{object-fit:contain;background:radial-gradient(120% 90% at 50% 100%,#34d6e629,#0000 60%),linear-gradient(#2a374a,#121923);border-radius:4px;width:220px;height:138px}.academy-building p{margin-bottom:8px}.academy-credits{font-size:13px}.academy-credits a{color:var(--accent-strong)}@media (max-width:860px){.academy-main{grid-template-rows:auto 1fr;grid-template-columns:1fr}.academy-nav{border-bottom:1px solid #ffffff14;border-right:0;max-height:30vh}.academy-head{grid-template-columns:1fr auto}.academy-search{grid-area:2/1/auto/-1;max-width:none}.academy-body{padding:16px}.academy-building{grid-template-columns:1fr}}.lesson-spot{z-index:29;pointer-events:none;box-shadow:0 0 0 2px var(--accent), 0 0 0 6px #34d6e640, 0 0 28px 6px #34d6e673;transition:left .25s var(--ease-out), top .25s var(--ease-out), width .25s var(--ease-out), height .25s var(--ease-out);border-radius:8px;animation:1.4s ease-in-out infinite lesson-pulse;position:fixed}@keyframes lesson-pulse{50%{box-shadow:0 0 0 2px var(--accent-strong), 0 0 0 10px #34d6e61f, 0 0 40px 10px #34d6e68c}}.lesson .lesson-task{color:var(--muted);background:#ffffff0a;border-radius:4px;align-items:center;gap:7px;padding:6px 10px;font-size:12.5px;display:flex}.lesson .lesson-task.ok{color:var(--ok);background:#4cd07d1a}.lesson.done{box-shadow:0 0 0 1px var(--ok), 0 0 30px -4px #4cd07d99}.lesson.done .tutorial-icon{background:var(--ok)}.tutorial.lesson{top:auto;bottom:120px;left:16px}@media (max-width:720px){.tutorial.lesson{bottom:96px;left:8px}}.model-stage{width:100%;height:100%;position:relative}.model-viewer-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.model-viewer-canvas:active{cursor:grabbing}.academy-viewer{background:radial-gradient(70% 90% at 50% 75%,#34d6e621,#0000 70%),repeating-linear-gradient(0deg,#78fff005 0 1px,#0000 1px 3px),linear-gradient(#0b1214,#050809);border-radius:4px;height:340px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #ffffff0f,inset 0 0 40px #0009}.academy-viewer.small{height:220px}.academy-viewer:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(var(--cyan), var(--cyan)) top left / 14px 1px no-repeat, linear-gradient(var(--cyan), var(--cyan)) top left / 1px 14px no-repeat, linear-gradient(var(--cyan), var(--cyan)) top right / 14px 1px no-repeat, linear-gradient(var(--cyan), var(--cyan)) top right / 1px 14px no-repeat, linear-gradient(var(--cyan), var(--cyan)) bottom left / 14px 1px no-repeat, linear-gradient(var(--cyan), var(--cyan)) bottom left / 1px 14px no-repeat, linear-gradient(var(--cyan), var(--cyan)) bottom right / 14px 1px no-repeat, linear-gradient(var(--cyan), var(--cyan)) bottom right / 1px 14px no-repeat;opacity:.6;position:absolute;inset:10px}.viewer-hud{z-index:2;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;bottom:14px;left:16px;right:16px}.viewer-hud>*{pointer-events:auto}.viewer-tag,.viewer-hint{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 8px #34d6e699;font-size:12px}.viewer-hint{color:#e6eff073;text-shadow:none;margin-left:auto}.viewer-levels{background:#0009;border-radius:3px;gap:3px;padding:3px;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.viewer-levels button{color:#7f8e93;font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-radius:2px;padding:4px 9px;font-size:13px;font-weight:700}.viewer-levels button:hover{color:var(--text)}.viewer-levels button.active{color:var(--cyan-hi);text-shadow:0 0 8px #34d6e699;background:linear-gradient(#1f3a3e,#11272a);box-shadow:inset 0 0 0 1px #34d6e6b3}.academy-page .academy-hero{grid-template-columns:1fr 300px;align-items:center;gap:10px;min-height:200px;padding:0 0 0 22px;display:grid;overflow:hidden}.model-stage.hero{height:200px}.academy-table td.num{font-family:var(--font-num);color:var(--cyan-hi);text-align:right}.lesson-model{background:radial-gradient(70% 90% at 50% 80%,#34d6e624,#0000 70%),linear-gradient(#0b1214,#050809);border-radius:3px;height:130px;margin:0 -2px;overflow:hidden;box-shadow:0 0 0 1px #000c,inset 0 0 24px #0009}@media (max-width:860px){.academy-page .academy-hero{grid-template-columns:1fr;padding:18px}.model-stage.hero{display:none}.academy-viewer{height:260px}}.settings-window{width:min(860px,100%);max-height:calc(100dvh - 40px);animation:panel-in .25s var(--ease-out);grid-template-rows:auto 1fr;padding:0;display:grid;overflow:hidden}.settings-head{background:repeating-linear-gradient(90deg,#ffffff03 0 1px,#0000 1px 3px),linear-gradient(#33383e,#23272c 70%,#16191c);border-bottom:1px solid #000000b3;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.settings-head h2{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:22px}.settings{grid-template-rows:auto 1fr;min-height:0;display:grid}.settings-window .settings{padding:10px 16px 0;overflow:hidden}.settings-tabs{margin-bottom:4px}.settings-page{align-content:start;gap:6px;padding:8px 2px 20px;display:grid;overflow-y:auto}.settings-window .settings-page{max-height:calc(100dvh - 170px)}.settings-group{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:12px 0 2px;font-size:14px}.settings-row{background:#ffffff06;border-radius:3px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:9px 12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a}.settings-row:hover{background:#ffffff0b}.settings-row-text{gap:2px;display:grid}.settings-row-text span{font-size:14px;font-weight:600}.settings-row-text small{font-size:12px;line-height:1.35}.settings-choice.segmented{margin:0}.settings-choice.segmented button{flex:none;min-width:44px;padding:6px 10px}.settings-toggle{cursor:pointer;background:linear-gradient(#070a0b,#12181a);border:1px solid #000c;border-radius:13px;width:50px;height:26px;padding:0;transition:box-shadow .15s;position:relative;box-shadow:inset 0 2px 4px #000c}.settings-toggle-knob{width:20px;height:20px;transition:transform .18s var(--ease-out);background:radial-gradient(circle at 40% 35%,#6a7178,#2a2e33 75%);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #000000b3}.settings-toggle.on{box-shadow:inset 0 2px 4px #000c, inset 0 0 0 1px var(--accent), 0 0 12px -2px var(--accent-glow)}.settings-toggle.on .settings-toggle-knob{background:radial-gradient(circle at 40% 35%, var(--accent-strong), var(--accent) 60%, #0f6d77);transform:translate(24px)}.settings-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.settings-preset{text-align:left;color:var(--text);cursor:pointer;transition:box-shadow .15s, transform .15s var(--ease-out);background:linear-gradient(#1c2226,#111517);border:1px solid #000c;border-radius:3px;align-content:start;gap:4px;padding:12px;display:grid;box-shadow:inset 0 1px #ffffff0f}.settings-preset svg{color:var(--accent)}.settings-preset strong{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:17px}.settings-preset span{color:var(--muted);font-size:11.5px;line-height:1.35}.settings-preset:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #34d6e673}.settings-preset.active{box-shadow:inset 0 0 0 1px var(--accent), inset 0 0 20px -6px var(--accent-glow), 0 0 18px -6px var(--accent-glow);background:linear-gradient(#17302f,#0e1d1e)}.settings-preset.active strong{color:var(--accent-strong);text-shadow:0 0 10px var(--accent-glow)}.settings-custom{color:var(--refund);box-shadow:inset 3px 0 0 var(--refund);background:#ffb21e14;border-radius:3px;margin:0;padding:6px 10px;font-size:12.5px}.settings-live{background:linear-gradient(#050809,#0b1214);border-radius:3px;align-items:baseline;gap:12px;padding:8px 12px;display:flex;box-shadow:inset 0 0 0 1px #ffffff0f}.settings-fps{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.settings-fps small{letter-spacing:.1em;margin-left:4px;font-size:12px}.settings-fps.ok,.fps-meter.ok strong{color:var(--ok);text-shadow:0 0 10px #3ee07f80}.settings-fps.warn,.fps-meter.warn strong{color:var(--refund)}.settings-fps.bad,.fps-meter.bad strong{color:var(--bad)}.fps-meter{z-index:4;pointer-events:none;font-family:var(--font-num);background:#050809cc;border-radius:3px;align-items:baseline;gap:5px;padding:4px 10px;display:flex;position:absolute;bottom:10px;left:10px;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #ffffff12}.fps-meter strong{font-variant-numeric:tabular-nums;font-size:18px}.fps-meter span{letter-spacing:.1em;color:var(--muted);font-size:11px}.fps-meter em{color:var(--muted);margin-left:6px;font-size:11px;font-style:normal}@media (max-width:860px){.settings-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-row{grid-template-columns:1fr}}.game.spectating .dock-area,.game.spectating .objectives{display:none}.spectator-bar{z-index:5;border-radius:var(--radius);background:var(--glass);max-width:calc(100% - 32px);animation:panel-in .25s var(--ease-out);align-items:center;gap:10px;padding:8px 10px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #ffffff12,0 12px 30px #00000080}.spectator-caption{border-right:1px solid #ffffff14;align-items:center;gap:10px;min-width:230px;padding-right:10px;display:flex}.spectator-tail{border-radius:var(--radius-sm);min-width:34px;height:30px;font-family:var(--font-display);color:#fff;text-shadow:0 1px 2px #0009;place-items:center;padding:0 4px;font-size:13px;font-weight:700;display:grid}.spectator-flight{line-height:1.15;display:grid}.spectator-flight strong{font-family:var(--font-num);letter-spacing:.04em;font-size:16px}.spectator-flight small{color:var(--muted);font-size:11.5px}.spectator-phase{border-radius:var(--radius-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);white-space:nowrap;background:#34d6e61a;padding:3px 8px;font-size:11.5px;font-weight:600;box-shadow:inset 0 0 0 1px #34d6e64d}.spectator-views{margin:0}.spectator-tour.active{box-shadow:inset 0 0 0 1px var(--accent), 0 0 14px -4px var(--accent-glow);color:var(--accent-strong)}.spectator-step{gap:2px;display:flex}.game.photo-mode>:not(canvas):not(.photo-panel){display:none!important}.photo-panel{z-index:6;border-radius:var(--radius);background:var(--glass);opacity:.94;gap:10px;width:290px;padding:10px 12px 12px;display:grid;position:absolute;top:14px;right:14px;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #ffffff12}.photo-panel header{align-items:center;gap:8px;display:flex}.photo-panel header strong{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;flex:1}.photo-row{gap:6px;font-size:13px;display:grid}.photo-row span{justify-content:space-between;display:flex}.photo-row strong{font-family:var(--font-num);color:var(--accent-strong)}.photo-weather{grid-template-columns:repeat(3,1fr);margin:0;display:grid}.photo-actions{flex-wrap:wrap;gap:6px;display:flex}.photo-panel p{margin:0;line-height:1.35}@media (max-width:860px){.spectator-bar{flex-wrap:wrap;justify-content:center}.spectator-caption{border-right:0;min-width:0}}.spectator-views button,.spectator-tour{white-space:nowrap}.radio-log{z-index:4;pointer-events:none;width:clamp(200px,50% - 210px,360px);position:absolute;bottom:46px;left:10px}.radio-log header{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-shadow:0 1px 2px #000c;align-items:center;gap:5px;margin-bottom:4px;font-size:11px;display:flex}.radio-log ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.radio-log li{border-radius:var(--radius-sm);box-shadow:inset 3px 0 0 var(--muted);background:#050809c7;gap:1px;padding:5px 9px;font-size:12.5px;line-height:1.3;transition:opacity 1s linear;display:grid}.radio-log li strong{font-family:var(--font-num);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.radio-log li.radio-pilot{box-shadow:inset 3px 0 0 var(--amber)}.radio-log li.radio-pilot strong{color:var(--amber)}.radio-log li.radio-tower{box-shadow:inset 3px 0 0 var(--accent)}.radio-log li.radio-tower strong{color:var(--accent-strong)}.radio-log li.radio-ground{box-shadow:inset 3px 0 0 var(--green)}.radio-log li.radio-ground strong{color:var(--green)}.game-loading-blank{background:var(--bg);position:fixed;inset:0}.apron-plan{gap:10px;display:grid}.apron-summary{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.apron-summary strong{font-family:var(--font-num);color:var(--text);margin-left:4px}.apron-summary .warn strong{color:var(--amber)}.apron-summary .bad strong{color:var(--red)}.apron-fleet{flex-wrap:wrap;gap:5px;display:flex}.apron-gse{border-radius:var(--radius-sm);background:#ffffff0a;padding:3px 7px;font-size:11.5px;box-shadow:inset 0 0 0 1px #ffffff0f}.apron-gse strong{font-family:var(--font-num);margin-left:3px}.apron-gse.full{color:var(--red);box-shadow:inset 0 0 0 1px #ff505080}.apron-timeline{gap:3px;display:grid}.apron-row{grid-template-columns:74px 1fr;align-items:center;gap:6px;display:grid}.apron-name{border-radius:var(--radius-sm);font:inherit;text-align:left;color:var(--text);cursor:pointer;background:#ffffff0a;border:0;padding:4px 6px;font-size:12px}.apron-name:hover:not(:disabled){background:#34d6e61f}.apron-name:disabled{color:var(--muted);cursor:default}.apron-track{border-radius:var(--radius-sm);background:repeating-linear-gradient(90deg,#ffffff09 0 1px,#0000 1px 12.5%),#0000004d;height:24px;position:relative;overflow:hidden}.apron-scale .apron-track{background:0 0;height:16px;overflow:visible}.apron-mark{font-family:var(--font-num);color:var(--muted);font-size:10.5px;position:absolute;top:0;transform:translate(-50%)}.apron-now{background:var(--accent);width:2px;box-shadow:0 0 8px var(--accent-glow);z-index:1;position:absolute;top:0;bottom:0}.apron-bar{font-family:var(--font-num);white-space:nowrap;color:#fff;border-radius:2px;align-items:center;padding:0 5px;font-size:10.5px;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.apron-bar.planned{color:var(--muted);background:#ffffff0f;box-shadow:inset 0 0 0 1px #ffffff40}.apron-bar.on{background:linear-gradient(#1a8f9c,#11656e)}.apron-bar.late{background:repeating-linear-gradient(135deg,#b8770f 0 6px,#94600c 6px 12px)}.apron-bar.clash{background:repeating-linear-gradient(135deg,#b52b2b 0 6px,#8e1f1f 6px 12px)}@media (hover:none){.title-item:hover{background:0 0;border-color:#0000;transform:none}.title-item:hover:before{transform:scaleY(0)}.title-item.active,.title-item:active{border-color:var(--border);background:linear-gradient(90deg,#ffffff17,#ffffff05)}}@media (max-height:520px) and (min-width:560px){.title-side{width:min(320px,40vw);padding:10px max(12px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-bottom));gap:4px}.brand-logo{width:min(100%,170px)}.brand-tagline{display:none}.title-nav{-webkit-overflow-scrolling:touch;flex:auto;gap:2px;min-height:0;margin-top:6px;overflow-y:auto}.title-item{grid-template-columns:20px 1fr auto;gap:10px;padding:7px 10px}.title-item svg:first-child{width:18px;height:18px}.title-item-label{font-size:16px}.title-item-sub{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-card{margin-top:4px;padding:6px 10px}.title-foot{margin-top:4px}.title-online{display:none}.title-sheet{top:max(8px, env(safe-area-inset-top));bottom:max(8px, env(safe-area-inset-bottom));left:calc(min(320px,40vw) + 4px);right:max(8px, env(safe-area-inset-right));width:auto;max-height:none;padding:14px 16px 16px}.sheet-head{margin-bottom:10px}.sheet-head h2{font-size:20px}.title-sheet .features{display:none}.title-sheet .sheet-lead{font-size:13.5px}.title-sheet .sync-devices{display:none}.title-sheet .sync-card{padding:8px 12px}.title-sheet .sync-card p{font-size:13px;line-height:1.4}.title-sheet .start-game{z-index:1;background-color:#10242a;position:sticky;bottom:0;box-shadow:0 -10px 18px 4px #090c11d9}}@media (max-width:559px){.title-side{width:100%;padding:max(16px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom))}.title-nav{flex:auto;min-height:0;overflow-y:auto}.title-sheet{width:auto;max-height:none;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));border-radius:0;inset:0}}.game.touch .dock-tool kbd,.game.touch .popover kbd,.game.touch .ph-sheet kbd{display:none}.game.touch .btn{min-height:40px}.game.touch .icon-btn{width:40px;height:40px}.game.touch .segmented button{min-height:36px}.game .building-panel,.game .ops-panel,.game .catalog-cards,.game .paper-wrap{overscroll-behavior:contain}@media (hover:none){.game .dock-tool:hover,.game .build-card:hover,.game .build-card:hover .build-card-art img{transform:none}}@media (pointer:coarse){input,textarea,select{font-size:max(16px,1em)}}html{touch-action:manipulation;overscroll-behavior:none}.game{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-user-select:none;user-select:none}.game input,.game textarea{-webkit-user-select:text;user-select:text}.game .viewport{touch-action:none}.game{--ph-top:max(6px, env(safe-area-inset-top));--ph-left:max(8px, env(safe-area-inset-left));--ph-right:max(8px, env(safe-area-inset-right));--ph-bottom:max(6px, env(safe-area-inset-bottom))}.ph-top{top:var(--ph-top);left:var(--ph-left);right:var(--ph-right);z-index:3;pointer-events:none;align-items:stretch;gap:6px;display:flex;position:absolute}.ph-top>*{pointer-events:auto}.ph-status{height:44px;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:0 8px 0 12px;display:flex}.ph-status.active{border-color:var(--accent)}.ph-money,.ph-clock{white-space:nowrap;line-height:1.05;display:grid}.ph-money strong{color:var(--green,var(--ok));font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:19px}.ph-money strong.bad{color:var(--bad)}.ph-money small,.ph-clock small{margin-top:2px;font-size:10.5px;font-weight:600}.ph-money small.ok{color:var(--green,var(--ok))}.ph-money small.bad{color:var(--bad)}.ph-clock small{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;order:-1;margin:0 0 2px}.ph-clock strong{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:18px}.ph-clock strong.paused{color:var(--muted)}.ph-wx{color:#eef1f4d9;margin-left:8px;font-size:13px;font-weight:600}.ph-status-more{color:var(--muted);transform:rotate(90deg)}.ph-speed{border-radius:12px;align-items:center;gap:2px;margin:0;padding:3px;display:flex}.ph-speed button{color:#eef1f4b3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;width:40px;height:36px;display:grid}.ph-speed button.active{color:var(--accent);background:#34d6e629;border-color:#34d6e699}.ph-top-right{gap:6px;margin-left:auto;display:flex}.ph-top .hud-button{justify-content:center;width:44px;min-height:44px;padding:0}.ph-top .hud-button>span:not(.count):not(.hud-live){display:none}.ph-goal{top:calc(var(--ph-top) + 50px);left:var(--ph-left);z-index:2;max-width:min(380px,52vw);height:34px;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;display:flex;position:absolute}.ph-goal svg{color:var(--accent);flex:none}.ph-goal-count{color:var(--muted);font-family:var(--font-num);flex:none;font-weight:600}.ph-goal-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ph-scrim{z-index:8;cursor:default;background:#04060959;border:0;padding:0;animation:.2s fade-in;position:absolute;inset:0}.ph-sheet{z-index:9;width:min(420px,58vw);animation:ph-sheet-in .24s var(--ease-out);border-radius:16px 0 0 16px;flex-direction:column;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}@keyframes ph-sheet-in{0%{opacity:0;transform:translate(40px)}}.ph-sheet-head{padding:calc(var(--ph-top) + 2px) var(--ph-right) 8px 14px;border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex}.ph-sheet-head .window-icon{border-radius:8px;width:32px;height:32px}.ph-sheet-head h2{min-width:0;font-family:var(--font-display);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;flex:1;margin:0;font-size:19px;overflow:hidden}.ph-sheet-body{min-height:0;padding:12px var(--ph-right) calc(var(--ph-bottom) + 12px) 14px;overscroll-behavior:contain;flex:1;align-content:start;gap:12px;display:grid;overflow-y:auto}.ph-airport{gap:14px;display:grid}.ph-airport .hud-name{border:1px solid var(--border);min-height:44px;color:var(--text);font-family:var(--font-display);letter-spacing:.04em;text-align:left;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:20px;display:flex}.ph-airport .hud-name svg{color:var(--muted);flex:none}.ph-airport form.hud-name{padding:0 6px}.ph-airport .hud-name input{width:100%;color:var(--text);background:0 0;border:0;font-size:16px}.ph-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ph-fact{border:1px solid var(--border);background:#ffffff08;border-radius:10px;align-content:start;gap:4px;padding:8px 10px;display:grid}.ph-fact small{color:var(--muted);font-size:11px}.ph-fact strong{align-items:center;gap:5px;display:inline-flex}.ph-fact .crews{flex-wrap:wrap;gap:4px;padding-top:3px;display:flex}.ph-section{gap:8px;display:grid}.ph-section h3{color:var(--accent);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.ph-weather-now{flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:14px;display:flex}.ph-section .forecast{margin:0}.ph-section .forecast-hours{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.noise-inline{border:1px solid var(--border);background:#ffffff08;border-radius:10px;gap:8px;padding:10px 12px;font-size:13px;display:grid}.ph-airport .hud-room{flex-wrap:wrap}.ph-menu .ph-sheet-body{gap:10px}.ph-dock-area{left:var(--ph-left);right:var(--ph-right);bottom:var(--ph-bottom);z-index:3;pointer-events:none;justify-items:start;gap:6px;display:grid;position:absolute}.ph-dock-area>*,.ph-dock-row>*{pointer-events:auto}.ph-dock-row{pointer-events:none;align-items:flex-end;gap:8px;max-width:100%;display:flex}.ph-dock,.ph-tray{border-radius:14px;flex:none;gap:2px;padding:4px;display:flex}.ph-tray{animation:rise .18s var(--ease-out)}.ph-tool{color:#eef1f4bf;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-content:center;justify-items:center;gap:3px;width:60px;height:52px;padding:4px 2px;font-size:10.5px;font-weight:650;display:grid;position:relative}.ph-tool span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.ph-tray .ph-tool{width:72px}.ph-tool.active{color:var(--accent);background:linear-gradient(#34d6e638,#34d6e614);border-color:#34d6e699}.ph-tool.open{color:var(--text);background:#ffffff14}.ph-tool.danger.active{color:var(--bad);background:linear-gradient(#ff6b6b33,#ff6b6b0f);border-color:#ff6b6b99}.ph-tool-more{opacity:.6;position:absolute;top:4px;right:4px;transform:rotate(-90deg)}.ph-tool.open .ph-tool-more{transform:rotate(90deg)}.ph-dock-row .hint-chip{min-width:0;max-width:min(460px,100%);padding:6px 10px;font-size:12px}.ph-dock-row .hint-chip .muted{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ph-dock-row .folded-chip .muted{-webkit-line-clamp:1;line-clamp:1}.ph-dock-area.waiting .ph-dock-row,.ph-dock-area.waiting .ph-tray{display:none}.ph-catalog{width:min(470px,64vw)}.ph-catalog .ph-sheet-body{padding:8px var(--ph-right) calc(var(--ph-bottom) + 10px) 10px}.ph-catalog .catalog{width:auto;box-shadow:none;background:0 0;border:0;padding:0;animation:none}.ph-catalog .catalog-head{padding:0}.ph-catalog .catalog-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.ph-catalog .catalog-tabs button{flex:none;min-height:36px;padding:5px 11px;font-size:12.5px}.ph-catalog .catalog-body{height:auto;display:block}.ph-catalog .catalog-details{display:none}.ph-catalog .catalog-cards{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px;display:grid;overflow:visible}.ph-catalog .build-card{width:auto}.ph-catalog .build-card-art{height:66px}.ph-catalog .build-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ph-catalog .build-card-lock{top:44px}@media (max-width:900px),(max-height:520px){.game .toasts{top:calc(var(--ph-top) + 50px);justify-items:stretch;width:min(440px,100vw - 16px);left:50%;right:auto;transform:translate(-50%)}.game .touch-confirm{bottom:var(--ph-bottom);max-width:calc(100vw - var(--ph-left) - var(--ph-right))}.game .touch-confirm .btn.big{min-height:46px;padding:6px 14px}.game .touch-confirm .btn.big.icon-only{width:46px;padding:0}.game .touch-what{width:46px;height:46px}.game .ops-panel{width:auto;max-width:none;max-height:none;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));z-index:7;border-radius:0;gap:8px;inset:0}.game .window-head{gap:10px}.game .window-icon{border-radius:8px;width:32px;height:32px}.game .window-title h2{font-size:18px}.game .window-sub{display:none}.game .ops-tabs{scrollbar-width:none;flex:none;overflow-x:auto}.game .ops-tabs button{flex:none;min-height:40px;padding:6px 10px 8px;font-size:14px}.game .modal-backdrop{padding:max(6px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.game .modal{gap:10px;max-height:100%;overflow-y:auto}.game .paper-wrap{max-height:100%}.game .settings-window{width:100%;height:100%;max-height:100%}.game .settings-head{padding:6px 12px}.game .settings-head h2{font-size:18px}.game .paper-wrap.flight-card{top:max(6px, env(safe-area-inset-top));bottom:max(6px, env(safe-area-inset-bottom));left:max(6px, env(safe-area-inset-left));z-index:7;width:min(340px,100vw - 12px);max-height:none}.game .snow-alert,.game .grant-notice{top:calc(max(6px, env(safe-area-inset-top)) + 50px);width:max-content;min-width:0;max-width:calc(100vw - 16px)}.game .radio-log{top:calc(max(6px, env(safe-area-inset-top)) + 50px);right:max(6px, env(safe-area-inset-right));width:min(250px,36vw);bottom:auto;left:auto}.game .radio-log li{padding:3px 7px;font-size:11px}.game .radio-log li:nth-last-child(n+3){display:none}.game .chat{left:max(6px, env(safe-area-inset-left));bottom:calc(max(4px, env(safe-area-inset-bottom)) + 58px)}.game .spectator-bar{bottom:max(6px, env(safe-area-inset-bottom));scrollbar-width:none;max-width:calc(100vw - 12px);overflow-x:auto}.game .photo-panel{top:max(6px, env(safe-area-inset-top));right:max(6px, env(safe-area-inset-right));width:min(290px,46vw);max-height:calc(100dvh - 12px);overflow-y:auto}.game .welcome-backdrop,.game .lesson-backdrop{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.game .welcome-card,.game .lesson-stage{grid-template-columns:150px minmax(0,1fr);align-items:center;max-height:100%;padding:0 16px 0 0;overflow:hidden}.game .welcome-mascot{align-self:end;width:170px;margin:0 -10px 0 -14px}.game .stage-mascot{width:170px;height:170px;margin:0 -10px 0 -14px}.game .welcome-text,.game .lesson-stage-body{max-height:calc(100dvh - 2 * max(8px, env(safe-area-inset-top)));gap:8px;padding:14px 0;overflow-y:auto}.game .welcome-text h2,.game .lesson-stage h2{font-size:24px}.game .welcome-text p,.game .lesson-text{font-size:14px;line-height:1.45}.game .welcome-points{gap:4px;font-size:13px}.game .lesson-art{max-height:120px}.game .lesson-stage .lesson-model{height:130px}.game .tutorial{top:calc(max(6px, env(safe-area-inset-top)) + 50px);bottom:auto;left:max(6px, env(safe-area-inset-left));gap:6px;width:min(420px,62vw);max-height:calc(100dvh - 126px);padding:10px 12px;right:auto;overflow-y:auto}.game .tutorial .lesson-text{font-size:13px}.game .tutorial.mini{cursor:pointer;gap:4px;padding:6px 10px}.game .tutorial.mini .lesson-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.game .tutorial.mini .lesson-task,.game .tutorial.mini .lesson-progress,.game .tutorial.mini .lesson-confirm,.game .tutorial.mini .tutorial-actions,.game .tutorial.mini .tutorial-count{display:none}.game .tutorial .lesson-task{padding:4px 8px;font-size:12px}.game .tutorial-head{gap:8px}.game .tutorial-head h3{font-size:16px}.game .tutorial-actions{flex-wrap:wrap;gap:6px}.game .tutorial-actions .btn{min-height:36px;padding:6px 10px;font-size:12.5px}}@media (max-height:520px) and (orientation:landscape){.game .ops-panel{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr) auto;gap:0 10px;display:grid}.game .ops-panel>.window-head{display:contents}.game .ops-panel>.window-head>.window-icon{grid-area:1/1;align-self:center}.game .ops-panel>.window-head>.window-title{display:none}.game .ops-panel>.window-head>.icon-btn{grid-area:1/3;align-self:center}.game .ops-panel>.ops-tabs{grid-area:1/2;align-self:end}.game .ops-panel>:not(.window-head):not(.ops-tabs):not(.ops-body):not(.ledger){grid-area:2/1/3/-1;margin-top:6px}.game .ops-panel>.ops-body{grid-area:3/1/4/-1;min-height:0;margin-top:8px}.game .ops-panel>.ledger{grid-area:4/1/5/-1;margin-top:6px}.academy-backdrop{padding:0}.academy{border-radius:0;width:100%;height:100%}.academy-head{padding:max(6px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.academy-head .window-icon{width:30px;height:30px}.academy-brand strong{font-size:18px}.academy-brand small{display:none}.academy-search{grid-area:auto;max-width:320px}.academy-search input{padding:6px 0}.academy-main{grid-template-rows:none;grid-template-columns:minmax(180px,30vw) minmax(0,1fr)}.academy-nav{max-height:none;padding:8px 6px max(12px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));border-bottom:0;border-right:1px solid #ffffff14}.academy-body{padding:12px max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) 16px}.academy-viewer{height:180px}.game .building-panel{width:min(360px,52vw);max-height:none;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) 12px;z-index:7;border-radius:0;inset:0 0 0 auto}}.rotate-hint{display:none}@media (orientation:portrait) and (max-width:900px) and (pointer:coarse){.rotate-hint{z-index:1000;color:var(--text);text-align:center;background:radial-gradient(at 50% 40%,#142030,#06080c 75%);place-content:center;justify-items:center;gap:16px;padding:24px;font-size:17px;font-weight:600;line-height:1.4;display:grid;position:fixed;inset:0}.rotate-hint svg{color:var(--accent);animation:rotate-phone 2.4s var(--ease-out) infinite}.rotate-logo{width:min(240px,70vw);margin-bottom:18px}}@keyframes rotate-phone{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.objectives.in-sheet{gap:8px;width:auto;display:grid}.objectives.in-sheet .objectives-head{cursor:default}.objectives.in-sheet .objectives-head>.muted:last-child{display:none}@media (max-width:900px),(max-height:520px){.game .tutorial.below-goals{top:calc(var(--ph-top) + 90px);max-height:calc(100dvh - var(--ph-top) - 160px)}}.install-hint{right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));z-index:30;width:min(380px,100vw - 20px);animation:rise .3s var(--ease-out);border-color:#34d6e673;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 10px 10px 14px;display:flex;position:fixed}.install-hint>svg{color:var(--accent);flex:none;margin-top:2px}.install-hint p{gap:3px;margin:0;font-size:13px;line-height:1.4;display:grid}.install-hint p span{color:#eef1f4d9}@media (max-height:520px) and (min-width:560px){.install-hint{width:min(340px,100vw - min(320px,40vw) - 30px)}}@media (max-width:900px),(max-height:520px){.legal-backdrop{padding:0}.legal-window{border-radius:0;width:100%;height:100%}.legal-head{padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 6px max(14px, env(safe-area-inset-left))}.legal-body{padding:12px max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}}
