@import url('/css/interface.css');
:root{color-scheme:dark;--bg:#101715;--panel:#17221c;--line:#ffffff20;--text:#eef1de;--muted:#a0ac9c;--lime:#c7ff65;--pink:#f17694;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button:disabled{opacity:.45;cursor:wait}#scene{position:fixed;inset:0;z-index:-2;overflow:hidden}#scene canvas{display:block}.vignette{position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#101715 0%,#101715f0 24%,#10171585 48%,#10171500 73%),linear-gradient(0deg,#101715 0%,transparent 25%,transparent 80%,#101715c0)}#topbar{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.2vw;border-bottom:1px solid var(--line)}.brand{font-size:29px;font-weight:1000;letter-spacing:-2px;display:flex;align-items:center;gap:4px}.brand span{font-size:30px;color:var(--lime)}.brand small{font:9px var(--mono);letter-spacing:2px;margin-left:20px;max-width:70px;line-height:1.5}.top-right{display:flex;align-items:center;gap:12px;font:10px var(--mono);letter-spacing:1.7px;color:var(--muted)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 14px #c7ff6560}.icon-button{width:38px;height:38px;background:#142019;border:1px solid var(--line);border-radius:50%;color:var(--text);font-size:18px;margin-left:16px}#ui{min-height:calc(100svh - 162px)}.home{padding:55px 5.2vw 28px;position:relative;max-width:1600px;margin:auto}.eyebrow{font:11px var(--mono);letter-spacing:2.2px;color:var(--lime);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:24px;height:1px;background:var(--lime)}h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(100px,11.5vw,178px);line-height:.86;letter-spacing:-.035em;margin:29px 0 25px;font-weight:900;transform:skew(-5deg);transform-origin:left}h1 span{color:var(--lime);display:block}h1 .outline{color:transparent;-webkit-text-stroke:1.5px var(--text);display:inline}.intro{color:#b6c0ad;font-size:15px;line-height:1.7;max-width:350px}.intro strong{font-weight:400;color:#eef1de}.primary{border:0;background:var(--lime);color:#152017;font-weight:800;font-size:15px;letter-spacing:1.5px;padding:20px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;box-shadow:0 5px 0 #719d32;transition:transform .15s,background .15s}.primary:hover{background:#d8ff97;transform:translateY(-2px)}.play-button{width:324px;margin:18px 0 27px;min-height:65px}.play-button span{font-size:21px}.menu-links{display:flex;gap:22px;align-items:center}.menu-links a{font:11px var(--mono);letter-spacing:1px;color:#b5c2aa;display:flex;gap:8px;align-items:center}.menu-links a:hover{color:var(--lime)}.menu-links b{font-size:16px;font-weight:normal}.micro{font:9px var(--mono);letter-spacing:1.1px;color:#7e8f7f;margin-top:19px}.scene-caption{position:absolute;left:65%;top:25px;border-left:2px solid var(--lime);padding:6px 12px;font:10px var(--mono);letter-spacing:1.5px;color:#d9e3cd;line-height:1.8}.scene-caption small{display:block;color:#8e9c86;font-size:9px}.difficulty-badge{position:absolute;right:5.2vw;top:390px;transform:rotate(6deg);width:120px;height:120px;border:1px solid #c7ff6590;border-radius:50%;display:grid;align-content:center;justify-items:center;background:#16221999;font:10px var(--mono);letter-spacing:1px;color:var(--lime)}.difficulty-badge strong{font:42px Impact,sans-serif;letter-spacing:0}.controls-strip{display:flex;align-items:center;gap:26px;border-top:1px solid var(--line);margin-top:45px;padding:22px 0 5px;max-width:630px}.controls-strip>span{font:9px var(--mono);letter-spacing:1.3px;color:#7c8e7a}.control{display:flex;gap:9px;align-items:center;font:10px var(--mono);color:#a5b29d;white-space:nowrap}kbd{display:inline-grid;place-items:center;border:1px solid #9daa8755;background:#253025b0;min-width:25px;height:25px;padding:0 5px;font:11px var(--mono);color:#dee9cf;border-radius:3px;box-shadow:0 2px 0 #020603}.control.emphasis kbd{color:var(--lime);border-color:#c7ff6560}#footer{height:62px;padding:0 5.2vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font:9px var(--mono);letter-spacing:1.4px;color:#748472}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--lime);color:#142019;padding:14px 20px;font:12px var(--mono);z-index:100;max-width:90vw;border-radius:4px}#toast:empty{display:none}.gate-label{position:absolute;top:0;left:0;text-align:center;pointer-events:none;white-space:nowrap;background:#122119e8;border:1px solid #c7ff6570;border-radius:5px;min-width:72px;padding:6px 9px;will-change:transform}.gate-label b{font:900 21px Arial,sans-serif;color:var(--lime);display:block}.gate-label small{font:9px var(--mono);letter-spacing:1px;color:#e8f0d9}.floating-score{position:absolute;color:var(--lime);font:bold 16px var(--mono);pointer-events:none;animation:float .9s ease-out forwards;text-shadow:0 2px 4px #000}@keyframes float{to{transform:translateY(-60px);opacity:0}}[hidden]{display:none!important}
body.playing .vignette{background:linear-gradient(0deg,#08110ba0,transparent 25%,transparent 70%,#08110b80)}body.playing #topbar,body.playing #footer{display:none}body.playing #ui{min-height:0}#game-hud{pointer-events:none;position:fixed;inset:0;padding:25px 4vw}#game-hud button{pointer-events:auto}.hud-top{display:flex;justify-content:space-between;align-items:start}.vitals{width:210px;background:#101a16d9;padding:14px 18px;border:1px solid var(--line)}.vitals span{font:10px var(--mono);letter-spacing:2px;display:flex;justify-content:space-between}.vitals b{color:var(--lime)}progress{appearance:none;border:0;height:6px;display:block;background:#ffffff1a;width:100%;border-radius:2px;overflow:hidden}progress::-webkit-progress-bar{background:#ffffff1a}progress::-webkit-progress-value{background:var(--lime)}progress::-moz-progress-bar{background:var(--lime)}.vitals progress{margin:10px 0}.vitals small{font:9px var(--mono);color:#8be4f1}.score-block{text-align:right;margin-left:auto;padding:3px 6px}.score-block small{font:10px var(--mono);letter-spacing:2px;color:#b4bfa8;display:block}.score-block strong{font:40px Impact,sans-serif;letter-spacing:2px}.run-track{position:absolute;left:50%;transform:translateX(-50%);top:38px;width:32%;display:flex;align-items:center;gap:12px;font:8px var(--mono);white-space:nowrap;color:#c5d2b7}.run-track progress{height:3px}#boss-hud{position:absolute;top:104px;left:50%;transform:translateX(-50%);width:40%;text-align:center;font:11px var(--mono);letter-spacing:3px;color:#ffb1a1}#boss-hud progress{margin-top:10px}#boss-hud progress::-webkit-progress-value{background:var(--pink)}#announcement{position:absolute;top:24%;left:50%;transform:translateX(-50%);text-align:center;font:40px Impact,sans-serif;color:var(--lime);text-shadow:0 3px 0 #111;white-space:nowrap;letter-spacing:2px}.hud-bottom{position:absolute;left:4vw;right:4vw;bottom:30px;display:flex;justify-content:space-between;align-items:end}.weapon{display:grid;gap:6px;background:#101a16d9;padding:15px 20px;border-left:2px solid var(--lime)}.weapon small{font:10px var(--mono);color:var(--lime);letter-spacing:2px}.weapon b{font-size:17px}.weapon span{font:10px var(--mono);color:#9bac92}.abilities{display:flex;gap:10px}.abilities button{background:#101a16df;border:1px solid #c7ff6550;color:var(--text);display:flex;gap:15px;padding:15px 20px;text-align:left}.abilities button span{font:bold 12px var(--mono);letter-spacing:1px}.abilities small{font:9px var(--mono);color:var(--lime);display:block;margin-top:5px}.abilities kbd{width:32px;height:32px}.abilities button.cooling{border-color:var(--line);opacity:.65}#touch-controls{display:none;position:absolute;bottom:105px;left:0;right:0;justify-content:center;gap:20px}#touch-controls button{padding:15px;background:#15231ddd;border:1px solid var(--line);color:var(--lime)}
@media(min-width:1500px){.home{padding-top:80px}.controls-strip{margin-top:60px}}@media(max-width:900px){.scene-caption{left:70%;font-size:8px}.difficulty-badge{display:none}.home{padding-top:50px}h1{font-size:115px}.controls-strip{gap:17px}.run-track{top:130px;width:70%}#boss-hud{top:155px}.vignette{background:linear-gradient(90deg,#101715f0,#101715a0 40%,#10171500),linear-gradient(0deg,#101715,transparent 30%)}}@media(max-width:600px){#topbar{height:76px}.brand small{display:none}.top-right{font-size:8px;letter-spacing:1px}.home{padding-top:35px}h1{font-size:100px}.scene-caption{display:none}.intro{font-size:14px}.play-button{max-width:100%;width:300px}.controls-strip{gap:12px;flex-wrap:wrap;margin-top:35px}.controls-strip>span{display:none}.control{font-size:9px}.menu-links{gap:18px}.menu-links a{font-size:10px}#footer{font-size:7px;letter-spacing:.5px}#footer span:nth-child(2){display:none}.vignette{background:linear-gradient(90deg,#101715e0,#10171580),linear-gradient(0deg,#101715,transparent)}#ui{min-height:calc(100svh - 138px)}#game-hud{padding:15px}.vitals{width:155px;padding:10px}.score-block strong{font-size:30px}.run-track{top:112px;width:85%}#boss-hud{top:135px;width:65%}.hud-bottom{bottom:15px;left:15px;right:15px}.weapon{padding:10px;font-size:10px;max-width:145px}.weapon b{font-size:12px}.abilities button{padding:10px;gap:7px}.abilities{gap:6px}.abilities kbd{width:24px;height:26px}.abilities button span{font-size:10px}#announcement{font-size:28px}#touch-controls{display:flex}}
@media(prefers-reduced-motion:reduce){.floating-score{animation:none}*{scroll-behavior:auto!important}}
