:root{--bg-primary:#111;--bg-secondary:#1a1a1a;--bg-card:#161616;--bg-card-hover:#1e1e1e;--text-primary:#e5e5e5;--text-secondary:#a3a3a3;--text-muted:#737373;--accent-primary:#fff;--accent-green:#4ade80;--sport-hockey:#ff5252;--sport-pickleball:#2dd4bf;--sport-basketball:#fb923c;--sport-badminton:#38bdf8;--sport-volleyball:#a78bfa;--sport-table-tennis:#f472b6;--sport-skating:#818cf8;--sport-swimming:#22d3ee;--sport-fitness:#fbbf24;--sport-archery:#a3e635;--sport-arts:#e879f9;--sport-kids:#fcd34d;--sport-other:#94a3b8;--border-color:#262626;--border-color-hover:#404040;--radius-sm:0px;--radius-md:2px;--radius-lg:4px;--radius-full:9999px;--transition-fast:.15s ease;--transition-base:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(#262626 1px,#0000 1px);background-size:20px 20px;background-attachment:fixed;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:var(--accent-primary);transition:all var(--transition-fast);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.page{padding-bottom:5rem}.loading-block{text-align:center;color:var(--text-muted);padding-top:5rem}.navbar{z-index:100;background:var(--bg-primary);border-bottom:1px solid var(--border-color);align-items:center;height:80px;display:flex;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex}.navbar-brand{letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:700;display:flex}.hero{text-align:left;border-bottom:1px solid var(--border-color);margin-bottom:3rem;padding:6rem 0 4rem}.hero-simple{margin-bottom:2rem;padding-bottom:2.5rem}.hero h1{letter-spacing:-.02em;margin-bottom:1rem;font-size:4rem;font-weight:300;line-height:1.1}.hero h1 strong{font-weight:700}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:2.5rem;font-size:1.1rem;font-weight:400}.hero-stats{gap:3rem;display:inline-flex}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.hero-timestamp,.hero-message{color:var(--text-muted);font-size:.92rem}.hero-message{margin-top:.75rem}.trust-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.trust-card{background:var(--bg-card);border:1px solid var(--border-color);padding:1rem 1.1rem}.trust-kicker{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.65rem;font-size:.72rem}.trust-copy{color:var(--text-secondary);font-size:.92rem}.inline-link{color:var(--text-primary);border-bottom:1px solid #e5e5e566}.inline-link:hover{border-bottom-color:var(--text-primary)}.hero-stat{border-right:1px solid var(--border-color);padding-right:3rem}.hero-stat:last-child{border-right:none}.hero-stat-number{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1}.hero-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem;font-size:.75rem;font-weight:500}.filter-container{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.simple-filter-panel{background:var(--bg-card);border:1px solid var(--border-color);margin-bottom:2rem;padding:1.1rem}.simple-municipality-row,.simple-date-row{flex-direction:column;gap:.5rem;margin-bottom:1.1rem;display:flex}.municipality-picker{flex-wrap:wrap;gap:.65rem;display:flex}.municipality-pill{border:1px solid var(--border-color);color:var(--text-secondary);letter-spacing:.02em;transition:all var(--transition-fast);background:linear-gradient(#171717 0%,#121212 100%);padding:.8rem 1.1rem;font-size:.95rem;font-weight:600}.municipality-pill:hover,.municipality-pill.active{color:var(--text-primary);border-color:var(--text-primary);background:linear-gradient(#232323 0%,#181818 100%)}.simple-filter-grid{grid-template-columns:minmax(0,1fr);gap:1rem;margin-bottom:1.1rem;display:grid}.simple-filter-field{flex-direction:column;gap:.4rem;display:flex}.simple-activity-row{flex-direction:column;gap:.5rem;display:flex}.full-width-scroller{width:100%}.simple-results-header{margin-bottom:1rem}.emoji-chip{gap:.45rem}.emoji-chip-count{opacity:.7;font-size:.78rem}.sport-chip svg,.emoji-chip svg{flex:none}.filter-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1rem;display:grid}.filter-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.horizontal-scroller{scrollbar-width:none;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.horizontal-scroller::-webkit-scrollbar{display:none}.chip{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.chip:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--text-secondary)}.chip.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.chip-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.filter-input,.filter-select{background:var(--bg-card);width:100%;color:var(--text-primary);border:1px solid var(--border-color);padding:.9rem 1rem;font-family:inherit;font-size:.95rem}.filter-input::placeholder{color:var(--text-muted)}.status-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem;display:grid}.status-strip-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.status-card,.source-card,.alert-item{background:var(--bg-card);border:1px solid var(--border-color);padding:1.1rem 1.2rem}.status-kicker{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;font-size:.72rem}.status-number{margin-bottom:.5rem;font-size:2rem;font-weight:700;line-height:1}.status-copy{color:var(--text-secondary);font-size:.92rem}.alert-panel{margin-bottom:2.5rem}.alert-list{gap:.75rem;display:grid}.alert-item{border-left:3px solid var(--text-secondary)}.alert-warning{border-left-color:#fbbf24}.alert-error{border-left-color:#ff5252}.alert-title{align-items:baseline;gap:.5rem;margin-bottom:.35rem;font-weight:600;display:flex}.alert-title span,.alert-copy{color:var(--text-secondary);font-size:.9rem}.events-list{flex-direction:column;display:flex}.event-card{background:var(--bg-primary);border:1px solid var(--border-color);transition:all var(--transition-base);content-visibility:auto;contain-intrinsic-size:112px;border-bottom:none;align-items:center;gap:2rem;padding:1.5rem;display:flex}.event-card:last-child{border-bottom:1px solid var(--border-color)}.event-card:hover{background:var(--bg-secondary)}.event-time{min-width:120px}.event-time-start{color:var(--text-primary);font-size:1.5rem;font-weight:300;line-height:1.1}.event-time-am{font-size:.85rem;font-weight:500}.event-time-end{color:var(--text-secondary);margin-top:.2rem;font-size:.8rem}.event-info{flex:1}.event-title{margin-bottom:.5rem;font-size:1.25rem;font-weight:500}.event-meta{color:var(--text-secondary);flex-wrap:wrap;gap:1.5rem;font-size:.85rem;display:flex}.event-meta span{align-items:center;gap:.5rem;display:flex}.event-actions{align-items:center;gap:2rem;display:flex}.event-sport-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--badge-color);align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.event-book-link{text-transform:uppercase;letter-spacing:.05em;color:var(--bg-primary);background:var(--text-primary);border:1px solid var(--text-primary);padding:.5rem 1.5rem;font-size:.85rem;font-weight:500}.event-book-link:hover{color:var(--text-primary);background:0 0}.day-group{margin-top:3rem}.day-group-header{border-bottom:2px solid var(--text-primary);align-items:baseline;gap:1rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.day-group-date{text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem;font-weight:600}.day-count{color:var(--text-muted);border:1px solid var(--border-color);padding:.2rem .6rem;font-size:.78rem}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 0}.show-more-row{justify-content:center;margin:2rem 0 0;display:flex}.show-more-button{border:1px solid var(--text-primary);background:var(--text-primary);width:min(100%,360px);min-height:48px;color:var(--bg-primary);text-transform:uppercase;letter-spacing:.05em;padding:.85rem 1.2rem;font-size:.85rem;font-weight:700}.show-more-button:hover{color:var(--text-primary);background:0 0}.closure-notice{border:1px solid var(--border-color-hover);border-left:3px solid var(--sport-fitness);background:var(--bg-card);margin:1.5rem 0 2rem;padding:1.1rem 1.25rem}.closure-notice-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--sport-fitness);margin-bottom:.6rem;font-size:.78rem;font-weight:700}.closure-notice-copy{color:var(--text-secondary);margin-bottom:.6rem;line-height:1.55}.closure-notice-copy strong{color:var(--text-primary)}.closure-alternatives{margin:0 0 2.5rem}.closure-alternatives-group+.closure-alternatives-group{margin-top:2rem}.closure-alternatives-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.closure-alternative{border:1px solid var(--border-color);background:var(--bg-card);height:100%;color:var(--text-primary);flex-direction:column;gap:.3rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .15s;display:flex}.closure-alternative:hover,.closure-alternative:focus-visible{border-color:var(--border-color-hover)}.closure-alternative-name{font-weight:700}.closure-alternative-meta,.closure-alternative-next{color:var(--text-secondary);font-size:.88rem}.footer-popular{flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;margin-bottom:1.25rem;font-size:.9rem;display:flex}.footer-popular-label{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;flex-basis:100%;font-size:.75rem}.venue-address{color:var(--text-muted);margin-top:-.25rem;font-size:.9rem}.schedule-guide{border:1px solid var(--border-color);background:var(--bg-card);margin:0 0 2rem;padding:1.25rem}.schedule-guide-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem 1.5rem;margin-top:1rem;display:grid}.schedule-guide-item h3{margin-bottom:.35rem;font-size:1rem;line-height:1.35}.schedule-guide-item p{color:var(--text-secondary);font-size:.9rem;line-height:1.55}.closure-inline-note{border-left:3px solid var(--sport-fitness);color:var(--text-secondary);margin:.9rem 0 1.25rem;padding-left:.75rem;font-size:.9rem}.closure-inline-note strong{color:var(--text-primary)}.empty-state-mark{letter-spacing:.14em;text-transform:uppercase;margin-bottom:.75rem;font-size:.78rem;display:block}.source-grid{gap:.75rem;display:grid}.source-title{margin-bottom:.25rem;font-size:1.05rem;font-weight:700}.source-status{border:1px solid var(--border-color);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;min-height:32px;padding:.35rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.source-status-active{border-color:var(--accent-green);color:var(--accent-green)}.source-status-partial{color:#fbbf24;border-color:#fbbf24}.source-status-planned{border-color:var(--border-color-hover)}.camp-source-tags,.camp-source-actions{flex-wrap:wrap;gap:.5rem;display:flex}.camp-source-tags{margin:.85rem 0 1rem}.camp-source-tags span{border:1px solid var(--border-color);color:var(--text-secondary);padding:.25rem .5rem;font-size:.75rem}.camp-source-actions{color:var(--text-muted);align-items:center;font-size:.85rem}.municipality-section{margin-bottom:2rem}.section-header-row{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.section-title{letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.section-copy{color:var(--text-secondary);margin-top:.35rem;font-size:.95rem}.section-link{color:var(--text-primary);border-bottom:1px solid var(--text-primary);font-size:.9rem}.municipality-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.municipality-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:left;color:var(--text-primary);transition:all var(--transition-fast);padding:1rem}.municipality-card:hover,.municipality-card.active{border-color:var(--text-primary);background:var(--bg-card-hover)}.municipality-card-name{margin-bottom:.35rem;font-weight:600}.municipality-card-meta{color:var(--text-secondary);font-size:.88rem}.browse-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.browse-layout-tight{grid-template-columns:280px minmax(0,1fr)}.browse-sidebar{gap:1rem;display:grid;position:sticky;top:96px}.browse-main{min-width:0}.sidebar-card,.results-header-card,.venue-card{background:var(--bg-card);border:1px solid var(--border-color);padding:1rem 1.1rem}.venue-list{gap:.45rem;max-height:520px;display:grid;overflow:auto}.venue-list-item{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-secondary);text-align:left;justify-content:space-between;gap:1rem;padding:.75rem .85rem;display:flex}.venue-list-item:hover,.venue-list-item.active{color:var(--text-primary);border-color:var(--text-primary)}.sidebar-links{gap:.5rem;display:grid}.sidebar-link{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);justify-content:space-between;gap:1rem;padding:.65rem .75rem;display:flex}.sidebar-link.static{color:var(--text-primary)}.results-header-card{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.venue-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.venue-card{transition:all var(--transition-fast)}.venue-card:hover{border-color:var(--text-primary);background:var(--bg-card-hover)}.venue-card-municipality{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.72rem}.venue-card-name{color:var(--text-primary);margin-bottom:.45rem;font-size:1.05rem;font-weight:600}.venue-card-closure{letter-spacing:.08em;text-transform:uppercase;color:var(--sport-fitness);margin-bottom:.45rem;font-size:.78rem;font-weight:700}.venue-card-count,.venue-card-next{color:var(--text-secondary);font-size:.9rem}.venue-card-next{margin-top:.6rem}.event-inline-link{color:var(--text-primary);border-bottom:1px solid #0000}.event-inline-link:hover{border-bottom-color:var(--text-primary)}.source-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.source-card-name{font-size:1rem;font-weight:600}.source-card-meta{color:var(--text-secondary);flex-wrap:wrap;gap:.8rem;margin-bottom:.75rem;font-size:.86rem;display:flex}.source-card-copy{color:var(--text-muted);font-size:.88rem}.freshness-pill{border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;padding:.25rem .55rem;font-size:.72rem;display:inline-flex}.freshness-fresh{color:#4ade80;border-color:#4ade8066}.freshness-warning,.freshness-running{color:#fbbf24;border-color:#fbbf2466}.freshness-stale{color:#fb923c;border-color:#fb923c66}.freshness-error{color:#ff5252;border-color:#ff525266}.footer-trust-links{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:1rem 1.5rem;font-size:.88rem;display:flex}@media (max-width:768px){body{background-size:28px 28px;background-attachment:scroll}.container{padding:0 .85rem}.page{padding-bottom:3rem}.navbar{height:58px}.navbar-inner{padding:0 .85rem}.navbar-brand{font-size:1.05rem}.navbar-brand svg{width:18px;height:18px}.navbar-inner>div{gap:.65rem!important}.navbar-inner>div a{font-size:.78rem!important}.hero,.hero-simple{margin-bottom:1rem;padding:1.35rem 0 1rem}.hero h1{margin-bottom:.55rem;font-size:1.75rem;line-height:1.15}.hero-subtitle{margin-bottom:1rem;font-size:.94rem;line-height:1.45}.hero-actions{margin-top:.75rem}.hero-message{display:none}.trust-strip{border-top:1px solid var(--border-color);gap:0;margin-top:.9rem}.trust-card{border:0;border-bottom:1px solid var(--border-color);background:0 0;padding:.7rem 0;display:none}.trust-card:nth-child(3),.trust-card:nth-child(4){display:block}.trust-kicker{margin-bottom:.25rem}.trust-copy{font-size:.84rem;line-height:1.35}.simple-filter-panel{margin-bottom:1.25rem;padding:.85rem}.simple-municipality-row,.simple-date-row,.simple-filter-grid{margin-bottom:.85rem}.municipality-picker{scrollbar-width:none;flex-wrap:nowrap;gap:.5rem;padding-bottom:.35rem;overflow-x:auto}.municipality-picker::-webkit-scrollbar{display:none}.municipality-pill,.chip{min-height:42px;padding:.62rem .8rem;font-size:.78rem}.filter-select{min-height:46px;padding:.72rem .8rem;font-size:.92rem}.horizontal-scroller{margin-left:-.85rem;margin-right:-.85rem;padding-left:.85rem;padding-right:.85rem}.simple-results-header{margin-bottom:.75rem}.section-title{font-size:1.15rem;line-height:1.25}.section-copy{font-size:.86rem}.day-group{margin-top:1.4rem}.day-group-header{z-index:20;background:var(--bg-primary);border-bottom-width:1px;margin-bottom:0;padding:.65rem 0;position:sticky;top:58px}.day-group-date{font-size:.92rem}.day-count{font-size:.72rem}.hero-stats{gap:1.5rem}.hero-stat{padding-right:1.5rem}.simple-filter-grid,.browse-layout,.browse-layout-tight{grid-template-columns:1fr}.browse-sidebar{position:static}.section-header-row,.results-header-card{flex-direction:column;align-items:flex-start}.filter-grid,.filter-grid-compact,.status-strip,.status-strip-wide,.trust-strip{grid-template-columns:1fr}.event-card{grid-template-columns:74px minmax(0,1fr);align-items:start;gap:.85rem;padding:.95rem .85rem;display:grid}.event-time{border-bottom:0;width:100%;min-width:0;padding-bottom:0}.event-time-start{font-size:1.05rem;font-weight:600}.event-time-am,.event-time-end{font-size:.72rem}.event-title{margin-bottom:.4rem;font-size:.98rem;line-height:1.25}.event-meta{gap:.35rem .8rem;font-size:.76rem;line-height:1.35}.event-actions{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:.75rem;width:100%;margin-top:.15rem}.event-book-link{margin-left:auto;padding:.45rem .95rem}.event-sport-badge{font-size:.72rem}.show-more-row{margin-top:1.25rem}}.event-card-live{border-color:var(--sport-fitness)}.event-live-badge{background:var(--sport-fitness);color:var(--bg-primary);letter-spacing:.06em;text-transform:uppercase;vertical-align:.12em;border-radius:999px;margin-right:.45rem;padding:.05rem .4rem;font-size:.7rem;font-weight:700;display:inline-block}.sticky-filter-row{z-index:30;background:var(--bg-primary);padding:.5rem 0;position:sticky;top:80px}.page:has(.sticky-filter-row) .day-group-header{position:static}a.chip{text-decoration:none}.venue-hero{margin-bottom:1.25rem;padding:2.5rem 0 1.25rem}.venue-aka{color:var(--text-secondary);margin-bottom:.35rem}a.venue-address{color:var(--text-muted);text-decoration:underline;-webkit-text-decoration-color:var(--border-color-hover);text-decoration-color:var(--border-color-hover);text-underline-offset:3px;display:inline-block}.venue-about{border-top:1px solid var(--border-color);margin-top:3rem;padding-top:2rem}.venue-about .section-copy{max-width:640px;margin-bottom:1.25rem}.trust-strip-footer{margin-top:3rem}@media (max-width:768px){.sticky-filter-row{border-bottom:1px solid var(--border-color);margin:0 -.85rem;padding:.45rem .85rem;top:58px}.sticky-filter-row .chip-group-label{display:none}.hero-compact h1{font-size:1.5rem}.hero-compact .hero-subtitle{margin-bottom:.5rem}.venue-hero{margin-bottom:.5rem;padding:1rem 0 .75rem}.venue-hero h1{margin-bottom:.3rem;font-size:1.6rem}.venue-aka,a.venue-address{font-size:.88rem}.trust-strip-footer .trust-card{display:block}}.venue-activity-links{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0;display:flex}.venue-featured-link{margin-top:.5rem;margin-right:1rem;font-weight:600;display:inline-block}
