:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--surface-0:#15120f;--surface-bar:#15120f;--surface-1:#1b1916;--surface-2:#221e1a;--surface-3:#2c2823;--surface-4:#332e28;--surface-hud:#100e0ce6;--surface-sheet:#2d2924f7;--surface-glass:#14120fe6;--line-soft:#3d362f;--line:#4a433a;--line-strong:#5a5147;--edge:#0d0c0b;--text:#f1ece3;--text-2:#b3a998;--text-3:#8d8376;--paper:#ece6da;--paper-2:#e4dacb;--ink:#1b1916;--ink-2:#4f473d;--accent:#f4d35e;--accent-2:#e8a33a;--accent-hover:#f8df80;--danger:#e2574c;--danger-hi:#ff6b5e;--danger-text:#ffb4ad;--danger-deep:#7a1f19;--ok:#4cc26a;--ok-text:#9be29f;--ok-deep:#2f6b3c;--ok-bg:#20382a;--info-text:#9fd3ff;--warn-text:#ffe2b8;--ability:#522615;--focus:#fff;--focus-halo:#000c;--bg:var(--surface-1);--surface:var(--surface-2);--surface-side:var(--surface-3);--muted:var(--text-2);--fs-floor:12px;--fs-xs:max(var(--fs-floor), .75rem);--fs-sm:max(var(--fs-floor), .85rem);--fs-md:1rem;--fs-lg:1.15rem;--fs-xl:1.4rem;--fs-2xl:1.8rem;--r-xs:.3rem;--r-sm:.5rem;--r-md:.75rem;--r-lg:1rem;--r-pill:999px;--elev-1:0 2px 6px #00000059;--elev-2:0 8px 24px #00000073;--elev-3:0 18px 60px #0009;--z-hud-stack:11;--z-hud-top:12;--z-hud-float:13;--z-hud-marker:14;--z-hud-abil:15;--z-hud-card:16;--z-hud-confirm:17;--z-hud-skip:18;--z-hud-panel:20;--z-hud-tip:24;--z-hud-coach:25;--z-hud-caption:29;--z-hud-toast:30;--z-screen-shade:29;--z-screen:30;--z-screen-bar:31;--z-cine:40;--z-loading:50;--z-results:55;--z-atlas:58;--z-modal:60;--z-confirm:70;--z-menu:80;--z-tooltip:90;--btn-h:2.75rem;--btn-h-lg:3rem;--side-w:252px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-layout=port],html[data-layout=land]{--fs-floor:13px}*{box-sizing:border-box}small{font-size:max(var(--fs-floor), .85em)}html,body{background:var(--surface-bar);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}.game-canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}html.ios-safari .game-canvas{height:100lvh}html.ios-short,html.ios-short body{height:var(--app-h);overscroll-behavior:none;overflow:visible}html.ios-short .game-canvas{width:100%;height:var(--app-h);position:absolute;top:0;left:0}html.ios-short #app{width:100%;height:var(--app-h);contain:layout;pointer-events:none;position:absolute;top:0;left:0}:where(html.ios-short #app)>*{pointer-events:auto}.game-canvas.placing{cursor:crosshair}button{font:inherit;color:inherit;cursor:pointer}.loading{background:radial-gradient(ellipse at 50% 30%, #3a3228 0%, var(--surface-0) 70%);z-index:var(--z-loading);place-items:center;display:grid;position:fixed;inset:0}.loading-card{text-align:center;max-width:440px;padding:24px}.loading h1{letter-spacing:.04em;color:var(--accent);text-shadow:3px 3px 0 var(--edge), 0 0 30px #f4d35e40;margin:0;font-size:clamp(34px,7vw,58px);font-weight:900}.loading h1 span{color:var(--text);vertical-align:middle;font-size:.6em}.loading .sub{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:var(--fs-sm);margin:6px 0 22px}.loading .bar{background:var(--surface-3);border-radius:var(--r-xs);height:6px;overflow:hidden}.loading .bar-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent));width:40%;height:100%;animation:1.1s ease-in-out infinite slide}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.loading .progress{color:var(--muted);font-size:var(--fs-md);min-height:1.4em}.loading .err{color:var(--text);font-weight:800;font-size:var(--fs-md);margin:.4rem 0 .2rem}.loading .err-hint{color:var(--muted);font-size:var(--fs-sm);margin:0 0 .9rem;line-height:1.45}.loading .load-err .btn{align-items:center;gap:.45rem;display:inline-flex}.loading .load-err .btn .gi{width:1.1rem;height:1.1rem}.loading .err-details{color:var(--muted);font-size:var(--fs-sm);text-align:left;margin-top:.9rem}.loading .err-details code{border-radius:var(--r-sm);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;background:#00000059;margin-top:.4rem;padding:.5rem .6rem;display:block}.gi{flex:none;width:1em;height:1em;display:block}:root{--icon-stroke:2;--icon-cap:round;--icon-join:round;--ib-sm:clamp(36px, 2.25rem, 44px);--ib-md:clamp(44px, 2.75rem, 56px);--ib-lg:clamp(56px, 3.5rem, 72px);--ib-icon:.55;--ib-round:.25;--ib-bg:#100e0ce6;--ib-bg-hover:#342e27f5;--ib-bg-press:#060504f5;--ib-line:#f1ece333;--ib-fg:var(--text);--ib-on-bg:var(--accent);--ib-on-fg:#1b1916;--lock-bg:#15120f;--lock-fg:#f4ecdd;--lock-size:clamp(22px, 1.45rem, 30px)}.gi.line{fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:var(--icon-cap);stroke-linejoin:var(--icon-join)}.gi.line .f{fill:currentColor}.gi.line .d{fill:currentColor;stroke:none}html .ib{--ib-size:var(--ib-md);width:var(--ib-size);height:var(--ib-size);min-width:var(--ib-size);min-height:var(--ib-size);background:var(--ib-bg);color:var(--ib-fg);border:1px solid var(--ib-line);border-radius:calc(var(--ib-size) * var(--ib-round));box-shadow:var(--elev-1);cursor:pointer;flex:none;place-items:center;padding:0;transition:background-color .12s,color .12s,transform 60ms;display:inline-grid}html .ib.ib-sm{--ib-size:var(--ib-sm)}html .ib.ib-lg{--ib-size:var(--ib-lg)}html .ib>.gi{width:calc(var(--ib-size) * var(--ib-icon));height:calc(var(--ib-size) * var(--ib-icon))}@media (hover:hover){html .ib:hover{background:var(--ib-bg-hover)}}html .ib:active{background:var(--ib-bg-press);transform:translateY(1px)}html .ib:is(.on,[aria-pressed=true],[aria-expanded=true]){background:var(--ib-on-bg);color:var(--ib-on-fg);border-color:#0000008c}html .ib:is(:disabled,[aria-disabled=true]){opacity:.45;cursor:not-allowed;transform:none}html .ib.ib-quiet{box-shadow:none;color:var(--muted);background:#f1ece314;border-color:#0000}@media (hover:hover){html .ib.ib-quiet:hover{color:var(--text);background:#f1ece329}}.lock-badge{z-index:2;width:var(--lock-size);height:var(--lock-size);background:var(--lock-bg);color:var(--lock-fg);border:2px solid var(--lock-fg);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:3px;right:3px;box-shadow:0 0 0 1px #000000b3,0 1px 4px #00000080}.lock-badge .gi{width:64%;height:64%}.lock-tag{border-radius:var(--r-pill);background:var(--lock-bg);max-width:100%;color:var(--lock-fg);white-space:nowrap;text-overflow:ellipsis;padding:.05em .5em;font-weight:800;display:inline-block;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:focus:not(:focus-visible){outline:none}[data-tip]{-webkit-touch-callout:none}.tip-card{z-index:var(--z-tooltip);border:1px solid var(--line-strong);border-radius:var(--r-md);width:max-content;max-width:min(20rem,100vw - 16px);box-shadow:var(--elev-2);pointer-events:none;font-size:var(--fs-sm);color:var(--text);background:#14120ff7;padding:.7rem .8rem;position:fixed;top:0;left:0}.tc-head{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.tc-ico{background:var(--paper);width:2.3rem;height:2.3rem;color:var(--ink);border-radius:var(--r-sm);flex:none;place-items:center;display:grid}.tc-ico .gi{width:1.8rem;height:1.8rem}.tc-title{font-weight:800;font-size:var(--fs-md)}.tc-sub{font-size:var(--fs-xs);color:var(--muted)}.tc-desc{color:var(--paper-2);margin:0 0 .45rem;line-height:1.4}.tc-stats{gap:.2rem;margin:.2rem 0 .4rem;display:grid}.tc-warn{color:var(--danger-text);margin:.2rem 0;font-weight:700}.tc-weak{font-size:var(--fs-sm);margin:.3rem 0 0}.tc-preview{font-size:var(--fs-sm);margin:.2rem 0}.tc-preview s{opacity:.6}.tc-preview b{color:var(--ok-text)}.tc-foot{font-size:var(--fs-xs);color:var(--muted);margin:.3rem 0 0}.tc-units{flex-wrap:wrap;gap:.25rem;display:flex}.unit-chip{background:var(--paper);width:1.8rem;height:1.8rem;color:var(--ink);border-radius:var(--r-sm);place-items:center;display:grid}.unit-chip .gi{width:1.35rem;height:1.35rem}.stat-row{font-size:var(--fs-sm);grid-template-columns:1.1rem minmax(0,1fr) auto;align-items:center;gap:.45rem;display:grid}.stat-ico{width:1.05rem;height:1.05rem;color:var(--accent)}.stat-label{color:var(--muted)}.stat-value{font-variant-numeric:tabular-nums;text-align:right}.stat-hint{color:var(--muted);grid-column:2/-1}.portrait{display:block}.fx-layer{pointer-events:none;z-index:8;position:fixed;inset:0;overflow:hidden}.floater{font-weight:900;font-size:var(--fs-md);white-space:nowrap;text-shadow:0 1px 0 var(--edge), 0 0 4px var(--edge);animation:1.1s ease-out forwards float-up;position:absolute;transform:translate(-50%,-50%)}.floater.money{color:var(--accent)}.floater.leak{color:var(--danger-hi);font-size:var(--fs-lg)}.floater.up{color:var(--ok-text)}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-30%)scale(.8)}15%{opacity:1;transform:translate(-50%,-60%)scale(1)}to{opacity:0;transform:translate(-50%,-260%)}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.vp-debug{top:calc(var(--safe-top) + .5rem);left:calc(var(--safe-left) + .5rem);right:calc(var(--safe-right) + .5rem);z-index:95;max-height:calc(100% - var(--safe-top) - var(--safe-bottom) - 1rem);border:1px solid var(--accent);border-radius:var(--r-sm);color:#fff;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#000000e0;padding:.5rem 2.2rem .5rem .6rem;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;overflow:auto}.vp-debug th{text-align:left;color:var(--accent);vertical-align:top;padding-right:.6rem;font-weight:700}.vp-debug-close{color:#fff;background:0 0;border:0;width:2rem;height:2rem;font-size:1.3rem;position:absolute;top:.2rem;right:.2rem}.vp-debug-test{background:var(--accent);color:#111;border-radius:var(--r-sm);border:0;width:100%;min-height:44px;margin:0 0 .5rem;font:700 14px/1.2 system-ui,sans-serif;display:block}.scroll-area{overscroll-behavior:contain;touch-action:pan-y pinch-zoom;min-height:0;overflow:hidden auto}.scroll-area:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.lobby,.modal-body,.results-scrim,.results{touch-action:pan-y pinch-zoom}.side-body,.sheet{touch-action:pan-y}.tabs-row,.ency-list{touch-action:pan-x pinch-zoom}.hud-port .grid,.wc-units{touch-action:pan-x}.ency-desc,.credits p{-webkit-user-select:text;user-select:text}html{overflow-wrap:break-word}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.dragging *{pointer-events:none}[data-fade]{--fade:1.6rem}[data-fade=t]{-webkit-mask-image:linear-gradient(to bottom, transparent 0, var(--edge) var(--fade));mask-image:linear-gradient(to bottom, transparent 0, var(--edge) var(--fade))}[data-fade=b]{-webkit-mask-image:linear-gradient(to top, transparent 0, var(--edge) var(--fade));mask-image:linear-gradient(to top, transparent 0, var(--edge) var(--fade))}[data-fade=tb]{-webkit-mask-image:linear-gradient(to bottom, transparent 0, var(--edge) var(--fade), var(--edge) calc(100% - var(--fade)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, var(--edge) var(--fade), var(--edge) calc(100% - var(--fade)), transparent 100%)}[data-fade=l]{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--edge) var(--fade));mask-image:linear-gradient(to right, transparent 0, var(--edge) var(--fade))}[data-fade=r]{-webkit-mask-image:linear-gradient(to left, transparent 0, var(--edge) var(--fade));mask-image:linear-gradient(to left, transparent 0, var(--edge) var(--fade))}[data-fade=lr]{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--edge) var(--fade), var(--edge) calc(100% - var(--fade)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, var(--edge) var(--fade), var(--edge) calc(100% - var(--fade)), transparent 100%)}html{font-size:calc(16px * var(--auto-scale,1) * var(--ui-scale,1))}html[data-layout=land],html[data-layout=port]{font-size:calc(14px * var(--auto-scale,1) * var(--ui-scale,1))}html[data-layout=tabport],html[data-layout=square]{font-size:calc(15px * var(--auto-scale,1) * var(--ui-scale,1))}html.tv{font-size:calc(16px * var(--auto-scale,1) * min(var(--ui-scale,1), 1.15))}@media (max-height:800px){html.tv{font-size:calc(16px * var(--auto-scale,1))}}.side-body,.modal-body,.sheet,.tab-sheet,.lobby,.results{overscroll-behavior:contain}html:is([data-layout=port],[data-layout=land],[data-layout=tabport],[data-layout=square],[data-touch="1"]) :is(button,[role=radio],[role=tab],[role=option],.check){min-height:44px!important}html:is([data-layout=port],[data-layout=land],[data-layout=tabport],[data-layout=square],[data-touch="1"]) :is(.hud-btn,.icon-btn,.speed-seg button,.mini-toggle,.pc-ok,.pc-no,.ability,.edge-arrow,.segmented button,.small-btn,.side-toggle){min-width:44px!important}html.tv :is(button,[role=radio],[role=tab],[role=option]){min-height:44px!important}.sound-pill{border-radius:var(--r-pill);border:1px solid var(--accent);min-height:44px;color:var(--text);font:inherit;font-size:var(--fs-sm);white-space:nowrap;box-shadow:var(--elev-2);cursor:pointer;background:#100e0ceb;align-items:center;gap:.45rem;padding:0 .85rem;font-weight:700;display:inline-flex}.sound-pill .gi{width:1.15rem;height:1.15rem;color:var(--accent)}.sound-pill.in-lobby{z-index:16;top:max(.75rem, var(--safe-top));right:max(.75rem, var(--safe-right));position:fixed}.m-stack>.sound-pill{font-size:var(--fs-sm);pointer-events:auto}.loading .bar-fill.determinate{background:var(--accent);transition:width .35s;animation:none}html:is([data-layout=port],[data-layout=land]) .tip-card,html:is([data-layout=port],[data-layout=land]) .records,html:is([data-layout=port],[data-layout=land]) .achievements b,html:is([data-layout=port],[data-layout=land]) .tabs-row button,html:is([data-layout=port],[data-layout=land]) .slider output,html:is([data-layout=port],[data-layout=land]) .shortcuts,html:is([data-layout=port],[data-layout=land]) .save-nums,html:is([data-layout=port],[data-layout=land]) .pause-summary,html:is([data-layout=port],[data-layout=land]) .ency-sub,html:is([data-layout=port],[data-layout=land]) .ency-h4,html:is([data-layout=port],[data-layout=land]) .pros-cons h4,html:is([data-layout=port],[data-layout=land]) .pros-cons ul,html:is([data-layout=port],[data-layout=land]) .tc-list,html:is([data-layout=port],[data-layout=land]) .credits p,html:is([data-layout=port],[data-layout=land]) .diagnosis ul,html:is([data-layout=port],[data-layout=land]) .diag-tip,html:is([data-layout=port],[data-layout=land]) .res-extra h3,html:is([data-layout=port],[data-layout=land]) .entrance-warn,html:is([data-layout=port],[data-layout=land]) .tabs button,html:is([data-layout=port],[data-layout=land]) .coach-body p,html:is([data-layout=port],[data-layout=land]) .hud-port .pill b{font-size:max(13px,.85rem)}html:is([data-layout=port],[data-layout=land]) .tc-title,html:is([data-layout=port],[data-layout=land]) .info-title{font-size:max(13px,.98rem)}html:is([data-layout=port],[data-layout=land]) .tc-sub,html:is([data-layout=port],[data-layout=land]) .records thead th,html:is([data-layout=port],[data-layout=land]) .legend{font-size:max(13px,.75rem)}html:is([data-layout=port],[data-layout=land]) .tc-weak,html:is([data-layout=port],[data-layout=land]) .menu-text small,html:is([data-layout=port],[data-layout=land]) .achievements li,html:is([data-layout=port],[data-layout=land]) .auth-note,html:is([data-layout=port],[data-layout=land]) .unit-pill,html:is([data-layout=port],[data-layout=land]) .lang-btn .hud-btn span,html:is([data-layout=port],[data-layout=land]) .small-btn,html:is([data-layout=port],[data-layout=land]) .hint,html:is([data-layout=port],[data-layout=land]) .enemy-card,html:is([data-layout=port],[data-layout=land]) .coach-actions .btn,html:is([data-layout=port],[data-layout=land]) .hud-land .coach-body p{font-size:max(13px,.8rem)}html:is([data-layout=port],[data-layout=land]) .tc-preview,html:is([data-layout=port],[data-layout=land]) .set-h3,html:is([data-layout=port],[data-layout=land]) .toast{font-size:max(13px,.9rem)}html:is([data-layout=port],[data-layout=land]) .tc-foot,html:is([data-layout=port],[data-layout=land]) .lobby-foot,html:is([data-layout=port],[data-layout=land]) .res-stat span,html:is([data-layout=port],[data-layout=land]) .wc-unit small,html:is([data-layout=port],[data-layout=land]) .rank,html:is([data-layout=port],[data-layout=land]) .pc-reason,html:is([data-layout=port],[data-layout=land]) .seg button{font-size:max(13px,.72rem)}html:is([data-layout=port],[data-layout=land]) .stat-row,html:is([data-layout=port],[data-layout=land]) .segmented button,html:is([data-layout=port],[data-layout=land]) .custom-warn,html:is([data-layout=port],[data-layout=land]) .wave-chip,html:is([data-layout=port],[data-layout=land]) .paused-badge,html:is([data-layout=port],[data-layout=land]) .info,html:is([data-layout=port],[data-layout=land]) .info-title .lvl,html:is([data-layout=port],[data-layout=land]) .context-tip p{font-size:max(13px,.82rem)}html:is([data-layout=port],[data-layout=land]) .floater,html:is([data-layout=port],[data-layout=land]) .tagline,html:is([data-layout=port],[data-layout=land]) .panel h2,html:is([data-layout=port],[data-layout=land]) .set-label,html:is([data-layout=port],[data-layout=land]) .credits h3,html:is([data-layout=port],[data-layout=land]) .diagnosis h3,html:is([data-layout=port],[data-layout=land]) .hud-btn.speed b,html:is([data-layout=port],[data-layout=land]) .ec-head b,html:is([data-layout=port],[data-layout=land]) .hud-land .pill b{font-size:max(13px,.95rem)}html:is([data-layout=port],[data-layout=land]) .modal-lead,html:is([data-layout=port],[data-layout=land]) .btn,html:is([data-layout=port],[data-layout=land]) .check,html:is([data-layout=port],[data-layout=land]) .diff-nums,html:is([data-layout=port],[data-layout=land]) .ency-list button,html:is([data-layout=port],[data-layout=land]) .weak-to,html:is([data-layout=port],[data-layout=land]) .top-weapons,html:is([data-layout=port],[data-layout=land]) .new-ach,html:is([data-layout=port],[data-layout=land]) .lang-menu button,html:is([data-layout=port],[data-layout=land]) .captions span{font-size:max(13px,.88rem)}html:is([data-layout=port],[data-layout=land]) .foot-note,html:is([data-layout=port],[data-layout=land]) .set-desc,html:is([data-layout=port],[data-layout=land]) .switch,html:is([data-layout=port],[data-layout=land]) kbd,html:is([data-layout=port],[data-layout=land]) .credit-list,html:is([data-layout=port],[data-layout=land]) .role,html:is([data-layout=port],[data-layout=land]) .integrity{font-size:max(13px,.78rem)}html:is([data-layout=port],[data-layout=land]) .badge{font-size:max(13px,.68rem)}html:is([data-layout=port],[data-layout=land]) .save-slot,html:is([data-layout=port],[data-layout=land]) .slot-name,html:is([data-layout=port],[data-layout=land]) .seg button,html:is([data-layout=port],[data-layout=land]) .edge-arrow{font-size:max(13px,.66rem)}html:is([data-layout=port],[data-layout=land]) .save-info small,html:is([data-layout=port],[data-layout=land]) .note,html:is([data-layout=port],[data-layout=land]) .ups button,html:is([data-layout=port],[data-layout=land]) .check.small{font-size:max(13px,.76rem)}html:is([data-layout=port],[data-layout=land]) .slot-cost{font-size:max(13px,.74rem)}html:is([data-layout=port],[data-layout=land]) .slot.poor .slot-cost,html:is([data-layout=port],[data-layout=land]) .ab-name{font-size:max(13px,.64rem)}html:is([data-layout=port],[data-layout=land]) .slot-key,html:is([data-layout=port],[data-layout=land]) .up-count{font-size:max(13px,.62rem)}html:is([data-layout=port],[data-layout=land]) .ups button small,html:is([data-layout=port],[data-layout=land]) .ec-hp em,html:is([data-layout=port],[data-layout=land]) .fps{font-size:max(13px,.7rem)}html:is([data-layout=port],[data-layout=land]) .context-tip h3{font-size:max(13px,.92rem)}html:is([data-layout=port],[data-layout=land]) small{font-size:max(13px,.93em)}html:is([data-layout=port],[data-layout=land]) .quick-btn{font-size:max(14px,.9rem)}html:is([data-layout=port],[data-layout=land]) :is(.entr-row,.entr-new,.entr-see,.entr-banner,.entr-legend,.panel.notice p,.steam-btn,.update-bar,.camp-num,.camp-day,.camp-stats,.camp-locked,.camp-sub,.camp-num-badge,.camp-complete,.camp-stretch,.camp-pin,.brief-where,.brief-where b,.brief-stats,.brief-grid h3,.brief-diff-title,.brief-stars small,.brief-stars b,.brief-diff small,.crs small,.crs b,.camp-unlocks h3){font-size:max(13px,.85rem)}.hud{touch-action:none;--side-w:15.5rem;--gap:max(.5rem, var(--safe-left))}.hud-port{--side-w:0px}.hud-top{top:max(.5rem, var(--safe-top));left:var(--gap);right:calc(var(--side-w) + .5rem);z-index:var(--z-hud-top);pointer-events:none;align-items:center;gap:.5rem;display:flex;position:fixed}.hud-top>*{pointer-events:auto}.hud-top{flex-wrap:wrap;row-gap:.4rem;container:hudtop/inline-size}.pills{flex-wrap:wrap;row-gap:.35rem}.pv-short{display:none}.pill-sub{font-size:var(--fs-sm);color:var(--paper-2);white-space:nowrap;font-weight:600}.pill-sub:before{content:"·";color:var(--muted);margin-right:.4rem}.pill-sub b{color:var(--accent)}.pill-sub.last{border-radius:var(--r-sm);background:var(--accent);color:var(--ink);padding:.05rem .45rem;font-weight:800}.pill-sub.last:before{content:none}@container hudtop (width<=60rem){.pv-long{display:none}.pv-short{display:inline}.pill,.pill.wide{min-width:0;padding-inline:.6rem}}@container hudtop (width<=50rem){.pill.points,.pill.time{display:none}}.pills{gap:.35rem;display:flex}.pill{background:var(--surface-hud);border:1px solid var(--edge);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;cursor:help;align-items:center;gap:.45rem;min-width:4.6rem;min-height:2.5rem;padding:.3rem .7rem;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0f,0 2px 8px #0006}.pill.wide{min-width:7.2rem}.pill-ico{width:1.15rem;height:1.15rem;color:var(--muted)}.pill b{font-size:var(--fs-md);white-space:nowrap;font-weight:800}.pill.money b{color:var(--accent)}.pill.money .pill-ico{color:var(--ok-text)}.pill.prep b{color:var(--accent)}.pill.lives .pill-ico{color:var(--danger-hi)}.life-bar{border-radius:var(--r-xs);background:#ffffff1f;height:3px;position:absolute;bottom:.2rem;left:.5rem;right:.5rem;overflow:hidden}.life-bar span{background:var(--danger-hi);height:100%;transition:width .3s;display:block}.pill.danger{border-color:var(--danger);animation:1.1s ease-in-out 3 pulse}.pill.hit-0{animation:.6s hit-a}.pill.hit-1{animation:.6s hit-b}@keyframes hit-a{30%{background:var(--danger-deep);transform:scale(1.08)}}@keyframes hit-b{30%{background:var(--danger-deep);transform:scale(1.08)}}@keyframes pulse{50%{box-shadow:0 0 14px #e2574cd9}}.reduce-flash .pill.hit-0,.reduce-flash .pill.hit-1{animation:none}.pill.wave-of b{font-size:var(--fs-md)}.top-actions{gap:.35rem;margin-left:auto;display:flex}.hud-btn{background:var(--surface-hud);border:1px solid var(--edge);border-radius:var(--r-sm);min-width:2.75rem;min-height:2.75rem;color:var(--text);justify-content:center;align-items:center;gap:.4rem;padding:0 .6rem;font-weight:800;display:inline-flex}.hud-btn .gi{width:1.25rem;height:1.25rem}@media (hover:hover){.hud-btn:hover{background:#342e26f2}}.hud-btn.on{background:var(--accent);color:var(--ink)}.hud-btn.wide{flex:1}.top-center{top:calc(max(.5rem, var(--safe-top)) + var(--hud-top-h,2.75rem) + .45rem);left:var(--gap);right:calc(var(--side-w) + .5rem);z-index:var(--z-hud-stack);pointer-events:none;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:fixed}.top-center>*{pointer-events:auto}.wave-chip{background:var(--surface-hud);border:1px solid var(--front,var(--line-strong));border-left:5px solid var(--front,var(--line-strong));border-radius:var(--r-sm);max-width:100%;font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:.25rem .5rem;padding:.25rem .35rem .25rem .7rem;display:flex}.wc-label{white-space:nowrap;color:var(--muted)}.wc-label b{color:var(--text);font-size:var(--fs-md)}.wc-front{white-space:nowrap;color:var(--text);cursor:help;align-items:center;gap:.3rem;font-weight:800;display:inline-flex}.front-dot{background:var(--front,var(--text-3));width:.7rem;height:.7rem;box-shadow:0 0 0 2px var(--edge);border-radius:50%}.wc-units{flex-wrap:wrap;gap:.25rem;display:flex}.wc-unit{background:var(--paper);color:var(--ink);border-radius:var(--r-sm);cursor:help;align-items:center;gap:.1rem;padding:.12rem .3rem .12rem .18rem;display:inline-flex}.wc-unit.air{background:#cfe6f5}.wc-unit .gi{width:1.3rem;height:1.3rem}.wc-unit small{font-weight:800;font-size:var(--fs-xs)}.wc-more{color:var(--muted);align-self:center;padding:0 .2rem;font-weight:800}.entrance-warn{border:1px solid var(--accent-2);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--warn-text);background:#4a260cf0;align-items:center;gap:.5rem;padding:.2rem .3rem .2rem .7rem;display:flex}.entrance-warn .gi{width:1.1rem;height:1.1rem;color:var(--accent)}.small-btn{min-height:2.2rem!important;font-size:var(--fs-sm)!important;padding:.2rem .7rem!important}.paused-badge{color:var(--ink);border-radius:var(--r-pill);font-weight:800;font-size:var(--fs-sm);background:#f4d35ef2;align-items:center;gap:.45rem;padding:.35rem .8rem;display:flex}.paused-badge .gi{width:1rem;height:1rem}.wave-banner{top:max(32%, calc(var(--tc-bottom,0px) + .6rem));left:calc((100% - var(--side-w)) / 2);max-width:calc(100% - var(--side-w) - 2rem);border:2px solid var(--accent-2);border-radius:var(--r-md);font-size:var(--fs-lg);text-align:center;z-index:var(--z-hud-stack);pointer-events:none;background:#0a0908db;padding:.65rem 1.3rem;font-weight:900;animation:.35s banner-in;position:fixed;transform:translate(-50%)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)scale(.96)}}.side{width:var(--side-w);background:var(--surface-side);border-left:2px solid var(--edge);z-index:var(--z-hud-panel);padding-top:var(--safe-top);padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);transition:transform .2s;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 18px #00000073}.side-body{overscroll-behavior:contain;flex-direction:column;gap:.55rem;height:100%;padding:.55rem;display:flex;overflow-y:auto}.arsenal{flex-direction:column;gap:.4rem;display:flex}.tabs{gap:.3rem;display:flex}.tabs button{background:var(--surface-4);border:1px solid var(--line);border-radius:var(--r-sm);min-height:2.5rem;font-weight:800;font-size:var(--fs-sm);color:var(--muted);flex:1;justify-content:center;align-items:center;gap:.35rem;display:flex}.tabs button .gi{width:1.1rem;height:1.1rem}.tabs button.on{background:var(--accent);color:var(--ink);border-color:var(--edge)}.grid{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.slot{background:var(--paper);min-height:4.6rem;color:var(--ink);border:2px solid var(--edge);border-radius:var(--r-sm);box-shadow:inset 0 -4px 0 var(--slot-accent,#9a8f80);flex-direction:column;justify-content:flex-end;align-items:center;gap:.05rem;padding:.35rem .2rem .3rem;transition:transform 80ms,background .1s;display:flex;position:relative}@media (hover:hover){.slot:hover{background:#f6f1e7;transform:translateY(-1px)}}.slot.on{outline:3px solid var(--accent);outline-offset:1px;background:#fff5d6}.slot-ico{width:2.2rem;height:2.2rem;margin-bottom:.05rem}.slot-name{font-size:var(--fs-xs);white-space:nowrap;font-weight:700;line-height:1.1}.slot-cost{font-size:var(--fs-xs);white-space:nowrap;font-weight:900;line-height:1.1}.slot.poor{box-shadow:none;background:#d5cdbf}@media (hover:hover){.slot.poor:hover{background:#ddd6c9}}.slot.poor .slot-ico{opacity:.42}.slot.poor .slot-name{color:#4f483f}.slot.poor .slot-cost{color:#a3221b}.slot-short{vertical-align:-.12em;--icon-stroke:2.6;margin-right:.15em;width:.95em!important;height:.95em!important}.slot-fund{background:#aea493;border-radius:0 0 .4rem .4rem;height:5px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.slot-fund span{background:#2a251f;height:100%;transition:width .3s;display:block}.slot-key{font-size:var(--fs-xs);color:var(--ink-2);font-weight:900;position:absolute;top:.12rem;left:.2rem}.slot-air{border-radius:var(--r-xs);color:#fff;background:#1d4a6e;place-items:center;width:1.2rem;height:1.2rem;display:grid;position:absolute;top:.2rem;right:.2rem}.slot-air .gi{width:.9rem;height:.9rem}.coach{z-index:2;box-shadow:0 0 0 3px var(--accent);animation:1.3s ease-in-out 4 coach;position:relative}@keyframes coach{50%{box-shadow:0 0 0 4px var(--accent), 0 0 22px #f4d35ed9}}.info{border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-sm);background:#0a0908b8;flex-direction:column;gap:.45rem;padding:.6rem;display:flex}.info.idle{color:var(--muted)}.info-head{align-items:center;gap:.55rem;display:flex}.info-portrait{border-radius:var(--r-sm);border:1px solid var(--edge);flex:none;width:3.1rem;height:3.1rem}.info-titles{min-width:0}.info-title{font-weight:800;font-size:var(--fs-md);color:var(--text);flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.title-ico{width:1.4rem;height:1.4rem}.info-title .lvl{vertical-align:.12em;cursor:help;align-items:center;gap:.18rem;margin-left:.2rem;display:inline-flex}.info-title .lvl i{border:1.5px solid var(--accent);border-radius:50%;width:.5rem;height:.5rem}.info-title .lvl i.on{background:var(--accent)}.muted{color:var(--muted);font-weight:500}.rank{font-size:var(--fs-xs);color:var(--muted);cursor:help;align-items:center;gap:.35rem;display:flex}.rank-dot{background:var(--line);width:.7rem;height:.7rem;box-shadow:0 0 0 2px var(--edge);border-radius:50%}.rank-bronze .rank-dot{background:#b87333}.rank-prata .rank-dot{background:#c9ced3}.rank-ouro .rank-dot{background:#e6b422}.rank-ouro-max .rank-dot{box-shadow:0 0 0 2px var(--edge), 0 0 8px #ffd84a;background:#ffd84a}.role{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.stats-line{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .7rem;font-weight:800;display:flex}.stats-line span{cursor:help;align-items:center;gap:.25rem;display:inline-flex}.stats-line .gi{width:1rem;height:1rem;color:var(--accent)}.stats-line small{color:var(--ok-text);font-weight:700}.stats-line .off{opacity:.55}.hint{color:var(--ok-text);font-size:var(--fs-sm);font-weight:700;line-height:1.3}.hint.bad{color:var(--danger-text)}.note{font-size:var(--fs-xs);border-radius:var(--r-sm);padding:.25rem .45rem;font-weight:700}.note.ok{background:var(--ok-bg);color:var(--ok-text)}.note.stun{color:var(--info-text);background:#1d3040}.ups{grid-template-columns:1fr 1fr;gap:.3rem;display:grid}.ups button{text-align:left;background:var(--ok-deep);border-radius:var(--r-sm);min-height:2.75rem;font-weight:800;font-size:var(--fs-xs);color:#fff;border:1px solid #173b20;grid-template-rows:auto auto;grid-template-columns:1.1rem 1fr;align-items:center;column-gap:.3rem;padding:.25rem .4rem;display:grid;position:relative}.ups button .gi{grid-row:1/3;width:1.1rem;height:1.1rem}.ups button small{opacity:.9;font-weight:700;font-size:var(--fs-xs)}.ups button:disabled{background:var(--surface-4);color:#9a9084;cursor:not-allowed;border-color:#2a2622}.ups button.done{color:var(--accent);background:#4a3f22}.up-count{font-style:normal;font-size:var(--fs-xs);border-radius:var(--r-xs);background:#00000059;padding:0 .25rem;position:absolute;top:.2rem;right:.25rem}.seg{grid-template-columns:repeat(4,1fr);gap:.2rem;display:grid}.seg button{min-height:2.3rem;font-size:var(--fs-xs);background:var(--surface-4);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text-2);padding:.15rem;font-weight:700;line-height:1.1}.seg button.on{background:var(--accent);border-color:var(--edge);color:var(--ink);font-weight:900}.btn.sell{background:#d8cdbd;width:100%}.btn.sell.armed{background:var(--danger);color:#fff}.integrity{font-size:var(--fs-xs);flex-direction:column;gap:.25rem;display:flex}.integrity .bar{background:var(--surface-4);border-radius:var(--r-xs);height:.4rem;overflow:hidden}.integrity .bar span{background:var(--accent-2);height:100%;display:block}.controls{flex-direction:column;gap:.35rem;display:flex}.controls .row{gap:.35rem;display:flex}.speed-seg{gap:.15rem;display:flex}.speed-seg button{background:var(--surface-4);border:1px solid var(--line);border-radius:var(--r-sm);min-width:2.4rem;min-height:2.75rem;color:var(--text-2);font-weight:900}.speed-seg button.on{background:var(--accent);border-color:var(--edge);color:var(--ink)}.next-wave{width:100%;min-height:2.9rem;position:relative}.next-wave.entering:disabled{opacity:1;background:var(--surface-4);color:var(--paper-2);border-color:var(--edge)}.next-wave.entering .gi{color:var(--accent)}.nw-progress{border-radius:var(--r-xs);background:#ffffff1f;height:3px;position:absolute;bottom:4px;left:8px;right:8px;overflow:hidden}.nw-progress span{background:var(--accent);height:100%;transition:width .3s linear;display:block}.next-wave small{color:#5a3d00;font-weight:800}.hud-btn.speed b{font-size:var(--fs-md)}.minimap{border:2px solid var(--edge);border-radius:var(--r-sm);cursor:pointer;touch-action:none;background:#3d5a2b;flex:none;align-self:center;width:auto;max-width:100%;height:auto;max-height:34vh;display:block}.abilities{left:var(--gap);bottom:max(1rem, calc(var(--safe-bottom) + .5rem));z-index:var(--z-hud-abil);gap:.4rem;display:flex;position:fixed}.ability{border-radius:var(--r-md);border:2px solid var(--edge);background:var(--ability);width:3.9rem;height:3.9rem;color:var(--warn-text);box-shadow:var(--elev-2);flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex;position:relative;overflow:hidden}.ability.on{outline:3px solid var(--accent);outline-offset:1px}.ab-ico{width:1.7rem;height:1.7rem}.ab-name{font-size:var(--fs-xs);font-weight:800}.ability.cooling:after{content:"";background:conic-gradient(#0000009e var(--cd,0deg), transparent 0);position:absolute;inset:0}.ab-cd{font-size:var(--fs-md);color:#fff;z-index:1;text-shadow:0 1px 3px var(--edge);place-items:center;font-weight:900;display:grid;position:absolute;inset:0}.ability.locked{background:var(--surface-3);color:var(--text-2);cursor:help}.ability.locked .ab-ico{opacity:.4}.enemy-card{left:calc(var(--gap) + 18rem);bottom:max(1rem, calc(var(--safe-bottom) + .5rem));border:1px solid var(--line-strong);border-radius:var(--r-md);width:17rem;z-index:var(--z-hud-card);font-size:var(--fs-sm);box-shadow:var(--elev-2);pointer-events:none;background:#14120ff2;padding:.55rem .65rem;position:fixed}.enemy-card.pinned{pointer-events:auto;border-color:var(--danger)}.ec-head{align-items:center;gap:.5rem;display:flex}.ec-head>div{flex-direction:column;flex:1;min-width:0;display:flex}.ec-head b{font-size:var(--fs-md)}.ec-head small{color:var(--muted)}.ec-portrait,.ec-ico{border-radius:var(--r-sm);flex:none;width:2.6rem;height:2.6rem}.ec-ico{background:var(--paper);color:var(--ink);place-items:center;display:grid}.ec-ico .gi{width:2rem;height:2rem}.ec-hp{border-radius:var(--r-xs);background:#3a1d1a;height:1rem;margin:.45rem 0 .35rem;position:relative;overflow:hidden}.ec-hp span{background:var(--danger);height:100%;display:block}.ec-hp em{font-style:normal;font-weight:800;font-size:var(--fs-xs);text-shadow:0 1px 2px var(--edge);place-items:center;display:grid;position:absolute;inset:0}.ec-stats{flex-wrap:wrap;gap:.7rem;font-weight:700;display:flex}.ec-stats span{align-items:center;gap:.25rem;display:inline-flex}.ec-stats .gi{width:.95rem;height:.95rem;color:var(--accent)}.ec-stats .slowed{color:var(--info-text)}.ec-weak{color:#cfe8c9;margin:.35rem 0 0}.edge-arrow{z-index:var(--z-hud-marker);border:2px solid var(--danger);border-radius:var(--r-sm);color:#fff;min-width:2.75rem;min-height:2.75rem;font-size:var(--fs-xs);background:#0c0b0ad9;flex-direction:column;align-items:center;gap:.1rem;padding:.2rem .35rem;font-weight:800;display:flex;position:fixed;transform:translate(-50%,-50%)}.edge-arrow.entrance{border-color:var(--accent-2)}.edge-arrow.boss{border-color:var(--accent)}.ea-arrow{width:1.15rem;height:1.15rem;color:var(--danger);display:block}.ea-arrow .gi{width:100%;height:100%}.edge-arrow.entrance .ea-arrow{color:var(--accent-2)}.edge-arrow.boss .ea-arrow{color:var(--accent)}.ea-label{white-space:nowrap;text-overflow:ellipsis;max-width:7.2rem;overflow:hidden}.vignette{z-index:6;pointer-events:none;animation:1.8s ease-in-out infinite vig;position:fixed;inset:0;box-shadow:inset 0 0 12vmin #c81e148c}@keyframes vig{50%{box-shadow:inset 0 0 7vmin #c81e1459}}.reduce-flash .vignette{animation:none}.place-confirm{z-index:var(--z-hud-confirm);flex-direction:column;gap:.3rem;display:flex;position:fixed}.pc-row{gap:.45rem;display:flex}.pc-ok,.pc-no{border:2px solid var(--edge);width:3.1rem;height:3.1rem;box-shadow:var(--elev-2);border-radius:50%;place-items:center;display:grid}.pc-ok{color:#fff;background:#2ea44f}.pc-ok:disabled{background:var(--line);color:var(--text-3)}.pc-no{color:#fff;background:#c0392b}.pc-ok .gi,.pc-no .gi{width:1.5rem;height:1.5rem}.pc-reason{border-radius:var(--r-xs);max-width:12rem;font-size:var(--fs-xs);color:var(--ok-text);background:#0a0908d9;padding:.15rem .4rem;font-weight:700}.pc-reason.bad{color:var(--danger-text)}.intro-skip{left:50%;bottom:max(1.5rem, calc(var(--safe-bottom) + 1rem));z-index:var(--z-hud-skip);background:#ece6daf2;position:fixed;transform:translate(-50%)}.toast{bottom:6.2rem;left:calc((100% - var(--side-w)) / 2);max-width:min(32rem, calc(100% - var(--side-w) - 2rem));border-radius:var(--r-sm);border:1px solid var(--line);font-weight:700;font-size:var(--fs-sm);text-align:center;z-index:var(--z-hud-toast);pointer-events:none;background:#0a0908eb;padding:.55rem 1rem;animation:.2s toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}.toast.erro{border-color:var(--danger);color:var(--danger-text)}.toast.alerta{border-color:var(--accent-2);color:var(--accent)}.captions{bottom:9rem;left:calc((100% - var(--side-w)) / 2);z-index:var(--z-hud-caption);pointer-events:none;flex-direction:column;align-items:center;gap:.25rem;display:flex;position:fixed;transform:translate(-50%)}.captions span{color:#fff;font-size:var(--fs-sm);border-radius:var(--r-xs);background:#000000d1;padding:.2rem .6rem;font-weight:600}.fps{left:calc(var(--gap) + .2rem);font-size:var(--fs-xs);color:#ffffffb3;text-shadow:0 1px 2px var(--edge);pointer-events:none;z-index:5;position:fixed;bottom:5.4rem}.coach-card{left:var(--gap);top:calc(max(.5rem, var(--safe-top)) + 3.4rem);width:min(22rem, calc(100% - var(--side-w) - 1.5rem));border:2px solid var(--accent);border-radius:var(--r-md);box-shadow:var(--elev-2);z-index:var(--z-hud-coach);background:#181512f7;gap:.7rem;padding:.75rem;animation:.2s pop-in;display:flex;position:fixed}.coach-portrait{border-radius:var(--r-sm);border:1px solid var(--edge);flex:none;width:3.6rem;height:3.6rem}.coach-body h3{font-size:var(--fs-md);color:var(--accent);margin:.15rem 0 .25rem}.coach-body p{font-size:var(--fs-sm);margin:0 0 .5rem;line-height:1.4}.coach-progress{gap:.2rem;display:flex}.coach-progress span{border-radius:var(--r-xs);background:var(--line);width:1.2rem;height:.25rem}.coach-progress span.on{background:var(--accent)}.coach-actions{flex-wrap:wrap;gap:.4rem;display:flex}.coach-actions .btn{min-height:2.5rem;font-size:var(--fs-sm)}.context-tip{left:var(--gap);top:calc(max(.5rem, var(--safe-top)) + 3.4rem);width:min(21rem, calc(100% - var(--side-w) - 1.5rem));border:1px solid var(--line-strong);border-left:4px solid var(--accent);border-radius:var(--r-md);z-index:var(--z-hud-tip);background:#181512f5;gap:.55rem;padding:.65rem .7rem;animation:.2s pop-in;display:flex;position:fixed}.ctip-ico{width:1.3rem;height:1.3rem;color:var(--accent);margin-top:.1rem}.context-tip h3{font-size:var(--fs-md);margin:0 0 .2rem}.context-tip p{font-size:var(--fs-sm);color:var(--paper-2);margin:0 0 .35rem;line-height:1.4}.ctip-actions{align-items:center;gap:.4rem;display:flex}.check.small{font-size:var(--fs-xs);min-height:2.2rem;color:var(--muted)}.check.small input{width:1.05rem;height:1.05rem}.hud-land .pill{gap:.3rem;min-width:0;min-height:2.3rem;padding:.2rem .5rem}.hud-land .pill.wide{min-width:0}.hud-land .pill b{font-size:var(--fs-md)}.hud-land .pill-ico{width:.95rem;height:.95rem}.hud-land .hud-top{right:.5rem}.hud-land .top-actions .hud-btn{min-width:2.75rem}.side.drawer{top:calc(max(.5rem, var(--safe-top)) + var(--hud-top-h,2.75rem) + .3rem);border-top:2px solid var(--edge);border-radius:.8rem 0 0}.side.drawer.closed{transform:translate(100%)}.side-toggle{border:2px solid var(--edge);width:2.75rem;height:4rem;font-size:var(--fs-xl);background:#34302a;border-right:none;border-radius:.6rem 0 0 .6rem;font-weight:900;position:absolute;top:40%;left:-2.75rem}.hud-land .top-center{top:calc(max(.5rem, var(--safe-top)) + var(--hud-top-h,2.75rem) + .3rem);right:calc(var(--side-w) + .5rem)}.hud-land .slot-name,.hud-land .info-portrait{display:none}.hud-land .abilities{left:calc(var(--gap) + 8.4rem)}.hud-land .ability{width:3.3rem;height:3.3rem}.hud-land .ability.locked{display:none}.hud-land .enemy-card{left:auto;right:calc(var(--side-w) + .6rem);bottom:auto;top:calc(max(.5rem, var(--safe-top)) + 6rem);width:14rem}.hud-land .toast{bottom:4.6rem}.hud-land .captions{bottom:7rem}.hud-land .coach-card,.hud-land .context-tip{top:auto;bottom:max(.5rem, var(--safe-bottom));left:calc(var(--gap) + 8.4rem);width:min(22rem, calc(100% - var(--side-w) - 10rem))}.hud-land .coach-portrait{width:2.8rem;height:2.8rem}.hud-land .coach-body p{font-size:var(--fs-sm);margin-bottom:.3rem}.hud-land .fps{bottom:6rem}.hud-port .hud-top{right:var(--gap)}.hud-port .pills{grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;width:100%;display:grid}.hud-port .pill{flex-direction:column;gap:.05rem;min-width:0;min-height:2.9rem;padding:.25rem .2rem .4rem}.hud-port .pill b{font-size:var(--fs-sm)}.hud-port .pill-ico{width:.95rem;height:.95rem}.hud-port .top-center{top:calc(max(.5rem, var(--safe-top)) + 6.6rem);align-items:flex-start;right:8.8rem}.hud-port .wave-chip{flex-wrap:wrap}.sheet{max-height:58vh;padding:0 max(.6rem, var(--safe-right)) max(.6rem, var(--safe-bottom)) max(.6rem, var(--safe-left));background:var(--surface-sheet);border-top:2px solid var(--edge);z-index:var(--z-hud-panel);overscroll-behavior:contain;border-radius:1rem 1rem 0 0;flex-direction:column;gap:.45rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -6px 20px #00000073}.grab{background:0 0;border:none;flex:none;align-self:center;place-items:center;width:5rem;min-height:1.8rem;display:grid}.grab span{border-radius:var(--r-xs);background:#9a9084;width:3rem;height:.3rem}.hud-port .grid{scroll-snap-type:x proximity;gap:.35rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.hud-port .slot{scroll-snap-align:start;flex:none;width:4.6rem}.hud-port .info{flex:none}.hud-port .info-portrait{width:2.6rem;height:2.6rem}.sheet-controls{flex:none;gap:.35rem;display:flex}.sheet-controls .next-wave{flex:1;width:auto}.hud-port .abilities{bottom:auto;top:calc(max(.5rem, var(--safe-top)) + 16rem);left:auto;right:var(--gap);flex-direction:column}.hud-port .ability{width:3.4rem;height:3.4rem}.hud-port .ability.locked{display:none}.hud-port .enemy-card{left:var(--gap);width:auto;bottom:auto;right:5rem;top:calc(max(.5rem, var(--safe-top)) + 9.6rem)}.hud-port .toast{max-width:calc(100% - 2rem);top:45%;bottom:auto;left:50%}.hud-port .captions{top:38%;bottom:auto;left:50%}.hud-port .wave-banner{left:50%;top:max(30%, calc(var(--tc-bottom,0px) + .6rem));max-width:calc(100% - 2rem);font-size:var(--fs-md)}.hud-port .coach-card,.hud-port .context-tip{top:calc(max(.5rem, var(--safe-top)) + 6.6rem);left:var(--gap);flex-direction:column;width:auto;right:8.9rem}.hud-port .coach-portrait{display:none}.hud-port .fps{bottom:auto;top:calc(max(.5rem, var(--safe-top)) + 6.4rem)}.side-body{overflow-x:hidden}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slot,.tabs button,.info,.info-head,.info-title,.stats-line,.ups,.ups button,.seg,.seg button,.controls,.controls .row,.speed-seg,.speed-seg button,.hud-btn,.btn,.integrity,.arsenal{min-width:0}.slot-name,.slot-cost,.ups button span,.ups button small,.hud-btn span,.next-wave,.rank{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.seg button{white-space:normal;overflow-wrap:anywhere}.ups{grid-template-columns:repeat(2,minmax(0,1fr))}.speed-seg button{min-width:2.2rem}.btn.sell{white-space:normal;text-align:center}.minimap{max-width:100%}.pills{flex:0 auto}.pill{flex:none}.pill b{text-overflow:ellipsis;overflow:hidden}.hud-port .pill{flex:initial;overflow:hidden}.hud-port .pill b{max-width:100%}.sheet{overflow-x:hidden}.wave-chip,.entrance-warn{min-width:0}.entrance-warn span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tabs button{overflow:hidden}.tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.place-confirm{top:0;left:0}.enemy-card{max-height:calc(100dvh - 5rem);overflow-y:auto}.hud-land .enemy-card{top:auto;bottom:max(.5rem, var(--safe-bottom));max-height:calc(100dvh - 4rem)}.seg{grid-template-columns:repeat(2,minmax(0,1fr))}.seg button{min-height:2.2rem;font-size:var(--fs-xs);overflow-wrap:normal;word-break:normal;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.controls .row .hud-btn.wide,.controls .row .speed-seg{flex:100%}.t-short{display:none}.controls .row{flex-wrap:nowrap}.controls .row .hud-btn{flex:none}.controls .row .speed-seg{flex:auto}.controls .row .speed-seg button{flex:1}.info-head .sel-close{flex:none;margin-left:auto}.side-body{min-height:0}.mini-dock{flex-direction:column;flex:1 1 0;min-height:6rem;display:flex;position:relative}.mini-frame{flex:0 auto;align-self:center;max-width:100%;min-height:0;display:flex;position:relative}.mini-frame .mini-toggle{z-index:3;position:absolute;top:.4rem;right:.4rem}html .mini-frame .mini-toggle{background:var(--surface-2);color:var(--text);border-color:var(--line-strong);--icon-stroke:2.6}@media (hover:hover){html .mini-frame .mini-toggle:hover{background:var(--ib-bg-hover)}}.mini-open{background:var(--ib-bg);border:1px solid var(--ib-line);border-radius:var(--r-sm);width:100%;min-height:44px;color:var(--text);align-items:center;gap:.55rem;padding:0 .75rem;font-weight:800;display:flex}.mini-open .gi{width:1.2rem;height:1.2rem}.mini-open span{text-align:left;flex:1}@media (hover:hover){.mini-open:hover{background:var(--ib-bg-hover)}}.mini-dock .minimap{object-fit:contain;border-radius:var(--r-sm);background:0 0;border:none;flex:0 auto;width:auto;max-width:100%;height:auto;min-height:0;max-height:100%}.mini-dock.closed{flex:none;min-height:0}@media (max-height:860px){.hud-desk .side-body{gap:.4rem;padding:.45rem}.hud-desk .tabs button{min-height:2.2rem}.hud-desk .slot{min-height:3.7rem}.hud-desk .slot-name{display:none}.hud-desk .slot-ico{width:1.9rem;height:1.9rem}.hud-desk .info{gap:.35rem;padding:.5rem}.hud-desk .info-portrait{width:2.4rem;height:2.4rem}}@media (max-height:860px),(max-width:1100px){.hud-desk .ups,.hud-land .ups,.hud-port .ups{grid-template-columns:repeat(4,minmax(0,1fr))}.hud-desk .ups button,.hud-land .ups button,.hud-port .ups button{text-align:center;flex-direction:column;justify-content:center;gap:.1rem;padding:.2rem;display:flex}.hud-desk .ups button span,.hud-land .ups button span,.hud-port .ups button span{display:none}.hud-desk .seg,.hud-land .seg,.hud-port .seg{grid-template-columns:repeat(4,minmax(0,1fr))}.hud-desk .seg .t-full,.hud-land .seg .t-full,.hud-port .seg .t-full{display:none}.hud-desk .seg .t-short,.hud-land .seg .t-short,.hud-port .seg .t-short{display:inline}}.hud-land .slot-ico{width:1.6rem;height:1.6rem}.buff-chip{background:var(--ok-bg);border-radius:var(--r-xs);color:var(--ok-text);cursor:help;align-items:center;padding:.05rem .3rem;display:inline-flex}.buff-chip .gi{color:var(--ok-text)!important}@media (max-height:960px){.hud-desk .ups{grid-template-columns:repeat(4,minmax(0,1fr))}.hud-desk .ups button{text-align:center;flex-direction:column;justify-content:center;gap:.1rem;padding:.2rem;display:flex}.hud-desk .ups button span{display:none}.hud-desk .seg{grid-template-columns:repeat(4,minmax(0,1fr))}.hud-desk .seg .t-full{display:none}.hud-desk .seg .t-short{display:inline}.hud-desk .mini-dock{min-height:5rem}}@media (max-height:860px){.hud-desk .slot{min-height:3.4rem}.hud-desk .btn.sell{min-height:2.4rem}.hud-desk .mini-dock{min-height:4rem}}.hud-land .info.idle,.hud-land .info:not(.sel) .stats-line,.hud-land .info:not(.sel) .small-btn{display:none}.hud-land .grid{gap:.3rem}.hud-land .slot{min-height:3.15rem}.hud-land .info:not(.sel) .muted{display:none}.hud-land .info{gap:.3rem;padding:.45rem}.hud-tab{--side-w:0px}.tab-sheet{max-height:48vh;padding:0 max(.75rem, var(--safe-right)) max(.6rem, var(--safe-bottom)) max(.75rem, var(--safe-left));background:var(--surface-sheet);border-top:2px solid var(--edge);z-index:var(--z-hud-panel);overscroll-behavior:contain;border-radius:1rem 1rem 0 0;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden auto;box-shadow:0 -6px 20px #00000073}.tab-cols{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:.7rem;display:grid}.tab-col{flex-direction:column;gap:.5rem;min-width:0;display:flex}.hud-tab .slot{min-height:3.8rem}.hud-tab .sheet-controls .speed-seg{flex:none}.hud-tab .abilities{bottom:calc(var(--sheet-h,40vh) + .6rem)}.hud-tab .enemy-card{bottom:calc(var(--sheet-h,40vh) + .6rem);left:auto;right:var(--gap)}.hud-tab .toast{bottom:calc(var(--sheet-h,40vh) + 5rem)}.hud-tab .captions{bottom:calc(var(--sheet-h,40vh) + 7.5rem)}.hud-tab .fps{bottom:calc(var(--sheet-h,40vh) + 5rem)}.hud-tab .top-center{right:11rem}[data-posture=book] .hud{--side-w:calc(100% - var(--seg-a-right))}[data-posture=book] .side{left:var(--fold-x);width:auto}[data-posture=laptop] .tab-sheet{top:var(--fold-y);border-radius:0;max-height:none}.tv #app{contain:layout;pointer-events:none;position:fixed;inset:5vh 5vw}.tv #app>*{pointer-events:auto}html.tv :focus-visible,html.tv :focus,html.pad :focus-visible,html.pad :focus{outline:.25rem solid var(--focus);outline-offset:.2rem;box-shadow:0 0 0 .45rem var(--focus-halo)}.hud-land{--side-w:max(14.5rem, 214px)}.hud-square.hud-desk{--side-w:max(14rem, 236px)}.hud-land .side-body{gap:.3rem;padding:.35rem}[data-posture=book] .pills{flex-wrap:wrap}[data-posture=book] .enemy-card{left:var(--gap);max-width:calc(var(--seg-a-right) - 1rem)}[data-posture=laptop] .hud-tab .abilities{bottom:calc(100% - var(--seg-a-bottom) + .6rem)}[data-posture=laptop] .hud-tab .enemy-card,[data-posture=laptop] .hud-tab .toast,[data-posture=laptop] .hud-tab .captions{bottom:calc(100% - var(--seg-a-bottom) + 4.5rem)}.hud.hud-m{--m-glass:var(--surface-glass);--m-line:#ffffff1a;--m-safe-t:max(8px, var(--safe-top));--m-safe-r:max(8px, var(--safe-right));--m-safe-b:max(8px, var(--safe-bottom));--m-safe-l:max(8px, var(--safe-left));--side-w:0px;font-size:var(--fs-lg)}.hud.hud-m button{transition:transform .12s,background .12s}.hud.hud-m button:active:not(:disabled){transform:scale(.96)}.m-top{top:var(--m-safe-t);left:var(--m-safe-l);right:calc(var(--m-safe-r) + var(--ib-md) + 8px);z-index:var(--z-hud-top);pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:fixed}.m-top>*{pointer-events:auto}.m-top>.m-pill{flex:none;min-width:auto}@media (max-width:440px){.m-top{gap:6px}.m-top>.m-pill{gap:4px;padding:0 8px}.m-top>.m-pill b{font-size:var(--fs-lg)}.m-pill.money .m-pill-ico,.m-wave .m-pill-ico{display:none}}.m-pill{background:var(--m-glass);border:1px solid var(--m-line);border-radius:var(--r-md);min-width:0;height:44px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;padding:0 12px;display:inline-flex;position:relative}.m-pill b{font-size:var(--fs-lg);font-weight:800}.m-pill-ico{color:var(--muted);width:18px!important;height:18px!important}.m-pill.money b{color:var(--accent)}.m-pill.money .m-pill-ico{color:var(--ok-text)}.m-pill.lives .m-pill-ico{color:var(--danger-hi)}.m-pill.danger{border-color:var(--danger)}.m-wave.on{border-color:var(--accent)}.m-next{font-size:var(--fs-sm);color:var(--muted);font-weight:700}.m-next.prep{color:var(--accent)}.m-life{border-radius:var(--r-xs);background:#ffffff1f;height:3px;position:absolute;bottom:5px;left:10px;right:10px;overflow:hidden}.m-life span{background:var(--danger-hi);height:100%;display:block}.m-stats{background:var(--surface-glass);border:1px solid var(--m-line);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 14px;padding:8px 12px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.m-stats span{align-items:center;gap:5px;display:inline-flex}.m-stats .gi{width:15px;height:15px}.m-stats b{color:var(--text);font-size:var(--fs-md)}.m-last{color:var(--ink);background:var(--accent);border-radius:var(--r-sm);font-weight:800;font-size:var(--fs-sm);padding:2px 8px}.m-last.solo{flex:none}.m-corner{top:var(--m-safe-t);right:var(--m-safe-r);z-index:var(--z-hud-marker);flex-direction:column;gap:8px;display:flex;position:fixed}.m-btn{background:var(--m-glass);border:1px solid var(--m-line);border-radius:var(--r-md);width:44px;height:44px;color:var(--text);place-items:center;padding:0;display:grid}.m-btn .gi{width:22px;height:22px}.m-btn.on{border-color:var(--accent);color:var(--accent)}.m-map-card{top:var(--m-safe-t);right:calc(var(--m-safe-r) + var(--ib-md) + 8px);border:1px solid var(--m-line);border-radius:var(--r-md);width:min(19rem,100vw - 76px);box-shadow:var(--elev-2);z-index:var(--z-hud-abil);background:#14120ff0;padding:0 8px 8px;position:fixed}.m-map-card header{height:44px;font-size:var(--fs-sm);color:var(--muted);justify-content:space-between;align-items:center;padding-left:4px;font-weight:700;display:flex}.m-map-card .minimap{object-fit:contain;border-radius:var(--r-sm);border:none;width:100%;height:auto;max-height:45vh;display:block}.m-x{width:44px;height:44px;color:var(--muted);background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.m-bar{padding:8px var(--m-safe-r) var(--m-safe-b) var(--m-safe-l);background:var(--surface-bar);border-top:1px solid var(--m-line);z-index:var(--z-hud-panel);flex-direction:column;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.m-bar:after{content:"";background:var(--surface-bar);pointer-events:none;height:8rem;position:absolute;top:100%;left:0;right:0}.m-bar-row{flex-direction:column;gap:8px;min-width:0;display:flex}.m-strip{overscroll-behavior:contain;scroll-snap-type:x proximity;touch-action:pan-x;gap:8px;min-width:0;padding:2px 0;display:flex;overflow-x:auto}.m-strip .slot{border-radius:var(--r-md);scroll-snap-align:start;flex:none;gap:2px;width:56px;min-height:60px;padding:6px 2px 4px}.m-strip .slot-ico{width:28px!important;height:28px!important}.m-strip .slot-name,.m-strip .slot-key{display:none}.m-strip .slot-cost,.m-strip .slot.poor .slot-cost{font-size:var(--fs-sm)}.m-strip .slot-short{margin:0;position:absolute;top:4px;left:4px;width:16px!important;height:16px!important}.m-strip .slot-air{border-radius:var(--r-xs);width:18px;height:18px;top:3px;right:3px}.m-strip .slot-air .gi{width:14px;height:14px}.slot.locked{box-shadow:none;cursor:help;background:repeating-linear-gradient(135deg,#d8d1c4 0 6px,#cbc3b5 6px 12px)}@media (hover:hover){.slot.locked:hover{background:repeating-linear-gradient(135deg,#ddd6ca 0 6px,#d0c8bb 6px 12px);transform:none}}.slot.locked .slot-ico{opacity:.28}.slot.locked .slot-name,.slot.locked .slot-key{color:#5f574c}.slot.locked{overflow:hidden}.slot.locked .slot-cost{font-size:var(--fs-xs);align-self:stretch;margin:.1rem -.2rem -.3rem}.slot.locked .lock-tag{text-align:center;border-radius:0;padding:.15em 0;display:block}.m-strip .slot.locked .slot-cost{font-size:var(--fs-sm);margin:2px -2px -4px}.m-divider{background:var(--m-line);flex:none;width:1px;margin:8px 2px}.m-actions{gap:8px;display:flex}.m-actions .hud-btn{border-radius:var(--r-md);background:var(--m-glass);border:1px solid var(--m-line);flex:none;width:52px;height:48px}.m-actions .hud-btn.speed b{font-size:var(--fs-lg)}.m-actions .next-wave{border-radius:var(--r-md);min-height:48px;font-size:var(--fs-lg);flex:1}.m-actions .next-wave small{font-size:var(--fs-sm)}.m-hint{border:1px solid var(--m-line);border-radius:var(--r-md);background:#0a09088c;align-items:center;gap:8px;padding:0 0 0 10px;display:flex}.m-hint-ico{flex:none;width:26px!important;height:26px!important}.m-hint-text{min-width:0;font-size:var(--fs-sm);flex-direction:column;flex:1;padding:4px 0;line-height:1.3;display:flex}.m-hint-text b{font-size:var(--fs-md)}.m-hint-text span{color:var(--ok-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.m-hint-text span.bad{color:var(--danger-text)}.m-sel .info{border-radius:var(--r-md);border-color:var(--m-line);background:#0a090880;gap:8px;padding:8px}.m-sel .info-title{font-size:var(--fs-lg)}.m-sel .info-portrait{border-radius:var(--r-sm);width:40px;height:40px}.m-sel .rank,.m-sel .role,.m-sel .note,.m-sel .stats-line,.m-sel .integrity{font-size:var(--fs-sm)}.m-sel .ups button,.m-sel .seg button{border-radius:var(--r-md);font-size:var(--fs-sm)}.m-sel .ups button small{font-size:var(--fs-sm)}.m-sel .btn.sell{border-radius:var(--r-md);min-height:44px;font-size:var(--fs-md)}.hud.hud-m .abilities{left:var(--m-safe-l);top:auto;right:auto;bottom:calc(var(--m-bar-h,140px) + 8px);flex-direction:row;gap:8px}.hud.hud-m .ability{border-radius:50%;width:52px;height:52px}.hud.hud-m .ab-cd,.hud.hud-m .ab-active{font-size:var(--fs-md);border-radius:50%}.ab-active{color:var(--ok-text);text-shadow:0 1px 3px var(--edge);place-items:center;font-weight:900;display:grid;position:absolute;inset:0}.hud.hud-m .top-center{top:calc(var(--m-safe-t) + var(--m-top-h,44px) + 8px);left:var(--m-safe-l);right:calc(var(--m-safe-r) + var(--ib-md) + 8px);align-items:flex-start}.hud.hud-m .wave-chip,.hud.hud-m .entrance-warn,.hud.hud-m .paused-badge{font-size:var(--fs-sm);border-radius:var(--r-md)}.hud.hud-m .wc-unit small{font-size:var(--fs-sm)}.hud.hud-m .wave-banner{left:50%;top:max(34%, calc(var(--tc-bottom,0px) + .6rem));max-width:calc(100% - 32px);font-size:var(--fs-lg);border-radius:var(--r-md)}.hud.hud-m .enemy-card{left:var(--m-safe-l);right:var(--m-safe-r);top:auto;bottom:calc(var(--m-bar-h,140px) + var(--ib-md) + 24px);width:auto;max-width:24rem;max-height:none;font-size:var(--fs-sm);border-radius:var(--r-md)}.hud.hud-m .ec-hp em,.hud.hud-m .ec-head small{font-size:var(--fs-sm)}.hud.hud-m .coach-body p,.hud.hud-m .context-tip p{font-size:var(--fs-md)}.hud.hud-m .coach-portrait{width:40px;height:40px;display:block}.hud.hud-m .check.small{font-size:var(--fs-sm)}.hud.hud-m .fps{top:calc(var(--m-safe-t) + var(--ib-md) + 8px);bottom:auto;left:auto;right:calc(var(--m-safe-r) + 56px);font-size:var(--fs-sm)}.hud.hud-m .intro-skip{bottom:calc(var(--m-bar-h,140px) + 16px)}.hud.hud-m.hud-port .intro-skip{bottom:calc(var(--m-bar-h,140px) + 24px + var(--ab-h,52px) + 12px)}.hud.hud-m .pc-reason{font-size:var(--fs-sm)}.hud.hud-m.hud-land .m-bar{gap:6px;padding-top:6px}.hud.hud-m.hud-land .m-bar-row{flex-direction:row;align-items:center}.hud.hud-m.hud-land .m-strip{flex:1}.hud.hud-m.hud-land .m-strip .slot{min-height:52px}.hud.hud-m.hud-land .m-actions{flex:none;width:min(15rem,34vw)}.hud.hud-m.hud-land .m-actions .next-wave small{display:none}.hud.hud-m.hud-land{--m-sel-w:min(36rem, calc(100vw - var(--m-safe-l) - var(--m-safe-r) - 60px))}.hud.hud-m.hud-land .m-sel{top:calc(var(--m-safe-t) + var(--ib-md) + 8px);right:calc(var(--m-safe-r) + var(--ib-md) + 8px);width:var(--m-sel-w);z-index:var(--z-hud-card);position:fixed}.hud.hud-m.hud-land .m-sel .stats-line small{display:none}.hud.hud-m.hud-land .m-sel.left{right:auto;left:var(--m-safe-l);top:calc(var(--m-safe-t) + var(--ib-md) + 8px)}.hud.hud-m.hud-land .m-sel .info{background:#14120feb}.hud.hud-m.hud-land .m-sel .info.sel{flex-flow:wrap;align-items:center;gap:6px 8px;padding:6px 6px 6px 10px;display:flex}.hud.hud-m.hud-land .m-sel .info.sel:after{content:"";flex-basis:100%;order:5;height:0}.hud.hud-m.hud-land .m-sel .info-head{display:contents}.hud.hud-m.hud-land .m-sel .info-portrait,.hud.hud-m.hud-land .m-sel .rank,.hud.hud-m.hud-land .m-sel .seg,.hud.hud-m.hud-land .m-sel .sell-full{display:none}.hud.hud-m.hud-land .m-sel .info-titles{flex:1 1 0;order:1;min-width:0}.hud.hud-m.hud-land .m-sel .info-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hud.hud-m.hud-land .m-sel .stats-line{flex-wrap:nowrap;flex:none;order:2}.hud.hud-m.hud-land .m-sel .sel-close{order:4}.hud.hud-m.hud-land .m-sel .ups{flex:1 1 0;order:6;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0}.hud.hud-m.hud-land .m-sel .tgt-cycle{order:3;min-height:44px;display:flex}.hud.hud-m.hud-land .m-sel .btn.sell{flex:none;order:7;width:auto;min-height:48px;padding:0 10px}.hud.hud-m.hud-land .m-sel .sell-short{display:inline}.hud.hud-m.hud-land .m-sel .note{flex-basis:100%;order:8}.hud.hud-m.hud-land .m-sel .ups button{min-height:48px}.hud.hud-m.hud-land .enemy-card,.hud.hud-m.hud-land .m-stack>.context-tip{left:var(--m-safe-l);top:auto;right:auto;bottom:calc(var(--m-bar-h,76px) + 8px);width:min(22rem,44vw);max-height:calc(100% - var(--m-bar-h,76px) - var(--m-safe-t) - var(--ib-md) - 24px);position:fixed;overflow-y:auto}.hud.hud-m.hud-land .m-stack>.context-tip{z-index:var(--z-hud-float)}.hud.hud-m.hud-land.sel-right .enemy-card{width:min(22rem, calc(100vw - var(--m-safe-l) - var(--m-safe-r) - var(--ib-md) - 24px - var(--m-sel-w)))}.hud.hud-m.hud-land.sel-left .enemy-card{max-height:calc(100% - var(--m-bar-h,76px) - 16px - var(--m-safe-t) - 52px - var(--m-sel-h,126px) - 8px)}.hud.hud-m.hud-land .top-center{left:var(--m-safe-l);width:min(28rem,50vw);right:auto}.hud.hud-m.hud-land:is(.sel-left,.sel-right) .top-center{width:min(28rem, calc(100vw - var(--m-safe-l) - var(--m-safe-r) - var(--ib-md) - 24px - var(--m-sel-w)))}.hud.hud-m.hud-land .top-center{max-height:calc(100% - var(--m-safe-t) - 60px - var(--m-bar-h,76px) - 8px);align-items:flex-start;overflow:hidden}.hud.hud-m.hud-land.coach-on .m-stack>:is(.wave-chip,.entr-list,.entrance-warn),.hud.hud-m.hud-land.card-on .m-stack>:is(.wave-chip,.entr-list,.entrance-warn){display:none}.hud.hud-m.hud-land.coach-on:not(.sel-left,.sel-right) .m-stack{width:min(34rem, calc(100vw - var(--m-safe-l) - var(--m-safe-r) - 13rem))}.hud.hud-m.hud-land .m-stack>.coach-card{flex:0 auto;order:-1;min-height:0}.hud.hud-m.hud-land.coach-on .m-stack .m-msgs>:not(:last-child){display:none}.hud.hud-m.hud-land .m-stack>.coach-card .coach-body{flex-direction:column;min-width:0;min-height:0;display:flex}.hud.hud-m.hud-land .m-stack>.coach-card .coach-body p{overscroll-behavior:contain;flex:0 auto;min-height:2.6em;overflow-y:auto}.hud.hud-m.hud-land .m-stack>.coach-card :is(.coach-progress,h3,.coach-actions){flex:none}.hud.hud-m.hud-land .abilities{left:auto;right:var(--m-safe-r)}.hud.hud-m.hud-land.sel-left .top-center{left:auto;right:calc(var(--m-safe-r) + var(--ib-md) + 8px);top:var(--m-safe-t);align-items:flex-end}.hud.hud-m.hud-land .m-top{right:auto}.hud-tab .top-actions{display:none}.hud-tab .hud-top{right:calc(max(8px, var(--safe-right)) + var(--ib-md) + 8px)}.hud-tab .m-btn{--m-glass:var(--surface-glass);--m-line:#ffffff1a}.hud.hud-tab{--m-glass:var(--surface-glass);--m-line:#ffffff1a;--m-safe-t:max(8px, var(--safe-top));--m-safe-r:max(8px, var(--safe-right));--m-safe-b:max(8px, var(--safe-bottom));--m-safe-l:max(8px, var(--safe-left))}.hud.hud-m .small-btn{font-size:var(--fs-md)!important}.hud.hud-m .stats-line small,.hud.hud-m .rank{font-size:var(--fs-sm)}.hud.hud-m .up-count{font-size:var(--fs-sm);padding:1px 4px;line-height:1;top:2px;right:2px}.hud.hud-m .context-tip h3,.hud.hud-m .coach-body h3,.hud.hud-m .ec-head b,.hud.hud-m .wc-label b{font-size:var(--fs-lg)}.hud.hud-m .wc-label,.hud.hud-m .wc-front,.hud.hud-m .entrance-warn,.hud.hud-m .ec-stats,.hud.hud-m .ec-weak{font-size:var(--fs-sm)}.hud.hud-m.stats-on .top-center{visibility:hidden}.m-map-card{top:calc(var(--m-safe-t) + 104px);right:var(--m-safe-r)}.hud-tab .m-map-card{top:calc(max(8px, var(--safe-top)) + 104px);right:max(8px, var(--safe-right))}.hud.hud-m.hud-land .m-map-card{top:var(--m-safe-t);right:calc(var(--m-safe-r) + var(--ib-md) + 8px);max-height:calc(100% - var(--m-safe-t) - var(--m-bar-h,76px) - 16px)}.hud.hud-m.hud-land .m-map-card .minimap{max-height:calc(100dvh - var(--m-bar-h,76px) - 90px)}.hud.hud-m .m-stack{z-index:var(--z-hud-float);gap:6px}.m-stack>.coach-card,.m-stack>.context-tip{border-radius:var(--r-md);flex-direction:row;width:100%;max-width:100%;position:static;inset:auto;transform:none}.m-msgs{flex-direction:column;align-items:flex-start;gap:4px;max-width:100%;display:flex;pointer-events:none!important}.hud.hud-m.hud-land.sel-left .m-msgs{align-items:flex-end}.m-msg{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r-sm);max-width:100%;font-size:var(--fs-md);color:var(--text);background:#0a0908e6;padding:6px 10px;font-weight:700;line-height:1.3;animation:.15s m-msg-in}.m-msg-t{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.m-msg.wave{border-left-color:var(--accent-2)}.m-msg.wave .m-msg-t{white-space:nowrap;text-overflow:ellipsis;display:block}.m-msg.alerta{border-left-color:var(--accent-2);color:var(--accent)}.m-msg.erro{border-left-color:var(--danger);color:var(--danger-text)}.m-msg.caption{color:#fff;border-left-color:var(--text-2);font-weight:600}@keyframes m-msg-in{0%{opacity:0;transform:translateY(-4px)}}.hud-m .ea-label{white-space:normal;text-align:center;max-width:7.5rem;line-height:1.15;overflow:visible}.hud-m .edge-arrow{font-size:var(--fs-sm)}.m-strip .slot-fund{border-radius:0 0 10px 10px;height:4px}.up-gain{font-style:normal;font-weight:700;font-size:var(--fs-sm);letter-spacing:-.45px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#d9f2d9;line-height:1.15;display:none}.hud-m .up-gain,.hud-tab .up-gain{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.ups button:disabled .up-gain{color:var(--text-2)}.hud-m .ups button,.hud-tab .ups button{gap:1px}.tgt-cycle{background:var(--accent);color:#111;border:1px solid var(--edge);border-radius:var(--r-md);min-width:64px;min-height:48px;font-weight:900;font-size:var(--fs-md);white-space:nowrap;justify-content:center;align-items:center;gap:4px;padding:0 8px;display:none}.tgt-cycle .gi{width:16px;height:16px}.sell-short{display:none}.hud.hud-m .abilities{gap:10px}.hud.hud-m .ability{overflow:visible}.hud.hud-m .ab-name{font-size:var(--fs-sm);white-space:nowrap;color:var(--text);text-shadow:0 1px 2px var(--edge), 0 0 4px var(--edge);pointer-events:none;font-weight:700;line-height:1;display:block;position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%)}.hud.hud-m .abilities{bottom:calc(var(--m-bar-h,140px) + 24px)}.hud.hud-m .ability.cooling:after{border-radius:50%}.hud.hud-m.hud-port .enemy-card{bottom:calc(var(--m-bar-h,140px) + 100px);max-height:calc(100% - var(--m-bar-h,140px) - 100px - var(--m-safe-t) - 60px);overflow-y:auto}.hud-m .ups button{padding-left:2px;padding-right:2px}@media (max-width:359px){.m-wave.prep .m-pill-ico{display:none}}.hud .hud-btn,.hud .mini-toggle{min-width:44px;min-height:44px}.hud .tabs button,.hud .seg button,.hud .ups button,.hud .small-btn,.hud .speed-seg button,.hud .btn.sell{min-height:44px!important}.hud .icon-btn{min-width:44px;min-height:44px}.hud:not(.hud-m):is(.coach-on,.tip-on) .top-center{left:calc(var(--gap) + min(22rem, calc(100% - var(--side-w) - 1.5rem)) + .75rem)}@media (max-height:740px){.hud-desk .side-body{gap:.4rem;padding-block:.4rem}}.ups button .up-gain{grid-column:1/-1}[data-posture=book] .hud-desk .hud-top{flex-wrap:wrap;row-gap:.4rem}[data-posture=book] .hud-desk .pills{flex:100%}[data-posture=book] .hud-desk .pill.wide:not(.wave-of){display:none}[data-posture=book] .hud.hud-desk .top-center{top:calc(max(.5rem, var(--safe-top)) + var(--hud-top-h,6.1rem) + .45rem);left:var(--gap)}[data-posture=book] .top-center>*{max-width:100%}[data-posture=book] .hud-desk .context-tip,[data-posture=book] .hud-desk .coach-card,[data-posture=book] .hud-desk .enemy-card{top:auto;left:var(--gap);bottom:calc(max(1rem, calc(var(--safe-bottom) + .5rem)) + 4.8rem);width:auto;max-width:calc(var(--seg-a-right) - 1rem);max-height:calc(100% - 17rem);overflow-y:auto}.hud-desk.card-on .toast{bottom:max(6.2rem, calc(max(1rem, calc(var(--safe-bottom) + .5rem)) + var(--ecard-h,12rem) + .6rem))}.hud-desk.card-on .captions{bottom:max(9rem, calc(max(1rem, calc(var(--safe-bottom) + .5rem)) + var(--ecard-h,12rem) + 3.4rem))}.hud-tab.card-on .toast{bottom:max(calc(var(--sheet-h,40vh) + 5rem), calc(var(--sheet-h,40vh) + .6rem + var(--ecard-h,12rem) + .6rem))}.hud-tab.card-on .captions{bottom:max(calc(var(--sheet-h,40vh) + 7.5rem), calc(var(--sheet-h,40vh) + .6rem + var(--ecard-h,12rem) + 3.4rem))}[data-posture=book] .hud-desk:is(.coach-on,.card-on) .toast{bottom:calc(max(1rem, calc(var(--safe-bottom) + .5rem)) + 4.8rem + max(var(--coach-h,0px), var(--ecard-h,0px)) + .5rem)}[data-posture=laptop] .hud-tab .wave-banner{top:max(20%, calc(var(--tc-bottom,0px) + .6rem))}.top-center>.entrance-warn{max-width:100%}.entrance-warn>span{flex:auto;min-width:0}.entr-glyph{width:1rem;height:1rem;stroke:var(--edge);stroke-width:1.2px;stroke-linejoin:round;flex:none}.entr-glyph.active{fill:var(--danger)}.entr-glyph.next{fill:var(--accent-2)}.entr-glyph.closed{fill:none;stroke:var(--text-2);stroke-width:2px}.entr-list{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;max-width:100%;display:flex}.entr-via{font-size:var(--fs-sm);color:var(--muted);text-shadow:0 1px 2px var(--edge);padding:0 .2rem;font-weight:700}.entr-row{background:var(--surface-hud);border:1px solid var(--line-strong);border-left:4px solid var(--danger);border-radius:var(--r-sm);min-height:44px;color:var(--text);font-weight:700;font-size:var(--fs-sm);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;max-width:100%;padding:.25rem .35rem .25rem .6rem;display:inline-flex}.entr-row.new{border-left-color:var(--accent-2);border-color:var(--accent-2)}.entr-row{white-space:normal;text-align:left}.entr-text{overflow-wrap:anywhere;min-width:0}.entr-new,.entr-see{white-space:nowrap}.entr-new{border-radius:var(--r-pill);background:var(--accent-2);color:var(--ink);font-style:normal;font-weight:800;font-size:var(--fs-xs);text-transform:uppercase;margin-left:.35rem;padding:.05rem .4rem}.entr-see{border-radius:var(--r-sm);color:var(--accent);font-size:var(--fs-xs);background:#ffffff1a;padding:.15rem .5rem;font-weight:800}.entr-row:focus-visible .entr-see{background:var(--accent);color:var(--ink)}@media (hover:hover){.entr-row:hover .entr-see{background:var(--accent);color:var(--ink)}}.entr-list.compact{justify-content:flex-start;gap:6px}.entr-list.compact .entr-row{border-radius:var(--r-md);min-width:44px;font-size:var(--fs-md);gap:6px;padding:0 10px}.entr-banner{border:2px solid var(--accent-2);border-radius:var(--r-md);max-width:100%;color:var(--warn-text);font-size:var(--fs-md);box-shadow:var(--elev-2);background:#5c3510;align-items:center;gap:.55rem;padding:.35rem .35rem .35rem .75rem;font-weight:700;animation:1.6s ease-in-out 3 entr-pulse;display:flex}.entr-banner-glyph{width:1.3rem;height:1.3rem}.entr-banner-text{flex:auto;min-width:0}.entr-banner-text b{color:#fff}.entr-banner-see{flex:none;font-weight:800;background:var(--accent-2)!important;color:var(--ink)!important}@keyframes entr-pulse{50%{box-shadow:0 0 0 .35rem #f0a73a47,0 6px 18px #00000073}}.mm-entr{pointer-events:none;z-index:2;position:absolute}.mm-mark{pointer-events:auto;cursor:pointer;background:#0d0c0be6;border-radius:50%;place-items:center;width:22px;height:22px;margin:-11px 0 0 -11px;display:grid;position:absolute;box-shadow:0 0 0 1.5px #f4ecdd,0 0 0 3px #0d0c0beb}.mm-mark .entr-glyph{width:15px;height:15px}.mm-mark.next{animation:1s steps(2,jump-none) 6 mm-blink}.mm-mark.next:after{content:"";border:2px solid var(--accent-2);border-radius:50%;position:absolute;inset:-6px}@keyframes mm-blink{50%{opacity:.35}}.reduce-motion .entr-banner,.reduce-motion .mm-mark.next{animation:none}.reduce-motion .entr-banner{box-shadow:0 0 0 .3rem #f0a73a59,0 6px 18px #00000073}@media (prefers-reduced-motion:reduce){.entr-banner,.mm-mark.next{animation:none}.entr-banner{box-shadow:0 0 0 .3rem #f0a73a59,0 6px 18px #00000073}}.entr-legend{font-size:var(--fs-sm);gap:.45rem;margin:.4rem 0 0;padding:0;line-height:1.4;list-style:none;display:grid}.entr-legend li{align-items:flex-start;gap:.55rem;display:flex}.entr-legend .entr-glyph{margin-top:.15rem}.entr-legend-arrow{width:1rem;height:1rem;color:var(--danger);flex:none;margin-top:.15rem}.entr-legend-arrow .gi{width:100%;height:100%}.entr-legend-dot{border-radius:var(--r-xs);border:2px solid var(--accent);flex:none;width:1rem;height:1rem;margin-top:.15rem}.entr-legend-dot.map{border-color:var(--danger);background:#e2574c59;border-radius:50%}.hud.hud-m .entr-banner{font-size:var(--fs-md);border-radius:var(--r-md)}.hud.hud-m .entr-new,.hud.hud-m .entr-see,.hud.hud-m .entr-via{font-size:var(--fs-sm)}.top-center>.entr-list,.top-center>.entr-banner{pointer-events:auto}:root{--sel:#2fd8ff;--sel-outline:#06222c}.hud .info.sel,.hud.hud-m .m-sel .info.sel,.hud.hud-m.hud-land .m-sel .info.sel{border:1px solid var(--sel);box-shadow:inset 4px 0 0 var(--sel), 0 0 0 1px var(--sel-outline)}.hud .info.sel .info-portrait{border:2px solid var(--sel);box-shadow:0 0 0 1px var(--sel-outline)}.sel-mark{vertical-align:-.05em;width:.85em;height:.85em;fill:var(--sel);stroke:var(--sel-outline);stroke-width:1.4px;stroke-linejoin:round;flex:none;margin-right:.3em;display:inline-block}.entr-via{background:var(--surface-hud);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--paper-2);text-shadow:none;padding:.3rem .6rem}.entr-list.compact .entr-row{gap:5px}.entr-abbr{font-weight:700;font-size:var(--fs-sm);color:var(--paper-2);white-space:nowrap}.entr-list.compact .entr-row b{font-size:var(--fs-lg)}.entr-banner{flex-wrap:wrap;row-gap:.35rem}.entr-banner-names{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.entr-banner-see{white-space:normal;text-align:left;align-items:center;gap:.45rem;max-width:100%;display:inline-flex!important}.entr-banner-name{overflow-wrap:anywhere;font-weight:800}.entr-banner-ver{border-radius:var(--r-sm);white-space:nowrap;background:#1b19162e;padding:.05rem .4rem;font-size:.8em}.hud.hud-m .entr-banner-ver{font-size:var(--fs-sm)}.entr-head{border:2px solid var(--accent-2);border-radius:var(--r-md);color:var(--warn-text);font-size:var(--fs-sm);background:#5c3510;flex-basis:100%;align-items:flex-start;gap:6px;margin:0;padding:5px 10px;font-weight:700;line-height:1.35;animation:1.6s ease-in-out 3 entr-pulse;display:flex}.entr-head b,.entr-head-name{color:#fff}.entr-head-name{white-space:nowrap;font-weight:800}.entr-head .entr-glyph{flex:none;width:16px;height:16px;margin-top:1px}.reduce-motion .entr-head{animation:none;box-shadow:0 0 0 .3rem #f0a73a59}@media (prefers-reduced-motion:reduce){.entr-head{animation:none;box-shadow:0 0 0 .3rem #f0a73a59}}.hud-m .ea-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (max-height:800px){.tv .hud-desk .info.idle{display:none}.tv .hud-desk .mini-dock{min-height:8rem}}.tv .mm-mark{width:22px;height:22px;margin:-11px 0 0 -11px}.tv .mm-mark .entr-glyph{width:18px;height:18px}.tv .hud-desk .slot-name{display:block}@media (max-height:800px){.tv .hud-desk .slot-ico{width:1.7rem;height:1.7rem}.tv .hud-desk .mini-dock{min-height:6.5rem}}.hud-m .edge-arrow.ea-compact{border-radius:var(--r-md);background:var(--surface-hud);place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid}.ea-compact .ea-arrow{filter:drop-shadow(0 1px 1px #000c);width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%}.ea-compact .ea-body{place-items:center;display:grid}.ea-compact .ea-body .gi{width:24px;height:24px}.ea-compact .ea-sig{font-size:var(--fs-sm);color:var(--paper-2);font-weight:800;line-height:1}.ea-compact .ea-n{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.ea-compact .ea-x{border-radius:var(--r-pill);background:var(--danger);color:#fff;min-width:22px;font-size:var(--fs-sm);text-align:center;padding:1px 4px;font-weight:800;line-height:1.2;position:absolute;bottom:-7px;right:-7px}.ea-compact.entrance .ea-x{background:var(--accent-2);color:var(--ink)}.wave-chip.wc-compact{min-height:44px;font:inherit;font-size:var(--fs-sm);color:var(--text);text-align:left;cursor:pointer}.wc-compact .front-dot{flex:none}.wc-total{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--text);font-weight:900}.wave-chip.wc-open{cursor:pointer;flex-wrap:wrap}.entr-list.compact{flex-wrap:nowrap;overflow:hidden}.entr-list.compact .entr-row{flex:none}.entr-list.icons .entr-abbr{display:none}.entr-sig{font-weight:800;font-size:var(--fs-sm);color:var(--paper-2);display:none}.entr-list.icons .entr-sig{display:inline}.entr-list.icons .entr-row{gap:3px;padding:0 7px}.entr-list.compact.icons{flex-wrap:wrap;row-gap:6px}.hud-m .m-msgs,.hud-m .m-msg{min-width:0;max-width:100%}.hud-m .m-msg{overflow:hidden}.ea-compact[data-more]:after{content:attr(data-more);border-radius:var(--r-pill);background:var(--text);min-width:22px;color:var(--ink);font-size:var(--fs-sm);text-align:center;box-shadow:0 0 0 1px var(--edge);padding:1px 4px;font-weight:800;line-height:1.2;position:absolute;top:-7px;left:-7px}.captions span{font-size:calc(.88rem * var(--caption-scale,1))}.m-msg.caption{font-size:calc(13px * var(--caption-scale,1))}.caption-solid .captions span,.caption-solid .m-msg.caption{background:var(--edge)}.next-wave .nw-short,.hud-m .next-wave .nw-long{display:none}.hud-m .next-wave .nw-short{display:inline}.hud.hud-m.hud-land .m-msgs>:not(:last-child){display:none}.wave-banner{text-wrap:balance}.lobby{top:var(--safe-top);right:var(--safe-right);bottom:var(--safe-bottom);left:var(--safe-left);z-index:var(--z-screen);grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:1rem 2rem;padding:1.25rem 2rem .75rem;display:grid;position:fixed;overflow:auto}.lobby-shade{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0e0c0aeb 0%,#0e0c0ab3 32%,#0e0c0a26 58%,#0e0c0a8c 100%),linear-gradient(#0e0c0a00 75%,#0e0c0abf 100%);position:fixed;inset:0}.lobby-main{flex-direction:column;justify-content:center;gap:1.5rem;min-width:0;max-width:30rem;display:flex}.logo{letter-spacing:.02em;color:var(--accent);text-shadow:3px 3px 0 var(--edge), 0 0 28px #f4d35e38;margin:0;font-size:clamp(2.2rem,5.2vw,4rem);font-weight:900;line-height:.95}.logo .logo-link{color:var(--text);vertical-align:middle;font-size:.55em}.tagline{color:var(--paper-2);font-size:var(--fs-md);text-shadow:0 1px 2px var(--edge);margin:.5rem 0 0}.lobby-menu,.pause-menu{flex-direction:column;gap:.5rem;display:flex}.menu-btn{min-height:var(--btn-h-lg);text-align:left;background:var(--surface-glass);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);align-items:center;gap:.85rem;padding:.55rem 1rem;transition:background .12s,border-color .12s;display:flex}@media (hover:hover){.menu-btn:hover:not(:disabled){background:var(--surface-4);border-color:var(--line-strong)}}.menu-btn.primary{background:var(--accent);border-color:var(--edge);color:var(--ink);box-shadow:var(--elev-2)}@media (hover:hover){.menu-btn.primary:hover:not(:disabled){background:var(--accent-hover)}}.menu-btn.danger .menu-ico{color:var(--danger)}.menu-btn:disabled{opacity:.55;cursor:default}.menu-ico{flex:none;width:1.7rem;height:1.7rem}.menu-text{flex-direction:column;min-width:0;display:flex}.menu-text b{font-size:var(--fs-md);align-items:center;gap:.5rem;display:flex}.menu-text small{font-size:var(--fs-sm);opacity:.78;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lobby-side{flex-direction:column;justify-content:center;gap:.9rem;min-width:0;display:flex}.panel{background:var(--surface-hud);border:1px solid var(--line);border-radius:var(--r-md);padding:.85rem 1rem}.panel h2{font-size:var(--fs-md);color:var(--accent);align-items:center;gap:.5rem;margin:0 0 .6rem;display:flex}.panel h2 .gi{width:1.2rem;height:1.2rem}.records{border-collapse:collapse;width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.records th,.records td{text-align:right;border-bottom:1px solid var(--surface-4);padding:.3rem .2rem}.records th:first-child,.records thead th:first-child{text-align:left}.records thead th{color:var(--muted);font-weight:600;font-size:var(--fs-xs)}.achievements{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.achievements li{font-size:var(--fs-sm);align-items:flex-start;gap:.6rem;display:flex}.achievements li>span:not(.ach-mark){overflow-wrap:anywhere;flex:auto;min-width:0}.achievements small{overflow-wrap:anywhere;display:block}.achievements li:not(.got)>span:not(.ach-mark){opacity:.62}.ach-mark{border:2px solid #0000;border-radius:50%;flex:none;place-items:center;width:1.35rem;height:1.35rem;margin-top:.05rem;display:grid}.ach-mark .gi{width:62%;height:62%}.ach-mark.locked{background:var(--lock-bg);color:var(--lock-fg);border-color:var(--lock-fg)}.ach-mark.got{background:var(--ok);color:#10240f}.achievements b{font-size:var(--fs-sm);display:block}.lobby-foot{font-size:var(--fs-xs);color:#b9ae9d;text-shadow:0 1px 2px var(--edge);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:1rem;display:flex}.modal-scrim{z-index:var(--z-modal);padding:max(.75rem, var(--safe-top)) max(.75rem, var(--safe-right)) max(.75rem, var(--safe-bottom)) max(.75rem, var(--safe-left));background:#0a09089e;place-items:center;animation:.14s fade-in;display:grid;position:fixed;inset:0}.confirm-scrim{z-index:var(--z-confirm)}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--surface);border:2px solid var(--edge);border-radius:var(--r-lg);width:100%;max-height:100%;box-shadow:var(--elev-3);flex-direction:column;animation:.16s pop-in;display:flex;overflow:hidden}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.modal-sm{max-width:28rem}.modal-md{max-width:40rem}.modal-lg{max-width:60rem}.modal.tabbed-modal{height:min(46rem,100%)}.modal-head{border-bottom:1px solid var(--line-soft);background:#0000002e;align-items:center;gap:.7rem;padding:.8rem .9rem .8rem 1.1rem;display:flex}.modal-head h2{font-size:var(--fs-lg);flex:1;margin:0;font-weight:800}.modal-ico{width:1.5rem;height:1.5rem;color:var(--accent)}.icon-btn{background:var(--surface-4);border:1px solid var(--edge);border-radius:var(--r-sm);flex:none;place-items:center;width:2.75rem;height:2.75rem;display:grid}.icon-btn .gi{width:1.3rem;height:1.3rem}@media (hover:hover){.icon-btn:hover{background:var(--line)}}.modal-body{min-height:0;padding:1rem 1.1rem;overflow:auto}.modal-foot{border-top:1px solid var(--line-soft);background:#00000026;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;padding:.75rem 1.1rem;display:flex}.modal-lead{color:var(--muted);font-size:var(--fs-sm);margin:0 0 .9rem;line-height:1.45}.foot-note{font-size:var(--fs-xs);color:var(--muted);order:-1;margin-right:auto}.confirm .modal-body{line-height:1.5}.btn{background:var(--paper);min-height:2.75rem;color:var(--ink);border:2px solid var(--edge);border-radius:var(--r-sm);font-weight:800;font-size:var(--fs-sm);justify-content:center;align-items:center;gap:.45rem;padding:.5rem .9rem;display:inline-flex}.btn .gi{width:1.1rem;height:1.1rem}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(1.06)}}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent)}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{color:var(--text);border-color:var(--line-strong);background:0 0}.btn.big{min-height:3rem;font-size:var(--fs-md);padding:.55rem 1.3rem}.btn.danger-ghost{color:var(--danger-text);border:2px solid var(--danger);background:0 0}@media (hover:hover){.btn.danger-ghost:hover:not(:disabled){background:#e2574c29}}.badge{border-radius:var(--r-pill);font-size:var(--fs-xs);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;align-items:center;margin-left:.35rem;padding:.1rem .45rem;font-weight:800;display:inline-flex}.badge-soon{background:var(--line);color:var(--paper-2)}.badge-gold{background:var(--accent);color:var(--ink)}.badge-warn{color:var(--warn-text);background:#7a3b1d}.badge-ok{background:var(--ok-deep);color:#fff}.badge-info{color:#fff;background:#2b4a66}.check{font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;margin-right:auto;display:flex}.check input{width:1.3rem;height:1.3rem;accent-color:var(--accent)}.tabs-row{gap:.35rem;margin-bottom:.9rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.tabs-row button{background:var(--surface-4);border:1px solid var(--line);border-radius:var(--r-sm);min-height:2.6rem;color:var(--muted);font-weight:700;font-size:var(--fs-sm);flex:none;padding:.4rem .9rem}.tabs-row button.on{background:var(--accent);border-color:var(--edge);color:var(--ink)}html:is(.tv,.pad) .tabs-row{margin:-.9rem -.9rem 0;padding:.9rem}.settings-body{flex-direction:column;display:flex}.set-row{border-bottom:1px solid var(--surface-4);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.set-row.disabled{opacity:.5}.set-text{min-width:0}.set-label{font-weight:700;font-size:var(--fs-md)}.set-desc{font-size:var(--fs-xs);color:var(--muted);margin-top:.15rem;line-height:1.35}.set-h3{font-size:var(--fs-sm);color:var(--accent);margin:1rem 0 .4rem}.switch{background:var(--surface-4);border:1px solid var(--edge);border-radius:var(--r-pill);min-width:7.4rem;min-height:2.75rem;font-size:var(--fs-xs);color:var(--muted);flex:none;align-items:center;gap:.5rem;padding:0 .7rem 0 .35rem;font-weight:700;display:flex;position:relative}.switch .knob{background:var(--text-3);border-radius:50%;width:1.8rem;height:1.8rem;transition:transform .15s,background .15s}.switch.on{background:var(--ok-deep);color:#fff}.switch.on .knob{background:#fff}.slider{flex:none;align-items:center;gap:.6rem;width:min(16rem,45%);display:flex}.slider input{min-width:0;height:2.75rem;accent-color:var(--accent);cursor:pointer;flex:1}.slider output{text-align:right;font-variant-numeric:tabular-nums;width:3.2rem;font-weight:700;font-size:var(--fs-sm)}.segmented{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.25rem;max-width:60%;display:flex}.segmented button{background:var(--surface-4);border:1px solid var(--line);border-radius:var(--r-sm);min-height:2.75rem;font-size:var(--fs-sm);color:var(--muted);padding:.3rem .75rem;font-weight:700}.segmented button.on{background:var(--accent);color:var(--ink);border-color:var(--edge)}.segmented button:disabled{opacity:.45;cursor:default}.shortcuts{font-size:var(--fs-sm);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.35rem 1rem;margin:0;display:grid}.shortcuts div{align-items:center;gap:.6rem;display:flex}.shortcuts dt{flex:none;min-width:7.5rem}.shortcuts dd{color:var(--muted);margin:0}kbd{background:var(--paper);color:var(--ink);border-radius:var(--r-xs);border-bottom:2px solid var(--text-3);font-family:inherit;font-size:var(--fs-xs);padding:.12rem .45rem;font-weight:800;display:inline-block}.diff-cards{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.6rem;display:grid}.diff-pesadelo b{color:#ff8a7a}.custom-diff{border:1px solid var(--line);border-radius:var(--r-md);background:#2a2622;margin-top:.8rem;padding:.2rem .9rem}.diff-card{text-align:left;background:var(--surface-4);border:2px solid var(--line);border-radius:var(--r-md);color:var(--text);flex-direction:column;gap:.45rem;padding:.9rem;display:flex}.diff-card b{font-size:var(--fs-lg)}.diff-card.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--edge) inset;background:#3f372b}.diff-card small{color:var(--muted);line-height:1.35}.diff-nums{font-weight:700;font-size:var(--fs-sm);flex-direction:column;gap:.2rem;display:flex}.diff-nums span{align-items:center;gap:.35rem;display:flex}.diff-nums .gi{width:1rem;height:1rem;color:var(--accent)}.save-list{gap:.7rem;display:grid}.save-card{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:10rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.6rem;display:grid}.save-card.empty{opacity:.8}.save-card.auto{border-color:#6b5a2c}.save-thumb{aspect-ratio:16/9;border-radius:var(--r-sm);background:var(--surface-1);border:1px solid var(--edge);place-items:center;display:grid;position:relative;overflow:hidden}.save-thumb img{object-fit:cover;width:100%;height:100%}.thumb-ph{width:2.2rem;height:2.2rem;color:var(--line-strong)}.save-slot{font-size:var(--fs-xs);border-radius:var(--r-xs);background:#000000bf;padding:.05rem .4rem;font-weight:800;position:absolute;top:.3rem;left:.3rem}.save-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.save-info small{color:var(--muted);font-size:var(--fs-xs)}.save-nums{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .8rem;display:flex}.save-nums span{align-items:center;gap:.25rem;display:inline-flex}.save-nums .gi{width:.95rem;height:.95rem;color:var(--accent)}.save-actions{flex-direction:column;gap:.35rem;display:flex}.pause-summary{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:.2rem;margin:0 0 .9rem;display:flex}.ps-line{flex-wrap:wrap;align-items:center;gap:.2rem .4rem;display:flex}.ps-line:first-child{color:var(--text);font-weight:700}.pause-summary .nw{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.pause-summary .gi{width:.9rem;height:.9rem;color:var(--danger)}.pause-layout,.pause-main{flex-direction:column;gap:.5rem;display:flex}.pause-main>.menu-btn.primary{min-height:3.6rem}.pause-main .quick-row{margin:0}.pause-summary{margin-bottom:.3rem}[data-layout=land] .pause-modal .modal-body{overflow:hidden}[data-layout=land] .pause-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.75rem;height:100%;display:grid}[data-layout=land] .pause-main>.menu-btn.primary{flex:1;min-height:4rem;max-height:9rem}[data-layout=land] .pause-menu{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(3.1rem,auto);align-content:start;gap:.5rem;display:grid}[data-layout=land] .pause-menu .menu-btn{gap:.55rem;padding:.45rem .7rem}[data-layout=land] .pause-menu .menu-btn:last-child{grid-column:1/-1}[data-layout=land] .pause-menu .menu-text small{display:none}.ency{grid-template-columns:15rem minmax(0,1fr);gap:1rem;min-height:0;display:grid}.ency-list{flex-direction:column;gap:.25rem;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.ency-list button{text-align:left;border-radius:var(--r-sm);width:100%;min-height:2.75rem;font-weight:700;font-size:var(--fs-sm);background:0 0;border:1px solid #0000;align-items:center;gap:.6rem;padding:.3rem .5rem;display:flex}@media (hover:hover){.ency-list button:hover{background:var(--surface-4)}}.ency-list button.on{border-color:var(--accent);background:#3f372b}.ency-li-ico{background:var(--paper);width:2.1rem;height:2.1rem;color:var(--ink);border-radius:var(--r-sm);border:1px solid var(--edge);flex:none;place-items:center;display:grid}.ency-li-ico .gi{width:1.5rem;height:1.5rem}.ency-detail{flex-direction:column;gap:.75rem;min-width:0;display:flex}.ency-hero{align-items:center;gap:1rem;display:flex;position:relative}.ency-hero h3{font-size:var(--fs-xl);margin:0}.ency-sub{color:var(--muted);font-size:var(--fs-sm);margin:.2rem 0 0}.ency-portrait{border-radius:var(--r-lg);border:2px solid var(--edge);width:6.5rem;height:6.5rem;box-shadow:var(--elev-2);flex:none}.ency-badge-icon{background:var(--paper);width:2.2rem;height:2.2rem;color:var(--ink);border:2px solid var(--edge);border-radius:var(--r-sm);place-items:center;display:grid;position:absolute;top:4.6rem;left:4.8rem}.ency-badge-icon .gi{width:1.6rem;height:1.6rem}.ency-bigicon{background:var(--paper);width:6.5rem;height:6.5rem;color:var(--ink);border:2px solid var(--edge);border-radius:var(--r-lg);flex:none;place-items:center;display:grid}.ency-bigicon .gi{width:4.5rem;height:4.5rem}.front-flag{background:var(--front,var(--text-3));clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);border-radius:var(--r-xs);width:3.4rem;height:4.4rem}.ency-desc{margin:0;line-height:1.5}.ency-h4,.pros-cons h4{font-size:var(--fs-sm);color:var(--accent);margin:0 0 .3rem}.pros-cons{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.pros-cons ul,.tc-list{font-size:var(--fs-sm);gap:.2rem;margin:0;padding:0;list-style:none;display:grid}li:is(.plus,.minus){align-items:flex-start;gap:.35rem;display:flex}li:is(.plus,.minus) .pc-ico{--icon-stroke:3;flex:none;width:1em;height:1em;margin-top:.2em}li.plus .pc-ico{color:var(--ok)}li.minus .pc-ico{color:var(--danger)}.auth-note{border-left:3px solid var(--accent-2);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--paper-2);background:#1c1916;gap:.5rem;margin:0;padding:.6rem .75rem;line-height:1.4;display:flex}.auth-note .gi{width:1rem;height:1rem;color:var(--accent-2);flex:none;margin-top:.1rem}.weak-to{border-radius:var(--r-sm);font-size:var(--fs-sm);background:#2b3a2b;margin:0;padding:.5rem .7rem}.front-units{flex-wrap:wrap;gap:.35rem;display:flex}.unit-pill{background:var(--paper);color:var(--ink);border-radius:var(--r-pill);font-size:var(--fs-sm);align-items:center;gap:.35rem;min-height:2rem;padding:.25rem .55rem .25rem .3rem;font-weight:700;display:inline-flex}.unit-pill .gi{width:1.3rem;height:1.3rem}.legend{border-top:1px dashed var(--line);font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:.4rem 1rem;padding-top:.5rem;display:flex}.legend .stat-row{grid-template-columns:1rem auto auto}.legend .stat-value{font-weight:500}.credits section+section{margin-top:1rem}.credits h3{font-size:var(--fs-md);color:var(--accent);margin:0 0 .35rem}.credits p{font-size:var(--fs-sm);color:#ddd3c4;margin:0 0 .4rem;line-height:1.45}.credit-list{font-size:var(--fs-xs);color:var(--muted);gap:.25rem;margin:.3rem 0 0;padding-left:1.1rem;display:grid}.link-text{color:var(--accent)}.results-scrim{z-index:var(--z-results);padding:max(.75rem, var(--safe-top)) max(.75rem, var(--safe-right)) max(.75rem, var(--safe-bottom)) max(.75rem, var(--safe-left));background:#0a0908b3;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.results{background:var(--surface-2);border:2px solid var(--edge);border-radius:var(--r-lg);width:100%;max-width:52rem;max-height:100%;box-shadow:var(--elev-3);flex-direction:column;animation:.2s pop-in;display:flex;overflow:hidden}.sunset{width:100%;height:9.5rem;display:block}.res-head{padding:.8rem 1.2rem 0}.res-head h2{font-size:var(--fs-xl);color:var(--accent);margin:0;font-weight:900}.res-head p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem;margin:.25rem 0 0;display:flex}.res-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.9rem 1.2rem;display:grid}.res-stat{background:var(--surface-3);border-radius:var(--r-sm);grid-template-rows:auto auto;grid-template-columns:1.6rem 1fr;align-items:center;column-gap:.55rem;padding:.55rem .7rem;display:grid}.res-stat .gi{width:1.6rem;height:1.6rem;color:var(--accent);grid-row:1/3}.res-stat span{font-size:var(--fs-xs);color:var(--muted)}.res-stat b{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.diagnosis{border-radius:var(--r-md);background:#2a2016;border:1px solid #6b4a1f;margin:0 1.2rem;padding:.85rem 1rem}.diagnosis h3{font-size:var(--fs-md);color:var(--accent-2);align-items:center;gap:.4rem;margin:0 0 .4rem;display:flex}.diagnosis h3 .gi{width:1.1rem;height:1.1rem}.diag-head{margin:0 0 .4rem;font-weight:700;line-height:1.45}.diagnosis ul{font-size:var(--fs-sm);color:#ddd3c4;margin:0 0 .5rem;padding-left:1.1rem}.diag-tip{font-size:var(--fs-sm);color:#cfe8c9;gap:.4rem;margin:0 0 .6rem;display:flex}.diag-tip .gi{flex:none;width:1rem;height:1rem;margin-top:.15rem}.res-extra{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;padding:.8rem 1.2rem 0;display:grid}.res-extra h3{font-size:var(--fs-sm);color:var(--muted);margin:0 0 .35rem}.top-weapons,.new-ach{font-size:var(--fs-sm);gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.top-weapons li,.new-ach li{align-items:center;gap:.45rem;display:flex}.top-weapons .gi,.new-ach .gi{width:1.3rem;height:1.3rem;color:var(--accent)}.top-weapons b{font-variant-numeric:tabular-nums;margin-left:auto}.res-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:1rem 1.2rem 1.2rem;display:flex}.back-to-results{left:50%;bottom:max(1.2rem, var(--safe-bottom));z-index:var(--z-results);position:fixed;transform:translate(-50%)}[data-layout=land] .lobby{grid-template-columns:minmax(0,1fr) minmax(14rem,19rem);gap:.5rem 1rem;padding-top:.6rem}[data-layout=land] .lobby-main{gap:.6rem}[data-layout=land] .logo{font-size:var(--fs-2xl)}[data-layout=land] .tagline{display:none}[data-layout=land] .lobby-menu{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}[data-layout=land] .menu-btn{min-height:2.9rem;padding:.35rem .6rem}@media (hover:hover){[data-layout=land] .menu-btn:hover:not(:disabled){transform:none}}[data-layout=land] .menu-text small{display:none}[data-layout=land] .lobby-menu .menu-btn:first-child{grid-column:1/-1}[data-layout=land] .lobby-menu .menu-btn:first-child small{display:block}[data-layout=land] .lobby-side{justify-content:flex-start;gap:.5rem}[data-layout=land] .panel{padding:.5rem .7rem}[data-layout=land] .achievements small,[data-layout=land] .lobby-foot span:first-child{display:none}[data-layout=port] .lobby{grid-template-rows:auto auto auto;grid-template-columns:1fr;align-content:start;gap:1rem;padding-left:1rem;padding-right:1rem}[data-layout=port] .lobby-shade{background:linear-gradient(#0e0c0a8c 0%,#0e0c0ae0 38%,#0e0c0af0 100%)}[data-layout=port] .lobby-main{justify-content:flex-start;max-width:none;padding-top:18vh}[data-layout=port] .lobby-foot{flex-direction:column;gap:.2rem}[data-layout=port] .modal-scrim,[data-layout=land] .modal-scrim{padding:0}[data-layout=port] .modal,[data-layout=land] .modal{border:none;border-radius:0;max-width:none;height:100%}[data-layout=port] .confirm,[data-layout=land] .confirm{border-radius:var(--r-lg);border:2px solid var(--edge);max-width:26rem;height:auto}[data-layout=port] .confirm-scrim,[data-layout=land] .confirm-scrim{padding:max(1rem, var(--safe-top)) max(1rem, var(--safe-right)) max(1rem, var(--safe-bottom)) max(1rem, var(--safe-left))}[data-layout=port] .modal:not(.confirm,.card-modal),[data-layout=land] .modal:not(.confirm,.card-modal){padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left)}[data-layout=port] .modal.card-modal,[data-layout=land] .modal.card-modal{height:auto;max-height:calc(100% - max(1rem, var(--safe-top)) - max(1rem, var(--safe-bottom)));width:calc(100% - max(1rem, var(--safe-left)) - max(1rem, var(--safe-right)));border:2px solid var(--edge);border-radius:var(--r-md);max-width:28rem}[data-layout=port] .modal:not(.confirm,.card-modal)>.modal-head,[data-layout=land] .modal:not(.confirm,.card-modal)>.modal-head{margin:0 calc(-1 * var(--safe-right)) 0 calc(-1 * var(--safe-left));padding-top:calc(.8rem + var(--safe-top));padding-left:calc(1.1rem + var(--safe-left));padding-right:calc(.9rem + var(--safe-right))}[data-layout=land] .modal:not(.confirm,.card-modal)>.modal-head{padding:calc(.35rem + var(--safe-top)) calc(.6rem + var(--safe-right)) .35rem calc(.9rem + var(--safe-left))}[data-layout=land] .modal-body{padding:.6rem .9rem}[data-layout=land] .modal-foot{padding:.4rem .9rem}[data-layout=port] .set-row{flex-direction:column;align-items:stretch;gap:.45rem}[data-layout=port] .slider,[data-layout=port] .segmented{justify-content:flex-start;width:100%;max-width:none}[data-layout=port] .switch{align-self:flex-start}[data-layout=port] .diff-card small{display:none}[data-layout=port] .save-card{grid-template-columns:7rem minmax(0,1fr)}[data-layout=port] .save-actions{flex-flow:wrap;grid-column:1/-1}[data-layout=port] .save-actions .btn{flex:1}[data-layout=port] .ency-list,[data-layout=land] .ency-list{flex-direction:row;max-height:none;padding-bottom:.3rem;overflow-x:auto}[data-layout=port] .ency-list button,[data-layout=land] .ency-list button{white-space:nowrap;width:auto}[data-layout=port] .ency-portrait,[data-layout=port] .ency-bigicon{width:5rem;height:5rem}[data-layout=port] .ency-badge-icon{top:3.4rem;left:3.6rem}[data-layout=land] .sunset{height:5.5rem}[data-layout=port] .res-actions .btn,[data-layout=land] .res-actions .btn{flex:1}.lobby,.modal-body,.results,.results-scrim,.ency-list{overflow-x:hidden}[data-layout=port] .ency-list,[data-layout=land] .ency-list{overflow-x:auto}.menu-btn,.panel,.diff-card,.save-card,.save-info,.save-actions .btn,.set-row,.set-text,.ency-detail,.ency-hero>div,.res-stat,.pros-cons>div,.shortcuts div{min-width:0}.ency-list button span:last-child,.ency-hero h3,.save-info b{text-overflow:ellipsis;overflow:hidden}.ency-hero h3{overflow-wrap:anywhere}.res-grid{grid-template-columns:repeat(3,minmax(0,1fr))}[data-layout=port] .res-grid,[data-layout=land] .res-grid,.pros-cons{grid-template-columns:repeat(2,minmax(0,1fr))}[data-layout=port] .pros-cons{grid-template-columns:minmax(0,1fr)}.ency{grid-template-columns:15rem minmax(0,1fr)}[data-layout=port] .ency,[data-layout=land] .ency{grid-template-columns:minmax(0,1fr)}[data-layout=port] .diff-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.res-stat b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shortcuts{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr))}.diff-cards{grid-template-columns:repeat(auto-fill,minmax(min(10.5rem,100%),1fr))}@media (min-width:1000px){.diff-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.diff-card{padding:.75rem}.diff-card>b{font-size:var(--fs-md);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}}.res-extra{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr))}.slider,.segmented button{min-width:0}.menu-text b{flex-wrap:wrap;row-gap:.1rem}.menu-btn{overflow:hidden}.logo{text-transform:uppercase}.lang-btn{pointer-events:auto;position:relative}.lang-btn .hud-btn span{font-size:var(--fs-sm)}.lang-menu{z-index:var(--z-menu);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-width:13rem;box-shadow:var(--elev-2);margin:0;padding:.3rem;list-style:none;position:absolute;bottom:calc(100% + .35rem);right:0}.lang-menu button{text-align:left;border-radius:var(--r-sm);width:100%;min-height:2.75rem;font-weight:700;font-size:var(--fs-sm);background:0 0;border:none;padding:.3rem .7rem}.lang-menu button.on{color:var(--accent);background:#3f372b}@media (hover:hover){.lang-menu button:hover{color:var(--accent);background:#3f372b}}.lobby-foot{align-items:center}.diff-record{font-weight:700;color:var(--accent)!important}.custom-warn{font-size:var(--fs-sm);color:var(--warn-text);align-items:flex-start;gap:.45rem;margin:.6rem 0 .2rem;display:flex}.custom-warn .gi{width:1rem;height:1rem;color:var(--accent-2);flex:none;margin-top:.15rem}.title-screen{z-index:var(--z-screen);cursor:pointer;padding:max(1rem, var(--safe-top)) max(1rem, var(--safe-right)) max(1rem, var(--safe-bottom)) max(1rem, var(--safe-left));place-items:center;display:grid;position:fixed;inset:0}.title-shade{z-index:-1;background:radial-gradient(at 50% 55%,#0e0c0a40 0%,#0e0c0ac7 70%);position:fixed;inset:0}.title-center{text-align:center;flex-direction:column;align-items:center;gap:.4rem;max-width:40rem;display:flex}.title-center .logo{font-size:clamp(2.6rem,9vw,5.6rem)}.title-sub{font-size:var(--fs-lg);letter-spacing:.18em;text-transform:uppercase;color:var(--text);text-shadow:0 2px 4px var(--edge);margin:.2rem 0 0;font-weight:800}.title-tag{color:var(--paper-2);text-shadow:0 1px 3px var(--edge);margin:0}.title-start{background:var(--accent);border:2px solid var(--edge);border-radius:var(--r-pill);min-height:2.75rem;color:var(--ink);font-weight:800;font-size:var(--fs-md);box-shadow:var(--elev-2);margin-top:1.6rem;padding:.5rem 1.2rem;animation:.6s .4s both title-in}@keyframes title-in{0%{opacity:0;transform:translateY(4px)}}.title-lang{right:max(1rem, var(--safe-right));bottom:max(1rem, var(--safe-bottom));cursor:default;position:fixed}.cine{z-index:var(--z-cine);pointer-events:none;position:fixed;inset:0}.cine-bar{background:var(--edge);pointer-events:auto;height:11vh;min-height:3.2rem;animation:.4s both bar-in;position:absolute;left:0;right:0}.cine-bar.top{transform-origin:top;top:0}.cine-bar.bottom{transform-origin:bottom;height:auto;min-height:11vh;padding:.7rem max(1rem, var(--safe-right)) max(.7rem, var(--safe-bottom)) max(1rem, var(--safe-left));flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex;bottom:0}@keyframes bar-in{0%{transform:scaleY(0)}}.cine.still .cine-bar{animation:none}.cine-caption{text-align:center;max-width:50rem;font-size:calc(clamp(1rem, 2.2vw, 1.35rem) * var(--caption-scale,1));color:#fff;margin:0;font-weight:600;line-height:1.4}.caption-solid .cine-caption{border-radius:var(--r-sm);background:var(--edge);padding:.3rem .7rem}.cine-foot{align-items:center;gap:1rem;display:flex}.cine-dots{gap:.35rem;display:flex}.cine-dots i{background:var(--line);border-radius:50%;width:.5rem;height:.5rem}.cine-dots i.done{background:var(--text-3)}.cine-dots i.on{background:var(--accent)}.cine-skip{min-height:2.5rem!important}.diff-card{overflow:hidden}.diff-card>b{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.diff-card .badge{margin-left:0}.credits p,.credit-list li{overflow-wrap:anywhere}.lobby-shade{z-index:var(--z-screen-shade)}.foot-actions{align-items:center;gap:.4rem;display:flex}.install-steps{gap:.5rem;margin:0;padding-left:1.3rem;line-height:1.45;display:grid}[data-posture=book] .modal-scrim,[data-posture=book] .results-scrim{left:var(--fold-x)}[data-posture=book] .lobby{grid-template-columns:minmax(0, calc(var(--seg-a-right) - 3rem)) minmax(0, 1fr);column-gap:calc(var(--fold-x) - var(--seg-a-right) + 2rem)}[data-posture=book] .lobby-foot{flex-direction:column;grid-column:2;align-items:flex-start}[data-posture=book] .title-screen,[data-posture=book] .cine-bar.bottom{padding-right:calc(100% - var(--seg-a-right) + 1rem)}[data-posture=laptop] .modal-scrim,[data-posture=laptop] .results-scrim,[data-posture=laptop] .lobby,[data-posture=laptop] .lobby-shade{top:max(var(--fold-y), var(--safe-top))}[data-posture=laptop] .lobby{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start}[data-posture=laptop] .title-screen{bottom:calc(100% - var(--seg-a-bottom))}[data-posture=laptop] .title-lang{bottom:auto;top:calc(var(--fold-y) + 1rem)}[data-posture=laptop] .cine-bar.top{display:none}[data-posture=laptop] .cine-bar.bottom{top:var(--fold-y)}.quick-row{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;margin:0 0 .8rem;display:grid}.quick-btn{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-md);min-height:2.9rem;color:var(--text);font-weight:700;font-size:var(--fs-sm);text-align:left;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.quick-btn .gi{flex:none;width:1.3rem;height:1.3rem}.quick-btn small{border-radius:var(--r-pill);background:var(--surface-4);color:var(--muted);margin-left:auto;padding:.1rem .5rem;font-weight:600}.quick-btn.on small{background:var(--ok-deep);color:#fff}.camp-sub{color:var(--muted);font-size:var(--fs-sm);margin:0 0 .7rem}.camp-road{aspect-ratio:600/160;border:2px solid var(--edge);border-radius:var(--r-md);width:100%;margin:0 auto .8rem;position:relative;overflow:hidden}.camp-road svg{width:100%;height:100%;display:block}.camp-seg{fill:none;stroke-width:7px;stroke-linecap:round;transition:stroke-width .15s}.camp-seg.won{stroke:var(--accent)}.camp-seg.open{stroke:var(--text);stroke-linecap:butt;stroke-width:5px;stroke-dasharray:14 8;animation:1.2s linear infinite camp-march}.camp-seg.locked{stroke:#6b6258;stroke-dasharray:3 9}.camp-seg.hot{stroke-width:11px}@keyframes camp-march{to{stroke-dashoffset:-22px}}.camp-origin{fill:var(--text);stroke:var(--edge);stroke-width:2px}.camp-pin{border:3px solid var(--edge);background:var(--text);width:2rem;height:2rem;color:var(--ink);font-weight:900;font-size:var(--fs-md);box-shadow:var(--elev-1);pointer-events:none;border-radius:50%;place-items:center;transition:transform .15s;display:grid;position:absolute;transform:translate(-50%,-50%)}.camp-pin.won{background:var(--accent)}.camp-pin.open{border-color:var(--accent-2)}.camp-pin.locked{background:var(--lock-bg);color:var(--lock-fg);border-color:var(--lock-fg);box-shadow:0 0 0 1px var(--edge), 0 3px 8px #00000080}.camp-pin.hot{transform:translate(-50%,-50%)scale(1.2)}.camp-pin .gi{width:1rem;height:1rem}.camp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.camp-card{text-align:left;background:var(--surface-4);border:2px solid var(--line);border-radius:var(--r-md);min-height:44px;color:var(--text);flex-direction:column;align-items:flex-start;gap:.2rem;padding:.8rem .9rem;transition:transform .12s,border-color .12s;display:flex}.camp-card.open{border-color:var(--accent-2)}.camp-card.won{border-color:#7a6a2a}.camp-card{position:relative}.camp-card.locked{cursor:default;background:repeating-linear-gradient(135deg, var(--surface-4) 0 8px, var(--surface-2) 8px 16px)}.camp-card.locked :is(.camp-num,.camp-name,.camp-day,.camp-stretch,.camp-stats,.camp-locked){color:var(--text-2)}.camp-card .lock-badge{--lock-size:clamp(28px, 1.9rem, 36px);top:.6rem;right:.6rem}.camp-card:focus-visible{outline:3px solid var(--accent);outline-offset:1px;transform:translateY(-2px)}@media (hover:hover){.camp-card:hover:not(:disabled){outline:3px solid var(--accent);outline-offset:1px;transform:translateY(-2px)}}.camp-num{width:100%;font-size:var(--fs-sm);color:var(--muted);align-items:center;gap:.45rem;font-weight:800;display:flex}.camp-num-badge{background:var(--surface-1);width:1.6rem;height:1.6rem;color:var(--text);font-size:var(--fs-sm);border-radius:50%;place-items:center;display:grid}.camp-num-badge .gi{width:.85rem;height:.85rem}.camp-won{color:var(--ok);margin-left:auto;width:1.2rem!important;height:1.2rem!important}.camp-name{font-size:var(--fs-lg);font-weight:900}.camp-day{color:var(--accent-2);font-weight:700;font-size:var(--fs-sm)}.camp-stretch{font-size:var(--fs-sm)}.camp-stats,.camp-locked{color:var(--muted);font-size:var(--fs-sm);line-height:1.35}.stars-row{gap:.15rem;margin-top:.3rem;display:inline-flex}.star{fill:none;width:1.35rem;height:1.35rem;stroke:var(--text-3);stroke-width:1.6px;stroke-linejoin:round;flex:none}.star.on{fill:var(--accent);stroke:#7a5b00}.camp-modal .modal-foot{justify-content:space-between}.camp-total{font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.camp-total b{font-size:var(--fs-lg)}.camp-complete{color:var(--accent);font-weight:700;font-size:var(--fs-sm);flex:1}.brief-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.1rem;display:grid}.brief-grid h3,.brief-diff-title{font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:.9rem 0 .35rem;font-weight:800}.brief-side h3:first-child{margin-top:0}.brief-where{font-size:var(--fs-md);margin:0}.brief-where b{color:var(--accent-2)}.brief-stats{color:var(--muted);font-size:var(--fs-sm);margin:.15rem 0 0}.brief-text{margin:0;line-height:1.55}.brief-goal{border-radius:var(--r-sm);background:#2a2016;border:1px solid #6b4a1f;align-items:flex-start;gap:.55rem;margin:.8rem 0 0;padding:.6rem .75rem;line-height:1.45;display:flex}.brief-goal .gi{width:1.2rem;height:1.2rem;color:var(--accent-2);flex:none;margin-top:.1rem}.brief-stars{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.brief-stars li{align-items:flex-start;gap:.55rem;display:flex}.brief-stars li>span:not(.sr-only){flex-direction:column;gap:.1rem;display:flex}.brief-stars .star{width:1.5rem;height:1.5rem}.brief-stars b{font-size:var(--fs-md)}.brief-stars small{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}.brief-stars li.got b{color:var(--accent)}.brief-arsenal{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.brief-arsenal li{background:var(--paper);width:44px;height:44px;color:var(--ink);border:2px solid var(--edge);border-radius:var(--r-sm);place-items:center;display:grid;position:relative}.brief-arsenal li .gi{width:1.6rem;height:1.6rem}.brief-arsenal li:is(.sup,.abi):after{content:"";border:2px solid var(--edge);width:12px;height:12px;position:absolute;top:-5px;right:-5px}.brief-arsenal li.sup:after{background:#5dade2;border-radius:2px}.brief-arsenal li.abi:after{background:var(--danger);border-radius:50%}.brief-diffs{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.brief-diff{text-align:left;background:var(--surface-4);border:2px solid var(--line);border-radius:var(--r-md);min-height:3.2rem;color:var(--text);flex-direction:column;align-items:flex-start;gap:.15rem;padding:.5rem .65rem;display:flex}.brief-diff b{font-size:var(--fs-md)}.brief-diff small{color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.brief-diff.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--edge) inset;background:#3f372b}.brief-diff.diff-pesadelo b{color:#ff8a7a}.brief-nums{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.35rem .9rem;margin-right:auto;font-weight:800;display:flex}.brief-nums span{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.brief-nums .gi{width:1.1rem;height:1.1rem;color:var(--accent)}.camp-results.lost .sunset{filter:grayscale(.55)brightness(.72)}.camp-res-stars{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0;padding:.9rem 1.2rem 0;list-style:none;display:grid}.crs{text-align:center;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;align-items:center;gap:.25rem;padding:.7rem .5rem;display:flex}.crs.on{border-color:#7a6a2a}.crs.new{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.crs b{font-size:var(--fs-sm);line-height:1.3}.crs small{color:var(--muted);font-size:var(--fs-sm);line-height:1.35}.crs-star{width:3rem!important;height:3rem!important}.crs.on .crs-star{animation:.55s cubic-bezier(.2,1.4,.4,1) both star-pop;animation-delay:calc(var(--i,0) * .35s + .25s)}@keyframes star-pop{0%{opacity:0;transform:scale(.2)rotate(-40deg)}}.reduce-motion .crs.on .crs-star{animation:none}@media (prefers-reduced-motion:reduce){.crs.on .crs-star{animation:none}}.camp-res-body{gap:.5rem;padding:.8rem 1.2rem 0;display:grid}.camp-res-text{margin:0;font-weight:600;line-height:1.5}.camp-res-lives{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;margin:0;display:flex}.camp-res-lives .gi{width:1.1rem;height:1.1rem;color:var(--danger)}.camp-res-complete{border-radius:var(--r-sm);color:var(--accent);background:#f4d35e1f;align-items:flex-start;gap:.5rem;margin:0;padding:.6rem .8rem;font-weight:700;line-height:1.45;display:flex}.camp-res-complete .gi{flex:none;width:1.3rem;height:1.3rem}.camp-unlocks h3{font-size:var(--fs-sm);color:var(--muted);margin:0 0 .35rem}.camp-unlocks ul{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.camp-unlocks li{background:var(--surface-3);border:1px solid var(--accent);border-radius:var(--r-pill);align-items:center;gap:.4rem;min-height:44px;padding:.35rem .8rem .35rem .55rem;font-weight:700;display:inline-flex}.camp-unlocks li .gi{width:1.4rem;height:1.4rem;color:var(--accent)}.camp-results .res-grid{grid-template-columns:repeat(3,minmax(0,1fr))}[data-layout=port] .camp-cards,[data-layout=port] .brief-grid{grid-template-columns:minmax(0,1fr)}[data-layout=port] .brief-diffs{grid-template-columns:repeat(2,minmax(0,1fr))}[data-layout=port] .brief-modal .modal-foot .btn.big{flex:100%}[data-layout=port] .crs-star{width:2.4rem!important;height:2.4rem!important}[data-layout=land] .camp-road{width:min(100%,97.5vh)}[data-layout=land] .camp-card{padding:.5rem .7rem}[data-layout=land] .camp-sub{display:none}@media (max-height:760px){.camp-road{width:min(100%,90vh)}.camp-card{padding:.55rem .75rem}html.tv .camp-road{width:min(100%,63.75vh);margin-bottom:.6rem}html.tv .camp-sub{display:none}}.results .res-scroll{flex:auto}.results .res-actions{border-top:1px solid var(--line-soft);flex:none;padding-top:.8rem}[data-layout=land] .results .sunset{height:5.5rem}[data-layout=land] .camp-res-stars{padding-top:.6rem}[data-layout=land] .crs{padding:.45rem .4rem}[data-layout=land] .crs-star{width:2.2rem!important;height:2.2rem!important}@media (max-height:760px){.results .sunset{height:5.5rem}.res-head h2{font-size:var(--fs-xl)}.camp-res-stars{padding-top:.6rem}.crs{text-align:left;grid-template-columns:auto minmax(0,1fr);place-items:center start;gap:.15rem .6rem;padding:.5rem .65rem;display:grid}.crs-star{grid-row:1/span 3;width:2.2rem!important;height:2.2rem!important}.crs>:not(.crs-star){grid-column:2}}[data-layout=port] .results .res-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}[data-layout=port] .results .res-actions .btn{white-space:normal;text-align:center;justify-content:center}[data-layout=port] .results .res-actions .btn.primary{grid-column:1/-1}.res-stat span{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}.update-bar{top:max(12px, var(--safe-top));z-index:var(--z-screen-bar);border:1px solid var(--accent);border-radius:var(--r-md);max-width:calc(100% - 24px);box-shadow:var(--elev-2);background:#181512f5;align-items:center;gap:.6rem;padding:.45rem .5rem .45rem .9rem;font-weight:700;display:flex;position:fixed;left:50%;transform:translate(-50%)}.update-bar .gi{width:1.2rem;height:1.2rem;color:var(--accent);flex:none}.update-bar .btn{flex:none}.panel.notice{border-left:4px solid var(--accent-2)}.panel.notice p{font-size:var(--fs-sm);color:var(--paper-2);margin:0 0 .5rem;line-height:1.45}.gpu-notice h2 .gi{color:var(--accent-2)}.gpu-how{font-size:var(--fs-sm);color:var(--paper-2);gap:.4rem;margin:.6rem 0 0;padding-left:1.1rem;line-height:1.45;display:grid}.gpu-notice.in-settings{margin-bottom:.9rem}.steam-btn{min-height:2.75rem;font-size:var(--fs-sm);margin-left:auto;padding:.3rem .75rem}.foot-actions .hud-btn{min-width:2.75rem}.store-modal .modal-body{flex-direction:column;gap:.9rem;display:flex}.store-demo{background:var(--surface-hud);border:1px solid var(--line);border-left:4px solid var(--accent-2);border-radius:var(--r-md);align-items:flex-start;gap:.7rem;padding:.75rem .9rem;display:flex}.store-demo>.gi{width:1.4rem;height:1.4rem;color:var(--accent-2);flex:none}.store-demo b{margin-bottom:.15rem;display:block}.store-demo p,.store-thanks{font-size:var(--fs-sm);color:var(--paper-2);margin:0;line-height:1.45}.store-thanks{border-radius:var(--r-md);background:#4cc26a1f;border:1px solid #4cc26a80;padding:.7rem .9rem}.store-err>.gi{flex:none;width:1.1rem;height:1.1rem;margin-top:.15rem}.store-err>.btn{flex:none;margin-left:auto}.store-soon-note{border-radius:var(--r-md);background:var(--surface-4);border:1px solid var(--line);color:var(--text);font-weight:700;font-size:var(--fs-sm);align-items:center;gap:.5rem;margin:0;padding:.65rem .85rem;display:flex}.store-soon-note .gi{width:1.2rem;height:1.2rem;color:var(--accent-2);flex:none}.store-pending{border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--paper-2);background:#e8a33a1f;border:1px solid #e8a33a80;align-items:flex-start;gap:.55rem;margin:0;padding:.7rem .9rem;line-height:1.45;display:flex}.store-pending .gi{width:1.2rem;height:1.2rem;color:var(--accent-2);flex:none;margin-top:.1rem}.store-game{background:var(--surface-3);border:2px solid var(--accent);border-radius:var(--r-lg);padding:1rem 1.1rem}.store-game.owned{border-color:var(--ok)}.store-game-head{align-items:flex-start;gap:.85rem;display:flex}.store-game-ico{border-radius:var(--r-md);width:3rem;height:3rem;color:var(--accent);background:#f4d35e24;flex:none;padding:.55rem}.store-game h3{font-size:var(--fs-lg);margin:0 0 .25rem;font-weight:900}.store-game-head p{color:var(--paper-2);margin:0;line-height:1.45}.store-game h4{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:.9rem 0 .4rem;font-weight:800}.store-includes{font-size:var(--fs-md);gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.store-includes li{align-items:flex-start;gap:.5rem;display:flex}.store-includes .gi{width:1.1rem;height:1.1rem;color:var(--ok);flex:none;margin-top:.1rem}.store-buy{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1rem;display:flex}.store-buy .btn .gi,.store-foot .btn .gi,.store-err .gi{width:1.1rem;height:1.1rem}.store-buy .btn,.store-foot .btn{align-items:center;gap:.5rem;display:inline-flex}.store-price{flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;margin:0;display:flex}.store-price b{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:900}.store-price s{color:var(--muted);font-size:var(--fs-sm)}.store-off{border-radius:var(--r-sm);background:var(--accent);color:var(--ink);font-size:var(--fs-xs);padding:.1rem .45rem;font-weight:800}.store-note{color:var(--muted);font-size:var(--fs-sm);margin:0}.store-owned{border-radius:var(--r-sm);color:var(--ok-text);background:#4cc26a26;align-items:center;gap:.45rem;margin:0;padding:.45rem .8rem;font-weight:800;display:inline-flex}.store-owned .gi{width:1.1rem;height:1.1rem}.store-form{gap:.55rem;width:100%;max-width:26rem;display:grid}.store-form label{font-size:var(--fs-sm);color:var(--muted);gap:.3rem;display:grid}.store-form input{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-0);min-height:44px;color:var(--text);font:inherit;font-size:var(--fs-md);-webkit-user-select:text;user-select:text;padding:0 .75rem}.store-form input[aria-invalid=true]{border-color:var(--danger)}.store-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.store-err{color:var(--danger-text);font-size:var(--fs-sm);flex-wrap:nowrap;align-items:flex-start;gap:.45rem;margin:0;display:flex}.store-sub{font-size:var(--fs-md);color:var(--muted);margin:.2rem 0 0;font-weight:800}.store-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.store-soon{border-radius:var(--r-md);background:var(--surface-hud);border:1px solid var(--line);align-content:start;gap:.2rem;padding:.7rem .8rem;display:grid}.store-soon b{font-size:var(--fs-md)}.store-soon small{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}.store-tag{border-radius:var(--r-sm);background:var(--surface-4);color:var(--paper-2);font-size:var(--fs-xs);justify-self:start;padding:.05rem .45rem;font-weight:800}.store-tag.owned{color:var(--ok-text);background:#4cc26a33}.store-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-top:.3rem;display:flex}.store-fair{color:var(--muted);font-size:var(--fs-sm);margin:0}.camp-full{color:var(--accent);font-size:var(--fs-sm);align-items:center;gap:.35rem;font-weight:800;display:inline-flex}.camp-full .gi{width:1rem;height:1rem}.demo-end{text-align:center;background:var(--surface-2);border:2px solid var(--accent);border-radius:var(--r-lg);width:100%;max-width:30rem;box-shadow:var(--elev-3);padding:1.4rem 1.4rem 1.2rem}.demo-end-ico{width:2.6rem;height:2.6rem;color:var(--accent);margin:0 auto .5rem}.demo-end h2{font-size:var(--fs-xl);margin:0 0 .5rem;font-weight:900}.demo-end p{color:var(--paper-2);margin:0 0 .6rem;line-height:1.5}.demo-end .demo-end-saved{color:var(--muted);font-size:var(--fs-sm)}.demo-end-actions{gap:.5rem;margin-top:1rem;display:grid}.demo-end-actions .btn{justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.demo-end-actions .btn .gi{width:1.15rem;height:1.15rem}.store-foot-actions{flex-wrap:wrap;gap:.4rem;display:flex}.buyer-lead,.buyer-who{color:var(--paper-2);margin:0;line-height:1.45}.buyer-who{font-weight:700}.buyer-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.buyer-list li{border-radius:var(--r-md);background:var(--surface-hud);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .8rem;padding:.6rem .8rem;display:flex}.buyer-list li>span{gap:.1rem;min-width:0;display:grid}.buyer-list small{color:var(--muted);font-size:var(--fs-sm)}.buyer-list .btn,.buyer-file label.btn{align-items:center;gap:.45rem;display:inline-flex}.buyer-list .btn .gi,.buyer-file label.btn .gi{width:1.05rem;height:1.05rem}.buyer-file{border-top:1px solid var(--line);justify-items:start;gap:.45rem;padding-top:.6rem;display:grid}.buyer-file label.btn:focus-within{outline:3px solid var(--accent);outline-offset:2px}.ctl-block{flex-direction:column;display:flex}.ctl-block+.ctl-block{border-top:1px solid var(--line);margin-top:.4rem;padding-top:.2rem}.ctl-block .set-h3{align-items:center;gap:.45rem;display:flex}.ctl-block .set-h3 .gi{width:1.1rem;height:1.1rem}.ctl-group h4,.ctl-sub{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:.7rem 0 .3rem;font-weight:800}.ctl-row{border-bottom:1px solid #4a433a73;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.4rem .6rem;padding:.2rem 0;display:grid}.ctl-action{min-width:0;font-size:var(--fs-sm)}.ctl-slot{align-items:center;gap:.2rem;display:inline-flex}.ctl-key{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);min-width:6.5rem;min-height:44px;color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;padding:0 .6rem}.ctl-key kbd{font-family:inherit;font-weight:800}.ctl-key.empty{color:var(--muted)}@media (hover:hover){.ctl-key:hover{border-color:var(--accent-2)}}.ctl-key.capturing{border-color:var(--accent);color:var(--accent);background:#f4d35e24;font-weight:800}.ctl-note,.ctl-hint{font-size:var(--fs-sm);color:var(--accent);margin:.4rem 0}.ctl-block>.btn{align-self:flex-start;align-items:center;gap:.45rem;margin-top:.7rem;display:inline-flex}.ctl-block>.btn .gi{width:1.05rem;height:1.05rem}.ctl-fixed{font-size:var(--fs-sm);color:var(--paper-2);gap:.35rem;margin:0;padding-left:1.1rem;display:grid}.pad-diagram{grid-template-columns:minmax(10rem,15rem) minmax(0,1fr);align-items:center;gap:.8rem 1.2rem;display:grid}.pad-art{width:100%;height:auto}.pad-body{fill:var(--surface-3);stroke:var(--line-strong);stroke-width:2px}.pad-stick,.pad-face circle,.pad-bumper,.pad-dpad{fill:var(--surface-0);stroke:#7a6f61;stroke-width:1.5px}.pad-lbl{fill:var(--text);text-anchor:middle;font-size:9px;font-weight:800}.pad-lbl.sm{font-size:7px}.pad-legend{font-size:var(--fs-sm);gap:.3rem;margin:0;display:grid}.pad-legend div{align-items:center;gap:.6rem;display:flex}.pad-legend dt{flex:none;min-width:4.2rem}.pad-legend kbd{border-radius:var(--r-sm);background:var(--surface-0);border:1px solid var(--line);text-align:center;min-width:1.8rem;padding:.05rem .4rem;font-family:inherit;font-weight:800;display:inline-block}.pad-legend dd{color:var(--paper-2);margin:0}html:is([data-layout=port],[data-layout=land]) .pad-diagram{grid-template-columns:1fr}html:is([data-layout=port],[data-layout=land]) .ctl-row{grid-template-columns:1fr 1fr}html:is([data-layout=port],[data-layout=land]) .ctl-action{grid-column:1/-1}html:is([data-layout=port],[data-layout=land]) .ctl-key{width:100%;min-width:0}.data-tab{flex-direction:column;gap:.6rem;display:flex}.data-row{border-radius:var(--r-md);background:var(--surface-hud);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.7rem .8rem;display:flex}.data-row>div{flex:14rem;gap:.15rem;min-width:0;display:grid}.data-row small{color:var(--muted);font-size:var(--fs-sm);line-height:1.4}.data-row .btn{align-items:center;gap:.45rem;display:inline-flex}.data-row .btn .gi{width:1.05rem;height:1.05rem}.data-row label.btn:focus-within{outline:3px solid var(--accent);outline-offset:2px}.data-row.danger{border-color:#e2574c80}.data-row.danger b{color:var(--danger-text)}.ency-search{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-0);align-items:center;gap:.5rem;min-height:44px;margin-bottom:.7rem;padding:0 .3rem 0 .75rem;display:flex}.ency-search>.gi{width:1.1rem;height:1.1rem;color:var(--muted);flex:none}.ency-search input{min-width:0;min-height:40px;color:var(--text);font:inherit;font-size:var(--fs-md);-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;flex:1}.ency-search:focus-within{border-color:var(--accent)}.tabs-row .tab-count{border-radius:var(--r-pill);font-size:var(--fs-xs);background:#00000059;margin-left:.35rem;padding:0 .35rem;font-weight:800;display:inline-block}.tabs-row button.empty{opacity:.5}.ency-empty{padding:1rem 0}.menu-secondary{flex-wrap:wrap;gap:.4rem;margin-top:.2rem;display:flex}.menu-secondary .btn{color:var(--muted);align-items:center;gap:.4rem;display:inline-flex}.menu-secondary .btn .gi{width:1rem;height:1rem}.set-note{font-size:var(--fs-sm);color:var(--text-2);margin:-.2rem 0 .6rem;line-height:1.4}@media (min-aspect-ratio:2) and (min-width:2000px){.lobby{padding-inline:max(2rem,50% - 55rem)}}a.btn{text-decoration:none}.support{flex-direction:column;gap:.4rem;display:flex}.support-lead{color:var(--text-2);font-size:var(--fs-sm);margin:0;line-height:1.4}.support-row{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.support-email{border-radius:var(--r-sm);background:var(--surface-0);border:1px solid var(--line);color:var(--text);font-weight:700;font-size:var(--fs-sm);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:.35rem .6rem}.support-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.support-state{color:var(--ok-text);font-size:var(--fs-sm);font-weight:700}.support-state:empty{display:none}.support-fail{color:var(--warn-text);font-size:var(--fs-sm);margin:0}.support.compact .support-lead{font-size:var(--fs-xs)}.support-actions .btn{min-height:44px;padding:.4rem .9rem}.link-btn{min-height:44px;color:var(--accent);font:inherit;font-size:var(--fs-sm);text-underline-offset:.2em;background:0 0;border:0;align-items:center;padding:0 .15rem;font-weight:700;text-decoration:underline;display:inline-flex}.legal-links{flex-wrap:wrap;gap:0 1.1rem;display:flex}.store-legal{border-top:1px solid var(--line-soft);flex-direction:column;gap:.6rem;padding-top:.6rem;display:flex}.store-accept{color:var(--text-2);font-size:var(--fs-sm);margin:0;line-height:1.45}.store-accept a,.legal-doc a{color:var(--accent);text-underline-offset:.2em}.legal-doc{-webkit-user-select:text;user-select:text;max-width:44rem}.legal-title{font-size:var(--fs-xl);margin:0;font-weight:800}.legal-updated{color:var(--text-2);font-size:var(--fs-xs);margin:.2rem 0 .9rem}.legal-lead{color:var(--text);font-size:var(--fs-md);margin:0 0 1rem;line-height:1.5}.legal-sec+.legal-sec{margin-top:1rem}.legal-sec h4{color:var(--accent);font-size:var(--fs-md);margin:0 0 .35rem;font-weight:800}.legal-sec p,.legal-sec li{color:var(--text-2);font-size:var(--fs-sm);margin:0 0 .45rem;line-height:1.55}.legal-sec ul{margin:0 0 .45rem;padding-left:1.2rem}.legal-sec b{color:var(--text)}.legal-seller,.legal-support{border-top:1px solid var(--line-soft);margin-top:1.4rem;padding-top:.9rem}.legal-seller h3,.legal-support h3,.about-sub{font-size:var(--fs-md);color:var(--text);margin:0 0 .5rem;font-weight:800}.legal-dl{font-size:var(--fs-sm);-webkit-user-select:text;user-select:text;grid-template-columns:max-content 1fr;gap:.3rem .9rem;margin:0;display:grid}.legal-dl dt{color:var(--text-2);font-weight:700}.legal-dl dd{color:var(--text);overflow-wrap:anywhere;margin:0}@media (max-width:30rem){.legal-dl{grid-template-columns:1fr;gap:.1rem}.legal-dl dd+dt{margin-top:.4rem}}.legal-marker{border-radius:var(--r-xs);background:var(--accent);color:var(--ink);padding:0 .3rem;font-weight:800}.about{flex-direction:column;gap:1.1rem;display:flex}.about-head{flex-wrap:wrap;align-items:baseline;gap:.3rem .7rem;margin:0;display:flex}.about-head b{font-size:var(--fs-lg)}.about-head span{color:var(--text-2);font-size:var(--fs-sm)}.about-docs{flex-wrap:wrap;gap:.5rem;display:flex}.about .legal-seller{margin-top:0}.atlas{z-index:var(--z-atlas);color:var(--text);background:var(--surface-0);touch-action:manipulation;flex-direction:column;animation:.18s fade-in;display:flex;position:fixed;inset:0}.atlas small{font-size:max(13px,.8em)}.atlas .btn{min-height:max(44px,2.75rem);font-size:max(13px,.88rem)}.atlas-inner{flex-direction:column;flex:1;min-height:0;display:flex}.atlas-head{padding:max(.6rem, var(--safe-top)) max(.9rem, var(--safe-right)) .6rem max(.9rem, var(--safe-left));background:var(--surface-2);border-bottom:1px solid var(--line-soft);z-index:5;flex-wrap:wrap;align-items:center;gap:.55rem .8rem;display:flex;position:relative}.atlas-titles{flex-direction:column;min-width:0;display:flex}.atlas-name{font-size:var(--fs-lg);color:var(--accent);letter-spacing:.01em;white-space:nowrap;margin:0;font-weight:900}.atlas-sub{color:var(--muted);white-space:nowrap;margin:0;font-size:max(13px,.74rem)}.atlas-spacer{flex:1}.atlas-close{width:max(44px,2.75rem);height:max(44px,2.75rem);margin-left:auto}.atlas-glyph{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em;display:inline-block}.atlas-search{flex:16rem;min-width:15rem;max-width:30rem;position:relative}.atlas-search input{width:100%;height:max(44px,2.6rem);font:inherit;color:var(--text);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);-webkit-user-select:text;user-select:text;touch-action:manipulation;outline:none;padding:0 46px 0 2.3rem;font-size:max(13px,.92rem)}.atlas-search input::-webkit-search-cancel-button{display:none}.atlas-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f4d35e2e}.atlas-search-ico{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.atlas-search-clear{width:44px;height:44px;color:var(--muted);border-radius:var(--r-sm);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}.atlas-results{z-index:10;border:1px solid var(--line-strong);border-radius:var(--r-md);max-height:min(60vh,26rem);box-shadow:var(--elev-3);touch-action:pan-y pinch-zoom;background:#181512;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto}.atlas-results ul{margin:0;padding:.3rem;list-style:none}.atlas-results li{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:.6rem;min-height:44px;padding:.45rem .55rem;display:flex}.atlas-results li.on{background:#3a332b;outline:1px solid #f4d35e73}.atlas-results-none{color:var(--muted);margin:0;padding:.8rem;font-size:max(13px,.88rem)}.hit-ico{color:var(--muted);width:1.2rem;height:1.2rem}.hit-ico.game{color:var(--accent)}.hit-main{flex-direction:column;min-width:0;display:flex}.hit-main b{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:max(13px,.92rem);display:flex}.hit-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:max(13px,.76rem);overflow:hidden}.atlas-chips{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.atlas-chip{min-width:44px;min-height:44px;color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--r-pill);white-space:nowrap;background:0 0;flex:none;justify-content:center;align-items:center;gap:.3rem;padding:.25rem .75rem;font-size:max(13px,.82rem);font-weight:700;transition:background .12s,color .12s;display:inline-flex}@media (hover:hover){.atlas-chip:hover{color:var(--text);border-color:#7a6a55}}.atlas-chip.on{background:var(--accent);border-color:var(--edge);color:var(--ink)}.atlas-chip.game .atlas-glyph{color:var(--accent)}.atlas-chip.game.on .atlas-glyph{color:var(--ink)}.atlas-view{border:1px solid var(--line-strong);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.atlas-view button{min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;font-size:max(13px,.82rem);font-weight:700;display:inline-flex}.atlas-view button.on{background:var(--surface-4);color:var(--text)}.atlas-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(20rem,35%);min-height:0;display:grid;position:relative}.atlas-stage{background:radial-gradient(at 58% 42%,#5a483447 0%,#15130f00 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .88 0 0 0 0 .75 0 0 0 .075 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),#17140f;min-width:0;min-height:0;position:relative;overflow:hidden}.atlas-map{cursor:grab;touch-action:none;outline:none;position:absolute;inset:0}.atlas-map:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}.atlas-map.grabbing{cursor:grabbing}.atlas-map.pointing{cursor:pointer}.atlas-svg,.atlas-canvas{position:absolute;top:0;left:0}.atlas-svg{transform-origin:0 0;will-change:transform;pointer-events:none;overflow:visible}.atlas-canvas{pointer-events:none}.atlas-svg path,.atlas-svg polyline{vector-effect:non-scaling-stroke}.atlas-relief{opacity:0;mix-blend-mode:soft-light;transition:opacity .6s}.atlas-relief.on{opacity:.7}.atlas-svg.lod-detail .atlas-relief.on{opacity:.32}.atlas-svg:not(.show-relief) .atlas-relief{display:none}.atlas-ufs .uf{stroke:#1a1612;stroke-width:1.1px;stroke-linejoin:round;transition:fill-opacity .2s}.atlas-ufs .uf.hover{stroke:var(--accent);stroke-width:2px}.atlas-ufs .uf.dim{fill-opacity:.28}.atlas-svg.lod-flat .atlas-ufs .uf{fill:#3a3127;stroke:var(--text-3);stroke-width:1.3px}.atlas-svg.lod-flat .atlas-ufs .uf.dim{fill:#2a241e}.atlas-svg.lod-flat .atlas-ufs .uf.sel{fill:#43382c}.atlas-svg .atlas-ufs .uf.sel{stroke:var(--accent);stroke-width:2.2px}.atlas-detail{display:none}.atlas-svg.lod-detail .atlas-detail{display:inline}.uf-detail .mesh{fill:none;stroke:#f1ece333;stroke-width:.7px}.uf-detail .border{fill:none;stroke:#a08f76;stroke-width:1.4px}.uf-detail .fcu-polys{fill:#e8a33a4d;stroke:#f4d35ebf;stroke-width:.8px;display:none}.atlas-svg.show-polys .uf-detail .fcu-polys{display:inline}.atlas-svg.game-only .uf-detail .fcu-polys{display:none}.muni-hover{fill:#f4d35e12;stroke:#f4d35e8c;stroke-width:1.2px}.muni-sel{fill:#f4d35e0f;stroke:var(--accent);stroke-width:2px}.fcu-sel{fill:#f4d35e73;stroke:var(--accent);stroke-width:2px}.atlas-routes{display:none}.atlas-svg.show-routes .atlas-routes{display:inline}.atlas-routes polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.atlas-routes .route-under{stroke:var(--surface-0);stroke-width:6px}.atlas-routes .route{stroke:var(--accent);stroke-width:3px;stroke-dasharray:7 6;animation:1.1s linear infinite atlas-march}@keyframes atlas-march{to{stroke-dashoffset:-13px}}.atlas-pins{pointer-events:none;position:absolute;inset:0}.gpin{height:44px;min-height:44px;color:var(--text);pointer-events:auto;will-change:transform;background:0 0;border:0;align-items:center;gap:.1rem;margin:-22px 0 0 -22px;padding:0;display:flex;position:absolute;top:0;left:0}.gpin-dot{flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.gpin-dot:before{content:"";border:2px solid var(--surface-0);background:var(--ok);border-radius:50%;width:.85rem;height:.85rem;box-shadow:0 0 0 2px #4cc26a59,0 0 14px #4cc26acc}.gpin-dot:after{content:"";border:2px solid var(--ok);border-radius:50%;animation:1.8s ease-out infinite atlas-pulse;position:absolute;inset:10px}.gpin.s-next .gpin-dot:before{background:var(--accent-2);border-radius:var(--r-xs);transform:rotate(45deg)scale(.9);box-shadow:0 0 12px #e8a33ad9}.gpin.s-next .gpin-dot:after{border-color:var(--accent-2);animation-duration:2.4s}.gpin.s-soon .gpin-dot:before{background:var(--lock-bg);border-color:var(--lock-fg);box-shadow:none}.gpin.s-soon .gpin-dot:after{display:none}@keyframes atlas-pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.1)}}.gpin-label{white-space:nowrap;border:1px solid var(--line);border-radius:var(--r-sm);background:#120f0ce0;padding:.12rem .45rem;font-size:max(13px,.78rem);font-weight:800}.gpin.s-playable .gpin-label{border-color:#4cc26ab3}.gpin.s-next .gpin-label{border-color:#e8a33ab3}.gpin[data-count]:after{content:attr(data-count);color:var(--ink);background:var(--accent);border-radius:var(--r-pill);padding:.05rem .35rem;font-size:max(13px,.7rem);font-weight:800}.gpin.sel .gpin-label,.gpin:focus-visible .gpin-label{background:var(--accent);color:var(--ink);border-color:var(--edge)}@media (hover:hover){.gpin:hover .gpin-label{background:var(--accent);color:var(--ink);border-color:var(--edge)}}.atlas-tip{z-index:4;border:1px solid var(--line-strong);border-radius:var(--r-sm);max-width:18rem;box-shadow:var(--elev-2);pointer-events:none;opacity:0;background:#120f0cf2;flex-direction:column;gap:.1rem;padding:.45rem .6rem;font-size:max(13px,.8rem);transition:opacity .1s;display:flex;position:absolute;top:0;left:0}.atlas-tip.on{opacity:1}.atlas-tip span{color:var(--muted);font-size:max(13px,.74rem)}.atlas-crumbs{left:calc(.7rem + var(--safe-left));z-index:2;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:#120f0cc7;flex-wrap:wrap;align-items:center;gap:.15rem;max-width:calc(100% - 1.4rem);padding:.2rem .35rem;display:flex;position:absolute;top:.6rem}.atlas-crumbs button{border-radius:var(--r-sm);min-height:44px;color:var(--muted);background:0 0;border:0;padding:0 .4rem;font-size:max(13px,.85rem);font-weight:700}.atlas-crumbs button:last-child{color:var(--text)}@media (hover:hover){.atlas-crumbs button:hover{background:var(--surface-4);color:var(--text)}}.crumb-sep{color:var(--text-3);width:.9rem;height:.9rem}.atlas-zoom{right:calc(.7rem + var(--safe-right));bottom:calc(2.4rem + var(--safe-bottom));z-index:2;gap:.3rem;display:grid;position:absolute}.atlas-zbtn{width:max(44px,2.6rem);height:max(44px,2.6rem);font-size:var(--fs-lg);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--elev-2);background:#221f1bf0;place-items:center;display:grid}@media (hover:hover){.atlas-zbtn:hover{border-color:var(--accent-2)}}.atlas-legend{left:calc(.7rem + var(--safe-left));bottom:calc(2.6rem + var(--safe-bottom));z-index:2;max-width:min(34rem,100% - 5rem);color:var(--paper-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);pointer-events:none;background:#120f0cc7;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.4rem .6rem;font-size:max(13px,.74rem);display:flex;position:absolute}.lg-item{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.lg-pin{border:2px solid var(--surface-0);background:var(--ok);border-radius:50%;width:.7rem;height:.7rem;box-shadow:0 0 6px #4cc26acc}.lg-pin.s-next{background:var(--accent-2);border-radius:var(--r-xs);box-shadow:none;transform:rotate(45deg)scale(.85)}.lg-pin.s-soon{background:var(--lock-bg);border-color:var(--lock-fg);box-shadow:none}.lg-dot{background:#ffd68ce6;width:.3rem;height:.3rem}.lg-scale{align-items:center;gap:.4rem;display:inline-flex}.lg-ramp{align-items:center;gap:.15rem;display:inline-flex}.lg-ramp i{border-radius:var(--r-xs);width:.9rem;height:.55rem}.lg-ramp small{color:var(--muted);margin:0 .15rem;font-size:max(13px,.68rem)}.atlas-credit{left:calc(.7rem + var(--safe-left));right:calc(.7rem + var(--safe-right));bottom:calc(.45rem + var(--safe-bottom));z-index:2;color:#d8cfc0b8;text-shadow:0 1px 2px var(--edge);pointer-events:none;margin:0;font-size:max(13px,.66rem);line-height:1.3;position:absolute}.atlas-stage[data-view=list] :is(.atlas-map,.atlas-crumbs,.atlas-zoom,.atlas-legend,.atlas-credit,.atlas-notice,.atlas-tip,.atlas-cross,.atlas-keyhint){visibility:hidden}.atlas-list-wrap{z-index:3;padding:.8rem calc(1rem + var(--safe-right)) calc(1.2rem + var(--safe-bottom)) calc(1rem + var(--safe-left));background:var(--surface-1);touch-action:pan-y pinch-zoom;position:absolute;inset:0;overflow:auto}.atlas-list{max-width:44rem}.atlas-det{border-bottom:1px solid #332d27}.atlas-det summary{cursor:pointer;border-radius:var(--r-sm);align-items:center;gap:.4rem;min-height:max(44px,2.6rem);padding:.2rem .3rem;font-weight:700;list-style:none;display:flex}.atlas-det summary::-webkit-details-marker{display:none}.atlas-det summary:before{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:.45rem;height:.45rem;transition:transform .15s;transform:rotate(-45deg)}.atlas-det[open]>summary:before{transform:rotate(45deg)}@media (hover:hover){.atlas-det summary:hover{background:var(--surface-3)}}.atlas-det.l-region>summary{font-size:var(--fs-md);color:var(--accent)}.atlas-det.l-city>summary{font-size:max(13px,.9rem);font-weight:600}.atlas-det-body{padding-left:1rem}.atlas-panel{background:var(--surface-2);border-left:1px solid var(--line-soft);min-width:0;min-height:0;display:flex;position:relative}.atlas-panel-body{touch-action:pan-y pinch-zoom;scrollbar-gutter:stable;flex:1;min-width:0;padding:.9rem 1rem 1.2rem;overflow:auto}.atlas-card{flex-direction:column;gap:.45rem;display:flex}.atlas-h{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:.7rem 0 .2rem;font-size:max(13px,.78rem);font-weight:800}.atlas-card>.atlas-h:first-child{margin-top:0}.atlas-title{font-size:var(--fs-xl);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.1rem 0 0;font-weight:900;display:flex}.atlas-sigla{color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--r-xs);padding:.1rem .35rem;font-size:max(13px,.8rem);font-weight:800}.atlas-meta{color:var(--paper-2);margin:0;font-size:max(13px,.88rem)}.atlas-lead{color:var(--muted);margin:.3rem 0 0;font-size:max(13px,.86rem);line-height:1.45}.atlas-summary{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:#0000002e;margin:.2rem 0 0;padding:.6rem .7rem;font-size:max(13px,.84rem);line-height:1.5}.atlas-summary b{color:var(--accent)}.atlas-summary small{color:var(--muted)}.atlas-badge{letter-spacing:.02em;border-radius:var(--r-sm);white-space:nowrap;vertical-align:middle;padding:.1rem .4rem;font-size:max(13px,.68rem);font-weight:800;line-height:1.3;display:inline-block}.b-playable{background:var(--ok);color:#10200f}.b-next{background:var(--accent-2);color:var(--ink)}.b-soon{background:var(--lock-bg);color:var(--lock-fg);box-shadow:inset 0 0 0 1px var(--lock-fg);align-items:center;gap:.25em;display:inline-flex}.b-soon .gi,.atlas-play:disabled .gi{width:1em;height:1em}.b-mapped{color:var(--muted);border:1px solid var(--line-strong);background:0 0}.atlas-back{border-radius:var(--r-sm);min-height:44px;color:var(--muted);background:0 0;border:0;align-self:flex-start;align-items:center;gap:.2rem;padding:0 .5rem 0 .2rem;font-size:max(13px,.84rem);font-weight:700;display:inline-flex}@media (hover:hover){.atlas-back:hover{background:var(--surface-3);color:var(--text)}}.atlas-art{aspect-ratio:5/2;border-radius:var(--r-sm);border:2px solid var(--edge);width:100%;height:auto;display:block}.atlas-art-route{animation:1.4s linear infinite atlas-march}.atlas-games{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.atlas-game{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-md);align-items:stretch;gap:.4rem;display:flex;overflow:hidden}.atlas-game.s-playable{border-color:#4cc26a8c}.atlas-game.s-next{border-color:#e8a33a8c}.atlas-game-main{text-align:left;min-width:0;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:.6rem;padding:.35rem;display:flex}.atlas-game-main .atlas-art{border-radius:var(--r-sm);border-width:1px;flex:none;width:5.2rem}.atlas-game-text{flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.atlas-game-text b{font-size:max(13px,.98rem)}.atlas-game-text small{color:var(--muted);font-size:max(13px,.74rem)}@media (hover:hover){.atlas-game-main:hover{background:var(--surface-4)}}.atlas-play-mini{align-self:center;min-height:44px;margin-right:.4rem;padding:.3rem .8rem}.atlas-rows{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.atlas-row{text-align:left;border-radius:var(--r-sm);width:100%;min-height:max(44px,2.5rem);color:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.6rem;padding:.3rem .5rem;display:flex}.atlas-row:focus-visible{background:var(--surface-3)}@media (hover:hover){.atlas-row:hover{background:var(--surface-3)}}.atlas-row-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;font-size:max(13px,.88rem);font-weight:700;display:flex}.atlas-row-sub{color:var(--muted);text-align:right;flex:none;max-width:55%;font-size:max(13px,.75rem)}.atlas-row.is-game .atlas-row-name{color:var(--accent)}.atlas-more{align-self:flex-start;min-height:max(44px,2.75rem)}.atlas-ficha .atlas-art{margin-top:.1rem}.atlas-route{color:var(--accent);align-items:center;gap:.35rem;margin:0;font-size:max(13px,.86rem);font-weight:700;display:flex}.atlas-why{color:var(--muted);margin:.2rem 0 0;font-size:max(13px,.84rem);line-height:1.45}.atlas-record{margin:0;font-size:max(13px,.86rem)}.atlas-record b{color:var(--accent)}.atlas-actions{gap:.5rem;margin-top:.4rem;display:flex}.atlas-play{flex:1}.atlas-loading{flex-direction:column;flex:1;display:flex}.atlas-loading-body{color:var(--muted);flex:1;place-content:center;justify-items:center;gap:.8rem;display:grid}.atlas-bar{background:var(--surface-3);border-radius:var(--r-xs);width:12rem;height:5px;overflow:hidden}.atlas-bar i{background:linear-gradient(90deg, var(--accent-2), var(--accent));width:40%;height:100%;animation:1.1s ease-in-out infinite slide;display:block}@media (max-width:1279px){.atlas:not([data-lay=land]):not([data-dev=port]) .atlas-chips{flex-basis:100%;order:5}}.atlas[data-lay=land] .atlas-head{padding-top:max(.35rem, var(--safe-top));flex-wrap:nowrap;gap:.45rem;padding-bottom:.35rem}.atlas[data-lay=land] .atlas-sub,.atlas[data-lay=land] .atlas-view span{display:none}.atlas:is([data-lay=land],[data-dev=port]) .atlas-view .atlas-glyph{vertical-align:0;width:24px;height:24px}.atlas[data-lay=land] .atlas-name{font-size:var(--fs-md)}.atlas[data-lay=land] .atlas-search{flex:10rem;min-width:8rem}.atlas[data-lay=land] .atlas-chips{scrollbar-width:none;touch-action:pan-x pinch-zoom;flex-wrap:nowrap;max-width:34%;overflow-x:auto}.atlas[data-lay=land] .atlas-chip{padding:.2rem .55rem;font-size:max(13px,.74rem)}.atlas[data-lay=land] .atlas-body{grid-template-columns:minmax(0,1fr) minmax(0,40%);transition:grid-template-columns .2s}.atlas[data-lay=land] .atlas-body.panel-closed{grid-template-columns:minmax(0,1fr) 44px}.atlas[data-lay=land] .atlas-body.panel-closed .atlas-panel-body{visibility:hidden}.atlas-panel-toggle{z-index:3;width:44px;height:max(56px,3.2rem);color:var(--text);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);place-items:center;display:grid;position:absolute;top:50%;left:-22px;transform:translateY(-50%)}.atlas[data-lay=land] .atlas-body.panel-closed .atlas-panel-toggle{left:0}.atlas[data-lay=land] .atlas-panel-body{padding:.6rem .7rem .8rem calc(22px + .5rem)}.atlas[data-lay=land] .atlas-legend .lg-dots,.atlas[data-lay=land] .atlas-legend .lg-scale,.atlas[data-dev=port] .atlas-legend .lg-dots,.atlas[data-dev=port] .atlas-legend .lg-scale{display:none}.atlas[data-lay=land] .atlas-zoom{gap:.2rem;bottom:2rem}.atlas[data-lay=land] .atlas-crumbs{top:.4rem;left:calc(.4rem + var(--safe-left))}.atlas[data-lay=land] .atlas-crumbs button{font-size:max(13px,.78rem)}.atlas[data-lay=land] .atlas-credit{display:none}.atlas[data-lay=land] .atlas-legend,.atlas[data-lay=land] .atlas-zoom{bottom:calc(.5rem + var(--safe-bottom))}.atlas[data-lay=land] .atlas-panel{padding:0 var(--safe-right) var(--safe-bottom) 0}.atlas[data-lay=land] .atlas-title{font-size:var(--fs-lg)}.atlas[data-dev=port] .atlas-head{gap:.45rem;padding-bottom:.45rem}.atlas[data-dev=port] .atlas-titles{flex:1}.atlas[data-dev=port] .atlas-sub,.atlas[data-dev=port] .atlas-view span{display:none}.atlas[data-dev=port] .atlas-close{margin-left:0}.atlas[data-dev=port] .atlas-search{flex-basis:100%;order:4;max-width:none}.atlas[data-dev=port] .atlas-chips{scrollbar-width:none;touch-action:pan-x pinch-zoom;flex-wrap:nowrap;flex-basis:100%;order:5;padding-bottom:.1rem;overflow-x:auto}.atlas[data-lay=sheet] .atlas-body{grid-template-columns:minmax(0,1fr)}.atlas[data-lay=sheet] .atlas-legend{bottom:calc(var(--sheet-h,30%) + .5rem);padding:.3rem .5rem;left:.5rem}.atlas[data-lay=sheet] .atlas-zoom{bottom:calc(var(--sheet-h,30%) + .5rem);right:.5rem}.atlas[data-lay=sheet] .atlas-stage[data-snap=full] :is(.atlas-legend,.atlas-zoom){visibility:hidden}.atlas[data-lay=sheet] .atlas-crumbs{top:.5rem;left:.5rem}.atlas[data-lay=sheet] .atlas-credit{display:none}.atlas[data-lay=sheet] .atlas-games{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.atlas[data-lay=sheet] .atlas-ficha>.atlas-art{max-height:min(5.5rem,10vh)}.atlas[data-lay=sheet] .atlas-sheet-body>*{max-width:48rem}.atlas-sheet{padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);z-index:4;background:var(--surface-2);border-top:1px solid var(--line-strong);border-radius:1rem 1rem 0 0;flex-direction:column;height:30%;transition:height .26s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 34px #00000080}.atlas-sheet.dragging{transition:none}.atlas-sheet-handle{touch-action:none;cursor:grab;background:0 0;border:0;flex:none;place-items:center;height:44px;display:grid}.atlas-sheet-handle i{border-radius:var(--r-pill);background:var(--text-3);width:2.6rem;height:.3rem}.atlas-sheet-body{touch-action:pan-y pinch-zoom;flex:1;min-height:0;padding:0 1rem 1rem;overflow:auto}.atlas-credit-inline{color:var(--muted);margin:1.2rem 0 0;font-size:max(13px,.66rem);line-height:1.35}.reduce-motion .gpin-dot:after,.reduce-motion .atlas-routes .route,.reduce-motion .atlas-art-route{animation:none!important}@media (prefers-reduced-motion:reduce){.gpin-dot:after,.atlas-routes .route,.atlas-art-route{animation:none!important}.atlas-sheet{transition:none}}.atlas-notice{z-index:3;color:#ffd9d4;border-radius:var(--r-sm);opacity:0;pointer-events:none;background:#28100deb;border:1px solid #e2574c99;max-width:min(28rem,100% - 2rem);margin:0;padding:.45rem .75rem;font-size:max(13px,.8rem);transition:opacity .2s,transform .2s;position:absolute;top:3.4rem;left:50%;transform:translate(-50%,-.4rem)}.atlas-notice.on{opacity:1;transform:translate(-50%)}.atlas-credit span+span:before,.atlas-credit-inline span+span:before{content:"· "}.atlas [data-panel-title]:focus:not(:focus-visible),.atlas #atlas-title:focus:not(:focus-visible){outline:none}html[data-posture=book] .atlas[data-lay=desk] .atlas-body{grid-template-columns:var(--seg-a-right) calc(var(--fold-x) - var(--seg-a-right)) minmax(0, 1fr)}html[data-posture=book] .atlas[data-lay=desk] .atlas-panel{grid-column:3}.atlas-cross,.atlas-keyhint{display:none}.atlas-map:focus-visible~.atlas-cross{left:var(--cx,50%);top:var(--cy,50%);z-index:2;border:2px solid var(--accent);pointer-events:none;border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;display:block;position:absolute;box-shadow:0 0 0 2px #0009}.atlas-map:focus-visible~.atlas-cross:before,.atlas-map:focus-visible~.atlas-cross:after{content:"";background:var(--accent);position:absolute;top:50%;left:50%}.atlas-map:focus-visible~.atlas-cross:before{width:2px;height:12px;margin:-6px 0 0 -1px}.atlas-map:focus-visible~.atlas-cross:after{width:12px;height:2px;margin:-1px 0 0 -6px}.atlas-map:focus-visible~.atlas-keyhint{z-index:3;max-width:min(40rem,100% - 1.2rem);color:var(--text);border:1px solid var(--accent-2);border-radius:var(--r-sm);pointer-events:none;background:#120f0ceb;margin:0;padding:.4rem .7rem;font-size:max(13px,.8rem);display:block;position:absolute;top:.6rem;left:50%;transform:translate(-50%)}
