:root{color-scheme:dark;font-family:Archivo,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #070b0d;--panel: #0d1417;--panel-strong: #121c20;--ink: #f1f4ef;--muted: #9ca8a2;--faint: #66736f;--line: #253136;--line-strong: #33444a;--brand: #65d8cd;--brand-strong: #31b5aa;--gold: #c7a14c;--green: #8edb72;--red: #ec7d63;--blue: #7ba7ff;--shadow: 0 24px 60px rgb(0 0 0 / .28)}:root[data-theme=light]{color-scheme:light;--bg: #f5f3ec;--panel: #ffffff;--panel-strong: #ece8de;--ink: #17201f;--muted: #61706b;--faint: #7c8985;--line: #d7d1c5;--line-strong: #bdb4a2;--brand: #057e79;--brand-strong: #02625d;--gold: #9a7221;--green: #3b7b29;--red: #ba4b35;--blue: #355fbb;--shadow: 0 20px 50px rgb(37 31 20 / .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(90deg,rgb(255 255 255 / .03) 1px,transparent 1px) 0 0 / 64px 64px,linear-gradient(0deg,rgb(255 255 255 / .025) 1px,transparent 1px) 0 0 / 64px 64px,var(--bg);color:var(--ink)}button,input{font:inherit}button,a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:24px 20px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,black);display:flex;flex-direction:column;gap:28px}.brand-lockup{display:flex;gap:13px;align-items:center}.brand-mark{width:46px;height:46px;border:1px solid color-mix(in srgb,var(--brand) 60%,transparent);display:grid;place-items:center;color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);border-radius:8px}.brand-title,.brand-subtitle,.eyebrow,.muted,.footer span,.section-note{margin:0}.brand-title{font-weight:800;letter-spacing:0}.brand-subtitle{margin-top:2px;color:var(--muted);font-size:.86rem}.sidebar-nav{display:grid;gap:8px}.sidebar-nav button,.theme-toggle,.primary-action,.race-footer button,.segmented-control button,.external-link,.icon-button,.refresh-button{min-height:44px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.sidebar-nav button{display:flex;align-items:center;gap:12px;padding:0 12px;text-align:left;color:var(--muted)}.sidebar-nav button:hover,.theme-toggle:hover,.external-link:hover,.race-footer button:hover,.segmented-control button:hover,.icon-button:hover,.primary-action:hover,.refresh-button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--line-strong);background:color-mix(in srgb,var(--brand) 10%,transparent)}.sidebar-card{border:1px solid var(--line);border-radius:8px;padding:16px;background:color-mix(in srgb,var(--panel) 78%,transparent)}.sidebar-card strong{display:block;margin-top:10px}.sidebar-card p{color:var(--muted);font-size:.86rem;line-height:1.55}.theme-toggle{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;border-color:var(--line);background:var(--panel)}.main-panel{min-width:0;padding:24px}.hero-section{min-height:420px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:20px;align-items:stretch}.hero-copy,.race-brief,.panel,.detail-panel,.race-card,.kpi-card,.broadcast-card{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:var(--shadow)}.hero-copy{padding:clamp(24px,5vw,56px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative}.hero-copy:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 18%,transparent),transparent 42%),repeating-linear-gradient(-18deg,transparent 0 18px,rgb(255 255 255 / .03) 18px 19px);pointer-events:none}.hero-copy>*{position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:var(--brand);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}h1,h2,h3{margin:0;line-height:1.02;letter-spacing:0}h1{max-width:780px;margin-top:18px;font-size:clamp(2.4rem,6vw,5.8rem);font-weight:800}h2{margin-top:10px;font-size:clamp(1.55rem,3vw,2.35rem)}h3{font-size:1.2rem}.hero-copy p{max-width:720px;margin:20px 0 0;color:var(--muted);font-size:1.03rem;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.external-link,.primary-action,.race-footer button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;text-decoration:none;border-color:var(--line);background:var(--panel-strong)}.primary-action{border-color:color-mix(in srgb,var(--brand) 70%,transparent);background:var(--brand);color:var(--bg);font-weight:800}.race-brief{padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at top right,color-mix(in srgb,var(--gold) 24%,transparent),transparent 45%),var(--panel)}.race-brief h2{margin-top:16px;font-size:clamp(2rem,4vw,4rem)}.race-brief>p{color:var(--muted)}.brief-grid,.detail-metrics,.rider-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}.brief-grid div,.detail-metrics div,.rider-stats div{min-height:88px;padding:14px;border-radius:8px;background:color-mix(in srgb,var(--bg) 54%,transparent);border:1px solid color-mix(in srgb,var(--line) 78%,transparent)}.brief-grid strong,.detail-metrics strong,.rider-stats strong,.kpi-card strong{display:block;font-family:JetBrains Mono,monospace;font-size:1.55rem}.brief-grid span,.detail-metrics span,.rider-stats span,.kpi-card span{color:var(--muted);font-size:.82rem}.brief-note{margin-top:24px;line-height:1.6}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.kpi-card{padding:18px}.kpi-card svg{color:var(--brand)}.kpi-card strong{margin-top:28px;font-size:2.2rem}.kpi-card p{margin:6px 0 0;color:var(--faint);font-size:.86rem}.section-block{margin-top:22px;scroll-margin-top:22px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}.section-note{max-width:520px;color:var(--muted);line-height:1.55}.controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:end}.search-box{min-height:44px;min-width:min(320px,100%);display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted)}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.segmented-control{display:flex;flex-wrap:wrap;gap:6px}.segmented-control button{padding:0 12px;border-color:var(--line);background:var(--panel);color:var(--muted)}.segmented-control button.active{background:var(--brand);color:var(--bg);border-color:var(--brand);font-weight:800}.refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-color:var(--line);background:var(--panel);color:var(--ink)}.refresh-button:disabled{cursor:wait;opacity:.72}.spinning{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.live-intel{padding:18px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 9%,transparent),transparent 48%),color-mix(in srgb,var(--panel) 80%,transparent)}.live-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);margin-bottom:14px;font-size:.88rem}.live-fresh{color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}.live-cached,.live-fallback{color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,transparent)}.live-error{color:var(--red);background:color-mix(in srgb,var(--red) 14%,transparent)}.live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.live-card{min-height:260px;display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg) 45%,transparent)}.live-card h3{margin-top:8px;line-height:1.12}.live-card p{color:var(--muted);line-height:1.55}.live-card .external-link{margin-top:auto;width:fit-content}.calendar-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:16px;align-items:start}.race-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.race-card{padding:16px}.race-card.selected{border-color:var(--brand);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 45%,transparent),var(--shadow)}.race-card-top,.broadcast-top{display:flex;justify-content:space-between;gap:12px}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.pill{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border-radius:999px;background:color-mix(in srgb,var(--panel-strong) 80%,transparent);color:var(--muted);border:1px solid var(--line);font-size:.76rem}.status-today,.verification-verified{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}.status-next,.verification-watch{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}.verification-needs-check{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red)}.race-card h3{margin-top:2px}.race-card p,.panel p,.broadcast-card p{color:var(--muted);line-height:1.6}.race-profile{min-height:78px}.icon-button{width:44px;padding:0;display:grid;place-items:center;border-color:var(--line)}.icon-button.active{color:var(--brand);background:color-mix(in srgb,var(--brand) 15%,transparent)}.race-footer{display:flex;justify-content:space-between;gap:8px;align-items:center}.detail-panel{position:sticky;top:24px;padding:20px}.detail-panel h3{margin-top:12px;font-size:2rem}.muted{color:var(--muted)}.detail-note{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg) 45%,transparent)}.detail-note span{display:block;color:var(--faint);font-family:JetBrains Mono,monospace;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em}.detail-note p{margin:8px 0 0;line-height:1.6}.detail-note.accent{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));background:color-mix(in srgb,var(--brand) 12%,transparent)}.detail-panel .external-link{margin-top:16px;width:fit-content}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{padding:22px}.rider-stats{margin-top:20px}.quiet-list{display:grid;gap:10px;margin:20px 0;padding:0;list-style:none}.quiet-list li{padding-left:16px;border-left:3px solid var(--brand);color:var(--muted);line-height:1.55}.meter-list,.tour-profile-list,.result-list,.source-list{display:grid;gap:12px;margin-top:18px}.meter-row{padding:14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg) 46%,transparent)}.meter-row div:first-child{display:flex;justify-content:space-between;gap:12px}.meter-row span{color:var(--muted)}.meter-track{height:10px;margin-top:12px;border-radius:999px;background:color-mix(in srgb,var(--line) 68%,transparent);overflow:hidden}.meter-track span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--gold))}.tour-profile{padding:14px;border-radius:8px;border:1px solid var(--line)}.tour-profile-header,.terrain-legend,.result-row{display:flex;justify-content:space-between;gap:12px}.terrain-bar{height:18px;display:flex;overflow:hidden;border-radius:999px;margin:12px 0;background:var(--line)}.terrain-bar span{display:block}.terrain-flat{background:var(--blue)}.terrain-hilly{background:var(--gold)}.terrain-mountain{background:var(--brand)}.terrain-tt{background:var(--red)}.terrain-legend{flex-wrap:wrap;justify-content:flex-start;color:var(--muted);font-size:.85rem}.result-row{align-items:start;padding:14px;border:1px solid var(--line);border-radius:8px}.result-row div{min-width:140px}.result-row span{display:block;color:var(--faint);margin-top:3px}.result-row p{margin:0}.broadcast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.broadcast-card{padding:18px}.broadcast-card h3{margin-top:16px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.team-pill{min-height:38px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.team-pill>span{width:7px;height:7px;border-radius:999px;background:var(--faint)}.team-pill.featured{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb,var(--brand) 11%,transparent);font-weight:800}.source-list{grid-template-columns:repeat(2,minmax(0,1fr))}.source-list .external-link{justify-content:space-between}.footer{display:flex;justify-content:space-between;gap:12px;margin:24px 0 72px;color:var(--faint);font-size:.9rem}.mobile-nav{display:none}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar-nav button{justify-content:center}.sidebar-nav span,.sidebar-card,.theme-toggle{display:none}.hero-section,.calendar-grid{grid-template-columns:1fr}.detail-panel{position:static}}@media(max-width:860px){.main-panel{padding:14px 14px 84px}.sidebar-nav{display:none}.hero-section,.split-grid{grid-template-columns:1fr}.kpi-grid,.broadcast-grid,.live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-list{grid-template-columns:1fr}.section-heading,.controls,.result-row,.footer{align-items:stretch;flex-direction:column}.search-box,.segmented-control{width:100%}.segmented-control button{flex:1 1 auto}.mobile-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.mobile-nav button{min-height:48px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:grid;place-items:center;gap:2px;font-size:.68rem}}@media(max-width:700px){.brief-grid,.detail-metrics,.rider-stats{grid-template-columns:1fr}}@media(max-width:560px){h1{font-size:2.45rem}.hero-copy,.race-brief,.panel{padding:18px}.kpi-grid,.broadcast-grid,.live-grid,.team-grid,.source-list{grid-template-columns:1fr}}
