:root{color-scheme:light dark;--font-head: "Fraunces Variable", "Fraunces Fallback", Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: .72rem;--text-sm: .84rem;--text-base: 1rem;--text-md: 1.1rem;--text-lg: 1.3rem;--text-xl: 1.5rem;--text-2xl: clamp(1.75rem, 4vw, 2.5rem);--text-3xl: clamp(2.2rem, 6vw, 3.5rem);--leading-tight: 1.12;--leading: 1.6;--tracking-caps: .06em;--tracking-tight: -.02em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3.5rem;--radius-sm: 8px;--radius: 12px;--radius-pill: 999px;--border-width: 1px;--line: light-dark(#e4ddd0, #363029);--border: var(--border-width) solid var(--line);--wrap: 68rem;--shadow: 0 8px 28px rgba(0, 0, 0, .16);--bg: light-dark(#faf7f2, #1a1816);--surface: light-dark(#fffdfa, #232019);--surface-2: light-dark(#f3eee6, #2b271f);--ink: light-dark(#211d18, #f4ede1);--muted: light-dark(#6f6759, #a89f8d);--line-strong: light-dark(#d6ccbb, #4a4237);--accent: light-dark(#b4690e, #e0a44e);--accent-hover: light-dark(#96560b, #f0b869);--accent-soft: light-dark(#f6e7cf, #3a2e1b);--accent-contrast: light-dark(#fffaf2, #1a1816);--badge-bg: light-dark(#efe9de, #2c281f);--badge-ink: light-dark(#5c5346, #cfc6b4);--badge-fee-bg: light-dark(#e3efe6, #1f2e24);--badge-fee-ink: light-dark(#2f6b47, #86c9a2);--badge-date-bg: light-dark(#f6e7cf, #3a2e1b);--badge-date-ink: light-dark(#8a4b09, #e6b877);--badge-hours-bg: light-dark(#efeae0, #2b2820);--badge-hours-ink: light-dark(#5c5346, #c3baa8)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff) format("woff")}@font-face{font-family:Fraunces Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Fraunces Fallback;src:local("Georgia"),local("Times New Roman"),local("serif");size-adjust:102%;ascent-override:96%;descent-override:26%;line-gap-override:0%}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-head);font-weight:560;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--ink)}h2{font-size:var(--text-xl);font-variant-caps:small-caps;letter-spacing:.03em;margin:0 0 var(--space-3)}a{color:var(--accent);text-underline-offset:.15em;border-radius:3px}a:hover{color:var(--accent-hover)}img{max-width:100%}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-header{position:sticky;top:0;z-index:20;border-bottom:var(--border);background:var(--bg)}.site-header .wrap,main .wrap,.site-footer .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--space-4)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:4.25rem}.brand{font-family:var(--font-head);font-weight:600;font-size:1.25rem;letter-spacing:var(--tracking-tight);text-decoration:none;color:var(--ink)}.header-actions{display:flex;align-items:center;gap:var(--space-5)}.nav{display:flex;gap:var(--space-5)}.nav a{text-decoration:none;color:var(--muted);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em}.nav a:hover{color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);cursor:pointer}.theme-toggle:hover{color:var(--accent);border-color:var(--line-strong)}.theme-toggle svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-moon{display:block}:root:not([data-theme=light]) .theme-toggle .icon-sun{display:none}}main{min-height:60vh;padding-bottom:var(--space-8)}.hero{padding:var(--space-8) 0 var(--space-6)}.hero .eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--accent);margin:0 0 var(--space-4)}.hero h1{font-size:var(--text-3xl);margin:0 0 var(--space-4);max-width:18ch}.hero p.lede{font-size:var(--text-lg);color:var(--muted);max-width:40rem;margin:0 0 var(--space-6)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.button{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--accent);color:var(--accent-contrast);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-decoration:none;padding:.7rem 1.35rem;border:var(--border);border-color:transparent;border-radius:var(--radius-pill)}.button:hover{background:var(--accent-hover);color:var(--accent-contrast)}.page-head{padding:var(--space-7) 0 var(--space-4)}.page-head h1{font-size:var(--text-2xl);margin:0 0 var(--space-3)}.page-head p{color:var(--muted);max-width:44rem;margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:var(--space-4);margin:var(--space-5) 0;padding:0;list-style:none}.card{display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface);border:var(--border);border-radius:var(--radius);padding:var(--space-5);transition:border-color .15s ease}.card:hover{border-color:var(--line-strong)}a.card{color:inherit;text-decoration:none}.card h3{margin:0;font-size:var(--text-md);font-weight:560;line-height:1.3;letter-spacing:0}.badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.badge{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:var(--radius-pill);background:var(--badge-bg);color:var(--badge-ink);white-space:nowrap}.badge.fee{background:var(--badge-fee-bg);color:var(--badge-fee-ink)}.badge.date{background:var(--badge-date-bg);color:var(--badge-date-ink)}.badge.pass{background:var(--accent);color:var(--accent-contrast)}.badge.hours{background:var(--badge-hours-bg);color:var(--badge-hours-ink)}.facts{margin:0;color:var(--muted);font-size:var(--text-sm)}.facts dt{font-weight:600;color:var(--ink);display:inline}.facts dd{display:inline;margin:0 0 0 .35rem}.facts .row{margin:0 0 var(--space-1)}.card .desc{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.card .loc{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.01em}.card .organizer{margin:0;color:var(--ink);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.card .instances{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs)}.card .instances a{color:var(--accent);text-decoration:none}.card .instances a:hover{text-decoration:underline}.card .instances-more{font-family:var(--font-mono);font-size:var(--text-xs)}.card .instances-more summary{cursor:pointer;color:var(--accent)}.card .instances-more .instances{margin-top:var(--space-1)}.card.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.card .links{margin-top:auto;padding-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs)}.card .links a{color:var(--accent);text-decoration:none}.card .links a:hover{text-decoration:underline}#map{height:70vh;min-height:24rem;border:var(--border);border-radius:var(--radius);margin:var(--space-5) 0;background:var(--surface-2)}.leaflet-container{font-family:var(--font-body);background:var(--surface-2)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--ink);border:var(--border);box-shadow:var(--shadow)}.leaflet-popup-content-wrapper{border-radius:var(--radius)}.leaflet-popup-content{margin:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:1.4}.leaflet-container a.leaflet-popup-close-button{color:var(--muted)}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--accent)}.leaflet-bar a,.leaflet-bar a:hover{background:var(--surface);color:var(--ink);border-color:var(--line)}.leaflet-container .leaflet-control-attribution{background:var(--surface);color:var(--muted);font-size:.7rem}.leaflet-container .leaflet-control-attribution a{color:var(--muted)}.venue-popup{max-height:22rem;overflow-y:auto}.venue-popup .card{gap:var(--space-2);padding:0;border:0;border-radius:0;background:transparent}.venue-popup .card:hover{border-color:transparent}.map-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0 0;padding:0;list-style:none}.map-legend li{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.swatch{display:inline-block;flex:none;width:.7rem;height:.7rem;border-radius:var(--radius-pill)}.weekend-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-5) 0 0;padding:0;list-style:none}.weekend-nav a{display:inline-block;border:var(--border);border-radius:var(--radius-pill);padding:.35rem .85rem;text-decoration:none;font-size:var(--text-sm);font-weight:500;color:var(--muted)}.weekend-nav a:hover{color:var(--accent);border-color:var(--line-strong)}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));align-items:end;gap:var(--space-4);background:var(--surface);border:var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin:var(--space-5) 0 var(--space-3)}.filter{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.filter select,.filter input[type=date]{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink);padding:.45rem .6rem;border:var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.filter select:hover,.filter input[type=date]:hover{border-color:var(--line-strong)}.filter.checkbox{flex-direction:row;align-items:center;gap:var(--space-2);font-size:var(--text-sm);text-transform:none;letter-spacing:0;color:var(--ink)}.filter.checkbox input{width:1rem;height:1rem;accent-color:var(--accent)}.filter.range{grid-column:1 / -1;gap:var(--space-2)}.range-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.range-chip,.filter-reset{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:.4rem .8rem;border:var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--muted);cursor:pointer}.range-chip:hover,.filter-reset:hover{color:var(--accent);border-color:var(--accent)}.filter-reset{justify-self:start}.range-inputs{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}.range-inputs label{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.result-count{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:var(--space-2) 0 0}.more-wrap{margin:var(--space-4) 0 0}.more-wrap button[hidden]{display:none}.site-footer{border-top:var(--border);padding:var(--space-6) 0;color:var(--muted);font-size:var(--text-sm)}.layer-section{margin:var(--space-6) 0 0}.layer-section h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);margin:0 0 var(--space-1)}.layer-section .count{font-family:var(--font-mono);font-variant-caps:normal;font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;color:var(--muted)}.layer-section .subhead{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-5) 0 0;font-size:var(--text-lg)}.layer-note,.layer-empty{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm)}
