:root{--red:#e10600;--blue:#35bdf8;--pink:#ff73b6;--green:#10a66a;--ink:#17283f;--muted:#64748b;--line:rgba(53,189,248,.24);--shadow:0 16px 42px rgba(20,82,124,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink);background:linear-gradient(180deg,#fff,#f3fbff 45%,#fff8fb);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",system-ui,sans-serif}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:rgba(255,255,255,.91);backdrop-filter:blur(18px)}
nav,main,footer{width:min(1420px,100%);margin:auto}
nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:1000}
.mark{display:grid;place-items:center;width:46px;height:40px;border-radius:7px;background:linear-gradient(135deg,#161c26,var(--red));color:#fff;font-size:8px}
.links{display:flex;gap:6px;overflow:auto}
.links a,.series-tabs button,.panel-head a,#motorProviders a,.result-tabs button,.watch-toolbar button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 10px;text-decoration:none;font-size:9px;font-weight:950}
.links .active,.series-tabs button.active,.result-tabs button.active,.watch-toolbar button.active{border-color:color-mix(in srgb,var(--series-color,var(--blue)) 55%,white);background:linear-gradient(90deg,#ffe9f4,#e1f7ff);color:#0f6f9f}
main{padding:0 16px 60px}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:center;min-height:270px;overflow:hidden;border-bottom:1px solid var(--line)}
.eyebrow{margin:0;color:var(--red);font-size:10px;font-weight:1000;letter-spacing:.08em}
.hero h1{margin:8px 0;font-size:68px;line-height:.98;letter-spacing:0}
.hero h1 span{display:block;background:linear-gradient(90deg,var(--red),var(--pink),var(--blue));-webkit-background-clip:text;color:transparent}
.hero p{color:var(--muted);font-size:12px}
.speed-lines{display:grid;gap:15px;transform:skewX(-17deg)}
.speed-lines i{height:6px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--red),var(--pink),var(--blue),transparent);animation:speedLine 1.8s linear infinite}
.speed-lines i:nth-child(2){margin-left:12%;animation-delay:-.4s}.speed-lines i:nth-child(3){margin-right:18%;animation-delay:-.8s}.speed-lines i:nth-child(4){margin-left:25%;animation-delay:-1.2s}
.series-tabs{display:flex;gap:7px;padding:15px 0;overflow:auto}
.race-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.race-head p{margin:0;color:var(--series-color,var(--red));font-size:9px;font-weight:1000}.race-head h2{margin:4px 0;font-size:34px;line-height:1.18;letter-spacing:0;text-wrap:balance}.race-head>div>span{color:var(--muted);font-size:10px}
.race-count{display:grid;justify-items:end;min-width:9ch;font-size:44px;font-weight:1000}.race-count small{font-size:8px;color:var(--muted)}
.race-count.live small{border-radius:999px;background:color-mix(in srgb,var(--series-color,var(--red)) 14%,white);padding:7px 10px;color:var(--series-color,var(--red));font-size:10px;animation:livePulse 1.8s ease-in-out infinite}.race-count.completed small{border-radius:999px;background:#eef2f7;padding:7px 10px;color:var(--muted);font-size:10px}
.watch-panel{margin-top:12px;padding:0}.watch-panel[hidden]{display:none}.watch-panel>.panel-head{padding:11px 0;border:0}.watch-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.watch-toolbar>span{color:var(--muted);font-size:9px;font-weight:900}
.watch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.watch-card{position:relative;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--member-color) 58%,white);border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(23,48,79,.1);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.watch-card.is-main{grid-column:span 2;border-width:2px;box-shadow:0 15px 38px color-mix(in srgb,var(--member-color) 18%,transparent)}.watch-card:hover{transform:translateY(-2px)}
.watch-status{position:absolute;left:8px;top:8px;z-index:3;border-radius:999px;background:#df193f;padding:5px 7px;color:#fff;font-size:7px;font-weight:1000;box-shadow:0 5px 14px rgba(158,30,64,.24)}.watch-status.upcoming{background:#2875b8}
.watch-media{aspect-ratio:16/9;background:#07121f}.watch-media button,.watch-media iframe,.watch-media img{display:block;width:100%;height:100%;border:0}.watch-media button{position:relative;padding:0;background:#07121f}.watch-media img{object-fit:cover}.watch-media button i{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(5,20,34,.72);color:#fff;font-style:normal;transform:translate(-50%,-50%)}
.watch-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px}.watch-member{display:flex;align-items:center;gap:7px;min-width:0}.watch-member>img{flex:0 0 auto;width:30px;height:30px;border:2px solid color-mix(in srgb,var(--member-color) 60%,white);border-radius:50%;object-fit:cover}.watch-member>span{min-width:0}.watch-member strong,.watch-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-member strong{font-size:9px}.watch-member small{margin-top:2px;color:var(--muted);font-size:7px}.watch-actions{display:flex;gap:4px;flex:0 0 auto}.watch-actions button,.watch-actions a{display:grid;place-items:center;min-width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 6px;color:#0f6f9f;text-decoration:none;font-size:8px;font-weight:950}
.motor-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}.timing-panel,.session-band>div,.session-band>aside{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.panel-head{display:flex;align-items:end;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:17px}.panel-head p,.panel-head span{margin:3px 0 0;color:var(--muted);font-size:8px}
.result-tabs{display:flex;gap:6px;overflow:auto;padding:8px 12px 0}.result-tabs[hidden]{display:none}
.track-strip{position:relative;display:flex;align-items:center;gap:4px;min-height:40px;overflow:hidden;padding:8px 12px;background:linear-gradient(90deg,#111923,#243347,#111923)}.track-car{display:grid;place-items:center;width:28px;height:19px;border-radius:4px;background:var(--car,#e10600);color:#fff;font-size:7px;font-weight:1000;animation:carMove .45s ease both}
.timing-head,.timing-row{display:grid;grid-template-columns:44px minmax(0,1fr) 90px 55px 90px;align-items:center;gap:7px;padding:8px 12px}.timing-head{color:var(--muted);font-size:7px;font-weight:950}.timing-row{border-top:1px solid rgba(53,189,248,.12);font-size:9px}.timing-row>b{font-size:17px}.driver strong,.driver small{display:block}.driver small{margin-top:2px;color:var(--muted);font-size:7px}.timing-row.retired{opacity:.5}.timing-note{min-height:0;margin:0;padding:8px 12px;border-top:1px solid rgba(53,189,248,.12);color:var(--muted);font-size:8px}.timing-note:empty{display:none}.empty{padding:28px;color:var(--muted);text-align:center;font-size:10px}
.session-band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:12px;margin-top:12px}.session-band h2{margin:0;padding:12px;font-size:17px}.session-row{display:grid;grid-template-columns:minmax(100px,.5fr) minmax(0,1fr) auto;gap:8px;padding:9px 12px;border-top:1px solid rgba(53,189,248,.12);font-size:9px}.session-row.live{background:#fff1f3;color:#b42340}.session-row b{font-variant-numeric:tabular-nums}.session-band aside p{margin:8px 12px 12px;color:var(--muted);font-size:8px}.session-band #motorProviders{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 8px}
.race-list{padding-top:30px}.section-head h2{margin:0;font-size:29px}.section-head p{margin:4px 0;color:var(--muted);font-size:9px}#raceRows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.race-row{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.race-row:hover{transform:translateY(-2px)}.race-row.active{border-color:var(--series-color,var(--red));box-shadow:0 0 0 3px color-mix(in srgb,var(--series-color,var(--red)) 12%,transparent)}.race-row strong,.race-row span{display:block}.race-row span{margin-top:4px;color:var(--muted);font-size:8px}footer{padding:22px 16px 42px;color:var(--muted);font-size:9px}
@keyframes speedLine{from{transform:translateX(-40%)}to{transform:translateX(40%)}}@keyframes carMove{from{opacity:.2;transform:translateX(-12px)}to{opacity:1;transform:none}}@keyframes livePulse{50%{opacity:.58;transform:scale(.97)}}
@media(max-width:900px){.hero{grid-template-columns:1fr}.speed-lines{position:absolute;right:-20%;width:65%;opacity:.22}.watch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-band{grid-template-columns:1fr}#raceRows{grid-template-columns:1fr 1fr}}
@media(max-width:600px){main{padding-inline:9px}.hero{min-height:220px}.hero h1{font-size:43px}.race-head{align-items:flex-start;flex-direction:column}.race-head h2{font-size:25px}.race-count{justify-items:start;font-size:34px}.watch-panel>.panel-head{align-items:flex-start;flex-direction:column}.watch-toolbar{justify-content:flex-start}.watch-grid{grid-template-columns:1fr}.watch-card.is-main{grid-column:auto}.watch-meta{align-items:flex-start;flex-direction:column}.watch-actions{width:100%}.watch-actions button:first-child{flex:1}.timing-head,.timing-row{grid-template-columns:35px minmax(0,1fr) 55px 35px 58px;padding-inline:8px}.timing-row{font-size:8px}.timing-row>b{font-size:14px}.session-row{grid-template-columns:minmax(90px,.7fr) minmax(0,1fr) auto}#raceRows{grid-template-columns:1fr}.links a{font-size:8px}}
@supports(content-visibility:auto){.race-list,.session-band{content-visibility:auto;contain-intrinsic-size:auto 520px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
