:root{color-scheme:dark;--bg:#101a2c;--ink:#f5f1e8;--muted:#cfd8e4;--accent:#b4e7d1;--line:#ffffff20;--safe: max(18px,env(safe-area-inset-left));font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink)}body{touch-action:manipulation}button,select{font:inherit}button{cursor:pointer;min-height:44px;touch-action:manipulation}button:disabled{opacity:.5;cursor:wait}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #ffe1a4;outline-offset:4px}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}#app{position:relative;width:100%;height:100%;height:100dvh;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;top:0;left:0;width:100%;padding:max(24px,env(safe-area-inset-top)) 34px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;pointer-events:none}header button{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:750;letter-spacing:-.5px;white-space:nowrap}.brand-mark{color:var(--accent);font-size:25px}.tools{display:flex;gap:8px}.quiet{border:1px solid var(--line);background:#15243bba;color:var(--ink);padding:0 15px;border-radius:24px;font-size:12px;font-weight:600}.intro{position:absolute;left:8%;top:22%;max-width:380px;pointer-events:none}.intro button{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--accent);line-height:1.6}h1{font-size:clamp(48px,6vw,82px);line-height:1.02;letter-spacing:-4px;margin:22px 0;font-weight:750}h1 span{color:var(--accent)}.description{font-size:15px;line-height:1.8;color:var(--muted)}.primary{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--accent);color:#132a29;border:0;border-radius:13px;padding:17px 24px;min-height:54px;font-weight:750;margin-top:24px}.secondary{border:0;background:none;color:var(--muted);padding:10px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px}.input-hint,.play-hint{font-size:10px;line-height:1.6;letter-spacing:1.3px;color:#e6ecf3}.input-hint{margin-top:20px}.hud{position:absolute;right:7%;top:140px;text-align:right;pointer-events:none}.score{font-size:76px;line-height:1.1;letter-spacing:-4px;font-weight:350;font-variant-numeric:tabular-nums}.record{font-size:11px;color:var(--muted);margin-top:12px;letter-spacing:1px}.record strong{color:#f3d19c;margin-left:12px;font-size:15px}.goal{margin-top:26px;font-size:9px;color:#e6ecf3;letter-spacing:1px;width:140px}.track{height:3px;background:#ffffff18;margin:10px 0;overflow:hidden;border-radius:3px}.track i{display:block;height:100%;background:var(--accent);width:0}.playing .hud{right:auto;left:7%;text-align:left}.message{position:absolute;top:20%;left:62%;transform:translateX(-50%);text-align:center;pointer-events:none;min-width:220px;max-width:70%;opacity:0}.message.show{opacity:1}.message strong{font-size:25px;color:var(--accent);letter-spacing:-.7px}.message small{display:block;font-size:10px;letter-spacing:1.5px;margin-top:8px;color:var(--muted)}.play-hint{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;pointer-events:none}footer{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:34px;right:34px;display:flex;justify-content:space-between;gap:16px;align-items:center;color:var(--muted);font-size:9px;letter-spacing:1.5px;pointer-events:none}.save-area{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:0;text-align:right}.save-area button{pointer-events:auto;border:0;border-radius:8px;background:#ffffff13;color:var(--ink);padding:4px 10px;font-size:11px}.save-error{color:#ffd19c}.overlay{position:absolute;inset:0;z-index:5;display:flex;justify-content:center;align-items:center;background:#0d172baa;backdrop-filter:blur(12px);padding:18px;overflow:auto}.card{border:1px solid var(--line);border-radius:24px;padding:30px;background:#17263cf5;box-shadow:0 25px 90px #0004;width:min(400px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;text-align:center}.card h2{font-size:30px;letter-spacing:-1px;margin:12px 0;line-height:1.15}.card p{color:var(--muted);font-size:13px;line-height:1.65}.card .primary{width:100%;justify-content:center;margin-top:16px}.card .secondary{padding:8px 14px}.mini-tower{color:var(--accent);font-size:32px;line-height:.6;margin:16px}.loading-card{box-shadow:none}.result-score{font-size:86px;letter-spacing:-5px;font-weight:500;color:var(--accent);line-height:1.15}.result-stats{display:flex;justify-content:center;gap:30px;margin:18px 0}.result-stats b{display:block;font-size:19px;color:var(--ink);margin-bottom:5px}.result-stats span{font-size:9px;letter-spacing:1px;color:var(--muted)}.instructions{padding-left:24px;text-align:left;margin:22px 0;color:var(--muted);font-size:13px;line-height:1.6}.instructions li{padding:0 0 12px 6px}.instructions li::marker{color:var(--accent);font-weight:700}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.setting-row button{min-width:66px;border-radius:22px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);padding:8px 16px}.setting-row button[aria-pressed=true]{background:var(--accent);color:#132a29}.setting-row select{border:1px solid var(--line);border-radius:8px;padding:10px;background:#101a2c;color:var(--ink);max-width:140px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.stat-grid b{font-size:22px;display:block}.stat-grid small{font-size:10px;color:var(--muted);line-height:1.3;display:block;margin-top:5px}.version{font-size:9px!important;letter-spacing:1px}.contrast{--muted:#e0e8f1;--accent:#c6ffe5}.contrast .quiet{border-color:#a2b9c7}.contrast .track{background:#70808a}.platform-paused *{animation-play-state:paused!important;transition:none!important}@media(max-width:700px){header{padding:18px var(--safe) 0;gap:8px;align-items:flex-start}.brand{font-size:14px;gap:6px;padding-top:11px}.tools{gap:5px;max-width:64%;flex-wrap:wrap;justify-content:flex-end}.quiet{padding:0 10px;font-size:11px}.intro{left:24px;top:19%;max-width:70%}h1{font-size:54px;margin:14px 0;letter-spacing:-3px}.eyebrow{font-size:9px;letter-spacing:1.3px}.description{font-size:13px;line-height:1.6}.primary{margin-top:16px;padding:15px 20px;font-size:14px}.hud{right:24px;top:100px}.score{font-size:54px}.record{font-size:9px}.goal{width:105px;margin-top:18px}.intro~.hud .goal{display:none}.playing .hud{left:24px;top:105px}.playing .hud .goal{display:block}.message{left:65%;top:22%;min-width:160px;max-width:60%}.message strong{font-size:20px}.message small{font-size:8px}.play-hint{bottom:84px;font-size:10px;white-space:normal;width:85%}footer{left:24px;right:24px;bottom:20px;font-size:8px}footer>span{display:none}.save-area{margin-left:auto;font-size:10px}.input-hint{font-size:10px;letter-spacing:.8px}.card{padding:24px}.card h2{font-size:27px}}
@media(max-height:550px) and (min-aspect-ratio:1/1){header{padding:10px 20px 0}.brand{font-size:13px}.quiet{font-size:11px;min-height:36px}.intro{top:22%;left:5%;max-width:36%}h1{font-size:38px;letter-spacing:-2px;margin:8px 0}.intro .description{font-size:11px;line-height:1.4;margin:8px 0}.intro .eyebrow,.intro .input-hint{display:none}.primary{min-height:44px;margin-top:10px;padding:10px 16px;font-size:12px}.secondary{min-height:32px;font-size:11px}.hud,.playing .hud{top:80px;left:5%;right:auto;text-align:left}.intro~.hud{left:auto;right:4%;top:72px;text-align:right}.playing .hud{left:5%;right:auto;text-align:left}.score{font-size:45px}.goal{margin-top:10px;width:110px}.message{top:20%;left:64%}.play-hint{bottom:45px}footer{bottom:12px;left:20px;right:20px}.card{padding:18px;width:min(450px,90%)}.card h2{font-size:25px}.result-score{font-size:50px}.result-stats{margin:8px 0}.card p{margin:8px 0}.setting-row{min-height:48px}.stat-grid{margin:10px 0}}
@media(max-width:350px){header{padding-left:12px;padding-right:12px}.brand{font-size:12px}.brand-mark{display:none}.quiet{padding:0 8px;font-size:10px}.intro{left:18px;max-width:76%}h1{font-size:46px}.description{font-size:12px}.hud{right:18px;top:90px}.score{font-size:42px}.intro .eyebrow{max-width:180px}.message{left:67%;min-width:130px}.message strong{font-size:17px}.card{padding:20px}.playing .hud{left:18px}.goal{width:85px}}

.modes{display:flex;gap:6px;margin-top:22px;pointer-events:auto;flex-wrap:wrap}
.mode{min-height:40px;border:1px solid var(--line);background:#15243bba;color:var(--muted);border-radius:22px;padding:0 16px;font-size:12px;font-weight:650}
.mode[aria-checked=true]{background:#b4e7d126;border-color:var(--accent);color:var(--ink)}
.mode-desc{font-size:12px;color:#e6ecf3;margin:10px 0 0;min-height:1.5em}
.top-runs{margin:6px auto 4px;max-width:240px}
.top-runs ol{list-style:none;padding:0;margin:8px 0 0}
.top-runs li{display:flex;justify-content:space-between;padding:5px 12px;border-radius:8px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.top-runs li.current{background:#b4e7d11f;color:var(--ink)}
.top-runs li b{color:var(--ink);font-weight:650}
[dir=rtl] .instructions{text-align:right;padding-left:0;padding-right:24px}
[dir=rtl] .instructions li{padding:0 6px 12px 0}
[dir=rtl] .setting-row{text-align:right}
[dir=rtl] .primary span[aria-hidden]{transform:scaleX(-1)}
:lang(ar) *,:lang(hi) *,:lang(zh) *{letter-spacing:0!important}
:lang(ar) h1,:lang(hi) h1{line-height:1.25;font-size:clamp(40px,5vw,68px)}
:lang(ar) .description,:lang(hi) .description{line-height:1.9}
@media(max-width:700px){:lang(ar) h1,:lang(hi) h1{font-size:42px;margin:10px 0}.modes{margin-top:16px}.mode{padding:0 12px;font-size:11px;min-height:38px}.mode-desc{font-size:11px;margin-top:8px}.intro{top:17%}}
@media(max-height:550px) and (min-aspect-ratio:1/1){.modes{margin-top:8px}.mode{min-height:32px;font-size:11px;padding:0 10px}.mode-desc{display:none}}
@media(max-width:350px){.mode{padding:0 9px;font-size:10px}.intro{top:max(17%,190px)}}
.card:focus{outline:none}
.overlay.result-view{background:#0d172b66;backdrop-filter:blur(2px)}
.result-view .card{background:#17263ce8}
@media(min-aspect-ratio:6/5) and (max-height:700px) and (min-height:551px){.intro{top:16%}.input-hint{margin-top:12px}}
