.score-box { flex-direction: column; line-height: 1.05; }
.score-box small { color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.road-feedback { text-align: center; min-height: 22px; margin: 0 0 8px; color: var(--muted); }
.road-overlay { position: absolute; inset: 0; z-index: 10; display: grid; place-items: center; padding: 20px; background: #020612d9; backdrop-filter: blur(7px); }
.road-overlay[hidden] { display: none; }
.road-card { width: min(560px,94vw); padding: clamp(22px,6vw,38px); border: 1px solid #5b78ad; border-radius: 26px; background: #111d36; box-shadow: 0 30px 100px #000b; text-align: center; }
.road-card h2 { font-size: clamp(28px,7vw,44px); }
.road-card p, .road-card li { color: var(--muted); }
.road-card ul { display: inline-block; text-align: left; }
.road-card button { border: 0; border-radius: 14px; padding: 13px 24px; background: var(--blue); color: #071024; font-weight: 900; }
.mission-row { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
#road-next { border: 0; border-radius: 999px; padding: 10px 18px; background: var(--yellow); color: #171000; font-weight: 900; }
.road-mascot { display: block; font-size: 58px; }
@media (max-width:650px) { .road-overlay { padding: 12px; } .road-card { max-height: 92dvh; overflow: auto; } }
@media (prefers-reduced-motion:reduce) { .road-overlay { backdrop-filter: none; } }
