:root{color-scheme:dark;font-family:Inter,Arial Narrow,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#020408;color:#f8fbff;line-height:1.4;--blue: #218cff;--blue-soft: rgba(33, 140, 255, .18);--pink: #ff2f8f;--pink-soft: rgba(255, 47, 143, .18);--yellow: #ffd12f;--panel: rgba(5, 12, 22, .88);--line: rgba(33, 140, 255, .42);--muted: #aeb8c6}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(120deg,rgba(33,140,255,.13),transparent 28%),linear-gradient(250deg,rgba(255,47,143,.11),transparent 32%),radial-gradient(circle at 50% 0%,rgba(33,140,255,.16),transparent 38%),#020408}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:100% 4px;opacity:.22}button,input,select{font:inherit}button{border:1px solid var(--line);background:linear-gradient(180deg,#0f1f34eb,#040911eb);color:#f8fbff;min-height:38px;padding:0 12px;border-radius:6px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;text-transform:uppercase;font-weight:800;letter-spacing:0}button:hover{border-color:var(--yellow);box-shadow:0 0 18px #218cff47}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg,#fff06a,var(--yellow));color:#070a10;border-color:var(--yellow)}button.ghost{background:transparent}input,select{width:100%;border:1px solid rgba(89,160,255,.32);background:#01060de6;color:#f8fbff;border-radius:6px;min-height:38px;padding:7px 10px}select[multiple]{min-height:94px}label{display:grid;gap:6px;color:var(--muted);font-size:13px;text-transform:uppercase;font-weight:800}.topbar{position:sticky;top:0;z-index:5;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:#020408eb;box-shadow:0 0 28px #218cff24;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{border:0;background:transparent;font-weight:950;font-size:20px;font-style:italic}.brand svg{color:var(--blue);filter:drop-shadow(0 0 10px rgba(33,140,255,.8))}.page{width:min(1280px,calc(100vw - 32px));margin:28px auto 64px}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.header>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header svg{color:var(--blue)}h1{font-size:clamp(30px,4vw,58px);line-height:.96;margin:0;letter-spacing:0;text-transform:uppercase;font-style:italic;font-weight:950;text-shadow:0 0 18px rgba(255,255,255,.18)}h2,h3,p{margin-top:0}.header p{margin:0;color:var(--yellow);font-size:18px;text-transform:uppercase;font-weight:900}.panel,.card,.table-wrap{border:1px solid var(--line);background:linear-gradient(180deg,#071220eb,#03080feb);border-radius:8px;box-shadow:inset 0 0 32px #218cff14,0 0 20px #00000057}.panel,.card{padding:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:18px}.compact{grid-template-columns:repeat(auto-fit,minmax(150px,220px))}.wide{grid-column:1 / -1}.check{display:flex;align-items:center;flex-direction:row;gap:10px}.check input{width:auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.card h3{margin-bottom:8px;color:#fff;text-transform:uppercase;font-style:italic}.card p{color:var(--muted)}.clickable{cursor:pointer}.clickable:hover{border-color:var(--yellow)}.stack{display:grid;gap:12px}.section-title,.quicklinks{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 12px}.quicklinks{justify-content:flex-start}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(89,160,255,.18);vertical-align:top}th{color:var(--blue);font-size:12px;text-transform:uppercase;letter-spacing:0}td{color:#f8fbff}tr:nth-child(2n) td{background:#ffffff06}.error{color:#ff8f70}.empty{border:1px dashed var(--line);border-radius:8px;padding:24px;color:var(--muted)}.bracket-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:16px;overflow-x:auto;padding-bottom:12px}.round{display:grid;align-content:start;gap:14px}.round h3{color:var(--yellow);margin:0;text-transform:uppercase;font-style:italic}.match{min-height:132px;display:grid;gap:8px;border:1px solid rgba(89,160,255,.34);background:linear-gradient(180deg,#040b16f0,#02050bf0);border-radius:8px;padding:12px}.match>div{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:8px;min-height:34px;padding:6px;border-radius:6px;background:#ffffff0b;text-transform:uppercase;font-weight:900}.match>div:nth-child(2){color:#ffd8ec}.match span{color:var(--muted)}.match .winner{background:linear-gradient(90deg,var(--yellow),#fff7a3);color:#070a10}.match small{color:var(--muted);text-transform:uppercase}.match.completed{border-color:var(--yellow)}.match.ready{border-color:var(--pink);box-shadow:0 0 18px #ff2f8f3d}.projector{width:min(1780px,calc(100vw - 32px));margin:16px auto 28px}.projector h1{font-size:clamp(42px,5vw,82px)}.projector table{font-size:clamp(20px,2.2vw,36px)}.projector th,.projector td{padding:18px 20px}.projector .match{min-height:170px;font-size:24px}.broadcast{display:grid;gap:16px}.broadcast-header{min-height:122px;display:grid;grid-template-columns:minmax(240px,380px) 1fr minmax(210px,300px);align-items:center;gap:18px;border:1px solid var(--line);background:linear-gradient(90deg,#0027508c,#02050af0 38%,#2a00197a);border-radius:8px;padding:18px 28px;box-shadow:inset 0 0 34px #218cff24,0 0 28px #0000008c}.broadcast-brand{display:grid;grid-template-columns:54px 1fr;align-items:center;column-gap:12px;text-transform:uppercase;font-style:italic}.broadcast-brand svg{color:var(--blue);filter:drop-shadow(0 0 14px rgba(33,140,255,.9));grid-row:span 2}.broadcast-brand strong{font-size:34px;line-height:.9}.broadcast-brand span{color:var(--blue);font-weight:900;letter-spacing:.32em}.broadcast-title{text-align:center}.broadcast-title p{margin:6px 0 0;color:var(--blue);text-transform:uppercase;font-weight:950;letter-spacing:.08em}.broadcast-clock{justify-self:end;display:grid;gap:2px;text-align:right;text-transform:uppercase}.broadcast-clock span{color:#fff;font-weight:900;font-style:italic}.broadcast-clock strong{color:var(--yellow);font-size:48px;line-height:1;font-weight:950}.race-stage{display:grid;grid-template-columns:minmax(250px,390px) 1fr minmax(250px,390px);gap:14px;align-items:stretch}.rider-card,.velodrome-panel,.broadcast-panel{border-radius:8px;background:linear-gradient(180deg,#071220f0,#02050bf5);border:1px solid var(--line);box-shadow:inset 0 0 34px #218cff1f}.rider-card{position:relative;min-height:390px;padding:22px;display:grid;align-content:center;justify-items:center;text-align:center;overflow:hidden}.rider-card:before{content:"";position:absolute;top:-40%;right:-20%;bottom:-40%;left:-20%;background:radial-gradient(circle,var(--blue-soft),transparent 52%);opacity:.92}.rider-b{border-color:#ff2f8f99;box-shadow:inset 0 0 34px #ff2f8f21}.rider-b:before{background:radial-gradient(circle,var(--pink-soft),transparent 52%)}.rider-label{position:absolute;top:0;min-width:148px;padding:7px 18px;background:var(--blue);color:#fff;text-transform:uppercase;font-weight:950;font-style:italic;border-radius:0 0 8px 8px}.rider-b .rider-label{background:var(--pink)}.rider-avatar{position:relative;width:174px;aspect-ratio:1;display:grid;place-items:center;border:4px solid #fff;border-radius:50%;color:#fff;background:#218cff2e;box-shadow:0 0 26px var(--blue)}.rider-b .rider-avatar{background:#ff2f8f2e;box-shadow:0 0 26px var(--pink)}.rider-card h2{position:relative;margin:18px 0 4px;font-size:clamp(32px,3.2vw,58px);line-height:.95;text-transform:uppercase;font-style:italic}.rider-card strong{position:relative;color:var(--blue);font-size:34px}.rider-b strong{color:var(--pink)}.rider-card p{position:relative;color:var(--muted);text-transform:uppercase;font-weight:950}.rider-winner p{color:var(--yellow)}.velodrome-panel{min-height:390px;padding:18px;display:grid;align-content:center;gap:18px}.race-gap{text-align:center;text-transform:uppercase}.race-gap span{color:var(--muted);font-weight:950;font-style:italic}.race-gap strong{display:block;color:var(--blue);font-size:clamp(28px,4vw,68px);line-height:1;font-style:italic;text-shadow:0 0 16px rgba(33,140,255,.65)}.track{position:relative;width:min(680px,100%);aspect-ratio:2.45;margin:0 auto;border:24px solid #b9875e;border-radius:999px;background:#111821;box-shadow:inset 0 0 0 5px #ffffff73,0 0 28px #218cff61}.track:before,.track:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border:3px solid var(--blue);border-radius:999px;box-shadow:0 0 16px var(--blue)}.track:after{top:18px;right:18px;bottom:18px;left:18px;border-color:#ffffff52;box-shadow:none}.track-inner{position:absolute;top:28%;right:28%;bottom:28%;left:28%;border:2px solid rgba(255,255,255,.35);border-radius:999px}.bike-dot{position:absolute;width:62px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:#07111e;border:3px solid #fff}.blue-dot{top:-16px;left:52%;box-shadow:0 0 18px var(--blue);color:var(--blue)}.pink-dot{bottom:-16px;left:35%;box-shadow:0 0 18px var(--pink);color:var(--pink)}.progress-line{text-align:center;text-transform:uppercase;font-style:italic}.progress-line strong{color:var(--blue);font-size:58px;line-height:1}.progress-line span{color:#fff;font-size:28px;font-weight:950;margin-left:10px}.broadcast-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.broadcast-panel{padding:14px;min-width:0}.broadcast-panel h2{margin:-14px -14px 14px;padding:7px 12px;text-align:center;text-transform:uppercase;font-style:italic;background:linear-gradient(90deg,#218cff4d,#ff2f8f38);border-bottom:1px solid var(--line)}.feed-list{list-style:none;display:grid;gap:10px;padding:0;margin:0}.feed-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(89,160,255,.18);color:#d9e5f5;text-transform:uppercase;font-weight:850}.feed-list svg{color:var(--pink)}.trainer-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:16px;margin-bottom:18px}.speed-card{min-height:280px;display:grid;place-items:center;align-content:center;gap:8px;border:1px solid rgba(33,140,255,.62);border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(33,140,255,.24),transparent 54%),linear-gradient(180deg,#071220f2,#02050bf7);box-shadow:inset 0 0 48px #218cff2e,0 0 32px #218cff1f;text-transform:uppercase}.speed-card span{color:var(--muted);font-weight:950;font-style:italic}.speed-card strong{color:#fff;font-size:clamp(78px,10vw,142px);line-height:.88;font-style:italic;text-shadow:0 0 24px rgba(33,140,255,.72)}.speed-card p{margin:0;color:var(--yellow);font-size:28px;font-weight:950}.telemetry-panel h2{margin:0 0 8px;text-transform:uppercase;font-style:italic}.telemetry-panel p{color:var(--muted);margin-bottom:18px}.telemetry-panel dl{display:grid;gap:10px;margin:0}.telemetry-panel dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(89,160,255,.18);padding-bottom:10px}.telemetry-panel dt{color:var(--muted);text-transform:uppercase;font-weight:900}.telemetry-panel dd{margin:0;color:#fff;font-weight:950}@media(max-width:1100px){.broadcast-header,.race-stage,.broadcast-grid,.trainer-grid{grid-template-columns:1fr}.broadcast-title,.broadcast-clock{text-align:left;justify-self:stretch}}@media(max-width:720px){.topbar{padding:0 12px}.page,.projector{width:calc(100vw - 20px);margin-top:18px}.header{align-items:flex-start;flex-direction:column}table{min-width:620px}.rider-card,.velodrome-panel{min-height:300px}.broadcast-clock strong{font-size:38px}}
