#victory-screen{position:fixed;inset:0;z-index:145;display:grid;place-items:center;isolation:isolate;overflow:hidden;background:#000;color:#fff;text-align:center;font-family:var(--font-game);outline:none}
#victory-screen[hidden]{display:none!important}
#victory-canvas,#victory-marbles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}
.victory-content{width:100%;padding:24px 12px;visibility:hidden;transform:translateY(-4vh)}
.victory-started .victory-content{visibility:visible;animation:victory-arrive .3s ease both}
#victory-screen:not(.victory-started) canvas{visibility:hidden}
body.victory-waiting #frame-info{visibility:hidden!important}
.victory-kicker{margin:0 0 1vh;color:#fff;font:700 max(12px,.875rem) var(--font-game);letter-spacing:.2em}
#victory-heading{margin:0;font:700 clamp(28px,5vw,4.5rem) var(--font-game);letter-spacing:.3125rem;color:#fff;text-shadow:none}
.victory-message{margin:1vh 0 0;color:#fff;font:700 max(12px,.875rem) var(--font-game)}
.victory-scores{display:flex;justify-content:center;gap:clamp(30px,5vw,80px);margin:3vh 0 2vh}
.victory-score{display:grid;gap:6px;color:#fff}
.victory-score span{font:700 max(12px,.875rem) var(--font-game);letter-spacing:.2em;text-transform:uppercase}
.victory-score strong{font:700 max(24px,2rem) var(--font-game);font-variant-numeric:tabular-nums}
/* Match Game Over's single white border, typography and neutral hover/focus. */
#victory-title{font:800 max(14px,1.125rem) var(--font-game);text-transform:uppercase;letter-spacing:.08em;background:#000;color:#fff;border:.1875rem solid #fff;border-radius:0;padding:.8125rem 1.25rem;min-height:44px;box-shadow:none}
#victory-title:hover,#victory-title:focus-visible{outline:none;background:#232323}
body.victory-mode :is(#race-display,#score-hud,#score-popups,#edit-launch,#overlay){visibility:hidden!important}
@keyframes victory-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.victory-started .victory-content{animation:none}}
