.theme-race { --cream: #214c50; --muted: #638083; --accent: #a97742; color: var(--cream); }
.theme-race .play-stage { border-color: rgba(255,255,255,.82); background: linear-gradient(145deg,rgba(245,255,255,.85),rgba(208,239,247,.72)); box-shadow: 0 24px 80px rgba(18,67,88,.2); }
.theme-race .play-stage { isolation: isolate; background: radial-gradient(circle at 50% 32%,rgba(255,238,185,.58) 0%,transparent 32%),rgba(240,250,244,.55); }
.theme-race .play-stage::before { content:none; }
.theme-race .actions a,.theme-race .actions button { color: #214c50; }
.theme-race .race-track.mini-race-panel { position:absolute; z-index:0; inset:0; width:auto; height:auto; margin:0; overflow:hidden; border:0; border-radius:17px; background:transparent; box-shadow:none; }.theme-race .race-three-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }.theme-race .race-empty-state { position:absolute; z-index:2; top:54%; left:50%; width:min(310px,76%); margin:0; padding:11px 16px; border-radius:999px; background:rgba(255,255,255,.72); color:#214c50; text-align:center; font-size:11px; transform:translate(-50%,-50%); }.theme-race .race-minimap { z-index:2; }
.theme-race .race-track.mini-race-panel:has(.race-position-stack.is-expanded) { z-index:auto; isolation:auto; }
.theme-race .game-heading { position: relative; z-index: 2; }
.theme-race .primary-actions { position: relative; z-index: 2; width: 100%; margin-top: auto; }
@media (min-width:901px) { .theme-race { height:100dvh; overflow:hidden; }.theme-race .primary-actions { width:100%; } }

@media (max-width:520px) { .theme-race .game-heading .result-banner { min-height:42px; padding:8px 9px; font-size:10px; }.theme-race .game-heading .result-banner strong { font-size:10px; }.theme-race .game-heading .result-banner span { font-size:10px; }.theme-race .race-minimap { top:142px; }.theme-race .primary-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }.theme-race .primary-actions .primary-button,.theme-race .primary-actions .secondary-button { min-width:0; padding:0 7px; font-size:12px; white-space:nowrap; } }
@media (min-width: 901px) {
  .theme-race .primary-actions { margin-top: auto; }
}

.theme-race .race-overview-button { display:grid; place-items:center; width:32px; height:32px; min-height:32px; padding:0; box-shadow:none; cursor:pointer; }
.theme-race .race-overview-button svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
.theme-race .race-auto-camera-button span { font:800 14px/1 "Noto Sans KR",sans-serif; }
.theme-race .race-overview-button:hover,.theme-race .race-overview-button:focus-visible,.theme-race .race-overview-button[aria-pressed="true"] { color:#285959; background:rgba(255,255,255,.9); }
.theme-race .race-overview-button:focus-visible { outline:3px solid rgba(240,186,79,.78); outline-offset:3px; }
.theme-race .race-overview-button:disabled { cursor:not-allowed; opacity:.42; transform:none; }
@media (max-width:520px) { .theme-race .race-empty-state { width:calc(100% - 26px); max-width:310px; padding:10px 12px; font-size:10px; line-height:1.45; white-space:normal; } }

.theme-race .game-heading > strong { display:none; }
