:root{--hatch: repeating-linear-gradient(45deg, transparent 0 6px, color-mix(in srgb, var(--text-tertiary) 6%, transparent) 6px 7px)}.cal-hero{padding-bottom:var(--space-2)}.cal-kicker strong{color:var(--accent);font-weight:700}.cal-title{font-family:var(--ff-display);font-weight:var(--fw-display);font-size:clamp(2.5rem,6vw,4rem);line-height:.95;text-transform:uppercase;letter-spacing:-.02em;margin:var(--space-2) 0}.cal-sub{color:var(--text-secondary);font-size:var(--fs-body-l)}.cal-planner{padding-top:var(--space-4)}.cal-season-form{margin-bottom:var(--space-4)}.cal-season-form select{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font:inherit}.cal-season-form select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cal-weekbar{display:flex;align-items:stretch;gap:var(--space-2)}.cal-weeknav{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:20px;line-height:1}.cal-weeknav:hover{color:var(--text-primary);border-color:var(--border-emphasis)}.cal-weeknav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cal-weeknav[aria-disabled=true]{opacity:.35;pointer-events:none}.cal-weeks{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2);flex:1;min-width:0}.cal-week{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:var(--space-2) 4px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}.cal-week:hover{background:var(--surface-3)}.cal-week:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cal-week-n{font-family:var(--ff-display);font-weight:var(--fw-display);font-size:13px;text-transform:uppercase;color:var(--text-secondary)}.cal-week-d{font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.cal-week.is-active{background:var(--surface-3);box-shadow:inset 0 -2px 0 var(--accent)}.cal-week.is-active .cal-week-n{color:var(--accent)}.cal-week.is-live .cal-week-n:after{content:"";display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;background:var(--accent);vertical-align:middle}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3)}.cal-context{color:var(--text-secondary);font-size:var(--fs-body)}.cal-context strong{color:var(--text-primary);font-weight:600}.cal-context-sep{margin:0 var(--space-2);color:var(--text-tertiary)}.cal-count{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.cal-live{display:inline-flex;align-items:center;gap:5px;margin-right:var(--space-2);font-family:var(--ff-mono);font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.cal-live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.cal-filters{display:flex;align-items:center;gap:var(--space-3)}.cal-disc{display:inline-flex;padding:2px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.cal-disc-btn{padding:6px 12px;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.cal-disc-btn:hover{color:var(--text-primary)}.cal-disc-btn.is-active{background:var(--surface-3);color:var(--text-primary)}.cal-disc-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-search{min-width:220px;padding:var(--space-2) var(--space-3);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font:inherit}.cal-search:focus-visible{outline:2px solid var(--accent);outline-offset:0}.cal-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-1)}.cal-table{width:100%;border-collapse:separate;border-spacing:0}.cal-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);text-align:left;padding:var(--space-2) var(--space-3);font-family:var(--ff-mono);font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);border-bottom:1px solid var(--border-emphasis)}.cal-th-rail{width:80px}.cal-th-spec{text-align:right}.cal-race{background:var(--surface-1)}.cal-race>td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.cal-race:last-child>td{border-bottom:0}.cal-race:hover{background:var(--surface-2)}.cal-race[data-disc=oval]{--disc-color: #7c8694}.cal-race[data-disc=road]{--disc-color: #6f9c84}.cal-race[data-disc=dirt]{--disc-color: #b0895a}.cal-rail{position:relative;width:80px;padding-left:var(--space-4)!important}.cal-spine{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--disc-color, var(--border-emphasis))}.cal-thumb{display:block;width:56px;height:40px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-3);border:1px solid var(--border-subtle)}.cal-glyph{display:flex;align-items:center;justify-content:center}.cal-glyph svg{width:24px;height:24px;stroke:var(--disc-color, var(--text-tertiary));stroke-width:1.75;opacity:.85}.cal-series-name{display:block;font-family:var(--ff-display);font-weight:var(--fw-display);font-size:1.0625rem;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase;color:var(--text-primary)}.cal-meta{display:inline-flex;align-items:center;gap:6px;margin-top:5px}.cal-disc-pill{display:inline-block;padding:1px 7px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);border:1px solid var(--border-subtle);border-radius:999px}.cal-class{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-family:var(--ff-display);font-weight:var(--fw-display);font-size:11px;line-height:1;color:var(--text-secondary);border:1px solid currentColor;border-radius:var(--radius-sm)}.cal-class[data-class=A]{color:#5b8fd6}.cal-class[data-class=B]{color:#67a06f}.cal-class[data-class=C]{color:#c2a24e}.cal-class[data-class=D]{color:#c0894f}.cal-class[data-class=R]{color:#c46b6b}.cal-class[data-class=Pro]{color:#9b7fc4}.cal-track{width:36%}.cal-track-name{display:block;font-weight:600;font-size:.9375rem;color:var(--text-primary)}.cal-track-config{display:block;margin-top:1px;font-size:var(--fs-caption);color:var(--text-secondary)}.cal-track-off{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.cal-date{white-space:nowrap}.cal-date-d{display:block;font-size:.875rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.cal-date-r{display:block;font-size:var(--fs-caption);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.cal-spec{text-align:right;white-space:nowrap;font-family:var(--ff-mono);font-size:var(--fs-caption);color:var(--text-secondary);font-variant-numeric:tabular-nums}.cal-race.is-off{background-image:var(--hatch)}.cal-race.is-off>td{padding-top:var(--space-2);padding-bottom:var(--space-2)}.cal-race.is-off .cal-series-name{color:var(--text-secondary)}.cal-empty{padding:var(--space-6);text-align:center;color:var(--text-secondary);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:no-preference){.cal-race{transition:background var(--duration-fast) var(--ease-out)}}@media(max-width:768px){.cal-toolbar{flex-direction:column;align-items:stretch}.cal-filters{flex-wrap:wrap}.cal-search{flex:1 1 100%;min-width:0}.cal-disc{width:100%}.cal-disc-btn{flex:1;text-align:center}.cal-weeks{grid-auto-flow:column;grid-auto-columns:64px;overflow-x:auto;scroll-snap-type:x mandatory}.cal-week{scroll-snap-align:start}.cal-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}.cal-table,.cal-table tbody,.cal-table tr,.cal-table td{display:block}.cal-table thead{display:none}.cal-race{position:relative;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) 76px;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.cal-race>td{padding:0!important;border:0!important}.cal-rail{position:absolute;left:0;top:0;bottom:0;width:auto!important;padding:var(--space-3)!important}.cal-track{width:auto;margin-top:var(--space-2)}.cal-date{margin-top:var(--space-2)}.cal-spec{margin-top:var(--space-1);text-align:left}.cal-race.is-off{padding:var(--space-3)}}
