:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark;--acid:#caff3d;--ink:#080b12;--text:#f7f8f3}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--text);touch-action:none}button,a{-webkit-tap-highlight-color:transparent}#game{position:fixed;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 35%,#26354a,#080b12 68%)}#scene{display:block;width:100%;height:100%;touch-action:none}.topbar{position:absolute;z-index:5;top:0;left:0;right:0;height:70px;padding:max(12px,env(safe-area-inset-top)) 22px 0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.back,.icon-button{pointer-events:auto;width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff24;background:#0a0e16a8;backdrop-filter:blur(12px);color:#fff;text-decoration:none;font-size:18px}.icon-button{font:900 15px inherit;cursor:pointer}.brand{text-align:center;display:flex;flex-direction:column;gap:3px}.brand span{font-size:10px;font-weight:900;letter-spacing:.22em}.brand b{font:700 8px ui-monospace,monospace;color:var(--acid);letter-spacing:.13em}.hud{position:absolute;z-index:4;top:86px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 30px));display:grid;grid-template-columns:100px 1fr 100px;align-items:start}.stat{padding-top:6px}.stat span{display:block;color:#8d98a3;font:800 8px ui-monospace,monospace;letter-spacing:.15em}.stat b{font-size:22px}.stat.best{text-align:right}.status{text-align:center}.status b{display:block;font-size:22px;letter-spacing:-.03em}.status span{display:block;margin-top:4px;color:#b1bac2;font-size:11px}.aim{position:absolute;z-index:5;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(620px,calc(100% - 34px));text-align:center;pointer-events:none}.power{height:7px;background:#ffffff18;overflow:hidden}.power i{display:block;width:0;height:100%;background:var(--acid);box-shadow:0 0 16px var(--acid);transition:width .05s}.aim p{font:900 10px ui-monospace,monospace;letter-spacing:.12em}.aim em{font-style:normal;color:#8d98a3;margin-left:10px;font-weight:600}.gesture{color:var(--acid);font-size:20px;vertical-align:-2px}.start-screen,.result{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px 32px;background:radial-gradient(circle at 50% 38%,#172435b8,#05070bd9 64%);backdrop-filter:blur(4px)}.eyebrow{margin:0;color:var(--acid);font:900 10px ui-monospace,monospace;letter-spacing:.2em}.start-screen h1{font-size:clamp(58px,12vw,112px);line-height:.76;letter-spacing:-.08em;margin:22px 0 26px;text-shadow:0 18px 60px #000}.start-screen h1 span{color:var(--acid)}.intro{max-width:500px;margin:0 0 28px;color:#b2bac2;font-size:14px;line-height:1.6}.primary{min-width:280px;border:0;background:var(--acid);color:#10140a;padding:17px 20px;font-weight:1000;font-size:11px;letter-spacing:.1em;cursor:pointer;display:flex;align-items:center;justify-content:space-between;box-shadow:0 16px 50px #0008}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary span{font-size:19px}.rules{display:flex;gap:32px;margin-top:30px;color:#8f99a1;font:800 8px ui-monospace,monospace;letter-spacing:.1em}.rules b{color:#fff;font-size:15px;margin-right:5px}.result{background:#080b12cc}.result h2{font-size:clamp(56px,11vw,100px);letter-spacing:-.075em;margin:10px 0;color:var(--acid)}.result>p:not(.eyebrow){color:#abb4bc;margin:0 0 28px}.result.fail h2{color:#ff684d}[hidden]{display:none!important}@media(max-width:600px){.topbar{height:58px;padding-left:12px;padding-right:12px}.back,.icon-button{width:35px;height:35px}.hud{top:72px;grid-template-columns:65px 1fr 65px}.stat b{font-size:18px}.status b{font-size:17px}.status span{font-size:9px}.aim{bottom:max(17px,env(safe-area-inset-bottom))}.aim em{display:block;margin:5px 0 0;font-size:8px}.start-screen{padding-top:70px}.start-screen h1{margin:17px 0 22px}.intro{font-size:12px;max-width:330px}.rules{gap:16px;flex-wrap:wrap;justify-content:center}.primary{min-width:min(280px,100%)}.brand span{font-size:8px}}@media(orientation:landscape) and (max-height:500px){.start-screen{padding:55px 20px 15px}.start-screen h1{font-size:54px;margin:11px 0 15px}.intro{font-size:11px;margin-bottom:14px}.rules{margin-top:14px}.hud{top:65px}.aim{bottom:8px}}
