:root{--bg-deep: #0c141d;--bg-raised: #1b2934;--bg-glass: rgba(12, 20, 29, .9);--bg-field: #0f1726;--bg-void: #07080b;--scrim: rgba(7, 16, 22, .72);--scrim-strong: rgba(5, 8, 12, .8);--text: #edf3ef;--text-2: #b2c3c8;--text-dim: #a2b5bc;--on-accent: #06231f;--line-faint: rgba(150, 180, 220, .16);--line-mid: rgba(150, 180, 220, .35);--line-soft: #334650;--line: #687b84;--line-hi: #9fb7bd;--accent: #6fe3ff;--ok: #9ae0ab;--warn: #ffc276;--danger: #ff7f76;--hostile: #ff7955;--guide: #ffe14d;--guide-hi: #fff6b0;--alarm: #ff3b3b;--ore-common: #6fe3ff;--ore-rare: #ffd36a;--ore-epic: #c58cff;--role-mine: #f1b75f;--role-med: #60dfcd;--role-cmd: #ffe14d;--role-tank: #82caff;--brand-kakao: #fee500;--on-brand-kakao: #191919;--brand-google: #ffffff;--on-brand-google: #1f1f1f;--mark-blue: #4d8dff;--mark-yellow: #ffd93d;--mark-red: #ff5252;--mark-green: #5fd97a;--mark-purple: #b98cff;--mark-orange: #ff9a3d;--mark-cyan: #4fe0f2;--mark-pink: #ff7ac0;--mark-white: #f2f6fa;--mark-lime: #c4f03c;--shadow-soft: rgba(0, 0, 0, .35);--shadow: rgba(0, 0, 0, .6);--shadow-hard: #000;--tap-glow: rgba(255, 225, 77, .35);--btn-on: #22386b;--btn-on-line: #4f6fae;--btn-primary: #e9eef6;--btn-primary-hi: #ffffff;--on-btn-primary: #0b1220;--visor-frame: rgba(34, 40, 44, .9);--visor-rim: rgba(119, 139, 137, .4);--visor-shade: rgba(17, 24, 32, .4);--cam-bg: #000;--cam-fg: #fff;--cam-control: rgba(0, 0, 0, .45);--cam-shutter: rgba(255, 255, 255, .25);--cam-shutter-on: rgba(255, 255, 255, .6);--toon-paper: #e9dfc6;--toon-paper-hi: #f5ecd6;--toon-ink: #18202a;--toon-muted: #48535f;--toon-accent: #126275;--toon-ok: #24663d;--toon-warn: #89501b;--toon-danger: #a62c2c;--toon-mine: #805013;--toon-med: #176b63;--toon-tank: #24577b;--toon-cmd: #6e5a04;--toon-glow: #6fe3ff;--graphite-title: #edf3ef;--graphite-panel: #1b2934;--graphite-raised: #24323d;--graphite-muted: #b2c3c8;--graphite-line: #465966;--graphite-ok: #9ae0ab;--graphite-warn: #ffc276;--graphite-danger: #ff7f76;--graphite-mine: #f1b75f;--graphite-med: #60dfcd;--graphite-tank: #82caff;--graphite-cmd: #ffe14d;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-pill: 999px;--btn-h-sm: 24px;--btn-h-md: 34px;--btn-h-lg: 44px;--ico-sm: 14px;--ico-md: 18px;--ico-lg: 22px;--touch-min: 44px;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 20px;--fs-3xl: 26px;--fs-4xl: 30px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 40px;--u: clamp(.8px, calc(100vw / 844), 1.4px);--z-canvas: 70;--z-hud: 71;--z-lobby: 72;--z-result: 73;--z-rotate: 80;--z-sheet: 90;--z-cam: 95;--z-toast: 96;--z-ask: 97;--z-busy: 98;--f-display: system-ui, -apple-system, "Segoe UI", sans-serif;--f-body: "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--f-mono: ui-monospace, Menlo, Consolas, monospace}.ico-box{display:inline-grid;place-items:center;flex:none;width:var(--ico, var(--ico-sm));height:var(--ico, var(--ico-sm));font-style:normal;line-height:1}.ico-box[hidden]{display:none}.ico{width:100%;height:100%;display:block}.btn .ico,.k-ico>.ico{width:var(--ico, var(--ico-sm));height:var(--ico, var(--ico-sm));flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;margin:0;border:1px solid var(--line-soft);background:var(--bg-field);color:var(--text);font-family:var(--f-body);font-weight:600;line-height:1.2;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--btn-on-line)}.btn[aria-pressed=true],.btn[aria-selected=true]{background:var(--btn-on);border-color:var(--btn-on-line);color:var(--btn-primary-hi)}.btn:disabled{opacity:.4;cursor:default}.btn.s-sm{min-height:var(--btn-h-sm);padding:0 9px;font-size:var(--fs-xs);border-radius:var(--r-sm)}.btn.s-md{min-height:var(--btn-h-md);padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-md)}.btn.s-lg{min-height:var(--btn-h-lg);padding:0 18px;font-size:var(--fs-lg);border-radius:var(--r-lg)}.btn.primary{background:var(--btn-primary);border-color:var(--btn-primary);color:var(--on-btn-primary)}.btn.primary:hover:not(:disabled){background:var(--btn-primary-hi);border-color:var(--btn-primary-hi)}.btn.quiet{background:transparent;border-color:var(--line-faint);color:var(--text-dim)}.btn.quiet:hover:not(:disabled){border-color:var(--line-mid);color:var(--text)}.btn.link{min-height:0;padding:0;border-color:transparent;background:none;color:var(--text-2);font-size:var(--fs-xs);font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.btn.link:hover:not(:disabled){border-color:transparent;color:var(--text);text-decoration-color:currentColor}.btn.link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}@media(pointer:coarse){.btn.link{min-height:var(--touch-min)}}.btn.pill{border-radius:var(--r-pill)}.btn.icon{padding:0}.btn.icon.s-sm{width:var(--btn-h-sm);height:var(--btn-h-sm)}.btn.icon.s-md{width:var(--btn-h-md);height:var(--btn-h-md)}.btn.icon.s-lg{width:var(--btn-h-lg);height:var(--btn-h-lg)}.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:800}.btn.accent:hover:not(:disabled){border-color:var(--text)}.ui-seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--sp-2)}.ui-seg .btn[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--bg-field));color:var(--text)}.ui-close{display:inline-grid;place-items:center;width:var(--btn-h-lg);height:var(--btn-h-lg);padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-2);font-size:var(--fs-2xl);cursor:pointer}.ui-close:hover{color:var(--text)}.ui-close:disabled{opacity:.4;cursor:default}.ui-side-backdrop{position:fixed;inset:0;z-index:var(--z-sheet);display:flex;background:var(--scrim)}.ui-side-backdrop[hidden]{display:none}.ui-side-backdrop-right{justify-content:flex-end}.ui-side{box-sizing:border-box;width:min(420px,100vw);height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg-deep);border:0 solid var(--line-mid);box-shadow:0 0 60px var(--shadow)}.ui-side.wide{width:min(600px,100vw)}.ui-side:focus{outline:none}.ui-side-left{border-right-width:1px;padding-left:env(safe-area-inset-left)}.ui-side-right{border-left-width:1px;padding-right:env(safe-area-inset-right)}.ui-side-head{display:flex;align-items:center;gap:var(--sp-2);padding:max(var(--sp-5),env(safe-area-inset-top)) var(--sp-4) var(--sp-3) var(--sp-5)}.ui-side-back[hidden]{display:none}.ui-side-titles{flex:1;min-width:0;display:grid;gap:2px}.ui-side-tools{display:flex;align-items:center;gap:var(--sp-1);flex:none}.ui-side-tools:empty{display:none}.ui-side-eyebrow{font:700 var(--fs-xs) var(--f-body);letter-spacing:.14em;color:var(--text-dim)}.ui-side-eyebrow[hidden]{display:none}.ui-side-title{margin:0;font:800 var(--fs-2xl) var(--f-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-side-steps{display:flex;gap:var(--sp-1);padding:0 var(--sp-5) var(--sp-3)}.ui-side-steps[hidden]{display:none}.ui-side-steps>i{flex:1;height:3px;border-radius:var(--r-pill);background:var(--line-soft)}.ui-side-steps>i.on{background:var(--accent)}.ui-side-tabs{display:flex;gap:var(--sp-1);padding:0 var(--sp-4);border-bottom:1px solid var(--line-faint);overflow-x:auto}.ui-side-tabs[hidden]{display:none}.ui-side-tab{flex:none;min-height:var(--touch-min);padding:0 var(--sp-3);margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-dim);font:700 var(--fs-md) var(--f-body);cursor:pointer;white-space:nowrap}.ui-side-tab:hover{color:var(--text)}.ui-side-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.ui-side-tab:focus{outline:none}.ui-side-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:359px){.ui-side-tabs{padding:0 var(--sp-2);gap:0}.ui-side-tab{padding:0 var(--sp-2);font-size:var(--fs-sm)}}.ui-side-body{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-5)}.ui-side-foot{flex:none;padding:0 var(--sp-5) max(var(--sp-3),env(safe-area-inset-bottom))}.ui-side-foot:empty{display:none}@media(prefers-reduced-motion:no-preference){.ui-side-backdrop{animation:ui-side-fade .2s ease-out}.ui-side-left{animation:ui-side-in-left .26s cubic-bezier(.2,.8,.2,1)}.ui-side-right{animation:ui-side-in-right .26s cubic-bezier(.2,.8,.2,1)}}@keyframes ui-side-fade{0%{opacity:0}}@keyframes ui-side-in-left{0%{transform:translate(-100%)}}@keyframes ui-side-in-right{0%{transform:translate(100%)}}@media(max-height:499px){.ui-side-head{padding-top:max(var(--sp-2),env(safe-area-inset-top));padding-bottom:var(--sp-1)}.ui-side-title{font-size:var(--fs-xl)}.ui-side-steps{padding-bottom:var(--sp-2)}.ui-side-body{gap:var(--sp-2);padding-top:var(--sp-2);padding-bottom:var(--sp-3)}}.ui-swatch{position:relative;aspect-ratio:1;min-width:var(--btn-h-lg);min-height:var(--btn-h-lg);border-radius:50%;border:3px solid transparent;padding:0;cursor:pointer}.ui-swatch[aria-checked=true]{border-color:var(--text)}.ui-swatch.cand:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px dashed var(--accent)}.btn:focus,.ui-switch:focus,.ui-range:focus{outline:none}.btn:focus-visible,.ui-switch:focus-visible,.ui-range:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-switch{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--touch-min);box-sizing:border-box;margin:0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--bg-field);color:var(--text);font:600 var(--fs-md) var(--f-body);text-align:left;cursor:pointer}.ui-switch:hover:not(:disabled){border-color:var(--btn-on-line)}.ui-switch:disabled{opacity:.4;cursor:default}.ui-switch-label{flex:1;min-width:0}.ui-switch-state{font-size:var(--fs-sm);color:var(--text-dim)}.ui-switch-track{position:relative;flex:none;width:44px;height:24px;box-sizing:border-box;border-radius:var(--r-pill);border:1px solid var(--line-mid);background:var(--bg-raised);transition:background-color .15s,border-color .15s}.ui-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-dim);transition:transform .15s,background-color .15s}.ui-switch[aria-checked=true] .ui-switch-state{color:var(--ok)}.ui-switch[aria-checked=true] .ui-switch-track{background:color-mix(in srgb,var(--ok) 30%,var(--bg-raised));border-color:var(--ok)}.ui-switch[aria-checked=true] .ui-switch-track:after{transform:translate(20px);background:var(--ok)}.ui-range-row{display:grid;grid-template-columns:minmax(0,6em) minmax(0,1fr) 3.5em;align-items:center;gap:var(--sp-3);min-height:var(--touch-min);font-size:var(--fs-md);color:var(--text-2)}.ui-range{width:100%;min-width:0;height:var(--touch-min);margin:0;accent-color:var(--accent);background:transparent;cursor:pointer}.ui-range:disabled{opacity:.4;cursor:default}.ui-range-value{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--text);text-align:right}.ui-settings{display:grid;gap:var(--sp-3)}.ui-settings-panel{display:grid;gap:var(--sp-2)}.ui-settings-panel[hidden]{display:none}.ui-settings-note{margin:0;font-size:var(--fs-sm);color:var(--text-2)}@media(prefers-reduced-motion:reduce){.ui-switch-track,.ui-switch-track:after{transition:none}}.ui-toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100% - 32px);z-index:var(--z-toast);padding:10px 14px;border-radius:var(--r-lg);background:var(--bg-glass);border:1px solid var(--line);color:var(--text);font:500 var(--fs-md) var(--f-body);text-align:center}.ui-toast.warn{border-color:var(--warn);color:var(--warn)}.start-sheet-panel.ui-fs-sheet,.dfx-menu-panel.ui-fs-sheet{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:auto;gap:var(--sp-3)}.ui-fs-head{display:flex;align-items:center;gap:var(--sp-2)}.ui-fs-title{flex:1;min-width:0;margin:0;font-size:var(--fs-lg)}.ui-fs-lead{margin:0;color:var(--text-2);font-size:var(--fs-sm);line-height:1.5}.ui-fs-steps{margin:0;padding:0;list-style:none;counter-reset:fs;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.ui-fs-step{counter-increment:fs;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--bg-field);border:1px solid var(--line-faint);font-size:var(--fs-sm);line-height:1.45}.ui-fs-step:before{content:counter(fs);display:block;margin-bottom:var(--sp-1);color:var(--accent);font:800 var(--fs-xs) var(--f-mono)}.ui-fs-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--sp-2)}.ui-fs-note{flex:1;min-width:0;color:var(--text-dim);font-size:var(--fs-xs)}@media(max-width:599px){.ui-fs-steps{grid-template-columns:1fr}}.dfx,.dfl{--rc: var(--line-hi);font-family:var(--f-body);color:var(--text)}.role-tank{--rc: var(--role-tank)}.role-medic{--rc: var(--role-med)}.role-miner{--rc: var(--role-mine)}.defense-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:var(--z-canvas);display:block;touch-action:none}.defense-visor{position:fixed;inset:0;z-index:var(--z-canvas);pointer-events:none;border:5px solid var(--visor-frame);border-radius:8%/16%;box-shadow:inset 0 0 0 1px var(--visor-rim),inset 0 0 22px var(--visor-shade)}.defense-visor[hidden]{display:none}.defense-visor-status{position:absolute;top:max(90px,14%);left:18px;color:var(--visor-color);border-left:2px solid currentColor;padding:3px 7px;font:var(--fs-xs)/1.3 var(--f-body);text-shadow:0 1px 3px var(--shadow-hard)}.dfx{position:fixed;inset:0;pointer-events:none;z-index:var(--z-hud)}.dfx-hangar{position:absolute;inset:0;pointer-events:none;display:grid;grid-template-columns:minmax(150px,22%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"head head" "me gear" "me cards";gap:var(--sp-2);padding:max(var(--sp-3),env(safe-area-inset-top)) max(3%,env(safe-area-inset-right)) max(var(--sp-3),env(safe-area-inset-bottom)) max(3%,env(safe-area-inset-left))}.dfx-hangar>*{pointer-events:auto;min-width:0}.dfx-lift-fade{position:absolute;inset:0;background:var(--bg-void);opacity:0;pointer-events:none}.dfx-lift-fade[hidden],.dfx-hangar[hidden],.dfx-hangar-progress[hidden],.dfx-hangar-gear[hidden],.dfx-hangar-miss[hidden]{display:none}.dfx-hangar-head{grid-area:head;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-3);background:var(--bg-glass);border:1px solid var(--line)}.dfx-hangar-head strong{color:var(--accent);white-space:nowrap}.dfx-hangar-status{flex:1;min-width:0;font-size:var(--fs-sm);color:var(--warn);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfx-hangar-status.danger{color:var(--danger);font-weight:800}.dfx-hangar-back{flex:none;min-height:var(--touch-min);padding:0 var(--sp-4)}.dfx-hangar-me{grid-area:me;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto auto;gap:2px;align-content:end;padding:var(--sp-2);background:var(--bg-glass);border:1px solid var(--line);border-top:3px solid var(--rc)}.dfx-hangar-portrait{width:100%;height:100%;min-height:0;object-fit:contain;object-position:center bottom}@media(min-height:500px){.dfx-hangar-me{align-self:end}.dfx-hangar-portrait{height:min(52vh,440px)}}.dfx-hangar-me b{color:var(--rc);font-size:var(--fs-md)}.dfx-hangar-me small{color:var(--text-2);font-size:var(--fs-2xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfx-hangar-me small:empty{display:none}.dfx-hangar-progress{width:100%;height:8px;accent-color:var(--accent)}.dfx-hangar-cards{grid-area:cards;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.dfx-hangar-card{display:grid;gap:var(--sp-1);align-content:start;padding:var(--sp-2) 10px;background:var(--bg-glass);border:1px solid var(--line);border-top:3px solid var(--rc);font-size:var(--fs-sm)}.dfx-hangar-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.dfx-hangar-card b{color:var(--rc);font-size:var(--fs-lg);white-space:nowrap}.dfx-hangar-n{color:var(--text);font-size:var(--fs-sm);white-space:nowrap}.dfx-hangar-card small{color:var(--text-2);font-size:var(--fs-2xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfx-hangar-card small.dfx-hangar-miss{color:var(--warn)}.dfx-hangar-card.missing{border-color:var(--warn);border-top-color:var(--rc)}.dfx-hangar-card.selected{border-color:var(--rc)}.dfx-hangar-card button{min-height:44px;justify-content:center}.dfx-hangar-gear{grid-area:gear;align-self:start;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--bg-glass);border:1px solid var(--line)}.dfx-hangar-gear strong{color:var(--accent);white-space:nowrap}.dfx-hangar-gear>small{color:var(--text-2);font-size:var(--fs-2xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfx-gear-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-1)}.dfx-gear-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-1);min-width:0;min-height:var(--touch-min);padding:2px var(--sp-2);background:var(--bg-field);border:1px solid var(--line-soft);border-radius:var(--r-sm);color:var(--text-2);font:inherit;font-size:var(--fs-xs);text-align:left}.dfx-gear-chip.on{color:var(--text);border-color:var(--accent)}button.dfx-gear-chip:not(:disabled){cursor:pointer;color:var(--text)}button.dfx-gear-chip:not(:disabled):hover{border-color:var(--accent)}button.dfx-gear-chip:disabled:not(.on){opacity:.55}.dfx-gear-chip.locked{opacity:.7;border-style:dashed}.dfx-gear-text{display:grid;min-width:0;line-height:1.25}.dfx-gear-name,.dfx-gear-use{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfx-gear-use{color:var(--text-2);font-size:var(--fs-2xs)}.dfx-gear-chip.locked .dfx-gear-use{color:var(--warn)}.dfx-gear-pips{display:flex;gap:3px;flex:none}.dfx-gear-pips i{width:8px;height:8px;border-radius:var(--r-xs);border:1px solid var(--line-soft)}.dfx-gear-pips i.stock{border-color:var(--accent)}.dfx-gear-pips i.mine{background:var(--accent);border-color:var(--accent)}.dfx-hangar-head,.dfx-hangar-me,.dfx-hangar-card,.dfx-hangar-gear{border-radius:var(--r-sm)}.dfx-hangar-title{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md)}.dfx-hangar-alert{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-xs);background:var(--bg-raised);border:1px solid var(--line);border-left:3px solid var(--warn);color:var(--warn)}.dfx-hangar-alert.danger{border-left-color:var(--danger);color:var(--danger)}.dfx-hangar-alert .dfx-hangar-status{flex:1}.dfx-hangar-back{gap:var(--sp-1)}.dfx-hangar-me{position:relative}.dfx-hangar-me-ico{--ico: var(--ico-md);position:absolute;top:var(--sp-2);left:var(--sp-2);box-sizing:content-box;padding:5px;border-radius:50%;background:var(--bg-raised);border:2px solid var(--rc);color:var(--rc)}.dfx-hangar-card-head{align-items:center;justify-content:flex-start}.dfx-hangar-card-ico{--ico: var(--ico-lg);color:var(--rc)}.dfx-hangar-n{margin-left:auto;display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--text-2)}.dfx-hangar-n .num,.dfx-hangar-me small,.dfx-gear-use{font-variant-numeric:tabular-nums}.dfx-hangar-miss{display:flex;align-items:center;gap:var(--sp-1)}.dfx-gear-chip{justify-content:flex-start}.dfx-gear-ico{color:var(--text-2)}.dfx-gear-chip.on .dfx-gear-ico{color:var(--accent)}.dfx-gear-chip.locked .dfx-gear-ico{color:var(--warn)}.dfx-gear-text{flex:1}@media(max-width:700px){.dfx-gear-chip .dfx-gear-ico,.dfx-gear-chip.locked .dfx-gear-pips{display:none}}.dfx-hangar-me>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-height:499px){.dfx-hangar{gap:var(--sp-1);padding-top:max(var(--sp-2),env(safe-area-inset-top));padding-bottom:max(var(--sp-2),env(safe-area-inset-bottom));grid-template-columns:minmax(140px,21%) minmax(0,1fr)}.dfx-hangar-gear{padding:var(--sp-1) var(--sp-2)}.dfx-hangar-gear>small{display:none}.dfx-hangar-card{padding:var(--sp-1) var(--sp-2);gap:2px}.dfx-hangar-card b{font-size:var(--fs-md)}}.dfx>*{pointer-events:auto}.dfx-stick{position:absolute;bottom:calc(var(--u) * 16);width:calc(var(--u) * 120);height:calc(var(--u) * 120);box-sizing:border-box;border-radius:50%;border:calc(var(--u) * 2) solid var(--line-hi);background:radial-gradient(circle,var(--bg-raised) 0%,var(--bg-glass) 72%);display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;color:var(--text)}.dfx-stick-knob{grid-area:1 / 1;width:46%;height:46%;border-radius:50%;border:calc(var(--u) * 1.5) solid var(--line-hi);background:var(--bg-deep);box-shadow:0 calc(var(--u) * 2) calc(var(--u) * 8) var(--shadow);pointer-events:none}.dfx-stick.held{border-color:var(--text)}.dfx-stick.off{opacity:.4}.dfx-move{left:max(calc(var(--u) * 24),env(safe-area-inset-left))}@media(hover:hover)and (pointer:fine){.dfx-move{display:none}}.dfx-act{right:max(calc(var(--u) * 24),env(safe-area-inset-right))}.dfx-act b,.dfx-act span,.dfx-act em{grid-area:1 / 1;z-index:1;pointer-events:none}.dfx-act b{font:800 calc(var(--u) * 13) var(--f-display);align-self:center;transform:translateY(calc(var(--u) * -7))}.dfx-act span{font:700 calc(var(--u) * 12) var(--f-mono);color:var(--role-cmd);transform:translateY(calc(var(--u) * 10))}.dfx-act em{font:700 calc(var(--u) * 9.5) var(--f-body);font-style:normal;color:var(--text-dim)}.dfx-act .dfx-act-up{align-self:start;margin-top:calc(var(--u) * 6)}.dfx-act .dfx-act-down{align-self:end;margin-bottom:calc(var(--u) * 6)}.dfx-act.crouched{border-color:var(--accent)}.dfx-act.crouched .dfx-act-down{color:var(--accent)}.dfx-act.hit{animation:dfx-hit .18s ease-out}@keyframes dfx-hit{0%{box-shadow:0 0 0 calc(var(--u) * 10) var(--tap-glow);transform:scale(.94)}to{box-shadow:0 0 0 0 var(--tap-glow);transform:scale(1)}}.dfl{position:fixed;inset:0;z-index:var(--z-lobby);background:var(--bg-deep);display:flex;flex-direction:column;gap:calc(var(--u) * 8);box-sizing:border-box;padding:max(calc(var(--u) * 10),env(safe-area-inset-top)) max(calc(var(--u) * 44),env(safe-area-inset-right)) max(calc(var(--u) * 10),env(safe-area-inset-bottom)) max(calc(var(--u) * 44),env(safe-area-inset-left))}.dfl-bar{display:flex;align-items:center;gap:calc(var(--u) * 10);background:var(--bg-glass);border:1px solid var(--line);padding:calc(var(--u) * 6) calc(var(--u) * 10)}.dfl-stencil{font:700 calc(var(--u) * 9) var(--f-mono);letter-spacing:.2em;color:var(--text-dim)}.dfl-code{font:800 calc(var(--u) * 16) var(--f-mono);letter-spacing:.2em}.dfl-tag{color:var(--accent);margin-left:auto;font-size:calc(var(--u) * 11)}.dfl-count{font-size:calc(var(--u) * 11);color:var(--text-2)}.dfl-copy{flex:none}.dfl-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:safe center;gap:calc(var(--u) * 8);overflow-y:auto}.dfl-dock{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--u) * 8) calc(var(--u) * 12)}.dfl-dock>*{flex:1 1 100%}.dfl-ask{display:flex;align-items:center;gap:calc(var(--u) * 8);background:var(--bg-glass);border:1px solid var(--warn);padding:calc(var(--u) * 4) calc(var(--u) * 10);font-size:calc(var(--u) * 11)}.dfl-ask-line{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.dfl-ask-name{color:var(--text);font-weight:800}.dfl-ask-note{color:var(--text-dim)}.dfl-ai-label{color:var(--text-2)}.dfl-ai-note{color:var(--text-dim);font-size:calc(var(--u) * 10)}.dfl-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2)}.dfl-foot>.btn{min-width:120px}.dfl-start:after{content:" (" attr(data-count) ")"}.dfl-rotate-note{display:none}@media(orientation:portrait)and (pointer:coarse){.dfl-rotate-note{display:block;text-align:right;font-size:var(--fs-sm);font-weight:700;color:var(--accent)}.dfl-rotate-note:before{content:"⟳ "}}.dfr{--rc: var(--line-hi);position:fixed;inset:0;z-index:var(--z-result);background:linear-gradient(90deg,var(--bg-deep) 0 55%,var(--bg-glass));color:var(--text);font-family:var(--f-body);display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:calc(var(--u) * 14);overflow-y:auto;padding:max(calc(var(--u) * 18),env(safe-area-inset-top)) max(calc(var(--u) * 20),env(safe-area-inset-right)) max(calc(var(--u) * 16),env(safe-area-inset-bottom)) max(calc(var(--u) * 20),env(safe-area-inset-left))}.dfr-col,.dfr-side{display:grid;gap:calc(var(--u) * 8);align-content:start;min-width:0}.dfr-tag{justify-self:start;font-size:calc(var(--u) * 11);padding:calc(var(--u) * 2) calc(var(--u) * 8);border:1px solid currentColor}.dfr.win .dfr-tag{color:var(--ok)}.dfr.lost .dfr-tag{color:var(--danger)}.dfr-title{font:800 calc(var(--u) * 28) var(--f-display);line-height:1.1;word-break:keep-all;overflow-wrap:anywhere}.dfr-cause{font-size:calc(var(--u) * 12);color:var(--text-2)}.dfr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u) * 6)}.dfr-cell{background:var(--bg-glass);border:1px solid var(--line);padding:calc(var(--u) * 7)}.dfr-k{font-size:calc(var(--u) * 9.5);color:var(--text-dim)}.dfr-v{font:800 calc(var(--u) * 15) var(--f-mono)}.dfr-v.ore{color:var(--accent)}.dfr-spark{display:grid;grid-template-columns:auto minmax(0,1fr);gap:calc(var(--u) * 8);align-items:end;background:var(--bg-glass);border:1px solid var(--line);padding:calc(var(--u) * 16) calc(var(--u) * 8) calc(var(--u) * 6)}.dfr-spark-k{font-size:calc(var(--u) * 9.5);color:var(--text-dim)}.dfr-bars{position:relative;height:calc(var(--u) * 40);display:flex;align-items:flex-end;gap:1px}.dfr-bar{flex:1 1 0;min-width:0;height:calc(var(--v) * 100%);background:var(--ok);opacity:.8}.dfr-bar.low{background:var(--danger)}.dfr-boss{position:absolute;top:0;bottom:0;left:calc(var(--v) * 100%);border-left:1px dashed var(--warn)}.dfr-boss em{position:absolute;bottom:100%;left:0;transform:translate(calc(var(--v) * -100%));font-style:normal;font-size:calc(var(--u) * 9);color:var(--warn);white-space:nowrap}.dfr-wait{font-size:calc(var(--u) * 12);color:var(--warn)}.dfr-wait[hidden]{display:none}.dfr-acts{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 8)}.dfr-acts .btn{min-width:0}.dfr-side-h{font-size:calc(var(--u) * 12);color:var(--text-2)}.dfr-table{display:grid;gap:calc(var(--u) * 3);background:var(--bg-glass);border:1px solid var(--line);padding:calc(var(--u) * 6)}.dfr-tr{display:grid;grid-template-columns:minmax(0,2fr) repeat(5,minmax(0,1fr));gap:calc(var(--u) * 4);align-items:center;font:700 calc(var(--u) * 12) var(--f-mono);border-left:calc(var(--u) * 3) solid var(--rc);padding:calc(var(--u) * 3) 0 calc(var(--u) * 3) calc(var(--u) * 6)}.dfr-th{border-left-color:transparent;font:400 calc(var(--u) * 9.5) var(--f-body);color:var(--text-dim)}.dfr-td{min-width:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfr-who{display:grid;text-align:left}.dfr-th .dfr-td:first-child{text-align:left}.dfr-tr.ai{color:var(--text-2)}.dfr-chip{font:400 calc(var(--u) * 11) var(--f-body)}.dfr-badge{font:800 calc(var(--u) * 10) var(--f-body);color:var(--accent)}.dfr .dfr-tag{display:inline-flex;align-items:center;gap:var(--sp-1);border:0;border-radius:var(--r-pill);font-weight:800;color:var(--on-accent)}.dfr.win .dfr-tag{color:var(--on-accent);background:var(--ok)}.dfr.lost .dfr-tag{color:var(--on-accent);background:var(--danger)}.dfr-cell{border-radius:var(--r-sm)}.dfr-k{display:flex;align-items:center;gap:var(--sp-1)}.dfr-k .ico-box{color:var(--text-2)}.dfr .num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.dfr-spark,.dfr-table{border-radius:var(--r-sm)}.dfr-spark-k{display:inline-flex;align-items:center;gap:var(--sp-1)}.dfr-spark-k .ico-box{color:var(--accent)}.dfr-side-h{display:inline-flex;align-items:center;gap:var(--sp-1)}.dfr-acts .btn{gap:var(--sp-2)}.dfr-who-line{display:flex;align-items:center;gap:var(--sp-1);min-width:0}.dfr-role-ico{color:var(--rc)}@media(orientation:landscape)and (min-width:600px){.dfr{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:calc(var(--u) * 24);padding-left:max(calc(var(--u) * 44),env(safe-area-inset-left),calc((100% - 1120px)/2));padding-right:max(calc(var(--u) * 28),env(safe-area-inset-right),calc((100% - 1120px)/2))}.dfr-side{padding-top:calc(var(--u) * 6)}}.dfx-settings{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:var(--sp-4);background:var(--scrim)}.dfx-settings[hidden]{display:none}.dfx-settings-panel{box-sizing:border-box;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:var(--sp-5);border:1px solid var(--line-hi);border-radius:10px;background:var(--bg-deep);box-shadow:0 16px 70px var(--shadow)}.dfx-settings-panel:focus{outline:none}.dfx-settings-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-5)}.dfx-settings-head h2{margin:0;font-size:var(--fs-2xl)}.dfx-settings-note{margin:var(--sp-4) 0 0;font-size:var(--fs-sm);color:var(--text-2)}@media(pointer:coarse){.btn.s-sm,.btn.s-md{min-height:var(--touch-min)}.btn.icon.s-sm,.btn.icon.s-md{min-width:var(--touch-min)}}@media(max-height:499px){.dfl{gap:calc(var(--u) * 6)}.dfl-bar{padding-block:calc(var(--u) * 2)}}@media(max-width:599px){.dfl{padding-inline:max(var(--sp-4),env(safe-area-inset-left)) max(var(--sp-4),env(safe-area-inset-right))}.dfl{gap:var(--sp-2)}.dfl-tag,.dfl-ai-note{display:none}.dfl-count{margin-left:auto;font-size:var(--fs-sm)}.dfl-foot{flex-wrap:wrap;gap:var(--sp-2)}.dfl-foot>.btn{flex:1;min-width:0}.dfr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dfx-hangar{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 1fr;grid-template-areas:"head" "me" "gear" "cards";overflow-y:auto}.dfx-hangar-me{grid-template-columns:64px minmax(0,1fr);grid-template-rows:none;grid-auto-rows:auto;column-gap:var(--sp-2)}.dfx-hangar-portrait{grid-row:1 / span 4;height:80px}.dfx-gear-list,.dfx-hangar-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dfx-hangar-cards{align-self:end}}.dfr-chip{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-rotate{display:none}@media(orientation:portrait)and (pointer:coarse){.ui-rotate{position:fixed;inset:0;z-index:var(--z-rotate);display:grid;place-content:center;justify-items:center;gap:var(--sp-2);padding:var(--sp-6);background:var(--scrim-strong);color:var(--text);text-align:center}.ui-rotate p{margin:0;font:800 var(--fs-2xl) var(--f-display)}.ui-rotate small{color:var(--text-2);font-size:var(--fs-md)}.ui-rotate-icon{font-size:var(--fs-4xl);color:var(--accent)}}.dfx-hangar-turn{display:none}.dfx-hangar-me.live3d{background:linear-gradient(to bottom,transparent 0 55%,var(--bg-glass) 85%);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.dfx-hangar-me.live3d .dfx-hangar-portrait{visibility:hidden}.dfx-hangar-me.live3d .dfx-hangar-turn{display:block;justify-self:center;color:var(--text-dim)}.dfl-list{flex:none;padding:1px var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:800;border:1px solid var(--line);color:var(--text-2)}.dfl-list-listed{background:var(--ok);border-color:var(--ok);color:var(--on-accent)}.dfl-list-failed{border-color:var(--warn);color:var(--warn)}.dfl-main{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-3)}.dfl-people,.dfl-side{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:var(--sp-2);padding:var(--sp-3);background:var(--bg-glass);border:1px solid var(--line-soft);border-radius:var(--r-lg)}.dfl-h{margin:0;font-size:var(--fs-sm);font-weight:700;color:var(--text-dim)}.dfl-table{display:grid;gap:var(--sp-1)}.dfl-tr{display:grid;grid-template-columns:40px minmax(0,1.4fr) minmax(0,1fr) 150px 120px;align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-2);min-height:52px;background:var(--bg-raised);border:1px solid var(--line-soft);border-radius:var(--r-md)}.dfl-tr.me{border-color:var(--accent)}.dfl-tr.empty{background:transparent;border-style:dashed;color:var(--text-dim)}.dfl-tr.empty .dfl-name-t{color:var(--text-dim);font-weight:600}.dfl-tr.empty .pm{opacity:.45}.dfl-tr.dfl-tr.empty{min-height:0;padding-block:2px}.dfl-tr.empty .dfl-sub{display:none}.dfl-tr.empty .dfl-ava.dfl-ava-empty{width:26px;height:26px;justify-self:center}.dfl-seats .dfl-tr{grid-template-columns:40px minmax(0,1fr) auto}.dfl-tr.ai{border-style:dashed}.dfl-tr.ai .dfl-ava{width:30px;height:30px;justify-self:center;opacity:.85}.dfl-tr.ai.ai{min-height:0;padding-block:2px}.btn.dfl-seat-btn{min-width:72px}@media(pointer:coarse){.btn.dfl-seat-btn{min-height:var(--touch-min)}}.dfl-ava.dfl-ava-empty{box-sizing:border-box;display:block;background:transparent;border:1px dashed var(--line-soft)}.dfl-th{min-height:0;padding-block:0;background:none;border-color:transparent;font-size:var(--fs-xs);font-weight:700;color:var(--text-dim)}.dfl-ava{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:50% 8%;background:var(--bg-deep);border:2px solid var(--line)}.dfl-tr.me .dfl-ava{border-color:var(--accent)}.dfl-who{display:grid;gap:2px;min-width:0}.dfl-name{display:flex;align-items:center;gap:var(--sp-1);min-width:0;font-size:var(--fs-md);font-weight:800}.dfl-name-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfl-tagchip{flex:none;padding:0 var(--sp-1);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:700;color:var(--text-2)}.dfl-sub,.dfl-path small{font-size:var(--fs-xs);color:var(--text-dim)}.dfl-path{display:grid;gap:1px;min-width:0;font-size:var(--fs-sm);color:var(--text-2)}.dfl-path>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfl-path.same>span:first-child{color:var(--ok);font-weight:700}.dfl-lat{--lat: var(--text-dim);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 var(--sp-2);color:var(--lat)}.dfl-bars{display:flex;align-items:flex-end;gap:2px;height:16px}.dfl-bars i{width:4px;border-radius:1px;background:var(--line-soft)}.dfl-bars i:nth-child(1){height:5px}.dfl-bars i:nth-child(2){height:9px}.dfl-bars i:nth-child(3){height:13px}.dfl-bars i:nth-child(4){height:16px}.lat-good .dfl-bars i,.lat-ok .dfl-bars i:nth-child(-n+3),.lat-bad .dfl-bars i:nth-child(1){background:var(--lat)}.lat-base .dfl-bars{visibility:hidden}.dfl-ms{font:800 var(--fs-lg) var(--f-mono);white-space:nowrap}.dfl-q{grid-column:1 / -1;font-size:var(--fs-2xs);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfl-spark{--lat: var(--text-dim);display:flex;align-items:flex-end;gap:1px;height:28px;overflow:hidden}.dfl-spark i{--spark-h: 0;flex:0 0 3px;height:calc(var(--spark-h) * 1%);border-radius:1px;background:var(--lat);opacity:.85}.dfl-hint{margin:0;font-size:var(--fs-xs);line-height:1.5;color:var(--text-dim)}.dfl-big{--lat: var(--text-dim);display:grid;gap:2px}.dfl-big-n{font:800 var(--fs-4xl) var(--f-mono);color:var(--lat)}.dfl-big-t{font-size:var(--fs-sm);color:var(--text-2)}.dfl-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);color:var(--text-2)}.dfl-kv b{text-align:right;color:var(--text)}.dfl-latwarn{padding:var(--sp-2);border-left:3px solid var(--warn);background:var(--bg-raised);border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.5;color:var(--text-2)}.dfl-ai{display:grid;gap:var(--sp-1);font-size:var(--fs-sm)}.dfl-ai-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-1)}.lat-good{--lat: var(--ok)}.lat-ok{--lat: var(--warn)}.lat-bad{--lat: var(--danger)}.lat-wait,.lat-base{--lat: var(--text-dim)}@media(max-height:499px){.dfl-main{grid-template-columns:minmax(0,1fr) 220px;gap:var(--sp-2)}.dfl-people,.dfl-side{padding:var(--sp-2);gap:var(--sp-1)}.dfl-tr{grid-template-columns:32px minmax(0,1fr) 96px 88px;min-height:var(--touch-min);padding-block:2px}.dfl-th,.dfl-spark,.dfl-q,.dfl-sub,.dfl-path small,.dfl-kv,.dfl-side .dfl-hint,.dfl-ai-note,.dfl-latwarn{display:none}.dfl-ava{width:28px;height:28px}.dfl-big-n{font-size:var(--fs-2xl)}.dfl-side .dfl-h:not(:first-child){display:none}}@media(max-width:599px){.dfl-main{flex:none;grid-template-columns:minmax(0,1fr)}.dfl-people,.dfl-side{overflow:visible}.dfl-tr{grid-template-columns:32px minmax(0,1fr) 88px}.dfl-th,.dfl-spark,.dfl-path,.dfl-q,.dfl-kv,.dfl-side .dfl-hint{display:none}.dfl-ava{width:28px;height:28px}.dfl-big-n{font-size:var(--fs-2xl)}}.dfl-latbox{display:grid;gap:var(--sp-2)}.dfl-latbox:empty{display:none}.pm{display:inline-grid;place-items:center;flex:none;width:14px;height:14px}.pm .pm-svg{width:100%;height:100%;fill:currentColor;stroke:var(--shadow-hard);stroke-width:1.5;stroke-linejoin:round}.pm.mark-blue{color:var(--mark-blue)}.pm.mark-yellow{color:var(--mark-yellow)}.pm.mark-red{color:var(--mark-red)}.pm.mark-green{color:var(--mark-green)}.pm.mark-purple{color:var(--mark-purple)}.pm.mark-orange{color:var(--mark-orange)}.pm.mark-cyan{color:var(--mark-cyan)}.pm.mark-pink{color:var(--mark-pink)}.pm.mark-white{color:var(--mark-white)}.pm.mark-lime{color:var(--mark-lime)}html,body{margin:0;height:100%;overscroll-behavior:none;background:var(--bg-deep);color:var(--text);font-family:var(--f-body)}#app{min-height:100vh;min-height:100dvh}.start{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(120% 90% at 50% 110%,var(--bg-raised),var(--bg-deep) 70%)}.start-workshop{position:absolute;inset:0;background:url(../start/workshop.webp) 60% center / cover no-repeat;pointer-events:none}.start-workshop[hidden]{display:none}.start-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--scrim) 0%,transparent 58%),linear-gradient(0deg,var(--scrim-strong),transparent 58%)}.start-ui{position:relative;box-sizing:border-box;min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto auto;gap:var(--sp-3);padding:max(calc(var(--sp-8) * 1.2),env(safe-area-inset-top)) max(calc(var(--sp-8) * 1.6),env(safe-area-inset-right)) max(var(--sp-8),env(safe-area-inset-bottom)) max(calc(var(--sp-8) * 1.6),env(safe-area-inset-left))}.start-brand{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);min-width:0}.start-icon{width:72px;height:72px;flex:none;filter:drop-shadow(0 3px 14px var(--shadow))}.start-words{display:grid;min-width:0;gap:var(--sp-2)}.start-title{margin:0;font:800 calc(var(--fs-4xl) * 1.5) var(--f-display);letter-spacing:.12em;line-height:1.05;text-shadow:0 2px 18px var(--shadow)}.start-sub{font:700 var(--fs-md) var(--f-body);color:var(--text-2);letter-spacing:.06em}.start-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);min-width:0}.start-season,.start-beta{padding:3px 8px;border-radius:var(--r-lg);font:700 var(--fs-xs) var(--f-body);white-space:nowrap;border:1px solid var(--line);background:var(--bg-glass)}.start-season{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:800;letter-spacing:.04em}.start-beta{color:var(--accent)}.start-fs{margin-left:auto;align-self:flex-start}.start-brand .btn.start-fs{gap:var(--sp-2);padding:0 var(--sp-3)}.start-fs[hidden]{display:none}.start-fs .ico-box{color:var(--accent)}.start-brand .btn.start-account{margin-left:auto;align-self:flex-start;gap:var(--sp-2);padding:0 var(--sp-3) 0 var(--sp-1);border-radius:var(--r-pill);max-width:240px}.start-account+.start-fs{margin-left:0}.start-account-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-account-go{color:var(--accent);font-weight:800}.start-account-go[hidden]{display:none}.start-avatar{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--bg-raised);color:var(--accent);font:800 var(--fs-sm) var(--f-body)}.start-avatar:empty:before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid var(--text-2)}.start-avatar.lg{width:44px;height:44px;font-size:var(--fs-xl)}.start-avatar.on{border-color:var(--accent)}@media(max-width:599px),(max-height:499px){.start-account-name{display:none}}.start-account-box{display:grid;gap:var(--sp-3);min-width:0}.start-account-card{display:grid;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line-faint);border-radius:var(--r-lg);background:var(--bg-field);min-width:0}.start-account-who{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.start-account-words{display:grid;gap:2px;min-width:0}.start-account-words b{font-size:var(--fs-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-account-foot{display:flex;justify-content:space-between;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line-faint)}.btn.start-prov{width:100%}.start-dock{align-self:end;justify-self:start;display:grid;gap:var(--sp-3);width:min(304px,100%);min-width:0;box-sizing:border-box;margin-bottom:var(--sp-4)}.start-dock[hidden]{display:none}.start-menu{display:grid;gap:var(--sp-3);min-width:0}.start-menu>.btn{width:100%;justify-content:space-between;padding-inline:var(--sp-4);font-size:var(--fs-lg)}.start-menu>.start-play{font-size:var(--fs-xl)}.start-play:after{content:"↗";font-size:var(--fs-xl)}.start-menu>.btn:not(.primary){background:var(--bg-glass)}.start-step{position:relative;display:grid;gap:var(--sp-3);min-width:0;align-content:start}.start-step[hidden]{display:none}.start-lead{margin:0;color:var(--text-2);font-size:var(--fs-md);line-height:1.5}.start-solo{width:100%}.start-hint{margin:calc(var(--sp-1) * -1) 0 0;font-size:var(--fs-sm);color:var(--text-2)}.start-row{display:flex;gap:var(--sp-2)}.start-row>.btn{flex:1;min-width:0;padding-inline:var(--sp-2)}.start-input{min-width:0;min-height:var(--btn-h-lg);box-sizing:border-box;padding:0 var(--sp-3);background:var(--bg-field);color:var(--text);border:1px solid var(--line-soft);border-radius:var(--r-lg);font:600 var(--fs-lg) var(--f-body)}.start-code{flex:1;width:0;min-width:0;font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase}.start-code::placeholder{letter-spacing:normal;text-transform:none}.start-note{font-size:var(--fs-sm);color:var(--text-dim)}.start-rooms-wrap{gap:var(--sp-2)}.start-rooms-note{margin:0}.start-rooms-note[hidden],.start-rooms-wrap[hidden]{display:none}.start-rooms-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.start-rooms-title{margin:0;font:700 var(--fs-md) var(--f-body);color:var(--text-2)}.start-rooms{display:grid;gap:var(--sp-1)}.start-rooms[hidden]{display:none}.start-room{width:100%;min-width:0;min-height:var(--touch-min);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;justify-content:stretch;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-2) var(--sp-3);text-align:left}.start-room>.ico{color:var(--accent)}.start-room-text{display:grid;gap:2px;min-width:0}.start-room-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md)}.start-room-meta{display:flex;align-items:center;gap:var(--sp-2);min-width:0;color:var(--text-2);font-size:var(--fs-xs);font-weight:600}.start-room-same{flex:none;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--ok);color:var(--on-accent);font-weight:800}.start-room-seats{font:700 var(--fs-sm) var(--f-mono);color:var(--text)}.start-room-go{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);border:1px solid var(--accent);color:var(--text);font-size:var(--fs-sm);white-space:nowrap}.start-room.blocked{opacity:.55}.start-room.blocked .start-room-go{border-color:var(--line-faint);color:var(--text-dim)}.start-room:disabled{cursor:default}@media(pointer:coarse){.start-rooms-head>.btn{min-height:var(--touch-min)}}.start-status{min-height:1.4em;font-size:var(--fs-md);color:var(--text-2);text-shadow:0 1px 6px var(--shadow)}.start-status.warn{color:var(--warn)}.start-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-3);min-width:0}.start-legal{grid-column:2;margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px var(--sp-3);font-size:var(--fs-xs);color:var(--text-dim);opacity:.85;text-align:center;text-shadow:0 1px 6px var(--shadow)}.start-version{font-family:var(--f-mono);white-space:nowrap}.start-small{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--sp-3)}.start-family{grid-column:3;justify-self:end;flex:none;white-space:nowrap}.start-family-n{letter-spacing:.06em}.start-family-go{color:var(--accent)}.start-sheet{position:fixed;inset:0;z-index:var(--z-sheet);display:grid;place-items:center;padding:var(--sp-4);background:var(--scrim)}.start-sheet[hidden]{display:none}.start-sheet-panel{box-sizing:border-box;width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;display:grid;gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--line-hi);border-radius:var(--r-lg);background:var(--bg-deep);box-shadow:0 16px 70px var(--shadow)}.start-sheet-panel:focus{outline:none}@media(max-height:499px){.start-sheet{padding:var(--sp-2)}.start-sheet-panel{padding:var(--sp-3) var(--sp-4)}}.start-info-pane{display:grid;gap:var(--sp-3);align-content:start;min-width:0}.start-info-pane[hidden]{display:none}.start-info-h{margin:var(--sp-2) 0 0;font:700 var(--fs-md) var(--f-body);color:var(--text)}.start-info-h:first-child{margin-top:0}.start-info-list{margin:0;padding-left:var(--sp-5);display:grid;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-md);line-height:1.6}.start-info-pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:var(--fs-xs)/1.55 var(--f-mono);color:var(--text-dim);background:var(--bg-field);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--sp-3)}.ui-side-foot .start-status{min-height:0;text-shadow:none}.start-credits{margin:0;display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-md)}.start-credits dt{color:var(--text-dim)}.start-credits dd{margin:0;color:var(--text)}@media(max-width:599px){.start-ui{padding-inline:max(var(--sp-5),env(safe-area-inset-left));padding-top:max(var(--sp-5),env(safe-area-inset-top));padding-bottom:max(var(--sp-4),env(safe-area-inset-bottom))}.start-workshop{background-size:auto 55%;background-position:right 30%;-webkit-mask-image:linear-gradient(180deg,transparent 8%,var(--shadow-hard) 25%,var(--shadow-hard) 56%,transparent 73%);mask-image:linear-gradient(180deg,transparent 8%,var(--shadow-hard) 25%,var(--shadow-hard) 56%,transparent 73%)}.start-shade{background:linear-gradient(0deg,var(--scrim-strong) 0%,transparent 75%),linear-gradient(180deg,var(--scrim),transparent 35%)}.start-title{font-size:var(--fs-3xl);letter-spacing:.1em}.start-icon{width:44px;height:44px}.start-dock{justify-self:stretch;width:100%}.start-footer{grid-template-columns:minmax(0,1fr);justify-items:center;gap:var(--sp-1)}.start-legal,.start-family{grid-column:1;justify-self:center}.start-lead{display:none}.start-credits{grid-template-columns:1fr;gap:2px}.start-credits dd{margin-bottom:var(--sp-2)}}@media(max-height:499px){.start-ui{gap:var(--sp-2);padding-inline:max(var(--sp-5),env(safe-area-inset-left));padding-top:max(var(--sp-3),env(safe-area-inset-top));padding-bottom:max(var(--sp-2),env(safe-area-inset-bottom))}.start-icon{width:36px;height:36px}.start-title{font-size:var(--fs-2xl)}.start-sub{display:none}.start-words{gap:0}.start-dock{gap:var(--sp-2);margin-bottom:0}.start-menu{gap:var(--sp-2)}.start-lead{display:none}.start-menu>.btn{min-height:var(--touch-min)}}.start .btn{--ico: var(--ico-md)}.start :is(.start-opt-title,.start-room){--ico: var(--ico-lg)}.start-choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3)}.btn.start-opt,.btn.start-opt.start-solo{display:grid;justify-items:start;justify-content:stretch;align-content:start;gap:var(--sp-2);min-height:120px;padding:var(--sp-4);text-align:left;border-color:var(--line);white-space:normal}.start-opt-title{display:flex;align-items:center;gap:var(--sp-2);font:800 var(--fs-xl) var(--f-display)}.start-opt-note{color:var(--text-2);font-size:var(--fs-sm);font-weight:500;line-height:1.45}.btn.primary .start-opt-note{color:var(--on-btn-primary)}.start-opt-tag{padding:1px var(--sp-2);border-radius:var(--r-pill);background:var(--ok);color:var(--on-accent);font-size:var(--fs-xs);font-weight:800}.start-coop-nick{margin:0;color:var(--text-dim);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.start-coop-acct{display:flex;align-items:center;gap:var(--sp-2)}.btn.link.start-coop-who{flex:1;min-width:0;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:var(--fs-sm)}.start-coop-login[hidden],.ui-switch.start-verified-only[hidden]{display:none}.start-coop-tabs{display:flex;gap:var(--sp-1);padding:3px;border:1px solid var(--line-faint);border-radius:var(--r-md);background:var(--bg-field)}.start-coop-tabs[hidden]{display:none}.start-coop-tab{min-height:calc(var(--touch-min) - 6px);gap:var(--sp-1);padding:0 var(--sp-3);font-size:var(--fs-sm)}.start-coop-tab[aria-selected=true]{background:var(--btn-on);border-color:var(--btn-on-line);color:var(--text)}.start-coop-body{display:grid;min-height:0}.start-coop-pane{display:grid;gap:var(--sp-2);align-content:start;min-width:0;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-field)}.start-coop-pane[hidden]{display:none}.start-coop-pane.start-coop-list{padding:0;border:0;background:none}.start-rooms-wrap{display:grid}.start-search{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch-min);padding:0 var(--sp-1) 0 var(--sp-3);border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--bg-field);color:var(--text-dim)}.start-search:focus-within{border-color:var(--accent)}.start-search-input{flex:1;min-width:0;min-height:var(--touch-min);border:0;background:none;color:var(--text);font:600 var(--fs-lg) var(--f-body);outline:none}.start-search-input::-webkit-search-cancel-button{display:none}.btn.start-search-clear[hidden]{display:none}.start-rooms-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1)}.btn.start-rooms-new{justify-self:center}.btn.start-rooms-new[hidden],.btn.start-rooms-more[hidden]{display:none}.btn.start-rooms-more{justify-self:center;min-width:50%}.start-room-map{flex:none;padding:0 var(--sp-2);border:1px solid var(--line-soft);border-radius:var(--r-pill);color:var(--text-2)}.start-host-bar{padding-top:var(--sp-3)}.start-host-bar[hidden],.start-status[hidden]{display:none}.start-map{display:grid;gap:2px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--accent);border-radius:var(--r-md);background:var(--bg-field)}.start-map-name{color:var(--text);font-size:var(--fs-md)}.start-map-note{color:var(--text-dim);font-size:var(--fs-xs)}@media(max-width:599px){.start-coop-tab{width:var(--touch-min);padding:0}.start-coop-tab>span{display:none}.start-room-map{display:none}}.btn.start-filter[aria-checked=true]{background:var(--btn-on);border-color:var(--btn-on-line);color:var(--text)}.start-host{width:100%}.start-coop-ip{font-size:var(--fs-xs)}.start-wait{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:var(--sp-2);padding:var(--sp-4);text-align:center;background:var(--bg-glass);border-radius:var(--r-md)}.start-wait[hidden]{display:none}.start-wait-ring{width:56px;height:56px;border-radius:50%;border:4px solid var(--line-faint);border-top-color:var(--accent)}@media(prefers-reduced-motion:no-preference){.start-wait-ring{animation:start-spin 1s linear infinite}}@keyframes start-spin{to{transform:rotate(360deg)}}.start-wait-title{font:800 var(--fs-xl) var(--f-display)}.start-wait-sub,.start-wait-note{color:var(--text-2);font-size:var(--fs-sm)}.start-field{display:grid;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--text-2)}.start-stepper{display:grid;grid-template-columns:var(--touch-min) minmax(0,1fr) var(--touch-min);align-items:center;gap:var(--sp-2)}.start-stepper-b{min-height:var(--touch-min);font-size:var(--fs-xl)}.start-stepper-v{text-align:center;font:800 var(--fs-xl) var(--f-mono);color:var(--text)}.start-make-go{width:100%}@media(max-width:599px){.start-choices{grid-template-columns:1fr}.btn.start-opt{min-height:0}}@media(max-height:499px){.start-coop-nick,.start-coop-ip,.start-rooms-hint{display:none}}@media(max-height:499px){.start-step{gap:var(--sp-2)}.start-coop-pane{padding:var(--sp-2);gap:var(--sp-1)}.start-choice .start-lead,.start-choice .start-hint{display:none}.btn.start-opt{min-height:0;padding:var(--sp-3)}}.start-rooms-head{flex-wrap:wrap}.ui-switch.start-hide-playing{flex:none;width:auto;min-height:0;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-sm)}.start-hide-playing .ui-switch-state{display:none}.btn.start-rooms-hidden{justify-content:flex-start;border-style:dashed;color:var(--text-dim)}@media(pointer:coarse){.ui-switch.start-hide-playing{min-height:var(--touch-min)}}.toon-ui{--bg-deep: var(--toon-paper);--bg-raised: var(--toon-paper-hi);--bg-glass: var(--toon-paper);--bg-field: var(--toon-paper-hi);--text: var(--toon-ink);--text-2: var(--toon-muted);--text-dim: var(--toon-muted);--line-faint: var(--line-hi);--line-mid: var(--line-soft);--line: var(--toon-ink);--accent: var(--toon-accent);--ok: var(--toon-ok);--warn: var(--toon-warn);--danger: var(--toon-danger);--hostile: var(--toon-danger);--role-mine: var(--toon-mine);--role-med: var(--toon-med);--role-tank: var(--toon-tank);--role-cmd: var(--toon-cmd);--btn-primary: var(--toon-ink);--btn-primary-hi: var(--line-soft);--on-btn-primary: var(--toon-paper-hi);--on-accent: var(--toon-paper-hi);--btn-on: var(--toon-ink);--btn-on-line: var(--toon-ink)}.toon-ui .btn,.toon-ui .ui-close,.toon-ui .ui-switch{border-width:2px;box-shadow:0 2px 0 var(--line-soft)}.toon-ui .btn:active,.toon-ui .btn.link{box-shadow:none}.toon-ui .ui-seg [aria-checked=true]{color:var(--toon-paper-hi);background:var(--toon-ink)}.toon-ui .start-brand,.toon-ui .start-ui>.start-status:not(:empty){background:var(--bg-glass);border:2px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3)}.toon-ui .dfx-map,.toon-ui .dtm-chart{background:var(--bg-void)}.toon-ui .dfx-pop{--accent: var(--toon-glow)}.ui-art-tuning{border:1px solid var(--line-mid);border-radius:var(--r-md);padding:var(--sp-2)}.ui-art-tuning summary{cursor:pointer;min-height:var(--touch-min);display:flex;align-items:center;font-weight:700}.ui-art-tuning .ui-range-row{margin-block:var(--sp-2)}.toon-ui .btn.quiet{background:var(--bg-raised);color:var(--text)}.toon-ui .dtm-legend{background:var(--bg-glass)}.toon-ui .start-title{text-shadow:none}.toon-ui .dfx-settings-head{position:sticky;top:0;z-index:1;background:var(--bg-deep)}.graphite-ui.graphite-ui{--bg-deep: var(--toon-ink);--bg-raised: var(--graphite-raised);--bg-glass: var(--graphite-panel);--bg-field: var(--toon-ink);--text: var(--toon-paper-hi);--text-2: var(--graphite-muted);--text-dim: var(--graphite-muted);--line-faint: var(--line-soft);--line-mid: var(--graphite-line);--line: var(--graphite-line);--line-hi: var(--graphite-line);--accent: var(--toon-glow);--ok: var(--graphite-ok);--warn: var(--graphite-warn);--danger: var(--graphite-danger);--hostile: var(--graphite-danger);--role-mine: var(--graphite-mine);--role-med: var(--graphite-med);--role-tank: var(--graphite-tank);--role-cmd: var(--graphite-cmd);--btn-primary: var(--toon-accent);--btn-primary-hi: var(--line-soft);--on-btn-primary: var(--toon-paper-hi);--on-accent: var(--toon-ink);--btn-on: var(--toon-accent);--btn-on-line: var(--toon-glow);color:var(--text)}.graphite-ui :is(.dfx-stat,.dfx-mid,.dfx-body,.dfx-chip,.cr-board,.cr-gauge,.dfx-settings-panel,.dfx-hangar-head,.dfx-hangar-card){border-color:var(--line);border-radius:var(--r-sm);box-shadow:none}.graphite-ui .dfx-party-row{background:var(--bg-field);color:var(--text);border:1px solid var(--line-faint);border-left:2px solid var(--rc);border-radius:var(--r-xs);box-shadow:none}.graphite-ui .dfx-party-row.me{border-color:var(--accent)}.graphite-ui .dfx-party-row:disabled{opacity:1}.graphite-ui .dfx-bar-track{border-color:var(--line-faint);background:var(--bg-void)}.graphite-ui .ui-seg .btn[aria-checked=true]{background:var(--toon-accent);border-color:var(--toon-glow);color:var(--toon-paper-hi)}.graphite-ui .dtm-legend{background:var(--graphite-panel)}.graphite-ui .dfx-map{border-color:var(--graphite-line);box-shadow:none}.graphite-ui :is(.dfx-primary,.dfx-arm,.dfx-skill){box-shadow:none}.graphite-ui .dfx-act,.graphite-ui .dfx-move{box-shadow:none}.graphite-ui :is(.btn,button):not(.dfx-party-row,.ui-swatch,.ui-side-tab){border-width:1px;border-color:var(--line-soft);background:var(--toon-ink);color:var(--toon-paper-hi);border-radius:var(--r-sm);box-shadow:none;font-weight:600}.graphite-ui .btn.primary,.graphite-ui .btn.accent,.graphite-ui .btn[aria-pressed=true],.graphite-ui :is(.btn,button).dfx-primary{background:var(--toon-accent);color:var(--toon-paper-hi);border-color:var(--toon-accent)}.graphite-ui .btn:hover:not(:disabled){border-color:var(--toon-glow)}.graphite-ui .btn.start-prov-kakao{background:var(--brand-kakao);color:var(--on-brand-kakao);border-color:var(--brand-kakao)}.graphite-ui .btn.start-prov-google{background:var(--brand-google);color:var(--on-brand-google);border-color:var(--line)}.graphite-ui .btn.start-prov:hover:not(:disabled){filter:brightness(.95)}.graphite-ui .btn.start-account-delete{color:var(--danger)}.graphite-ui .btn:active:not(:disabled){box-shadow:none;filter:brightness(.9)}.graphite-ui .btn.link{border-color:transparent;background:none;color:var(--text-2);border-radius:var(--r-xs)}.graphite-ui .btn.link:hover:not(:disabled){border-color:transparent;color:var(--text)}.graphite-ui .ui-close,.graphite-ui .ui-switch{border-width:1px;border-radius:var(--r-sm);box-shadow:none}.graphite-ui .dfx-stick{background:color-mix(in srgb,var(--toon-ink) 85%,transparent);color:var(--toon-paper-hi);border-width:1px;border-color:var(--line-soft);box-shadow:none}.graphite-ui .dfx-stick.held{border-color:var(--toon-glow)}.graphite-ui .dfx-stick-knob{background:var(--line-soft);border-width:1px;box-shadow:none}.graphite-ui .dfx-act :is(b,span,em){color:var(--toon-paper-hi)}.graphite-ui .k-count{color:var(--toon-glow)}.graphite-ui.graphite-ui :is(.cr-ring-dome,.cr-slot-btn,.cr-fx-btn){border-radius:var(--r-pill)}.graphite-ui.graphite-ui :is(.cr-ring-dome.mine,.cr-slot-btn.sel){border-color:var(--accent);color:var(--accent)}.graphite-ui.graphite-ui .cr-slot-btn.sel{background:var(--btn-on)}.graphite-ui .start-family,.graphite-ui .start-status:not(:empty){border-width:1px;border-radius:var(--r-sm);box-shadow:none}.graphite-ui .start-brand{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.graphite-ui .start-input{border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:none}.graphite-ui :is(.ui-side,.start-sheet-panel){background:var(--graphite-panel)}.graphite-ui .start-input{background:var(--bg-field);color:var(--text)}.graphite-ui .start-input::placeholder{color:var(--text-2);opacity:1}.graphite-ui .start-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.graphite-ui .start-status{text-shadow:none}.graphite-ui .start-title{color:var(--graphite-title);text-shadow:0 2px 18px var(--shadow)}.graphite-ui .start-menu>.btn:not(.primary){background:var(--bg-field)}.dfx.in-room .dfx-target,.dfx.in-room .dfx-chip,.dfx.in-room .dfx-mid,.dfx.in-room .dfx-act,.dfx.in-room .dfx-move,.dfx.in-room .dfx-hangar{display:none}.dfx>.cr{position:absolute;inset:0;pointer-events:none;color:var(--text)}.cr[hidden],.cr-transit[hidden]{display:none}.cr-board,.cr-fx{pointer-events:auto}.cr-frame{position:absolute;inset:0;color:var(--line-hi);opacity:.6}.cr-frame-svg{width:100%;height:100%;display:block}.cr-strut{stroke-width:calc(var(--u) * 7)}.cr-strut.thin{stroke-width:calc(var(--u) * 4)}.cr-console{fill:var(--bg-deep);stroke:none}.cr.aiming .cr-frame{color:var(--warn)}.cr-gauge{position:absolute;top:max(calc(var(--u) * 8),env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 4) calc(var(--u) * 10);background:var(--bg-glass);border:1px solid var(--line);border-radius:var(--r-md);font-size:calc(var(--u) * 11);white-space:nowrap;max-width:calc(100vw - var(--u) * 460);overflow:hidden}.cr-gauge b{font:800 calc(var(--u) * 15) var(--f-mono)}.cr-ore{color:var(--accent)}.cr-dim{color:var(--text-dim);font-size:calc(var(--u) * 10.5)}.cr-bar{width:calc(var(--u) * 64)}.cr-bar.warn .dfx-bar{background:var(--warn)}.cr-bar.bad .dfx-bar{background:var(--danger)}.cr-board{position:absolute;box-sizing:border-box;background:var(--bg-glass);border:1px solid var(--line);border-radius:var(--r-md);padding:calc(var(--u) * 6) calc(var(--u) * 8);font-size:calc(var(--u) * 11);display:grid;align-content:start;gap:calc(var(--u) * 3);min-height:0}.cr-scroll{overflow:auto;overscroll-behavior:contain}.cr-title{margin:0;font:700 calc(var(--u) * 11) var(--f-display);letter-spacing:.04em;color:var(--accent)}.cr-rows{display:grid;gap:calc(var(--u) * 2)}.cr-rows[hidden]{display:none}.cr-row{display:flex;align-items:center;gap:calc(var(--u) * 6);min-width:0}.cr-row.down .cr-crew{color:var(--danger)}.cr-crew{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-tag{flex:none;color:var(--warn);font-size:calc(var(--u) * 10)}.cr-alerts{padding-top:calc(var(--u) * 3);border-top:1px solid var(--line-faint);color:var(--text-2)}.cr-sit{left:max(calc(var(--u) * 8),env(safe-area-inset-left));top:calc(var(--u) * 8 + var(--btn-h-md) + var(--sp-2));max-height:calc(100% - var(--u) * 16 - var(--btn-h-md) - var(--sp-2));width:calc(var(--u) * 180)}.cr-ring{position:relative;justify-self:center;width:calc(var(--u) * 116);height:calc(var(--u) * 116)}.cr-ring-core{position:absolute;left:50%;top:50%;width:calc(var(--u) * 12);height:calc(var(--u) * 12);transform:translate(-50%,-50%);border-radius:50%;background:var(--role-mine);opacity:.8}.cr-ring-dome{position:absolute;transform:translate(-50%,-50%);width:calc(var(--u) * 32);height:calc(var(--u) * 32);min-height:0;padding:0;border-radius:50%;font:700 calc(var(--u) * 12) var(--f-mono);flex-direction:column;gap:0;line-height:1}.cr-ring-dome.mine{border:calc(var(--u) * 2.5) solid var(--accent);color:var(--accent)}.cr-ring-dome.other{border-color:var(--hostile);color:var(--hostile)}.cr-ring-dome.buildable{border-style:dashed;background:transparent;color:var(--text-2)}.cr-ring-cost{font:600 calc(var(--u) * 8.5) var(--f-mono);color:var(--accent)}.cr-ring-cost.short{color:var(--warn)}.cr-ring-hp{display:block;width:calc(var(--v, 1) * 60%);min-width:calc(var(--u) * 2);height:calc(var(--u) * 2.5);margin-top:calc(var(--u) * 2);border-radius:var(--r-pill);background:var(--ok)}.cr-ring-hp.warn{background:var(--warn)}.cr-ring-hp.bad{background:var(--danger)}.cr-ring-note{color:var(--warn)}.cr-bunkers{padding-top:calc(var(--u) * 3);border-top:1px solid var(--line-faint)}.cr-bunkers .btn.cr-bunker{display:grid;grid-template-columns:auto auto 1fr;grid-template-areas:"ico name dir" "state state state" "hp hp hp";align-items:center;justify-items:start;column-gap:calc(var(--u) * 4);row-gap:0;min-height:max(var(--btn-h-sm),calc(var(--u) * 30));padding:calc(var(--u) * 3) calc(var(--u) * 6);text-align:left;font-size:calc(var(--u) * 10.5)}.cr-bunker .cr-row-ico{grid-area:ico}.cr-bunker-name{grid-area:name}.cr-bunker-dir{grid-area:dir;color:var(--text-2)}.cr-bunker-state{grid-area:state;color:var(--text-2);font-size:calc(var(--u) * 9.5)}.cr-bunker .cr-ring-hp{grid-area:hp}.cr-bunker.building{border-style:dashed}.cr-bunker.hit{border-color:var(--warn)}.cr-bunker.hit .cr-row-ico{color:var(--warn)}.cr-bunker.sel{border:calc(var(--u) * 2) solid var(--accent);box-shadow:0 0 calc(var(--u) * 8) var(--tap-glow)}.cr-bunker-head{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 6)}.cr-ctl.bunker .ui-seg .btn[aria-checked=true]{border-color:var(--line);background:transparent}.cr-note[hidden]{display:none}.cr-ring-dome.locked{background:transparent;border-color:var(--line-faint)}.cr-threats{display:grid;gap:calc(var(--u) * 2);padding-top:calc(var(--u) * 3);border-top:1px solid var(--line-faint)}.cr-threat{display:grid;grid-template-columns:calc(var(--u) * 26) 1fr 1fr;align-items:center;gap:calc(var(--u) * 6)}.cr-threat.boss .cr-threat-dir{color:var(--hostile)}.cr-threat-head{color:var(--text-dim);font-size:calc(var(--u) * 9.5)}.cr-threat-dir{font-weight:700;white-space:nowrap}.cr-threat-key.ground{color:var(--danger)}.cr-threat-key.air{color:var(--warn)}.cr-threat-cell{display:flex;align-items:center;gap:calc(var(--u) * 4);min-width:0}.cr-threat-cell b{font:700 calc(var(--u) * 11) var(--f-mono);min-width:calc(var(--u) * 14);text-align:right}.cr-threat-cell.none{opacity:.4}.cr-threat-track{flex:1 1 auto;height:calc(var(--u) * 5);border-radius:var(--r-pill);background:var(--line-faint);overflow:hidden}.cr-threat-bar{display:block;height:100%;width:calc(var(--v, 0) * 100%);background:var(--danger)}.cr-threat-cell.air .cr-threat-bar{background:var(--warn)}.cr-ctl{right:max(calc(var(--u) * 8),env(safe-area-inset-right));top:max(calc(var(--u) * 8),env(safe-area-inset-top));bottom:max(calc(var(--u) * 8),env(safe-area-inset-bottom));width:calc(var(--u) * 240);display:flex;flex-direction:column}.cr-ctl>*{flex:none}.cr-ctl>.cr-list{flex:1 1 auto}.cr-tabs .btn.s-lg{min-height:var(--btn-h-md);font-size:var(--fs-sm);white-space:nowrap;padding-inline:var(--sp-1);min-width:0}.cr-note{margin:0;color:var(--text-dim);font-size:calc(var(--u) * 10)}.cr-slots{--slot: calc(var(--u) * 32);--r: calc(var(--slot) * 2.1);position:relative;align-self:center;width:calc(var(--slot) + var(--r) * 2);height:calc(var(--slot) + var(--r) * 2);margin-block:calc(var(--u) * 2)}.cr-slots[hidden]{display:none}.cr-slots-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:calc(var(--r) * 2 - var(--slot) * 1.3);height:calc(var(--r) * 2 - var(--slot) * 1.3);display:grid;place-content:center;justify-items:center;gap:2px;border-radius:50%;border:1px solid var(--line-hi);background:var(--bg-deep);color:var(--text-dim);font:700 calc(var(--u) * 11) var(--f-body)}.cr-slots-core small{font-size:var(--fs-2xs);font-weight:500}.cr-slot-btn{--cx: 0;--sy: -1;position:absolute;left:calc(50% + var(--cx) * var(--r));top:calc(50% + var(--sy) * var(--r));transform:translate(-50%,-50%);width:var(--slot);height:var(--slot);min-height:0;padding:0;border-radius:50%;overflow:hidden;flex-direction:column;gap:0;line-height:1;font:700 calc(var(--u) * 12) var(--f-mono)}.cr-slot-btn.empty{border-style:dashed;background:transparent;color:var(--text-2)}.cr-slot-btn{--hpc: var(--ok)}.cr-slot-btn.hp-warn{--hpc: var(--warn)}.cr-slot-btn.hp-bad{--hpc: var(--danger)}.cr-slot-btn.built{border-color:var(--hpc)}.cr-slot-btn.broken{border-style:dashed}.cr-slot-hp{--hp: 1;position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(color-mix(in srgb,var(--hpc) 55%,transparent) calc(var(--hp) * 1turn),transparent 0)}.cr-slot-no,.cr-slot-tier{position:relative}.cr-slot-btn.sel{border:calc(var(--u) * 2.5) solid var(--accent);color:var(--accent);box-shadow:0 0 calc(var(--u) * 8) var(--tap-glow)}.cr-slot-btn.sel .cr-slot-no{color:var(--text)}.cr-slot-tier{font:700 calc(var(--u) * 9) var(--f-mono);color:var(--text)}.cr-slot-btn.broken .cr-slot-tier{color:var(--danger)}.cr-list{display:grid;align-content:start;gap:calc(var(--u) * 4);min-height:0}.cr-slot{display:grid;gap:calc(var(--u) * 1);padding-bottom:calc(var(--u) * 2)}.cr-slot-name{font-weight:700}.cr-slot-what{color:var(--text-2);font-size:calc(var(--u) * 10)}.cr-slot-what.broken{color:var(--danger)}.cr-list .btn.cr-act{flex-direction:column;align-items:flex-start;gap:0;min-width:0;min-height:max(var(--btn-h-sm),calc(var(--u) * 32));padding-inline:calc(var(--u) * 10);text-align:left;font-size:calc(var(--u) * 11.5)}.cr-role{display:block;font-size:calc(var(--u) * 10);color:var(--text-2);font-weight:500}.cr-why{display:block;font-size:calc(var(--u) * 9.5);color:var(--warn);font-weight:500}.cr-marks{position:absolute;inset:0;pointer-events:none;overflow:hidden}.cr-marks[hidden],.cr-mark[hidden]{display:none}.cr-mark{position:fixed;left:0;top:0;display:grid;place-items:center;width:calc(var(--u) * 20);height:calc(var(--u) * 20);border-radius:50%;border:1px solid var(--line-hi);background:var(--bg-glass);color:var(--text-2);font:700 calc(var(--u) * 11) var(--f-mono)}.cr-mark.built{border-color:var(--ok);color:var(--text)}.cr-mark.sel{width:calc(var(--u) * 26);height:calc(var(--u) * 26);border:calc(var(--u) * 2.5) solid var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:0 0 calc(var(--u) * 10) var(--tap-glow)}.cr-fx{position:absolute;left:50%;bottom:max(calc(var(--u) * 10),env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:calc(var(--u) * 8)}.cr-fx-btn{width:calc(var(--u) * 58);height:calc(var(--u) * 58);padding:calc(var(--u) * 4);border-radius:50%;border-width:calc(var(--u) * 2);background:var(--bg-glass);font:700 calc(var(--u) * 11) var(--f-body);line-height:1.15;text-align:center;word-break:keep-all;touch-action:manipulation;user-select:none;-webkit-user-select:none}.cr-fx-tap{width:calc(var(--u) * 84);height:calc(var(--u) * 84);border-color:var(--role-cmd);font-size:calc(var(--u) * 13)}.cr-fx-tap.hit{animation:dfx-hit .18s ease-out}.cr-fx-focus[aria-pressed=true]{border-color:var(--warn);color:var(--warn);background:var(--bg-glass)}.cr-leave,.cr-fx-view[aria-pressed=true]{border-color:var(--accent)}.cr-transit{position:absolute;inset:0;background:var(--bg-void);display:grid;place-content:center;justify-items:center;gap:var(--sp-3);overflow:hidden}.cr-transit-lights{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(var(--u) * 120),var(--line-mid) calc(var(--u) * 120) calc(var(--u) * 128),transparent calc(var(--u) * 128) calc(var(--u) * 240));animation:cr-pass .6s linear infinite}@keyframes cr-pass{0%{transform:translate(0)}to{transform:translate(calc(var(--u) * -240))}}.cr-transit-text{position:relative;margin:0;font:800 calc(var(--u) * 18) var(--f-display)}.cr-transit-bar{position:relative;width:calc(var(--u) * 200);height:calc(var(--u) * 6);background:var(--bg-deep);border:1px solid var(--line-soft)}.cr-transit-fill{display:block;height:100%;width:calc(var(--v, 0) * 100%);background:var(--accent)}@media(prefers-reduced-motion:reduce){.cr-transit-lights{display:none}.cr-fx-tap.hit{animation:none}}@media(pointer:coarse){.cr-ring{width:150px;height:150px}.cr-ring-dome{width:var(--touch-min);height:var(--touch-min);min-height:var(--touch-min)}.cr-slots{--slot: var(--touch-min)}.cr-list .btn.cr-act,.cr-bunkers .btn.cr-bunker,.cr-bunker-back,.cr-tabs .btn.s-lg{min-height:var(--touch-min)}.cr-fx-btn{min-width:var(--touch-min);min-height:var(--touch-min)}.cr-sit{top:calc(var(--u) * 8 + var(--touch-min) + var(--sp-2));max-height:calc(100% - var(--u) * 16 - var(--touch-min) - var(--sp-2))}}@media(max-width:599px){.cr-sit{width:38vw}.cr-ctl{width:46vw}.cr-gauge{display:none}}.dfx-field [hidden]{display:none}.dfx-equip{--v: 0;background:linear-gradient(90deg,var(--accent) calc(var(--v) * 100%),transparent 0)}.dfx>.ui-toast{pointer-events:none;top:calc(var(--u) * 96);bottom:auto}@media(max-height:499px){.cr-ctl{overflow:auto;overscroll-behavior:contain}.cr-ctl>.cr-list{flex:none;overflow:visible}}@media(max-height:499px){.cr-fx{left:calc(50% - var(--u) * 36);gap:calc(var(--u) * 6)}}.cr-gauge{gap:var(--sp-3);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-glass);font-size:var(--fs-xs);white-space:nowrap}.cr .num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.cr-mode{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px var(--sp-2);border-radius:var(--r-pill);background:var(--hostile);color:var(--on-accent);font-size:var(--fs-2xs);font-weight:800}.cr.ops .cr-mode{background:var(--ok)}.cr-g-main{display:inline-flex;align-items:baseline;gap:var(--sp-2)}.cr-g-time{font-size:var(--fs-3xl);font-weight:800;color:var(--text)}.cr-g-time:empty{display:none}.cr-g-wave{font-size:var(--fs-xl);font-weight:800}.cr.ops .cr-g-wave{display:none}.cr-g-sub{font-size:var(--fs-xs)}.cr-g-ore,.cr-g-reactor{display:inline-flex;align-items:center;gap:var(--sp-1);padding-left:var(--sp-3);border-left:1px solid var(--line-faint)}.cr-gauge .cr-ore{font-size:var(--fs-xl);font-weight:800}.cr-g-ore .cr-g-ico{color:var(--accent)}.cr-g-rate{color:var(--ok);font-weight:700}.cr-g-rate.down{color:var(--warn)}.cr-g-reactor .cr-g-ico{color:var(--accent)}.cr-g-reactor .dfx-bar{background:var(--accent)}.cr-g-pct{min-width:2.6em;text-align:right}.dfx .cr-gauge .cr-bar{display:block;flex:none;width:72px;height:8px;border-radius:var(--r-pill);overflow:hidden}.cr-title{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm)}.cr-title-ico{color:var(--accent)}.cr-tabs .btn.s-lg{flex-direction:column;gap:1px;min-height:42px;font-size:var(--fs-2xs);line-height:1.1}.cr-tab-ico{--ico: var(--ico-md);order:-1}.cr-row-ico{color:var(--rc, var(--text-2))}.cr-row.down .cr-row-ico{color:var(--danger)}.cr-row-seat{margin-left:auto;color:var(--role-cmd)}.cr-alerts .cr-row-ico{color:var(--warn)}.cr-threat-key{display:inline-flex;align-items:center;gap:2px}.cr-list .btn.cr-act{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:stretch;column-gap:var(--sp-2);row-gap:0;padding-inline:var(--sp-2)}.cr-act-ico{--ico: var(--ico-lg);grid-row:1 / span 3;color:var(--text-2)}.cr-act-main{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);min-width:0}.cr-act-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-act-price{display:inline-flex;align-items:center;gap:2px;flex:none;color:var(--accent);font-weight:800}.cr-act.quiet .cr-act-price{color:var(--ok)}.cr-list .btn.cr-act.armed{border-color:var(--warn)}.cr-act.armed .cr-act-label,.cr-act.armed .cr-act-ico{color:var(--warn)}.cr-act:disabled .cr-act-price{color:var(--text-dim)}.cr-list .cr-role,.cr-list .cr-why{grid-column:2}.cr.ops .cr-act.can{border-color:var(--accent);background:var(--bg-raised)}.cr.ops .cr-act.can .cr-act-ico{color:var(--accent)}.cr.ops .cr-fx-call:not(:disabled){border-color:var(--ok);color:var(--ok)}.cr.combat .cr-fx-tap{box-shadow:0 0 0 3px var(--tap-glow)}.cr.combat .cr-fx-focus:not(:disabled){border-color:var(--hostile)}.cr-fx-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.cr-fx-ico{--ico: var(--ico-md)}.cr-fx-tap .cr-fx-ico{--ico: var(--ico-lg);color:var(--role-cmd)}.cr-fx-label{font-size:var(--fs-2xs);line-height:1.15}.cr-fx-tap .cr-fx-label{font-size:var(--fs-xs)}@media(pointer:coarse){.cr-g-sub{display:none}.cr-gauge{gap:var(--sp-2);padding:2px var(--sp-2)}.cr-g-time{font-size:var(--fs-xl)}.dfx .cr-gauge .cr-bar{width:40px}.cr-g-ore,.cr-g-reactor{padding-left:var(--sp-2)}.cr-tabs .btn.s-lg{min-height:var(--touch-min)}.cr-tabs{gap:2px}.cr-ctl{width:252px}}@media(pointer:coarse)and (max-width:700px){.cr-g-pct,.cr-mode span{display:none}.cr-ring{width:128px;height:128px}.cr-fx{gap:var(--sp-1);left:calc(50% - 64px)}}.cr.bunker-seat .cr-frame{opacity:1;color:var(--line-hi)}.cr-slit-wall{fill:var(--bg-deep);opacity:.94}.cr-slit-plate{fill:var(--bg-raised);opacity:.9}.cr-slit-edge{stroke:var(--line-hi);stroke-width:calc(var(--u) * 2)}.cr-slit-glow{stroke:var(--accent);stroke-width:calc(var(--u) * 1);opacity:.35}.cr-slit-bolt{fill:var(--line-mid)}.cr-radar{justify-self:center;width:calc(var(--u) * 132);aspect-ratio:1}.cr-radar[hidden],.cr-radar-note[hidden]{display:none}.cr-radar svg{width:100%;height:100%;display:block;overflow:visible}.cr-radar-bg{fill:var(--bg-deep);stroke:var(--line-hi);stroke-width:1}.cr-radar-ring{fill:none;stroke:var(--line-faint);stroke-width:.8}.cr-radar-look{fill:var(--text);opacity:.08}.cr-radar-arc{fill:var(--accent);fill-opacity:.14;stroke:var(--accent);stroke-width:.8;stroke-opacity:.7}.cr-radar-arc.w-flak{fill:var(--ok);stroke:var(--ok)}.cr-radar-arc.w-mortar{fill:var(--warn);stroke:var(--warn)}.cr-radar-no{fill:var(--text-2);font-family:var(--f-mono);font-weight:700;text-anchor:middle}.cr-radar-en{fill:var(--hostile)}.cr-radar-air{fill:none;stroke:var(--hostile);stroke-width:1.2}.cr-radar-me{fill:var(--role-cmd)}.cr-radar-note{color:var(--text-2);text-align:center}.cr.bunker-seat .cr-threats{padding-top:calc(var(--u) * 3);border-top:1px solid var(--line-faint)}.cr.bunker-seat .cr-ctl .ui-seg[hidden],.cr.bunker-seat .cr-fx-btn[hidden]{display:none}.cr-hatch{position:absolute;inset:0;pointer-events:none;visibility:hidden}.cr-hatch:before,.cr-hatch:after{content:"";position:absolute;left:0;right:0;height:50%;background:var(--bg-raised)}.cr-hatch:before{top:0;border-bottom:calc(var(--u) * 3) solid var(--role-mine);transform:translateY(-100%)}.cr-hatch:after{bottom:0;border-top:calc(var(--u) * 3) solid var(--role-mine);transform:translateY(100%)}.cr-hatch.run{visibility:visible}.cr-hatch.run:before{animation:cr-hatch-top .6s ease-in-out both}.cr-hatch.run:after{animation:cr-hatch-bottom .6s ease-in-out both}@keyframes cr-hatch-top{0%{transform:translateY(-100%)}35%,55%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes cr-hatch-bottom{0%{transform:translateY(100%)}35%,55%{transform:translateY(0)}to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.cr-hatch{display:none}}@media(max-height:499px){.cr.bunker-seat .cr-sit>.cr-rows{display:none}.cr.bunker-seat .cr-radar{width:calc(var(--u) * 104)}}.dfx.in-room.in-bunker .dfx-mid{z-index:1;display:flex;left:max(var(--sp-2),env(safe-area-inset-left));right:auto;transform:none;justify-content:flex-start;pointer-events:auto}.dfx.in-room.in-bunker :is(.dfx-primary,.dfx-mid-tools){display:none}.dfx.in-room.in-bunker .cr-sit .dfx-target:not([hidden]){display:grid}.dfx-tactical{position:absolute;inset:0;z-index:var(--z-sheet);pointer-events:auto;background:var(--bg-deep);padding:max(var(--sp-2),env(safe-area-inset-top)) max(var(--sp-2),env(safe-area-inset-right)) max(var(--sp-2),env(safe-area-inset-bottom)) max(var(--sp-2),env(safe-area-inset-left))}.dfx-tactical[hidden]{display:none}.dfx:has(.dfx-tactical:not([hidden])) .ui-rotate{z-index:calc(var(--z-sheet) + 1)}.dfx-tactical-panel{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--text)}.dtm-header{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-2)}.dtm-title{margin:0;font:700 var(--fs-xl) var(--f-display)}.dtm-hint{margin:0;color:var(--text-2);font-size:var(--fs-sm)}.dtm-close{display:flex;align-items:center;gap:var(--sp-1)}.dtm-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--sp-3)}.dtm-chart{min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--bg-field)}.dtm-canvas{display:block;width:100%;flex:1;min-height:0;touch-action:none}.dtm-legend{padding:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2)}.dtm-shortcuts{min-width:0;display:flex;flex-direction:column;gap:var(--sp-2)}.dtm-shortcuts-title{margin:0;font-size:var(--fs-md)}.dtm-go{display:flex;justify-content:space-between;gap:var(--sp-2);min-width:0;text-align:left}.dtm-shortcuts .dtm-go{min-height:64px}.dtm-copy{display:flex;flex-direction:column;min-width:0}.dtm-copy b{font-size:var(--fs-md)}.dtm-copy small{font:400 var(--fs-xs)/1.4 var(--f-body);color:var(--text-2)}.dtm-distance{white-space:nowrap;font:400 var(--fs-xs) var(--f-mono)}.dtm-status{padding-top:var(--sp-2);color:var(--accent);font-size:var(--fs-sm)}@media(max-width:599px),(max-height:499px){.dtm-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(60px,1fr) auto;gap:var(--sp-2)}.dtm-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-1)}.dtm-shortcuts-title{grid-column:1 / -1}.dtm-copy small,.dtm-distance,.dtm-hint{display:none}.dtm-go{justify-content:center}.dtm-shortcuts .dtm-go{min-height:var(--touch-min)}.dtm-go.btn.s-lg{padding:0 var(--sp-2)}.dtm-status{font-size:var(--fs-xs)}.dtm-legend{padding:var(--sp-1);font-size:var(--fs-xs)}}.dtm-header{justify-content:flex-start}.dtm-title-ico{--ico: var(--ico-lg);color:var(--accent)}.dtm-heading{flex:1;min-width:0}.dtm-chart{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.dtm-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3);border-top:1px solid var(--line-faint)}.dtm-key{display:inline-flex;align-items:center;gap:var(--sp-1);white-space:nowrap}.dtm-key-me{color:var(--text)}.dtm-key-ore{color:var(--role-mine)}.dtm-key-dome{color:var(--ok)}.dtm-key-mob{color:var(--hostile)}.dtm-key-boss{color:var(--danger)}.dtm-key>span{color:var(--text-2)}.dtm-north{margin-left:auto;font-family:var(--f-mono)}.dtm-shortcuts-title{color:var(--text-2);font-size:var(--fs-sm);letter-spacing:.04em}.dtm-go.btn{justify-content:flex-start;border-left:3px solid var(--warn)}.dtm-go-ico{--ico: var(--ico-lg);flex:none;color:var(--warn)}.dtm-go-mob .dtm-go-ico,.dtm-go-mob{border-left-color:var(--hostile)}.dtm-go-mob .dtm-go-ico{color:var(--hostile)}.dtm-go-boss{border-left-color:var(--danger)}.dtm-go-boss .dtm-go-ico{color:var(--danger)}.dtm-go .dtm-copy{flex:1}.dtm-go[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.dtm-status{display:flex;align-items:center;gap:var(--sp-1)}@media(max-width:599px),(max-height:499px){.dtm-go.btn{justify-content:flex-start;gap:var(--sp-2)}.dtm-go-ico,.dtm-title-ico{--ico: var(--ico-md)}}.btn.dfx-menu-btn{min-width:var(--touch-min);min-height:var(--touch-min);font-size:var(--fs-2xl);line-height:1}.dfx-menu{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:var(--sp-4);background:var(--scrim)}.dfx-menu[hidden]{display:none}.dfx-menu-panel{box-sizing:border-box;width:min(320px,calc(100vw - 32px));display:grid;gap:var(--sp-2);padding:var(--sp-5);border:1px solid var(--line-hi);border-radius:var(--r-md);background:var(--bg-raised);color:var(--text);box-shadow:0 var(--sp-3) var(--sp-8) var(--shadow)}.dfx-menu-title{margin:0 0 var(--sp-2);font:800 var(--fs-xl) var(--f-display)}.dfx-menu-note{margin:0 0 var(--sp-2);color:var(--text-2);font-size:var(--fs-sm)}.dfx-menu-item{justify-content:center}.dfx-menu-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.dfx-act.dfx-gauge{--g: 0;border-color:transparent;background:radial-gradient(circle closest-side,var(--bg-raised) 0%,var(--bg-glass) calc(100% - var(--sp-1)),transparent calc(100% - var(--sp-1) + .5px)),conic-gradient(var(--accent) calc(var(--g) * 360deg),var(--line-soft) 0)}.dfx-act span{color:var(--accent)}.dfx-act.max,.dfx-primary.max{box-shadow:0 0 0 2px var(--tap-glow)}.dfx-primary{--g: 0;position:relative}.dfx-primary:after{content:"";position:absolute;left:var(--sp-2);right:var(--sp-2);bottom:var(--sp-1);height:3px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent) calc(var(--g) * 100%),var(--line-soft) 0)}.dfx-arrows{position:absolute;inset:0;z-index:1;pointer-events:none}.dfx-arrow{--c: var(--hostile);--at: .5;position:absolute;display:flex;align-items:center;gap:var(--sp-1);color:var(--c);font:700 var(--fs-xs) var(--f-body);white-space:nowrap;pointer-events:none}.dfx-arrow.air{--c: var(--warn)}.dfx-arrow i{width:0;height:0;border:var(--sp-2) solid transparent}.dfx-arrow span{background:var(--bg-glass);border:1px solid var(--c);border-radius:var(--r-xs);padding:1px var(--sp-1)}.dfx-arrow.left{left:calc(max(var(--sp-3),env(safe-area-inset-left)) + 252px);top:calc(var(--at) * 100%)}.dfx-arrow.left i{border-right-color:var(--c);border-left-width:0}.dfx-arrow.right{right:max(var(--sp-1),env(safe-area-inset-right));top:calc(var(--at) * 100%);flex-direction:row-reverse}.dfx-arrow.right i{border-left-color:var(--c);border-right-width:0}.dfx-arrow.bottom{bottom:180px;left:calc(var(--at) * 100%);transform:translate(-50%);flex-direction:column-reverse}.dfx-arrow.bottom i{border-top-color:var(--c);border-bottom-width:0}.dfx-intro{position:absolute;top:30%;left:50%;transform:translate(-50%);background:var(--bg-glass);border:1px solid var(--accent);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);pointer-events:none;white-space:nowrap}.dfx-intro[hidden],.dfx.in-room .dfx-map,.dfx.in-room .dfx-arrows,.dfx.in-room .dfx-intro,.dfx.hangar-open .dfx-map,.dfx.hangar-open .dfx-arrows,.dfx.hangar-open .dfx-intro{display:none}@media(pointer:coarse){.dfx-arrow.bottom{bottom:142px}}.dfx-coach{--cx: 50%;--cy: 28%;position:absolute;z-index:5;top:28%;left:50%;transform:translate(-50%);width:min(300px,calc(100vw - 32px));box-sizing:border-box;display:grid;gap:var(--sp-1);padding:var(--sp-3);background:var(--bg-raised);border:1px solid var(--accent);border-radius:var(--r-md);box-shadow:0 var(--sp-2) var(--sp-6) var(--shadow);color:var(--text)}.dfx-coach.at-target{left:var(--cx);top:var(--cy);transform:none}.dfx-coach[hidden],.dfx.in-room .dfx-coach,.dfx.hangar-open .dfx-coach{display:none}.dfx-coach-n{color:var(--text-dim);font:700 var(--fs-2xs) var(--f-mono)}.dfx-coach-title{font:800 var(--fs-md) var(--f-display);color:var(--accent)}.dfx-coach-text{margin:0;font-size:var(--fs-sm);color:var(--text-2);line-height:1.45}.dfx-coach-row{display:flex;justify-content:flex-end;gap:var(--sp-2)}.dfx-tut{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:var(--sp-4);background:var(--scrim)}.dfx-tut[hidden]{display:none}.dfx.tut-focus>:not(.dfx-tut),body:has(>.dfx.tut-focus)>canvas{filter:blur(3px)}.dfx-tut-card{box-sizing:border-box;width:min(420px,calc(100vw - 32px));display:grid;justify-items:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-5) var(--sp-5);border:1px solid var(--line-hi);border-top:4px solid var(--guide);border-radius:var(--r-md);background:var(--bg-raised);color:var(--text);text-align:center;box-shadow:0 var(--sp-3) var(--sp-8) var(--shadow)}.dfx-tut-badge{--ico: var(--ico-lg);display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--guide) 16%,transparent);color:var(--guide)}.dfx-tut-title{margin:0;font:800 var(--fs-2xl) var(--f-display)}.dfx-tut-text{margin:0;max-width:34ch;color:var(--text-2);font-size:var(--fs-md);line-height:1.5}.dfx-tut-dots{display:flex;gap:var(--sp-2)}.dfx-tut-dots i{width:8px;height:8px;border-radius:var(--r-pill);background:var(--line-soft)}.dfx-tut-dots i.on{width:22px;background:var(--guide)}.dfx-tut-row{display:flex;justify-content:center;gap:var(--sp-2);width:100%}.dfx-tut-row .btn{flex:1 1 0;min-width:0}@media(max-width:599px),(max-height:499px){.dfx-tut-card{gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-3)}.dfx-tut-badge{width:44px;height:44px}.dfx-tut-title{font-size:var(--fs-xl)}.dfx-tut-text{font-size:var(--fs-sm)}}.dfx [data-guide-on]{outline-style:solid!important;outline-width:4px!important;outline-color:var(--guide);outline-offset:3px;animation:guide-on .7s ease-in-out infinite alternate!important}@keyframes guide-on{0%{outline-color:var(--guide);outline-offset:2px;box-shadow:0 0 10px 3px color-mix(in srgb,var(--guide) 55%,transparent)}to{outline-color:var(--guide-hi);outline-offset:8px;box-shadow:0 0 28px 12px color-mix(in srgb,var(--guide) 90%,transparent)}}@media(prefers-reduced-motion:reduce){.dfx [data-guide-on]{animation:none!important;box-shadow:0 0 18px 6px color-mix(in srgb,var(--guide) 80%,transparent)}}.dfx-tut-spot .dfx-coach-title{color:var(--guide)}.dfx-menu-item{position:relative;justify-content:flex-start;gap:var(--sp-2);padding-left:var(--sp-3)}.dfx-menu-panel .dfx-menu-title{display:flex;align-items:center;gap:var(--sp-2)}.dfx-leave-panel{border-left:4px solid var(--danger)}.dfx-leave-panel .dfx-menu-title{color:var(--danger)}.dfx-leave-panel .btn.primary{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.dfx-arrow span{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px var(--sp-2);border-radius:var(--r-pill);background:var(--bg-glass);font:700 var(--fs-xs) var(--f-mono)}.dfx-intro{display:inline-flex;align-items:center;gap:var(--sp-1);top:22%;padding:var(--sp-1) var(--sp-3);border:0;border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font-weight:800}.dfx-coach{border:1px solid var(--line);border-left:3px solid var(--guide);border-radius:var(--r-sm)}@media(pointer:coarse){.dfx-coach,.dfx-coach.at-target{left:50%;top:calc(max(var(--sp-2),env(safe-area-inset-top)) + 64px);transform:translate(-50%);width:min(420px,calc(100vw - 400px));min-width:280px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px var(--sp-2);padding:var(--sp-1) var(--sp-2)}.dfx-coach-n{display:none}.dfx-coach-title{grid-column:1;font-size:var(--fs-sm)}.dfx-coach-text{grid-column:1;font-size:var(--fs-2xs);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dfx-coach-row{grid-column:2;grid-row:1 / 3;flex-direction:column;gap:var(--sp-1)}.dfx-arrow.bottom{bottom:180px}}.dfx-settings-head h2{display:flex;align-items:center;gap:var(--sp-2)}.dfx-menu-item,.dfx-menu-title,.dfx-settings-head h2{--ico: var(--ico-lg)}.dfx-menu-leave{color:var(--danger)}.dfx-settings-head h2 .ico-box{color:var(--accent)}.dfx-arrow span .ico-box{color:var(--c)}.dfx{--edge: max(var(--sp-3), env(safe-area-inset-left));--edge-r: max(var(--sp-3), env(safe-area-inset-right));--edge-t: max(var(--sp-3), env(safe-area-inset-top));--edge-b: max(var(--sp-3), env(safe-area-inset-bottom));--dw: min(268px, 21vw);--sbh: 64px}.dfx:not(.mode-ops) .ph-ops{display:none!important}.dfx .num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.dfx :is(.rail-tab,.dr-head,.dfx-door,.sb-bell){--ico: var(--ico-md)}.dfx :is(.sb-btn,.dfx-skill,.dfx-arm,.dfx-field>.btn,.dfx-mid-tools .btn,.dfx-primary,.ph-por){--ico: var(--ico-lg)}.dfx .dr-x{--ico: var(--ico-sm)}.ph-chip{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--text-2);font-size:var(--fs-xs);white-space:nowrap}.ph-chip[hidden]{display:none}.ph-chip b{color:var(--text)}.ph-chip.warn b{color:var(--warn)}.ph-chip-l{color:var(--text-dim);font-size:var(--fs-2xs)}.dfx .dfx-bar-track{display:block;width:auto;height:6px;flex:1;min-width:0;border-radius:var(--r-pill);background:var(--bg-void);border:1px solid var(--line-faint);overflow:hidden;box-sizing:border-box}.dfx .dfx-bar{display:block;height:100%;width:calc(var(--v, 1) * 100%);background:var(--ok);border-radius:inherit}.ph-bar-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs)}.ph-bar-row>.num{min-width:3.2em;text-align:right}.dfx .sb-badge{position:absolute;right:-4px;top:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--danger);color:var(--on-accent);font-size:var(--fs-2xs);font-weight:800;line-height:16px;text-align:center}.sb-badge[hidden]{display:none}@media(pointer:fine){.dfx .ctl-badge{display:none}}.sb{position:absolute;left:var(--edge);right:var(--edge-r);top:var(--edge-t);display:flex;align-items:flex-start;gap:var(--sp-2);pointer-events:none}.sb>*{pointer-events:auto}.dfx .sb-btn.btn{position:relative;width:40px;height:40px;min-height:0;padding:0;border-radius:50%;background:var(--bg-glass);border:1px solid var(--line);color:var(--text);font-size:var(--fs-xl);flex:none}.dfx .sb-btn.on{border-color:var(--accent);color:var(--accent)}.sb-main{flex:1;min-width:0;display:grid;gap:2px;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-md);background:var(--bg-glass);border:1px solid var(--line)}.sb-row{display:flex;align-items:center;gap:var(--sp-4);min-width:0;white-space:nowrap;overflow:hidden;font-size:var(--fs-sm)}.dfx-tools{position:static;display:flex;gap:var(--sp-2)}.sb-fs{position:relative;display:flex;flex:none}.sb-fs[hidden],.sb-fs-tip[hidden]{display:none}.sb-fs-tip{position:absolute;top:calc(100% + var(--sp-1));right:0;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);background:var(--bg-glass);border:1px solid var(--line);color:var(--text-2);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none}.dfx-wave{display:flex;align-items:center;gap:var(--sp-3)}.ph-mode{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:800;color:var(--on-accent);background:var(--hostile)}.mode-ops .ph-mode{background:var(--ok)}.mode-over .ph-mode{background:var(--accent)}.ph-wave-main{display:flex;align-items:baseline;gap:var(--sp-2)}.ph-wave-ico{align-self:center;color:var(--text-2)}.ph-wave-n{font-size:var(--fs-lg);font-weight:800}.ph-wave-time{font-size:var(--fs-lg);font-weight:800;color:var(--warn)}.ph-wave-time:empty,.ph-wave-sub:empty{display:none}.ph-wave-sub{color:var(--text-2);font-size:var(--fs-xs)}.ph-wave-mix{display:flex;gap:var(--sp-3);padding-left:var(--sp-3);border-left:1px solid var(--line-faint)}.ph-foe .ico-box{color:var(--hostile)}.ph-foe-boss .ico-box,.ph-boss-in .ico-box{color:var(--warn)}.dfx-wave:has(.ph-boss-hp:not([hidden])){flex-wrap:wrap;row-gap:var(--sp-1)}.ph-boss-hp{flex:1 0 100%;display:flex;align-items:center;gap:var(--sp-2);min-width:0}.ph-boss-hp[hidden]{display:none}.ph-boss-hp .ico-box,.ph-boss-name{color:var(--warn)}.ph-boss-name{font-size:var(--fs-xs);white-space:nowrap}.dfx .ph-boss-hp .dfx-bar-track{flex:1 1 auto;min-width:80px;height:7px}.ph-boss-hp .dfx-bar{background:var(--warn)}.ph-boss-hp.enraged .dfx-bar{background:var(--danger)}.ph-boss-hp.enraged .ico-box,.ph-boss-hp.enraged .ph-boss-name{color:var(--danger)}.dfx .dfx-core{display:flex;align-items:center;gap:var(--sp-3);padding-left:var(--sp-3);border-left:1px solid var(--line-faint)}.ph-ore{display:flex;align-items:baseline;gap:var(--sp-1)}.ph-ore-ico{color:var(--accent);align-self:center}.ph-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.dfx-ore{color:var(--accent);font-size:var(--fs-lg);font-weight:800}.ph-rate{color:var(--ok);font-size:var(--fs-xs);font-weight:700}.ph-rate.down{color:var(--warn)}.dfx-core .ph-reactor{min-width:150px}.ph-reactor .ico-box{color:var(--accent)}.ph-reactor .dfx-bar{background:var(--accent)}.dfx .ph-reactor .dfx-bar-track{height:7px}.dfx-core .ph-shield{min-width:110px}.ph-shield .ico-box{color:var(--ok)}.ph-shield .dfx-bar{background:var(--ok)}.dfx .ph-shield .dfx-bar-track{height:7px}.ph-shield.down .ico-box,.ph-shield.down .num{color:var(--danger)}.dfx .sb-bell.btn{position:relative;margin-left:auto;width:30px;height:30px;min-height:0;padding:0;border:0;background:none;color:var(--text-2);font-size:var(--fs-lg);flex:none}.dfx .sb-bell.hot{color:var(--danger)}.sb-alert{display:flex;align-items:center;gap:var(--sp-2);min-width:0;min-height:22px;font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap}.sb-alert .ico-box{color:var(--cc, var(--text-dim))}.sb-alert.lv-danger{--cc: var(--danger)}.sb-alert.lv-warn{--cc: var(--warn)}.sb-alert.lv-info{--cc: var(--accent)}.sb-alert-t{color:var(--cc, var(--text-2));font-weight:700;overflow:hidden;text-overflow:ellipsis}.sb-alert.quiet .sb-alert-t{font-weight:400}.sb-alert-s{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;min-width:0}.dfx .sb-alert-act.btn{min-height:22px;padding:0 var(--sp-2);gap:var(--sp-1);font-size:var(--fs-2xs);background:var(--toon-accent);border-color:var(--accent);margin-left:auto;flex:none}.dfx .sb-alert-act[hidden],.dfx .sb-alert-x[hidden]{display:none}.dfx .sb-alert-x.ui-close{width:22px;height:22px;font-size:var(--fs-sm);flex:none}.dr{position:absolute;top:calc(var(--edge-t) + var(--sbh) + var(--sp-2));width:var(--dw);max-height:calc(100% - var(--edge-t) - var(--sbh) - 190px);display:flex;flex-direction:column;border-radius:var(--r-md);background:var(--bg-glass);border:1px solid var(--line);overflow:hidden}.dr-l{left:var(--edge)}.dr-r{right:var(--edge-r)}.dfx .dr-head.btn{display:flex;align-items:center;justify-content:flex-start;gap:var(--sp-2);width:100%;min-height:40px;padding:0 var(--sp-3);border:0;border-radius:0;background:none;color:var(--text);font-size:var(--fs-sm);flex:none}.dr-ico{color:var(--accent)}.dr-title{font-weight:800}.dr-note{color:var(--text-dim);font-size:var(--fs-2xs);font-weight:600;overflow:hidden;text-overflow:ellipsis;min-width:0}.dr-x{margin-left:auto;color:var(--text-2);transition:transform .2s}.dr-l .dr-x{transform:rotate(180deg)}.dr:not(.open) .dr-x{transform:rotate(90deg)}.dr-body{display:grid;gap:var(--sp-2);align-content:start;padding:0 var(--sp-2) var(--sp-2);overflow:auto;min-height:0;overscroll-behavior:contain}.dr-peek{display:none}.dr:not(.open){width:auto}.dr:not(.open) .dr-body,.dr:not(.open) .dr-note{display:none}.dr:not(.open) .dr-peek{display:grid;gap:3px;padding:0 var(--sp-2) var(--sp-2);font:700 var(--fs-2xs) var(--f-mono);color:var(--text-2)}.dr-peek .pk-row{display:flex;align-items:center;gap:3px}.dr-peek .pm{width:10px;height:10px}.dr-peek .pk-name{width:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dr-peek .pk{display:block;width:44px;height:4px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--ok) calc(var(--v) * 100%),var(--bg-void) 0)}.dr-peek .pk.st-low,.dr-peek .pk.st-down{background:linear-gradient(90deg,var(--danger) calc(var(--v) * 100%),var(--bg-void) 0)}@media(prefers-reduced-motion:reduce){.dr-x{transition:none}}.dfx .dfx-crew{display:grid;gap:var(--sp-1)}.dfx .dfx-crew .ph-head{display:none}.dfx-party-rows{display:grid;gap:var(--sp-1)}.dfx-party-card[hidden]{display:none}.dfx-party-row{box-sizing:border-box;display:grid;gap:3px;width:100%;padding:var(--sp-1) var(--sp-2);background:var(--bg-field);border:1px solid var(--line-faint);border-left:3px solid var(--rc);border-radius:var(--r-xs);color:var(--text);font-size:var(--fs-sm)}.dfx-party-row.pick{cursor:pointer}.dfx-party-row.pick:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dfx-party-row[aria-pressed=true]{border-color:var(--role-med);box-shadow:inset 0 0 0 1px var(--role-med)}.ph-m-head{display:flex;align-items:center;gap:var(--sp-1);min-width:0}.ph-m-sub{display:flex;align-items:center;gap:var(--sp-1);min-width:0;color:var(--text-dim);font-size:var(--fs-2xs)}.ph-m-role{color:var(--rc);font-weight:800;white-space:nowrap}.ph-m-ico{color:var(--rc)}.ph-por-mark{position:absolute;top:-4px;left:-4px}.dfx-party-label{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ph-m-lv{color:var(--text-dim);font-size:var(--fs-2xs)}.ph-m-st{margin-left:auto;color:var(--text-2);font:700 var(--fs-2xs) var(--f-mono);white-space:nowrap}.ph-m-mp[hidden]{display:none}.dfx .ph-m-mp{height:3px}.ph-m-mp .dfx-bar{background:var(--role-tank)}.ph-m-doing{color:var(--text-dim);font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfx-party-row.st-low{border-color:var(--danger);background:var(--bg-raised)}.dfx-party-row.st-low .dfx-bar,.dfx-party-row.down .dfx-bar{background:var(--danger)}.dfx-party-row.st-low .ph-m-st,.dfx-party-row.down .ph-m-st,.dfx-party-row.down .ph-m-ico{color:var(--danger)}.dfx-party-row.st-room .ph-m-st{color:var(--role-cmd)}.dfx-party-row.me .dfx-party-label{color:var(--accent)}.dfx .ph-me.dfx-chip{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-xs);background:var(--bg-field);border:1px solid var(--accent)}.ph-por{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--bg-raised);border:2px solid var(--rc);color:var(--rc);font-size:var(--fs-2xl)}.ph-por-lv{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);padding:0 3px;border-radius:var(--r-xs);background:var(--rc);color:var(--on-accent);font-size:var(--fs-2xs);font-weight:800;white-space:nowrap}.ph-me-body{display:grid;gap:2px;min-width:0}.ph-me-who{display:flex;align-items:center;gap:var(--sp-1);min-width:0;font-size:var(--fs-sm);font-weight:800;color:var(--accent)}.ph-me-who-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ph-me-tag{flex:none;padding:0 4px;border-radius:var(--r-xs);background:var(--accent);color:var(--on-accent);font-size:var(--fs-2xs)}.ph-me-name{font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-hp .ico-box{color:var(--ok)}.ph-me.low .ph-hp .dfx-bar{background:var(--danger)}.dfx .ph-me.low{border-color:var(--danger)}.ph-xp .ico-box{color:var(--accent)}.ph-xp .dfx-bar{background:var(--accent)}.ph-cargo .ico-box{color:var(--role-mine)}.ph-cargo .dfx-bar{background:var(--role-mine)}.dfx .ph-cargo .dfx-bar-track{height:8px}.ph-cargo>.num{color:var(--role-mine);font-weight:800}.ph-cargo.mining .dfx-bar-track{box-shadow:0 0 0 1px var(--role-mine)}.ph-cargo.full .dfx-bar{background:var(--warn)}.ph-cargo.full>.num{color:var(--warn)}@media(prefers-reduced-motion:no-preference){.ph-cargo.mining .dfx-bar{animation:ph-mine-pulse .9s ease-in-out infinite alternate}}@keyframes ph-mine-pulse{0%{opacity:.7}to{opacity:1}}.ph-mine{font-size:var(--fs-2xs);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2)}.ph-mine[data-k=mining]{color:var(--role-mine)}.ph-mine[data-k=full],.ph-mine[data-k=near],.ph-mine[data-k=idle]{color:var(--warn)}.pk-mine{display:none}.dr:not(.open) .pk-mine:not([hidden]){display:grid;gap:1px;padding:0 var(--sp-2) var(--sp-2);font:700 var(--fs-2xs) var(--f-mono);color:var(--role-mine);white-space:nowrap}.pk-mine[data-k=full],.pk-mine[data-k=near]>span,.pk-mine[data-k=idle]>span{color:var(--warn)}.pad{display:grid;grid-template-columns:52px minmax(0,1fr);gap:var(--sp-2);min-height:0}.rail{display:grid;gap:2px;align-content:start}.dfx .rail-tab.btn{position:relative;display:grid;justify-items:center;gap:1px;min-height:0;padding:var(--sp-1) 2px;border:0;border-radius:var(--r-sm);background:none;color:var(--text-2);font-size:var(--fs-lg)}.rail-l{font-size:var(--fs-2xs)}.dfx .rail-tab[aria-selected=true]{background:var(--toon-accent);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.dfx .rail-tab .sb-badge{right:2px;top:2px}.panes{min-width:0}.pane{display:grid;gap:var(--sp-2);align-content:start}.pane[hidden]{display:none}.pane-h{margin-top:var(--sp-1);color:var(--text-dim);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.04em}.pane-list{display:grid;gap:var(--sp-1)}.pane-line{margin:0;font-size:var(--fs-xs);color:var(--text)}.pane-note{margin:0;font-size:var(--fs-2xs);color:var(--text-dim)}.dfx .dfx-base{display:grid;gap:var(--sp-1);font-size:var(--fs-xs)}.ph-base-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.dfx-base-alert{color:var(--danger);font-weight:800;white-space:nowrap}.dfx-base-alert[hidden]{display:none}@media(prefers-reduced-motion:no-preference){.dfx-base.hit .dfx-base-alert{animation:dfx-base-blink 1s steps(2,start) infinite}}.dfx-resource-note{color:var(--text-dim);font-size:var(--fs-2xs)}.dfx .dfx-go{position:static;display:grid;gap:var(--sp-1)}.dfx .dfx-go .btn{position:relative;display:flex;justify-content:flex-start;align-items:center;gap:var(--sp-2);width:100%;min-height:32px;padding:0 var(--sp-2);border-radius:var(--r-sm);background:var(--bg-field);border:1px solid var(--line-faint);color:var(--text);font-size:var(--fs-xs)}.dfx .dfx-go .btn .k-key,.dfx .dfx-go .btn .k-note{display:none}.dfx .dfx-go .btn .k-label{position:static;transform:none;max-width:none;color:var(--text);font-size:var(--fs-xs)}.dfx .dfx-go .btn .k-ico{grid-area:auto;color:var(--warn)}.dfx .dfx-go .btn .k-count{position:static;transform:none;margin-left:auto;color:var(--text-2)}.dfx-go-btn.on{border-color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.ph-ticks{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px}.ph-ticks i{height:8px;border-radius:2px;background:var(--line-faint)}.ph-ticks i.done{background:var(--ok)}.ph-ticks i.now{background:var(--warn)}.ph-ticks i.boss{box-shadow:inset 0 0 0 1px var(--danger)}.ph-ticks i.boss.done{background:var(--danger)}.dfx .dfx-target{position:static;transform:none;width:100%;box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px var(--sp-2);padding:var(--sp-1) var(--sp-2);border:1px solid var(--hostile);border-radius:var(--r-sm);background:var(--bg-field);color:var(--text);font-size:var(--fs-xs);pointer-events:none}.dfx-target[hidden]{display:none}.ph-t-ico{--ico: var(--ico-md);grid-row:span 2;color:var(--hostile)}.dfx-target b,.dfx-target>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfx-target>span{color:var(--text-2)}.foe-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-xs);background:var(--bg-field);font-size:var(--fs-xs)}.foe-row .ico-box{color:var(--hostile)}.foe-row .num{margin-left:auto;color:var(--text-2)}.pane-map{justify-items:center}.dfx .dfx-map{--map-d: 168px;--map-fit: 168px;position:static;width:min(var(--map-d),100%,var(--map-fit));height:auto;aspect-ratio:1;flex:none;border-radius:50%;overflow:hidden;background:var(--bg-field);border:1px solid var(--line);cursor:pointer}.dfx-map canvas{display:block;width:100%;height:100%}.al-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-1) var(--sp-2);align-items:center;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-xs);background:var(--bg-field);border-left:3px solid var(--cc, var(--accent));font-size:var(--fs-xs)}.al-row.lv-danger{--cc: var(--danger)}.al-row.lv-warn{--cc: var(--warn)}.al-ico{color:var(--cc, var(--accent))}.al-t{display:grid;min-width:0}.al-t b{color:var(--text)}.al-t span{color:var(--text-dim);font-size:var(--fs-2xs)}.al-row.lv-danger .al-t b{color:var(--danger)}.dfx .al-act.btn{grid-column:1 / -1;justify-content:center;gap:var(--sp-1);min-height:28px;font-size:var(--fs-xs);background:var(--toon-accent);border-color:var(--accent)}.dfx .dfx-mid{position:absolute;left:50%;bottom:calc(var(--edge-b) + 16px);transform:translate(-50%);display:flex;align-items:flex-end;gap:var(--sp-2);padding:0;border:0;background:none}.dfx-role-actions,.dfx-arms,.dfx-mid-tools,.dfx-field{display:flex;align-items:flex-end;gap:var(--sp-2)}.dfx-field{order:4;padding-left:var(--sp-2);border-left:1px solid var(--line)}.dfx-field:not(.on){display:none}.ph-where{display:none}.dfx-role-actions{order:1}.dfx-arms{order:2}.dfx-primary{order:3}.dfx-mid-tools{order:5}.dfx .dfx-skill.btn[hidden],.dfx .dfx-field>.btn[hidden]{display:none}.dfx .dfx-skill.btn,.dfx .dfx-arm.btn,.dfx .dfx-field>.btn,.dfx .dfx-mid-tools .btn{position:relative;display:grid;place-items:center;width:46px;height:46px;min-height:0;padding:0;border-radius:50%;background:var(--bg-glass);border:1px solid var(--line);color:var(--text);font-size:var(--fs-xl);font-family:var(--f-body)}.dfx .dfx-arm.btn{--v: 0;border-color:var(--hostile)}.dfx .dfx-arm.btn:before{content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(var(--hostile) calc(var(--v) * 360deg),transparent 0);-webkit-mask:radial-gradient(circle,transparent 66%,var(--text) 67%);mask:radial-gradient(circle,transparent 66%,var(--text) 67%);pointer-events:none}.dfx .dfx-field>.btn:not(:disabled){background:var(--toon-accent);border-color:var(--accent)}.dfx .dfx-skill.btn:disabled,.dfx .dfx-arm.btn:disabled,.dfx .dfx-field>.btn:disabled{opacity:.5}.dfx .k-ico{grid-area:1 / 1}.dfx .k-key{position:absolute;right:-4px;top:-6px;display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:3px;background:var(--text);color:var(--bg-deep);font:800 var(--fs-2xs) / 1 var(--f-mono);z-index:1}.dfx .k-key[hidden],.dfx .k-count[hidden],.dfx .k-note[hidden]{display:none}.dfx .btn:not(.dfx-rb):has(>.k-count:not([hidden]))>.k-ico{transform:translateY(-5px)}.dfx .k-count{position:absolute;left:50%;bottom:2px;transform:translate(-50%);font:700 var(--fs-2xs) var(--f-mono);color:var(--warn)}.dfx .k-label,.dfx .k-note{position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%);max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-2xs);color:var(--text-2);font-weight:600;pointer-events:none}.dfx .k-note{color:var(--text-dim)}.dfx .btn:has(>.k-note:not([hidden]))>.k-label{display:none}.dfx .k-cd:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--scrim);pointer-events:none}.dfx .k-cd>.k-note{top:50%;transform:translate(-50%,-50%);z-index:1;color:var(--text);font:800 var(--fs-sm) var(--f-mono)}.dfx .dfx-rb.btn{display:grid;grid-template-rows:auto auto;place-content:center;justify-items:center;row-gap:3px;border-width:1.5px;--ico: var(--ico-md)}.dfx .dfx-rb .k-ico{grid-area:auto}.dfx .dfx-rb .k-label{position:static;transform:none;max-width:40px;overflow:hidden;white-space:nowrap;text-overflow:clip;font:700 var(--fs-2xs) / 1 var(--f-body);letter-spacing:-.02em;color:var(--text)}.dfx .dfx-rb.btn:has(>.k-note:not([hidden]))>.k-label{display:block}.dfx .dfx-rb .k-key{inset:auto auto -7px -9px}.dfx .dfx-rb .k-count{inset:-8px -9px auto auto;transform:none;padding:1px 4px;border-radius:var(--r-pill);background:var(--bg-deep);border:1px solid var(--line);font:700 var(--fs-2xs) / 1 var(--f-mono);color:var(--warn);z-index:1}.dfx .dfx-rb .k-note{top:auto;bottom:calc(100% + 5px);max-width:64px;padding:2px 6px;border-radius:var(--r-pill);background:var(--scrim);border:1px solid var(--line-mid);font:700 var(--fs-2xs) / 1.1 var(--f-body);color:var(--warn);z-index:1}.dfx .dfx-rb.btn:has(>.k-count:not([hidden]))>.k-note:not(:empty){bottom:calc(100% + 13px)}.dfx .dfx-rb.k-cd>.k-note{top:34%;bottom:auto;transform:translate(-50%,-50%);padding:0;background:none;border:0;font:800 var(--fs-sm) var(--f-mono);color:var(--text)}.dfx .dfx-rb.btn:disabled{opacity:1;border-color:var(--line-faint)}.dfx .dfx-rb.btn:disabled>.k-ico{opacity:.45}.dfx .dfx-rb.btn:disabled>.k-label{color:var(--text-2)}.dfx.role-tank .dfx-skill.dfx-rb:not(:disabled){border-color:var(--role-tank)}.dfx.role-miner .dfx-skill.dfx-rb:not(:disabled){border-color:var(--role-mine)}.dfx.role-medic .dfx-skill.dfx-rb:not(:disabled){border-color:var(--role-med)}.dfx-tip{position:absolute;bottom:calc(100% + 34px);width:220px;display:grid;gap:2px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--bg-glass);border:1px solid var(--line-hi);color:var(--text);font-size:var(--fs-xs);line-height:1.45;pointer-events:none;z-index:2}.dfx-tip[hidden]{display:none}.dfx-tip b{font-size:var(--fs-sm)}.dfx-tip span{color:var(--text-2)}.dfx .dfx-primary.btn{--g: 0;position:relative;display:grid;place-items:center;align-content:center;width:64px;height:64px;min-height:0;padding:0;border-radius:50%;border:0;background:radial-gradient(circle at 50% 40%,var(--bg-raised),var(--bg-deep));color:var(--role-cmd);font-size:var(--fs-2xl)}.dfx .dfx-primary.btn:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(var(--role-cmd) calc(var(--g) * 360deg),var(--line) 0);-webkit-mask:radial-gradient(circle,transparent 64%,var(--text) 65%);mask:radial-gradient(circle,transparent 64%,var(--text) 65%)}.dfx .dfx-primary.btn:after{content:none}.dfx .dfx-primary .k-count{position:static;transform:none;font:800 var(--fs-xs) var(--f-mono);color:var(--text)}.dfx .dfx-primary.btn{row-gap:2px}.dfx .dfx-primary .k-ico{grid-area:auto}.dfx .dfx-primary .k-label{position:static;transform:none;max-width:52px;overflow:hidden;white-space:nowrap;font:700 var(--fs-2xs) / 1 var(--f-body);color:var(--text)}.dfx .dfx-primary.btn:has(>.k-note:not([hidden]))>.k-label{display:block}.dfx .dfx-primary .k-note{top:auto;bottom:calc(100% + 10px);padding:2px 6px;border-radius:var(--r-pill);background:var(--scrim);border:1px solid var(--line-mid);font:700 var(--fs-2xs) / 1.1 var(--f-body);color:var(--warn);transform:translate(-50%)}.dfx-act.max,.dfx-primary.max{box-shadow:0 0 0 3px var(--tap-glow)}.km{position:absolute;bottom:var(--edge-b);width:var(--dw);padding:var(--sp-1) var(--sp-2) var(--sp-2);border-radius:var(--r-md);background:var(--bg-glass);border:1px solid var(--line)}.km-l{left:var(--edge)}.km-r{right:var(--edge-r)}.dfx .km-head.btn{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:26px;padding:0;border:0;background:none;color:var(--text-2);font-size:var(--fs-2xs);justify-content:flex-start}.km:not(.open){width:auto;padding-bottom:var(--sp-1)}.km:not(.open) .km-grid{display:none}.km.open .km-head .dr-x{transform:rotate(90deg)}.km-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.km-key{display:grid;gap:1px;padding:3px 4px;border-radius:var(--r-xs);border:1px solid var(--line-faint);font-size:var(--fs-2xs);color:var(--text-dim)}.km-key b{font:800 var(--fs-2xs) var(--f-mono);color:var(--text)}.km-key small{font-size:var(--fs-2xs)}@media(hover:hover)and (pointer:fine){.dfx .dfx-act,.dfx .dfx-move{display:none}}.dfx.hangar-open :is(.dr,.km,.dfx-mid,.sb,.dfx-act,.dfx-move),.dfx.in-room :is(.dr,.km,.dfx-mid){display:none}.dfx.in-room .sb-main,.dfx.in-room .dfx-party-toggle,.dfx.in-room .dfx-ctl-toggle{display:none}.dfx.in-room .sb{justify-content:flex-end}.dfx.intro .dfx-mid{display:none}.cr-sit{top:var(--edge-t)}.cr-ctl{top:calc(var(--edge-t) + 40px + var(--sp-2))}.dfx.hangar-open .ui-toast{display:none}@media(pointer:coarse){.dfx{--edge: max(var(--sp-2), env(safe-area-inset-left));--edge-r: max(var(--sp-2), env(safe-area-inset-right));--edge-t: max(var(--sp-1), env(safe-area-inset-top));--edge-b: max(var(--sp-2), env(safe-area-inset-bottom));--stick: 104px;--dw: min(170px, 20vw);--sbh: 46px}.dfx .sb-btn.btn{width:var(--touch-min);height:var(--touch-min)}.sb-main{padding:2px var(--sp-2)}.sb-row{gap:var(--sp-2);font-size:var(--fs-xs)}.ph-chip-l,.ph-wave-sub,.ph-rate,.dfx-core .ph-reactor .dfx-bar-track,.dfx-core .ph-shield .dfx-bar-track,.sb-alert-s,.dfx .sb-alert-act,.dfx .sb-alert-x,.ph-pending,.ph-boss-in{display:none!important}.dfx-core .ph-reactor,.dfx-core .ph-shield{min-width:0;display:flex;gap:var(--sp-1)}.ph-wave-mix{gap:var(--sp-2);padding-left:var(--sp-2)}.dfx .sb-bell.btn{display:none}.sb-row{line-height:1.2}.sb-main{gap:0;padding:2px var(--sp-2)}.sb-alert{min-height:16px}.dr{max-height:calc(100% - var(--edge-t) - var(--sbh) - var(--stick) - 24px)}.dfx .dr-head.btn{min-height:var(--touch-min);padding:0 var(--sp-2)}.dfx-party-row.pick{min-height:var(--touch-min)}.ph-m-lv,.ph-m-doing{display:none}.pad{grid-template-columns:1fr}.rail{grid-template-columns:repeat(3,minmax(0,1fr))}.dfx .rail-tab.btn{min-height:var(--touch-min)}.rail-l{display:none}.dfx .dfx-map{--map-d: 132px}.dfx .dfx-go .btn,.dfx .al-act.btn{min-height:var(--touch-min)}.km{display:none}.dfx-stick{width:var(--stick);height:var(--stick);bottom:var(--edge-b)}.dfx-move{left:var(--edge)}.dfx-act{right:var(--edge-r)}.dfx .dfx-mid{left:0;right:0;transform:none;justify-content:center;bottom:var(--edge-b);gap:var(--sp-1);pointer-events:none}.dfx .dfx-mid>*{pointer-events:auto}.dfx-role-actions,.dfx-arms,.dfx-mid-tools{gap:var(--sp-1)}.dfx .dfx-primary.btn{display:none}.dfx .dfx-skill.btn,.dfx .dfx-arm.btn,.dfx .dfx-mid-tools .btn{width:var(--touch-min);height:var(--touch-min);font-size:var(--fs-lg)}.dfx .dfx-mid .k-key{display:none}.dfx .dfx-mid .dfx-rb.btn{width:var(--touch-min);height:var(--touch-min);row-gap:2px}.dfx-field{order:0;gap:var(--sp-1);padding:0 var(--sp-1) 0 0;border:0;border-right:1px solid var(--line)}.dfx .dfx-field>.btn{width:var(--touch-min);height:var(--touch-min)}.dfx .dfx-field>.btn:disabled{display:none}}@media(pointer:coarse)and (max-width:700px){.dfx{--stick: 96px}.rail{grid-template-columns:repeat(2,minmax(0,1fr))}.dfx .dfx-mid-tools{display:none}.ph-wave-ico,.ph-foe-boss,.ph-ore-ico{display:none!important}}.dfx .dfx-intro{display:none}.dfx .dfx-coach,.dfx .dfx-coach.at-target{left:auto;right:var(--edge-r);top:calc(var(--edge-t) + var(--sbh) + var(--sp-2));transform:none;width:var(--dw);z-index:6}.dfx .dfx-coach.dock-left{left:var(--edge);right:auto;transform:none}.dfx .dfx-arrow.left{left:2px}.dfx .dfx-arrow.right{right:2px}.dfx .dfx-arrow{z-index:5}.dfx .dfx-arrow.bottom{display:none}.dfx-pops{position:absolute;inset:0;overflow:hidden;pointer-events:none}.dfx-pop{position:absolute;transform:translate(-50%,-100%);font:800 var(--fs-sm) var(--f-mono);color:var(--accent);text-shadow:0 1px 2px var(--shadow);white-space:nowrap;opacity:0;animation:dfx-pop 1.1s ease-out forwards}.dfx-pop.me{font-size:var(--fs-lg)}.dfx-pop.unload{color:var(--ok);font-size:var(--fs-lg)}.dfx-pop.empty{color:var(--text-dim)}.dfx-pop.found{font-size:var(--fs-lg)}.dfx-pop.ore-common{color:var(--ore-common)}.dfx-pop.ore-rare{color:var(--ore-rare)}.dfx-pop.ore-epic{color:var(--ore-epic)}.dfx.in-room .dfx-pops,.dfx.hangar-open .dfx-pops{display:none}@keyframes dfx-pop{0%{opacity:0;translate:0 0}15%{opacity:1}70%{opacity:1}to{opacity:0;translate:0 -36px}}@media(prefers-reduced-motion:reduce){.dfx-pop{animation-name:dfx-pop-still}@keyframes dfx-pop-still{0%,80%{opacity:1}to{opacity:0}}}.dfx-wave-banner{position:absolute;left:0;right:0;top:30%;z-index:6;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);pointer-events:none;overflow:hidden;padding:var(--sp-2) 0}.dfx-wave-banner:before{content:"";position:absolute;left:20%;right:20%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;animation:dfx-wave-line 1.8s ease-out forwards}.dfx-wave-banner .wb-main{position:relative;font:italic 800 calc(var(--u) * 26) var(--f-display);letter-spacing:.06em;color:var(--text);text-shadow:0 0 calc(var(--u) * 8) var(--accent),0 calc(var(--u) * 2) 0 var(--shadow);white-space:nowrap;opacity:0;animation:dfx-wave-glide 1.8s forwards}.dfx-wave-banner .wb-sub{position:relative;font:700 var(--fs-sm) var(--f-mono);letter-spacing:.5em;color:var(--text-2);text-shadow:0 1px 2px var(--shadow);opacity:0;animation:dfx-wave-glide 1.8s .08s forwards}.dfx-wave-banner.boss{top:36%}.dfx-wave-banner.boss:before{left:0;right:0;height:calc(var(--u) * 3);background:linear-gradient(90deg,transparent,var(--alarm) 30%,var(--alarm) 70%,transparent);transform-origin:right center;animation-name:dfx-wave-streak}.dfx-wave-banner.boss .wb-main{font:italic 900 calc(var(--u) * 46) var(--f-display);letter-spacing:.04em;color:var(--alarm);text-shadow:0 0 calc(var(--u) * 14) var(--alarm),0 calc(var(--u) * 3) 0 var(--shadow);animation-name:dfx-wave-fly}.dfx-wave-banner.boss .wb-sub{font:800 var(--fs-lg) var(--f-mono);color:var(--text);animation-name:dfx-wave-fly}.dfx.in-room .dfx-wave-banner,.dfx.hangar-open .dfx-wave-banner{display:none}@keyframes dfx-wave-glide{0%{opacity:0;transform:translate(14%);animation-timing-function:cubic-bezier(.2,.8,.3,1)}22%,74%{opacity:.92;transform:translate(0);animation-timing-function:cubic-bezier(.6,0,.9,.4)}to{opacity:0;transform:translate(-18%)}}@keyframes dfx-wave-line{0%{opacity:0;transform:scaleX(.2)}22%,74%{opacity:.5;transform:scaleX(1)}to{opacity:0;transform:scaleX(1.2)}}@keyframes dfx-wave-fly{0%{opacity:0;transform:translate(110vw) skew(-35deg) scaleX(2.4);filter:blur(6px);animation-timing-function:cubic-bezier(.15,.9,.3,1)}20%{opacity:1;transform:translate(-2%) skew(-10deg) scaleX(1);filter:blur(0);animation-timing-function:ease-out}28%{transform:translate(0) skew(0) scale(1.08)}34%{transform:translate(0) scale(1)}74%{opacity:1;transform:translate(1%) scale(1);filter:blur(0);animation-timing-function:cubic-bezier(.7,0,.9,.3)}to{opacity:0;transform:translate(-130vw) skew(35deg) scaleX(2.8);filter:blur(8px)}}@keyframes dfx-wave-streak{0%{opacity:0;transform:scaleX(0)}18%{opacity:.9;transform:scaleX(1)}40%{opacity:.25}74%{opacity:.25;transform:scaleX(1)}to{opacity:0;transform:scaleX(0) translate(-50%)}}@media(prefers-reduced-motion:reduce){.dfx-wave-banner .wb-main,.dfx-wave-banner .wb-sub,.dfx-wave-banner.boss .wb-main,.dfx-wave-banner.boss .wb-sub{animation-name:dfx-wave-still}.dfx-wave-banner:before{animation:none}@keyframes dfx-wave-still{0%{opacity:0}15%,80%{opacity:1}to{opacity:0}}}.dfx-loadout{z-index:4;position:absolute;right:var(--edge-r);top:calc(var(--edge-t) + var(--sbh) + var(--sp-2));width:var(--dw);min-width:172px;max-height:calc(100% - var(--edge-t) - var(--sbh) - 150px);display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);border-radius:var(--r-md);background:var(--bg-glass);border:1px solid var(--accent);overflow:hidden}.dfx-loadout[hidden]{display:none}.loadout-open .dr-r{visibility:hidden}.dfx-lo-head{display:flex;align-items:center;gap:var(--sp-2)}.dfx-lo-title{font-size:var(--fs-sm);font-weight:800;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfx-lo-hint,.dfx-lo-note,.dfx-lo-use,.dfx-lo-label{color:var(--text-2);font-size:var(--fs-2xs)}.dfx-lo-note{margin:0;color:var(--text-dim)}.dfx-lo-list{display:grid;gap:var(--sp-1);overflow:auto;min-height:0;overscroll-behavior:contain}.dfx .dfx-lo-chip{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:36px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--bg-raised);border:1px solid var(--line-mid);color:var(--text);text-align:left}.dfx .dfx-lo-chip.on{border-color:var(--accent)}.dfx .dfx-lo-chip.locked{opacity:.55;border-style:dashed}.dfx-lo-slot{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--line);font:800 var(--fs-2xs) var(--f-mono)}.dfx-lo-chip.on .dfx-lo-slot{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dfx-lo-txt{display:grid;min-width:0;flex:1}.dfx-lo-txt b,.dfx-lo-txt small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfx-lo-txt b{font-size:var(--fs-xs)}.dfx-lo-txt small{color:var(--text-dim);font-size:var(--fs-2xs)}.dfx-lo-pips{flex:none;color:var(--accent);font-size:var(--fs-2xs);letter-spacing:-1px}.dfx-lo-extra{display:grid;gap:var(--sp-1)}.dfx-lo-extra[hidden],.dfx-lo-clear[hidden]{display:none}.dfx .dfx-lo-seg .btn{min-height:30px;padding:0 var(--sp-1);font-size:var(--fs-2xs)}.dfx .dfx-lo-apply{width:100%;flex:none}.dfx-equip.fresh{border-color:var(--warn)}@media(max-width:599px),(max-height:499px){.dfx-loadout{max-height:calc(100% - var(--edge-t) - var(--sbh) - var(--sp-2) - var(--edge-b))}.dfx-lo-txt small,.dfx-lo-note{display:none}.dfx .dfx-lo-chip{min-height:30px}}@media(pointer:coarse){.dfx .dfx-lo-chip,.dfx .dfx-lo-seg .btn{min-height:var(--touch-min)}.dfx-loadout{max-height:calc(100% - var(--edge-t) - var(--sbh) - var(--sp-2) - var(--edge-b))}.dfx.loadout-open .dfx-act,.dfx.loadout-open .dfx-mid{visibility:hidden}}.dfx-domes{position:absolute;inset:0;overflow:hidden;pointer-events:none}.dfx-domes[hidden],.dfx-dome-doors[hidden],.dfx-door-hint[hidden],.dfx.in-room .dfx-domes,.dfx.hangar-open .dfx-domes{display:none}.dfx-dome-doors{--dr: 60px;position:absolute;left:0;top:0;width:0;height:0}.dfx .dfx-door{position:absolute;top:0;display:inline-flex;align-items:center;gap:var(--sp-2);pointer-events:auto;cursor:pointer;width:32px;height:32px;padding:0;justify-content:center;border-radius:var(--r-pill);background:var(--bg-glass);border:1.5px solid var(--line-hi);color:var(--text);box-shadow:0 2px 8px var(--shadow);font:700 var(--fs-md) var(--f-body);white-space:nowrap}.dfx .dfx-door-room{left:calc(-1 * var(--dr));transform:translate(-50%,-50%);border-color:var(--role-cmd);color:var(--role-cmd)}.dfx .dfx-door-hangar{left:var(--dr);transform:translate(-50%,-50%);border-color:var(--role-mine);color:var(--role-mine)}.dfx-door-ico{--ico: var(--ico-md)}.dfx-door-tx,.dfx-door-key{display:none}.dfx-door-tx{line-height:1.15;text-align:left}.dfx-door-tx b{color:var(--text)}.dfx-door-tx small{display:block;font:500 var(--fs-2xs) var(--f-body);color:var(--text-2)}.dfx .dfx-door-key{min-width:16px;padding:1px 4px;border-radius:var(--r-xs);border:1px solid var(--line-hi);color:var(--text-2);font:800 var(--fs-2xs) var(--f-mono);text-align:center}.dfx-door-hint{position:absolute;left:0;top:calc(var(--dr) * .75);transform:translate(-50%);padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--bg-glass);color:var(--text-2);font:600 var(--fs-xs) var(--f-body);white-space:nowrap}.dfx-dome-doors.open .dfx-door{width:auto;height:auto;min-height:40px;padding:0 var(--sp-3) 0 var(--sp-2);border-radius:var(--r-md);justify-content:flex-start}.dfx-dome-doors.open .dfx-door-room{transform:translate(-100%,-50%)}.dfx-dome-doors.open .dfx-door-hangar{transform:translateY(-50%)}.dfx-dome-doors.open .dfx-door-tx{display:block}.dfx-dome-doors.open .dfx-door-key{display:inline-block}.dfx-dome-doors.open .dfx-door:disabled{opacity:.55;cursor:default}.dfx-dome-doors.open .dfx-door:not(:disabled):hover,.dfx .dfx-door:focus-visible{border-color:var(--accent);outline:none}@media(pointer:fine){.dfx-dome-doors.open .dfx-door-hangar .dfx-door-key{display:none}}@media(pointer:coarse){.dfx .dfx-door{width:var(--touch-min);height:var(--touch-min)}.dfx-dome-doors.open .dfx-door{min-height:var(--touch-min)}.dfx-door-key{display:none!important}}@media(prefers-reduced-motion:no-preference){.dfx-dome-doors:not(.open) .dfx-door{animation:dfx-door-bob 2.4s ease-in-out infinite}.dfx-dome-doors.open .dfx-door{animation:dfx-door-in .18s ease-out}}@keyframes dfx-door-bob{50%{margin-top:-4px}}@keyframes dfx-door-in{0%{opacity:0}}.dfx-countdown{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);pointer-events:none;z-index:2;color:var(--danger);text-shadow:0 2px 12px var(--shadow)}.dfx-countdown[hidden]{display:none}.dfx-countdown-n{font-family:var(--f-display);font-size:calc(var(--u) * 120);font-weight:900;line-height:1}.dfx-countdown-t{font-size:var(--fs-xl);font-weight:800;letter-spacing:.08em;color:var(--text)}@media(prefers-reduced-motion:no-preference){.dfx-countdown-n{animation:dfx-countdown-beat 1s ease-out infinite}}@keyframes dfx-countdown-beat{0%{transform:scale(1.25);opacity:.6}30%{transform:scale(1);opacity:1}}.bb-root{position:fixed;inset:0;z-index:calc(var(--z-result) + 1);background:var(--bg-void);overflow:hidden;cursor:pointer;touch-action:none}.bb-root canvas{display:block;width:100%;height:100%}.bb-fx{position:absolute;inset:0;pointer-events:none;opacity:0}.bb-vignette{background:radial-gradient(ellipse at center,transparent 45%,var(--alarm) 140%)}.bb-flash{background:var(--text);mix-blend-mode:screen}.bb-cap{position:absolute;left:0;right:0;top:40%;text-align:center;pointer-events:none;opacity:0}.bb-cap b{display:block;font:italic 900 calc(var(--u) * 40) var(--f-display);color:var(--alarm);letter-spacing:.04em;text-shadow:0 0 calc(var(--u) * 14) var(--alarm)}.bb-cap span{display:block;margin-top:var(--sp-1);font:700 var(--fs-lg) var(--f-body);color:var(--text)}
