:root{--bg: #05070c;--panel: rgba(10, 16, 28, .92);--neon: #4dd8ff;--green: #7cffb2;--red: #ff4d6d;--text: #eaf6ff;--dim: rgba(234, 246, 255, .55);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(1200px 600px at 50% -10%,rgba(77,216,255,.08),transparent),var(--bg);color:var(--text);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:100vh;padding:20px}#stage{position:relative;width:min(100%,1152px);aspect-ratio:960 / 600}#game{display:block;width:100%;height:100%;border:1px solid rgba(77,216,255,.25);border-radius:10px;box-shadow:0 0 40px #4dd8ff1f,inset 0 0 60px #0009;background:#080b12;cursor:crosshair;touch-action:none}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--panel);border-radius:10px;backdrop-filter:blur(3px);text-align:center;padding:24px;overflow:auto}.hidden{display:none!important}h1{margin:0;font-size:clamp(34px,6vw,64px);letter-spacing:.12em}h1 span{color:var(--neon);text-shadow:0 0 18px rgba(77,216,255,.7)}h2{margin:0 0 4px;font-size:28px;letter-spacing:.1em;color:var(--neon)}.tag{margin:0;color:var(--dim);letter-spacing:.15em;text-transform:uppercase;font-size:13px}button{font:inherit;letter-spacing:.08em;padding:10px 26px;border-radius:6px;border:1px solid var(--neon);background:#4dd8ff1f;color:var(--text);cursor:pointer;transition:background .15s ease,transform .05s ease}button:hover:not(:disabled){background:#4dd8ff40}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{border-color:#eaf6ff4d;background:transparent;color:var(--dim)}input{font:inherit;padding:8px 12px;border-radius:6px;border:1px solid rgba(234,246,255,.25);background:#0006;color:var(--text);width:200px;text-align:center}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}.row label{color:var(--dim);display:flex;gap:10px;align-items:center}.howto{margin:6px 0 0;padding:0;list-style:none;color:var(--dim);font-size:13px;line-height:1.9}.howto b{color:var(--text)}.stats{display:flex;gap:22px;color:var(--dim);font-size:14px}.stats b{color:var(--text)}#finalScore{font-size:52px;color:var(--green);text-shadow:0 0 22px rgba(124,255,178,.4);animation:pop .35s ease}@keyframes pop{0%{transform:scale(.6);opacity:0}}.status{min-height:1.2em;font-size:13px;color:var(--dim);max-width:60ch}.status.ok{color:var(--green)}.status.warn{color:var(--red)}.status b{color:var(--text)}.lb{width:min(100%,640px);max-height:55vh;overflow:auto}.lb table{width:100%;border-collapse:collapse;font-size:14px}.lb th{text-align:left;color:var(--dim);font-weight:500;padding:6px 8px;border-bottom:1px solid rgba(234,246,255,.2);position:sticky;top:0;background:var(--panel)}.lb td{padding:5px 8px;border-bottom:1px solid rgba(234,246,255,.07)}.lb td:nth-child(3){color:var(--green)}.dim{color:var(--dim)}.warn{color:var(--red)}.hint{color:var(--dim);font-size:12.5px;letter-spacing:.06em;margin:0;display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.hint span{color:var(--text)}
