/* Beat the Keeper HUD (court.js). Kept separate so the landing style sheet stays unchanged. */
:where(.page) .game-hud{position:absolute;z-index:3;top:10px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;font:800 16px/1 'Barlow Condensed',sans-serif;font-style:italic;text-transform:uppercase;color:var(--paper,#f4f3ed);text-shadow:0 2px 6px #000}
:where(.page) .game-hud p{margin:0}
:where(.page) .game-score b{font-size:26px;color:var(--yellow,#ffd018)}
:where(.page) .game-best{opacity:.8}
:where(.page) .game-best b{color:var(--yellow,#ffd018)}
:where(.page) .game-shots{display:flex;gap:6px;margin:0;padding:0;list-style:none}
:where(.page) .game-shots li{width:14px;height:14px;border:2px solid #f4f3ed99;border-radius:50%;background:#0008;transition:background .2s,border-color .2s,transform .2s}
:where(.page) .game-shots li.is-goal{background:var(--yellow,#ffd018);border-color:var(--yellow,#ffd018)}
:where(.page) .game-shots li.is-bullseye{background:var(--yellow,#ffd018);border-color:#fff;transform:scale(1.25)}
:where(.page) .game-shots li.is-miss{background:#3c443e;border-color:#3c443e;opacity:.7}
:where(.page) .goal-prompt{top:40px}
:where(.page) .game-power{position:absolute;z-index:3;right:14px;top:56px;bottom:64px;width:12px;border:2px solid #f4f3ed88;border-radius:999px;background:#000a;overflow:hidden;opacity:.45;transition:opacity .15s}
:where(.page) .game-power.is-charging{opacity:1}
:where(.page) .game-power-zone{position:absolute;left:0;right:0;bottom:60%;height:25%;background:#ffd01840;border-block:2px solid var(--yellow,#ffd018)}
:where(.page) .game-power-fill{position:absolute;inset:0;background:linear-gradient(to top,#f4f3ed,var(--yellow,#ffd018) 60%,#ff6b4a);transform:scaleY(0);transform-origin:bottom}
:where(.page) .goal-scene.is-charging .shoot-ball{transform:translateX(-50%) translateY(2px) scale(.97);box-shadow:0 2px 0 #a57f0b,0 6px 14px #000a}
:where(.page) .goal-scene.is-over .shoot-ball,:where(.page) .goal-scene.is-over .goal-prompt,:where(.page) .goal-scene.is-over .game-power{opacity:0;pointer-events:none}
:where(.page) .game-over{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle,#070907cc,#070907f2);text-align:center;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;animation:game-over-in .35s cubic-bezier(.22,1,.36,1) both}
:where(.page) .game-over[hidden]{display:none}
:where(.page) .game-over p{margin:0}
:where(.page) .game-over-kicker{color:var(--yellow,#ffd018);font-size:16px;font-weight:800;letter-spacing:.14em}
:where(.page) .game-over-score{font-size:clamp(48px,9vw,76px);font-weight:800;font-style:italic;line-height:.95}
:where(.page) .game-over-best{font-size:18px;font-weight:700;color:#d6d8c6}
:where(.page) .game-again{margin-top:12px;padding:10px 22px;border:2px solid #fff3a0;border-radius:999px;background:var(--yellow,#ffd018);color:var(--ink,#101211);font:800 20px/1 'Barlow Condensed',sans-serif;font-style:italic;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 0 #a57f0b}
:where(.page) .game-again:focus-visible{outline:2px solid var(--yellow,#ffd018);outline-offset:4px}
@keyframes game-over-in{from{opacity:0;transform:scale(.96)}}
@media(max-width:600px){:where(.page) .game-hud{font-size:14px}:where(.page) .game-score b{font-size:22px}:where(.page) .game-shots li{width:12px;height:12px}:where(.page) .goal-prompt{font-size:13px}}
@media(prefers-reduced-motion:reduce){:where(.page) .game-over{animation:none}:where(.page) .game-shots li,:where(.page) .game-power{transition:none}}
