:root{--bg:#050b14;--panel:#0b1728;--panel2:#0e2036;--line:#1d3854;--text:#f4f8fc;--muted:#9cb0c5;--blue:#16b8ff;--orange:#ff5c16;--green:#2cdd73;--amber:#ffc348;--red:#ff5364;--club-accent:#16b8ff;--shadow:0 20px 60px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 80% 0,rgba(22,184,255,.14),transparent 28rem),radial-gradient(circle at 15% 15%,rgba(255,92,22,.1),transparent 24rem),var(--bg)}
a{color:inherit}.site-header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:16px max(24px,calc((100vw - 1440px)/2));border-bottom:1px solid rgba(255,255,255,.08);background:rgba(5,11,20,.9);backdrop-filter:blur(18px);position:sticky;top:0;z-index:8}.brand-wrap{display:flex;align-items:center;gap:18px}.racecore-logo{width:190px;height:116px;object-fit:contain;object-position:center;border-radius:10px;background:#f7f9fc;padding:4px;box-shadow:0 8px 30px rgba(0,0,0,.28)}.club-name{font-size:clamp(1.15rem,2vw,1.65rem);font-weight:800;letter-spacing:.01em}.page-title{color:var(--muted);margin-top:3px}.header-actions{display:flex;align-items:center;gap:12px}.header-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:999px;padding:9px 14px;color:#dce9f3;font-weight:800;font-size:.82rem}.header-link:hover{border-color:var(--club-accent);color:white}.feed-badge{padding:10px 15px;border-radius:999px;font-size:.78rem;font-weight:900;letter-spacing:.08em;border:1px solid;white-space:nowrap}.feed-live{color:#07110a;background:var(--green);border-color:var(--green)}.feed-complete{color:#07111f;background:var(--club-accent);border-color:var(--club-accent)}.feed-stale{color:#271a00;background:var(--amber);border-color:var(--amber)}.feed-offline{color:#ffd8dd;background:rgba(255,83,100,.12);border-color:rgba(255,83,100,.55)}
.meeting-nav{position:sticky;top:100px;z-index:7;display:flex;justify-content:center;gap:8px;padding:10px 16px;background:rgba(5,11,20,.9);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(14px)}.meeting-nav a{text-decoration:none;color:#dbe8f2;padding:8px 13px;border-radius:999px;font-size:.83rem;font-weight:800}.meeting-nav a:hover{background:rgba(22,184,255,.12);color:white}
.page-shell{width:min(1440px,calc(100% - 40px));margin:28px auto 50px}.card{background:linear-gradient(145deg,rgba(14,32,54,.94),rgba(8,19,34,.96));border:1px solid rgba(123,180,226,.18);border-radius:18px;box-shadow:var(--shadow)}.hero{padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:3px solid var(--club-accent);scroll-margin-top:155px}h1,h2,p{margin-top:0}h1{font-size:clamp(1.7rem,4vw,3.2rem);margin-bottom:10px;line-height:1.08}h2{margin-bottom:8px}.eyebrow{display:block;font-size:.75rem;font-weight:900;letter-spacing:.14em;color:var(--club-accent);margin-bottom:9px}.muted{color:var(--muted)}.race-clock-wrap{text-align:right;min-width:220px}.clock-label,.update-time{display:block;color:var(--muted)}.race-clock{font-size:clamp(3rem,8vw,6.5rem);line-height:.92;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.update-time{margin-top:8px;font-size:.82rem}.race-heading{margin-top:18px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between}.race-number{width:82px;height:82px;border-radius:18px;display:grid;place-items:center;font-weight:900;font-size:2.7rem;background:linear-gradient(145deg,var(--club-accent),#0a76c0);color:#04101c;box-shadow:0 10px 35px rgba(22,184,255,.25)}
.table-card{margin-top:18px;overflow:hidden}.table-scroll{overflow-x:auto}.live-table,.result-table{width:100%;border-collapse:collapse;min-width:920px}.live-table th,.result-table th{padding:14px 16px;background:rgba(2,10,18,.68);color:#91aac0;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--line)}.live-table td,.result-table td{padding:14px 16px;border-bottom:1px solid rgba(99,145,185,.13);font-variant-numeric:tabular-nums}.live-table tbody tr:first-child td{background:rgba(44,221,115,.07)}.live-table tbody tr.finished{opacity:.72}.position{font-size:1.15rem;font-weight:900}.driver-name{font-weight:750}.predicted{color:var(--club-accent);font-weight:800}.empty-row{text-align:center!important;color:var(--muted);padding:35px!important}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.compact-card{padding:24px}.driver-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.driver-chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);padding:7px 10px;border-radius:9px;font-size:.86rem}.result-list{margin:14px 0 0;padding-left:24px}.result-list li{padding:6px 0;color:#d9e5ef}
.schedule-card,.results-card{margin-top:18px;padding:24px;scroll-margin-top:155px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.schedule-list{display:grid;gap:9px;margin-top:18px}.schedule-row{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.08);background:rgba(2,10,18,.35);border-radius:12px}.schedule-row.result-link{cursor:pointer}.schedule-row.result-link:hover{border-color:var(--club-accent);background:rgba(22,184,255,.07)}.schedule-no{font-weight:900;color:var(--club-accent)}.schedule-meta{color:var(--muted);font-size:.84rem}.schedule-status{font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.schedule-empty{color:var(--muted);padding:18px 0}
.completed-races{display:grid;gap:12px;margin-top:18px}.race-result{border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(2,10,18,.36);overflow:hidden}.race-result[open]{border-color:rgba(22,184,255,.45)}.race-result summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:16px}.race-result summary::-webkit-details-marker{display:none}.race-result summary:hover{background:rgba(255,255,255,.035)}.result-race-no{font-weight:900;color:var(--club-accent)}.result-race-name{font-weight:850}.result-race-meta{display:block;color:var(--muted);font-size:.84rem;margin-top:3px}.result-open{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}.result-table-wrap{overflow-x:auto;border-top:1px solid rgba(255,255,255,.08)}.result-table{min-width:760px}.result-table td.status-cell{font-size:.75rem;font-weight:900;color:var(--muted)}
.directory-shell{max-width:900px;margin-top:60px}.directory-shell>.card{padding:34px}.directory-header{position:static}.club-grid{display:grid;gap:12px;margin-top:25px}.club-card{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:16px;text-decoration:none;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);transition:.2s transform,.2s border-color}.club-card:hover{transform:translateY(-2px);border-color:var(--blue)}.club-card small{display:block;color:var(--muted);margin-top:3px}.club-dot{width:12px;height:42px;border-radius:9px}.arrow{font-size:1.6rem;color:var(--blue)}
.club-page-shell{max-width:1100px}.club-intro{padding:30px;border-top:3px solid var(--club-accent)}.empty-meetings{padding:30px;margin-top:18px}.meeting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.meeting-card{display:block;padding:24px;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.meeting-card:hover{transform:translateY(-3px);border-color:var(--club-accent)}.meeting-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.meeting-status{font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.meeting-live .meeting-status{color:var(--green)}.meeting-complete .meeting-status{color:var(--club-accent)}.meeting-offline .meeting-status{color:var(--amber)}.meeting-arrow{font-size:1.7rem;color:var(--club-accent)}.meeting-card-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:#dbe7f1;font-size:.84rem}.meeting-card-meta span:before{content:'•';color:var(--club-accent);margin-right:7px}
footer{width:min(1440px,calc(100% - 40px));margin:0 auto;padding:0 0 30px;display:flex;justify-content:space-between;gap:20px;color:#7f96aa;font-size:.84rem}.check-list{display:grid;gap:10px;margin:25px 0}.check-row{display:flex;align-items:center;gap:12px;padding:11px 13px;background:rgba(255,255,255,.04);border-radius:10px}.check-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:900}.check-icon.ok{background:var(--green);color:#07110a}.check-icon.bad{background:var(--red);color:white}.button{display:inline-flex;text-decoration:none;background:var(--blue);color:#03101b;font-weight:900;padding:12px 18px;border-radius:10px}.small{font-size:.82rem}
@media(max-width:760px){.site-header{position:static;padding:12px 16px;align-items:flex-start;gap:12px}.racecore-logo{width:136px;height:82px}.page-title{font-size:.84rem}.header-actions{align-items:flex-end;flex-direction:column}.header-link{padding:7px 10px}.feed-badge{font-size:.62rem;padding:8px 9px}.meeting-nav{top:0;justify-content:flex-start;overflow-x:auto}.page-shell{width:min(100% - 22px,1440px);margin-top:12px}.hero{padding:21px;display:block}.race-clock-wrap{text-align:left;margin-top:22px}.race-heading{padding:18px}.race-number{width:62px;height:62px;font-size:2rem}.two-column,.meeting-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.schedule-row,.race-result summary{grid-template-columns:58px 1fr}.schedule-status,.result-open{grid-column:2}.directory-shell>.card{padding:24px}.club-intro{padding:24px}footer{width:calc(100% - 30px);display:block;line-height:1.8}}

/* Stage 2.2 mobile/table interaction fixes */
.table-scroll,.result-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}

@media(max-width:820px){
html,body{max-width:100%;overflow-x:hidden}
.page-shell{width:calc(100% - 16px);margin:10px auto 34px}
.card{border-radius:14px}
.table-card{overflow:visible}
.table-scroll,.result-table-wrap{overflow:visible}
.live-table,.result-table{display:block;width:100%;min-width:0}
.live-table thead,.result-table thead{display:none}
.live-table tbody,.result-table tbody{display:grid;gap:10px;padding:10px}
.live-table tbody tr,.result-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid rgba(123,180,226,.17);border-radius:12px;overflow:hidden;background:rgba(2,10,18,.34)}
.live-table td,.result-table td{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px 10px!important;border-bottom:1px solid rgba(99,145,185,.11);text-align:right;font-size:.91rem}
.live-table td::before,.result-table td::before{content:attr(data-label);flex:0 0 auto;color:#8fa8be;font-size:.69rem;line-height:1;font-weight:900;letter-spacing:.07em;text-transform:uppercase;text-align:left}
.live-table td.driver-name,.result-table td.driver-name{grid-column:1/-1;font-size:1rem;text-align:right;background:rgba(22,184,255,.045)}
.live-table td.predicted{color:var(--club-accent)}
.live-table td.position,.result-table td.position{font-size:1.05rem}
.live-table td.empty-row,.result-table td.empty-row{grid-column:1/-1;display:block!important;text-align:center!important;padding:24px 12px!important}
.live-table td.empty-row::before,.result-table td.empty-row::before{display:none}
.result-table-wrap{border-top:1px solid rgba(255,255,255,.08)}
.race-result{overflow:visible}
.race-result summary{border-radius:13px}
}

@media(max-width:600px){
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:10px 10px 11px;gap:8px}
.brand-wrap{min-width:0;gap:9px}
.racecore-logo{width:112px;height:68px;border-radius:8px;padding:3px}
.brand-wrap>div{min-width:0}
.club-name{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-title{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
.header-actions{gap:6px;align-items:flex-end}
.header-link{font-size:.7rem;padding:6px 8px}
.feed-badge{font-size:.56rem;padding:6px 7px;max-width:38vw;overflow:hidden;text-overflow:ellipsis}
.meeting-nav{position:sticky;top:0;padding:7px 8px;gap:5px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
.meeting-nav::-webkit-scrollbar{display:none}
.meeting-nav a{font-size:.72rem;padding:7px 9px;white-space:nowrap}
.hero{padding:17px}
h1{font-size:1.72rem}
.hero p{font-size:.9rem}
.race-clock-wrap{min-width:0;margin-top:16px}
.race-clock{font-size:3.35rem}
.race-heading{padding:15px;gap:10px}
.race-heading h2{font-size:1.2rem}
.race-number{width:54px;height:54px;border-radius:12px;font-size:1.75rem;flex:0 0 auto}
.compact-card,.schedule-card,.results-card{padding:16px}
.section-heading{gap:8px}
.section-heading h2{font-size:1.25rem}
.schedule-row,.race-result summary{grid-template-columns:48px minmax(0,1fr);gap:9px;padding:11px}
.schedule-no,.result-race-no{font-size:.82rem}
.result-race-name{font-size:.92rem}
.result-race-meta,.schedule-meta{font-size:.74rem}
.result-open,.schedule-status{grid-column:2;font-size:.65rem}
.completed-races,.schedule-list{gap:8px}
.live-table tbody,.result-table tbody{padding:8px;gap:8px}
.live-table td,.result-table td{padding:8px!important;font-size:.86rem}
.live-table td::before,.result-table td::before{font-size:.63rem}
footer{width:calc(100% - 20px);font-size:.75rem}
}

/* Stage 2.3 — Heads-Up Round Robin overall standings */
.heads-up-card{margin-top:18px}.standings-groups{display:grid;gap:16px;margin-top:18px}.standings-group{border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:rgba(2,10,18,.28)}.standings-heading{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.standings-heading h3{margin:0}.standings-table{min-width:660px}.standings-points{font-weight:900;color:var(--club-accent)}.round-results{font-variant-numeric:tabular-nums}
@media(max-width:820px){.standings-heading{display:block}.standings-heading .muted{display:block;margin-top:4px}.result-table td.round-results{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere}.standings-table-wrap{overflow:visible}.standings-table{min-width:0}}

/* Stage 2.6 — compact live order with expandable driver statistics */
.live-table{min-width:620px}.live-table th:nth-child(1),.live-table td:nth-child(1){width:82px}.live-table th:nth-child(3),.live-table td:nth-child(3){width:100px}.live-table th:nth-child(4),.live-table td:nth-child(4){width:190px}.driver-main-row+tr.driver-detail-row td{background:rgba(4,17,29,.72)}.driver-toggle{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:850;padding:0;margin:0;display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-align:left}.driver-toggle:hover{color:var(--club-accent)}.driver-toggle:focus-visible{outline:2px solid var(--club-accent);outline-offset:4px;border-radius:4px}.driver-toggle-caret{color:var(--club-accent);width:1em;text-align:center}.driver-detail-cell{padding:0!important;border-bottom:1px solid rgba(99,145,185,.18)!important}.driver-detail-cell::before{display:none!important}.driver-stats-panel{padding:18px 20px 20px;display:grid;gap:18px}.driver-detail-section h3{font-size:.86rem;text-transform:uppercase;letter-spacing:.08em;color:#91aac0;margin:0 0 10px}.driver-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.driver-stat{padding:10px 11px;border:1px solid rgba(123,180,226,.14);border-radius:10px;background:rgba(255,255,255,.025);min-width:0}.driver-stat-label{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;margin-bottom:3px}.driver-stat strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.lap-times{display:flex;flex-wrap:wrap;gap:7px}.lap-chip{display:inline-flex;padding:6px 9px;border:1px solid rgba(22,184,255,.2);border-radius:999px;background:rgba(22,184,255,.055);font-variant-numeric:tabular-nums;font-size:.84rem}.driver-history{display:grid;gap:7px}.driver-history-item{display:flex;justify-content:space-between;gap:16px;padding:9px 11px;border:1px solid rgba(123,180,226,.12);border-radius:9px;background:rgba(255,255,255,.02)}.driver-history-item strong{font-size:.86rem}.driver-history-item span{color:var(--muted);font-size:.82rem;text-align:right;font-variant-numeric:tabular-nums}.driver-detail-empty{color:var(--muted);font-size:.84rem}
@media(max-width:820px){.live-table{min-width:0}.live-table tbody tr.driver-detail-row{display:block;grid-column:1/-1;border:0;background:transparent;border-radius:0;overflow:visible}.live-table tbody tr.driver-detail-row[hidden]{display:none}.live-table td.driver-detail-cell{display:block!important;grid-column:1/-1;text-align:left!important;padding:0!important}.live-table td.driver-name{grid-column:auto}.driver-toggle{width:100%;justify-content:flex-end}.driver-stats-panel{padding:13px 10px 15px}.driver-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.driver-history-item{display:block}.driver-history-item span{display:block;text-align:left;margin-top:4px}.live-table tbody tr.driver-main-row{grid-template-columns:repeat(2,minmax(0,1fr))}.live-table td.predicted{grid-column:auto}}
@media(max-width:480px){.driver-stats-grid{grid-template-columns:1fr 1fr}.driver-stat{padding:8px}.lap-chip{font-size:.78rem}.driver-stats-panel{gap:14px}}
