:root{color-scheme:dark;--bg:#090f1a;--ink:#ecf5ef;--dim:#a2b8bb;--mint:#aaf3d9;--gold:#ffcc7b;--line:#30404d}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 15% 0,#163036 0,transparent 50%),radial-gradient(ellipse at 100% 90%,#29213f 0,transparent 55%),var(--bg);color:var(--ink);min-height:100dvh;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}main{width:min(94%,1080px);margin:auto;padding:24px 0 30px}header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.back{background:var(--gold);min-height:48px;color:var(--bg);border-radius:12px;align-items:center;padding:12px 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}header p{color:var(--dim);letter-spacing:.18em;text-align:right;margin:0;font-size:10px;line-height:1.8}header b{color:var(--mint);letter-spacing:.12em;font-size:12px}.hud{color:var(--dim);letter-spacing:.1em;justify-content:space-between;gap:12px;margin:0 4px 12px;font-size:11px;display:flex}.hud b{letter-spacing:.05em;color:var(--ink);margin-top:5px;font-size:20px;display:block}.hud .energy b{color:var(--mint)}.frame{background:#090f1a;border:1px solid #416366;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 0 70px #aaf3d909;container-type:inline-size}canvas{aspect-ratio:3/2;width:100%;height:auto;display:block}.overlay{background:linear-gradient(90deg,#090f1aed,#090f1a77);align-items:center;padding:clamp(22px,5vw,60px);display:flex;position:absolute;inset:0}.overlay[hidden]{display:none}.overlay-inner{max-width:600px}.eyebrow{color:var(--mint);letter-spacing:.22em;text-transform:uppercase;font-size:11px}h1{letter-spacing:-.06em;color:var(--ink);margin:20px 0;font:800 clamp(36px,7.2cqw,78px)/.98 system-ui,sans-serif}h1 span{color:var(--mint);display:block}.overlay p:not(.eyebrow){color:#c3d4d4;max-width:420px;font-size:13px;line-height:1.8}.overlay button{background:var(--gold);color:var(--bg);border-color:var(--gold);margin-top:12px;font-weight:700}.overlay small{color:var(--dim);margin-top:16px;font-size:10px;line-height:1.6;display:block}button{font:inherit;border:1px solid var(--line);min-height:46px;color:var(--ink);cursor:pointer;background:#152230;border-radius:10px;padding:12px 18px;font-size:12px}button:hover{border-color:var(--mint)}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.toolbar{flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0;display:flex}#pulseButton{color:var(--mint)}.help{color:var(--dim);text-align:center;max-width:760px;margin:16px auto;font-size:11px;line-height:1.9}.help strong{color:var(--ink);font-weight:500}.touch{grid-template-columns:repeat(4,1fr);gap:10px;max-width:540px;margin:16px auto;display:none}.touch,.touch *,.toolbar button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch{touch-action:none}.touch button{touch-action:none;-webkit-user-select:none;user-select:none;min-height:58px;padding:14px 4px;font-size:20px}.touch button.active{color:var(--mint);background:#2c524c}.touch small{pointer-events:none;margin-top:5px;font-size:9px;display:block}footer{text-align:center;color:var(--dim);margin-top:20px;font-size:10px;line-height:1.8}.status{text-align:center;min-height:20px;color:var(--gold);font-size:12px}@media (width>=700px) and (height>=620px){main{width:min(94vw,1080px,150dvh - 420px)}}@media (width<=600px){main{padding-top:14px}header{gap:10px;margin-bottom:18px}.back{padding:12px;font-size:12px}header p{letter-spacing:0;font-size:8px}header b{font-size:10px}.hud{letter-spacing:0;gap:6px;font-size:9px}.hud b{font-size:16px}.frame{border-radius:12px}.overlay{align-items:center;padding:18px}h1{margin:10px 0;font-size:clamp(27px,7.5vw,44px)}.eyebrow{font-size:8px}.overlay p:not(.eyebrow){margin:8px 0;font-size:10px;line-height:1.5}.overlay small{display:none}.overlay button{min-height:42px;margin-top:2px;padding:10px 16px;font-size:11px}.toolbar{gap:8px}.toolbar button{padding:11px 12px;font-size:11px}.touch{display:grid}.help{font-size:10px}.hud .energy{min-width:65px}}@media (pointer:coarse){.touch{display:grid}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
