.battle-stage{--signal: #70dba1;position:relative;min-height:180px;flex:1 0 180px;isolation:isolate;border:1px solid var(--line);border-radius:8px;background:#050e0a}.battle-stage .battle-scene{position:absolute;top:0;right:0;bottom:44px;left:0}.battle-art{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:8px;color:var(--signal)}.battle-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.28;background:linear-gradient(90deg,#70dba115 1px,transparent 1px),linear-gradient(#70dba115 1px,transparent 1px);background-size:20px 20px;-webkit-mask-image:radial-gradient(ellipse,#000,transparent 75%);mask-image:radial-gradient(ellipse,#000,transparent 75%)}.battle-orbit{position:absolute;left:50%;top:50%;border:1px solid currentColor;border-radius:50%;opacity:.18}.orbit-outer{width:224px;height:100px;margin:-50px 0 0 -112px;border-style:dashed;animation:signal-breathe 7s ease-in-out infinite}.orbit-inner{width:142px;height:100px;margin:-50px 0 0 -71px;opacity:.1}.battle-sweep{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,#70dba10c,transparent);transform:translate(-100%);animation:signal-sweep 9s linear infinite}.battle-avatar{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;animation:signal-float 5s ease-in-out infinite}.battle-portrait{margin:0;color:var(--signal);font:12px/1.05 ui-monospace,monospace;letter-spacing:0;text-shadow:0 0 12px currentColor}.battle-portrait[data-portrait=root]{color:#ff79e5}.battle-firewall{position:absolute;left:50%;top:50%;width:108px;height:92px;margin:-46px 0 0 -54px;border:1px solid var(--ram);opacity:0;clip-path:polygon(15% 0,85% 0,100% 20%,100% 80%,85% 100%,15% 100%,0 80%,0 20%)}.is-shielded .battle-firewall{opacity:.75;background:#4dd7ff0b;box-shadow:inset 0 0 20px #4dd7ff22}.battle-packet{position:absolute;top:48%;width:4px;height:4px;background:currentColor;opacity:0;animation:signal-packet 7s ease-in-out infinite}.packet-b{animation-delay:3.5s;top:64%}.battle-coordinate{position:absolute;left:10px;bottom:8px;font-size:8px;letter-spacing:.13em;opacity:.55}.battle-crosshair{position:absolute;right:10px;top:7px;opacity:.45}.tier-elite{--signal: #c792ff;border-color:#c792ff55}.tier-elite .battle-portrait{animation:signal-glitch 5.3s steps(1) infinite}.tier-elite .orbit-inner{border-radius:0;transform:skew(-18deg);border-style:dashed;opacity:.28}.tier-boss{--signal: #ff6579;border-color:#ff657966;background:radial-gradient(ellipse at 50% 55%,#39111c,#060c09 75%)}.tier-boss .battle-portrait{font-size:13px;animation:core-breathe 3.6s ease-in-out infinite}.tier-boss .orbit-outer{border-width:2px;opacity:.3;animation-duration:3.6s}.tier-boss .orbit-inner{border-radius:8px;transform:rotate(-12deg);opacity:.23}.tier-boss .battle-avatar{animation-duration:3.6s}.is-critical .battle-portrait{opacity:.65}.is-leaking .battle-portrait{text-decoration:line-through;text-decoration-color:#70dba188}.is-hit .battle-avatar{animation:signal-impact .38s ease-out}.is-attacking.tier-boss .battle-avatar{animation:core-lunge .45s ease-out}.battle-discharge{position:absolute;left:50%;top:55%;width:2px;height:42px;background:var(--signal);box-shadow:0 0 10px var(--signal);animation:signal-discharge .5s ease-out both}.battle-scan-fired{position:absolute;top:0;right:0;bottom:0;left:0;border-top:2px solid var(--trace);background:linear-gradient(#ffa24d22,transparent 35%);animation:resolved-scan .7s ease-out both}.battle-stage .combat-log{position:absolute;inset:auto 0 0;height:44px;z-index:3;border:0;border-top:1px solid var(--line);background:#07100c;display:flex;flex-direction:column}.battle-stage .combat-log[open]{height:100%;border-top:0}.battle-stage .combat-log summary{position:absolute;inset:auto 0 0;height:44px}.battle-stage .combat-log .log{position:absolute;top:0;right:0;bottom:44px;left:0;min-height:0;height:auto;background:transparent;padding:.4rem .6rem;border-bottom:1px solid var(--line);overscroll-behavior:contain}.battle-stage .combat-log:not([open]) .combat-log-preview{opacity:.65}.battle-stage:has(.combat-log[open]) .battle-scene{visibility:hidden}.battle-stage:has(.combat-log[open]) .battle-art *{animation-play-state:paused}.combat>.ice-panel{padding:.55rem .7rem;gap:.35rem}.combat>.ice-panel .ice-name{font-size:.85rem;min-width:0;overflow-wrap:anywhere}.combat>.ice-panel .ice-sub{font-size:.72rem}.combat>.ice-panel>.row{align-items:baseline;gap:.5rem}.combat>.ice-panel .intent{white-space:normal;text-align:left}.combat>.ice-panel .intent-track{min-width:0;max-width:none;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.35rem}.combat>.ice-panel .row>.label{flex-shrink:0;max-width:35%}@keyframes signal-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes signal-breathe{0%,to{transform:scale(.96);opacity:.14}50%{transform:scale(1.04);opacity:.3}}@keyframes signal-sweep{to{transform:translate(100%)}}@keyframes signal-packet{0%,65%,to{left:12%;opacity:0}15%{opacity:.5}50%{left:87%;opacity:0}}@keyframes signal-glitch{0%,88%,94%,to{transform:none;text-shadow:0 0 12px currentColor}89%,93%{transform:translate(-3px);text-shadow:3px 0 #4dd7ff88}90%{transform:translate(2px) skew(6deg);text-shadow:-3px 0 #ff5c6a88}}@keyframes core-breathe{0%,to{text-shadow:0 0 8px currentColor;opacity:.8}50%{text-shadow:0 0 20px currentColor,0 0 3px currentColor;opacity:1}}@keyframes signal-impact{25%{transform:translate(-5px);filter:brightness(1.6)}65%{transform:translate(3px)}}@keyframes core-lunge{30%{transform:translateY(7px) scale(1.12)}}@keyframes signal-discharge{0%{transform:translateY(-12px) scaleY(.3);opacity:.8}to{transform:translateY(70px) scaleY(1.5);opacity:0}}@keyframes resolved-scan{0%{transform:translateY(-100%);opacity:.8}to{transform:translateY(100%);opacity:0}}.battle-reaction{position:absolute;pointer-events:none;left:50%;top:50%;width:110px;height:94px;margin:-47px 0 0 -55px;border:2px solid currentColor;animation:combat-ring .65s ease-out both}.reaction-impact{color:#ffb7a1;border-radius:50%;width:66px;height:66px;margin:-33px 0 0 -33px;box-shadow:0 0 14px #ff657955}.reaction-firewall-hit{color:var(--ram);clip-path:polygon(15% 0,85% 0,100% 20%,100% 80%,85% 100%,15% 100%,0 80%,0 20%);background:#4dd7ff22;animation-name:firewall-impact}.reaction-proxy-hit,.reaction-proxy-build,.reaction-repair{inset:auto 8% 5px;margin:0;width:auto;height:28px;border-radius:50% 50% 0 0;border-bottom:0;color:var(--ram)}.reaction-proxy-build{animation-name:proxy-rise}.reaction-repair{color:var(--accent);animation-name:proxy-rise;border-style:dashed}.reaction-ice-repair{color:var(--accent);border-radius:50%;border-style:dashed;animation-name:repair-ring}.is-attacking:not(.tier-boss) .battle-avatar{animation:core-lunge .45s ease-out}@keyframes combat-ring{0%{transform:scale(.55);opacity:.9}to{transform:scale(1.7);opacity:0}}@keyframes firewall-impact{0%{opacity:.9;transform:scale(1.04)}35%{opacity:.6;transform:scale(1.12)}to{opacity:0;transform:scale(1.2)}}@keyframes proxy-rise{0%{opacity:.8;transform:translateY(12px) scaleX(.7)}to{opacity:0;transform:translateY(-22px) scaleX(1.05)}}@keyframes repair-ring{0%{opacity:.8;transform:scale(1.4)}to{opacity:0;transform:scale(.7)}}.tier-elite .reaction-impact{color:#c792ff;border-radius:0;border-style:dashed;animation-name:elite-hit}.tier-elite .battle-discharge{width:5px;background:linear-gradient(90deg,var(--signal) 40%,transparent 40%,transparent 70%,#4dd7ff 70%);animation-name:elite-discharge}.tier-boss .reaction-impact{width:96px;height:96px;margin:-48px 0 0 -48px;border-width:3px;box-shadow:0 0 22px #ff657944,inset 0 0 16px #ff657922;animation-duration:.8s}.tier-boss .battle-discharge{width:6px;height:64px;margin-left:-3px;box-shadow:0 0 18px var(--signal);animation-name:core-discharge;animation-duration:.65s}.tier-boss .reaction-firewall-hit{border-width:3px}@keyframes elite-hit{0%{opacity:0;transform:scale(.65)}15%{opacity:.85;transform:translate(-6px) skew(-14deg)}45%{opacity:.6;transform:translate(4px) scale(1.15)}to{opacity:0;transform:scale(1.45)}}@keyframes elite-discharge{0%{opacity:0;transform:translateY(-10px)}20%{opacity:.8;transform:translate(-5px,10px)}55%{opacity:.5;transform:translate(5px,40px)}to{opacity:0;transform:translateY(85px)}}@keyframes core-discharge{0%{opacity:0;transform:translateY(-20px) scaleY(.25)}25%{opacity:.85;transform:translateY(0) scaleY(.7)}to{opacity:0;transform:translateY(95px) scaleY(1.6)}}@media (prefers-reduced-motion: reduce){.battle-art,.battle-art *{animation:none!important;transition:none!important}.battle-reaction,.battle-discharge,.battle-scan-fired,.battle-sweep,.battle-packet{display:none}.is-hit .battle-portrait{color:var(--fg)}}:root{--bg: #030806;--bg-panel: #0a1510;--bg-raised: #10201727;--line: #1d3a2a;--fg: #dfffe9;--fg-dim: #8fcca6;--accent: #4aff88;--warn: #ffd166;--bad: #ff5c6a;--trace: #ffa24d;--ram: #4dd7ff;--mut: #c792ff;--power: #c98bff;--node-combat: #ffab70;--node-elite: #c792ff;--node-cache: #4dd7ff;--node-event: #81dfce;--node-rest: #4aff88;--node-shop: #ffd166;--node-core: #ff6579;font-size:17px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}html{overscroll-behavior:none}body{background:var(--bg);background-image:radial-gradient(ellipse 120% 60% at 50% -10%,#0c1f1466,transparent);color:var(--fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Courier New,monospace;overscroll-behavior:none;line-height:1.4;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#root{overflow:hidden}.screen-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.log{touch-action:pan-y}.hand{touch-action:pan-x}.stack-list{touch-action:pan-y}button{font-family:inherit;cursor:pointer}.label{font-size:.68rem;letter-spacing:.14em;color:var(--fg-dim);text-transform:uppercase}.boot-title{position:relative;font-size:clamp(1.1rem,7.5vw,2.1rem);font-weight:700;letter-spacing:.32em;color:var(--accent);text-shadow:0 0 24px #4aff8855;animation:boot-reveal .7s ease-out both,title-glow 3.4s ease-in-out infinite .7s}.boot-title:after{content:"";position:absolute;left:-6%;top:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,#d8ffe8aa,transparent);mix-blend-mode:screen;animation:title-sweep 1.1s ease-out .2s both}@keyframes boot-reveal{0%{opacity:0;letter-spacing:.6em;filter:blur(6px);clip-path:inset(0 100% 0 0)}60%{opacity:1;filter:blur(0)}99%{clip-path:inset(0 0 0 0)}to{opacity:1;letter-spacing:.32em;clip-path:none}}@keyframes title-sweep{0%{left:-30%}99%{opacity:1}to{left:110%;opacity:0}}@keyframes title-glow{0%,to{text-shadow:0 0 18px #4aff8844}50%{text-shadow:0 0 30px #4aff8899,0 0 6px #4aff88}}.boot-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.boot-sub{display:flex;align-items:center;color:var(--fg-dim);font-size:.85rem;letter-spacing:.08em}.boot-sub-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}@media (max-width: 379px){.boot-sub{font-size:.72rem;letter-spacing:.01em}}.game{height:100%;display:flex;flex-direction:column;max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + .4rem) .7rem calc(env(safe-area-inset-bottom) + .4rem);gap:.55rem}.row{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.ice-panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.45rem}.ice-id{display:flex;align-items:center;gap:.7rem}header.ice-panel .row>.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ice-portrait{flex:0 0 auto;white-space:pre;font-family:ui-monospace,monospace;font-size:.5rem;line-height:1.02;letter-spacing:0;color:var(--bad);text-shadow:0 0 6px currentColor;animation:portrait-idle 3.2s ease-in-out infinite}.ice-portrait[data-portrait=root]{color:#ff5cf0}.ice-portrait[data-portrait=boss]{color:#ff7a7a}@keyframes portrait-idle{0%,to{transform:translateY(0);opacity:.92}50%{transform:translateY(-1px);opacity:1}}.node-art{white-space:pre;font-family:ui-monospace,monospace;font-size:.8rem;line-height:1.05;color:var(--accent);text-shadow:0 0 8px currentColor;margin-bottom:.3rem;opacity:.85}.atlas-head{display:flex;align-items:center;gap:.6rem}.atlas-head-text{flex:1;min-width:0}.atlas-portrait{font-size:.46rem;animation:none;opacity:.9}.ice-name{color:var(--bad);font-weight:700;font-size:1.05rem;letter-spacing:.04em}.ice-sub{font-size:.85rem;color:var(--fg-dim);display:flex;gap:.4rem .7rem;flex-wrap:wrap;align-items:center}.intent{font-size:.8rem;font-weight:700;letter-spacing:.06em;padding:.3rem .65rem;border-radius:999px;border:1px solid currentColor;white-space:nowrap}.intent-strike,.intent-multistrike{color:var(--bad);background:#ff5c6a14}.intent-drain{color:#ff8fb0;background:#ff5c8a14}.intent-scan{color:var(--trace);background:#ffa24d14}.intent-firewall{color:var(--ram);background:#4dd7ff14}.intent-corrupt{color:var(--mut);background:#c792ff14}.intent-siphon{color:var(--warn);background:#ffd16614}.intent-heal{color:var(--accent);background:#4aff8814}.intent-ramp{color:#ff8a3d;background:#ff8a3d14}.intent-weaken{color:var(--fg-dim);background:#ffffff10}.intent-track{display:flex;flex-direction:column;align-items:flex-end;gap:.28rem}.intent-now{font-size:.8rem}.intent-next{font-size:.68rem;opacity:.5;padding:.15rem .5rem;border-style:dashed}.bar{position:relative;height:9px;background:#0006;border-radius:999px;overflow:hidden}.bar-fill{position:relative;height:100%;border-radius:999px;transition:width .16s ease-out}.bar-ghost{position:absolute;inset:0 auto 0 0;height:100%;border-radius:999px;background:#ffffff57;transition:width .6s ease .35s}.bar.shielded{box-shadow:0 0 0 1.5px var(--ram),0 0 12px #4dd7ff55}.shield-chip{color:var(--ram);border:1px solid var(--ram);border-radius:999px;padding:.12rem .55rem;font-weight:700;font-size:.78rem;background:#4dd7ff14;box-shadow:0 0 10px #4dd7ff44;animation:shield-in .25s ease-out;white-space:nowrap}.stat-shielded .stat-value{color:var(--ram);text-shadow:0 0 10px #4dd7ff88}.stat-shielded .label{color:var(--ram)}@keyframes shield-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.fill-ice{background:var(--bad);box-shadow:0 0 10px #ff5c6a66}.fill-integrity{background:var(--accent);box-shadow:0 0 10px #4aff8855}.fill-ram{background:var(--ram)}.fill-trace{background:var(--trace)}.log{flex:1;overflow-y:auto;padding:.6rem .75rem;font-size:.9rem;line-height:1.6;min-height:0;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px}.log-line{word-break:break-word}.tone-sys{color:var(--fg-dim)}.tone-ok{color:var(--fg)}.tone-warn{color:var(--warn)}.tone-bad{color:var(--bad)}.tone-trace{color:var(--trace)}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;padding:.55rem .6rem;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;flex-shrink:0}.stat{display:flex;flex-direction:column;gap:.15rem;min-width:0}.stat .label{font-size:.5rem;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-value{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-value.hot{color:var(--bad)}.passive-row{display:flex;gap:.5rem;flex-wrap:wrap}.hand-actions{margin-left:auto;display:flex;gap:.4rem}.btn-inline.mode-active{color:var(--power);border-color:var(--power);background:#c98bff14}.pcard.fuse-pick,.pcard.fuse-target:not(.disabled):hover{outline:3px solid var(--power);outline-offset:2px;box-shadow:0 0 0 1px var(--power),0 0 18px #c98bff88}.passive-dock{display:flex;gap:.5rem;flex-wrap:nowrap;align-items:center;min-height:1.7rem;overflow-x:auto;scrollbar-width:none}.passive-dock::-webkit-scrollbar{display:none}.passive-dock .passive-chip{flex:0 0 auto}.atlas-abilities{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}.passive-chip{color:var(--mut);border:1px solid var(--mut);border-radius:999px;padding:.15rem .6rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;background:#c792ff12;box-shadow:0 0 8px #c792ff33}.debuff-chip{color:var(--bad);border-color:var(--bad);background:#ff5c6a14;box-shadow:0 0 8px #ff5c6a33}.pile-row{display:flex;justify-content:flex-start;align-items:center;gap:.55rem;padding:0 .3rem;margin-bottom:-.25rem;min-width:0}.pile-stat{display:flex;flex-direction:column;line-height:1.15;gap:.05rem}.pile-stat .label{font-size:.56rem;letter-spacing:.08em}.pile-stat b{font-size:.8rem;color:var(--fg);font-variant-numeric:tabular-nums}.hand-actions{min-width:0;flex-shrink:1}.hand-actions .btn-inline{font-size:.66rem;padding:.45rem;letter-spacing:.02em;white-space:nowrap}.game:has(>.hand){overflow-y:auto;overflow-x:hidden;touch-action:pan-y}.combat{gap:.5rem;scrollbar-width:thin;scrollbar-color:var(--line) var(--bg)}.combat>.ice-panel,.combat>.stats,.combat>.pile-row{flex-shrink:0}.combat .stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0;background:linear-gradient(120deg,#14271d,#09140f)}.combat .stat{padding:.45rem .65rem;gap:.15rem}.combat .stat-integrity,.combat .stat-ram{grid-column:span 3;grid-row:1}.combat .stat-proxy,.combat .stat-trace,.combat .stat-cycle{grid-column:span 2;grid-row:2;border-top:1px solid var(--line)}.combat .stat-ram,.combat .stat-trace,.combat .stat-cycle{border-left:1px solid var(--line)}.combat .stat .label{font-size:.6rem;letter-spacing:.1em}.combat .stat-value{font-size:1.1rem;line-height:1.15}.combat .stat-integrity .stat-value,.combat .stat-ram .stat-value{font-size:1.5rem}.combat .stat-integrity .stat-value{color:var(--accent)}.combat .stat-ram .stat-value{color:var(--ram)}.combat .stat-value small{font-size:.65rem;color:var(--fg-dim);font-weight:400}.combat .stats .bar{height:4px;margin-top:.15rem}.combat .stat-trace .bar{margin-top:auto}.combat-log{flex:0 0 auto;border-block:1px solid var(--line);color:var(--fg-dim)}.combat-log summary{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:.35rem .45rem;cursor:pointer;list-style:none}.combat-log summary::-webkit-details-marker{display:none}.combat-log summary:before{content:"+";color:var(--accent)}.combat-log[open] summary:before{content:"−"}.combat-log summary:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.combat-log-label{font-size:.65rem;letter-spacing:.1em}.combat-log-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}.combat-log .log{height:8rem;font-size:.75rem;border:0;border-radius:0}.combat .passive-dock{flex-shrink:0}.combat .passive-dock:empty{display:none}.combat .pile-row{flex-wrap:wrap;row-gap:.45rem;margin-top:auto}.combat .hand-actions .btn-inline{min-height:44px}.combat>.actions{position:sticky;bottom:calc(-1*(env(safe-area-inset-bottom) + .4rem));z-index:4;flex-shrink:0;padding:.25rem 0 calc(env(safe-area-inset-bottom) + .4rem);justify-content:flex-end;gap:.4rem;background:var(--bg);box-shadow:0 -8px 16px var(--bg)}.map-actions{justify-content:flex-end;gap:.4rem}.combat>.actions .btn,.map-actions .btn{min-height:44px;border-radius:8px;padding:.4rem .6rem}.combat .btn-end{flex:0 1 13rem;min-width:0;justify-content:center;font-size:.8rem;letter-spacing:.025em;margin-right:auto}.combat>.actions .btn-square,.map-actions .btn-square{min-width:44px;font-size:.8rem}.combat .hand{touch-action:pan-x pan-y}.hand{display:flex;gap:.6rem;overflow-x:auto;flex-shrink:0;padding:.25rem .15rem .3rem}.pcard{position:relative;flex:0 0 10rem;width:10rem;min-height:14rem;display:flex;flex-direction:column;text-align:left;background:linear-gradient(155deg,#18271f,#0c1712 48%,#09110e);border:1px solid var(--line);color:var(--fg);padding:.65rem;font-size:.72rem;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));transition:transform .08s ease}.pcard:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid #ffffff14;pointer-events:none;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}.hand .pcard{animation:card-in .28s ease-out backwards}.hand .pcard:nth-child(2){animation-delay:45ms}.hand .pcard:nth-child(3){animation-delay:90ms}.hand .pcard:nth-child(4){animation-delay:135ms}.hand .pcard:nth-child(5){animation-delay:.18s}.hand .pcard:nth-child(n+6){animation-delay:225ms}@keyframes card-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.pcard:active{transform:scale(.96) rotate(-.5deg)}.pcard.disabled{opacity:.6;filter:saturate(.35)}.pcard.pcard:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--fg)}.hand .pcard:not(.disabled){transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}@media (hover: hover){.hand .pcard:not(.disabled):hover{transform:translateY(-8px) scale(1.03);box-shadow:0 10px 22px -8px #000,0 0 16px -4px var(--cat-color, var(--accent));filter:brightness(1.08);z-index:3}}.pcard.rar-rare{box-shadow:inset 0 0 0 1px #4dd7ff33,0 0 10px -4px #4dd7ff55}.pcard.rar-epic{box-shadow:inset 0 0 0 1px #ffd16644,0 0 12px -3px #ffd16666;animation:card-in .28s ease-out backwards,epic-glow 2.6s ease-in-out infinite}@keyframes epic-glow{0%,to{box-shadow:inset 0 0 0 1px #ffd16644,0 0 10px -4px #ffd16655}50%{box-shadow:inset 0 0 0 1px #ffd16688,0 0 18px -2px #ffd166aa}}.pcard.cat-power{box-shadow:inset 0 0 0 1px #c98bff44,0 0 12px -3px #c98bff66}.pcard-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;font-variant-numeric:tabular-nums}.pcard-cost{color:var(--ram);font-weight:700;font-size:1.55rem;line-height:1;display:flex;align-items:baseline;gap:.2rem}.pcard-cost em{font-style:normal;font-size:.58rem;color:var(--fg-dim);margin-left:1px}.pcard-tcost{color:var(--trace);font-weight:700;font-size:.85rem;display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.pcard-tcost em{font-style:normal;font-size:.5rem;letter-spacing:.08em;color:var(--fg-dim)}.pcard-cat{position:absolute;bottom:.25rem;left:.35rem;font-size:.52rem;letter-spacing:.14em;color:var(--cat-color, var(--fg-dim))}.pcard-art{position:relative;height:3.5rem;flex-shrink:0;margin:0 0 .65rem;display:flex;align-items:center;justify-content:center;color:var(--cat-color, var(--fg-dim));background:repeating-linear-gradient(90deg,#ffffff06 0 1px,transparent 1px 12px),repeating-linear-gradient(0deg,#ffffff06 0 1px,transparent 1px 12px),#050c09;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;overflow:hidden}.pcard-circuit{position:absolute;width:5.7rem;height:1.8rem;border:1px solid currentColor;opacity:.35}.pcard-circuit:before,.pcard-circuit:after{content:"";position:absolute;top:50%;width:2rem;border-top:1px solid currentColor}.pcard-circuit:before{right:100%}.pcard-circuit:after{left:100%}.cat-payload .pcard-circuit{transform:skew(-30deg);border-left-width:4px;border-right-width:4px}.cat-obfuscator .pcard-circuit{width:3.4rem;height:2.8rem;border-radius:50%;box-shadow:0 0 0 5px #4dd7ff12}.cat-exploit .pcard-circuit{transform:rotate(-25deg);border-style:dashed}.cat-mutagen .pcard-circuit{width:2.5rem;height:2.5rem;transform:rotate(45deg);border-style:double;border-width:3px}.cat-power .pcard-circuit{width:3rem;height:3rem;border-radius:50%;border-width:3px}.cat-junk .pcard-circuit{border-style:dashed;transform:skewY(12deg)}.pcard-glyph{position:relative;font-size:2rem;line-height:1;color:var(--cat-color, var(--fg-dim));text-shadow:0 0 14px currentColor;opacity:.9}.pcard-name{font-weight:700;font-size:.8rem;overflow-wrap:anywhere;color:var(--fg);line-height:1.3;margin-bottom:.45rem}.pcard-desc{color:#bdd8c8;line-height:1.45;font-size:.76rem;overflow-wrap:anywhere;flex:1}.pcard-desc strong{color:var(--fg);font-weight:800}.pcard-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem;margin-top:.65rem;padding-top:.4rem;border-top:1px solid #ffffff14}.pcard-footer:empty{display:none}.pcard-v2{font-style:normal;color:var(--warn);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-shadow:0 0 8px #ffd16655}.rar-rare{border-color:#4dd7ff88;box-shadow:0 0 0 1px #4dd7ff33,0 0 12px #4dd7ff22}.rar-epic{border-color:#ffd166aa;box-shadow:0 0 0 1px #ffd16644,0 0 16px #ffd16633}.pcard-rar{font-size:.58rem;font-weight:700;letter-spacing:.08em}.rar-badge-rare{color:#4dd7ff;text-shadow:0 0 8px #4dd7ff66}.rar-badge-epic{color:var(--warn);text-shadow:0 0 8px #ffd16666}.pcard.cat-payload{--cat-color: var(--bad);border-top:2px solid var(--bad)}.pcard.cat-obfuscator{--cat-color: var(--ram);border-top:2px solid var(--ram)}.pcard.cat-exploit{--cat-color: var(--warn);border-top:2px solid var(--warn)}.pcard.cat-mutagen{--cat-color: var(--mut);border-top:2px solid var(--mut)}.pcard.cat-power{--cat-color: var(--power);border-top:2px solid var(--power)}.pcard.cat-junk{--cat-color: #5a6b60;border-top:2px solid #5a6b60}.pcard.cat-junk .pcard-name{color:var(--fg-dim)}.stack-row.cat-power,.up-row.cat-power{border-left-color:var(--power)}.pcard-kw{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.2rem;margin-left:auto}.pcard-kw .kw{font-size:.56rem;font-weight:800;font-style:normal;letter-spacing:.06em;padding:.05rem .3rem;border-radius:3px;border:1px solid currentColor}.kw-innate{color:#7fd3ff}.kw-exhaust{color:#ff8f6b}.kw-scry{color:var(--power)}.kw-fusion{color:var(--power);background:#c98bff18}.resident-chip{color:var(--power);border-color:var(--power);background:#c98bff12}.scry-cards{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;max-width:340px}.scry-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:opacity .15s,transform .15s}.scry-card.binned{opacity:.4;transform:scale(.94)}.scry-card .scry-tag{font-size:.6rem;font-weight:700;letter-spacing:.05em}.scry-card.kept .scry-tag{color:var(--accent)}.scry-card.binned .scry-tag{color:var(--bad)}.card-row{display:flex;gap:.6rem;overflow-x:auto;max-width:100%;padding:.3rem .2rem;touch-action:pan-x}.card-row .pcard{animation:card-in .28s ease-out backwards}.card-row .pcard:nth-child(2){animation-delay:60ms}.card-row .pcard:nth-child(3){animation-delay:.12s}.card-row .pcard:nth-child(4){animation-delay:.18s}.hand-empty{color:var(--fg-dim);font-size:.9rem;padding:1rem .4rem}.actions{display:flex;gap:.5rem}.btn{width:100%;min-height:54px;background:var(--bg-panel);border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-size:1.05rem;font-weight:700;padding:.85rem 1rem;letter-spacing:.06em}.btn:active{background:#4aff8820}.btn:disabled{opacity:.4}.btn-primary{background:#4aff8814;box-shadow:0 0 22px #4aff8830}.btn-end{flex:1;width:auto}.btn-square{width:auto;flex:0 0 auto;min-width:54px;padding:.85rem .6rem;border-color:var(--line);color:var(--fg-dim);font-size:.9rem}.stack-list{display:flex;flex-direction:column;gap:.45rem;width:100%;max-width:380px;max-height:60vh;overflow-y:auto}.stack-row{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;row-gap:.1rem;text-align:left;color:var(--fg);background:var(--bg-panel);border:1px solid var(--line);border-left:3px solid var(--fg-dim);border-radius:8px;padding:.5rem .65rem}.stack-row.cat-payload{border-left-color:var(--bad)}.stack-row.cat-obfuscator{border-left-color:var(--ram)}.stack-row.cat-exploit{border-left-color:var(--warn)}.stack-row.cat-mutagen{border-left-color:var(--mut)}.stack-row.cat-junk{border-left-color:#5a6b60}.stack-count{color:var(--accent);font-weight:700;grid-row:span 2;align-self:center;font-variant-numeric:tabular-nums}.stack-name{font-weight:700;font-size:.85rem}.stack-desc{color:var(--fg-dim);font-size:.75rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#040805f8;overflow-y:auto;display:flex;flex-direction:column;justify-content:safe center;padding:1.4rem 0;align-items:center;gap:1.4rem;padding:1.5rem .9rem;text-align:center}.overlay-heading{display:flex;flex-direction:column;align-items:center;gap:.25rem}.overlay-subtitle{color:var(--fg-dim);font-size:.72rem;letter-spacing:.12em}.atlas-list,.policy-box,.settings-box{scrollbar-width:thin;scrollbar-color:var(--line) transparent;scrollbar-gutter:stable both-edges}.atlas-list::-webkit-scrollbar,.policy-box::-webkit-scrollbar,.settings-box::-webkit-scrollbar{width:5px}.atlas-list::-webkit-scrollbar-thumb,.policy-box::-webkit-scrollbar-thumb,.settings-box::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.overlay-title{font-size:clamp(1.05rem,5.2vw,1.55rem);font-weight:700;letter-spacing:.12em;text-shadow:0 0 20px currentColor;white-space:pre-wrap;overflow-wrap:break-word;max-width:100%;text-align:center}.overlay-text{color:var(--fg);max-width:34ch;line-height:1.65;font-size:1rem}.overlay .btn{max-width:340px}.choices{display:flex;flex-direction:column;gap:.8rem;width:100%;max-width:340px}.btn-skip{border-color:var(--fg-dim);color:var(--fg-dim);min-height:46px}.btn-util{border-color:color-mix(in srgb,var(--line) 80%,transparent);background:transparent;color:var(--fg-dim);opacity:.62;font-weight:600;letter-spacing:.04em}.btn-util:active{opacity:1;background:#ffffff08}.vault{display:flex;flex-direction:column;gap:1.1rem;padding:calc(env(safe-area-inset-top) + 1.2rem) 1rem calc(env(safe-area-inset-bottom) + 1.2rem);max-width:520px;margin:0 auto}.vault-head{display:flex;flex-direction:column;gap:.4rem;position:relative}.fragments{display:flex;justify-content:space-between;align-items:baseline;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:.6rem .85rem;margin-top:.4rem}.fragments-value{font-size:1.3rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.vault-section{display:flex;flex-direction:column;gap:.55rem}.kernel,.seed{background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.3rem}.kernel{cursor:pointer}.kernel.selected{border-color:var(--accent);box-shadow:0 0 14px #4aff8825}.kernel.locked{opacity:.75}.kernel-name{font-weight:700;font-size:.95rem}.kernel.selected .kernel-name{color:var(--accent)}.kernel-badge{font-size:.68rem;letter-spacing:.1em;color:var(--accent)}.kernel-desc{color:var(--fg-dim);font-size:.8rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kernel-stats{font-size:clamp(.5rem,3vw,.62rem);color:var(--fg-dim);letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.9}.seed .kernel-desc{font-size:.7rem;-webkit-line-clamp:2;min-height:1.4em}.btn-inline{background:var(--bg-raised);border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-size:.78rem;font-weight:700;padding:.45rem .7rem;min-height:40px;letter-spacing:.05em;white-space:nowrap}.btn-inline:disabled{opacity:.35;border-color:var(--fg-dim);color:var(--fg-dim)}.btn-inline:active:not(:disabled){background:#4aff8820}.vault-sec-label{margin-top:.3rem}.stage-deck{display:flex;align-items:center;gap:.7rem;width:100%;max-width:420px;min-height:3.4rem;padding:.6rem .8rem;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;font-size:.8rem;color:var(--fg-dim);transition:border-color .25s ease,box-shadow .25s ease}.stage-deck.live{border-color:var(--accent);box-shadow:0 0 14px #4aff8825;color:var(--accent)}.stage-deck-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.stage-deck-title{font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-deck-title small{font-size:.75em;letter-spacing:.1em;color:var(--fg-dim)}.stage-deck-place{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.stage-deck-time{font-variant-numeric:tabular-nums;white-space:nowrap}.stage-token{text-transform:none}.stage-deck-idle{flex:1;line-height:1.5}.stage-stop{font:inherit;font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--accent);background:#4aff8814;border:1px solid var(--accent);border-radius:8px;padding:0 .7rem;min-height:2.5rem;white-space:nowrap;cursor:pointer}.stage-stop:active{background:#4aff8826}.stage-list{gap:1rem}.stage-group{display:flex;flex-direction:column;gap:.55rem}.stage-cue{display:flex;flex-direction:column;gap:.55rem;padding:.65rem .8rem;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;transition:border-color .25s ease,box-shadow .25s ease}.stage-cue.live{border-color:var(--accent);box-shadow:0 0 14px #4aff8825}.stage-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.stage-title{font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}.stage-cue.live .stage-title{color:var(--accent)}.stage-place{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);text-align:right}.stage-chips{display:grid;grid-template-columns:repeat(auto-fill,3.4rem);gap:.4rem}.stage-chip{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;height:2.75rem;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--fg-dim);background:transparent;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:8px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.stage-chip:active{background:#ffffff08}.stage-chip.playing{color:var(--accent);border-color:var(--accent);background:#4aff8814;box-shadow:0 0 14px #4aff8830,inset 0 1px #b6ffcf12}.stage-chip:disabled{opacity:.3;cursor:default}.stage-chip:focus-visible,.stage-stop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage-bars{display:inline-flex;align-items:flex-end;gap:2px;height:.9em}.stage-bars i{display:block;width:3px;height:45%;background:currentColor;border-radius:1px;animation:stage-bar .9s ease-in-out infinite}.stage-bars i:nth-child(2){height:100%;animation-delay:.15s}.stage-bars i:nth-child(3){height:70%;animation-delay:.3s}@keyframes stage-bar{0%,to{height:35%}50%{height:100%}}@media (prefers-reduced-motion: reduce){.stage-bars i{animation:none}}.report-earned{color:var(--accent);font-weight:700;text-shadow:0 0 12px #4aff8855}.report-achv{color:var(--mut);font-weight:700;text-shadow:0 0 12px #c792ff55}.settings-ruler{display:flex;align-items:center;justify-content:center;gap:.6rem;text-align:center;margin-top:.35rem}.settings-ruler:before,.settings-ruler:after{content:"";flex:1;border-top:1px solid var(--line)}.settings-data-lines{color:var(--fg-dim);font-size:.78rem;letter-spacing:.04em;text-align:center}.btn-end{display:flex;flex-direction:column;align-items:center;gap:.2rem}.btn-sub{font-size:.66rem;font-weight:400;color:var(--fg-dim);letter-spacing:.04em}.btn-wipe{background:none;border:1px dashed color-mix(in srgb,var(--bad) 55%,transparent);border-radius:8px;color:var(--bad);font-size:.72rem;letter-spacing:.1em;padding:.6rem;margin-top:.4rem}.btn-wipe.armed{border-color:var(--bad);color:var(--bad);font-weight:700;animation:wipe-blink .5s step-end infinite}@keyframes wipe-blink{50%{opacity:.55}}.update-banner{position:fixed;top:calc(env(safe-area-inset-top) + .5rem);left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:.8rem;background:var(--bg-panel);border:1px solid var(--accent);border-radius:10px;padding:.5rem .6rem .5rem .85rem;font-size:.82rem;color:var(--fg);box-shadow:0 0 18px #4aff8840,0 4px 16px #000c;animation:banner-in .35s ease-out}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.threat-controls{display:flex;gap:.4rem}.threat-controls .btn-inline{min-width:44px;font-size:1rem}.seed-input{width:100%;max-width:340px;background:var(--bg-panel);border:1px solid var(--accent);border-radius:10px;color:var(--fg);font-family:inherit;font-size:1.05rem;letter-spacing:.15em;text-transform:uppercase;padding:.8rem;text-align:center;user-select:text;-webkit-user-select:text}.seed-input:focus{outline:none;box-shadow:0 0 14px #4aff8840}.seed-line{color:var(--fg-dim);font-size:.78rem;letter-spacing:.12em;user-select:text;-webkit-user-select:text}.log-loss{color:var(--bad)}.btn-upgrade{width:100%;min-height:50px;background:#c792ff12;border:1px solid var(--mut);border-radius:10px;color:var(--mut);font-size:.95rem;font-weight:700;letter-spacing:.06em;padding:.7rem;box-shadow:0 0 16px #c792ff26}.btn-upgrade:active{background:#c792ff26}.up-frag{display:flex;justify-content:space-between;align-items:baseline;width:100%;max-width:400px;padding:0 .2rem}.up-row{background:var(--bg-panel);border:1px solid var(--line);border-left:3px solid var(--fg-dim);border-radius:8px;padding:.5rem .7rem;display:flex;flex-direction:column;gap:.25rem;text-align:left}.up-row.cat-payload{border-left-color:var(--bad)}.up-row.cat-mutagen{border-left-color:var(--mut)}.up-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.up-name{font-weight:700;font-size:.85rem}.up-desc{color:var(--fg-dim);font-size:.75rem;line-height:1.45}.up-owned{font-size:.66rem;letter-spacing:.1em;color:var(--accent);white-space:nowrap}.up-pips{display:flex;gap:.3rem;margin-top:.15rem}.pip{width:18px;height:5px;border-radius:999px;background:#ffffff18}.pip-on{background:var(--accent);box-shadow:0 0 6px #4aff8866}.up-progress{color:var(--fg-dim);font-size:.78rem;letter-spacing:.06em;text-align:center}.manual-row{display:flex;flex-direction:column;gap:.2rem;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;text-align:left}.manual-term{font-weight:700;font-size:.82rem;letter-spacing:.04em}.manual-body{color:var(--fg-dim);font-size:.78rem;line-height:1.5}.hint-sheet{font:inherit;margin:0;top:auto;max-height:calc(100dvh - 2rem);overflow-y:auto;color:var(--fg);position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + .8rem);width:calc(100% - 1.6rem);max-width:480px;z-index:70;background:var(--bg-panel);border:1px solid var(--accent);border-radius:10px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 0 24px #4aff8830,0 8px 30px #000d;animation:banner-in .35s ease-out}.hint-sheet::backdrop{background:#0005}.hint-sheet .label{color:var(--accent)}.hint-text{color:var(--fg);font-size:.85rem;line-height:1.55}.hint-sheet .btn-inline{align-self:flex-end;min-width:90px}.status-chip{border:1px solid currentColor;border-radius:999px;padding:.1rem .5rem;font-weight:700;font-size:.72rem;white-space:nowrap;animation:shield-in .25s ease-out}.st-memleak{color:var(--accent);background:#4aff8812}.st-exposed{color:var(--warn);background:#ffd16612}.st-throttled{color:var(--ram);background:#4dd7ff12}.st-ramp{color:#ff8a3d;background:#ff8a3d12}.st-ability{color:#ff9bab;background:#ff5c6a10;font-size:.68rem;letter-spacing:.04em}.module-chip{color:var(--accent);border-color:var(--accent);background:#4aff880f;box-shadow:0 0 8px #4aff8830}.btn-module{border-color:var(--accent)}.map-scroll{flex:1;min-height:0;overflow-y:auto;touch-action:pan-y;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px}.map-wrap{display:flex;flex-direction:column;height:100%;gap:.3rem;padding:.4rem .2rem .6rem}.map-svg{width:100%;height:0;flex:1 0 0}.ui-icon{display:inline-block;width:1.05em;height:1.05em;flex:0 0 auto;vertical-align:-.17em}.combat-finish{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(88vw,420px);padding:2rem 1rem;border:1px solid currentColor;border-radius:10px;background:#050e0a;text-align:center;font:inherit;overflow:hidden}.combat-finish::backdrop{background:#030806f5}.finish-signal{height:140px;display:grid;place-items:center}.finish-signal pre{font:18px/1.05 monospace;text-shadow:0 0 12px currentColor;animation:enemy-dissolve .75s ease-in forwards}.finish-name{overflow-wrap:anywhere;margin:.8rem 0}@keyframes enemy-dissolve{0%,15%{opacity:1;transform:scale(1)}45%{opacity:.7;transform:scale(1.05);clip-path:inset(15% 0 10%)}75%{opacity:.35;transform:scale(1.12,.35);clip-path:inset(40% 0 40%)}to{opacity:0;transform:scale(1.25,.02);clip-path:inset(50% 0)}}@media (prefers-reduced-motion: reduce){.finish-signal pre{animation:none}}.sound-dot .ui-icon,.settings-mute .ui-icon{width:18px;height:18px}.map-edge{stroke:var(--line);stroke-width:1.5}.map-edge-active{stroke:var(--accent);stroke-width:2;opacity:.75}.map-node{cursor:default}.map-node-open{cursor:pointer}.map-circle{fill:var(--bg);stroke:currentColor;stroke-width:2}.map-glyph{fill:currentColor;font-family:inherit;font-size:15px;font-weight:700;pointer-events:none}.map-ring{fill:none;stroke:currentColor;stroke-width:1.5;opacity:.6;animation:ring-pulse 1.4s ease-in-out infinite}@keyframes ring-pulse{0%,to{opacity:.25}50%{opacity:.8}}.mn-combat{--node-color: var(--node-combat);color:var(--node-color)}.mn-elite{--node-color: var(--node-elite);color:var(--node-color)}.mn-cache{--node-color: var(--node-cache);color:var(--node-color)}.mn-event{--node-color: var(--node-event);color:var(--node-color)}.mn-rest{--node-color: var(--node-rest);color:var(--node-color)}.mn-shop{--node-color: var(--node-shop);color:var(--node-color)}.mn-core{--node-color: var(--node-core);color:var(--node-color)}.encounter-surface{color:var(--fg)}.encounter-surface>.node-art,.encounter-surface>.overlay-title,.ice-panel .encounter-name{color:var(--node-color)}.map-node-visited{opacity:.3}.map-node-current .map-circle{fill:#10361f}.map-legend{display:flex;flex:0 0 auto;justify-content:center;gap:.5rem .9rem;flex-wrap:wrap;font-size:.66rem;letter-spacing:.06em;padding-bottom:.3rem}.map-panel{display:grid;grid-template-columns:1fr 2fr;gap:.55rem;align-items:stretch;min-height:0}.map-stats-col{gap:.3rem;padding:.6rem .7rem;font-size:.72rem;letter-spacing:.05em;color:var(--fg-dim);font-variant-numeric:tabular-nums;justify-content:flex-start}.map-stats-col span{display:flex;justify-content:space-between;gap:.5rem;white-space:nowrap}.map-stats-col b{color:var(--fg);font-weight:700}.map-stats-col b.hot{color:var(--bad)}.msc-kernel{color:var(--accent);font-weight:700;letter-spacing:.08em;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;padding-bottom:.15rem;border-bottom:1px solid var(--line);margin-bottom:.15rem}.map-side{display:flex;flex-direction:column;gap:.45rem;min-height:0}.map-side .btn-util{text-align:left;justify-content:flex-start}.map-effects{flex:1;min-height:3.2rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-panel);padding:.45rem .6rem;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;font-size:.66rem;line-height:1.35;color:var(--fg-dim)}.map-effect-line b{color:var(--fg);letter-spacing:.05em;margin-right:.3rem}.map-effects-empty{color:var(--fg-dim);letter-spacing:.05em;opacity:.8}.run-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;width:100%;max-width:340px}.rs-tile{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg-panel);text-align:left}.rs-k{font-size:.56rem;letter-spacing:.08em;color:var(--fg-dim)}.rs-v{font-size:.95rem;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}.rs-mvp{grid-column:1 / -1;border-color:var(--accent);box-shadow:0 0 10px #4aff8822}.rs-mvp .rs-v{color:var(--accent);font-size:.82rem}.death-recap{width:100%;max-width:340px;border:1px solid var(--line);border-radius:8px;background:var(--bg-panel);padding:.5rem .7rem;display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;letter-spacing:.04em;color:var(--fg-dim);font-variant-numeric:tabular-nums}.dr-head,.dr-sub{color:var(--mut);font-size:.62rem;letter-spacing:.08em}.dr-row{display:flex;justify-content:space-between;gap:.6rem;white-space:nowrap}.dr-row b{color:var(--fg);overflow:hidden;text-overflow:ellipsis}.dr-row b.hot{color:var(--bad)}.dr-src span{overflow:hidden;text-overflow:ellipsis}.tone-thread{color:#7cf7ff}.botnet-hud{display:flex;justify-content:center;gap:1.2rem;font-size:.8rem;letter-spacing:.05em;color:var(--fg-dim);font-variant-numeric:tabular-nums}.bn-stat b{color:var(--fg)}.bn-intro{font-size:.72rem;max-width:340px;opacity:.85}.bn-row{position:relative}.bn-active{border-color:var(--mut);box-shadow:0 0 10px #c792ff22}.bn-heat{font-size:.6rem;letter-spacing:.08em;color:#ff8a6a;margin-top:.15rem}.bn-active .bn-heat{color:var(--mut)}.bn-kill{color:var(--bad);border-color:var(--bad)}.bn-btns{display:inline-flex;gap:.3rem}.bn-synergies{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;max-width:340px}.bn-synergy{font-size:.62rem;font-weight:700;letter-spacing:.05em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.15rem .55rem;background:#4aff8812}.biome-name{color:var(--biome, var(--accent));font-weight:700;letter-spacing:.04em;text-shadow:0 0 8px color-mix(in srgb,var(--biome, var(--accent)) 55%,transparent)}.ice-panel.biome-tinted{border-top:2px solid color-mix(in srgb,var(--biome, var(--accent)) 70%,transparent);box-shadow:inset 0 1px 14px -8px var(--biome, var(--accent))}.btn-fork-biome{border-color:color-mix(in srgb,var(--biome, var(--mut)) 60%,var(--mut));background:linear-gradient(180deg,color-mix(in srgb,var(--biome) 8%,transparent),transparent)}.btn-fork{border-color:var(--mut)}.fork-favors{color:var(--accent);font-size:.64rem;font-weight:500}.btn-fork-secret{border-color:var(--power);background:linear-gradient(180deg,#c98bff10,transparent);animation:secretPulse 1.6s ease-in-out infinite}@keyframes secretPulse{0%,to{box-shadow:0 0 #c98bff00}50%{box-shadow:0 0 14px #c98bff55}}.console-dot{background:none;border:none;color:var(--mut);font-family:inherit;font-size:.85rem;font-weight:700;text-shadow:0 0 6px currentColor;cursor:pointer;padding:.35rem .4rem;margin-left:.1rem;opacity:.85;animation:blink 1.2s step-end infinite}.console-dot.armed{color:var(--power);opacity:1}@keyframes blink{50%{opacity:.35}}.sound-dot{margin-left:auto;background:color-mix(in srgb,var(--bg) 78%,transparent);border:none;border-radius:10px;font-size:.95rem;line-height:1;cursor:pointer;padding:.45rem .55rem;opacity:.9;filter:saturate(.85);transition:opacity .15s,transform .1s}.sound-dot:active{transform:scale(.88)}.sound-dot.muted{opacity:.5;filter:grayscale(1)}.console-overlay{gap:.8rem;padding:.9rem 1.5rem}.console-overlay .overlay-text{font-size:.82rem;line-height:1.5}.console-box{width:min(340px,88vw);background:#000;border:1px solid var(--accent);border-radius:6px;padding:.6rem;font-family:inherit}.console-out{min-height:2rem;max-height:5.4rem;overflow-y:auto;margin-bottom:.5rem;font-size:.66rem;line-height:1.5}.console-input-row{display:flex;align-items:center;gap:.35rem}.console-prompt{color:var(--accent);font-weight:700}.console-input{flex:1;background:#0a0f0c;border:1px solid var(--mut);border-radius:4px;color:var(--fg);font-family:inherit;font-size:.72rem;padding:.35rem .5rem;outline:none}.console-input:focus{border-color:var(--accent)}.achv-hidden .stack-name{color:var(--power);letter-spacing:.1em}.settings-box{width:min(370px,94vw);display:flex;flex-direction:column;gap:.8rem;padding:.4rem .65rem;max-height:62vh;overflow-y:auto;touch-action:pan-y}.settings-row{display:grid;grid-template-columns:4.2rem auto 1fr 2rem;align-items:center;gap:.6rem}.settings-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--fg-dim)}.settings-row input[type=range]{width:100%;accent-color:var(--accent)}.settings-row input[type=range]:disabled{opacity:.35}.settings-val{font-size:.7rem;text-align:right;color:var(--fg)}.settings-mute{background:none;border:none;padding:.15rem .25rem;font-family:inherit;font-size:.9rem;line-height:1;cursor:pointer;opacity:.9}.settings-mute.is-muted{opacity:.5;filter:grayscale(.7)}.settings-legal-text{font-size:.62rem;line-height:1.5;color:var(--fg-dim, var(--mut));text-align:left;margin:0}.settings-legal-link{text-align:left;align-self:flex-start}.settings-legal-link[href]{display:block;text-decoration:none}.about-actions{display:flex;flex-direction:column;gap:.5rem}.btn-about{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem .9rem;font-size:.85rem;text-decoration:none}.btn-about:disabled{opacity:.7}.coffee-link{display:block;margin:.1rem auto;padding:.4rem .6rem;width:fit-content;font-size:.66rem;letter-spacing:.04em;color:var(--fg-dim);text-decoration:none}.coffee-link b{color:var(--accent);font-weight:700}.coffee-link:hover{color:var(--fg)}.coffee-cup{display:inline-block;font-size:.9rem;transition:transform .2s ease}.coffee-link:hover .coffee-cup{transform:translateY(-2px)}.settings-lang-row{grid-template-columns:1fr;gap:.4rem}.settings-langs{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-start}.settings-langs .btn-inline{flex:0 0 auto}.settings-langs .lang-active{color:var(--accent);border-color:var(--accent);background:#4aff8814}.vault-copyright{color:var(--mut);font-size:.62rem;letter-spacing:.04em;margin:.6rem auto 0;display:block;text-align:center;opacity:.7}.about-box{width:min(340px,88vw);display:flex;flex-direction:column;gap:.6rem;font-size:.7rem;line-height:1.5;color:var(--fg-dim, var(--mut));text-align:left}.about-box p{margin:0}.linklike{background:none;border:none;padding:.55rem .4rem;margin:-.55rem -.4rem;font:inherit;font-size:.7rem;color:var(--accent);cursor:pointer}.policy-box{width:min(370px,94vw);max-height:70vh;overflow-y:auto;overscroll-behavior:contain;text-align:left;font-size:.78rem;line-height:1.5}.policy-box h1{font-size:1rem;color:var(--accent);margin:0 0 .6em}.policy-box h2{font-size:.82rem;color:var(--fg);margin:1.2em 0 .35em}.policy-box p{color:var(--fg-dim);margin:.5em 0}.policy-box ul{padding-left:1.1rem;margin:.4em 0}.policy-box li{color:var(--fg-dim);margin:.2em 0}.policy-box blockquote{border-left:2px solid var(--fg-dim);margin:.8em 0;padding:.4em .8em;color:var(--fg)}.license-meta{color:var(--fg-dim);font-size:.7rem;font-weight:400}.license-text{white-space:pre-wrap;word-break:break-word;font-size:.62rem;line-height:1.45;color:var(--fg-dim);border-left:2px solid var(--fg-dim);padding:.4em .8em;margin:.5em 0 1em}.whatsnew-box{gap:.55rem}.whatsnew-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.5rem}.whatsnew-list li{line-height:1.45}.whatsnew-list li::marker{color:var(--accent)}.crash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1.4rem;text-align:center}.crash-title{color:var(--bad);font-size:1.4rem;font-weight:700;letter-spacing:.12em;text-shadow:0 0 16px #ff5c6a66}.crash-text{color:var(--fg-dim);max-width:34ch;line-height:1.6}.crash-detail{color:var(--mut);font-size:.62rem;max-width:90vw;overflow-x:auto;white-space:pre-wrap;opacity:.7}.crash-actions{display:flex;flex-direction:column;gap:.6rem;width:min(280px,80vw)}.shop-card-btn{position:relative;display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;gap:.4rem;background:none;border:none;padding:0;cursor:pointer}.shop-card-btn:disabled{opacity:.4}.shop-price{position:static;font-size:.62rem;font-weight:700;color:var(--warn);background:var(--bg);border:1px solid var(--warn);border-radius:999px;padding:.05rem .35rem}.btn-choice{display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center}.tone-warn-title{color:var(--warn)}.stack-pick{cursor:pointer}.stack-pick:active{background:var(--bg-raised)}.vault-row{display:flex;gap:.6rem}.vault-row .btn{flex:1 1 0;min-width:0;min-height:48px;padding:.6rem .3rem;font-size:.82rem;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tappable{cursor:pointer}.atlas-list{display:flex;flex-direction:column;gap:.9rem;width:100%;max-width:420px;max-height:62vh;overflow-y:auto;touch-action:pan-y}.atlas-tier{display:flex;flex-direction:column;gap:.45rem}.atlas-tier>.label{display:flex;align-items:center;justify-content:center;gap:.6rem;text-align:center;margin-top:.35rem}.atlas-tier>.label:before,.atlas-tier>.label:after{content:"";flex:1;border-top:1px solid var(--line)}.atlas-row{background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.4rem;text-align:left}.atlas-row.undiscovered,.stack-row.stack-dim{opacity:.55}.boot-title-glitch{animation:title-glitch .9s steps(2,end)}@keyframes title-glitch{0%,to{opacity:1;transform:translate(0)}20%{opacity:.4;transform:translate(-2px)}40%{opacity:1;transform:translate(1px)}60%{opacity:.5;transform:translate(-1px)}80%{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.boot-title-glitch{animation:none}}.achv-bounty{float:right;font-size:.66rem;font-weight:700;color:var(--warn);letter-spacing:.04em}.achv-bounty-paid{color:var(--fg-dim);text-decoration:line-through;opacity:.7}.atlas-name{font-weight:700;font-size:.9rem;color:var(--bad)}.atlas-row.undiscovered .atlas-name{color:var(--fg-dim)}.atlas-heap{font-size:.78rem;color:var(--fg-dim);font-variant-numeric:tabular-nums}.atlas-intents{display:flex;flex-wrap:wrap;gap:.35rem}.intent-mini{font-size:.62rem;padding:.15rem .45rem}.atlas-special{font-size:.72rem;color:var(--mut);line-height:1.4}.atlas-row.undiscovered .atlas-special{color:var(--fg-dim)}.fx-anchor{position:relative}.fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:5}.float{position:absolute;left:calc(50% + var(--x, 0px));top:calc(30% + (var(--i, 0) - 1) * 1.3rem);transform:translate(-50%);font-weight:700;font-size:1.3rem;white-space:nowrap;text-shadow:0 0 12px currentColor,0 1px 2px #000;animation:float-up 1.1s ease-out both;animation-delay:calc(var(--i, 0) * .22s)}.f-dmg{color:#ff8a95}.f-bad{color:var(--bad);font-size:1.5rem}.f-ok{color:var(--accent)}.f-shield{color:var(--ram);font-size:1.05rem}.f-trace{color:var(--trace);font-size:1.05rem}.f-warn{color:var(--warn);font-size:1.05rem}.f-mut{color:var(--mut);font-size:1.05rem}@keyframes float-up{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}12%{opacity:1;transform:translate(-50%) scale(1.2)}25%{transform:translate(-50%,-6px) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-46px) scale(.95)}}.ice-panel.hit{animation:hit-flash .38s ease-out}@keyframes hit-flash{0%{background:#ff5c6a30;border-color:var(--bad)}to{background:var(--bg-panel);border-color:var(--line)}}.game.shake{animation:shake .42s ease-in-out}@keyframes shake{10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}20%,60%{transform:translateY(2px)}40%,80%{transform:translateY(-2px)}}.crt{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,.32) 100%);animation:crt-flicker 4.5s infinite steps(60)}.crt:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,rgba(120,255,190,.035) 50%,transparent 100%);height:34%;animation:crt-sweep 7s linear infinite}@keyframes crt-flicker{0%,96%,to{opacity:1}97%{opacity:.94}98%{opacity:.99}99%{opacity:.92}}@keyframes crt-sweep{0%{transform:translateY(-40%)}to{transform:translateY(320%)}}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:55;opacity:0;background:radial-gradient(ellipse at center,transparent 52%,rgba(255,70,90,.32) 100%)}.vignette.active{animation:vignette-flash .45s ease-out}@keyframes vignette-flash{0%{opacity:1}to{opacity:0}}.overlay-title{animation:glitch-in .4s steps(6) both}@keyframes glitch-in{0%{opacity:0;transform:translate(-6px) skew(-8deg);clip-path:inset(0 0 60% 0)}40%{opacity:1;transform:translate(4px) skew(4deg);clip-path:inset(30% 0 10% 0)}70%{transform:translate(-2px) skew(-2deg);clip-path:inset(0 0 0 0)}to{opacity:1;transform:none;clip-path:none}}@keyframes float-fade{0%{opacity:0}15%{opacity:1}80%{opacity:1}to{opacity:0}}.game{position:relative;z-index:0}.game:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--biome, var(--accent)) 40%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--biome, var(--accent)) 40%,transparent) 1px,transparent 1px);background-size:28px 28px;opacity:.06;-webkit-mask-image:radial-gradient(ellipse 95% 75% at 50% 28%,#000 15%,transparent 88%);mask-image:radial-gradient(ellipse 95% 75% at 50% 28%,#000 15%,transparent 88%);animation:grid-drift 26s linear infinite}@keyframes grid-drift{0%{background-position:0 0}to{background-position:0 28px}}.bar-fill.trace-hot{animation:trace-throb 1s ease-in-out infinite}@keyframes trace-throb{0%,to{filter:brightness(1);box-shadow:0 0 4px -1px var(--trace)}50%{filter:brightness(1.35);box-shadow:0 0 12px 0 var(--trace)}}@media (prefers-reduced-motion: reduce){.bar-fill,.bar-ghost,.pcard{transition:none}.game.shake,.ice-panel.hit,.vignette.active,.hand .pcard,.card-row .pcard,.shield-chip,.crt,.crt:after,.boot-title,.boot-title:after,.pcard.rar-epic,.bar-fill.trace-hot,.btn-fork-secret,.game:before,.ice-portrait,.overlay-title,.map-ring,.console-dot,.btn-wipe.armed{animation:none}.boot-title:after{display:none}.float{animation-name:float-fade}}.vault{gap:.8rem}.vault-head{padding:.6rem 0 .8rem;border-bottom:1px solid var(--line);overflow:hidden}.vault .kernel{position:relative;width:100%;text-align:left;color:var(--fg);overflow:hidden;border-radius:8px;padding:.75rem .85rem;gap:.45rem;background:linear-gradient(120deg,#13251a,#09130e 75%)}.vault .kernel:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}.vault .kernel.selected{background:linear-gradient(115deg,#193a25,#0b1911 75%);border-color:#4aff8899;box-shadow:inset 0 0 24px #4aff8808}.vault .kernel.selected:before{background:var(--accent)}.vault .kernel.locked{background:#0b120f;border-style:dashed;opacity:.65}.vault .kernel .row{gap:.4rem;flex-wrap:wrap}.vault .kernel-badge{border:1px solid var(--line);padding:.12rem .35rem;border-radius:4px;font-size:.58rem}.vault .kernel.selected .kernel-badge{border-color:#4aff8855;background:#4aff880b}.vault .kernel-desc{display:block;overflow:visible;font-size:.76rem}.vault .kernel-stats{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:.3rem;white-space:normal;opacity:1;border-top:1px solid var(--line);padding-top:.45rem}.vault .kernel-stats>span{display:flex;flex-direction:column;gap:.05rem}.vault .kernel-stats small{font-size:.5rem;letter-spacing:.06em}.vault .kernel-stats b{font-size:1rem;color:var(--fg)}.vault .kernel.selected .kernel-stats b{color:var(--accent)}.vault .seed{border-radius:8px;background:#0a130e}.vault .threat-controls{display:flex;gap:.35rem}.vault .threat-controls .btn-inline{min-width:44px;min-height:44px}.vault>.btn-primary{background:linear-gradient(110deg,#1a462a,#10261a);border-color:#70dba1;box-shadow:0 4px 22px #0005}.vault .btn-util,.vault .btn-skip{min-height:44px;border-radius:8px}.kernel:focus-visible,.map-node:focus-visible{outline:2px solid var(--ram);outline-offset:3px}.map-scroll{background:radial-gradient(ellipse at 50% 80%,#15332266,transparent 65%),#07100b;box-shadow:inset 0 0 45px #0005;scrollbar-width:thin}.map-edge{stroke-width:1.2;stroke-dasharray:3 5}.map-edge-active{stroke-width:2.5;stroke-dasharray:none;opacity:.9}.map-node-open .map-circle{fill:#10291a;stroke-width:2.5;filter:drop-shadow(0 0 5px #4aff8844)}.map-node-current .map-circle{stroke-width:3;stroke:var(--fg)}.map-node-current .map-glyph{fill:var(--fg)}.map-node-far{opacity:.5}.map-node-visited .map-circle{stroke-dasharray:2 3}.map-legend{padding:.7rem .5rem;margin:.4rem;border-top:1px solid var(--line);background:#07100bc9;line-height:1.8}.map-panel{flex-shrink:0}.map-stats-col{background:linear-gradient(130deg,#14271d,#09140f);border-radius:8px}.map-side .btn-util{min-height:44px;border-radius:8px}.overlay{padding:calc(env(safe-area-inset-top) + 1rem) .9rem calc(env(safe-area-inset-bottom) + 1rem);gap:.9rem;background:radial-gradient(ellipse at 50% 0,#173323aa,transparent 60%),#040805fc;overscroll-behavior:contain;scrollbar-width:thin}.overlay>.overlay-title,.overlay>.overlay-heading,.overlay>.overlay-text,.overlay>.choices,.overlay>.btn,.overlay>.card-row,.overlay>.scry-cards{flex-shrink:0}.overlay-heading{width:min(100%,380px);padding-bottom:.65rem;border-bottom:1px solid var(--line)}.overlay-title{line-height:1.35;letter-spacing:.08em;text-shadow:0 0 16px currentColor}.overlay-text{font-size:.88rem;line-height:1.55;color:var(--fg-dim);max-width:38ch}.overlay .btn{min-height:44px;padding:.65rem .8rem;border-radius:8px;font-size:.88rem;letter-spacing:.025em;overflow-wrap:anywhere}.overlay .btn-primary{background:linear-gradient(120deg,#1a3d27,#102219);box-shadow:inset 0 1px #b6ffcf12}.overlay .btn-choice{align-items:flex-start;text-align:left;gap:.4rem;border-color:#31513d;background:linear-gradient(115deg,#13241a,#09130e);border-left:3px solid var(--accent)}.overlay .btn-choice:disabled{border-left-color:var(--fg-dim)}.overlay .btn:disabled{opacity:.58}.overlay .btn-sub{font-size:.74rem;line-height:1.5;letter-spacing:0}.choices{gap:.55rem}.overlay .btn-skip{border-color:var(--line);background:transparent}.overlay .stack-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior:contain}.stack-row{flex-shrink:0;min-width:0;padding:.65rem .7rem;background:linear-gradient(110deg,#122119,#09130e)}.stack-name,.stack-desc{min-width:0;overflow-wrap:anywhere}.stack-count{min-width:1.8rem;font-size:.95rem}.stack-desc{line-height:1.5}.settings-box{max-width:100%;background:#09130ec9;border:1px solid var(--line);border-radius:8px;padding:.75rem .65rem}.settings-row{grid-template-columns:3.8rem 44px minmax(0,1fr) 1.8rem;gap:.35rem}.settings-mute{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:6px}.settings-row input[type=range]{min-width:0;min-height:44px}.settings-lang-row{grid-template-columns:1fr}.settings-langs .btn-inline{min-height:44px}.overlay .settings-ruler{width:100%}.overlay .card-row,.overlay .scry-cards{scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior-x:contain}.overlay .scry-cards{flex-wrap:nowrap;justify-content:flex-start;max-width:100%;overflow-x:auto;padding:.3rem .2rem .6rem;touch-action:pan-x}.overlay .scry-card{flex:0 0 auto}.shop-price{border:1px solid var(--line);border-radius:6px;padding:.35rem .6rem;background:#102219}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--ram);outline-offset:3px}@media (max-height: 680px){.overlay{gap:.7rem}.overlay .node-art{font-size:.65rem}}.reward-surface{background:#050c08fa;animation:reward-arrive .18s ease-out both}.reward-surface>.overlay-title{animation:none;text-shadow:none;white-space:pre-wrap}.reward-surface>.node-art{text-shadow:none;opacity:.65;margin-bottom:0}.reward-surface>.overlay-text{max-width:38rem;color:var(--fg-dim)}.reward-progress{flex:0 0 auto;align-self:center;max-width:100%;padding:.45rem .85rem;border:1px solid var(--line);border-left:3px solid var(--node-color);border-radius:5px;color:var(--fg);background:#0c1912;font-size:.8rem;line-height:1.4;text-align:center}.reward-surface>.btn-skip{color:var(--fg-dim);box-shadow:none;text-shadow:none;min-height:44px}.reward-surface>.btn-skip:hover,.reward-surface>.btn-skip:focus-visible{color:var(--fg);border-color:var(--fg-dim)}@keyframes reward-arrive{0%{opacity:0}to{opacity:1}}.shop-surface{background:#090c08fc;animation:reward-arrive .18s ease-out both}.shop-surface>.overlay-title{animation:none;text-shadow:none}.shop-surface>.node-art{text-shadow:none;opacity:.6;margin-bottom:0}.shop-surface>.overlay-text{color:var(--fg-dim);font-size:.85rem;max-width:40ch}.shop-balance{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;width:min(100%,340px);padding:.65rem .85rem;border:1px solid #ffd16635;border-radius:7px;background:#ffd16608;color:var(--node-shop)}.shop-balance>span{font-size:.75rem;letter-spacing:.06em}.shop-balance strong{font-size:1.35rem}.shop-balance small{font-size:.8rem}.shop-services{border-top:1px solid var(--line);padding-top:.9rem;margin-top:.2rem}.shop-services .btn-choice{box-shadow:none;background:#10160e;border-left-color:#ffd16666}.shop-services .btn-primary{margin-top:.35rem;color:var(--fg-dim);background:transparent;border-color:var(--line);box-shadow:none;text-shadow:none}.shop-surface .shop-price{color:var(--node-shop);background:#ffd1660a;border-color:#ffd16635;font-size:.75rem}.shop-surface .shop-card-btn:disabled{opacity:.6;cursor:default}.shop-surface .shop-card-btn:not(:disabled):hover .shop-price{border-color:var(--node-shop);background:#ffd16618}@media (prefers-reduced-motion: reduce){.shop-surface{animation:none}}.service-surface{background:#050c08fc;animation:reward-arrive .18s ease-out both}.service-surface>.overlay-title{animation:none;text-shadow:none}.service-surface>.node-art{opacity:.6;text-shadow:none;margin-bottom:0}.service-surface>.overlay-text{width:min(100%,38ch);font-size:.9rem;line-height:1.65;color:var(--fg-dim)}.service-surface .choices{gap:.65rem}.service-surface .btn-choice{box-shadow:none;text-shadow:none;background:#0b1710;border-left:2px solid var(--node-color);padding:.8rem .85rem}.service-surface .btn-choice>span:first-child{color:var(--fg);line-height:1.4}.service-surface .btn-choice .btn-sub{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--line);color:var(--fg-dim);line-height:1.5}.service-surface .btn-choice:disabled{opacity:.58;border-left-color:var(--line);background:#070e0a}.service-surface .btn-choice:not(:disabled):hover{border-color:var(--node-color);background:#102219}.service-surface .btn-skip{margin-top:.3rem;box-shadow:none;text-shadow:none;color:var(--fg-dim)}.service-surface>.event-result{flex-shrink:0;border:1px solid var(--line);border-left:3px solid var(--node-color);border-radius:6px;padding:.85rem;color:var(--fg);background:#0c1912;text-align:left;overflow-wrap:anywhere}.service-surface>.btn-primary{box-shadow:none;text-shadow:none}@media (prefers-reduced-motion: reduce){.service-surface{animation:none}}@media (prefers-reduced-motion: reduce){.reward-surface{animation:none}}.overlay .atlas-row,.overlay .up-row,.overlay .manual-row{border-radius:8px;background:linear-gradient(120deg,#122119,#09130e)}.overlay .up-head{flex-wrap:wrap;gap:.4rem}.overlay .up-name{min-width:0;overflow-wrap:anywhere}.overlay .up-head .btn-inline{min-height:44px}.overlay .up-frag{flex-shrink:0;border-radius:8px;background:#102219}.overlay .atlas-list{min-height:0;overscroll-behavior:contain}.vault .boot-title{text-shadow:0 0 10px #4aff8830}.vault .boot-title:not(.boot-title-glitch){animation:none}.vault .kernel{background:#0b1710;box-shadow:none}.vault .kernel.selected{background:#122a1c;box-shadow:none}.vault .kernel:not(.selected) .kernel-name{color:var(--fg-dim)}.vault .kernel.selected .kernel-stats b{color:var(--fg)}.vault .kernel.selected .kernel-badge{color:var(--accent)}.vault>.btn-primary{text-shadow:none;box-shadow:none;border-width:2px;min-height:50px}.vault>.btn-upgrade{background:#12141b;border-color:#c792ff40;color:#d2b5ef;text-shadow:none;box-shadow:none;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}@media (hover: hover){.vault>.btn-upgrade:hover{color:#ead9ff;border-color:var(--mut);background:#1a1528;box-shadow:0 0 16px #c792ff26}}.vault>.btn-upgrade:focus-visible{color:#ead9ff;border-color:var(--mut);background:#1a1528;box-shadow:0 0 16px #c792ff26;outline:none}.vault>.btn-upgrade:active{background:#221b33}.vault .vault-sec-label{display:block;width:100%;padding-top:.6rem;border-top:1px solid var(--line)}.vault-run-options .btn,.vault-archive .btn{box-shadow:none;text-shadow:none;background:#08110c;border-color:var(--line)}.vault-archive .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:.7rem .3rem;min-width:0;overflow-wrap:anywhere;line-height:1.35;opacity:1;color:var(--fg-dim)}.vault-archive .ui-icon{width:20px;height:20px;color:var(--fg-dim)}.vault .vault-archive .btn,.vault .vault-run-options .btn{white-space:normal;overflow:visible}.vault-run-options .btn:not(:disabled):hover,.vault-archive .btn:hover{color:var(--fg);border-color:var(--fg-dim);background:#102017}.overlay{animation:reward-arrive .18s ease-out both}.overlay-title{animation:none;text-shadow:none}.overlay .btn-util,.overlay .btn-skip,.overlay .btn-choice{text-shadow:none;box-shadow:none}.overlay .atlas-row,.overlay .up-row,.overlay .manual-row{background:#0b1710}@media (prefers-reduced-motion: reduce){.overlay{animation:none}}.run-end{--result-color: var(--accent);background:#050c08fc}.run-end-loss{--result-color: var(--bad)}.run-end>.overlay-title{color:var(--result-color);width:min(100%,380px);padding-top:.85rem;border-top:2px solid var(--result-color)}.run-end>.overlay-text{color:var(--fg-dim);font-size:.9rem}.run-end .run-summary{flex:0 0 auto;width:min(100%,380px);grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.run-end .rs-tile{min-width:0;padding:.65rem .75rem;background:#0b1710;border-color:var(--line);box-shadow:none;text-align:left}.run-end .rs-k{line-height:1.4;overflow-wrap:anywhere}.run-end .rs-v{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-shadow:none}.run-end .rs-score{grid-column:1 / -1;align-items:center;text-align:center;padding:.9rem;border-color:var(--result-color);background:#102017}.run-end .rs-score .rs-v{color:var(--fg);font-size:clamp(1.8rem,8vw,2.6rem);line-height:1.2}.run-end .rs-mvp{grid-column:1 / -1}.run-end .rs-mvp .rs-v{color:var(--fg);line-height:1.5}.run-end>.seed-line{color:var(--fg-dim);font-size:.7rem;overflow-wrap:anywhere}.run-end .btn-choice{background:#0b1710;border-color:var(--line)}.run-end .btn-primary{box-shadow:none;text-shadow:none;min-height:48px}.map-scroll{background:#07100b;box-shadow:none}.map-edge{stroke:#294535;opacity:.65}.map-edge-traveled{stroke:#83ae94;stroke-width:2;stroke-dasharray:none;opacity:.65}.map-edge-active{stroke:var(--accent);opacity:.95}.map-node-open .map-circle{fill:#101c15;filter:none}.map-node-open .map-ring{animation-duration:3s}.map-node-current{opacity:1}.map-node-current .map-circle{fill:#1b2b22;stroke:var(--fg)}.map-location{fill:none;stroke:var(--fg);stroke-width:1.5;pointer-events:none}.map-node-visited{opacity:.65}.map-node-visited .map-circle{stroke-dasharray:none;stroke-width:1.5}.map-node-far{opacity:.55}.map-node-open:hover .map-circle,.map-node-open:focus-visible .map-circle{fill:#203728;stroke-width:3}.map-legend{background:transparent}.map-legend>span{white-space:nowrap}.map-title{box-shadow:none}.map-stats-col{background:#0b1710;box-shadow:none}.map-side .btn-util{box-shadow:none;text-shadow:none;background:#08110c}.biome-mark{display:inline-block;width:1.3em;height:1.3em;vertical-align:-.3em;flex-shrink:0}.map-title .biome-name{text-shadow:none}.biome-map{--map-ink: color-mix(in srgb, var(--biome) 9%, transparent);border-top-color:color-mix(in srgb,var(--biome) 45%,var(--line));background-color:#07100b}.biome-map[data-biome=perimeter]{background-image:linear-gradient(var(--map-ink) 1px,transparent 1px),linear-gradient(90deg,var(--map-ink) 1px,transparent 1px);background-size:36px 36px}.biome-map[data-biome=honeynet]{background-image:repeating-linear-gradient(60deg,transparent 0 35px,var(--map-ink) 35px 36px),repeating-linear-gradient(-60deg,transparent 0 35px,var(--map-ink) 35px 36px)}.biome-map[data-biome=icefield]{background-image:repeating-linear-gradient(135deg,transparent 0 46px,var(--map-ink) 46px 48px)}.biome-map[data-biome=blackice]{background-image:repeating-linear-gradient(0deg,transparent 0 62px,var(--map-ink) 62px 63px)}.biome-map[data-biome=swarmnet]{background-image:radial-gradient(circle,var(--map-ink) 1.5px,transparent 2px);background-size:22px 26px}.biome-map[data-biome=corevault]{background-image:repeating-radial-gradient(ellipse at 50% 0,transparent 0 42px,var(--map-ink) 42px 43px)}.biome-map[data-biome="0xnull"]{background-image:linear-gradient(125deg,transparent 49.6%,var(--map-ink) 50%,transparent 50.4%);background-size:117px 173px}.map-panel{grid-template-columns:minmax(0,1fr);gap:.45rem}.map-stats-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem .65rem;padding:.65rem}.map-stats-col .msc-kernel{grid-column:1 / -1;margin:0;padding:0}.map-stats-col>span:not(.msc-kernel){display:flex;flex-wrap:wrap;gap:.15rem .35rem;min-width:0;font-size:.62rem}.map-stats-col>span b{font-size:.75rem}.map-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.map-side .btn-util{padding:.45rem .25rem;font-size:.65rem;text-align:center;justify-content:center;white-space:normal;overflow-wrap:anywhere}.map-panel>.map-effects{height:6.6em;min-height:0;max-height:6.6em;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;touch-action:pan-y;line-height:1.4;padding:.5em .7em}.map-effects:focus-visible{outline:2px solid var(--ram);outline-offset:2px}.map-panel>.map-effects>*{flex-shrink:0}.map-stats-col>span:not(.msc-kernel){white-space:normal;overflow-wrap:anywhere}.combat>.ice-panel .enemy-heap{display:inline-flex;align-items:baseline;gap:.25rem;color:var(--fg-dim)}.combat>.ice-panel .enemy-heap strong{font-size:1.25rem;line-height:1.2;color:var(--fg);font-variant-numeric:tabular-nums}.combat>.ice-panel .enemy-heap>span{font-size:.8rem}.reference-dialog{color:var(--fg);background:#06100c;border:1px solid var(--accent);border-radius:12px;padding:0;width:min(92vw,560px);max-height:88dvh;overflow:auto;font:inherit}.reference-dialog::backdrop{background:#000b}.reference-content{display:flex;flex-direction:column;gap:14px;padding:18px}.reference-content .atlas-list,.reference-content .stack-list{max-height:none;overflow:visible}button.stack-row{width:100%;font:inherit}.inspect-card{display:flex;justify-content:center}.inspect-card .pcard{width:min(100%,300px);height:auto;min-height:280px;white-space:normal}.inspect-card .pcard-desc{overflow:visible;-webkit-line-clamp:unset}.inspect-card .pcard-name{overflow-wrap:anywhere}.inspect-keywords{margin:0;font-size:.8rem;line-height:1.55}.inspect-keywords dt{color:var(--accent);margin-top:8px}.inspect-keywords dd{margin:3px 0 0}.hand-card{flex:0 0 auto;touch-action:pan-x}.hand-card .pcard{touch-action:pan-x}.hand-card-dragging{opacity:.65}.save-warning{position:fixed;z-index:10000;top:max(8px,env(safe-area-inset-top));left:4%;right:4%;padding:10px 14px;border:1px solid var(--bad);background:#210d12;color:#ffe4e8;font-size:.78rem;box-shadow:0 4px 20px #000b}.save-warning p{margin:0}.drag-card-preview{position:fixed;z-index:9000;pointer-events:none;transform:translate(-50%,-75%) rotate(-4deg);filter:drop-shadow(0 0 12px #00ff8855)}.reference-dialog{margin:auto}.inspect-card .pcard{flex:0 1 300px;font-size:.9rem}.pcard.unaffordable .pcard-cost{color:var(--bad)}.flow-dialog.overlay{margin:0;border:0;max-width:none;max-height:none;color:var(--fg);width:100%;height:100dvh}.flow-dialog::backdrop{background:#000b}.version-display{cursor:default;opacity:.55;pointer-events:none}.codex-row{display:flex;align-items:stretch;gap:0}.codex-card{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;row-gap:.2rem;background:transparent;border:0;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.codex-card .stack-count{grid-row:1 / 3;align-self:center}.codex-card .stack-desc{grid-column:2}.codex-star{flex:0 0 44px;min-height:44px;margin-left:.35rem;background:transparent;border:0;color:#deffe9;font-size:.95rem;cursor:pointer}.codex-card:focus-visible,.codex-star:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.codex-unknown{grid-template-columns:auto 1fr}.codex-unknown .stack-desc{grid-column:2}.vault-run-options .btn-sub{display:block;margin-top:.2rem;text-transform:none}.refs-sheet .refs-list{display:flex;flex-direction:column;gap:.5rem;margin:.6rem 0 1rem}.refs-sheet .refs-list .btn-util{width:100%;justify-content:center;min-height:48px}button.up-inspect{background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}button.up-inspect:hover,button.up-inspect:focus-visible{color:var(--accent);outline:none}.map-actions .footer-status{flex:0 1 13rem;margin-right:auto;min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;padding:.4rem .6rem;border:1px dashed var(--line);border-radius:8px;color:var(--fg-dim);font-size:.8rem;font-weight:700;letter-spacing:.025em;text-align:center}
