@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/motorsport-calendar/assets/press-start-2p-v16-latin-ClsvrIBJ.woff2) format("woff2")}:root{--bg: #f7f7f5;--surface: #ffffff;--day-bg: #eaeae6;--border: #c7c7c1;--text: #1a1a18;--text-muted: #6b6b66;--brand: #7a1f1f;--brand-text: #ffffff;--accent-bg: #e8f0fe;--accent-text: #1a4fa0;--row-hover: #fbecec;--stale-bg: #fdf3e3;--stale-text: #8a5a00;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}:root[data-theme=dark]{--bg: #17181a;--surface: #1f2023;--day-bg: #292a2e;--border: #404145;--text: #eaeaea;--text-muted: #9a9a98;--brand: #5c1717;--brand-text: #f2e6e6;--accent-bg: #1c2f4d;--accent-text: #a8c7f0;--row-hover: #2e2224;--stale-bg: #3a2f16;--stale-text: #e0b568}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);accent-color:var(--brand)}main{max-width:1000px;margin:0 auto;padding:1.5rem 1.25rem 3rem}:root{--header-outer-height: 96px;--header-inner-height: 60px}.site-header-outer{height:var(--header-outer-height);position:sticky;top:calc((var(--header-outer-height) - var(--header-inner-height)) * -1);display:flex;align-items:center;background:var(--surface);border-bottom:1px solid var(--border);z-index:30}.site-header-inner{height:var(--header-inner-height);position:sticky;top:0;width:100%;max-width:1000px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between}.site-header-logo{display:flex;align-items:center;gap:.6rem}.site-header-logo svg{color:var(--brand);flex-shrink:0}.site-header-title{font-family:"Press Start 2P",var(--font-sans);font-size:.65rem;font-weight:400;letter-spacing:.02em;margin:0;white-space:nowrap;line-height:1}.site-header-actions{display:flex;align-items:center;gap:.6rem}.header-select select{max-width:150px;border:1px solid var(--border);border-radius:8px;padding:.35rem 1.7rem .35rem .55rem;background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;cursor:pointer}.header-time-zone{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.78rem;font-weight:600;white-space:nowrap}.language-selector{position:relative}.language-selector>button,.language-selector-menu button{display:flex;align-items:center;gap:.45rem;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;cursor:pointer}.language-selector>button{border-radius:8px;padding:.35rem .55rem}.language-selector>button.is-open{border-color:var(--brand)}.language-flag{width:20px;height:12px;flex:none;border-radius:1px;box-shadow:0 0 0 1px #0003}.language-selector-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:40;min-width:145px;padding:.3rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000026}.language-selector-menu button{width:100%;border:0;border-radius:5px;padding:.4rem .5rem}.language-selector-menu button:hover,.language-selector-menu button.is-selected{background:var(--row-hover)}.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}.site-header-contact{font-size:.9rem;font-weight:600;color:var(--text);text-decoration:none;border-bottom:2px solid transparent}.site-header-contact:hover{border-bottom-color:var(--brand)}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem}.theme-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.theme-toggle button{border:none;background:var(--surface);color:var(--text-muted);padding:.35rem .6rem;font-size:.85rem;cursor:pointer}.theme-toggle button.is-active{background:var(--brand);color:var(--brand-text)}.dropdown{position:relative}.dropdown-toggle{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);border-radius:8px;padding:.45rem .7rem;font-size:.85rem;background:var(--surface);color:var(--text);cursor:pointer}.dropdown-toggle.is-open{border-color:var(--brand)}.dropdown-toggle-label{font-weight:600}.dropdown-toggle-summary{color:var(--text-muted)}.dropdown-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-muted);margin-left:.15rem}.dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:10;min-width:220px;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.4rem;box-shadow:0 4px 16px #00000026}.dropdown-actions{display:flex;gap:.35rem;padding:0 0 .4rem;margin-bottom:.25rem;border-bottom:1px solid var(--border)}.dropdown-actions button{flex:1;border:1px solid var(--border);border-radius:5px;padding:.3rem .45rem;background:var(--surface);color:var(--text);font:inherit;font-size:.78rem;cursor:pointer}.dropdown-actions button:hover{border-color:var(--brand);background:var(--row-hover)}.dropdown-option{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;font-size:.85rem;cursor:pointer;white-space:nowrap}.dropdown-option:hover{background:var(--row-hover)}.dropdown-option input{margin:0}.calendar-layout{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.next-session{margin-bottom:1.25rem;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.next-session-heading{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;background:var(--day-bg);border-bottom:1px solid var(--border)}.next-session-heading h2{margin:0;font-size:.85rem}.next-session-series-dot{width:10px;height:10px;border-radius:50%;flex:none}.next-session-content{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .85rem}.next-session-content p{margin:0}.next-session-when{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.next-session-title{margin-top:.2rem!important;font-size:.95rem;font-weight:700}.next-session-type{margin-top:.15rem!important;color:var(--text-muted);font-size:.8rem}.next-session-broadcasters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.next-session .calendar-chip{background:var(--accent-bg);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--accent-text) 25%,transparent)}.next-session .calendar-chip-link:hover,.next-session .calendar-chip-link:focus-visible{background:var(--row-hover)}@media (max-width: 640px){:root{--header-outer-height: 150px;--header-inner-height: 114px}.site-header-inner{flex-direction:column;align-items:stretch;justify-content:center;gap:.65rem;padding-top:.75rem;padding-bottom:.75rem}.site-header-actions{justify-content:flex-start;flex-wrap:wrap}.site-header-contact{display:none}.header-select select{max-width:155px}.calendar-layout{grid-template-columns:1fr}.next-session-content{align-items:flex-start;flex-direction:column}.next-session-broadcasters{justify-content:flex-start}}.calendar-grid-panel{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:1rem}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.calendar-nav button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;width:28px;height:28px;font-size:1rem;cursor:pointer}.calendar-month-label-group{display:flex;align-items:center;gap:.6rem}.calendar-month-label{font-weight:600;text-transform:capitalize}.calendar-nav button.calendar-today-button{width:auto;height:auto;border:none;background:none;color:var(--text-muted);padding:.1rem .2rem;font-size:.85rem;line-height:1;opacity:.75;cursor:pointer}.calendar-nav button.calendar-today-button:hover{color:var(--text);opacity:1}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekdays{font-size:.72rem;color:var(--text-muted);text-align:center;margin-bottom:3px}.calendar-day{position:relative;min-height:46px;border-radius:8px;text-align:center;padding:4px 0}.calendar-day-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:20;min-width:190px;max-width:260px;max-height:220px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.4rem .55rem;box-shadow:0 6px 20px #0003;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s ease}.calendar-day:hover .calendar-day-tooltip{opacity:1;visibility:visible}.calendar-days .calendar-day:nth-child(7n+1) .calendar-day-tooltip{left:0;transform:none}.calendar-days .calendar-day:nth-child(7n) .calendar-day-tooltip{left:auto;right:0;transform:none}.calendar-day-tooltip-item{padding:3px 0}.calendar-day-tooltip-item+.calendar-day-tooltip-item{border-top:1px solid var(--border)}.calendar-day-tooltip-when{display:block;font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.calendar-day-tooltip-title{display:block;font-size:.75rem;color:var(--text)}.calendar-day:not(.is-blank){background:var(--day-bg);border:1px solid var(--border)}.calendar-day.is-today{background:var(--accent-bg);border:2px solid var(--brand);box-shadow:inset 0 0 0 1px var(--accent-text)}.calendar-day.is-today .calendar-day-number{color:var(--accent-text);font-weight:700}.calendar-day-number{font-size:.78rem;color:var(--text-muted)}.calendar-day-dots{display:flex;justify-content:center;gap:2px;margin-top:3px;flex-wrap:wrap}.calendar-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.calendar-dot-more{font-size:.6rem;color:var(--text-muted)}.calendar-legend{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.75rem;font-size:.72rem;color:var(--text-muted)}.calendar-legend .calendar-dot{margin-right:3px;vertical-align:middle}.calendar-entries{background:var(--brand);border-radius:12px;padding:.9rem;display:flex;flex-direction:column;gap:.7rem;max-height:560px;overflow-y:auto}.calendar-entry{border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.6rem}.calendar-entry:last-child{border-bottom:none;padding-bottom:0}.calendar-entry-when{color:var(--brand-text);opacity:.85;font-size:.72rem;font-family:var(--font-mono)}.calendar-entry-title{color:var(--brand-text);font-size:.85rem;font-weight:600;margin:.1rem 0 .35rem}.calendar-entry-meta{display:flex;flex-wrap:wrap;gap:.3rem}.calendar-chip{display:inline-flex;align-items:center;background:#ffffff2e;color:var(--brand-text);border-radius:6px;padding:.1rem .45rem;font-size:.68rem}.calendar-chip-type{background:#ffffff4d;font-weight:600}a.calendar-chip-link{text-decoration:none;cursor:pointer}a.calendar-chip-link:hover,a.calendar-chip-link:focus-visible{background:#ffffff52;text-decoration:underline}.calendar-chip-stale{background:transparent;border:1px dashed rgba(255,255,255,.5)}.calendar-entry-live{border-left:3px solid #e53935;padding-left:.5rem;margin-left:-.5rem}.calendar-entry-today{position:relative;padding:.45rem .5rem .65rem;margin:-.45rem -.5rem -.05rem;border:1px solid rgba(255,255,255,.75);border-left:4px solid var(--brand-text);border-radius:7px;background:#ffffff1f}.calendar-entry-past{opacity:.45}.calendar-entry-today.calendar-entry-past{opacity:.58}.calendar-chip-live{background:#e53935;color:#fff;font-weight:600;animation:calendar-live-pulse 2s ease-in-out infinite}.calendar-chip-live-dot{display:inline-block;width:.4rem;height:.4rem;border-radius:50%;background:#e53935;margin-right:.3rem;animation:calendar-live-pulse 2s ease-in-out infinite}@keyframes calendar-live-pulse{0%,to{opacity:1}50%{opacity:.5}}.calendar-entries-empty{color:var(--brand-text);opacity:.85;font-size:.85rem}.empty-state{color:var(--text-muted);padding:1rem}footer{font-size:.78rem;color:var(--text-muted);margin-top:2rem;line-height:1.5}footer a{color:var(--text-muted)}
