@font-face{font-family:VGA;src:url(/vga.ttf) format("truetype");font-display:swap}.run-strip{position:absolute;left:24px;right:24px;bottom:14px;display:flex;gap:10px;align-items:center;font-size:12px;z-index:4;pointer-events:none}.run-strip>span{margin-right:auto;color:#a5c8ce;background:#080e22dc;padding:10px}.run-strip button,.run-strip select{pointer-events:auto;background:#0a1429;color:#b8e3dc;border:1px solid #354c66;padding:10px;font:inherit;cursor:pointer}.run-strip button[aria-pressed=true]{background:#1a3c40;border-color:#90efce}.run-modal{position:absolute;inset:0;background:#020713bb;z-index:20;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(3px)}.run-modal[hidden]{display:none}.run-modal section{position:relative;background:#0b1427;border:1px solid #577988;padding:36px;max-width:660px;width:100%;max-height:100%;overflow-y:auto;box-shadow:12px 12px #03071499}.run-modal h2{font-weight:400;font-size:30px;color:#bcffe4;margin:0 0 18px}.run-modal p{color:#98b5c8;font-size:14px;line-height:1.7}.close-run{position:absolute;right:12px;top:9px;font-size:24px}.seed-label{display:flex;align-items:center;gap:20px;color:#b6ced6;margin:25px 0}.seed-label input{background:#060d1b;border:1px solid #476678;color:#b8ffe5;padding:13px;width:200px}.run-actions{display:flex;gap:12px;flex-wrap:wrap}.run-actions button,.upgrade-options button{padding:17px;border:1px solid #52807f;color:#baffeb;background:#163038;text-align:left}.upgrade-options{display:flex;gap:12px;margin-top:26px}.upgrade-options button{flex:1;line-height:1.6}.upgrade-options strong{display:block;font-size:16px;font-weight:400;margin-bottom:12px}.upgrade-options span{display:block;font-size:12px;color:#aac0cf}.run-history{white-space:pre-line;font-size:12px!important}.world-page .game-notice{top:64px}.world-page nav a{white-space:nowrap}@media(max-width:700px){.run-strip{left:8px;right:8px;bottom:8px;gap:4px;flex-wrap:wrap;font-size:10px}.run-strip>span{width:100%;padding:5px}.run-strip button,.run-strip select{padding:7px}.world-page .touch-controls{bottom:90px}.run-modal section{padding:24px}.upgrade-options{flex-direction:column}.upgrade-options button{padding:12px}.upgrade-options strong{margin:0}.run-modal h2{font-size:25px}}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{background:#050817;color:#e1eaff;font-family:VGA,Courier New,monospace;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;background:none;border:0;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #7bffe7;outline-offset:5px}button:hover{color:#7bffe7}header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #27334f;background:#080d20;position:relative;z-index:3}.brand{font-size:22px;letter-spacing:2px;display:flex;align-items:center;gap:12px}.brand-mark{color:#7bffe7;font-size:28px}.brand small{font-size:11px;color:#788bac;letter-spacing:0;margin-left:10px}nav{display:flex;gap:8px;align-items:center}nav a{text-decoration:none;color:#8192b4;padding:12px 18px;font-size:13px}nav a.active{color:#081426;background:#b3ffe9}nav a span{opacity:.55;margin-right:12px}.top-actions{display:flex;gap:20px}.top-actions button{font-size:17px}.stage{position:absolute;inset:72px 0 92px;overflow:hidden;background:#050817}.stage canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.scene-label{position:absolute;left:34px;top:25px;pointer-events:none;color:#839ab9;font-size:12px;letter-spacing:1px}.scene-label span{color:#72f9df}.status{position:absolute;right:30px;top:25px;color:#7b8da9;font-size:12px;display:flex;gap:22px}.live-dot{color:#7bffe7}.hero-copy{position:absolute;left:34px;bottom:32px;pointer-events:none;text-shadow:0 2px 15px #020515}.hero-copy .eyebrow{color:#a3ffdf;letter-spacing:3px;font-size:12px}.hero-copy h1{font-size:clamp(38px,6.4vw,100px);font-weight:400;letter-spacing:-5px;line-height:.95;margin:14px 0 18px;color:#e0fff5}.hero-copy p{color:#a3b2ce;margin:0;line-height:1.7;font-size:13px;max-width:410px}.stage-hint{position:absolute;bottom:34px;right:32px;color:#98abc8;font-size:12px;text-align:right;line-height:1.8}.stage-hint b{color:#cce6ee;font-weight:400}.transport{position:absolute;bottom:0;height:92px;width:100%;background:#080d20;border-top:1px solid #27334f;display:flex;align-items:center;padding:0 32px;gap:24px}.play{width:36px;font-size:20px}.chapters{display:flex;gap:5px;flex:1;height:100%;align-items:center}.chapter{position:relative;display:flex;align-items:center;gap:14px;min-width:190px;padding:14px 20px;text-align:left;color:#8391ae}.chapter.active{color:#b3ffe9;background:#121e30}.chapter span{font-size:11px;color:#5b728e}.chapter small{display:block;color:#74839f;font-size:10px;margin-top:6px}.chapter .bar{position:absolute;bottom:0;left:0;height:2px;background:#89ffe4;width:0}.transport-tail{font-size:11px;color:#7082a2;line-height:1.8;text-align:right}.settings{position:absolute;right:24px;top:64px;width:260px;background:#0c132bef;border:1px solid #314566;padding:23px;z-index:5;box-shadow:0 20px 80px #0008}.settings[hidden]{display:none}.settings h2{font-size:16px;margin:0 0 24px;font-weight:400}.settings label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:20px 0;color:#acbdd8}.settings input[type=range]{width:105px;accent-color:#8dffe4}.settings input[type=checkbox]{accent-color:#8dffe4}.settings p{font-size:11px;line-height:1.8;color:#7e94b3}.settings button{border:1px solid #3b506c;padding:10px;width:100%;margin-top:12px}.game-info{position:absolute;left:24px;top:20px;display:flex;gap:24px;pointer-events:none;padding:12px 16px;background:#080e25da;border:1px solid #34446e}.game-info .health{color:#ff93b0}.game-info .shards{color:#83ffe4}.game-info .depth{color:#93aaf9}.dash-state{color:#79d7eb;min-width:150px}.dash-state.dashing{color:#fff}.sight-legend{position:absolute;left:24px;bottom:55px;display:flex;gap:16px;font-size:11px;padding:8px 10px;background:#080e25ed;pointer-events:none}.sight-live{color:#8ae7da}.sight-memory{color:#929bb3}.sight-unknown{color:#657085}@media(max-width:900px){.game-info{flex-wrap:wrap;gap:8px 16px;max-width:calc(100% - 180px)}.dash-state{font-size:11px}}@media(max-width:700px){.game-info{max-width:calc(100% - 32px)}.sight-legend{left:12px;bottom:150px;gap:10px;font-size:9px}.touch-dash{align-self:end;font-size:13px}}.game-notice{position:absolute;left:50%;top:80px;transform:translate(-50%);color:#d4fff0;background:#101e38db;padding:10px 20px;pointer-events:none;font-size:13px;text-align:center}.game-notice:empty{display:none}.weapons{display:flex;gap:8px;flex:1}.weapon{border:1px solid #263656;padding:12px 18px;text-align:left;min-width:128px;color:#8196b7}.weapon.active{border-color:#8bffe3;color:#baffef;background:#112b33}.weapon small{display:block;font-size:10px;color:#798da9;margin-top:6px}.weapon b{font-weight:400;color:#657996;margin-right:10px}.bomb-btn{color:#ffbb73;border-color:#7a5538}.game-controls{color:#a0b3d3;line-height:1.9;font-size:11px;white-space:nowrap}.game-over{position:absolute;inset:0;z-index:4;background:#050918cc;display:flex;align-items:center;justify-content:center;text-align:center}.game-over[hidden]{display:none}.game-over h2{font-size:50px;font-weight:400;color:#ffa1be;margin:0 0 20px}.game-over button{padding:15px 30px;border:1px solid #8bffe3;color:#8bffe3;margin-top:20px}.crosshair{cursor:crosshair}.touch-controls{display:none}.error{padding:40px;max-width:700px;line-height:1.8}.hidden{display:none!important}@media(max-width:1000px){.brand small,.transport-tail{display:none}.chapter{min-width:150px;padding:12px}.transport{padding:0 18px;gap:10px}.weapon{min-width:95px;padding:12px 10px}.game-controls{font-size:10px}.hero-copy h1{letter-spacing:-3px}}@media(max-width:700px){header{height:60px;padding:0 15px}.brand{font-size:16px;letter-spacing:0;gap:7px}.brand-mark{font-size:20px}nav{gap:2px}nav a{font-size:11px;padding:10px}nav a span{display:none}.top-actions{gap:8px}.stage{inset:60px 0 100px}.transport{height:100px;padding:0 10px}.chapter{min-width:0;flex:1;padding:14px 7px;gap:5px;font-size:11px}.chapter small{font-size:9px}.chapters{gap:0}.chapter>span{display:none}.hero-copy{left:18px;bottom:25px}.hero-copy h1{font-size:48px}.hero-copy p{font-size:11px;max-width:270px}.stage-hint{display:none}.status{right:15px;top:15px;font-size:10px}.status>span:last-child{display:none}.scene-label{left:18px;top:15px;font-size:10px}.game-info{left:10px;top:10px;font-size:11px;gap:12px;padding:10px}.game-controls{display:none}.weapons{gap:4px}.weapon{min-width:0;flex:1;padding:12px 7px;font-size:10px}.weapon b{margin-right:4px}.weapon small{font-size:9px}.game-notice{top:62px;font-size:10px;width:85%}.touch-controls{display:flex;position:absolute;bottom:20px;left:16px;right:16px;justify-content:space-between;pointer-events:none}.touch-controls button{pointer-events:auto;background:#172955bb;border:1px solid #7391b3;padding:15px;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,42px);gap:3px}.dpad button{padding:12px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.touch-fire{align-self:end;font-size:13px}.settings{right:12px;top:45px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}.enemy-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.main-menu[hidden],.tutorial-card[hidden]{display:none}.menu-open>:not(.main-menu){visibility:hidden}.main-menu{position:absolute;inset:0;z-index:30;overflow:auto;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:24px;padding:clamp(24px,5vw,80px);background:#080e22;color:#a7f9e0;cursor:default}.menu-copy{max-width:560px}.menu-eyebrow{color:#8b9ab7;font-size:14px;margin:0 0 24px}.menu-copy h1{font-size:clamp(40px,5.4vw,86px);line-height:1;letter-spacing:-2px;font-weight:400;margin:0 0 22px}.menu-deck{color:#d9e7ed;font-size:18px;line-height:1.5;margin-bottom:32px}.menu-actions{display:grid;gap:12px;max-width:410px}.menu-actions button{padding:18px 22px;text-align:left;border:1px solid #4c617b;background:#111d35}.menu-actions button:first-child{color:#fff;background:#00a;border-color:#7979ed}.menu-actions b{font-weight:400;font-size:25px;display:block;margin-bottom:5px}.menu-actions span{color:#bacbdd;font-size:12px}.menu-seed{margin:22px 0;color:#8b9ab7;font-size:12px;max-width:410px}.menu-seed summary{cursor:pointer}.menu-seed label{display:flex;gap:15px;align-items:center;margin-top:15px}.menu-seed input{background:#050817;color:#a7f9e0;border:1px solid #4c617b;padding:9px;max-width:190px}.menu-seed p,.menu-foot{line-height:1.6}.menu-foot{color:#8b9ab7;font-size:12px}#menu-error{color:#ffb0a7;font-size:12px}.menu-art{text-align:center;color:#749dcc}.menu-art pre{font-family:VGA,monospace;font-size:clamp(14px,1.7vw,27px);line-height:1;color:#a7f9e0;margin:35px 0}.portal-caption,.portal-note{font-size:11px;color:#8b9ab7}.portal-note{color:#e6bd78}nav #main-menu{padding:12px;color:#a7f9e0;border:1px solid #354c66}.insight-state{position:absolute;top:52px;left:24px;background:#080e22eb;color:#e6bd78;padding:7px 10px;font-size:12px}.insight-state:disabled{cursor:default;color:#9faec7}.floor-objective{position:absolute;left:24px;top:86px;color:#bbefdf;padding:7px 10px;font-size:12px;max-width:calc(100% - 200px);background:#080e22e8;pointer-events:none}.world-page .game-notice{top:121px}.weapon:disabled{opacity:.45;cursor:default}.tutorial-card{position:absolute;bottom:70px;left:24px;width:min(410px,calc(100% - 48px));padding:18px 20px;background:#080e22f5;border:1px solid #526887;border-left:4px solid #e6bd78;z-index:6;cursor:default}.lesson-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#e6bd78}.lesson-top button{color:#aabbd2;padding:4px}.tutorial-card h2{font-weight:400;font-size:22px;line-height:1.1;margin:13px 0;color:#eef7ff}.lesson-voice{color:#a8b6cf;font-size:12px;line-height:1.5}.lesson-task{color:#dbfff1;font-size:13px;line-height:1.55}#lesson-feedback{color:#e6bd78;font-size:12px;line-height:1.4}#lesson-feedback:empty{display:none}.lesson-actions{display:flex;gap:8px;flex-wrap:wrap}.lesson-actions button{padding:9px 10px;border:1px solid #435770;font-size:12px}#lesson-next{margin-left:auto;color:#baffeb;background:#163038}#lesson-next:disabled{color:#8594ad;background:none;cursor:default}.tutorial-active .game-notice,.tutorial-active .floor-objective,.tutorial-active #run-menu{display:none}.tutorial-active .sight-legend{left:auto;right:24px}.world-page .weapons{min-width:0}.world-page .weapon{min-width:0;padding:12px 10px}.world-page .game-controls{font-size:10px}@media(max-width:1000px){.world-page .game-controls{display:none}.tutorial-card{width:330px;padding:13px 15px}}@media(max-width:700px){.main-menu{grid-template-columns:1fr;padding:26px;align-items:start}.menu-art{display:none}.menu-copy h1{font-size:clamp(34px,9vw,54px);letter-spacing:-1px}.menu-eyebrow{margin-bottom:16px;line-height:1.4}.menu-deck{font-size:15px;margin-bottom:20px}.menu-actions button{padding:14px 18px}.menu-actions b{font-size:23px}.menu-seed{margin:16px 0}nav #main-menu{font-size:11px;padding:8px}.world-page .brand small{display:none}.insight-state{top:57px;left:10px;font-size:10px}.floor-objective{top:84px;left:10px;max-width:calc(100% - 20px);font-size:10px}.tutorial-card{top:89px;bottom:auto;left:10px;width:calc(100% - 20px);max-height:225px;overflow-y:auto;padding:10px 12px}.tutorial-card h2{font-size:18px;margin:8px 0}.lesson-voice{font-size:11px;margin:7px 0}.lesson-task{font-size:11px;line-height:1.4;margin:7px 0}.lesson-actions button{padding:8px;font-size:10px}.tutorial-active .sight-legend{display:none}.tutorial-active .run-strip>span,.tutorial-active #inspect-glyphs,.tutorial-active #glyph-style{display:none}.world-page .weapon{padding:10px 5px;font-size:9px}.world-page .weapon small{font-size:8px}}.enemy-guide article{padding:12px;background:#111b31;border-left:2px solid #526c8e}.enemy-guide h3{margin:0 0 8px;font-size:15px;color:#e4f7ef}.enemy-guide p{font-size:12px;line-height:1.5;margin:0 0 8px}.enemy-guide small{color:#96c2cf;font-size:10px}.enemy-guide button{display:block;margin-top:10px;padding:7px 9px;border:1px solid #527883;color:#baffeb;background:#163038;font-size:11px}@media(max-width:600px){.enemy-guide{grid-template-columns:1fr}}
