:root{color-scheme:dark;--bg:#0b0f16;--panel:#121823;--panel2:#181f2c;--line:#27303d;--ink:#eef2f6;--muted:#96a2b3;--yellow:#f2d35c;--blue:#78b9ff;--red:#ff837e}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--yellow)}.topbar{padding:22px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#0e131c}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:800;font-size:16px;letter-spacing:1.6px}.brand small{display:block;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:2.5px;margin-top:3px}.brand-mark{font-style:italic;font-size:30px;font-weight:950;letter-spacing:-2px;color:var(--yellow);padding-right:14px;border-right:1px solid #434333}.top-actions{display:flex;align-items:center;gap:24px}.clock{font-variant-numeric:tabular-nums;font-size:16px}.button{border:1px solid var(--yellow);background:var(--yellow);color:#10151d;border-radius:7px;padding:10px 15px;font-weight:650;font-size:14px}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{border-color:#5d6d82;background:var(--panel2)}main{max-width:1600px;margin:auto;padding:30px clamp(20px,4vw,64px) 24px}.overview{display:grid;grid-template-columns:1fr minmax(320px,460px);gap:32px;align-items:center;padding-bottom:26px}.eyebrow{margin:0 0 8px;color:var(--yellow);font-size:12px;letter-spacing:2px;font-weight:750}h1{font-size:clamp(28px,3vw,42px);letter-spacing:-1.5px;line-height:1.18;margin:0 0 10px}h2{font-size:18px;line-height:1.3;margin:0}h3{margin:0 0 8px}.lead{margin:0;color:var(--muted);font-size:14px}.next-race{border:1px solid #4e482b;border-radius:10px;background:linear-gradient(110deg,#202018,#151a22);padding:18px 21px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:102px}.next-race .next-name{font-weight:750;font-size:18px}.next-race .next-track{font-size:14px;color:var(--muted)}.next-race .countdown{font-size:26px;color:var(--yellow);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800;letter-spacing:-1px}.next-race .mini{font-size:12px;color:var(--muted);text-align:right;display:block;margin-top:4px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:22px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{background:transparent;border:1px solid transparent;border-radius:7px;padding:10px 16px;color:var(--muted);font-size:14px;font-weight:650}.tab:hover{background:var(--panel2);color:var(--ink)}.tab.active{color:var(--yellow);border-color:#665a2d;background:#272619}.tab span{font-size:12px;margin-left:5px}.week-picker{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:14px}.filters{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(5,minmax(110px,1fr)) auto;align-items:end;gap:12px;margin:23px 0 28px}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:14px}input,select{color:var(--ink);border:1px solid var(--line);border-radius:7px;background:var(--panel);padding:10px 12px;min-width:0;width:100%;font-size:14px;min-height:43px}.week-picker select{width:auto}input::placeholder{color:#788596}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:15px}.muted{color:var(--muted);font-size:14px}.schedule{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}table{width:100%;border-collapse:collapse;text-align:left}th{background:#171e2a;font-size:12px;letter-spacing:1px;color:var(--muted);font-weight:650;padding:13px 16px;white-space:nowrap}td{padding:17px 16px;border-top:1px solid var(--line);font-size:14px}.race-row:hover{background:#1a2230}.name-btn{background:none;border:0;color:var(--ink);padding:0;font-size:16px;font-weight:700;text-align:left;line-height:1.45}.name-btn:hover{color:var(--yellow)}.series-sub{color:var(--muted);font-size:12px;margin-top:3px}.countdown{font-variant-numeric:tabular-nums;font-weight:750;color:var(--yellow);font-size:16px}.time-sub{color:var(--muted);font-size:12px;margin-top:3px}.badges{display:flex;flex-wrap:wrap;gap:5px}.badge{display:inline-block;font-size:12px;line-height:1.4;font-weight:750;border-radius:4px;border:1px solid var(--line);padding:4px 7px;white-space:nowrap}.class-badge{border-color:#345681;color:#99c7ff;background:#172a43}.class-badge.hy{border-color:#6c353d;color:#ffb0b2;background:#351c27}.class-badge.lmp3{border-color:#62478a;color:#d0b4f5;background:#281f3e}.sr-bronze{color:#edc29b;border-color:#684c37;background:#352a20}.sr-silver{color:#d2dbe4;border-color:#536070;background:#29323b}.sr-gold{color:#f4dc84;border-color:#76602d;background:#38301c}.sr-other{color:#c6b7f6;border-color:#574473;background:#2a223c}.duration{font-size:18px;white-space:nowrap;font-weight:700}.track{font-weight:650}.layout{color:var(--muted);font-size:12px}.star{border:1px solid transparent;background:transparent;color:#99a5b5;font-size:23px;line-height:1;border-radius:6px;padding:8px}.star:hover{border-color:#495563}.star.selected{color:var(--yellow)}.empty{padding:60px 25px;text-align:center}.empty p{color:var(--muted);font-size:14px}.loading-mark{display:block;width:28px;height:28px;margin:0 auto 18px;border:2px solid var(--line);border-top-color:var(--yellow);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{background:#342821;border:1px solid #785839;padding:13px 16px;border-radius:7px;color:#f2d3a5;margin-bottom:20px;font-size:14px}.notice[hidden]{display:none}.more{width:100%;border:0;border-top:1px solid var(--line);padding:15px;background:#1a2230;color:var(--yellow);font-size:14px}footer{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:22px}footer strong{font-weight:500}footer a{color:#c8d2df}dialog{background:var(--panel);color:var(--ink);border:1px solid #45516a;border-radius:12px;width:min(760px,calc(100% - 28px));padding:0;max-height:88vh}dialog::backdrop{background:#03070dca;backdrop-filter:blur(4px)}.detail-head{display:flex;align-items:start;justify-content:space-between;padding:25px 28px 20px;gap:24px;border-bottom:1px solid var(--line)}.detail-head h2{font-size:26px;letter-spacing:-.8px;margin:8px 0 5px}.detail-body{padding:23px 28px}.detail-next{border-left:3px solid var(--yellow);padding:10px 16px;background:#1b211f;margin:0 0 22px}.detail-next .countdown{font-size:24px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 15px;margin-bottom:26px}.detail-grid div small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.detail-grid div b{font-size:16px;font-weight:650}.detail-section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.detail-section h3{font-size:16px;margin-bottom:13px}.start-days{display:grid;gap:16px}.day-label{font-size:14px;color:var(--muted);margin-bottom:8px}.time-chip{display:inline-block;font-variant-numeric:tabular-nums;padding:6px 9px;border:1px solid var(--line);border-radius:5px;font-size:14px;margin:0 6px 6px 0;background:var(--panel2)}.session-list{display:flex;flex-wrap:wrap;gap:10px}.session-item{padding:11px 15px;border:1px solid var(--line);border-radius:6px;flex:1;min-width:120px}.session-item small{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.session-item b{font-size:18px}.detail-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:24px}.detail-actions a{font-size:14px;color:var(--blue)}@media(min-width:1100px){.schedule th:first-child,.schedule td:first-child{padding-left:22px}.schedule td:nth-child(2){min-width:240px}.schedule td:last-child{width:54px}}@media(max-width:1200px){.filters{grid-template-columns:repeat(4,1fr)}.search{grid-column:span 2}.overview{grid-template-columns:1fr 1fr}th,td{padding-left:11px;padding-right:11px}}@media(max-width:850px){main{padding-top:24px}.overview{grid-template-columns:1fr;gap:20px}.toolbar{align-items:start}.filters{grid-template-columns:repeat(3,1fr)}.search{grid-column:span 2}.race-table thead{display:none}.race-table,.race-table tbody{display:block}.race-row{display:grid;grid-template-columns:1fr 1fr 40px;position:relative;padding:17px 18px;border-top:1px solid var(--line);gap:12px}.race-row:first-child{border-top:0}.race-row td{border:0;padding:0}.race-row td:nth-child(1){grid-column:2;grid-row:1;text-align:right;padding-right:12px}.race-row td:nth-child(2){grid-column:1;grid-row:1}.race-row td:nth-child(3){grid-column:1;grid-row:2}.race-row td:nth-child(4){grid-column:2;grid-row:2}.race-row td:nth-child(5){grid-column:1;grid-row:3}.race-row td:nth-child(6){grid-column:2;grid-row:3}.race-row td:nth-child(7){grid-column:1;grid-row:4;color:var(--muted)}.race-row td:nth-child(8){grid-column:2;grid-row:4;font-size:16px}.race-row td:last-child{grid-column:3;grid-row:1/5;align-self:start}.clock{font-size:14px}.top-actions{gap:12px}.brand{font-size:13px;letter-spacing:1px}.brand-mark{font-size:26px}.brand small{font-size:12px;letter-spacing:1px}.layout{margin-top:3px}}@media(max-width:550px){.topbar{padding:18px 18px}.clock{display:none}.brand small{display:none}.brand-mark{padding-right:10px}.brand{gap:10px}.overview{padding-bottom:23px}.next-race{padding:16px}.next-race .next-name{font-size:16px}.next-race .countdown{font-size:22px}.toolbar{flex-direction:column;gap:15px}.tab{padding:9px 12px}.filters{grid-template-columns:repeat(2,1fr)}.search{grid-column:span 2}.filters button{min-height:43px}.week-picker{flex-direction:row;width:100%}.week-picker select{flex:1}.detail-head,.detail-body{padding:20px}.detail-grid{grid-template-columns:repeat(2,1fr)}.detail-head h2{font-size:23px}.race-row{padding:16px 14px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 32px;gap:10px}.name-btn{font-size:15px}.countdown{font-size:15px}.duration{font-size:16px}.track{font-size:14px}.star{padding:6px;font-size:22px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}dialog::backdrop{backdrop-filter:none}}
