:root{--midnight: #121838;--amber: #ffb444;--teal: #1d5f6b;--cream: #f5ead0;--ember: #e0533a;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--panel-bg: rgba(18, 24, 56, .82);--ease-back: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--midnight);color:var(--cream);font-family:var(--serif);overflow:hidden;-webkit-text-size-adjust:100%;overscroll-behavior:none}button{font:inherit;color:inherit}.app{position:fixed;inset:0;overflow:hidden}#game{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;outline:none}#game:focus-visible{box-shadow:inset 0 0 0 3px var(--amber)}.hud{position:absolute;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 0 calc(14px + env(safe-area-inset-left));pointer-events:none;font-variant-caps:all-small-caps;letter-spacing:.08em;font-variant-numeric:tabular-nums}.hud[hidden]{display:none}.hud-left{display:flex;flex-direction:column;gap:4px;min-width:0}.score{font-size:28px;line-height:1;color:var(--amber);text-shadow:0 0 12px rgba(255,180,68,.35);letter-spacing:.04em}.chip{display:inline-block;align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:17px;line-height:1.3;background:#121838b3;border:1px solid rgba(245,234,208,.25);color:var(--cream);transform-origin:left center;transition:background .2s,border-color .2s}.chip.pop{animation:chip-pop .18s var(--ease-back)}.chip.shake{animation:chip-shake .2s linear}.chip.flash{animation:chip-flash .3s ease-out}.chip.hot{border-color:var(--amber);color:var(--amber)}@keyframes chip-pop{0%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes chip-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes chip-flash{0%{background:var(--ember);color:var(--cream)}}.dist{font-size:24px;line-height:28px;color:var(--cream);opacity:.9}.hud-right{display:flex;justify-content:flex-end;gap:8px;pointer-events:auto}.icon-btn{width:56px;height:56px;border-radius:14px;border:1px solid rgba(245,234,208,.22);background:#12183899;color:var(--cream);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .15s,transform .15s}.icon-btn:active{transform:scale(.94)}.icon-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.icon-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn svg .spk{fill:currentColor}.icon-btn svg .mute{display:none;stroke:var(--ember)}.icon-btn[aria-pressed=false] svg .wave{display:none}.icon-btn[aria-pressed=false] svg .mute{display:block}.panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,520px);max-height:calc(100% - 32px);overflow:auto;padding:28px 24px;border-radius:22px;text-align:center;background:var(--panel-bg);border:1px solid rgba(245,234,208,.16);box-shadow:0 30px 80px #00000073,inset 0 1px #f5ead014;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:panel-in .22s ease-out both}.panel[hidden]{display:none}@keyframes panel-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}.eyebrow{margin:0 0 10px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);opacity:.9}.headline{margin:0 0 14px;font-weight:400;font-size:clamp(44px,12vw,84px);line-height:.92;letter-spacing:-.01em;text-transform:uppercase}.headline em{font-style:normal;color:var(--amber)}.headline.small{font-size:clamp(34px,8vw,54px)}.intro{margin:0 0 22px;font-size:17px;line-height:1.45;opacity:.9}.btn{min-height:56px;padding:12px 24px;border-radius:16px;border:1px solid rgba(245,234,208,.3);background:#f5ead014;color:var(--cream);cursor:pointer;font-size:17px;letter-spacing:.12em;text-transform:uppercase;font-variant-caps:all-small-caps;transition:transform .15s var(--ease-back),background .15s}.btn:active{transform:scale(.96)}.btn:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.btn-primary{background:var(--amber);color:var(--midnight);border-color:var(--amber);font-size:19px;padding:14px 30px}.btn-primary .arrow{display:inline-block;margin-left:6px;transition:transform .15s}.btn-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}.btn-row .btn{flex:1 1 140px}.controls{margin:22px 0 8px;font-size:14px;line-height:1.7;letter-spacing:.06em;opacity:.85;font-variant-caps:all-small-caps}.controls b{font-weight:400;color:var(--amber)}.controls .sep{opacity:.5}.best{margin:4px 0 0;font-size:15px;letter-spacing:.14em;font-variant-caps:all-small-caps;font-variant-numeric:tabular-nums;color:var(--amber)}.new-best{display:inline-block;margin:0 0 14px;padding:4px 14px;border-radius:999px;background:var(--amber);color:var(--midnight);font-size:15px;letter-spacing:.2em;text-transform:uppercase;animation:chip-pop .3s var(--ease-back)}.new-best[hidden]{display:none}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px}.stats div{background:#f5ead00f;border-radius:14px;padding:10px 8px}.stats .wide{grid-column:1 / -1}.stats dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.stats dd{margin:4px 0 0;font-size:26px;font-variant-numeric:tabular-nums;color:var(--cream)}.stats .wide dd{color:var(--amber);font-size:34px}.all-games{position:absolute;left:calc(14px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));color:var(--cream);text-decoration:none;opacity:.7;font-size:14px;letter-spacing:.16em;font-variant-caps:all-small-caps;padding:10px 14px;border-radius:10px;min-height:56px;display:inline-flex;align-items:center}.all-games:focus-visible{outline:2px solid var(--amber);opacity:1}@media(hover:hover){.icon-btn:hover{background:#1d5f6b8c}.btn:hover{background:#f5ead029}.btn-primary:hover{background:#ffc46a}.btn-primary:hover .arrow{transform:translate(2px,-2px)}.all-games:hover{opacity:1;background:#12183880}}.app[data-screen=play] .all-games{display:none}@media(max-width:420px){.panel{padding:22px 18px}.score{font-size:24px}.chip{font-size:15px}.dist{font-size:20px}.icon-btn{width:56px;height:56px}.btn-row .btn{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.panel,.chip.pop,.chip.shake{animation:none}.btn,.icon-btn{transition:none}}
