.rhythm-race-settings{color:#253b51;max-width:1280px;margin:auto;padding:28px}.race-settings-heading{align-items:center;gap:20px;margin-bottom:24px;display:flex}.race-settings-heading>svg{color:#367887;flex-shrink:0}.race-settings-heading h1{margin:0;font-size:38px}.race-settings-heading p{font-size:18px}.race-settings-card{background:#fff;border:1px solid #d2e0e6;border-radius:24px;padding:28px}.race-settings-card>.choice-field{margin-bottom:28px}.race-car-selectors{gap:24px;display:grid}.race-car-selectors fieldset{border:0;min-width:0;margin:0;padding:0}.race-car-selectors legend{margin-bottom:12px;font-size:20px;font-weight:800}.race-car-choices{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.race-car-choices button{color:#30465a;touch-action:manipulation;background:#f8fafc;border:2px solid #dce4ed;border-radius:16px;flex-direction:column;align-items:center;gap:8px;min-height:152px;padding:12px;display:flex}.race-car-choices button[aria-pressed=true]{background:#e1f2ef;border:3px solid #367e73;padding:11px;box-shadow:0 3px #367e73}.race-car-choices svg{width:48px;height:74px}.race-car-choices span{font-size:16px;font-weight:800}.race-car-choices small{font-size:13px}.race-rules{color:#506274;margin:24px 0;font-size:17px;line-height:1.7}.rhythm-race-running{color:#263c50;background:#edf3f6;min-height:100dvh}.race-toolbar{background:#fff;border-bottom:1px solid #cddce3;justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:10px 24px;display:flex}.race-toolbar a,.race-toolbar button,.race-result-actions a,.race-result-actions button{color:#2e5264;touch-action:manipulation;background:#fff;border:1px solid #d1dee5;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 14px;font-size:16px;font-weight:700;display:inline-flex}.race-toolbar>strong{align-items:center;gap:10px;font-size:22px;display:flex}.race-toolbar>div{gap:8px;display:flex}.race-toolbar .tool-button span{display:none}.race-arena{max-width:1920px;margin:auto;padding:12px 18px 18px}.race-status{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:18px;display:flex}.race-lanes{grid-template-columns:repeat(var(--players),minmax(0,1fr));gap:14px;display:grid}.race-lane{border:1px solid #cddce4;border-top:5px solid var(--car-color);background:#fff;border-radius:18px;min-width:0;padding:12px;overflow:hidden}.race-player{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:19px;display:flex}.race-player>span{background:#eef3f7;border-radius:10px;padding:4px 10px;font-weight:800}.race-track{background:#e1eedf;border-radius:14px;height:clamp(205px,31vh,360px);position:relative;overflow:hidden}.race-road{background:#506275;border-left:5px solid #fff9;border-right:5px solid #fff9;width:44%;height:100%;position:absolute;left:28%}.race-road:after{content:"";background:repeating-linear-gradient(#ffffff4d 0 18px,#0000 18px 34px);width:3px;position:absolute;top:0;bottom:0;left:50%}.race-finish{z-index:2;color:#fff;text-shadow:0 1px 4px #000,0 1px 4px #000;background:repeating-linear-gradient(90deg,#253a4d 0 12px,#fff 12px 24px);justify-content:center;align-items:center;width:44%;height:23px;font-size:12px;font-weight:800;display:flex;position:absolute;top:0;left:28%}.race-start{text-align:center;color:#fff;border-top:2px solid #fff7;width:44%;font-size:11px;font-weight:800;position:absolute;bottom:1px;left:28%}.race-marker{justify-content:space-between;align-items:center;width:100%;height:18px;padding:0 8%;font-size:14px;line-height:1;display:flex;position:absolute;left:0}.race-marker strong{color:#3d5c48;min-width:32px}.race-marker>span{color:#46634e;font-size:12px}.race-marker.passed strong{color:#fff;text-align:center;background:#37775a;border-radius:5px}.race-car-position{z-index:3;width:48px;height:78px;transition:bottom .55s cubic-bezier(.2,.7,.3,1);position:absolute;left:50%;transform:translate(-50%,50%)}.race-car-body svg{filter:drop-shadow(0 4px 2px #132f4438);width:100%;height:78px}.race-turbo .race-car-body{animation:.6s ease-out race-boost}.race-flame{fill:#f8b84c;color:#da6c2e;width:22px;height:30px;position:absolute;bottom:-19px;left:14px;transform:rotate(180deg)}@keyframes race-boost{0%,to{transform:translateY(0)}35%{transform:translateY(-10px)}}.race-turbo-label{color:#86601f;justify-content:center;align-items:center;gap:6px;height:30px;font-size:14px;font-weight:800;display:flex}.race-question{text-align:center;min-height:130px}.race-question>span{color:#3d7083;font-size:14px;font-weight:700}.race-question h2{margin:5px 0 12px;font-size:clamp(18px,1.45vw,26px);font-weight:800;line-height:1.25}.race-sequence{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:clamp(23px,2vw,36px);font-weight:800;line-height:1.25;display:flex}.race-sequence>span{min-width:40px;padding:4px 5px}.race-sequence>span:not(:last-child):after{content:"·";color:#91a6b0;padding-left:6px}.race-sequence .missing{color:#266f8d}.race-answers{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.race-answers button{color:#244c68;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#eff7fc;border:2px solid #b7ceda;border-radius:14px;min-height:70px;padding:10px 4px;font-size:clamp(26px,2.3vw,38px);font-weight:800}.race-answers button.correct{color:#27623c;background:#d9f1de;border-color:#43855a}.race-answers button.wrong{color:#85463e;background:#fae7e3;border-color:#c18479}.race-feedback{text-align:center;color:#5e7283;min-height:24px;margin:9px 0 0;font-size:14px}.race-feedback.correct{color:#286342}.race-lane-done{text-align:center;color:#316854;padding:24px 8px}.race-lane-done svg{color:#ae8538;width:44px;height:44px}.race-lane-done h2{font-size:24px}.race-lane-done p{margin:10px 0;font-size:17px}.race-mobile-note{display:none}.players-1{max-width:740px;margin:auto}.players-2{max-width:1250px;margin:auto}.race-results{text-align:center;max-width:1380px;margin:auto;padding:30px 24px}.race-results>svg{color:#b58c3a}.race-results h1{margin:8px 0 14px;font-size:clamp(30px,3vw,44px)}.race-result-grid{flex-wrap:wrap;justify-content:center;gap:18px;margin:28px 0;display:flex}.race-result-grid article{background:#fff;border:2px solid #d1dee5;border-radius:20px;min-width:240px;padding:24px}.race-result-grid article.winner{background:#fff6de;border-color:#bb9346}.race-result-grid article>svg{width:66px;height:100px;margin:auto}.race-result-grid h2{margin:12px 0;font-size:23px}.race-result-grid strong{font-size:30px}.race-result-grid p{margin:8px 0;font-size:17px}.race-result-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}:is(.rhythm-race-settings button:focus-visible,.rhythm-race-running button:focus-visible,.rhythm-race-running a:focus-visible){outline-offset:3px;outline:4px solid #456fbe}@media (min-width:1100px) and (max-height:850px){.race-track{height:220px}.race-question{min-height:120px}.race-lane{padding:10px}.race-answers button{min-height:64px}.race-player{font-size:18px}.race-car-position{width:38px;height:63px}.race-car-body svg{height:63px}.race-sequence{font-size:27px}}@media (max-width:900px){.race-lanes:not(.players-1){grid-template-columns:repeat(var(--players),minmax(300px,1fr));scroll-snap-type:x proximity;padding-bottom:8px;overflow-x:auto}.race-lane{scroll-snap-align:start}.race-mobile-note{color:#586d7d;margin:0 0 12px;font-size:14px;line-height:1.5;display:block}.race-car-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:550px){.rhythm-race-settings,.race-settings-card{padding:20px 14px}.race-settings-heading{gap:12px}.race-settings-heading>svg{display:none}.race-settings-heading h1{font-size:32px}.race-settings-heading p{font-size:17px}.race-car-choices{gap:8px}.race-car-choices button{min-height:146px;padding:8px}.race-car-choices button[aria-pressed=true]{padding:7px}.race-car-choices span{font-size:14px}.race-toolbar{flex-wrap:wrap;gap:8px;padding:8px}.race-toolbar>strong{flex:1 0 100%;order:-1;justify-content:center;font-size:18px}.race-toolbar a,.race-toolbar button{min-height:44px;padding:9px}.race-arena{padding:10px}.race-status{font-size:15px}.race-lane{padding:10px}.race-track{height:230px}.race-question{min-height:120px}.race-sequence{font-size:28px}.race-answers button{min-height:64px;font-size:29px}.race-player{font-size:18px}.race-car-position{width:38px;height:63px}.race-car-body svg{height:63px}}@media (prefers-reduced-motion:reduce){.race-car-position{transition:none}.race-turbo .race-car-body{animation:none}}
