/* Finder navigation and filters: readable first, progressively disclose detail. */
:root{--muted:#52645a;--line:#d8e0d6}
body{font-size:16px;color:#223d35}
button,input,select{font:inherit}
.topbar{height:72px}.private-badge{font-size:13px}.header-actions{gap:18px}
.button{min-height:46px;font-size:14px}.text-button{min-height:44px;font-size:14px;color:#375d4a}
.icon-button{min-width:44px;min-height:44px}
.intro{padding:30px 0 22px!important}.intro h1{font-size:36px;line-height:1.18;letter-spacing:-1px}.intro .eyebrow{font-size:12px;margin-bottom:10px}.intro .lead{font-size:16px;max-width:none;margin-top:10px}
.browse-start{scroll-margin-top:16px}.browse-step{font-size:14px;font-weight:650;color:#526650;margin-bottom:9px}
.view-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:100%;max-width:none;gap:12px;padding:0;margin:0;border:0;background:none}
.view-switch button{justify-content:flex-start;text-align:left;gap:14px;padding:18px 20px;border:1px solid #ccd9c9;border-radius:13px;background:#fff;color:#315748;font-size:16px;min-height:88px;line-height:1.35}
.view-switch button>span{min-width:0}.view-switch strong{font-size:17px;font-weight:700;display:block}.view-switch small{font-size:13px;font-weight:400;display:block;margin-top:5px;color:#586a60}
.view-switch button>.icon{width:27px;height:27px}.view-switch button[aria-pressed=true]{background:#28594c;border-color:#28594c;box-shadow:0 3px 8px #28594c18;color:white}.view-switch button[aria-pressed=true] small{color:#e5f0e7}.view-switch button:hover{border-color:#6d9275}
.mode-intro{margin:24px 0 20px}.mode-intro h2{font-size:25px;letter-spacing:-.5px}.mode-intro p{font-size:15px;color:#52645a;margin-top:6px;max-width:820px;line-height:1.6}
.workspace,.club-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;align-items:start;margin-top:0}
.workspace>*,.club-workspace>*{min-width:0}.filter-host{position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;border:1px solid var(--line);border-radius:13px;background:white;scrollbar-width:thin}
.filter-panel{padding:20px}.filter-heading{display:flex;align-items:flex-start;gap:12px;margin:0 0 20px;flex-wrap:wrap}.filter-heading h2{font-size:17px;line-height:1.4}.filter-heading .text-button{font-size:13px;min-height:32px;justify-content:flex-start}
#filter-form{display:block}.filter-group{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--line)}.filter-group h3{font-size:15px;letter-spacing:0;color:#2b4f3f}
.field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;margin-top:15px}.field select,.field input,.club-filter-form .field select,.club-filter-form input{height:auto;min-height:46px;font-size:15px;line-height:1.5;padding:10px 30px 10px 11px;border:1px solid #bbcbbb;border-radius:8px;color:#29483a;background:#fcfdf9;width:100%}
.field-help,.weekday-field .field-help{font-size:12px;line-height:1.65;color:#596e5c;margin-top:8px}.weekday-field{margin-top:15px}.weekday-field legend{font-size:14px;color:#2c4e3b;margin-bottom:9px}.weekday-options{gap:4px;max-width:none}.weekday-options span{min-height:42px;font-size:13px;border-radius:7px}.opening-option{font-size:13px;gap:10px}.opening-option small{font-size:12px}.opening-option input,.check-field input{width:20px;height:20px;flex-shrink:0;accent-color:var(--green)}
.extra-filters summary{cursor:pointer;min-height:48px;font-size:15px;font-weight:650;line-height:1.5;color:#2a4f3b}.extra-filters summary>span{font-size:12px;font-weight:400;display:block;margin:2px 0 0 17px;color:#60715c}.check-field{font-size:14px;gap:10px;align-items:flex-start}.check-field small{font-size:12px;display:block;margin:4px 0 0}.filter-explanation{font-size:12px;line-height:1.65;color:#5c6e5d;margin-top:20px}
.browse-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 12px}.browse-toolbar>*{min-width:0}.searchbox{flex:1;height:50px;border-color:#bfcfbd;border-radius:10px;padding:0 14px}.searchbox input{font-size:16px}.browse-toolbar .filter-toggle{display:none!important}.filter-toggle .count{background:#ffffff25;color:white;font-size:13px}
#filter-toggle{width:auto;margin:0;min-height:50px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:9px;justify-content:center;font-size:14px;padding:10px 12px}
.view-switch button>[data-icon]>.icon{width:26px;height:26px}
.live-panel>summary{cursor:pointer;min-height:44px;align-content:center;font-size:14px;font-weight:650;line-height:1.6}.live-panel>summary>span{display:block;font-size:12px;font-weight:400;color:#536c4c;margin-left:17px}.live-panel-content{padding-top:14px;margin-top:10px;border-top:1px solid #ccd9c4}.live-panel:has(>.live-panel-content){padding-top:7px;padding-bottom:7px}
.active-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.active-chips:empty{display:none}.active-chips button{min-height:40px;max-width:100%;padding:7px 11px;gap:8px;font-size:13px;line-height:1.4;background:#e7efde;border:1px solid #bdcfad;border-radius:8px;text-align:left;overflow-wrap:anywhere}.active-chips .icon{width:16px;height:16px}.active-chips .clear-all{background:none;border-color:transparent;text-decoration:underline;color:#3f6145}
.category-section{margin:0 0 14px}.category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.category-heading h3{font-size:16px;letter-spacing:0}.category-heading .text-button{font-size:13px;white-space:nowrap}
.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0;overflow:visible;flex-wrap:wrap}.categories button{min-height:58px;font-size:14px;font-weight:600;line-height:1.35;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:11px 12px;text-align:left;border:1px solid #d3dece;background:white;border-radius:10px;color:#34583f;white-space:normal}
.categories button>.icon{width:22px;height:22px}.categories button>span{min-width:0;flex:1}.categories button>small{font-size:12px;font-weight:500;color:#61745e}.categories button>.icon:last-child:not(:first-child){width:15px;height:15px}.categories button[aria-pressed=true]{background:#e6efdd;border:2px solid #527750;padding:10px 11px;color:#264c30;box-shadow:none}.categories button[aria-pressed=true] small{color:#385e37}.categories button:hover{background:#f0f5e9;border-color:#88a77d}
.quick-filters{margin:12px 0 20px;gap:8px}.quick-filters button{min-height:42px;font-size:13px;line-height:1.4;gap:7px;padding:8px 11px;border-radius:8px;color:#3d5d42}.quick-filters svg{width:17px;height:17px}
.results-heading{gap:16px;align-items:center;margin:24px 0 15px}.results-heading h2{font-size:22px;line-height:1.4;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.results-heading h2>#result-title{font:inherit;letter-spacing:inherit;background:none;color:inherit;display:inline;padding:0;height:auto;width:auto;margin:0}.results-heading h2>#result-number{font-size:14px;min-width:30px;height:28px;line-height:1;padding:5px 8px;margin:0}.active-summary{font-size:13px;line-height:1.6;margin:5px 0 0;color:#5b6d5b}.sort-label{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;color:#546b57}.sort-label select{font-size:14px;min-height:42px;max-width:170px;border:1px solid #d4decd;background:white;border-radius:7px;padding:7px;color:#2e513b}
.period-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}.period-shortcuts button{min-height:44px;border:1px solid #c8d5c0;border-radius:8px;background:white;padding:8px 12px;font-size:14px}.period-shortcuts button[aria-pressed=true]{border-color:#28594c;background:#e6efde;color:#204b30;font-weight:650}
.cards{gap:16px}.card{padding:20px;border-radius:13px}.card-type{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:#53704c;margin-bottom:14px}.card-type svg{width:15px;height:15px}.event-card{border-left-width:4px}.event-card .card-type{color:#795725}.event-card .event-date{font-size:15px;color:#284f34;background:#edf3e5;border-radius:7px;padding:9px;line-height:1.5}.event-card .event-date .icon{width:18px;height:18px}.card h3{font-size:20px;line-height:1.35}.card-description{font-size:14px;line-height:1.7;color:#586b59;margin-top:12px}.card-stats{font-size:13px;color:#445e49;gap:9px 15px}.location{font-size:12px;color:#526b4d;line-height:1.5}.opening-card{font-size:12px;line-height:1.6;padding:10px}.opening-card .icon{width:15px;height:15px}.tag{font-size:11px;padding:5px 7px;line-height:1.45}.card-bottom{align-items:flex-start;gap:12px;flex-wrap:wrap}.tag-group{gap:6px}.details-button{font-size:14px;min-height:44px;margin-left:auto;white-space:nowrap}.remember{min-width:44px;min-height:44px}.card-title-wrap{min-width:0}.card-head{gap:10px}.card .activity-icon{width:38px;height:40px}.pagination p{font-size:14px}.pagination .button{font-size:14px;min-height:46px}.results-foot{font-size:13px;line-height:1.7;margin:20px 0;display:block;color:#556d50}.opening-filter-note{font-size:13px;margin-top:12px}.empty p{font-size:15px;line-height:1.6}
.live-panel{margin:0 0 20px;padding:16px 18px;background:#eef3e8;border-color:#ceddc6}.live-heading{gap:12px}.live-heading h3{display:flex;gap:8px;align-items:center;font-size:15px;line-height:1.5;letter-spacing:0}.live-heading .button{min-height:44px;font-size:13px;padding:8px 11px}.live-heading .button .icon{width:17px;height:17px}#live-status{font-size:13px;line-height:1.6;color:#4e664a;margin-top:8px}.live-bottom{gap:12px;font-size:13px;align-items:center;margin-top:10px}.live-bottom .button{min-height:42px;font-size:13px}.live-bottom details{margin-left:auto;font-size:13px}.live-bottom summary{min-height:44px;align-content:center;cursor:pointer}.source-state,.source-state small,#live-sources>p{font-size:12px;line-height:1.7}.source-state{grid-template-columns:minmax(0,1fr) auto}.source-badge{font-size:12px}.live-dot{flex-shrink:0}
.research-note{margin:32px 0 16px;font-size:13px;padding:15px;align-items:center;gap:12px}.research-note button{font-size:13px;min-height:44px}.stale-note{font-size:14px}.footer{font-size:13px;margin-top:24px}.footer p{font-size:12px}.footer button{font-size:13px;min-height:44px}
/* One movable filter panel; desktop sidebar and mobile modal use identical controls. */
#filter-dialog{border:0;padding:0;max-width:560px;width:calc(100% - 32px);max-height:90dvh;overflow:hidden;border-radius:16px;background:#fcfdf9;color:#243e32}
#filter-dialog[open]{display:flex;flex-direction:column;height:min(90dvh,850px)}
#filter-dialog::backdrop{background:#132f28a6;backdrop-filter:blur(2px)}
.filter-dialog-head{display:flex;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid #d6e1cf;flex-shrink:0;background:#fff}.filter-dialog-head h2{font-size:22px;letter-spacing:-.5px}.filter-dialog-head p{font-size:14px;color:#5c6f5a;margin-top:4px}.filter-dialog-head .icon-button{background:#f0f4ea;border:1px solid #d9e2d0;border-radius:8px}
#mobile-filter-body{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}#mobile-filter-body .filter-panel{padding:20px}#mobile-filter-body .filter-heading{margin-bottom:15px;justify-content:space-between}#mobile-filter-body .filter-heading h2{display:none}#mobile-filter-body .filter-heading .text-button{font-size:14px;min-height:44px}#mobile-filter-body .weekday-options span{min-height:46px;font-size:15px}#mobile-filter-body select{font-size:16px;min-height:48px}#mobile-filter-body .field{font-size:15px}#mobile-filter-body .field-help{font-size:13px}#mobile-filter-body .extra-filters summary{font-size:16px}#mobile-filter-body .filter-group h3{font-size:17px}#mobile-filter-body .filter-explanation{font-size:13px}
.filter-dialog-foot{padding:14px 20px max(14px,env(safe-area-inset-bottom));border-top:1px solid #d6e1cf;background:#fff;flex-shrink:0}.filter-dialog-foot .button{width:100%;min-height:50px;font-size:16px;border-radius:10px}
.club-intro{margin:24px 0 20px;gap:22px}.club-intro h2{font-size:25px;line-height:1.25;margin:0 0 8px}.club-intro>div>p:not(.eyebrow){font-size:15px;color:#52645a;line-height:1.6}.club-intro-meta{font-size:13px;gap:8px 18px;margin-top:12px}.club-intro-note{max-width:300px;padding:14px;gap:10px}.club-intro-note p,.club-intro-note strong{font-size:13px;line-height:1.6}.club-intro-note>span>.icon{width:22px;height:22px}
.club-searchbox{flex:1;min-width:0}.club-search-field{margin:0!important}.club-search-field input{min-height:50px;font-size:16px;font-weight:400;padding:10px 12px;border:1px solid #bfcfbd;border-radius:10px;background:white}.club-search-field{font-size:0!important}.club-filter-form{display:block;padding:0;border:0;background:none}.club-filter-form .field{margin-top:15px;font-size:14px}.club-filter-form .text-button{font-size:14px;justify-content:flex-start;margin-top:20px;min-height:44px}
.club-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.club-card{padding:20px}.club-card h3{font-size:21px;line-height:1.35}.club-description{font-size:14px;line-height:1.7;color:#566d55}.club-sport-tag{font-size:12px;padding:5px 7px}.club-appointment,.club-contact-label,.club-admission-note{font-size:13px;line-height:1.6}.club-appointment svg{width:17px;height:17px}.club-detail-button{min-height:46px;font-size:14px}.club-results-heading{margin:20px 0 15px;gap:12px;align-items:flex-start}.club-results-heading p{font-size:12px;line-height:1.6}.club-results-heading h3{font-size:22px}.club-directory-section>h3{font-size:21px}.club-directory-section>p{font-size:14px;line-height:1.7;color:#52694f}.club-directory{padding:17px}.club-directory strong{font-size:15px}.club-directory span{font-size:13px;line-height:1.65;color:#52694f}
.detail-body{padding:26px}.detail-lead{font-size:16px;line-height:1.7}.detail-grid p,.detail-grid a,.detail-note,.opening-detail>p,.idea-box p,.club-planning-grid p,.club-contact-box p{font-size:14px;line-height:1.75;color:#51694f}.detail-grid h3,.opening-detail>h3,.idea-box h3,.club-planning-grid h3{font-size:16px;line-height:1.5}.detail-metrics>div{font-size:15px}.detail-metrics small{font-size:11px}.opening-table{font-size:14px}.opening-table caption,.opening-source,.sources p,.detail-footer-note{font-size:12px!important}.sources h3{font-size:15px}.sources a{font-size:14px;line-height:1.7}.detail-actions .button{font-size:14px;min-height:46px}.club-detail-notice{font-size:14px;line-height:1.7}.detail-body>h2{font-size:28px;line-height:1.3}.club-contact-box h3{font-size:17px}.about-content p{font-size:15px;line-height:1.8}.about-content h3{font-size:18px}.about-content .button{font-size:14px;min-height:44px}.dialog-top{position:sticky;top:0;background:#fff;z-index:2;min-height:60px}.dialog-top>span{font-size:12px}.toast{font-size:14px}
@media(min-width:1500px){.workspace,.club-workspace{grid-template-columns:290px minmax(0,1fr)}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.club-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.categories{grid-template-columns:repeat(2,minmax(0,1fr))}.view-switch button{padding:16px;gap:10px}.view-switch strong{font-size:16px}.card{padding:18px}.card h3{font-size:19px}}
@media(max-width:980px){.shell{padding:0 22px}.workspace,.club-workspace{display:block}.filter-host{display:none}.browse-toolbar .filter-toggle{display:inline-flex!important;min-height:50px;flex-shrink:0;font-size:15px;padding:10px 15px}.browse-toolbar{position:sticky;top:0;z-index:5;background:var(--paper);padding:8px 0;margin:0 0 8px}.categories{grid-template-columns:repeat(3,minmax(0,1fr))}.sort-label>span{display:inline}.club-intro-note{max-width:280px}.club-workspace .browse-toolbar{align-items:flex-end}.club-search-field{font-size:0}.club-results-heading p{max-width:240px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .topbar{height:64px;padding:0 16px}.brand{font-size:25px;gap:8px}.brandmark{width:32px;height:34px}.header-actions .button{font-size:13px;min-height:44px;padding:8px 10px}.private-badge{display:none}.shell{padding:0 16px}.intro{padding:22px 0 20px!important}.intro h1{font-size:28px;line-height:1.2;letter-spacing:-.8px}.intro .eyebrow{font-size:11px;letter-spacing:1.3px;margin-bottom:9px}.intro .lead{font-size:14px;margin-top:8px;line-height:1.55}.browse-step{font-size:13px}.view-switch{gap:7px}.view-switch button{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:9px;padding:12px 9px;border-radius:11px;min-height:126px}.view-switch button>.icon{width:24px;height:24px}.view-switch strong{font-size:14px;line-height:1.35;letter-spacing:-.1px}.view-switch small{font-size:11px;margin-top:5px;line-height:1.45}.mode-intro{margin:22px 0 13px}.mode-intro h2{font-size:22px}.mode-intro p{font-size:14px;line-height:1.6;margin-top:5px}.browse-toolbar{gap:8px}.searchbox{padding:0 11px;height:50px;gap:8px}.searchbox svg{width:18px;height:18px}.searchbox input{font-size:16px}.browse-toolbar .filter-toggle{font-size:14px;padding:9px 12px;gap:6px;min-height:50px}.filter-toggle svg{width:18px;height:18px}.filter-toggle .count{font-size:12px;min-width:19px;padding:1px 4px}.active-chips{gap:6px;margin-bottom:12px}.active-chips button{font-size:13px;min-height:44px;padding:8px 10px}.category-heading{gap:6px;margin-bottom:6px}.category-heading h3{font-size:15px;line-height:1.5;letter-spacing:-.1px}.category-heading .text-button{font-size:12px;min-height:44px}.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.categories button{min-height:56px;padding:10px;font-size:14px;gap:7px}.categories button[aria-pressed=true]{padding:9px}.categories button>.icon{width:21px;height:21px}.categories button>.icon:last-child:not(:first-child){display:none}.categories small{font-size:12px}.quick-filters{gap:7px;margin:12px 0 20px}.quick-filters button{font-size:12px;min-height:44px;padding:8px 10px;gap:5px}.quick-filters svg{width:16px;height:16px}.results-heading{display:flex;align-items:flex-start;margin:20px 0 14px;gap:10px}.results-heading h2{font-size:20px;gap:6px}.active-summary{font-size:12px;max-width:230px}.sort-label{font-size:11px;align-items:flex-end;margin:0;flex-shrink:0;max-width:132px}.sort-label select{font-size:12px;max-width:132px;min-height:44px;padding:7px 4px}.cards,.club-cards{grid-template-columns:1fr;gap:14px}.card{padding:19px}.card h3{font-size:21px}.card-type{font-size:12px;margin-bottom:12px}.location{font-size:12px}.card-description{font-size:15px}.card-stats{font-size:13px;gap:9px 15px}.opening-card{font-size:13px}.tag{font-size:12px}.details-button{font-size:14px}.card-bottom{display:block}.details-button{margin-top:10px;display:flex;justify-content:space-between;min-height:44px;width:100%}.card .activity-icon{width:36px;height:38px}.period-shortcuts{gap:6px;margin-bottom:12px}.period-shortcuts button{font-size:12px;min-height:44px;padding:8px 10px}.live-panel{padding:13px;margin-bottom:12px}.live-heading{align-items:flex-start;gap:8px}.live-heading h3{font-size:14px;line-height:1.5}.live-heading .button{font-size:12px;min-height:44px;padding:7px 9px;gap:5px}.live-heading .button .icon{width:15px;height:15px}#live-status{font-size:12px;line-height:1.7}.live-bottom{gap:8px}.live-bottom .button,.live-bottom details{font-size:12px}.live-bottom details{margin-left:auto}.source-state{grid-template-columns:1fr}.source-badge{justify-self:start}.research-note{font-size:12px;line-height:1.7;align-items:flex-start;padding:13px;flex-wrap:wrap}.research-note>p{flex:1}.research-note button{display:inline-flex;margin-left:30px;font-size:13px;min-height:44px}.footer p{font-size:12px}.footer button{font-size:13px}.footer{gap:14px;margin:24px 16px 0}.results-foot{font-size:13px}.pagination{gap:10px}.opening-filter-note{font-size:13px}.club-intro{display:block;margin:22px 0 14px}.club-intro h2{font-size:22px}.club-intro>div>p:not(.eyebrow){font-size:14px}.club-intro-meta{font-size:12px;gap:6px 13px}.club-intro-note{max-width:none;margin-top:14px;padding:12px}.club-intro-note p,.club-intro-note strong{font-size:12px}.club-results-heading{display:block}.club-results-heading p{max-width:none;margin-top:6px}.club-card{padding:19px}.club-card h3{font-size:21px}.club-description{font-size:15px}.club-appointment,.club-contact-label,.club-admission-note{font-size:13px}.club-directories,.club-planning-grid{grid-template-columns:1fr}.club-directory-section>p{font-size:14px}.club-detail-notice{font-size:14px}.club-contact-box{padding:16px}.club-contact-box .button{width:100%;justify-content:center}.club-filter-form .field select,.club-filter-form input{font-size:16px}#filter-dialog{inset:auto 0 0;margin:0;max-width:none;width:100%;max-height:94dvh;border-radius:19px 19px 0 0}#filter-dialog[open]{height:92dvh}.filter-dialog-head{padding:17px 20px}.filter-dialog-head h2{font-size:21px}.filter-dialog-head p{font-size:13px}#mobile-filter-body .filter-panel{padding:4px 20px 20px}.filter-dialog-foot{padding:13px 20px max(13px,env(safe-area-inset-bottom))}.detail-body,.about-content{padding:20px}.detail-header h2{font-size:25px}.detail-metrics>div{font-size:13px}.detail-metrics small{font-size:10px}.detail-grid{grid-template-columns:1fr}.opening-table{font-size:13px}.opening-detail{padding:13px}.opening-table th,.opening-table td{padding:8px 5px}.detail-lead{font-size:15px}
}
@media(max-width:380px){.shell{padding:0 13px}.view-switch{gap:6px}.view-switch button{padding:11px 8px}.view-switch strong{font-size:13px}.view-switch small{font-size:10px}.category-heading h3{font-size:14px}.category-heading .text-button{font-size:12px}.categories button{font-size:13px;padding:9px 8px}.categories button[aria-pressed=true]{padding:8px 7px}.categories button>.icon{width:19px;height:19px}.quick-filters button{font-size:11px;padding:8px 9px}#mobile-filter-body .weekday-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.results-heading{display:block}.sort-label{margin-top:10px;max-width:none;flex-direction:row;align-items:center;justify-content:flex-end}.active-summary{max-width:none}}
@media print{.browse-start,.mode-intro,.live-panel,.research-note{display:none!important}}
