@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--bg:#080d16;--panel:#101722;--line:#26303c;--white:#eef3f5;--muted:#84929f;--cyan:#83eee2;--amber:#ffc47b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif;font-size:14px}.shell{max-width:1460px;margin:auto;padding:0 46px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.3}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{color:var(--white);display:flex;align-items:center;gap:12px;text-decoration:none;font-size:23px;font-weight:800;letter-spacing:2px;font-family:'Barlow Condensed','Arial Narrow',sans-serif}.brand svg{color:var(--cyan)}.header-right{display:flex;align-items:center;gap:28px}.version,.tiny,.eyebrow,.introline,.arena-label,.charge-label,footer,.practice-badge,.text-button{font-family:'IBM Plex Mono',monospace}.version{font-size:10px;letter-spacing:1px;color:var(--muted);border:1px solid var(--line);padding:7px 9px}.quiet{background:none;border:0;font-size:12px;color:#b9c6cf}.quiet span{margin-left:10px;color:var(--cyan)}.introline{display:flex;justify-content:space-between;align-items:center;padding:29px 0 21px;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.introline p{margin:0;display:flex;align-items:center;gap:10px}.introline>span{color:#b1bac4}.dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;display:inline-block;box-shadow:0 0 12px #83eee24d}.dot.muted{background:#738796;box-shadow:none}.layout{display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:32px}.play-column{min-width:0}.hud{height:77px;display:flex;align-items:flex-start;justify-content:space-between;padding:2px 1px 0}.tiny{display:block;font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:500}.hud strong{font-family:'IBM Plex Mono',monospace;font-weight:400;font-size:27px;display:block;letter-spacing:-1px;margin-top:6px}.hud strong span{font-size:18px;color:#697c8a}.hud-mid{text-align:center}.hud-last{text-align:right}.hud-last strong{font-size:21px;color:#b0bfca;margin-top:10px}#lives{font-size:18px;letter-spacing:4px;color:var(--cyan);margin-top:10px}.arena{position:relative;aspect-ratio:160/104;width:100%;overflow:hidden;background:#0a121d;border:1px solid #33414c;isolation:isolate;touch-action:none}.arena canvas{position:absolute;width:100%;height:100%;inset:0}#fieldCanvas{image-rendering:auto}#overlayCanvas{z-index:1}.arena-label{z-index:3;position:absolute;top:15px;left:17px;right:17px;display:flex;justify-content:space-between;pointer-events:none;letter-spacing:1.3px;font-size:8px;color:#c0d1d6a1}.arena-label span:last-child{font-size:7px;color:#8aabb391}.corner{position:absolute;width:9px;height:9px;border-color:#b5cbd6;border-style:solid;z-index:5;pointer-events:none}.tl{top:0;left:0;border-width:1px 0 0 1px}.tr{top:0;right:0;border-width:1px 1px 0 0}.bl{bottom:0;left:0;border-width:0 0 1px 1px}.br{bottom:0;right:0;border-width:0 1px 1px 0}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:4;background:linear-gradient(90deg,#080f1be8,#0b1321b0);backdrop-filter:blur(2px)}.start-inner{text-align:center;max-width:560px;padding:25px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:var(--cyan)}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:600;line-height:.98;letter-spacing:-1.5px}h1{font-size:clamp(40px,5.1vw,76px);margin:20px 0}h1 span{color:var(--cyan)}.start-inner>p,.end-inner>p{color:#a5b5c2;line-height:1.75;font-size:13px;margin-bottom:24px}.primary{display:flex;align-items:center;justify-content:space-between;gap:38px;background:var(--cyan);color:#0c2526;border:0;padding:15px 22px;min-width:210px;margin:0 auto;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.primary:hover{background:#b2fff5;transform:translateY(-1px)}.primary span{font-size:20px;font-weight:400}.practice-link{display:block;margin:15px auto;background:none;border:0;font-size:11px;color:#a7b9c7}.practice-link:hover{color:var(--cyan)}.start-controls{display:flex;justify-content:center;gap:23px;margin-top:28px;color:#8c9eac;font-size:10px}.start-controls b{font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:400;margin-right:5px;color:#d0dde3}.hidden{display:none!important}.underbar{min-height:49px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px}.underbar>span{display:flex;align-items:center;gap:6px}.underbar i{display:inline-block;width:6px;height:6px;margin-left:12px}.underbar i:first-child{margin-left:0}.cyan-swatch{background:var(--cyan);transform:rotate(45deg)}.amber-swatch{background:var(--amber);border-radius:50%}.halo-swatch{background:#3d4263;border-radius:50%}.underbar button{background:none;border:0;color:#a2b0be;font-size:10px;margin-left:9px;padding:7px 0}.underbar button:last-child{font-size:20px;vertical-align:middle;margin-left:16px}aside{padding-top:3px}.side-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.index{font-family:'IBM Plex Mono',monospace;color:#6d808e;font-size:9px}.mode{width:100%;text-align:left;display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);padding:14px 11px;margin-bottom:9px}.mode.selected{border-color:#69baae;background:#83eee20a}.mode-icon{color:var(--amber);width:39px;flex-shrink:0}.mode-icon svg{width:100%;fill:currentColor}.mode strong{display:block;font-size:13px;font-weight:600}.mode small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.mode-check{margin-left:auto;font-size:10px;color:#586a78}.selected .mode-check{color:var(--cyan)}.field-note{font-size:11px;line-height:1.75;color:#9eacb9;margin:16px 0 0}.rule{height:1px;background:var(--line);margin:23px 0}.weapon-mark{color:var(--cyan);font-size:22px;line-height:10px}h3{font-size:17px;font-weight:500;margin:0 0 8px}.side-copy{font-size:11px;color:#9eacb9;line-height:1.75;margin:0}.recharge-track{height:3px;background:#283a43;margin-top:17px;overflow:hidden}#recharge{height:100%;background:var(--cyan);width:100%}.charge-label{display:flex;justify-content:space-between;font-size:8px;color:#8e9ca7;margin-top:9px}.charge-label span:first-child{color:var(--cyan)}dl{margin:0}dl div{display:flex;justify-content:space-between;margin:14px 0;font-size:11px}dt{color:#9eacb9}dd{font-family:'IBM Plex Mono',monospace;margin:0;color:#d6e2e8;font-size:11px}.controls-card{padding:15px;background:#101823;border:1px solid #1e2c3a;margin-top:23px}.controls-card p{font-size:10px;color:#9aaebd;margin:12px 0}.controls-card p:last-of-type{margin-bottom:9px}kbd{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#d1dce4}.controls-card small{font-size:9px;line-height:1.6;display:block;color:#6f8798}.text-button{font-size:9px;color:#8fa4b4;background:none;border:0;margin-top:13px;padding:4px 0}.text-button:hover{color:var(--cyan)}footer{border-top:1px solid var(--line);margin-top:30px;padding:22px 0 30px;display:flex;justify-content:space-between;font-size:8px;color:#657a8a;letter-spacing:.5px}.footer-dot{margin:0 8px}.end-inner{text-align:center;padding:25px}h2{font-size:58px;margin:22px 0}.end-inner h2{font-family:'IBM Plex Mono',monospace;font-size:65px;font-weight:400}.run-stats{display:flex;justify-content:center;gap:60px;margin:20px 0 28px}.run-stats b{font-family:'IBM Plex Mono',monospace;font-size:23px;display:block;font-weight:400}.run-stats span{font-size:10px;color:var(--muted);display:block;margin-top:7px}.practice-badge{position:absolute;bottom:16px;left:17px;z-index:3;background:#112a2f;padding:8px 10px;color:var(--cyan);font-size:8px;letter-spacing:1px}.practice-badge span{margin-left:12px;letter-spacing:0;color:#9bb8bf}dialog{background:#111b29;color:var(--white);border:1px solid #344759;padding:30px;max-width:580px;width:calc(100% - 30px);max-height:85vh}dialog::backdrop{background:#030810d9;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top button{background:none;border:0;font-size:20px;color:var(--muted)}dialog h2{font-size:39px;line-height:1.05;margin:20px 0}dialog h3{margin-top:24px;color:var(--cyan);font-size:15px}dialog p{color:#a9bac8;font-size:12px;line-height:1.8}.sources{display:flex;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.sources a{font-size:10px;color:var(--cyan)}#touchControls{display:none;position:absolute;inset:0;z-index:2;pointer-events:none}.pad{width:100px;height:100px;position:absolute;bottom:25px;pointer-events:auto;touch-action:none;user-select:none}.pad:first-child{left:23px}.pad:last-child{right:23px}.pad-ring{position:absolute;inset:0;border:1px solid #a4eff34d;border-radius:50%;background:#111a2d35}.stick{position:absolute;left:32px;top:32px;width:36px;height:36px;border-radius:50%;border:1px solid #83eee288;background:#83eee21a}.pad span{position:absolute;bottom:-17px;left:0;right:0;text-align:center;font:8px 'IBM Plex Mono',monospace;color:#8aa4b2;letter-spacing:1px}.arena:fullscreen{height:100vh;width:100vw;aspect-ratio:auto}.arena:fullscreen .screen h1{font-size:90px}
@media(min-width:1500px){.shell{padding:0 40px}.layout{grid-template-columns:minmax(0,1fr) 270px;gap:40px}}
@media(max-width:1050px){.shell{padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 210px;gap:22px}.mode{padding:12px 9px;gap:6px}.mode small{font-size:8px}.mode-icon{width:31px}.start-controls{gap:12px}h1{font-size:56px}.start-inner{padding:20px}.start-inner>p{font-size:11px;margin-bottom:17px}.start-controls{margin-top:19px}.introline{font-size:8px}header{height:80px}.controls-card{margin-top:16px}.rule{margin:18px 0}}
@media(max-width:760px){.shell{padding:0 16px}.layout{display:flex;flex-direction:column;gap:23px}header{height:73px}.brand{font-size:20px}.brand svg{width:23px}.version{display:none}.quiet{font-size:10px}.introline{padding:22px 0 18px}.introline>span{display:none}.hud{height:65px}.hud strong{font-size:23px}.hud-last strong{font-size:19px}.tiny{font-size:8px}.arena{aspect-ratio:160/120}.start-inner{padding:16px}h1{font-size:clamp(39px,10vw,65px);margin:12px 0}.start-inner>p{font-size:11px;line-height:1.6;margin-bottom:14px}.eyebrow{font-size:8px;letter-spacing:1.5px}.primary{padding:11px 18px;font-size:12px;min-width:185px}.practice-link{margin:12px auto;font-size:10px}.start-controls{display:none}.arena-label{top:10px;left:11px;right:11px;font-size:6px}.arena-label span:last-child{font-size:6px}.underbar{font-size:8px}.underbar i{margin-left:6px}.underbar button{font-size:9px}aside{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.side-heading:first-child{grid-column:1/-1;margin-bottom:2px}.mode{margin:0}.mode small{font-size:9px}.mode-icon{width:38px}.field-note{grid-column:1/-1;margin:4px 0 6px}.rule,aside>.side-heading:not(:first-child),aside>h3,aside>.side-copy,.recharge-track,.charge-label,aside>dl,.controls-card{display:none}.text-button{grid-column:1/-1;justify-self:start;margin:0}footer{margin-top:22px;display:block;line-height:2.2;font-size:7px}footer>span{display:block}.end-inner h2{font-size:45px}.run-stats{margin:12px 0 20px}.end-inner>p{font-size:11px;margin-bottom:12px}.practice-badge{bottom:8px;left:10px;font-size:7px;padding:5px}.practice-badge span{display:none}}
@media(pointer:coarse){body.playing #touchControls{display:block}.controls-card small{color:var(--cyan)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.screen{backdrop-filter:none}}
