:root{--ink:#101b32;--muted:#5f6879;--cream:#fff8e8;--orange:#ff5c35;--yellow:#ffd63d;--cyan:#58ddec;--blue:#3856db;--road:#202536;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{background:radial-gradient(circle at 85% 5%, #fff0b2 0 13%, transparent 32%), var(--cream);min-height:100vh;overflow:hidden}.topbar{border-bottom:2px solid #101b321f;justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);margin:0 auto;padding:22px 0;display:flex}.brand{color:var(--ink);letter-spacing:-.7px;align-items:center;gap:12px;font-size:22px;font-weight:950;text-decoration:none;display:flex}.brand-mark{background:var(--orange);border:3px solid var(--ink);width:34px;height:34px;box-shadow:3px 3px 0 var(--ink);border-radius:50%;grid-template-columns:repeat(2,6px);place-content:center;gap:3px;display:grid}.brand-mark i{background:#fff;width:6px;height:6px}.header-badge{border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.08em;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:900}.header-badge span{color:var(--orange)}.top-actions{align-items:center;gap:10px;display:flex}.music-control{border:2px solid var(--ink);min-width:104px;color:var(--ink);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:999px;padding:10px 13px;font-size:10px;font-weight:950;transition:transform .15s,background .15s}.music-control:hover{background:#fff4c5;transform:translateY(-2px)}.music-control span{color:var(--orange);font-size:14px}.music-control.music-playing span{animation:.45s infinite alternate musicBounce;display:inline-block}.music-control-dark{color:#fff;box-shadow:none;background:#ffffff14;border-color:#ffffff61}.music-control-dark:hover{background:#ffffff29}.floating-music{z-index:20;position:fixed;top:20px;right:20px}.hero{grid-template-columns:.85fr 1.15fr;align-items:center;gap:76px;width:min(1180px,100% - 40px);margin:0 auto;padding:76px 0 68px;display:grid}.kicker{color:var(--orange);text-transform:uppercase;letter-spacing:.17em;margin:0 0 13px;font-size:12px;font-weight:950;line-height:1}.kicker.dark{color:var(--ink)}.hero h1{letter-spacing:-.075em;text-transform:uppercase;max-width:600px;margin:0;font-size:clamp(58px,7vw,96px);font-weight:950;line-height:.88}.hero h1 span{color:var(--orange)}.hero-text{color:#4e5768;max-width:520px;margin:26px 0 28px;font-size:18px;font-weight:650;line-height:1.55}.quick-stats{flex-wrap:wrap;gap:8px;display:flex}.quick-stats span{color:#555f70;background:#fff;border:2px solid #101b3221;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:800}.quick-stats b{color:var(--ink);font-size:14px}.track-card{border:3px solid var(--ink);background:#fff;border-radius:22px;overflow:hidden;transform:rotate(1.25deg);box-shadow:12px 14px #101b3221}.track-topline{background:var(--yellow);border-bottom:3px solid var(--ink);letter-spacing:.08em;justify-content:space-between;padding:13px 18px;font-size:11px;font-weight:950;display:flex}.live-dot{background:#2aa968;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #2aa96826}.track-surface{background-color:var(--road);background-image:repeating-linear-gradient(90deg,#0000 0 68px,#ffffff06 69px 70px);height:330px;position:relative;overflow:hidden}.track-surface:before,.track-surface:after{content:"";opacity:.7;background:repeating-linear-gradient(90deg,#fff 0 48px,#0000 48px 88px);height:6px;position:absolute;left:0;right:0}.track-surface:before{top:108px}.track-surface:after{bottom:103px}.lane-divider{border-top:2px dashed #ffffff26;position:absolute;top:50%;left:0;right:0}.finish-line{z-index:2;background-color:#fff;background-image:linear-gradient(45deg,#111 25%,#0000 25%),linear-gradient(-45deg,#111 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#111 75%),linear-gradient(-45deg,#0000 75%,#111 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:15px 15px;width:30px;height:100%;position:absolute;top:0;right:72px}.lane-label{z-index:3;color:#ffffff59;letter-spacing:.1em;font-size:10px;font-weight:900;position:absolute;left:17px}.lane-label-one{top:16px}.lane-label-two{top:181px}.car-position{z-index:5;position:absolute;left:30%;transform:translate(-50%)}.player-car{top:36px}.bot-car{opacity:.92;bottom:25px;left:21%;transform:translate(-50%)scale(.88)}.car-wrap{filter:drop-shadow(0 8px 3px #00000040);width:142px;height:78px;position:relative}.car-wrap:before{content:"";background:var(--car-color);border:3px solid #0d1423;border-radius:22px 42px 42px 18px;height:42px;position:absolute;top:18px;left:18px;right:4px}.car-wrap:after{content:"";background:var(--car-color);border:3px solid #0d1423;border-radius:7px 3px 3px 7px;width:42px;height:27px;position:absolute;top:26px;left:0}.car-orange{--car-color:var(--orange)}.car-blue{--car-color:var(--cyan)}.car-number{z-index:3;color:#fff;font-size:20px;font-weight:950;position:absolute;top:29px;left:66px}.car-cockpit{z-index:2;background:#94dbff;border:3px solid #0d1423;border-radius:23px 23px 5px 5px;width:47px;height:31px;position:absolute;top:9px;left:50px;transform:skew(-10deg)}.car-nose{z-index:3;background:var(--yellow);border:2px solid #0d1423;border-radius:0 10px 10px 0;width:20px;height:11px;position:absolute;top:31px;right:7px}.car-wheel{z-index:4;background:#0d1423;border:3px solid #8790a1;border-radius:5px;width:22px;height:17px;position:absolute}.wheel-one{top:8px;left:25px}.wheel-two{bottom:4px;left:25px}.wheel-three{top:8px;right:22px}.wheel-four{bottom:4px;right:22px}.track-word{color:#ffffff1a;letter-spacing:-.05em;font-size:46px;font-style:italic;font-weight:950;position:absolute;bottom:16px;right:118px;transform:rotate(-6deg)}.track-caption{border-top:3px solid var(--ink);align-items:center;gap:13px;min-height:74px;padding:14px 18px;display:flex}.sound-button{color:#fff;background:var(--orange);border:2px solid var(--ink);width:44px;height:44px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;place-items:center;display:grid}.track-caption div:last-child{flex-direction:column;gap:3px;display:flex}.track-caption strong{font-size:14px}.track-caption span{color:var(--muted);font-size:12px}.race-picker{border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);background:#fff;padding:70px max(20px,50% - 590px)}.section-heading{justify-content:space-between;align-items:end;gap:36px;margin-bottom:31px;display:flex}.section-heading h2{letter-spacing:-.045em;max-width:640px;margin:0;font-size:clamp(32px,4vw,50px);line-height:1}.section-heading>p{max-width:370px;color:var(--muted);margin:0;font-size:15px;line-height:1.55}.race-stages{gap:42px;display:grid}.race-stage{gap:15px;display:grid}.stage-title{align-items:center;gap:11px;display:flex}.stage-title span{color:#fff;background:var(--ink);width:31px;height:31px;font-family:var(--font-geist-mono);border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid}.stage-title h3{text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:18px;line-height:1}.race-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.race-card{text-align:left;min-height:190px;color:var(--ink);background:var(--card-color);border:3px solid var(--ink);cursor:pointer;border-radius:17px;flex-direction:column;align-items:flex-start;padding:22px;transition:transform .18s,box-shadow .18s;display:flex;position:relative}.championship-stage .race-grid{grid-template-columns:minmax(0,1fr)}.championship-stage .race-card{min-height:150px}.race-card:hover{box-shadow:7px 8px 0 var(--ink);transform:translateY(-4px)}.tone-yellow{--card-color:#fd5}.tone-cyan{--card-color:#84e8f0}.tone-red{--card-color:#ff7657}.tone-purple{--card-color:#b9a3ff}.tone-green{--card-color:#79dda0}.race-index{font-family:var(--font-geist-mono);opacity:.55;font-size:11px;font-weight:900;position:absolute;top:17px;right:18px}.race-eyebrow{border:1px solid var(--ink);text-transform:uppercase;letter-spacing:.1em;background:#ffffffbf;border-radius:999px;margin-bottom:25px;padding:5px 8px;font-size:9px;font-weight:950}.race-card strong{letter-spacing:-.04em;max-width:180px;font-size:23px;line-height:1}.race-example{font-family:var(--font-geist-mono);margin-top:10px;font-size:13px;font-weight:750}.select-indicator{text-transform:uppercase;letter-spacing:.05em;margin-top:auto;font-size:11px;font-weight:900}.race-card:focus-visible{outline-offset:3px;outline:4px solid #fff}footer{width:min(1180px,100% - 40px);min-height:105px;color:var(--muted);justify-content:space-between;align-items:center;margin:0 auto;font-size:12px;display:flex}footer strong{color:var(--ink);font-size:14px}.teacher-note{grid-template-columns:1fr 1fr;align-items:center;gap:80px;width:min(1180px,100% - 40px);margin:0 auto;padding:68px 0 12px;display:grid}.teacher-note h2{letter-spacing:-.055em;margin:0;font-size:clamp(34px,4vw,52px);line-height:.96}.teacher-note>p{color:var(--muted);margin:0;font-size:16px;font-weight:600;line-height:1.7}.countdown-screen{color:#fff;background:radial-gradient(circle, #354158 0 1px, transparent 2px) 0 0/24px 24px, var(--road);place-content:center;justify-items:center;min-height:100vh;display:grid;overflow:hidden}.countdown-flag{color:var(--ink);background:var(--yellow);text-transform:uppercase;letter-spacing:.1em;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:950}.countdown-screen p{text-transform:uppercase;letter-spacing:.14em;margin:22px 0 -12px;font-weight:950}.countdown-screen>strong{color:var(--orange);letter-spacing:-.08em;text-shadow:8px 8px #0a1020;font-size:clamp(130px,30vw,280px);line-height:1}.countdown-car{animation:.35s infinite alternate idleCar;transform:scale(1.25)}.game-screen{color:#fff;background:#161c2b;min-height:100vh;padding-bottom:46px}.game-header{background:#111726;border-bottom:2px solid #ffffff21;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;padding:12px max(20px,50% - 590px);display:grid}.game-title{flex-direction:column;align-items:center;gap:3px;display:flex}.game-title span{color:var(--yellow);text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:900}.game-title strong{font-size:19px}.game-controls{justify-content:flex-end;align-items:center;gap:8px;display:flex}.back-button,.mute-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:8px;width:max-content;padding:9px 12px;font-size:11px;font-weight:900}.mute-button{justify-self:end}.game-track{background-color:var(--road);background-image:repeating-linear-gradient(90deg,#0000 0 84px,#ffffff07 85px 86px);border-bottom:3px solid #0e1422;height:310px;position:relative;overflow:hidden}.game-track:before,.game-track:after{content:"";opacity:.72;background:repeating-linear-gradient(90deg,#fff 0 55px,#0000 55px 105px);height:7px;position:absolute;left:0;right:0}.game-track:before{top:102px}.game-track:after{bottom:94px}.game-lane{border-top:2px dashed #ffffff1f;position:absolute;top:50%;left:0;right:0}.game-finish{z-index:1;background-color:#fff;background-image:linear-gradient(45deg,#111 25%,#0000 25%),linear-gradient(-45deg,#111 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#111 75%),linear-gradient(-45deg,#0000 75%,#111 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:17px 17px;width:35px;height:100%;position:absolute;top:0;right:5%}.game-lane-label{color:#ffffff61;letter-spacing:.12em;font-size:9px;font-weight:900;position:absolute;left:16px}.player-label{top:13px}.bot-label{top:170px}.racing-car{z-index:5;transition:left .9s cubic-bezier(.2,.75,.2,1);position:absolute;transform:translate(-50%)scale(.9)}.racing-player{top:28px}.racing-bot{bottom:19px;transform:translate(-50%)scale(.78)}.question-zone{width:min(680px,100% - 30px);margin:0 auto;padding-top:24px}.round-row{color:#b7bfce;text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;margin-bottom:10px;font-size:11px;font-weight:900;display:flex}.round-row strong{color:var(--yellow)}.prompt-card{min-height:350px;color:var(--ink);text-align:center;background:var(--cream);border:3px solid #060b15;border-radius:22px;padding:28px;position:relative;box-shadow:0 10px #090e19}.prompt-card>p{letter-spacing:-.04em;margin:0 0 16px;font-size:clamp(26px,4vw,38px);font-weight:950}.listen-button{border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:11px 15px;font-size:12px;font-weight:900}.listen-button span{color:var(--orange);margin-right:5px}.answer-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;min-height:137px;margin-top:24px;display:grid}.answer-grid button{border:3px solid var(--ink);color:var(--ink);letter-spacing:-.04em;cursor:pointer;box-shadow:6px 7px 0 var(--ink);background:#fff;border-radius:15px;font-size:clamp(33px,7vw,56px);font-weight:950;transition:transform .15s,background .15s}.answer-grid button:hover{background:var(--yellow);transform:translateY(-3px)}.answer-grid button:disabled{cursor:default}.answers-waiting{grid-template-columns:1fr}.listening-message{color:var(--muted);justify-content:center;align-items:center;gap:7px;font-size:15px;font-weight:900;display:flex}.listening-message i{background:var(--orange);border-radius:50%;width:9px;height:9px;animation:.7s infinite alternate listening}.listening-message i:nth-child(2){animation-delay:.15s}.listening-message i:nth-child(3){margin-right:8px;animation-delay:.3s}.feedback{color:#fff;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:absolute;bottom:20px;left:28px;right:28px}.feedback.correct{background:#188650}.feedback.wrong{background:#bc3a2e}.feedback strong{font-size:14px}.feedback span{font-size:11px}.finish-screen{background:radial-gradient(circle at 30% 10%, #fff2b3, transparent 35%), var(--cream);place-items:center;min-height:100vh;padding:35px 15px;display:grid}.finish-card{text-align:center;border:3px solid var(--ink);width:min(620px,100%);box-shadow:12px 14px 0 var(--ink);background:#fff;border-radius:24px;padding:48px}.finish-card .kicker{margin-bottom:7px}.trophy{font-size:80px;line-height:1.2}.finish-card h1{text-transform:uppercase;letter-spacing:-.06em;margin:5px 0 13px;font-size:clamp(42px,8vw,68px);line-height:.95}.finish-copy{color:var(--muted);margin:0;font-size:18px}.finish-copy strong{color:var(--ink)}.score-meter{border:2px solid var(--ink);background:#e8e7e2;border-radius:999px;height:16px;margin:26px 0;overflow:hidden}.score-meter span{background:linear-gradient(90deg, var(--orange), var(--yellow));height:100%;display:block}.practice-box{background:#fff3c7;border-radius:12px;flex-direction:column;gap:5px;padding:16px;display:flex}.practice-box.perfect{background:#d9f7e3}.practice-box span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:950}.practice-box strong{font-size:15px}.finish-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:25px;display:grid}.finish-actions button{color:#fff;border:2px solid var(--ink);background:var(--orange);cursor:pointer;border-radius:10px;padding:14px;font-weight:950}.finish-actions .secondary{color:var(--ink);background:#fff}@keyframes listening{to{opacity:.45;transform:translateY(-7px)}}@keyframes idleCar{to{transform:translate(5px)rotate(1deg)}}@keyframes musicBounce{to{transform:translateY(-2px)rotate(5deg)}}@media (max-width:900px){.hero{grid-template-columns:1fr;gap:44px;padding-top:56px}.hero-copy{text-align:center}.hero-text{margin-left:auto;margin-right:auto}.quick-stats{justify-content:center}.track-card{width:100%;max-width:680px;margin:0 auto;transform:none}.section-heading{flex-direction:column;align-items:flex-start}.teacher-note{grid-template-columns:1fr;gap:23px}.race-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.topbar{width:min(100% - 28px,1180px)}.header-badge{display:none}.hero{width:min(100% - 28px,1180px);padding:44px 0 50px}.hero h1{font-size:clamp(52px,18vw,74px)}.hero-text{font-size:16px}.track-surface{height:270px}.track-surface:before{top:88px}.track-surface:after{bottom:83px}.finish-line{right:40px}.player-car{top:23px}.bot-car{bottom:13px}.car-position{left:26%;transform:translate(-50%)scale(.78)}.bot-car{left:20%;transform:translate(-50%)scale(.68)}.lane-label-two{top:145px}.track-word{display:none}.race-picker{padding-top:54px;padding-bottom:54px}.section-heading h2{font-size:38px}.race-grid,.championship-stage .race-grid{grid-template-columns:1fr}.race-card{min-height:180px}footer{text-align:center;flex-direction:column;justify-content:center;gap:7px;width:min(100% - 28px,1180px)}.teacher-note{width:min(100% - 28px,1180px);padding-top:54px}.game-header{grid-template-columns:auto 1fr auto;padding-left:10px;padding-right:10px}.game-title strong{font-size:14px}.game-title span{display:none}.game-controls{gap:4px}.game-controls .mute-button{display:none}.game-controls .music-control{min-width:auto;padding:8px 9px;font-size:0}.game-controls .music-control span{font-size:16px}.game-track{height:250px}.game-track:before{top:80px}.game-track:after{bottom:74px}.bot-label{top:138px}.racing-player{top:12px}.racing-bot{bottom:3px}.racing-car{transform:translate(-50%)scale(.64)}.racing-bot{transform:translate(-50%)scale(.57)}.prompt-card{padding:22px 16px}.answer-grid{gap:11px}.answer-grid button{box-shadow:4px 5px 0 var(--ink)}.feedback{flex-direction:column;align-items:flex-start;gap:3px;left:16px;right:16px}.finish-card{box-shadow:7px 8px 0 var(--ink);padding:34px 22px}.finish-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
