:root{--bg:#05060d;--panel:#0e1022c7;--line:#a0afff2e;--text:#eef1ff;--muted:#9aa3c7;--accent:#ffb23e;--accent-2:#3f8cff;--good:#3ff0a0;--radius:18px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100%;margin:0;overflow:hidden}[hidden]{display:none!important}#game{width:100vw;height:100vh;touch-action:none;height:100dvh;display:block;position:fixed;inset:0}#vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 55%,#0000008c 100%);position:fixed;inset:0}#flash{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 30%,#ffdc7838,#ffdc7800 55%);position:fixed;inset:0}#flash.go{animation:.4s ease-out flash}#flash.red{background:radial-gradient(circle at 50% 80%,#ff3c5a73,#ff3c5a00 70%)}@keyframes flash{0%{opacity:1}to{opacity:0}}#safe-probe{visibility:hidden;padding-bottom:var(--sab);padding-top:var(--sat);position:fixed}#hud{width:min(100%,520px);padding:calc(var(--sat) + 8px) calc(var(--sar) + 10px) 8px calc(var(--sal) + 14px);grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:6px 14px;transition:opacity .25s;display:grid;position:fixed;top:0;left:50%;transform:translate(-50%)}#hud-progress{background:#ffffff1a;border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}#hud-progress i{background:linear-gradient(90deg, #ffd27a, var(--accent));transform-origin:0;height:100%;display:block;transform:scaleX(0)}#hud.is-hidden{opacity:0;pointer-events:none}.stat{flex-direction:column;line-height:1.05;display:flex}.stat .lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.stat .val{font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #0009;font-size:26px;font-weight:800}.stat:nth-child(2){align-items:center}.stat:nth-child(2) .val{color:var(--accent)}.stat:nth-child(3){align-items:flex-end}.stat:nth-child(3) .val{color:var(--muted);font-size:20px}.val.bump{animation:.4s ease-out bump}@keyframes bump{30%{transform:scale(1.35)}}.icon-btn{border:1px solid var(--line);width:48px;height:48px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#141832b3;border-radius:14px;place-items:center;display:grid}.icon-btn svg{fill:currentColor;width:22px;height:22px}.icon-btn:active{transform:scale(.94)}#banner{text-align:center;pointer-events:none;opacity:0;width:min(90vw,420px);position:fixed;top:34%;left:50%;transform:translate(-50%,-50%)}#banner strong{letter-spacing:.02em;background:linear-gradient(180deg, #fff6c9, var(--accent));color:#0000;filter:drop-shadow(0 4px 18px #ffaa2873);-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,11vw,64px);font-weight:900;display:block}#banner span{color:#ffe2b0;text-shadow:0 2px 8px #000;margin-top:6px;font-size:15px;font-weight:600;display:block}#banner.show{animation:1.9s ease-out forwards banner}@keyframes banner{0%{opacity:0;transform:translate(-50%,-30%)scale(.85)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}20%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-62%)}}#coach{left:50%;bottom:calc(var(--sab) + 26%);border:1px solid var(--line);white-space:nowrap;pointer-events:none;background:#0a0e24bf;border-radius:999px;padding:10px 18px;font-size:16px;font-weight:800;transition:opacity .4s;position:fixed;transform:translate(-50%)}#coach span{color:var(--accent);animation:.9s ease-in-out infinite alternate nudge;display:inline-block}#coach span:last-child{animation-direction:alternate-reverse}#coach.fade{opacity:0}@keyframes nudge{0%{transform:translate(-4px)}to{transform:translate(4px)}}.screen{padding:calc(var(--sat) + 16px) calc(var(--sar) + 16px) calc(var(--sab) + 16px) calc(var(--sal) + 16px);touch-action:manipulation;background:#03040a59;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}#screen-title{background:linear-gradient(#03040a26,#03040a8c)}.screen:not([hidden]) .panel{animation:.28s cubic-bezier(.2,.9,.3,1.2) rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)scale(.97)}}.panel{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(1.3);text-align:center;-webkit-user-select:text;user-select:text;flex-direction:column;gap:12px;width:min(100%,380px);padding:26px 22px 20px;display:flex;box-shadow:0 20px 60px #0000008c,inset 0 1px #ffffff0f}h2{letter-spacing:.02em;margin:0 0 4px;font-size:30px;font-weight:900}.logo{text-transform:uppercase;letter-spacing:.01em;flex-direction:column;align-items:center;margin:0;font-size:clamp(46px,14vw,64px);font-weight:900;line-height:.88;display:flex}.logo span:first-child{color:#ffd166;text-shadow:0 3px #b5651d,0 6px #6e3a10,0 12px 24px #0009}.logo span:nth-child(2){color:#ff5d73;text-shadow:0 3px #a1263a,0 6px #5c1220,0 12px 24px #0009}.logo em{color:#071026;background:linear-gradient(180deg, #8fd0ff, var(--accent-2));letter-spacing:.2em;border-radius:999px;margin-top:10px;padding:3px 12px;font-size:.36em;font-style:normal}.tagline{color:var(--muted);margin:2px 0 6px;font-size:15px;line-height:1.4}.hint{color:var(--muted);margin:2px 0 0;font-size:13px}.best-line{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:14px}.best-line b{color:var(--text);margin-left:4px;font-size:18px}.row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn{font:inherit;border:1px solid var(--line);min-height:50px;color:var(--text);cursor:pointer;background:#282e5a8c;border-radius:14px;padding:12px 16px;font-size:16px;font-weight:800;transition:transform 80ms,background .15s,box-shadow .15s}.btn:hover{background:#3c4482a6}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{color:#1d1000;background:linear-gradient(180deg, #ffd27a, var(--accent));border:0;box-shadow:0 6px #a8620d,0 12px 28px #ffaa2859}.btn.primary:hover{background:linear-gradient(#ffe0a0,#ffbe55)}.btn.primary:active{transform:translateY(4px);box-shadow:0 2px #a8620d,0 6px 16px #ffaa284d}.btn.big{letter-spacing:.04em;text-transform:uppercase;min-height:62px;margin:4px 0 6px;font-size:22px}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000;min-height:44px}.btn:focus-visible,.icon-btn:focus-visible,input:focus-visible+i,.seg input:focus-visible+b{outline-offset:3px;outline:3px solid #8fd0ff}.final{flex-direction:column;align-items:center;display:flex}.final-score{font-variant-numeric:tabular-nums;color:var(--good);text-shadow:0 6px 30px #3ff0a059;font-size:76px;font-weight:900;line-height:1}.final-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:13px}.badge{letter-spacing:.12em;text-transform:uppercase;color:#1d1000;background:linear-gradient(90deg,#ffe08a,#ff9f43);border-radius:999px;margin:0 auto;padding:4px 14px;font-size:13px;font-weight:900;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.08)}}.stats{color:var(--muted);justify-content:center;gap:18px;margin:0;font-size:14px;display:flex}.stats b{color:var(--text)}.name-row{color:var(--accent);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.name-row input{font:inherit;text-align:center;border:1px solid var(--line);color:var(--text);-webkit-user-select:text;user-select:text;background:#00000059;border-radius:12px;padding:10px 12px;font-size:18px;font-weight:700}.board{text-align:left;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.board li{background:#ffffff0a;border-radius:10px;grid-template-columns:26px 1fr auto;align-items:baseline;gap:10px;padding:8px 12px;font-size:15px;display:grid}.board li .r{color:var(--muted);font-weight:800}.board li .n{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board li .s{font-variant-numeric:tabular-nums;font-weight:900}.board li .d{color:var(--muted);grid-column:2/4;margin-top:-4px;font-size:11px}.board li.me{background:#3ff0a024;outline:1px solid #3ff0a066}.board li:first-child .r{color:#ffd166}.board .empty{text-align:center;color:var(--muted);justify-content:center;display:block}.settings{text-align:left;flex-direction:column;gap:6px;display:flex}.toggle{cursor:pointer;background:#ffffff0a;border-radius:12px;justify-content:space-between;align-items:center;min-height:52px;padding:0 14px;font-weight:700;display:flex;position:relative}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle i{background:#3a3f5c;border-radius:999px;width:50px;height:30px;transition:background .2s;position:relative}.toggle i:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle input:checked+i{background:var(--good)}.toggle input:checked+i:after{transform:translate(20px)}.seg{background:#ffffff0a;border-radius:12px;flex-direction:column;gap:8px;padding:10px 14px 12px;font-weight:700;display:flex}.seg>div{background:#0000004d;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:4px;padding:3px;display:grid}.seg label{cursor:pointer}.seg input{opacity:0;pointer-events:none;position:absolute}.seg b{text-align:center;color:var(--muted);border-radius:8px;padding:9px 0;font-size:14px;display:block}.seg input:checked+b{background:var(--accent-2);color:#fff}#rotate-hint{bottom:calc(var(--sab) + 10px);color:var(--muted);pointer-events:none;background:#0009;border-radius:999px;padding:6px 14px;font-size:12px;display:none;position:fixed;left:50%;transform:translate(-50%)}@media (orientation:landscape) and (max-height:500px) and (pointer:coarse){#rotate-hint{display:block}.panel{gap:8px;padding:14px 18px}.logo{font-size:40px}.btn.big{min-height:50px}}@media (max-height:640px){.final-score{font-size:56px}.board li{padding:6px 10px}.panel{gap:9px;padding-top:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}#banner.show{opacity:1;animation:none}}
