:root{--paper:#ffffff;--paper-2:#eef1f5;--card:#ffffff;--ink:#141a2c;--ink-soft:#5b6472;--line:#e2e6ee;--rust:#c8102e;--rust-fill:#c8102e;--rust-ink:#b00c26;--slate:#1b2a4a;--focus:#2563eb;--field:#ffffff;--chip-face:#ffffff;--on-accent:#ffffff;--on-slate:#ffffff;--header-bg:rgba(255,255,255,0.8);--shadow-soft:rgba(15,23,42,0.04);--shadow-lift:rgba(15,23,42,0.1);--shadow-menu:rgba(15,23,42,0.14);--radius:10px;--maxw:960px;--ease:0.15s ease;color-scheme:light}[data-theme=dark]{--paper:#0e1526;--paper-2:#0a0f1c;--card:#1a2236;--ink:#e8ecf3;--ink-soft:#9aa4b5;--line:#2a344b;--rust:#ff7a88;--rust-fill:#cf1330;--rust-ink:#f79aa6;--slate:#a9b6cc;--focus:#5b9dff;--field:#141b2c;--chip-face:#202a40;--on-slate:#0e1526;--header-bg:rgba(14,21,38,0.7);--shadow-soft:rgba(0,0,0,0.4);--shadow-lift:rgba(0,0,0,0.55);--shadow-menu:rgba(0,0,0,0.6);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0e1526;--paper-2:#0a0f1c;--card:#1a2236;--ink:#e8ecf3;--ink-soft:#9aa4b5;--line:#2a344b;--rust:#ff7a88;--rust-fill:#cf1330;--rust-ink:#f79aa6;--slate:#a9b6cc;--focus:#5b9dff;--field:#141b2c;--chip-face:#202a40;--on-slate:#0e1526;--header-bg:rgba(14,21,38,0.7);--shadow-soft:rgba(0,0,0,0.4);--shadow-lift:rgba(0,0,0,0.55);--shadow-menu:rgba(0,0,0,0.6);color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:linear-gradient(180deg,var(--paper) 0,var(--paper-2) 100%) fixed;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.brand,.event-title,.eyebrow,.group-heading,.hero-title,.page-title{font-family:var(--font-display,inherit),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}a{color:var(--rust-ink);text-underline-offset:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:var(--header-bg)}.site-header .container{display:flex;align-items:baseline;gap:12px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}.brand{font-weight:800;letter-spacing:-.02em;font-size:20px;color:var(--ink);text-decoration:none}.brand-mark{color:var(--rust)}.site-header nav{margin-left:auto;display:flex;gap:18px;font-size:14px}.site-header nav a{color:var(--ink-soft);text-decoration:none}main{padding:34px 0 64px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--rust);margin:0 0 6px}.page-title{font-size:clamp(28px,5vw,42px);letter-spacing:-.03em;line-height:1.05;margin:0 0 8px}.lede{color:var(--ink-soft);max-width:60ch;margin:0 0 8px}.json-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none;color:var(--slate);border:1px solid var(--line);padding:6px 10px;border-radius:999px}.filters,.json-link{background:var(--card)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 18px;padding:14px;border:1px solid var(--line);border-radius:var(--radius)}.filters input,.filters select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}.filters input{flex:1 1 200px}.filters button{font:inherit;font-weight:600;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink);cursor:pointer}.result-count{color:var(--ink-soft);font-size:14px;margin:0 0 14px}.event-grid{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}@media (min-width:640px){.event-grid{grid-template-columns:1fr 1fr}}.event-card{position:relative;display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 1px 0 var(--shadow-soft);transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}.event-card:hover{transform:translateY(-2px);border-color:var(--rust);box-shadow:0 6px 16px var(--shadow-lift)}.date-chip{flex:0 0 auto;width:64px;text-align:center;border:1px solid var(--rust);border-radius:8px;overflow:hidden;background:var(--chip-face);align-self:flex-start}.date-chip .m{background:var(--rust-fill);color:var(--on-accent);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:3px 0}.date-chip .d,.date-chip .m{display:block;font-weight:800}.date-chip .d{font-size:26px;line-height:1.2;padding:2px 0 4px}.date-chip.tba .m{background:var(--slate);color:var(--on-slate)}.event-body{min-width:0}.event-title{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.event-meta{color:var(--ink-soft);font-size:14px;margin:0}.event-meta .venue{color:var(--ink);font-weight:600}.event-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-top:8px}.badge.review{color:var(--rust-ink);border-color:var(--rust)}.event-title-link{color:inherit;text-decoration:none}.event-title-link:hover{text-decoration:underline;-webkit-text-decoration-color:var(--rust);text-decoration-color:var(--rust)}.event-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.action-btn{font:inherit;font-size:13px;font-weight:700;text-decoration:none;color:var(--slate);border:1px solid var(--line);background:var(--card);padding:5px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:border-color var(--ease),transform .08s ease}.action-btn:active{transform:scale(.97)}.action-btn:hover{border-color:var(--slate)}.cal-menu{position:relative;display:inline-block}.cal-menu>summary{list-style:none}.cal-menu>summary::-webkit-details-marker{display:none}.cal-menu-items{position:absolute;left:0;z-index:10;margin-top:6px;animation:menu-in .12s ease;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px var(--shadow-menu);min-width:160px}.action-note{font-size:13px;font-weight:700;color:var(--rust-ink)}.event-detail-head{display:flex;gap:16px;align-items:flex-start;margin-top:6px}.event-detail{display:grid;grid-template-columns:max-content 1fr;grid-gap:8px 18px;gap:8px 18px;margin:20px 0;max-width:var(--maxw)}.event-detail dt{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding-top:2px}.event-detail dd{margin:0;color:var(--ink)}.banner{animation:banner-in .25s ease;padding:10px 14px;border:1px solid var(--rust);border-left-width:4px;border-radius:8px;color:var(--ink);font-weight:600}.banner,.subscribe{margin:18px 0;background:var(--card)}.subscribe{padding:14px;border:1px solid var(--line);border-radius:var(--radius)}.subscribe-label{display:block;font-weight:700;margin-bottom:8px}.subscribe-row{display:flex;gap:10px;flex-wrap:wrap}.subscribe-row input{font:inherit;flex:1 1 220px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink)}.subscribe-row button{font:inherit;font-weight:700;padding:8px 16px;border:1px solid var(--rust-fill);border-radius:8px;background:var(--rust-fill);color:var(--on-accent);cursor:pointer}.subscribe-row button:disabled{opacity:.6;cursor:default}.subscribe-done{color:var(--ink);font-weight:600}.subscribe-error{color:var(--rust-ink);font-size:13px;margin:8px 0 0}.source-list{list-style:none;margin:18px 0 0;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);display:grid;grid-gap:6px;gap:6px;font-size:14px}.source-list a{font-weight:600;word-break:break-all}.source-list .sub{color:var(--ink-soft);font-size:13px}.empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:32px;text-align:center;color:var(--ink-soft)}.card-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px}.card-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:var(--ink);transition:border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.card-list a:hover{border-color:var(--rust);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-lift)}.card-list .sub,.group-heading{color:var(--ink-soft);font-size:13px}.group-heading{margin:26px 0 10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:6px}.hero{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px clamp(20px,5vw,40px);margin-bottom:8px}.hero-title{font-size:clamp(30px,6vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:4px 0 12px;max-width:20ch}.hero-sub{color:var(--ink-soft);max-width:62ch;font-size:clamp(15px,2.2vw,18px);margin:0 0 18px}.how{list-style:none;display:grid;grid-gap:8px;gap:8px;padding:0;margin:0 0 20px}@media (min-width:640px){.how{grid-template-columns:repeat(3,1fr);gap:12px}}.how li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink)}.how-n{flex:0 0 auto;width:22px;height:22px;display:inline-grid;place-items:center;background:var(--rust-fill);color:var(--on-accent);border-radius:999px;font-size:12px;font-weight:800}.hero-cta{display:flex;flex-wrap:wrap;gap:10px}.btn{display:inline-flex;align-items:center;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px;text-decoration:none;border:1px solid transparent;transition:filter var(--ease),border-color var(--ease),transform .08s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--rust-fill);color:var(--on-accent);border-color:var(--rust-fill)}.btn-primary:hover{filter:brightness(.92)}.btn-ghost{background:transparent;color:var(--slate);border-color:var(--line)}.btn-ghost:hover{border-color:var(--slate)}.region-grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (min-width:560px){.region-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:820px){.region-grid{grid-template-columns:repeat(4,1fr)}}.region-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;height:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 12px;text-decoration:none;color:var(--ink);transition:border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.region-card:hover{border-color:var(--rust);transform:translateY(-2px);box-shadow:0 6px 16px var(--shadow-lift)}.state-shape{height:74px;width:100%;display:grid;place-items:center;color:var(--slate);transition:color var(--ease)}.region-card:hover .state-shape{color:var(--rust)}.state-svg{height:100%;width:100%;display:block}.region-name{font-size:15px;font-weight:700}.state-fallback{display:inline-grid;place-items:center;height:74px;font-size:22px;font-weight:800;color:var(--slate)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--paper-2) 25%,var(--card) 50%,var(--paper-2) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-card{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}.theme-toggle{font:inherit;font-size:16px;line-height:1;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:5px 9px;cursor:pointer;transition:border-color var(--ease)}.theme-toggle:hover{border-color:var(--slate)}.event-card .event-title-link:after{content:"";position:absolute;inset:0}.event-actions,.event-body .badge{position:relative;z-index:1}.source-list .source-error{color:var(--rust-ink);font-size:13px}.source-list .recheck-btn{font:inherit;font-size:12px;font-weight:700;color:var(--slate);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:2px 10px;cursor:pointer;transition:border-color var(--ease)}.source-list .recheck-btn:hover{border-color:var(--slate)}.source-list .recheck-btn:disabled{opacity:.6;cursor:default}.empty .clear-filters{margin-top:10px}.past-section{margin-top:22px}.show-past{display:flex;align-items:center;gap:12px;width:100%;font:inherit;font-size:13px;font-weight:700;color:var(--ink-soft);background:transparent;border:0;padding:6px 0;cursor:pointer;transition:color var(--ease)}.show-past:after,.show-past:before{content:"";flex:1 1;height:1px;background:var(--line)}.show-past:hover{color:var(--rust)}.past-heading{margin:18px 0 12px;color:var(--ink-soft)}.past-grid{animation:banner-in .25s ease}@media (max-width:560px){.event-detail{grid-template-columns:1fr;gap:2px 0}.event-detail dt{padding-top:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_5afde0{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_5afde0{--font-display:"Archivo","Archivo Fallback"}