:root{--bg: #14110e;--panel: #1c1814;--ink: #e8e0d4;--muted: #a89880;--accent: #c45c26;--line: #3a3228;--shield: #6ec6ff;--hull: #d45c4a;--boost: #c9a227;color:var(--ink);background:radial-gradient(1200px 700px at 50% -10%,#2a2218 0%,var(--bg) 55%);font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}html.touch-play,html.touch-play body{overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}html.touch-play #app{overflow:hidden;height:100dvh;max-height:100dvh;padding:max(.65rem,env(safe-area-inset-top)) max(.65rem,env(safe-area-inset-right)) max(.65rem,env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left))}html.touch-play .help,html.touch-play .inventory{display:none}html.touch-play #game-shell{touch-action:none;-webkit-user-select:none;user-select:none;min-height:0}#app{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;gap:.65rem;max-width:1200px;height:100dvh;margin:0 auto;padding:1rem 1.15rem 1.25rem}.hud{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.progression{display:flex;align-items:center;gap:.65rem;flex:1;min-width:200px;max-width:520px}.level-badge{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem;font-weight:600;color:var(--boost);letter-spacing:.06em;white-space:nowrap}.xp-bar{position:relative;flex:1;height:.55rem;background:var(--line);border-radius:2px;overflow:hidden;min-width:80px}.xp-bar:before{content:"";display:block;height:100%;width:var(--xp, 0%);background:linear-gradient(90deg,#6a8a4a,var(--boost));transition:width .15s ease-out}.xp-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.62rem;color:var(--ink);text-shadow:0 0 4px var(--bg);pointer-events:none}.score{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem;color:var(--ink);white-space:nowrap}.score:before{content:"SC ";color:var(--muted)}.streak{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;color:var(--accent);white-space:nowrap}.hud h1,.hud p,.help,.inventory,.message{margin:0}.hud h1{font-family:IBM Plex Mono,SF Mono,ui-monospace,monospace;font-size:clamp(1.35rem,3vw,2rem);letter-spacing:.04em;text-transform:uppercase}#band{color:var(--accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.95rem}#band[data-danger="1"]{color:#8a9a6a}#band[data-danger="2"]{color:#c45c26}#band[data-danger="3"]{color:#e04830}.help,.inventory{color:var(--muted);font-size:.92rem}.help.help--collapsed{font-size:.8rem;opacity:.78}#game-shell{position:relative;min-height:min(70vh,760px);height:100%;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid var(--line);background:linear-gradient(180deg,#1a1612,#0f0d0b)}#game{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none}.altitude-tape{position:absolute;top:1rem;right:.85rem;width:18px;height:min(48%,280px);border:1px solid var(--line);background:#00000059;pointer-events:none}.altitude-tape .altitude-fill{position:absolute;left:0;right:0;bottom:var(--alt, 20%);height:4px;background:var(--accent);box-shadow:0 0 8px #c45c268c;transform:translateY(50%)}.altitude-tape .altitude-ghost{position:absolute;left:1px;right:1px;bottom:var(--ghost-alt, 20%);height:2px;background:#b4beaab3;border:1px solid rgb(210 220 200 / 45%);transform:translateY(50%);pointer-events:none}.altitude-tape .altitude-ghost[data-tint=green]{background:#6ec864bf;border-color:#8cdc788c}.altitude-tape .altitude-ghost[data-tint=amber]{background:#d2a046bf;border-color:#e6be648c}.altitude-tape .altitude-ghost[data-tint=red]{background:#c45a3cbf;border-color:#dc785a8c}.altitude-tape span{position:absolute;right:22px;font-size:.65rem;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace}.altitude-tape .nap{bottom:8%}.altitude-tape .combat{bottom:42%}.altitude-tape .high{bottom:78%}.vitals{position:absolute;left:.85rem;bottom:.85rem;display:grid;gap:.35rem;width:min(42%,220px);pointer-events:none}.affix-chips{position:absolute;left:.85rem;bottom:calc(.85rem + 118px);display:flex;flex-wrap:wrap;gap:.28rem;max-width:min(52%,260px);pointer-events:none}.affix-chip{padding:.1rem .34rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.6rem;letter-spacing:.07em;color:var(--chip-color, #b8a890);background:linear-gradient(180deg,#1c1814b8,#0a08068c);border:1px solid rgb(255 255 255 / 12%);border-left:2px solid var(--chip-color, #8a7a64);opacity:.92;clip-path:polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,0 100%)}.affix-chip[data-kind=component]{--chip-color: #8fa8a0;letter-spacing:.08em}.affix-chip[data-active=false]{opacity:.45;filter:saturate(.55)}.run-chips{position:absolute;left:.85rem;top:.75rem;display:flex;flex-wrap:wrap;gap:.28rem;max-width:min(46%,280px);pointer-events:none;z-index:2}.run-chip{display:inline-flex;align-items:baseline;gap:.28rem;padding:.14rem .4rem .12rem;font-family:IBM Plex Mono,ui-monospace,monospace;background:linear-gradient(180deg,#16120ec7,#0807069e);border:1px solid rgb(90 78 62 / 55%);border-top-color:#8c785a59;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,0 100%)}.run-chip em{font-style:normal;font-size:.52rem;letter-spacing:.12em;color:var(--muted)}.run-chip strong{font-size:.72rem;font-weight:600;color:var(--ink)}.run-chip[data-tone=salvage] strong{color:#d4b06a}.run-chip[data-tone=bank] strong{color:#a89880}.run-chip[data-tone=core] strong{color:#7ec8f0}.run-chip[data-tone=grade] strong{color:#e07040}.loadout-rail{position:absolute;right:2.4rem;bottom:.85rem;display:flex;gap:.28rem;pointer-events:none;z-index:2}.weapon-rail-slot{position:relative;width:4.6rem;padding:.28rem .32rem .34rem;background:linear-gradient(165deg,#1e1a16d1,#0c0a08c7);border:1px solid rgb(70 60 48 / 70%);border-bottom-color:#c45c2659;clip-path:polygon(0 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%)}.weapon-rail-slot[data-empty=true]{opacity:.38}.weapon-rail-slot[data-ready=true]{border-color:#8ca06e73}.weapon-rail-shape{position:absolute;top:.18rem;right:.28rem;font-size:.55rem;color:#a89678b3;line-height:1}.weapon-rail-slot[data-colorblind=true] .weapon-rail-shape{color:var(--ink);opacity:.85}.weapon-rail-meta{display:flex;flex-direction:column;gap:.05rem;min-height:1.55rem}.weapon-rail-name{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;letter-spacing:.04em;color:var(--ink);text-transform:uppercase}.weapon-rail-key{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.52rem;letter-spacing:.1em;color:var(--muted)}.weapon-rail-mods{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.48rem;letter-spacing:.04em;color:#c48c50e5;line-height:1.15;max-width:4.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weapon-rail-slot[data-homing=true] .weapon-rail-mods{color:#b4c8fff2}.skill-card.weapon-mod-card{border-color:color-mix(in srgb,var(--branch) 55%,rgb(40 32 24))}.weapon-rail-cd{margin-top:.22rem;height:3px;background:#00000073;border:1px solid rgb(255 255 255 / 8%);overflow:hidden}.weapon-rail-cd i{display:block;height:100%;width:100%;transform-origin:left center;background:linear-gradient(90deg,#8a6040,#c45c26);transform:scaleX(0)}.weapon-rail-slot[data-ready=true] .weapon-rail-cd i{background:linear-gradient(90deg,#6a8a50,#9ab870)}.weapon-rail-slot[data-colorblind=true] .weapon-rail-cd i{background:repeating-linear-gradient(90deg,#c4a060 0 3px,#6a5a40 3px 6px)}.weapon-rail-slot[data-reduced=true] .weapon-rail-cd i{transition:none}.soft-lock-reticle{position:absolute;left:50%;top:46%;width:54px;height:54px;transform:translate(-50%,-50%);pointer-events:none;z-index:3}.soft-lock-notch{position:absolute;background:#d2c8aabf;box-shadow:0 0 0 1px #00000059}.soft-lock-notch-n,.soft-lock-notch-s{left:50%;width:10px;height:2px;transform:translate(-50%)}.soft-lock-notch-n{top:0}.soft-lock-notch-s{bottom:0}.soft-lock-notch-e,.soft-lock-notch-w{top:50%;width:2px;height:10px;transform:translateY(-50%)}.soft-lock-notch-e{right:0}.soft-lock-notch-w{left:0}.soft-lock-reticle[data-tint=green] .soft-lock-notch{background:#78c86ed9}.soft-lock-reticle[data-tint=amber] .soft-lock-notch{background:#dcaa46d9}.soft-lock-reticle[data-tint=red] .soft-lock-notch{background:#d26446d9}.soft-lock-reticle[data-colorblind=true] .soft-lock-notch{background:#e8e0d4}.soft-lock-reticle[data-pulse=true]{animation:soft-lock-pulse .35s ease-out 1}@keyframes soft-lock-pulse{0%{transform:translate(-50%,-50%) scale(1.35);opacity:.35}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.outcome-beat{position:absolute;inset:0;display:grid;place-content:center;gap:.35rem;padding:1.5rem;text-align:center;pointer-events:none;z-index:6;background:radial-gradient(ellipse at 50% 42%,rgb(40 28 18 / 55%),transparent 55%),linear-gradient(180deg,#08060559,#0806059e)}.outcome-beat[hidden]{display:none!important}.outcome-beat-title{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(1.1rem,2.8vw,1.55rem);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}.outcome-beat-detail{margin:0;font-size:.92rem;color:var(--muted);max-width:28rem}.outcome-beat[data-outcome=dead] .outcome-beat-title{color:#e07050;text-shadow:0 0 28px rgb(212 92 74 / 35%)}.outcome-beat[data-outcome=extracted] .outcome-beat-title{color:#c9a227;text-shadow:0 0 28px rgb(201 162 39 / 30%)}.death-report-card,.extract-report-card{margin:0 0 .85rem;padding:.65rem .75rem;border:1px solid rgb(90 70 50 / 55%);background:linear-gradient(180deg,#241c14d9,#120e0cbf);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.death-report-kicker{margin:0 0 .2rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.death-report-title{margin:0;font-size:1.05rem;color:var(--ink)}.death-report-detail{margin:.25rem 0 0;font-size:.85rem;color:#c4b49a}.help--compact{font-size:.78rem;opacity:.7}.altitude-tape[data-nap-pulse=true] .nap{color:#c9a227;text-shadow:0 0 6px rgb(201 162 39 / 45%);animation:nap-pulse 2.4s ease-in-out infinite}@keyframes nap-pulse{0%,to{opacity:.55}50%{opacity:1}}.bar{position:relative;height:12px;background:#00000073;border:1px solid var(--line)}.bar:after{content:"";position:absolute;inset:0;width:var(--v, 0%);background:var(--shield)}.bar.hull:after{background:var(--hull)}.bar.armor:after{background:#8a7a6a}.bar.boost:after{background:var(--boost)}.bar span{position:absolute;left:.35rem;top:-.05rem;font-size:.62rem;letter-spacing:.08em;z-index:1}.jammer-indicator{position:absolute;left:50%;top:3.2rem;transform:translate(-50%);display:flex;align-items:center;gap:.35rem;padding:.25rem .55rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.08em;color:#6ec6ff;background:repeating-linear-gradient(-45deg,#141e28d1,#141e28d1 4px,#1e303ed1 4px 8px);border:1px solid rgb(110 198 255 / 45%);animation:jammer-pulse 1.2s ease-in-out infinite;pointer-events:none;z-index:2}.jammer-indicator .jammer-icon{font-size:.85rem;line-height:1;letter-spacing:0}.jammer-indicator .jammer-text{display:flex;flex-direction:column;gap:.05rem;line-height:1.15}.jammer-indicator .jammer-sub{font-size:.58rem;letter-spacing:.06em;color:#e8e0d4c7}.jammer-indicator[hidden]{display:none}html.colorblind-telegraphs .jammer-indicator,.jammer-indicator[data-colorblind=true]{color:#e0a030;border-color:#e0a0308c;background:repeating-linear-gradient(45deg,#281c0cd9,#281c0cd9 3px,#372810d9 3px 6px)}@keyframes jammer-pulse{0%,to{opacity:.7}50%{opacity:1}}.volume-sliders{display:grid;gap:.35rem;margin-top:.2rem}.volume-sliders label{display:grid;grid-template-columns:3.5rem 1fr 2.2rem;align-items:center;gap:.4rem;color:var(--muted);font-size:.72rem}.volume-sliders input[type=range]{width:100%;accent-color:var(--accent)}.volume-sliders output{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;color:var(--ink);text-align:right}.hit-vignette{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:1;background:conic-gradient(from var(--bearing, 0deg) at 50% 50%,rgb(212 92 74 / 55%) 0deg 70deg,transparent 70deg 360deg);mix-blend-mode:multiply;transition:opacity .05s linear}.hit-vignette[data-active]{opacity:var(--intensity, .5)}.message{position:absolute;left:50%;top:.85rem;transform:translate(-50%);max-width:min(80%,520px);padding:.35rem .7rem;background:#14110eb8;border:1px solid var(--line);color:var(--ink);font-size:.88rem;text-align:center;pointer-events:none}.carrier-nav{position:absolute;left:50%;top:3.1rem;transform:translate(-50%);display:flex;align-items:center;gap:.45rem;padding:.28rem .65rem;background:#14110ec7;border:1px solid #b08a3a;color:#d4b06a;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;letter-spacing:.04em;pointer-events:none;z-index:3}.carrier-nav[hidden]{display:none}.carrier-nav-arrow{display:inline-block;font-size:.95rem;transform:rotate(var(--bearing, 0deg));transform-origin:center center}.carrier-nav-text{font-weight:650}.world-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.world-label{position:absolute;transform:translate(-50%,-120%);padding:.12rem .35rem;background:#0e0c0ab8;border:1px solid rgb(180 160 120 / 35%);color:#e8dcc8;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 3px rgb(0 0 0 / 85%)}.world-label-carrier{border-color:#b08a3a;color:#d4b06a;font-weight:700;font-size:.74rem}.world-label-poi[data-kind=scrap_field]{border-color:#b08a3a}.world-label-poi[data-kind=relay]{border-color:#5a8aaa}.world-label-poi[data-kind=ambush]{border-color:#b05a3a}.world-label-poi[data-kind=cache]{border-color:#6a8a52}.carrier-nav[data-kind=boss_arena]{border-color:#c45c26;color:#ffb080}.world-label-guardian{border-color:#ff8a4a;color:#ffc8a0;font-weight:700;font-size:.72rem;letter-spacing:.08em}.world-label-poi[data-kind=boss_arena]{border-color:#c45c26;color:#ffb080}.world-label-poi[data-near="1"]{font-weight:700;background:#14110ee0}.status{position:absolute;inset:0;display:grid;place-items:center;padding:2rem;background:#0e0c0ac7;color:#fff;font-size:1.1rem;font-weight:650;text-align:center}.status[hidden]{display:none}.carrier-bay{position:absolute;top:.6rem;left:.6rem;z-index:3;width:min(340px,calc(100% - 1.2rem));max-height:calc(100% - 1.2rem);overflow:auto;color:var(--ink);font-size:.8rem;background:#14110eeb;border:1px solid var(--line);padding:.55rem .65rem .7rem}.carrier-bay[hidden]{display:none}.carrier-bay header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;font-family:IBM Plex Mono,ui-monospace,monospace}.bay-section{margin-top:.55rem}.bay-section h3{margin:0 0 .3rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:.3rem}.chip,.recipe-row button,.launch-btn{appearance:none;border:1px solid var(--line);background:#241f1a;color:var(--ink);font:inherit;font-size:.72rem;padding:.35rem .45rem;cursor:pointer}.chip[data-selected=true]{border-color:var(--accent);color:#fff}.chip:disabled,.recipe-row button:disabled,.launch-btn:disabled{opacity:.45;cursor:not-allowed}.recipe-list{display:grid;gap:.35rem}.bay-craft-hint{margin:0 0 .35rem;color:var(--muted);font-size:.68rem;line-height:1.35}.recipe-group{margin:.45rem 0 .1rem;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.weapon-slots{display:grid;gap:.35rem;margin-top:.35rem}.weapon-slot-row{display:grid;gap:.2rem}.weapon-slot-label{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.recipe-slot{display:inline-block!important;margin:.1rem 0 .15rem;padding:.05rem .3rem;border:1px solid var(--line);color:var(--accent)!important;font-size:.62rem!important;letter-spacing:.06em;text-transform:uppercase}.recipe-row{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:center;padding:.3rem 0;border-top:1px solid rgb(58 50 40 / 70%)}.recipe-row strong,.recipe-row span,.recipe-row em{display:block}.recipe-row span,.recipe-row em{color:var(--muted);font-style:normal;font-size:.68rem}.bay-actions{display:grid;gap:.35rem}.launch-btn{background:var(--accent);border-color:#8a3c14;color:#fff;font-weight:650;padding:.55rem .6rem}.bay-actions .inline{display:flex;align-items:center;gap:.35rem;color:var(--muted)}.quality-select{flex-wrap:wrap}.quality-select select,.pause-audio .quality-select select{background:color-mix(in srgb,var(--panel) 88%,#000);color:var(--ink);border:1px solid color-mix(in srgb,var(--muted) 45%,transparent);border-radius:.3rem;padding:.2rem .4rem;font:inherit}.bay-msg{margin:.45rem 0 0;color:var(--muted)}.ship-status{font-size:.72rem;line-height:1.35}.ship-status h4{margin:.4rem 0 .15rem;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ship-status ul{margin:0;padding:0 0 0 .9rem}.ship-status li span,.ship-status .muted,.ship-status .status-banked,.ship-status .status-trail{color:var(--muted)}.ship-status .status-row strong,.ship-status .status-row span,.ship-status .status-row em{display:block}.ship-status .status-row em{color:var(--muted);font-style:normal;font-size:.68rem}.pause-status{position:absolute;top:50%;left:50%;z-index:4;width:min(380px,calc(100% - 1.5rem));max-height:min(78%,520px);overflow:auto;transform:translate(-50%,-50%);color:var(--ink);font-size:.8rem;background:#14110ef0;border:1px solid var(--line);padding:.7rem .8rem .85rem;box-shadow:0 12px 40px #00000073}.pause-status[hidden]{display:none}.pause-status header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;font-family:IBM Plex Mono,ui-monospace,monospace}.pause-hint{color:var(--muted);font-size:.7rem}.pause-zone{margin-bottom:.45rem;padding-bottom:.4rem;border-bottom:1px solid rgb(58 50 40 / 70%)}.pause-zone span,.pause-zone em{display:block}.pause-zone em{color:var(--muted);font-style:normal;font-size:.7rem}.pause-zone span[data-danger="1"]{color:#8a9a6a}.pause-zone span[data-danger="2"]{color:#c45c26}.pause-zone span[data-danger="3"]{color:#e04830}.bar.extract:after{background:#7dba6a}.touch-controls{position:absolute;inset:0;pointer-events:none;touch-action:none;z-index:2}.touch-controls[hidden]{display:none}.touch-controls .stick{pointer-events:auto;touch-action:none;position:absolute;bottom:max(1.2rem,env(safe-area-inset-bottom));width:128px;height:128px;border:2px solid rgb(196 92 38 / 65%);border-radius:999px;background:#00000059}.touch-controls .stick.move{left:max(1rem,env(safe-area-inset-left))}.touch-controls .stick.aim{right:max(1rem,env(safe-area-inset-right))}.touch-cluster-move{pointer-events:auto;position:absolute;left:max(1rem,env(safe-area-inset-left));bottom:calc(max(1.2rem,env(safe-area-inset-bottom)) + 138px);display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:72px}.touch-rocker{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);overflow:hidden;background:#1c1814d9}.touch-rocker .touch-btn{border:0;border-radius:0;min-height:40px}.touch-rocker-up{border-bottom:1px solid rgb(255 255 255 / 10%)!important}.touch-cluster-aim{pointer-events:auto;position:absolute;right:max(1rem,env(safe-area-inset-right));bottom:calc(max(1.2rem,env(safe-area-inset-bottom)) + 138px);display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:76px}.touch-btn{appearance:none;position:relative;overflow:hidden;border:1px solid var(--line);background:#1c1814d9;color:var(--ink);padding:.45rem .35rem;font:inherit;font-size:.75rem;touch-action:none;min-height:44px;min-width:44px}.touch-btn:disabled{opacity:.38}.touch-btn.on-cooldown{color:#e8e0d48c}.touch-btn .touch-cd{position:absolute;left:0;right:0;bottom:0;height:var(--cd, 0%);background:#c45c2659;pointer-events:none;transition:height 60ms linear}.touch-btn .touch-btn-label{position:relative;z-index:1}.touch-btn.coach-pulse{animation:touch-btn-pulse .85s ease-out 1;box-shadow:inset 0 0 0 1px #e8a048b3}@keyframes touch-btn-pulse{0%{border-color:#e8a048f2;background:#483018eb;transform:scale(1)}35%{border-color:#ffc460;background:#60401cf2;transform:scale(1.08)}to{border-color:var(--line);background:#1c1814d9;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.touch-btn.coach-pulse{animation:none;border-color:#e8a048e5}}.touch-launch[hidden]{display:none!important}@media(max-width:768px),(pointer:coarse){.touch-controls .stick{width:140px;height:140px}.touch-controls .stick.move:after,.touch-controls .stick.aim:after{content:attr(aria-label);position:absolute;inset:auto 0 -1.35rem;text-align:center;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#e8e0d4b8;pointer-events:none}.touch-cluster-move,.touch-cluster-aim{bottom:calc(max(1.2rem,env(safe-area-inset-bottom)) + 150px);width:80px;gap:.45rem}.touch-btn{font-size:.8rem;padding:.55rem .4rem}}@media(max-width:640px){#app{padding:.65rem}#game-shell{min-height:64vh}.help{font-size:.8rem}}.skill-pick[hidden]{display:none!important}.skill-pick{pointer-events:auto;position:fixed;inset:0;z-index:2147483000;display:grid;place-items:start center;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:#0a0806f0;touch-action:manipulation;overflow-y:auto;-webkit-overflow-scrolling:touch}.skill-pick-panel,.skill-pick-choices,.skill-install-btn,.skill-pick-skip{pointer-events:auto;touch-action:manipulation}.skill-pick-panel{width:min(920px,100%);display:grid;gap:.85rem;padding-bottom:.5rem}.skill-pick-header{text-align:center;color:var(--ink)}.skill-pick-header strong{display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--boost)}.skill-pick-hint{display:block;color:var(--muted);font-size:.88rem;margin:.35rem 0 .65rem;line-height:1.35}.skill-pick-choices{display:grid;gap:.65rem;width:100%;margin-top:.5rem}.skill-install-btn{appearance:none;-webkit-appearance:none;display:block;width:100%;min-height:56px;padding:.85rem 1rem;border:2px solid var(--accent);background:#c45c2666;color:var(--ink);font:inherit;font-size:1.05rem;font-weight:600;line-height:1.25;text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgb(196 92 38 / 45%)}.skill-install-btn:active{transform:scale(.98);background:#c45c268c}.skill-pick-skip{appearance:none;-webkit-appearance:none;margin:.75rem auto 0;display:block;width:100%;max-width:420px;padding:.65rem .85rem;border:1px solid var(--line);background:#1c1814cc;color:var(--ink);font:inherit;font-size:.92rem;min-height:48px;cursor:pointer;touch-action:manipulation}.skill-pick-skip:active{color:var(--ink);border-color:var(--muted)}.skill-pick-error{margin:0;text-align:center;color:var(--muted);font-size:.85rem}.skill-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.skill-action{appearance:none;border:1px solid var(--line);background:#1c1814eb;color:var(--ink);font:inherit;font-size:.85rem;padding:.55rem .85rem;min-height:44px;cursor:pointer;touch-action:manipulation}.skill-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;width:100%}.skill-card{text-align:left;border:2px solid var(--branch, var(--line));background:#1c1814eb;color:var(--ink);padding:.85rem .9rem .75rem;touch-action:manipulation;width:100%}.skill-card.keystone{box-shadow:0 0 0 1px #c45c2659}.skill-banish-btn{appearance:none;display:block;margin-top:.55rem;padding:.45rem .65rem;font:inherit;font-size:.78rem;color:var(--muted);border:1px solid var(--line);background:transparent;cursor:pointer;touch-action:manipulation;min-height:40px;width:100%}.skill-banish-btn:active{color:#e04830;border-color:#e04830}@media(max-width:1024px),(pointer:coarse),(hover:none){.skill-pick{padding-top:max(1rem,env(safe-area-inset-top))}.skill-cards{display:none}.skill-install-btn{min-height:58px;font-size:1.08rem}}.skill-key{display:inline-block;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;color:var(--branch, var(--accent));border:1px solid currentColor;padding:.1rem .35rem;margin-bottom:.35rem}.skill-card strong{display:block;font-size:1rem;margin-bottom:.2rem}.skill-card em{display:block;font-style:normal;font-size:.68rem;color:var(--muted);margin-bottom:.45rem}.skill-card p{margin:0;font-size:.82rem;color:var(--muted);line-height:1.35}.status-last-run{margin:.35rem 0 .65rem;padding:.45rem .55rem;background:#00000040;border-left:3px solid var(--accent);font-size:.82rem;color:var(--muted)}.combo-meter{position:relative;display:flex;align-items:center;gap:.35rem}.combo-meter:before{content:"";position:absolute;inset:-4px -6px;border-radius:4px;border:2px solid transparent;opacity:0;pointer-events:none}.combo-meter[data-active=true]:before{opacity:1;border-color:#c45c268c;background:conic-gradient(rgb(196 92 38 / 35%) 0 var(--drain, 0%),transparent var(--drain, 0%) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.combo-meter[data-pulse=true] .combo-tag{color:#ffe08a;transform:scale(1.12);transition:transform 80ms ease-out,color 80ms ease-out}@media(prefers-reduced-motion:reduce){.combo-meter[data-pulse=true] .combo-tag{transform:none}.soft-lock-reticle[data-pulse=true]{animation:none}.outcome-beat{background:#0806058c}}.combo-tag{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;color:var(--accent);white-space:nowrap}.score-feed{position:absolute;top:.85rem;right:.85rem;width:min(200px,38%);display:grid;gap:.25rem;z-index:2;pointer-events:none}.feed-row{display:flex;justify-content:space-between;gap:.5rem;padding:.2rem .45rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;background:#0e0c0ac7;border:1px solid var(--line)}.feed-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.feed-points{color:var(--boost)}.feed-multi .feed-label,.feed-chain .feed-label{color:var(--accent)}.fps-overlay{position:absolute;top:.45rem;right:.55rem;z-index:40;display:flex;gap:.45rem;padding:.2rem .4rem;background:#0c0a08b8;border:1px solid rgb(180 160 120 / 28%);color:#d8c8b0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem;letter-spacing:.04em;pointer-events:none}.fps-overlay[hidden]{display:none}.score-popups{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.score-popup{position:absolute;display:flex;flex-direction:column;align-items:center;font-family:IBM Plex Mono,ui-monospace,monospace;text-shadow:0 1px 4px rgb(0 0 0 / 80%)}.score-popup em{font-style:normal;font-size:.72rem;color:var(--accent);letter-spacing:.06em}.score-popup strong{font-size:.85rem;color:var(--boost)}.run-summary{position:fixed;inset:0;z-index:10002;display:grid;place-items:end center;background:radial-gradient(ellipse at 50% 18%,rgb(60 32 18 / 45%),transparent 55%),#0a0806e5;padding:max(.5rem,env(safe-area-inset-top)) max(.65rem,env(safe-area-inset-right)) max(.65rem,env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left));touch-action:manipulation}.run-summary[hidden]{display:none}.run-summary--enter .run-summary-panel{animation:debrief-enter .42s cubic-bezier(.2,.8,.2,1) both}@keyframes debrief-enter{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.run-summary-panel{width:min(520px,100%);max-height:min(92dvh,720px);overflow:auto;background:linear-gradient(180deg,#241e18f5,#16120efa);border:1px solid var(--line);padding:.85rem .95rem .75rem;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}.debrief-hero{margin:0 0 .75rem;padding:.55rem .65rem .7rem;border:1px solid rgb(90 70 50 / 45%);background:linear-gradient(180deg,#281e16cc,#100c0ab3)}.debrief-kicker{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.debrief-hero h2,#run-summary-title{margin:.2rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(1.35rem,5vw,1.85rem);letter-spacing:.08em;text-transform:uppercase;line-height:1.1}.debrief-hero[data-tone=crush] h2{color:#e07050;text-shadow:0 0 24px rgb(212 92 74 / 35%)}.debrief-hero[data-tone=near] h2{color:#e0a060;text-shadow:0 0 22px rgb(224 160 96 / 30%)}.debrief-hero[data-tone=triumph] h2,.debrief-hero[data-tone=secure] h2{color:#d4b05a;text-shadow:0 0 22px rgb(201 162 39 / 28%)}.debrief-sub,.run-summary-sub{margin:.4rem 0 0;color:#c4b49a;font-size:.84rem;line-height:1.35}.debrief-heroes{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.7rem}.debrief-hero-stat{padding:.45rem .55rem;border:1px solid var(--line);background:#00000047}.debrief-hero-stat span{display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.debrief-hero-stat strong{display:block;margin-top:.15rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.35rem;color:var(--ink)}.debrief-killcard .debrief-kill-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:.45rem 0 0}.debrief-kill-meta div{padding:.3rem .35rem;background:#00000038;border:1px solid rgb(70 55 40 / 50%)}.debrief-kill-meta dt{margin:0;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.debrief-kill-meta dd{margin:.1rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;color:var(--ink)}.debrief-viz{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.65rem 0 .75rem}.debrief-chart{padding:.45rem .5rem .5rem;border:1px solid var(--line);background:#00000038;min-width:0}.debrief-chart header{display:flex;justify-content:space-between;align-items:baseline;gap:.35rem;margin-bottom:.3rem}.debrief-chart h3{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}.debrief-chart header span{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;color:var(--ink)}.debrief-chart--combo{grid-column:1 / -1}.debrief-combo-peak{margin:.15rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem}.debrief-combo-peak strong{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.6rem;color:var(--accent)}.debrief-combo-peak span{color:var(--muted);font-size:.8rem}.debrief-donut-wrap{display:flex;align-items:center;gap:.45rem}.debrief-donut,.debrief-spark,.debrief-bandbar{width:100%;height:auto;display:block}.debrief-donut{width:72px;flex:0 0 72px}.debrief-donut-total{fill:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.debrief-legend{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;font-size:.68rem;color:var(--muted)}.debrief-legend--row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-top:.35rem}.debrief-legend i{display:inline-block;width:.45rem;height:.45rem;margin-right:.3rem;vertical-align:middle}.debrief-bars{list-style:none;margin:0;padding:0;display:grid;gap:.28rem}.debrief-bars li{display:grid;grid-template-columns:3.2rem 1fr 1.6rem;gap:.3rem;align-items:center;font-size:.68rem}.debrief-bar-label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debrief-bar-track{height:.45rem;background:#00000059;border:1px solid var(--line)}.debrief-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#c45c26bf,#c45c26)}.debrief-bar-val{font-family:IBM Plex Mono,ui-monospace,monospace;text-align:right;color:var(--ink)}.debrief-details{display:grid;gap:.35rem}.debrief-fold{border:1px solid var(--line);background:#0000002e;padding:0 .55rem}.debrief-fold>summary{cursor:pointer;list-style:none;padding:.55rem 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.debrief-fold>summary::-webkit-details-marker{display:none}.debrief-fold[open]>summary{color:var(--ink);border-bottom:1px solid var(--line);margin-bottom:.45rem}.debrief-fold>:not(summary){padding-bottom:.55rem}.run-summary-body{min-height:120px}.run-summary-panel footer,.run-summary-footer{position:sticky;bottom:0;margin-top:.75rem;padding-top:.55rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem;color:var(--muted);font-size:.78rem;background:linear-gradient(180deg,transparent,rgb(22 18 14 / 96%) 28%)}.run-summary-relaunch{appearance:none;border:1px solid var(--accent);background:#c45c2638;color:var(--ink);font:inherit;font-size:.95rem;padding:.7rem 1.2rem;min-height:48px;cursor:pointer;touch-action:manipulation;flex:1 1 100%}.run-summary-relaunch:active{transform:scale(.98)}.run-summary-hint,.run-summary-hint-keyboard{color:var(--muted);text-align:center;width:100%}@media(max-width:768px),(pointer:coarse){.run-summary{place-items:end stretch}.run-summary-panel{width:100%;max-height:min(88dvh,720px)}.debrief-viz,.debrief-killcard .debrief-kill-meta{grid-template-columns:1fr}.run-summary-relaunch{font-size:1.05rem}}@media(prefers-reduced-motion:reduce){.run-summary--enter .run-summary-panel{animation:none}}.grade-badge{display:inline-grid;place-items:center;width:3rem;height:3rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.6rem;font-weight:700;border:2px solid var(--line);margin-bottom:.5rem}.grade-S{color:gold;border-color:gold}.grade-A{color:#6ec6ff;border-color:#6ec6ff}.grade-B{color:#8a9a6a;border-color:#8a9a6a}.grade-C{color:var(--accent);border-color:var(--accent)}.grade-D{color:var(--hull);border-color:var(--hull)}.summary-score{margin:0 0 .75rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.35rem}.breakdown-table{width:100%;border-collapse:collapse;font-size:.85rem}.breakdown-table td,.breakdown-table th{padding:.3rem .15rem;border-bottom:1px solid var(--line)}.breakdown-table td:last-child,.breakdown-table th:last-child{text-align:right;font-family:IBM Plex Mono,ui-monospace,monospace}.summary-stats{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:0}.summary-stats div{padding:.45rem .5rem;background:#00000038;border:1px solid var(--line)}.summary-stats dt{margin:0;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.summary-stats dd{margin:.15rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace}.summary-list{margin:0;padding-left:1.1rem;font-size:.88rem}.summary-empty,.summary-hint{color:var(--muted);font-size:.88rem}.skill-preview{display:grid;gap:.25rem}.skill-branch-row{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem}.incursion-banner{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);z-index:4;padding:.45rem 1rem;background:#b4281ee0;border:1px solid #ff6655;font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:700;letter-spacing:.12em;pointer-events:none}.incursion-banner[data-tone=enter]{background:#a03016e5;border-color:#ff8a4a;color:#ffe0c8;letter-spacing:.16em}.incursion-banner[data-tone=clear]{background:#305c2ae5;border-color:#a0c070;color:#e8f0d8;letter-spacing:.14em}.incursion-banner[hidden]{display:none}.leaderboard-panel{position:absolute;right:.6rem;bottom:.6rem;z-index:3;width:min(220px,calc(100% - 1.2rem));background:#14110eeb;border:1px solid var(--line);padding:.5rem .6rem;font-size:.72rem}.leaderboard-panel[hidden]{display:none}.lb-row{display:grid;grid-template-columns:1.5rem 1fr auto;gap:.35rem;align-items:center;padding:.15rem 0}.tier-scrap{color:#888}.tier-bronze{color:#cd7f32}.tier-silver{color:#aaa}.tier-gold{color:gold}.tier-velocity{color:#6ec6ff}
