:root{color-scheme:dark;font-family:Segoe UI Variable Display,Segoe UI,sans-serif;background:radial-gradient(circle at top,rgba(255,139,64,.25),transparent 34%),radial-gradient(circle at 20% 20%,rgba(79,202,255,.16),transparent 24%),linear-gradient(180deg,#04131d,#081c27 45%,#05070d);color:#f4efe5}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh;background:linear-gradient(140deg,#070b10eb,#03161dd1),radial-gradient(circle at top,rgba(255,165,92,.15),transparent 28%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(transparent 0%,rgba(255,255,255,.03) 48%,transparent 100%);background-size:100% 6px;opacity:.22;mix-blend-mode:screen}.app-shell{width:min(1240px,calc(100vw - 32px));margin:0 auto;padding:32px 0 40px;animation:rise-in .52s ease-out both}.hero{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.eyebrow,.label{margin:0;color:#7fc0d7;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}h1{margin:10px 0 0;font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:clamp(2.5rem,6vw,4.7rem);line-height:.95;text-transform:uppercase}.hero-copy{max-width:360px;margin:0;color:#bdd4df;line-height:1.5}.hero-side{display:grid;justify-items:end;gap:14px}.language-switcher{display:inline-flex;gap:8px;padding:6px;border-radius:999px;border:1px solid rgba(124,200,229,.16);background:#040e15b8}.language-button,.action-button,.route-choice--interactive,.upgrade-option--interactive,.touch-button{appearance:none;border:none;font:inherit;color:inherit}.language-button{min-width:54px;padding:10px 14px;border-radius:999px;background:transparent;color:#9eb8c4;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.language-button.is-active{background:#ff914d2e;color:#ffe2ca}.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:18px}.stage-card,.panel{position:relative;overflow:hidden;border:1px solid rgba(147,204,228,.18);border-radius:24px;background:linear-gradient(180deg,#081722f0,#030a11f2),radial-gradient(circle at top left,rgba(255,145,77,.12),transparent 28%);box-shadow:0 18px 50px #00000059,inset 0 1px #ffffff0a}.stage-card:after,.panel:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 36%)}.stage-card{padding:16px}.stage-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.stage-head strong{display:block;margin-top:6px}.status-pill{border-radius:999px;padding:10px 14px;background:#ff934d24;border:1px solid rgba(255,147,77,.3);color:#ffd9bf;font-size:.9rem}.viewport{position:relative;min-height:clamp(380px,60vh,760px);border-radius:18px;overflow:hidden;border:1px solid rgba(124,200,229,.18);background:radial-gradient(circle at 50% 20%,rgba(79,202,255,.16),transparent 32%),linear-gradient(180deg,#04121b,#03070c)}#game-canvas{display:block;width:100%;height:100%}.overlay{position:absolute;inset:0;display:grid;place-items:center;box-sizing:border-box;padding:24px;background:#02090ebd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.overlay.hidden{display:none}.overlay-card{width:min(100%,640px);max-height:100%;min-height:0;box-sizing:border-box;padding:24px;border-radius:22px;border:1px solid rgba(124,200,229,.2);background:linear-gradient(180deg,#08111af5,#030a11f0),radial-gradient(circle at top left,rgba(255,145,77,.16),transparent 32%);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.overlay-card h2{margin:10px 0 8px;font-family:Bahnschrift,Arial Narrow,sans-serif;text-transform:uppercase;letter-spacing:.04em}.overlay-card p{margin:0 0 16px;color:#c7dbe3;line-height:1.5}.action-row{display:flex;gap:12px;margin:0 0 16px}.action-button{width:100%;padding:14px 18px;border-radius:16px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-family:Bahnschrift,Arial Narrow,sans-serif;background:linear-gradient(135deg,#ff924d3d,#6fd8ff2e);border:1px solid rgba(255,173,116,.32);transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.action-button:hover,.language-button:hover,.route-choice--interactive:hover,.upgrade-option--interactive:hover,.touch-button:hover{transform:translateY(-1px)}.upgrade-list{display:grid;gap:12px}.hangar-intel{display:grid;gap:12px;margin:16px 0}.route-choice-list,.route-stage-list{display:grid;gap:12px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upgrade-option{padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.upgrade-option--available{border-color:#7ae3aa42;background:#7ae3aa0f}.upgrade-option--insufficient{border-color:#ffc7782e}.upgrade-option strong{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:6px}.upgrade-option span{color:#dfebf0}.upgrade-option p{margin:0;font-size:.95rem}.upgrade-option em{color:var(--accent, #7fc0d7);font-style:normal;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.route-map{display:grid;gap:14px}.route-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-overview div,.route-stage,.route-node,.route-choice,.route-extract{border-radius:16px;padding:14px 16px;background:#ffffff09;border:1px solid rgba(255,255,255,.05)}.route-overview span,.route-stage-head span,.route-node-head span,.route-node-meta span,.route-choice-meta span{color:#9eb8c4;font-size:.82rem}.route-overview strong,.route-stage-head strong,.route-node-head strong,.route-extract strong{display:block;margin-top:8px}.route-stage{display:grid;gap:12px}.route-stage-head,.route-node-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.route-stage-copy,.route-node p,.route-choice p,.route-extract p{margin:0;color:#c7dbe3;line-height:1.45}.route-node-grid{display:grid;gap:10px}.route-node-meta,.route-choice-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.route-node-meta span,.route-choice-meta span{padding:6px 10px;border-radius:999px;background:#ffffff0a}.route-node--available,.route-choice--available{border-color:#6fd8ff3d}.route-node--current,.route-choice--current{border-color:#ffcf7e42}.route-node--cleared{border-color:#7ae3aa38}.route-node--skipped{opacity:.72}.route-node--locked{opacity:.58}.route-choice strong{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}.route-choice--interactive,.upgrade-option--interactive{width:100%;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,opacity .16s ease}.route-choice--interactive:disabled,.upgrade-option--interactive:disabled{cursor:not-allowed;opacity:.68}.route-choice em{color:#ffca8a;font-style:normal;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.route-choice--extract,.route-extract--live{border-color:#ffb7763d;background:#ffb1660f}.route-extract--used{border-color:#7ae3aa3d;background:#7ae3aa0f}.telemetry{display:grid;gap:18px}.panel{padding:20px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.stats-grid div,.summary-grid div,.feed-card,.controls-list li,.event-item{border-radius:16px;padding:14px 16px;background:#ffffff09;border:1px solid rgba(255,255,255,.05)}.stats-grid span,.summary-grid span,.controls-list span{display:block;color:#9eb8c4;font-size:.86rem;margin-bottom:8px}.stats-grid strong,.summary-grid strong,.feed-card strong,.controls-list strong{font-family:Consolas,SFMono-Regular,monospace;font-size:1.15rem}.feed-card p{margin:10px 0 0;color:#c7dbe3;line-height:1.45}.feed-card--mutation{border-color:#6fd8ff3d;background:#6fd8ff0d}.feed-card--briefing{border-color:#ffbc7638;background:#ffbc760d}.controls-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:12px}.event-log{display:grid;gap:12px;max-height:320px;overflow:auto;margin-top:16px;padding-right:4px}.event-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.event-meta strong{font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}.event-meta span{color:#9eb8c4;font-size:.82rem;font-family:Consolas,SFMono-Regular,monospace}.event-item p{margin:10px 0 0;color:#c7dbe3;line-height:1.45}.event-item--run_won,.event-item--run_extracted,.event-item--encounter_start,.event-item--node_cleared,.event-item--world_mutation,.event-item--route_options_ready{border-color:#6fd8ff38}.event-item--run_lost,.event-item--player_hit{border-color:#ff916638}.event-item--route_choice_locked,.event-item--extraction_ready{border-color:#ffbc7633}.event-item--upgrade_picked,.event-item--salvage_banked{border-color:#ffc97633}.controls-list li{display:flex;justify-content:space-between;gap:16px;align-items:center}.touch-hud{position:absolute;inset:auto 18px 18px;display:flex;justify-content:space-between;gap:16px;pointer-events:none}.touch-hud.hidden{display:none}.touch-group{display:flex;gap:10px;pointer-events:auto}.touch-group--movement{align-items:end}.touch-group--action{margin-left:auto}.touch-button{min-width:74px;min-height:74px;padding:12px;border-radius:20px;cursor:pointer;display:grid;gap:6px;place-items:center;text-align:center;background:#040e15c2;border:1px solid rgba(124,200,229,.24);color:#dfebf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none}.touch-button strong{font-family:Consolas,SFMono-Regular,monospace;font-size:1rem}.touch-button span{font-size:.76rem;color:#9eb8c4}.touch-button--thrust,.touch-button--fire,.touch-button.is-active{border-color:#ffb06d57;background:#ff934d24}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.app-shell{width:min(100vw - 24px,1240px);padding-top:20px}.hero{align-items:start;flex-direction:column}.hero-side{justify-items:start}.layout{grid-template-columns:1fr}}@media(max-width:640px){.overlay{align-items:stretch;padding:16px}.overlay-card{width:100%;max-height:100%;padding:20px 18px}.stats-grid{grid-template-columns:1fr 1fr}.route-overview,.summary-grid{grid-template-columns:1fr}.controls-list li{flex-direction:column;align-items:start}.touch-hud{inset:auto 12px 12px;flex-direction:column;align-items:stretch}.touch-group{justify-content:space-between}.touch-button{flex:1;min-width:0}}
