:root{--paddock-black:#0a0a0a;--paddock-carbon:#141414;--paddock-asphalt:#1e1e1e;--paddock-panel:#242424;--paddock-rubber:#2e2e2e;--paddock-concrete:#3a3a3a;--paddock-smoke:#4a4a4a;--text-on-dark:#f5f5f5;--text-soft-dark:#b0b0b0;--text-mute-dark:#707070;--racing-red:#dc0000;--racing-red-light:#ff2020;--racing-red-dark:#a80000;--racing-red-glow:#dc000059;--racing-gold:gold;--racing-gold-light:#ffe44d;--racing-gold-dark:#c9a800;--racing-gold-glow:#ffd7004d;--racing-checker:#fff;--racing-yellow:#ffeb3b;--racing-yellow-glow:#ffeb3b40;--racing-green:#00c853;--racing-green-light:#00e676;--racing-green-glow:#00c85340;--racing-blue:#00d2be;--racing-blue-light:#00edd9;--racing-blue-glow:#00d2be40;--racing-pole:#ff4500;--racing-pole-glow:#ff45004d;--persona-leon:#d4af37;--persona-leon-light:#f0cb4f;--persona-leon-glow:#d4af3747;--persona-leon-bg:#d4af3714;--persona-charlotte:#38bdf8;--persona-charlotte-light:#7dd3fc;--persona-charlotte-glow:#38bdf840;--persona-charlotte-bg:#38bdf812;--persona-nina:#10b981;--persona-nina-light:#34d399;--persona-nina-glow:#10b98140;--persona-nina-bg:#10b98112;--persona-theo:#a78bfa;--persona-theo-light:#c4b5fd;--persona-theo-glow:#a78bfa40;--persona-theo-bg:#a78bfa12;--persona-manon:#ec4899;--persona-manon-light:#f472b6;--persona-manon-glow:#ec489940;--persona-manon-bg:#ec489912;--font-display:"Russo One", "Eurostile Extended", "Industry", "Arial Black", system-ui;--font-body:"Manrope", "Inter", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--text-race-hero:clamp(2.5rem, 8vw, 5rem);--text-race-title:clamp(1.75rem, 4vw, 2.5rem);--text-race-lead:clamp(1.125rem, 2.5vw, 1.375rem);--text-race-body:1rem;--text-race-small:.875rem;--text-race-chrono:clamp(2rem, 5vw, 3.5rem);--space-pit:4px;--space-tyre:8px;--space-track:16px;--space-podium:32px;--space-paddock:64px;--space-circuit:128px;--border-track:1px solid var(--paddock-rubber);--border-panel:1px solid var(--paddock-concrete);--border-checker:2px dashed #ffffff4d;--border-gold:2px solid var(--racing-gold);--border-pole:3px solid var(--racing-gold);--border-red:2px solid var(--racing-red);--border-persona-leon:2px solid var(--persona-leon);--border-persona-charlotte:2px solid var(--persona-charlotte);--border-persona-nina:2px solid var(--persona-nina);--border-persona-theo:2px solid var(--persona-theo);--border-persona-manon:2px solid var(--persona-manon);--radius-pit:4px;--radius-tyre:8px;--radius-card:12px;--radius-panel:16px;--radius-circuit:9999px;--shadow-pit:0 2px 6px #0006;--shadow-tyre:0 4px 12px #00000073;--shadow-podium:0 8px 24px #ffd70033, 0 4px 8px #00000080;--shadow-red:0 6px 20px #dc000059;--shadow-night:0 20px 60px #000000b3;--shadow-glow-leon:0 0 20px #d4af3759, 0 4px 12px #00000080;--shadow-glow-charlotte:0 0 20px #38bdf84d, 0 4px 12px #00000080;--shadow-glow-nina:0 0 20px #10b9814d, 0 4px 12px #00000080;--shadow-glow-theo:0 0 20px #a78bfa4d, 0 4px 12px #00000080;--shadow-glow-manon:0 0 20px #ec48994d, 0 4px 12px #00000080;--ease-race:cubic-bezier(.25, .46, .45, .94);--ease-pit-stop:cubic-bezier(0, 0, .2, 1);--ease-corner:cubic-bezier(.4, 0, .2, 1);--ease-brake:cubic-bezier(.55, 0, 1, .45);--transition-pit-stop:.15s var(--ease-pit-stop);--transition-lap:.28s var(--ease-corner);--transition-sector:.4s var(--ease-race);--transition-race:.6s var(--ease-race);--gradient-asphalt:linear-gradient(135deg, #141414 0%, #1e1e1e 50%, #141414 100%);--gradient-gold:linear-gradient(135deg, #c9a800 0%, gold 50%, #ffe44d 100%);--gradient-red:linear-gradient(135deg, #a80000 0%, #dc0000 60%, #ff2020 100%);--gradient-podium:linear-gradient(180deg, #ffd70026 0%, transparent 60%);--gradient-hero:linear-gradient(160deg, #0a0a0a 0%, #141414 40%, #1a1010 100%);--z-pit-floor:0;--z-track:10;--z-car:20;--z-safety-car:30;--z-pit-wall:40;--z-podium:50;--z-race-control:60;--z-stewards:70}:root.light,[data-theme=light]{--paddock-black:#fff;--paddock-carbon:#f5f5f5;--paddock-asphalt:#f0f0f0;--paddock-panel:#e8e8e8;--paddock-rubber:#d0d0d0;--paddock-concrete:#b0b0b0;--text-on-dark:#0a0a0a;--text-soft-dark:#3a3a3a;--text-mute-dark:#6a6a6a;--racing-red:#b50000;--racing-gold:#9a7b00;--racing-green:#007a33;--racing-blue:#006b60;--persona-leon:#8b6914;--persona-charlotte:#0369a1;--persona-nina:#065f46;--persona-theo:#5b21b6;--persona-manon:#9d174d;--shadow-podium:0 8px 24px #0000001f, 0 2px 4px #00000014;--shadow-night:0 20px 60px #00000026}
.checker-flag-bg{background-image:linear-gradient(45deg,#ffffff0a 25%,#0000 25%),linear-gradient(-45deg,#ffffff0a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff0a 75%),linear-gradient(-45deg,#0000 75%,#ffffff0a 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.checker-flag-bg--dark{background-image:linear-gradient(45deg,#0000000f 25%,#0000 25%),linear-gradient(-45deg,#0000000f 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#0000000f 75%),linear-gradient(-45deg,#0000 75%,#0000000f 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.f1-paddock-surface{background-color:var(--paddock-black);background-image:radial-gradient(at 20% 0,#dc00000f 0,#0000 50%),radial-gradient(at 80% 5%,#ffd7000a 0,#0000 45%),radial-gradient(at 50% 95%,#00d2be0a 0,#0000 50%)}.f1-grid-line{position:relative}.f1-grid-line:after{content:"";background:repeating-linear-gradient(90deg, var(--racing-checker) 0px, var(--racing-checker) 20px, transparent 20px, transparent 40px);opacity:.15;height:2px;margin-top:var(--space-track);display:block}.podium-card{border-radius:var(--radius-card);background:var(--paddock-asphalt);border:var(--border-gold);box-shadow:var(--shadow-podium);padding:var(--space-track);transition:transform var(--transition-lap), box-shadow var(--transition-lap);position:relative;overflow:hidden}.podium-card:before{content:"";background:var(--gradient-gold);height:3px;position:absolute;top:0;left:0;right:0}.podium-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px #ffd70047,0 4px 10px #0000008c}.f1-card{border-radius:var(--radius-card);background:var(--paddock-asphalt);border:var(--border-track);padding:var(--space-track);transition:transform var(--transition-lap), border-color var(--transition-lap)}.f1-card:hover{border-color:var(--paddock-concrete);transform:translateY(-2px)}.persona-card-base{border-radius:var(--radius-card);background:var(--paddock-asphalt);border:var(--border-track);padding:var(--space-track);transition:transform var(--transition-lap), box-shadow var(--transition-lap);border-left-width:4px;position:relative;overflow:hidden}.persona-card-base:before{content:"";background:radial-gradient(ellipse at 0% 50%, var(--persona-accent-glow,#ffffff0d) 0px, transparent 60%);pointer-events:none;position:absolute;inset:0}.persona-card-base:hover{box-shadow:var(--shadow-tyre);transform:translateY(-2px)}.persona-card-leon{--persona-accent-glow:var(--persona-leon-glow);border-left-color:var(--persona-leon);background:linear-gradient(135deg, var(--persona-leon-bg) 0%, var(--paddock-asphalt) 40%)}.persona-card-leon:hover{box-shadow:var(--shadow-glow-leon)}.persona-card-charlotte{--persona-accent-glow:var(--persona-charlotte-glow);border-left-color:var(--persona-charlotte);background:linear-gradient(135deg, var(--persona-charlotte-bg) 0%, var(--paddock-asphalt) 40%)}.persona-card-charlotte:hover{box-shadow:var(--shadow-glow-charlotte)}.persona-card-nina{--persona-accent-glow:var(--persona-nina-glow);border-left-color:var(--persona-nina);background:linear-gradient(135deg, var(--persona-nina-bg) 0%, var(--paddock-asphalt) 40%)}.persona-card-nina:hover{box-shadow:var(--shadow-glow-nina)}.persona-card-theo{--persona-accent-glow:var(--persona-theo-glow);border-left-color:var(--persona-theo);background:linear-gradient(135deg, var(--persona-theo-bg) 0%, var(--paddock-asphalt) 40%)}.persona-card-theo:hover{box-shadow:var(--shadow-glow-theo)}.persona-card-manon{--persona-accent-glow:var(--persona-manon-glow);border-left-color:var(--persona-manon);background:linear-gradient(135deg, var(--persona-manon-bg) 0%, var(--paddock-asphalt) 40%)}.persona-card-manon:hover{box-shadow:var(--shadow-glow-manon)}.race-button-primary{justify-content:center;align-items:center;gap:var(--space-tyre);padding:14px var(--space-podium);border-radius:var(--radius-tyre);background:var(--racing-red);color:#fff;min-height:48px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-pit-stop), transform var(--transition-pit-stop), box-shadow var(--transition-pit-stop);-webkit-tap-highlight-color:transparent;border:none;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.race-button-primary:before{content:"";pointer-events:none;background:linear-gradient(#ffffff1f 0%,#0000 100%);position:absolute;inset:0}.race-button-primary:hover{background:var(--racing-red-light);box-shadow:var(--shadow-red);transform:translateY(-1px)}.race-button-primary:active{background:var(--racing-red-dark);box-shadow:none;transform:translateY(0)}.race-button-primary:focus-visible{outline:2px solid var(--racing-gold);outline-offset:3px}.race-button-primary:disabled{background:var(--paddock-rubber);color:var(--paddock-smoke);cursor:not-allowed;box-shadow:none;transform:none}.race-button-gold{justify-content:center;align-items:center;gap:var(--space-tyre);padding:13px var(--space-podium);border-radius:var(--radius-tyre);min-height:48px;color:var(--racing-gold);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--racing-gold);cursor:pointer;transition:background var(--transition-pit-stop), color var(--transition-pit-stop), box-shadow var(--transition-pit-stop), transform var(--transition-pit-stop);-webkit-tap-highlight-color:transparent;background:0 0;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.race-button-gold:hover{background:var(--racing-gold);color:var(--paddock-black);transform:translateY(-1px);box-shadow:0 6px 20px #ffd70059}.race-button-gold:active{transform:translateY(0)}.race-button-gold:focus-visible{outline:2px solid var(--racing-checker);outline-offset:3px}.race-button-ghost{justify-content:center;align-items:center;gap:var(--space-tyre);padding:13px var(--space-track);border-radius:var(--radius-tyre);min-height:48px;color:var(--text-soft-dark);border:1px solid var(--paddock-rubber);cursor:pointer;transition:border-color var(--transition-pit-stop), color var(--transition-pit-stop), background var(--transition-pit-stop);-webkit-tap-highlight-color:transparent;background:0 0;font-size:.9375rem;text-decoration:none;display:inline-flex}.race-button-ghost:hover{border-color:var(--paddock-concrete);color:var(--text-on-dark);background:#ffffff0a}.race-button-ghost:focus-visible{outline:2px solid var(--racing-gold);outline-offset:3px}.f1-badge{border-radius:var(--radius-circuit);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.dnf-badge{color:#ff6b6b;font-family:var(--font-mono);letter-spacing:.1em;border-radius:var(--radius-pit);text-transform:uppercase;background:#dc000026;border:1px solid #dc000059;padding:3px 10px;font-size:.6875rem;font-weight:700}:root.light .dnf-badge{color:#b50000;background:#b5000014;border-color:#b500004d}.fastest-lap-badge{color:#c4b5fd;font-family:var(--font-mono);letter-spacing:.08em;border-radius:var(--radius-pit);text-transform:uppercase;background:#a78bfa26;border:1px solid #a78bfa66;align-items:center;gap:5px;padding:3px 10px;font-size:.6875rem;font-weight:700;display:inline-flex}.fastest-lap-badge:before{content:"⬦";color:#a78bfa;font-size:.625rem}:root.light .fastest-lap-badge{color:#5b21b6;background:#5b21b614;border-color:#5b21b640}.pole-badge{color:var(--racing-gold);font-family:var(--font-mono);letter-spacing:.08em;border-radius:var(--radius-pit);text-transform:uppercase;background:linear-gradient(135deg,#ffd7002e 0%,#ffd70014 100%);border:1px solid #ffd70073;padding:3px 12px;font-size:.6875rem;font-weight:800}.safety-car-badge{color:#ffee58;font-family:var(--font-mono);letter-spacing:.06em;border-radius:var(--radius-pit);text-transform:uppercase;background:#ffeb3b1f;border:1px solid #ffeb3b59;padding:3px 10px;font-size:.6875rem;font-weight:700;animation:2s ease-in-out infinite safety-car-blink}@keyframes safety-car-blink{0%,90%,to{opacity:1}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.safety-car-badge{animation:none}}.gauge-rpm{align-items:center;gap:var(--space-tyre);flex-direction:column;display:flex;position:relative}.gauge-rpm__track{background:var(--paddock-rubber);border-radius:var(--radius-circuit);width:100%;height:6px;overflow:hidden}.gauge-rpm__fill{border-radius:var(--radius-circuit);background:linear-gradient(90deg, var(--racing-green) 0%, var(--racing-yellow) 60%, var(--racing-red) 90%, var(--racing-pole) 100%);height:100%;transition:width var(--transition-sector);position:relative;overflow:hidden}.gauge-rpm__fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff40 50%,#0000 100%) 0 0/60px 100%;animation:1.8s linear infinite gauge-shimmer;position:absolute;inset:0}@keyframes gauge-shimmer{0%{background-position:-60px 0}to{background-position:200px 0}}@media (prefers-reduced-motion:reduce){.gauge-rpm__fill:after{animation:none}}.gauge-rpm__label{font-family:var(--font-mono);color:var(--text-soft-dark);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.lap-counter{padding:var(--space-tyre) var(--space-track);background:var(--paddock-panel);border:var(--border-track);border-radius:var(--radius-card);text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:80px;display:inline-flex}.lap-counter__label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--paddock-smoke);font-size:.625rem}.lap-counter__value{font-family:var(--font-mono);font-size:var(--text-race-chrono);color:var(--text-on-dark);letter-spacing:-.02em;font-weight:800;line-height:1}.lap-counter__sub{font-family:var(--font-mono);color:var(--paddock-smoke);text-transform:uppercase;letter-spacing:.1em;font-size:.625rem}.f1-stat-chrono{gap:var(--space-pit);flex-direction:column;display:flex}.f1-stat-chrono__value{font-family:var(--font-mono);color:var(--text-on-dark);letter-spacing:-.03em;font-feature-settings:"tnum";font-size:clamp(1.75rem,4vw,3rem);font-weight:800;line-height:1}.f1-stat-chrono__label{color:var(--text-soft-dark);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.f1-stat-chrono--gold .f1-stat-chrono__value{color:var(--racing-gold)}.f1-stat-chrono--red .f1-stat-chrono__value{color:var(--racing-red-light)}.f1-stat-chrono--green .f1-stat-chrono__value{color:var(--racing-green)}.f1-delta{font-family:var(--font-mono);border-radius:var(--radius-pit);align-items:center;gap:4px;padding:2px 8px;font-size:.8125rem;font-weight:700;display:inline-flex}.f1-delta--positive{color:var(--racing-green);background:#00c8531a}.f1-delta--negative{color:#ff6b6b;background:#dc00001a}.f1-delta--neutral{color:var(--text-soft-dark);background:#ffffff0d}.f1-telemetry-row{padding:var(--space-tyre) 0;border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;display:flex}.f1-telemetry-row:last-child{border-bottom:none}.f1-telemetry-row__key{color:var(--text-soft-dark);text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem}.f1-telemetry-row__val{font-family:var(--font-mono);color:var(--text-on-dark);font-size:.875rem;font-weight:700}.f1-race-number{border-radius:var(--radius-pit);background:var(--paddock-rubber);border:1px solid var(--paddock-concrete);width:40px;height:40px;font-family:var(--font-mono);color:var(--text-on-dark);letter-spacing:-.03em;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;font-weight:800;display:inline-flex}.f1-race-number--gold{border-color:var(--racing-gold);color:var(--racing-gold);background:#ffd7001f}.f1-race-number--red{border-color:var(--racing-red);color:var(--racing-red-light);background:#dc00001f}.f1-section-header{align-items:center;gap:var(--space-track);padding-bottom:var(--space-track);border-bottom:var(--border-track);display:flex}.f1-section-header:before{content:"";background:var(--gradient-red);border-radius:2px;flex-shrink:0;width:4px;height:28px}.f1-section-header__title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-on-dark);font-size:.875rem}.f1-sector-timeline{align-items:stretch;gap:0;display:flex}.f1-sector{padding:var(--space-tyre) var(--space-track);border-top:3px solid var(--paddock-rubber);text-align:center;flex:1;position:relative}.f1-sector--active{border-top-color:var(--racing-green)}.f1-sector--done{border-top-color:var(--racing-blue)}.f1-sector--best{border-top-color:var(--racing-pole)}.f1-pit-board{padding:var(--space-tyre) var(--space-track);background:var(--paddock-black);border:2px solid var(--paddock-rubber);border-radius:var(--radius-pit);flex-direction:column;gap:2px;min-width:120px;display:inline-flex}.f1-pit-board__row{justify-content:space-between;align-items:center;gap:var(--space-track);display:flex}.f1-pit-board__key{font-family:var(--font-mono);color:var(--paddock-smoke);text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem}.f1-pit-board__val{font-family:var(--font-mono);color:var(--racing-gold);font-size:.875rem;font-weight:800}@keyframes f1-enter-car{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.f1-enter{animation:f1-enter-car .28s var(--ease-race) both}@keyframes f1-exit-pit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}.f1-exit{animation:f1-exit-pit .2s var(--ease-brake) both}@keyframes f1-win{0%{box-shadow:var(--shadow-tyre);transform:scale(1)}40%{box-shadow:var(--shadow-podium);transform:scale(1.04)}to{box-shadow:var(--shadow-tyre);transform:scale(1)}}.f1-win-pulse{animation:f1-win 1.2s var(--ease-race) 1}@keyframes f1-scan{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.f1-scanning{position:relative;overflow:hidden}.f1-scanning:after{content:"";background:linear-gradient(90deg, transparent, var(--racing-blue), transparent);pointer-events:none;height:2px;animation:1.4s linear infinite f1-scan;position:absolute;left:0;right:0}@keyframes f1-idle-breath{0%,to{opacity:.7}50%{opacity:1}}.f1-idle{animation:2.4s ease-in-out infinite f1-idle-breath}@media (prefers-reduced-motion:reduce){.f1-enter,.f1-exit,.f1-win-pulse,.f1-scanning:after,.f1-idle,.gauge-rpm__fill:after{animation:none!important}}@media (max-width:639px){.podium-card,.f1-card,.persona-card-base{padding:var(--space-tyre) var(--space-track)}.race-button-primary,.race-button-gold{padding:14px var(--space-track);width:100%}.f1-sector-timeline{flex-direction:column}.f1-sector{border-top:none;border-left:3px solid var(--paddock-rubber);text-align:left;padding:var(--space-tyre)}.f1-sector--active{border-left-color:var(--racing-green)}.f1-sector--done{border-left-color:var(--racing-blue)}.f1-sector--best{border-left-color:var(--racing-pole)}}
