/* theLOWGROOVE shared theme ("Timing Tower").
   Used by rankings.html, every track page, every division page and both directory pages.
   Page-specific rules stay inline in each page; everything shared lives here. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0b0c0e;--surface:#14161a;--surface2:#1b1e23;--surface3:#2b3038;--black:#000;--border:#262a31;
  --text:#f2f3f5;--muted:#8b919c;--faint:#555b66;
  --accent:#ffd100;--accent-ink:#0b0c0e;--red:#ff4d4d;--green:#2fd27a;
  --cond:'Barlow Condensed','Arial Narrow',sans-serif;--font:'Barlow',system-ui,-apple-system,sans-serif;
}
html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;overflow-x:hidden}
button{font-family:inherit}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* ── Header ── */
header{position:sticky;top:0;z-index:50;background:var(--black);border-bottom:3px solid var(--accent)}
header .wrap{display:flex;align-items:stretch;min-height:56px}
.logo{display:flex;align-items:center;gap:10px;padding-right:24px;text-decoration:none;color:inherit;flex-shrink:0}
.logo-mk{width:34px;height:34px;background:var(--accent);clip-path:polygon(22% 0,100% 0,78% 100%,0 100%);display:grid;place-items:center;font:800 16px var(--cond);color:var(--accent-ink)}
.logo-tx{font:800 24px/1 var(--cond);letter-spacing:.02em;text-transform:uppercase;position:relative}
.logo-tx span{color:var(--accent)}
.logo-tx small{position:absolute;bottom:100%;left:1px;font:700 8px/1 var(--font);letter-spacing:2px;color:var(--faint);padding-bottom:2px}
header nav{display:flex}
.nav-link{display:flex;align-items:center;padding:0 18px;font:700 15px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-3px;transition:color .15s}
.nav-link:hover{color:var(--text)}
.nav-link.active{color:var(--text);background:var(--surface);border-bottom-color:var(--text)}
.upd{margin-left:auto;display:flex;align-items:center;gap:8px;font:600 13px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-shrink:0}
.upd i{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 3px rgba(47,210,122,.18)}

/* ── Recent-results ticker ── */
.ticker{background:var(--surface);border-bottom:1px solid var(--border)}
.ticker .wrap{display:flex;overflow-x:auto;scrollbar-width:none;min-height:38px}
.ticker .wrap::-webkit-scrollbar{display:none}
.tk{display:flex;align-items:center;gap:8px;padding:9px 16px;border-right:1px solid var(--border);font-size:12.5px;white-space:nowrap;flex-shrink:0;cursor:pointer;color:var(--text)}
.tk:first-child{padding-left:0}
.tk:hover b{color:var(--accent)}
.tk .dt{color:var(--faint)}
.tk b{font-weight:700}

/* ── Page title ── */
.title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px 0 18px;flex-wrap:wrap}
.eyebrow{font:700 13px var(--cond);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
h1{font:800 52px/0.95 var(--cond);text-transform:uppercase;margin-top:6px}
.lede{font-size:14px;color:var(--muted);margin-top:10px;max-width:620px}
.context-chip{font-size:12px;color:var(--muted);margin-top:8px;min-height:1px}
.kpis{display:flex;border:1px solid var(--border)}
.kpi{padding:10px 20px;border-left:1px solid var(--border);min-width:104px}
.kpi:first-child{border-left:none}
.kpi .v{font:700 30px/1 var(--cond)}
.kpi .l{font:600 11px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px;white-space:nowrap}

/* ── Controls bar (sticky under the header) ── */
.tabs-row{position:sticky;top:var(--header-h,59px);z-index:49;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.tabs-row .wrap{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:12px;padding-bottom:12px}
.subtabs{display:flex;background:var(--surface);border:1px solid var(--border)}
.view-link{background:none;border:none;color:var(--muted);font:700 14px var(--cond);letter-spacing:.1em;text-transform:uppercase;padding:9px 18px;cursor:pointer;touch-action:manipulation;text-decoration:none}
.view-link:hover{color:var(--text)}
.view-link.active{background:var(--accent);color:var(--accent-ink);cursor:default}
.sel{position:relative}
.sel::after{content:'';position:absolute;right:12px;top:50%;margin-top:-2px;border:5px solid transparent;border-top-color:var(--muted);pointer-events:none}
.sel select{appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--border);color:var(--text);font:700 14px var(--cond);letter-spacing:.08em;text-transform:uppercase;padding:9px 34px 9px 12px;cursor:pointer;min-height:38px;border-radius:0;max-width:100%}
.sel select:focus{outline:none;border-color:var(--accent)}
.sel select option,.sel select optgroup{background:var(--surface);color:var(--text);font-family:var(--font);text-transform:none;letter-spacing:0}
.sel-wide select{min-width:220px}
.find{margin-left:auto;flex:0 1 300px;display:flex;align-items:center;background:var(--surface);border:1px solid var(--border)}
.find span{padding:0 10px;color:var(--faint);font:700 12px var(--cond);letter-spacing:.1em}
.search{flex:1;min-width:0;background:none;border:none;color:var(--text);font:500 16px var(--font);padding:8px 10px 8px 0;outline:none;-webkit-appearance:none}
.find:focus-within{border-color:var(--accent)}

/* ── Layout ── */
.tab-panel{display:none}
.tab-panel.active{display:block}
.content{padding:20px 0 60px}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.series-legend,.section-head{font:600 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.section-head b{color:var(--text);font-size:18px;letter-spacing:.04em;margin-right:6px}
.no-data,.no-data-msg{padding:48px 0;text-align:center;color:var(--muted);font-size:13px}

/* ── Series / division tags ── */
.badge,.div-badge{display:inline-block;font:700 11px/1 var(--cond);letter-spacing:.06em;text-transform:uppercase;padding:4px 6px 3px;margin:1px 3px 1px 0;background:var(--surface2);color:var(--text);border-left:3px solid var(--faint);white-space:nowrap;vertical-align:1px}
.badge[data-s],.div-badge[data-div]{cursor:pointer;transition:background .15s}
.badge[data-s]:hover,.div-badge[data-div]:hover{background:var(--surface3)}
/* series colors */
.badge-woo_sprint,.badge-woo_lm{border-color:#6aadff}
.badge-hl_sprint{border-color:#ff9966}
.badge-ascoc,.badge-slmr{border-color:#ffd84d}
.badge-narc,.badge-snat{border-color:#6bde35}
.badge-posse{border-color:#ff66cc}
.badge-comp{border-color:#ffb366}
.badge-lucas_lm{border-color:#cc88ff}
.badge-flo_lm{border-color:#ff8a3d}
.badge-hav_a_tampa{border-color:#4dd4d0}
.badge-mlra{border-color:#a0d020}
.badge-mars{border-color:#ff6b35}
.badge-htf{border-color:#3eb8e6}
.badge-sas{border-color:#d4a857}
/* division colors */
.div-badge-compacts{border-color:#6aadff}
.div-badge-hobby-stocks,.div-badge-imca-hobby-stocks{border-color:#ff9966}
.div-badge-stock-cars,.div-badge-imca-stock-cars,.div-badge-crown-vics{border-color:#66cc88}
.div-badge-sport-mods,.div-badge-imca-sport-mods{border-color:#cc88ff}
.div-badge-modifieds,.div-badge-imca-modifieds{border-color:#ffcc66}
.div-badge-outlaw-hobby-stocks{border-color:#ffbb44}
.div-badge-sprint-cars,.div-badge-360-sprints,.div-badge-360-sprints-winged{border-color:#4dd4d0}
.div-badge-305-sprints,.div-badge-305-sprints-winged{border-color:#66ee88}
.div-badge-410-sprints,.div-badge-410-sprints-winged{border-color:#ffaa33}
.div-badge-imca-racesaver-sprints,.div-badge-non-winged-sprints{border-color:#55ccdd}
.div-badge-late-models,.div-badge-dirt-late-models,.div-badge-imca-late-models,.div-badge-late-model-street-stocks{border-color:#ff6688}
.div-badge-dirt-super-late-models{border-color:#ff4466}
.div-badge-tuners,.div-badge-mod-fours,.div-badge-4-cyl{border-color:#44ddcc}
.div-badge-mini-mods{border-color:#aa88ff}
.div-badge-mod-lites{border-color:#ddcc44}
.div-badge-trucks,.div-badge-mini-hauler-trucks{border-color:#dd9944}
.div-badge-legends{border-color:#8888ff}
.div-badge-bombers{border-color:#88cc66}
.div-badge-super-mods,.div-badge-midwest-mods{border-color:#ff88cc}
.div-badge-super-stocks,.div-badge-mini-stock{border-color:#e07a5f}
.div-badge-micro-sprints,.div-badge-limited-modified,.div-badge-sportsman{border-color:#9ad0ec}

/* ── Rankings table ("tower") ── */
.tower{border:1px solid var(--border);background:var(--surface)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rank-table{width:100%;border-collapse:collapse}
.rank-table thead th{background:var(--black);font:700 12px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 8px;text-align:right;white-space:nowrap;user-select:none;border-bottom:1px solid var(--border)}
.rank-table thead th[data-col]{cursor:pointer}
.rank-table thead th[data-col]:hover{color:var(--text)}
.rank-table thead th.l{text-align:left}
.rank-table thead th.c{text-align:center}
.rank-table thead th.sort-asc,.rank-table thead th.sort-desc{color:var(--text)}
.rank-table thead th.sort-asc::after{content:" \25B2";color:var(--accent);font-size:9px}
.rank-table thead th.sort-desc::after{content:" \25BC";color:var(--accent);font-size:9px}
.rank-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}
.rank-table tbody tr:hover,.rank-table tbody tr.row-active{background:var(--surface2)}
.rank-table tbody tr.row-active td.name{box-shadow:inset 3px 0 0 var(--accent)}
.rank-table tbody td{padding:8px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle}
.rank-table td.rank{width:52px;padding:0;text-align:center;font:800 24px var(--cond);background:var(--surface2);border-right:1px solid var(--border)}
.rank-table tr.p1 td.rank{background:var(--accent);color:var(--accent-ink)}
.rank-table tr.p2 td.rank,.rank-table tr.p3 td.rank{background:#e9ebee;color:#0b0c0e}
.rank-table td.rank-change{width:44px;text-align:center;font:700 13px var(--cond);color:var(--faint)}
.rank-table td.rank-change.up{color:var(--green)}
.rank-table td.rank-change.dn{color:var(--red)}
.rank-table td.name{text-align:left;white-space:normal;min-width:150px;padding:9px 8px}
.driver-name-line{display:block;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 19px/1.1 var(--cond);text-transform:uppercase;letter-spacing:.02em;color:var(--text)}
.car-no{display:inline-block;font:700 12px/16px var(--cond);color:var(--muted);border:1px solid var(--border);padding:0 5px;margin-right:8px;vertical-align:2px;min-width:30px;text-align:center}
.hot-badge{font:800 11px var(--cond);letter-spacing:.1em;background:var(--red);color:#fff;padding:1px 6px;margin-left:8px;vertical-align:3px}
.rank-badges{display:flex;flex-wrap:wrap;gap:3px 6px;margin-top:4px}
.rank-badge{font:600 11px/1.2 var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-left:2px solid var(--faint);padding-left:5px;white-space:nowrap;text-decoration:none}
.rank-badge-1{border-color:var(--accent);color:var(--text)}
.rank-badge-overall{border-color:var(--accent);color:var(--accent)}
.rank-badge-champ{border-color:var(--accent);color:var(--accent)}
.rank-badge-plain{border-left-color:transparent;padding-left:0;color:var(--faint)}
.rank-badge-panel{font-size:12px;padding:4px 8px;background:var(--surface2);border-left-width:3px}
.rank-badge-link{cursor:pointer}
.rank-badge-link:hover{background:var(--surface3);color:var(--text)}
.rank-table td.dsi{font:700 22px var(--cond);color:var(--text)}
.rank-table td.gap{font:600 14px var(--cond);color:var(--muted)}
.rank-table td.gap .lead{color:var(--accent)}
.rank-table td.num{font:600 17px var(--cond);color:var(--muted)}
.rank-table td.wins{font:600 17px var(--cond);color:var(--accent)}
.rank-table td.wins.zero{color:var(--faint)}
.rank-table td.form{width:128px}
.form-boxes{display:flex;gap:3px;justify-content:flex-end}
.form-boxes i{font:700 12px/22px var(--cond);font-style:normal;width:22px;height:22px;text-align:center;background:var(--surface2);color:var(--muted)}
.form-boxes i.f1{background:var(--accent);color:var(--accent-ink)}
.form-boxes i.f5{background:var(--surface3);color:var(--text)}
.rank-table .loading-row,.loading-row{text-align:center;padding:40px 10px;color:var(--muted);font-size:13px;white-space:normal}

/* search helpers */
.jump-results{margin:0 0 12px;border:1px solid var(--border);background:var(--surface);max-width:460px}
.jump-row{padding:8px 12px;font:700 15px var(--cond);text-transform:uppercase;letter-spacing:.03em;color:var(--text);cursor:pointer}
.jump-row.active,.jump-row:hover{background:var(--accent);color:var(--accent-ink)}
.track-search-results{margin-bottom:14px}
.race-log-title{font:700 12px var(--cond);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 6px}
.track-search-row{padding:6px 0;cursor:pointer;color:var(--text);font-size:13px}
.track-search-row:hover{color:var(--accent)}

/* ── Sidebar cards ── */
.card{border:1px solid var(--border);background:var(--surface);margin-bottom:20px}
.card h3{font:700 14px var(--cond);letter-spacing:.14em;text-transform:uppercase;padding:11px 14px;background:var(--black);border-bottom:1px solid var(--border)}
.card h3 span{color:var(--accent)}
.side-res{padding:11px 14px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;cursor:pointer}
.side-res:last-child{border-bottom:none}
.side-res:hover{background:var(--surface2)}
.side-res .t{font:700 15px var(--cond);text-transform:uppercase;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-res .dt{font:600 12px var(--cond);color:var(--muted);text-align:right;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.side-res .wn{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-res .wn b{color:var(--text)}
.side-res .sr{font:600 12px var(--cond);color:var(--faint);text-align:right;text-transform:uppercase;white-space:nowrap}
.legend-txt{padding:12px 14px;font-size:12.5px;color:var(--muted);line-height:1.55}
.legend-txt b{color:var(--text)}

/* ── Race log / upcoming rows ── */
.log-list{border:1px solid var(--border);background:var(--surface)}
.log-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;align-items:start}
.log-row:last-child{border-bottom:none}
.log-row:hover{background:var(--surface2)}
.log-row .log-date{color:var(--muted);grid-column:1;grid-row:1 / span 2;font:600 14px var(--cond);letter-spacing:.06em;text-transform:uppercase;padding-top:2px}
.log-row .log-track{grid-column:2;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 16px var(--cond);text-transform:uppercase;letter-spacing:.02em}
.log-row .log-track[data-track]{cursor:pointer}
.log-row .log-track[data-track]:hover{color:var(--accent)}
.log-row .log-winner{grid-column:2;grid-row:2;font-weight:600;color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-row .log-winner.link{cursor:pointer}
.log-row .log-winner.link:hover{color:var(--accent)}
.log-row .log-entries{grid-column:3;grid-row:1;color:var(--muted);font:600 13px var(--cond);text-align:right;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase}
.log-row .log-results{grid-column:3;grid-row:2;font:700 12px var(--cond);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);text-align:right;white-space:nowrap;touch-action:manipulation;text-decoration:none}
.log-row .log-results:hover{text-decoration:underline}
.log-row--canceled{opacity:0.55}
.log-canceled-badge{background:#7f1d1d;color:#fca5a5;font:700 11px var(--cond);padding:2px 6px;letter-spacing:.08em;text-transform:uppercase;margin-left:6px;vertical-align:2px}

/* ── Slide-out panels ── */
.panel-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:100}
.panel-overlay.open{display:block}
.panel{position:fixed;top:0;right:0;width:min(580px,100vw);height:100dvh;height:100vh;background:var(--bg);border-left:3px solid var(--accent);overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;z-index:101;padding:0 0 env(safe-area-inset-bottom,20px);transform:translateX(100%);transition:transform .25s ease}
.panel.open{transform:translateX(0)}
.panel-header{position:sticky;top:0;z-index:2;background:var(--black);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;justify-content:space-between;align-items:center;min-height:56px}
.panel-header h2{font:800 24px/1.1 var(--cond);text-transform:uppercase;letter-spacing:.02em;color:var(--text)}
.panel-header h2 .badge,.panel-header h2 .div-badge{font-size:13px;vertical-align:4px}
.panel-close{background:none;border:none;color:var(--muted);font-size:26px;cursor:pointer;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:flex-end;touch-action:manipulation}
.panel-close:hover{color:var(--accent)}
.panel-body{padding:16px 14px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:18px;border:1px solid var(--border);background:var(--surface)}
.stat-box{padding:10px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.stat-grid .stat-box:nth-child(4n){border-right:none}
.stat-grid .stat-box:nth-last-child(-n+4){border-bottom:none}
.stat-box .val{font:700 26px/1 var(--cond);color:var(--text)}
.stat-box .val.hl{color:var(--accent)}
.stat-box .lbl{font:600 11px var(--cond);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:4px}
.stat-line{border:1px solid var(--border);background:var(--surface);padding:10px 14px;margin-bottom:16px;font-size:13px}
.stat-line .k{font:600 12px var(--cond);color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.stat-line .v{font:700 17px var(--cond);text-transform:uppercase;color:var(--accent);cursor:pointer;letter-spacing:.02em}
.stat-line .v:hover{text-decoration:underline}
.stat-line .n{color:var(--muted)}
.chart-wrap{margin-bottom:18px;border:1px solid var(--border);background:var(--surface);padding:10px}
.chart-title,.section-title{font:700 13px var(--cond);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}
canvas{width:100%!important}
.hist-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hist-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed;border:1px solid var(--border);background:var(--surface)}
.hist-table th{background:var(--black);padding:8px 4px;text-align:left;font:700 11px var(--cond);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);overflow:hidden}
.hist-table td{padding:8px 4px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hist-table tr:hover td{background:var(--surface2)}
.hist-table tr{cursor:pointer}
.hist-table .badge,.hist-table .div-badge{font-size:10px}
.fin-1{color:var(--accent);font-weight:700}
.fin-5{color:var(--text);font-weight:600}
.fin-10{color:var(--muted)}
.dsi-up{color:var(--green)}
.dsi-down{color:var(--red)}
.dsi-same{color:var(--muted)}
.link-cell{cursor:pointer}
.link-cell:hover{color:var(--accent)}
.res-link{font:700 10px var(--cond);letter-spacing:.08em;color:var(--accent);margin-left:4px;text-transform:uppercase}

/* ── Race results modal ── */
.ev-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:200;align-items:center;justify-content:center;padding:12px}
.ev-overlay.open{display:flex}
.ev-modal{background:var(--bg);border:1px solid var(--border);border-top:3px solid var(--accent);width:min(600px,100%);max-height:90dvh;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 50px rgba(0,0,0,.7)}
.ev-header{padding:12px 14px;background:var(--black);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-shrink:0}
.ev-header-left h3{font:800 22px/1.1 var(--cond);text-transform:uppercase;letter-spacing:.02em;color:var(--text);margin-bottom:5px}
.ev-header-left .ev-sub{font:600 13px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ev-close{background:none;border:none;color:var(--muted);font-size:26px;cursor:pointer;line-height:1;flex-shrink:0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:flex-end;touch-action:manipulation}
.ev-close:hover{color:var(--accent)}
.ev-stats{display:flex;gap:18px;padding:8px 14px;background:var(--surface);border-bottom:1px solid var(--border);font:600 13px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-shrink:0;flex-wrap:wrap}
.ev-stats strong{color:var(--text);font-size:16px}
.ev-body{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}
.ev-loading{padding:32px;text-align:center;color:var(--muted);font-size:13px}
.ev-footer{padding:8px 14px;border-top:1px solid var(--border);background:var(--black);flex-shrink:0;display:flex;justify-content:flex-end}
.ev-footer-nav{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;width:100%}
.ev-nav-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);font:700 13px var(--cond);letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;cursor:pointer;min-height:34px}
.ev-nav-btn:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.ev-nav-btn:disabled{opacity:.35;cursor:default}
.res-table{width:100%;border-collapse:collapse;font-size:13px}
.res-table th{background:var(--surface);padding:8px;text-align:left;font:700 11px var(--cond);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--border)}
.res-table td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}
.res-table tr:hover td{background:var(--surface2)}
.res-driver-name{font:700 15px var(--cond);text-transform:uppercase;letter-spacing:.02em;cursor:pointer}
.res-driver-name:hover{color:var(--accent)}
.res-pos-1{color:var(--accent);font-weight:700}
.res-pos-5{color:var(--text);font-weight:600}
.res-pos-10{color:var(--muted)}
.res-up{color:var(--green);font-weight:600}
.res-down{color:var(--red);font-weight:600}
.res-same{color:var(--muted)}

/* ── Directory pages (track + division cards) ── */
.dir-section{margin-bottom:30px}
.dir-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px;font:700 15px var(--cond);text-transform:uppercase;letter-spacing:.14em;color:var(--text)}
.dir-heading .ct{color:var(--faint);font-size:13px}
.dir-heading::after{content:'';flex:1;height:1px;background:var(--border)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.dir-card{position:relative;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--faint);padding:14px 16px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:7px;transition:border-color .15s,background .15s}
.dir-card:hover{background:var(--surface2);border-left-color:var(--accent)}
.dir-card:hover .dir-name{color:var(--accent)}
.dir-name{font:700 21px/1.05 var(--cond);text-transform:uppercase;letter-spacing:.02em;transition:color .15s}
.dir-meta{display:flex;gap:14px;font:600 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dir-meta b{color:var(--text);font-weight:700}
.dir-tags{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}
.dir-tag{font:600 11px/1.2 var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-left:2px solid var(--faint);padding-left:5px;white-space:nowrap;cursor:pointer;text-decoration:none}
.dir-tag:hover{color:var(--accent);border-color:var(--accent)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{background:var(--surface);border:1px solid var(--border);color:var(--muted);font:700 13px var(--cond);letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;cursor:pointer;text-decoration:none}
.chip:hover{color:var(--text)}
.chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.chip .ct{opacity:.6;margin-left:6px}
.live-list{border:1px solid var(--border);border-left:3px solid var(--green);background:var(--surface);margin-bottom:30px}
.live-list h3{font:700 14px var(--cond);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;background:var(--black);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.live-list h3 i{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 3px rgba(47,210,122,.18)}
.live-row{display:flex;align-items:baseline;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);text-decoration:none}
.live-row:last-child{border-bottom:none}
.live-row:hover{background:var(--surface2)}
.live-row:hover .live-track{color:var(--accent)}
.live-track{font:700 17px var(--cond);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.live-event{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

footer{text-align:center;padding:18px;font:600 12px var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);border-top:1px solid var(--border);margin-top:20px}
footer a{color:inherit;text-decoration:none}
footer a:hover{color:var(--accent)}

/* ── Tooltips ── */
.tip{cursor:help;border-bottom:1px dotted var(--muted)}
#tt{position:fixed;background:var(--black);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text);font:400 12px/1.45 var(--font);padding:8px 10px;white-space:normal;width:240px;text-align:left;pointer-events:none;z-index:99999;display:none;text-transform:none;letter-spacing:0}

/* ── Responsive ── */
@media(max-width:1240px){
  .c-t10{display:none}
}
@media(max-width:1060px){
  .grid{grid-template-columns:minmax(0,1fr)}
  .side{display:none}
  .c-gap{display:none}
}
@media(max-width:760px){
  .wrap{padding:0 12px}
  header .wrap{flex-wrap:wrap}
  .logo{min-height:48px}
  .upd{display:none}
  header nav{width:100%;overflow-x:auto}
  .nav-link{padding:9px 12px;font-size:13px;white-space:nowrap}
  .title{padding:20px 0 14px}
  h1{font-size:38px}
  .kpis{width:100%}
  .kpi{flex:1;min-width:0;padding:8px 10px}
  .kpi .v{font-size:24px}
  .kpi .l{white-space:normal}
  .tabs-row{position:static}
  .tabs-row .wrap{gap:8px}
  .subtabs{flex:1 1 100%}
  .view-link{flex:1;padding:9px 6px;text-align:center}
  .sel{flex:1 1 0;min-width:0}
  .sel select,.sel-wide select{width:100%;min-width:0}
  .find{margin-left:0;flex:1 1 100%}
  .c-mv,.c-st,.c-t5,.c-form,.c-sof{display:none}
  .rank-table td.rank{width:42px;font-size:21px}
  .driver-name-line{font-size:17px;max-width:190px}
  .rank-table td.dsi{font-size:19px}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .stat-grid .stat-box:nth-child(4n){border-right:1px solid var(--border)}
  .stat-grid .stat-box:nth-child(2n){border-right:none}
  .stat-grid .stat-box:nth-last-child(-n+4){border-bottom:1px solid var(--border)}
  .stat-grid .stat-box:nth-last-child(-n+2){border-bottom:none}
  .panel{width:100vw;border-left:none}
  .ev-overlay{padding:0}
  .ev-modal{width:100%;max-height:100dvh;max-height:100vh;border:none;border-top:3px solid var(--accent)}
  .hist-table .hist-start,.hist-table .hist-chg{display:none}
  .log-row{grid-template-columns:64px minmax(0,1fr) auto;padding:10px}
  .log-row .log-date{font-size:12px}
  .card-grid{grid-template-columns:1fr}
  .chip{padding:8px 10px}
}
@media(max-width:400px){
  .rank-table .rank-badge:nth-child(n+3){display:none}
}
