.rally-trail-hero { padding-bottom: clamp(9rem, 12vw, 13rem); }
.rally-trail-art { position: absolute; inset: auto 0 0; pointer-events: none; }
.rally-trail-art svg { display: block; position: relative; left: 50%; width: max(100%, 46rem); height: auto; transform: translateX(-50%); }
.rally-game { padding: clamp(1.75rem, 5vw, 3rem) 1rem; background: #ece9dc; color: #1b3317; }
.rally-game-inner { max-width: 68rem; margin-inline: auto; }
.rally-game-heading { display: flex; gap: 1rem; align-items: end; justify-content: space-between; margin-bottom: .85rem; }
.rally-game-kicker, .rally-game-score { font: 700 .8rem/1.4 ui-monospace, Consolas, monospace; text-transform: uppercase; letter-spacing: .08em; }
.rally-game h2 { font: 700 clamp(1.6rem, 4vw, 2.35rem)/1.15 Oswald, sans-serif; }
.rally-game-score { white-space: nowrap; }
.rally-game-score strong { font-size: 1.3rem; }
.rally-game-stage { position: relative; border: 2px solid #526047; border-radius: .65rem; overflow: hidden; background: #e0dec9; }
.rally-game canvas { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.rally-game-message { position: absolute; inset: 0; display: grid; place-items: center; margin: auto; padding: .5rem; pointer-events: none; font: 700 clamp(.85rem, 2vw, 1.25rem)/1.3 ui-monospace, Consolas, monospace; text-align: center; }
.rally-game-message:not(:empty) { background: #e0dec9dd; }
#rally-game-help { margin: .75rem 0; font-size: .875rem; }
.rally-game-action { min-width: 8.5rem; }
.rally-game-action:disabled { opacity: .6; }
