
:root{--bg:#0a0a1a;--panel:#111122;--card:#111122;--line:#1e1e3a;--text:#e8eaf0;--muted:#7a7a9a;--red:#c41e3a;--navy:#1a3a6b;--gold:#ffd700;--green:#27ae60}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}
body[data-theme="light"]{--bg:#f5f5f5;--panel:#ffffff;--card:#ffffff;--line:#e0e0e0;--text:#1a1a2e;--muted:#666;--gold:#b8860b}

/* Sport switcher */
.sport-switcher{position:fixed;top:14px;left:14px;z-index:9999;display:flex;gap:4px;background:#1a1a2e;border:1px solid rgba(255,255,255,0.1);border-radius:999px;padding:3px}
.sport-switcher a,.sport-switcher span{padding:4px 10px;font-size:13px;font-weight:700;border-radius:999px;text-decoration:none;transition:all .15s;display:block}
.sport-switcher .sw-inactive{color:rgba(255,255,255,0.6)}
.sport-switcher .sw-active{background:rgba(196,30,58,0.35);color:#fff}
.sport-switcher a:hover{background:rgba(255,255,255,0.1);color:#fff}
body[data-theme="light"] .sport-switcher{background:#f0f0f0;border-color:rgba(0,0,0,0.1)}
body[data-theme="light"] .sport-switcher .sw-inactive{color:#666}
body[data-theme="light"] .sport-switcher a:hover{background:rgba(0,0,0,0.08);color:#1a1a2e}

/* Theme toggle */
.theme-toggle{position:fixed;top:14px;right:14px;z-index:9999;height:36px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25);transition:all .15s;display:flex;align-items:center;gap:4px}
.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3)}

.wrap{max-width:1100px;margin:auto;padding:70px 16px 80px;position:relative}

/* Badge pill */
.page-badge{display:flex;justify-content:center;margin-bottom:18px}
.badge-pill{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1a3a6b 0%,#c41e3a 100%);border:1px solid rgba(255,215,0,0.25);border-radius:999px;padding:8px 22px;font-family:'Archivo Expanded',sans-serif;font-size:22px;font-weight:700;color:#fff;letter-spacing:.06em;box-shadow:0 4px 24px rgba(196,30,58,.3),0 0 40px rgba(26,58,107,.2);text-shadow:0 1px 4px rgba(0,0,0,.4)}

/* Globe */
.globe-wrap{display:flex;justify-content:center;margin:0 0 22px;position:relative}
#globe{display:block;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y;filter:drop-shadow(0 0 18px rgba(60,80,200,0.45))}
.globe-tooltip{position:absolute;background:rgba(10,10,26,0.92);border:1px solid rgba(196,30,58,0.5);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:600;color:#fff;pointer-events:none;display:none;z-index:100;white-space:nowrap;backdrop-filter:blur(6px);box-shadow:0 4px 16px rgba(0,0,0,.5)}
.globe-tooltip .gt-flag{font-size:16px;margin-right:4px}
.globe-tooltip .gt-date{color:var(--gold);font-size:12px;font-weight:500;margin-top:2px}

/* Hero card */
#hero-card{margin:0 0 18px}
.hero-f1{background:linear-gradient(135deg,#0f1520 0%,#1a2850 50%,#0f1a30 100%);border:1px solid rgba(255,215,0,0.25);border-left:5px solid #ffd700;border-radius:20px;padding:20px 24px;box-shadow:0 6px 32px rgba(0,0,0,.5),0 0 50px rgba(255,215,0,0.04);color:#e8eaf0}
.hero-race-name{font-family:'Archivo Expanded',sans-serif;font-size:clamp(18px,3.5vw,28px);font-weight:700;letter-spacing:.04em;color:#fff;margin-bottom:2px}
.hero-race-loc{font-size:13px;color:#8a95b4;margin-bottom:14px}
.hero-divider{border:none;border-top:1px solid rgba(255,215,0,0.15);margin:10px 0}
.hero-countdown-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#E10600;font-weight:700;text-align:center;margin-bottom:6px}
.hero-countdown-timer{font-family:'Archivo Expanded',sans-serif;font-size:clamp(32px,6vw,54px);font-weight:700;text-align:center;color:#E10600;letter-spacing:.08em;text-shadow:0 0 24px rgba(225,6,0,.4);margin-bottom:6px}
.hero-sessions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}
.hero-session{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:10px 14px;text-align:center}
.hero-session-icon{font-size:18px;margin-bottom:4px}
.hero-session-label{font-size:11px;color:#8a95b4;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.hero-session-time{font-family:'Archivo Expanded',sans-serif;font-size:15px;color:#e8eaf0;font-weight:600;margin-top:2px}
.hero-complete{font-family:'Archivo Expanded',sans-serif;font-size:20px;color:#ffd700;text-align:center;padding:10px}
/* V104: rolling session hero — LIVE + upcoming-session states */
.hero-live-head{font-size:13px;color:#8a95b4;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.hero-live-pill{background:#c41e3a;color:#fff;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;box-shadow:0 0 14px rgba(196,30,58,.55);animation:heroLivePulse 1.6s ease-in-out infinite}
@keyframes heroLivePulse{0%,100%{opacity:1}50%{opacity:.6}}
.hero-live-session{font-family:'Archivo Expanded',sans-serif;font-size:clamp(24px,5vw,38px);font-weight:700;letter-spacing:.03em;color:#fff;line-height:1.05;margin:2px 0 6px}
.hero-live-meta{font-size:14px;color:#ff8a5c;font-weight:600;margin-bottom:12px}
.hero-live-label{color:#ff4d4d !important;text-shadow:0 0 18px rgba(255,77,77,.45)}
.hero-next-head{font-size:13px;color:#8a95b4;font-weight:600;margin-bottom:8px}
.hero-next-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#ffd700;font-weight:700;text-align:center;margin-bottom:4px}
.hero-next-timer{font-family:'Archivo Expanded',sans-serif;font-size:clamp(30px,5.5vw,48px);font-weight:700;text-align:center;color:#ffd700;letter-spacing:.06em;text-shadow:0 0 22px rgba(255,215,0,.38);margin-bottom:6px}
.hero-next-when{font-size:13px;color:#8a95b4;text-align:center;margin-bottom:6px}

/* Search */
.search-wrap{display:flex;margin:0 0 14px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--panel);transition:border-color .2s}
.search-wrap:focus-within{border-color:#c41e3a;box-shadow:0 0 0 2px rgba(196,30,58,.12)}
.search-icon{padding:0 14px;font-size:18px;display:flex;align-items:center;color:var(--muted);background:var(--panel)}
.search{flex:1;padding:14px 10px;border:none;background:var(--panel);color:var(--text);font-family:'Archivo',sans-serif;font-size:15px;outline:none}
.search::placeholder{color:var(--muted)}
.search-clear{padding:0 14px;background:var(--panel);border:none;color:var(--muted);cursor:pointer;font-size:16px;display:none}

/* Tabs */
.tabs{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;margin:0 0 0;background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 0 0;border-bottom:none;padding:8px 8px 0}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;border:1px solid var(--line);border-bottom:none;border-right:1px solid rgba(255,255,255,.06);background:#0d0d1f;color:#7a7a9a;border-radius:8px 8px 0 0;padding:11px 14px;font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s}
.tab:hover:not(.active){background:#141428;color:var(--text)}
.tab.active{background:var(--panel);color:#c41e3a;border-bottom:3px solid #c41e3a;font-weight:700;opacity:1}
body[data-theme="light"] .tabs{background:#f8f8f8;border-color:#e0e0e0}
body[data-theme="light"] .tab{background:#f0f0f0;color:#666;border-color:#e0e0e0}
body[data-theme="light"] .tab:hover:not(.active){background:#e8e8e8;color:#1a1a2e}
body[data-theme="light"] .tab.active{background:#ffffff;color:#c41e3a;border-bottom-color:#c41e3a}

/* Layout */
.layout{display:grid;grid-template-columns:300px 1fr;gap:14px;border:1px solid var(--line);border-top:none;border-radius:0 0 16px 16px;background:var(--panel);padding:14px}
/* V181: grid items default to min-width:auto → the nowrap race-control ticker's min-content
   ballooned #main/#side far past the viewport, blowing out the 1fr timing-tower columns
   (driver column ~5600px, pushing BEST/LAST off-screen). min-width:0 lets them respect the
   track so the tower fits the phone and the ticker scrolls internally instead. */
.layout>#side,.layout>#main{min-width:0}
@media(max-width:768px){.layout{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}
.panel h2{font-family:'Archivo Expanded',sans-serif;font-size:19px;font-weight:600;letter-spacing:.03em;margin-bottom:14px;color:var(--text)}
.list-scroll{max-height:62vh;overflow-y:auto;padding-right:4px}
.list-scroll::-webkit-scrollbar{width:4px}
.list-scroll::-webkit-scrollbar-track{background:transparent}
.list-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:2px}

/* Driver/constructor items */
.f1-item{padding:10px 12px;border:1px solid var(--line);background:rgba(255,255,255,0.03);border-radius:12px;margin-bottom:7px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .15s;font-size:14px}
.f1-item:hover{border-color:#c41e3a;background:rgba(196,30,58,.06)}
.f1-item.active{background:rgba(196,30,58,.1);border-color:#c41e3a}
body[data-theme="light"] .f1-item{background:#fafafa}
body[data-theme="light"] .f1-item:hover{background:#fff3f5}
body[data-theme="light"] .f1-item.active{background:#fdeef0}
.f1-pos{font-family:'Archivo Expanded',sans-serif;font-size:20px;font-weight:700;color:#c41e3a;min-width:32px;text-align:right}
.f1-name{flex:1;font-weight:600}
.f1-sub{font-size:12px;color:var(--muted)}
.f1-pts{font-family:'Archivo Expanded',sans-serif;font-size:15px;font-weight:700;color:var(--gold);text-align:right}
/* V110+: points gap to championship leader */
.f1-gap{display:block;font-size:8.5px;font-weight:600;letter-spacing:.04em;color:#8a95b4;margin-top:1px}
.f1-flag{font-size:18px}
.f1-swatch{width:10px;height:36px;border-radius:4px;flex-shrink:0}
.heart-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 4px;opacity:.35;transition:opacity .1s;flex-shrink:0}
.heart-btn.on{opacity:1}

/* Detail panel */
.detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--muted);text-align:center;gap:12px}
.detail-empty .de-icon{font-size:48px;opacity:.3}
.detail-empty p{font-size:14px}

/* Driver detail card */
.driver-detail{padding:4px}
.dd-pos{font-family:'Archivo Expanded',sans-serif;font-size:72px;font-weight:700;color:#c41e3a;line-height:1;text-shadow:0 0 40px rgba(196,30,58,.3)}
.dd-name{font-family:'Archivo Expanded',sans-serif;font-size:28px;font-weight:700;margin:4px 0 2px}
.dd-team{font-size:14px;color:var(--muted);margin-bottom:14px}
.dd-stat{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.dd-stat-box{background:rgba(255,255,255,0.06);border:1px solid var(--line);border-radius:10px;padding:10px 14px;text-align:center;flex:1;min-width:80px}
body[data-theme="light"] .dd-stat-box{background:#f5f5f5;border-color:#e0e0e0}
.dd-stat-val{font-family:'Archivo Expanded',sans-serif;font-size:22px;font-weight:700;color:var(--gold)}
.dd-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:2px}
.dd-border{border-left:5px solid var(--team-color,#888);border-radius:16px;padding-left:16px;background:rgba(255,255,255,.03);border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:16px;padding-left:20px;margin-top:0}
body[data-theme="light"] .dd-border{background:#fafafa}

/* Team detail card */
.td-swatch{width:100%;height:5px;border-radius:3px;margin-bottom:16px}
.td-drivers{display:grid;gap:8px;margin-top:14px}
.td-driver-chip{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:14px}
body[data-theme="light"] .td-driver-chip{background:#f5f5f5}

/* Schedule */
.race-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:12px;margin-bottom:7px;cursor:pointer;transition:all .15s;font-size:14px}
.race-row:hover{border-color:#c41e3a;background:rgba(196,30,58,.06)}
.race-row.active{border-color:#c41e3a;background:rgba(196,30,58,.1)}
.race-row.done{opacity:.55}
.race-row.done .rr-name{color:var(--muted)}
body[data-theme="light"] .race-row{background:#fafafa}
body[data-theme="light"] .race-row:hover{background:#fff3f5}
body[data-theme="light"] .race-row.active{background:#fdeef0}
.rr-num{font-family:'Archivo Expanded',sans-serif;font-size:16px;font-weight:700;color:var(--muted);min-width:28px}
.rr-flag{font-size:20px}
.rr-info{flex:1}
.rr-name{font-weight:700;font-size:14px}
.rr-circuit{font-size:12px;color:var(--muted)}
.rr-date{font-size:12px;color:var(--muted);text-align:right;flex-shrink:0}
.rr-done{font-size:11px;font-weight:700;color:var(--green);background:rgba(39,174,96,.12);border-radius:6px;padding:2px 7px;flex-shrink:0}
.next-badge{font-size:11px;font-weight:700;color:#fff;background:#c41e3a;border-radius:6px;padding:2px 7px;flex-shrink:0;animation:nextpulse 1.8s ease-in-out infinite}
.weekend-badge{font-size:11px;font-weight:700;color:#fff;background:#E10600;border-radius:6px;padding:2px 7px;flex-shrink:0;animation:weekendpulse 1.2s ease-in-out infinite}
@keyframes nextpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(0.97)}}
@keyframes weekendpulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(225,6,0,0.4)}60%{box-shadow:0 0 0 4px rgba(225,6,0,0)}}

/* Race detail */
.race-detail{padding:4px}
.rd-header{margin-bottom:16px}
.rd-title{font-family:'Archivo Expanded',sans-serif;font-size:26px;font-weight:700;letter-spacing:.04em}
.rd-sub{font-size:13px;color:var(--muted);margin-top:3px}
.rd-sessions{display:grid;gap:8px;margin-top:14px}
.rd-session{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;font-size:14px}
body[data-theme="light"] .rd-session{background:#f5f5f5}
.rd-session-label{font-weight:700;display:flex;align-items:center;gap:8px}
.rd-session-time{font-family:'Archivo Expanded',sans-serif;font-size:15px;color:var(--gold)}

/* Results */
.podium-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;margin-bottom:20px;align-items:end}
.podium-card{border-radius:16px;padding:16px 12px;text-align:center;border:1px solid rgba(255,255,255,.1)}
.podium-p1{background:linear-gradient(160deg,rgba(255,215,0,.18),rgba(255,215,0,.05));border-color:rgba(255,215,0,.4);box-shadow:0 4px 20px rgba(255,215,0,.15)}
.podium-p2{background:linear-gradient(160deg,rgba(192,192,192,.15),rgba(192,192,192,.04));border-color:rgba(192,192,192,.35)}
.podium-p3{background:linear-gradient(160deg,rgba(205,127,50,.15),rgba(205,127,50,.04));border-color:rgba(205,127,50,.3)}
.podium-pos{font-family:'Archivo Expanded',sans-serif;font-size:36px;font-weight:700;margin-bottom:4px}
.podium-p1 .podium-pos{color:#ffd700}
.podium-p2 .podium-pos{color:#c0c0c0}
.podium-p3 .podium-pos{color:#cd7f32}
.podium-flag{font-size:24px;margin-bottom:4px}
.podium-name{font-family:'Archivo Expanded',sans-serif;font-size:15px;font-weight:700;letter-spacing:.03em}
.podium-team{font-size:12px;color:var(--muted);margin-top:2px}
.podium-time{font-size:12px;color:var(--gold);margin-top:4px;font-weight:600}
.results-table{width:100%;border-collapse:collapse;font-size:13px}
.results-table th{background:rgba(26,58,107,0.6);padding:9px 8px;text-align:center;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.results-table th:nth-child(3){text-align:left;padding-left:12px}
.results-table td{padding:8px;text-align:center;border-bottom:1px solid rgba(255,255,255,.05);font-weight:500}
.results-table td:nth-child(3){text-align:left;padding-left:12px}
.results-table tr:hover td{background:rgba(255,255,255,.04)}
.results-table .r-pos{font-family:'Archivo Expanded',sans-serif;font-size:16px;font-weight:700;color:#c41e3a}
.results-table .r-pts{font-family:'Archivo Expanded',sans-serif;font-size:15px;color:var(--gold);font-weight:700}
.results-table .r-fl{font-size:11px;color:#c41e3a;font-weight:700}
body[data-theme="light"] .results-table th{background:#1a3a6b;color:#fff}
body[data-theme="light"] .results-table td{border-bottom-color:#e0e0e0;color:#1a1a2e}
body[data-theme="light"] .results-table tr:hover td{background:#f5f5f5}

/* Countries */
.country-item{padding:10px 12px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:12px;margin-bottom:7px;cursor:pointer;transition:all .15s}
body[data-theme="light"] .country-item{background:#fafafa}
.ci-header{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.ci-chevron{margin-left:auto;color:var(--muted);transition:transform .2s;font-size:11px}
.ci-races{display:none;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.ci-races.open{display:block}
.ci-race{font-size:13px;color:var(--muted);padding:5px 0;display:flex;gap:8px;align-items:center}
.country-item:hover{border-color:#c41e3a}
.country-item.open{border-color:rgba(196,30,58,.5);background:rgba(196,30,58,.05)}
body[data-theme="light"] .country-item.open{background:#fff0f2}

/* Favourites */
.favs-hint{font-size:13px;color:var(--muted);padding:20px;text-align:center}
.fav-section{margin-bottom:16px}
.fav-section-title{font-family:'Archivo Expanded',sans-serif;font-size:15px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}

/* Loading spinner */
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(196,30,58,.2);border-top-color:#c41e3a;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-msg{color:var(--muted);font-size:14px;padding:20px;text-align:center}
.err-msg{color:#c41e3a;font-size:13px;padding:12px;background:rgba(196,30,58,.08);border-radius:10px;border:1px solid rgba(196,30,58,.2)}

/* Bottom nav */
#bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--line);z-index:99999;padding:4px 0 env(safe-area-inset-bottom,6px);transform:translateZ(0)}
@media(max-width:768px){#bottom-nav{display:flex}body{padding-bottom:72px}}
.bn-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;border-top:3px solid transparent;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;padding:6px 4px;transition:color .2s,border-color .2s}
.bn-btn .bn-icon{font-size:18px;line-height:1}
.bn-btn.active{color:#c41e3a;border-top-color:#c41e3a}
.bn-btn:hover{color:var(--text)}

/* Utilities */
.empty{color:var(--muted);padding:20px;text-align:center;font-size:14px}
.section-label{font-family:'Archivo Expanded',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:10px;display:block}

/* ── Site nav bar (below hero) ── */
#site-nav{width:100%;background:#1a1a2e;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid rgba(196,30,58,.45);box-sizing:border-box}
.sport-pill{display:flex;gap:3px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px}
.sport-btn{padding:5px 13px;font-size:22px;border-radius:999px;text-decoration:none;color:rgba(255,255,255,.65);line-height:1;display:inline-flex;align-items:center;gap:5px;transition:background .15s}
.sport-btn.active{background:rgba(196,30,58,.55);color:#fff}
.sport-btn:hover:not(.active){background:rgba(255,255,255,.1);color:#fff}
.sport-btn .f1-label{font-size:12px;font-weight:800;font-family:'Archivo',sans-serif;letter-spacing:.05em;line-height:1}
.lang-sel{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;padding:7px 16px;font-size:13px;font-weight:600;font-family:'Archivo',sans-serif;cursor:pointer;outline:none;min-width:120px;-webkit-appearance:none}
.lang-sel option{background:#1a1a2e;color:#fff}
[data-theme=light] #site-nav{background:#1a3a6b;border-bottom:2px solid rgba(196,30,58,.55)}

/* ── Timezone selector ── */
.tz-wrapper{position:relative;display:inline-block}
.tz-bar{width:100%;background:#1a1a2e;padding:6px 16px;display:flex;align-items:center;gap:10px;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.07)}
.tz-select{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#fff;border-radius:999px;padding:6px 30px 6px 12px;font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(255,255,255,0.6)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s}
.tz-select:hover{border-color:rgba(196,30,58,.6)}
.tz-select option{background:#1a1a2e;color:#e8eaf0}
body[data-theme="light"] .tz-bar{background:#f0f4ff;border-bottom-color:rgba(0,0,0,.08)}
body[data-theme="light"] .tz-label{color:rgba(0,0,0,.55)}
body[data-theme="light"] .tz-select{color:#1a1a2e;border-color:rgba(0,0,0,.2);background-color:rgba(0,0,0,.05)}
body[data-theme="light"] .tz-select{border-color:rgba(0,0,0,.2);background:rgba(0,0,0,.06);color:#1a1a2e;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2020/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231a1a2e' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
body[data-theme="light"] .tz-select option{background:#fff;color:#1a1a2e}

/* ── F1 Calendar panel ── */
.f1-cal-panel{background:var(--panel);border:1px dashed rgba(196,30,58,.45);border-radius:16px;padding:16px 18px;margin:0 0 14px}
.f1-cal-panel-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;-webkit-user-select:none;padding:2px 0 4px}
.f1-cal-panel h3{font-family:'Archivo Expanded',sans-serif;font-size:17px;font-weight:700;color:#c41e3a;margin:0}
.f1-cal-panel-body{display:none}
.cal-row-f1{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-top:1px solid var(--line)}
.cal-row-f1:first-of-type{border-top:none;padding-top:0}
.cal-row-f1-label{font-weight:700;font-size:13px;color:var(--text);min-width:160px;flex-shrink:0}
.cal-btn-pill{padding:7px 14px;border-radius:999px;border:1px solid rgba(196,30,58,.4);background:rgba(196,30,58,.12);color:#c41e3a;font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}
.cal-btn-pill:hover{background:rgba(196,30,58,.25);border-color:#c41e3a}
body[data-theme="light"] .cal-btn-pill{color:#c41e3a}
.cal-note-f1{font-size:12px;color:var(--muted);flex-basis:100%;margin-top:2px}
.rd-session-time-tz{font-size:11px;color:var(--muted);margin-left:4px;font-style:italic}


/* V76 - Driver headshots */
.dd-photo-wrap{width:100%;display:flex;justify-content:center;margin-bottom:16px}
.dd-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:top center;border:3px solid var(--team-color,#888);box-shadow:0 4px 20px rgba(0,0,0,.5);background:#111122}

/* ═══ V110: F1 Live module — live tab, circuits, hero augmentation ═══ */
@keyframes f1lPulse{0%,100%{opacity:1}50%{opacity:.35}}
.f1l-livedot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff3b3b;box-shadow:0 0 10px rgba(255,59,59,.8);animation:f1lPulse 1.2s ease-in-out infinite;margin-right:6px;vertical-align:middle}

/* Live tab — empty/placeholder */
.f1l-empty{text-align:center;padding:36px 20px}
.f1l-empty-icon{font-size:38px;margin-bottom:10px}
.f1l-empty-title{font-family:'Archivo Expanded',sans-serif;font-size:20px;color:#e8eaf0;margin-bottom:6px}
.f1l-empty-sub{font-size:13px;color:#8a95b4;max-width:440px;margin:0 auto;line-height:1.5}
.f1l-next{margin-top:14px;font-size:13px;color:#c9d2e8}

/* Live tab — header / sub */
.f1l-livewrap{padding:0;overflow:hidden}
.f1l-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,rgba(196,30,58,.22),rgba(120,8,25,.12))}
.f1l-head-l{font-family:'Archivo Expanded',sans-serif;font-weight:700;letter-spacing:.04em;color:#fff;font-size:15px}
.f1l-head-r{font-family:'Archivo Expanded',sans-serif;font-weight:700;color:#ffd700;font-size:15px}
.f1l-sub{padding:6px 16px;font-size:12px;color:#8a95b4;border-bottom:1px solid rgba(255,255,255,.06)}

/* Race control ticker */
.f1l-rc{display:flex;align-items:center;gap:10px;padding:8px 16px;background:rgba(0,0,0,.25);border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden}
.f1l-rc-label{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.1em;color:#ffd700}
.f1l-rc-track{display:flex;gap:10px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;font-size:12px;color:#d7def0}
.f1l-rc-track::-webkit-scrollbar{display:none}
.f1l-rc-sep{color:#555}
/* Weather strip */
.f1l-weather{display:flex;flex-wrap:wrap;gap:14px;padding:8px 16px;font-size:12px;color:#c9d2e8;border-bottom:1px solid rgba(255,255,255,.06)}
.f1l-weather b{color:#fff}
.f1l-pitflash{margin:8px 16px;padding:6px 12px;border-radius:8px;background:rgba(255,165,0,.15);border:1px solid rgba(255,165,0,.4);color:#ffb84d;font-weight:600;font-size:13px;animation:f1lPulse 1s ease-in-out infinite}

/* Timing tower */
.f1l-tower-head,.f1l-row{display:grid;grid-template-columns:30px 26px 1fr auto auto;gap:8px;align-items:center}
.f1l-tower-head{padding:7px 16px;font-size:10px;letter-spacing:.08em;color:#7a85a4;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.08)}
.f1l-tower-head span:nth-child(4),.f1l-row .f1l-gap{text-align:right}
.f1l-tower-head span:nth-child(5),.f1l-row .f1l-lap{text-align:right}
.f1l-row{padding:8px 16px;border-left:3px solid #888;border-bottom:1px solid rgba(255,255,255,.05)}
.f1l-pos{font-family:'Archivo Expanded',sans-serif;font-weight:700;font-size:15px;color:#fff;text-align:center}
.f1l-acr{font-family:'Archivo Expanded',sans-serif;font-weight:600;letter-spacing:.04em;color:#e8eaf0}
.f1l-gap{font-size:12.5px;color:#a8b2cc;font-variant-numeric:tabular-nums}
.f1l-lap{font-family:'Archivo Expanded',sans-serif;font-size:14px;font-variant-numeric:tabular-nums}
.f1l-tyre{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:800;font-family:'Archivo Expanded',sans-serif}

/* Live side panel */
.f1l-fastest{text-align:center;padding:6px 0 14px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.f1l-fastest-label{font-size:10px;letter-spacing:.12em;color:#b14cff;font-weight:700}
.f1l-fastest-time{font-family:'Archivo Expanded',sans-serif;font-size:30px;font-weight:700;color:#b14cff;text-shadow:0 0 18px rgba(177,76,255,.4)}
.f1l-fastest-who{font-size:12px;color:#8a95b4}
.f1l-meta div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.f1l-meta span{color:#8a95b4}.f1l-meta b{color:#e8eaf0}

/* Circuits tab */
.f1l-circuit-photo{width:100%;border-radius:14px;overflow:hidden;margin:12px 0;background:#0a1428}
.f1l-circuit-photo img{width:100%;display:block;object-fit:cover}
.f1l-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}
.f1l-fact{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}
.f1l-fact span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8a95b4;margin-bottom:3px}
.f1l-fact b{font-family:'Archivo Expanded',sans-serif;font-size:18px;color:#fff}
.f1l-record{margin-top:8px;padding:10px 12px;border-radius:10px;background:rgba(255,215,0,.08);border:1px solid rgba(255,215,0,.2);font-size:13px;color:#e8eaf0}
.f1l-record b{color:#ffd700}

/* Hero augmentation strip */
#f1-aug{margin:8px 0 4px}
.f1-aug-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
/* V181: red LIVE banner is the primary, clickable entry to Live Timing */
@keyframes f1AugGlow{0%,100%{box-shadow:0 0 0 rgba(196,30,58,0)}50%{box-shadow:0 0 16px rgba(196,30,58,.55)}}
.f1-aug-live{padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,rgba(196,30,58,.92),rgba(120,8,25,.88));color:#fff;font-weight:600;font-size:13.5px;width:100%;box-sizing:border-box;display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;min-height:46px;user-select:none;transition:filter .15s ease;animation:f1AugGlow 2s ease-in-out infinite}
.f1-aug-live:hover{filter:brightness(1.08)}
.f1-aug-live:active{filter:brightness(.95)}
.f1-aug-live:focus-visible{outline:2px solid #ffd700;outline-offset:2px}
.f1-aug-live-txt{flex:1 1 auto;min-width:0}
.f1-aug-live-cta{flex:0 0 auto;margin-left:auto;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:3px 11px;font-weight:800;font-size:12px;letter-spacing:.02em;white-space:nowrap}
.f1-aug-leader{font-size:12.5px;color:#c9d2e8}.f1-aug-leader b{color:#fff}
.f1-aug-podium{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:#c9d2e8}
.f1-aug-podium-label{color:#8a95b4}
.f1-aug-pod{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:2px 8px;color:#e8eaf0}

/* Live tab button pulse */
.f1-tab-livepulse{animation:f1lPulse 1.4s ease-in-out infinite}

/* Sprint weekend badge on calendar */
.rr-sprint{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;color:#ff8c1a;background:rgba(255,140,26,.14);border:1px solid rgba(255,140,26,.35);border-radius:6px;padding:0 5px;margin-left:5px;vertical-align:middle}



/* ═══════════════════════════════════════════════════════════════════
   MATCHATLAS DESIGN SYSTEM (final spec) — F1 · F1-red chrome #E10600
   ═══════════════════════════════════════════════════════════════════ */
:root,body{
  --bg:#0B1220;--panel:#16203A;--card:#16203A;--line:#26324F;--text:#F2F5FB;
  --muted:#93A0BD;--red:#E10600;--navy:#16203A;--gold:#E10600;--green:#2FBF71;
  --accent:#E10600;--live:#2FBF71;
}
body{font-family:'Archivo',system-ui,-apple-system,sans-serif;background:#0B1220 linear-gradient(180deg,#0B1220 0%,#0E1730 100%) no-repeat fixed;color:var(--text)}
h1,h2,h3,h4,.panel h2{font-family:'Archivo Expanded','Archivo',sans-serif;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.hero-countdown-timer,.hero-next-timer,.hero-session-time,.hero-race-loc,.f1-pts,.f1-gap,.f1l-lap,.f1l-pos,.f1l-gap,.f1l-fastest-time,.f1l-fact b,.rr-date,.rr-num,.dd-stat-val,.cd-val,.standings-table td,.hero-live-meta{font-family:'JetBrains Mono','Archivo',monospace}
/* cards / surfaces */
.panel,.f1-item,.hero-f1,.f1l-livewrap,.race-row,.f1l-fact,.f1l-record{border-radius:14px}
.hero-f1{border:1px solid var(--line);border-left:4px solid var(--accent);background:linear-gradient(135deg,#101a30 0%,#16203A 60%,#101a30 100%)}
/* hero key data = highest contrast white, red accent label (was gold) */
.hero-countdown-timer,.hero-next-timer{color:var(--accent)!important;text-shadow:0 0 24px rgba(225,6,0,.4)!important}
.hero-countdown-label,.hero-next-label,.hero-complete{color:var(--accent)!important}
.hero-divider{border-top-color:var(--line)!important}
/* tabs — active = 2px accent underline */
.tab{border-radius:0!important;border:none!important;border-bottom:2px solid transparent!important;background:transparent!important;color:var(--muted)!important}
.tab:hover:not(.active){color:var(--text)!important;background:transparent!important}
.tab.active{background:transparent!important;color:var(--text)!important;border-bottom:2px solid var(--accent)!important}
/* live dot green */
.f1l-livedot{background:var(--live)!important;box-shadow:0 0 10px rgba(47,191,113,.8)!important}
.f1l-head{background:linear-gradient(135deg,rgba(225,6,0,.18),rgba(225,6,0,.06))!important}

/* ═══ V110 MOBILE ADDENDUM ═══ */
@media(max-width:767px){
  .layout{grid-template-columns:1fr!important}            /* list first, detail below */
  .hero-countdown-timer,.hero-next-timer{font-size:clamp(28px,11vw,46px)!important;letter-spacing:.03em}
  .hero-sessions{gap:8px}
  .tab{min-height:44px;display:flex;align-items:center}
  .bn-btn{min-height:48px}
  .theme-toggle{height:32px;padding:0 12px;font-size:12px}
  /* V181: dense phone-width timing tower — pack columns left, no wasted gutter, no overflow */
  .f1l-tower-head,.f1l-row{grid-template-columns:20px 19px minmax(28px,1fr) 58px 58px;gap:5px;padding-left:10px;padding-right:10px}
  .f1l-row{padding-top:7px;padding-bottom:7px}
  .f1l-tower-head{padding-top:6px;padding-bottom:6px}
  .f1l-pos{font-size:13px}
  .f1l-acr{font-size:12.5px;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .f1l-lap{font-size:12.5px}
  .f1l-gap{font-size:12px}
  .f1l-tyre{width:19px;height:19px;font-size:10px}
  .f1l-head,.f1l-sub,.f1l-rc,.f1l-weather{padding-left:10px;padding-right:10px}
  #bottom-nav{padding-bottom:env(safe-area-inset-bottom,6px)}
}
/* circuit pin labels: tappable on touch (hover has no equivalent) */
@media(pointer:coarse){ #globe{touch-action:pan-y} }
/* V110: Lucide icons (1.5px stroke, 18–20px, currentColor) */
svg.lucide{width:18px;height:18px;stroke-width:1.5;vertical-align:middle;display:inline-block}
.tab svg.lucide{margin-right:5px}
.bn-icon svg.lucide{width:20px;height:20px}
.bn-icon{display:inline-flex;align-items:center;justify-content:center}
/* V124: f1-live in-content icon sizing */
.f1l-empty-icon svg.lucide{width:38px;height:38px}
.f1l-weather svg.lucide,.f1l-rc-label svg.lucide,.f1l-record svg.lucide{width:14px;height:14px;stroke-width:1.5}

/* ═══ V127: F1 Race-Result drawer (overlay + table) ═══ */
.f1-race-btn{margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:12px;background:var(--accent,#E10600);color:#fff;font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;cursor:pointer}
.f1-race-btn:hover{transform:translateY(-1px)}
.md-overlay{position:fixed;inset:0;z-index:1000;background:rgba(4,8,22,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;align-items:flex-end;justify-content:center}
.md-overlay.open{display:flex}
.md-sheet{position:relative;width:100%;max-width:680px;max-height:92vh;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -8px 40px rgba(0,0,0,.5)}
@media(min-width:680px){.md-overlay{align-items:center}.md-sheet{border-radius:18px}}
.md-close{position:absolute;top:10px;left:12px;z-index:2;background:rgba(255,255,255,.08);border:none;color:#fff;width:30px;height:30px;border-radius:50%;font-size:15px;cursor:pointer}
.md-header{padding:18px 16px 12px;background:linear-gradient(135deg,rgba(225,6,0,.22),rgba(120,8,25,.10))}
.prof-title{font-family:'Archivo Expanded','Archivo',sans-serif;font-weight:800;text-transform:uppercase;font-size:19px;color:#fff;text-align:center}
.md-meta{text-align:center;font-size:11px;color:var(--muted);margin-top:4px;font-family:'JetBrains Mono',monospace}
.md-subtabs{display:flex;gap:4px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.md-subtabs::-webkit-scrollbar{display:none}
.md-subtab{flex-shrink:0;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer;font-family:'Archivo',sans-serif}
.md-subtab.active{background:var(--accent,#E10600);border-color:var(--accent,#E10600);color:#fff}
.md-body{padding:12px 14px 22px;min-height:120px}
.md-loading,.md-empty{text-align:center;color:var(--muted);padding:30px 14px;font-size:13px}
.md-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:6px}
.f1r-table{display:flex;flex-direction:column}
.f1r-row{display:grid;grid-template-columns:34px 1fr auto auto auto;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.f1r-pos{font-family:'JetBrains Mono',monospace;font-weight:700;color:#fff;text-align:center}
.f1r-drv{font-family:'Archivo Expanded','Archivo',sans-serif;font-weight:600;color:var(--text);text-transform:uppercase;font-size:12px}
.f1r-team{font-size:11px;color:var(--muted)}
.f1r-time,.f1r-pts{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);text-align:right}
.f1r-pts{color:#fff}

/* V130: F1 Championship progression chart */
.f1-champ-btn{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:7px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(225,6,0,.12);color:#fff;font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;cursor:pointer}
.f1-champ-btn:hover{border-color:var(--accent,#E10600)}
.f1-champ-btn svg.lucide{width:15px;height:15px}
.f1c-wrap{width:100%;overflow-x:auto}
.f1c-svg{width:100%;min-width:520px;height:auto;display:block}
.f1c-axis{fill:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px}
.f1c-axis-title{text-align:center;color:var(--muted);font-size:10px;font-family:'JetBrains Mono',monospace;margin-top:2px;letter-spacing:.04em}
.f1c-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:10px 0 4px;padding:0 8px}
.f1c-leg{display:inline-flex;align-items:center;gap:6px;font-family:'Archivo',sans-serif;font-size:12px;color:var(--muted)}
.f1c-leg b{color:#fff;font-family:'JetBrains Mono',monospace;font-weight:700}
.f1c-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}
.f1c-spnote{text-align:center;color:var(--muted);font-family:'Archivo',sans-serif;font-size:11px;line-height:1.45;margin:8px 4px 2px;opacity:.9}
.f1c-spnote b{color:#fff;font-weight:700}

/* V182: eliminate ~9px mobile horizontal overflow (tz selector + bottom nav). Root
   overflow-x:clip guards residual sub-pixel overflow without creating a scroll
   container (keeps position:sticky working, unlike overflow-x:hidden). */
html{overflow-x:clip}
@media(max-width:768px){
  .tz-bar{padding-left:10px;padding-right:10px;max-width:100%;box-sizing:border-box}
  .tz-label{min-width:0}
  .tz-select{max-width:100%;min-width:0;box-sizing:border-box}
  #bottom-nav{box-sizing:border-box;max-width:100vw}
  .bn-btn{min-width:0}
}
/* V184: Live Timing lap-colour legend */
.f1l-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:9px 6px 3px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.f1l-legend .f1l-legkey{display:inline-flex;align-items:center;gap:5px}
.f1l-legend .f1l-legkey i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
/* V186: Session Replay entry card + replay tower chrome */
.f1-replay-card h2{display:flex;align-items:center;gap:6px}
.f1-replay-card h2 i{width:16px;height:16px}
.f1-replay-loc{font-size:12px;color:var(--muted);margin:-4px 0 10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.f1-replay-list{display:flex;flex-direction:column;gap:6px}
.f1-replay-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text);font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}
.f1-replay-row:hover{border-color:#b14cff;background:rgba(177,76,255,.08)}
.f1-replay-go{display:inline-flex;align-items:center;gap:2px;font-size:11px;color:#b14cff;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.f1-replay-go i{width:14px;height:14px}
.f1-replay-empty{font-size:12px;color:var(--muted)}
.f1l-finalpill{background:#b14cff;color:#fff;font-weight:800;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;margin-right:2px}
.f1l-status{color:#ff6b6b;font-weight:700;font-size:11px}
.f1l-replay-note{font-size:10px;color:var(--muted);text-align:center;padding:8px 8px 2px;font-style:italic}

/* T-10 (V199): see index.css — route tab/nav clicks to the button, immune to lucide icon swap. */
.tab *,.bn-btn *{pointer-events:none}
