.race-open{margin-bottom:14px}.race-game{background:#fffef8;border:1px solid #e0e8dd;border-radius:24px;padding:24px;max-width:1000px;margin:auto}.race-title{display:flex;justify-content:space-between;gap:16px}.race-title h2{font-size:32px;margin:8px 0}.race-title p{color:#5b6f65}.race-badge{background:#e7f1e5;border-radius:14px;padding:14px;height:fit-content;font-weight:800}.race-route{display:flex;justify-content:space-between;margin:20px 0;gap:8px}.race-route>span{text-align:center;flex:1;border-bottom:3px solid #dfe6df;padding:8px;font-size:24px;opacity:.5}.race-route small{display:block;font-size:12px}.race-route .current{opacity:1;border-color:#d79b2a;background:#fff2cd;border-radius:12px 12px 0 0}.race-route .done{opacity:1;border-color:#34845b;background:#e6f5e9}.race-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#edf4ec;padding:12px;border-radius:14px}.race-prompt{text-align:center;padding:18px}.race-prompt h3{font-size:27px;margin:10px}.race-prompt p{margin:8px}.race-prompt small{display:block;color:#68786d;margin-top:8px;font-size:11px}.race-world{height:410px;overflow:hidden;position:relative;border:3px solid #c7dcc3;border-radius:20px;background:#bdd9a9;direction:ltr}.race-city{display:flex;justify-content:space-around;position:absolute;top:0;left:0;width:100%;height:70px;background:#d9eff0;font-size:48px;align-items:end}.race-road{position:absolute;inset:70px 8% 0;background:#536762;border-left:8px solid #fff0c5;border-right:8px solid #fff0c5}.race-dashes{position:absolute;inset:-100px 0;background:linear-gradient(to bottom,#f6f3d7 0 35px,transparent 35px 80px) 33.3% 0/3px 80px repeat-y,linear-gradient(to bottom,#f6f3d7 0 35px,transparent 35px 80px) 66.6% 0/3px 80px repeat-y}.race-moving .race-dashes{animation:race-road .7s linear infinite}.race-gates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:absolute;top:86px;left:6%;right:6%;z-index:3}.race-gate{border:4px solid #a6bfae;border-radius:14px 14px 4px 4px;background:#fffdf1;padding:10px 8px;cursor:pointer;color:#194b40;min-height:105px;font-family:Cairo,sans-serif;transition:border-color .18s,background .18s}.race-gate>span{display:block;font:700 12px Cairo;color:#7f9588;margin-bottom:8px}.race-gate b{font-size:17px;line-height:1.9;display:block}.race-gate.selected{border-color:#ffc34e;background:#fff2c6;box-shadow:0 0 0 3px #f8ca5480}.race-gate.incorrect{border-color:#c47666}.race-gate.correct{border-color:#70dc8b;background:#dcf9df;box-shadow:0 0 28px #8ff599}.race-car{position:absolute;width:58px;bottom:17px;left:50%;transform:translateX(-50%);z-index:2;transition:left .25s ease,bottom .5s ease}.race-car svg{width:100%;display:block;filter:drop-shadow(3px 7px 2px #183b3260)}.race-boost .race-car{bottom:95px}.race-overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:#f4faf1f5;text-align:center;padding:24px}.race-overlay[hidden]{display:none}.race-overlay>div{max-width:500px}.race-trophy{font-size:62px}.race-overlay h3{font-size:25px}.race-overlay .btn{margin:5px}.race-steer{display:flex;direction:ltr;justify-content:center;gap:12px;margin:18px 0}.race-steer button:first-child,.race-steer button:last-child{min-width:70px;font-size:23px}.race-feedback{background:#eef5e9;border-radius:12px;padding:16px;min-height:60px;text-align:center}.race-feedback button{margin:8px}.race-gate:focus-visible{outline:3px solid #fff;outline-offset:3px}@keyframes race-road{to{transform:translateY(80px)}}@media(max-width:600px){.race-game{padding:12px}.race-title h2{font-size:25px}.race-gates{gap:5px;left:3%;right:3%}.race-gate{padding:6px 3px;border-width:3px}.race-gate b{font-size:14px}.race-world{height:370px}.race-route small{font-size:10px}.race-prompt h3{font-size:23px}.race-tools{gap:8px}.race-car{width:48px}}@media(prefers-reduced-motion:reduce){.race-moving .race-dashes{animation:none}.race-car{transition:none}}
/* Drive under the answer card and emerge beyond it before fading away. */
.race-road{top:0}.race-boost .race-car{bottom:17px;animation:race-cross-gate 1.65s ease-in forwards}.race-boost .race-dashes{animation:race-road .3s linear infinite}
@keyframes race-cross-gate{0%{bottom:17px;opacity:1}65%{opacity:1}100%{bottom:calc(100% + 115px);opacity:0}}
@media(prefers-reduced-motion:reduce){.race-boost .race-car{animation:race-soft-exit .5s ease forwards}.race-boost .race-dashes{animation:none}@keyframes race-soft-exit{to{opacity:0}}}
