:root{color-scheme:light;--surface:#fffefa;--soft:#eef1e6;--accent:#173c2d}
:root[data-theme=dark]{color-scheme:dark;--paper:#121e19;--surface:#1b2b23;--soft:#24392d;--ink:#e9eddf;--muted:#b2bfaa;--line:#3a4e3e;--accent:#d9d16c; background:var(--paper);color:var(--ink)}
.theme-toggle,.header-social a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit;flex-shrink:0}.theme-toggle:hover,.header-social a:hover{background:var(--soft);color:var(--accent)}.header-tools,.header-social{display:flex;align-items:center;gap:7px}.header-social svg{width:18px;height:18px;fill:currentColor}.site-header .navrow{gap:18px}.site-header #main-nav{gap:17px}.header-social{gap:4px}.header-social a{min-width:35px;min-height:35px;border:0}.site-header .brand{font-size:22px}.header-tools .theme-toggle{min-width:38px;min-height:38px}
:root[data-theme=dark] :is(body,.hub-body,.account-body,.site-header,.admin-header,.editor-header,.account-header,.hub-header,dialog,.edit-panel,.record-button,.settings-panel,.assistant-panel,.ai-message,.ai-message.user,.hub-event,.hub-person,.live-card,.coach-summary>div,.coach-bench,.coach-lines fieldset,.teams-section,.about-section,.facebook-section,.facebook-feed,.news-card,.account-card,.account-main,.access-card,.record-list,.section-row,.editor-sidebar,.editor-toolbar,.status-badge,.hub-pill,.coach-form,.upload-zone,.staff-table,.content-loading,.empty-state){background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] :is(input,select,textarea){background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important}
:root[data-theme=dark] :is(.green,.coach-phone,.form-status.success,.admin-tabs button,.hub-tabs button,.staff-intro,.hub-location,.hub-section-head p,.subtle-button,.hub-actions button,.hub-text-button,.record-copy small,.field-help,.contact-item small,.account-intro,.form-field,.editor-notice,.staff-pagination,.draft-tip,.coach-role,.news-meta,.field-note,.coach-filters){color:var(--muted)}
:root[data-theme=dark] :is(.outline-button,.filter,.coach-form button:not(.green-button)){color:var(--ink);background:var(--soft);border-color:var(--line)}
:root[data-theme=dark] :is(.admin-tabs .active,.hub-tabs button[aria-pressed=true],.punct){color:var(--yellow);border-color:var(--yellow)}
:root[data-theme=dark] .detail-dialog{color:var(--ink)}:root[data-theme=dark] .green-button{color:#f7f7ef;background:#285a3e}:root[data-theme=dark] .record-button.selected{background:var(--soft)}:root[data-theme=dark] .account-story{color:#f7f7ef}:root[data-theme=dark] .hub-pill.no{color:#f2b29d;background:#512d25}
.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin:24px 0}.dashboard-grid article,.feature-panel{padding:24px;border:1px solid var(--line);background:var(--surface)}.dashboard-grid strong.metric{display:block;font-size:44px;line-height:1.1;color:var(--accent)}.feature-panel{margin:18px 0}.feature-panel h3,.feature-panel p{margin-bottom:12px}.feature-panel label,.trial-form label{display:grid;gap:7px;margin:12px 0;font-size:14px;font-weight:650}.feature-panel input,.feature-panel select,.feature-panel textarea,.trial-form input,.trial-form textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:4px}.feature-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}.feature-actions button,.feature-actions a{padding:10px 16px;min-height:44px;border:1px solid var(--line);background:var(--soft);color:inherit;border-radius:4px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.trial-form{margin-top:24px;padding:25px;background:#f7f7ef;color:#173c2d;border-radius:5px}.trial-form p{font-size:13px;margin:12px 0}.trial-form input[type=checkbox]{width:auto}.trial-form label:has([type=checkbox]){display:flex;align-items:start}.public-pulse{padding:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-bottom:1px solid var(--line)}.public-pulse a{display:block;padding:14px;background:var(--soft)}.public-pulse strong{display:block;font-size:22px}.public-pulse small{color:var(--muted)}.mobile-scroll{overflow-x:auto;max-width:100%}.share-link{display:inline-block;text-decoration:underline;font-size:14px;margin:10px 0}.notification{padding:14px;background:var(--soft);border-left:3px solid #baac4d;margin:10px 0}.news-card>a{display:block;height:100%}.news-card>a>p{margin:12px 0}.news-card>a:hover h3{text-decoration:underline}.public-article{max-width:850px;margin:50px auto;padding:0 22px}.public-article h1{font-size:clamp(34px,6vw,65px);margin:20px 0}.public-article p{white-space:pre-wrap;margin:20px 0}.public-article img{max-height:550px;object-fit:contain}.public-article table{width:100%;text-align:left}.public-article td,.public-article th{padding:9px;border-bottom:1px solid var(--line)}
html,body{max-width:100%}img,video,iframe{max-width:100%}main,section,article,fieldset,.editor-layout>*{min-width:0}button,a,input,select,textarea{touch-action:manipulation}button,input,select,textarea{max-width:100%}p,h1,h2,h3,td,th{overflow-wrap:anywhere}dialog{max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto}dialog::backdrop{background:#12221ac4}.detail-dialog table{display:block;overflow-x:auto}button{min-height:40px}.theme-toggle:focus-visible,.header-social a:focus-visible{outline:3px solid #b5a443;outline-offset:3px}
@media(max-width:1150px){.site-header .navrow{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.site-header #main-nav{order:3;width:100%;justify-content:center}.site-header .header-tools{margin-left:auto}}
@media(max-width:760px){.site-header #main-nav{display:none}.site-header #main-nav.open{display:flex;position:static;flex-direction:column;align-items:stretch;padding:16px;background:var(--surface);color:var(--ink);gap:0}.site-header #main-nav a{padding:13px}.site-header .staff-link{display:none}.site-header .brand{font-size:20px}.header-social a{min-width:34px}.site-header .navrow{gap:8px}.site-header .menu-toggle{display:block;order:2;margin-left:0}.header-tools{order:1}.dashboard-grid,.feature-grid,.public-pulse{grid-template-columns:1fr}.wrap{width:calc(100% - 32px)}.hub-shell{padding:0 16px 40px}.hub-header{gap:12px;flex-wrap:wrap;padding:16px}.hub-header nav{gap:16px;flex-wrap:wrap}.hub-hero{padding:28px 22px}.hub-event{grid-template-columns:1fr;gap:12px;padding:18px}.hub-date{border-right:0;display:flex;align-items:center;gap:12px}.hub-date strong{font-size:23px}.hub-toolbar,.hub-section-head{align-items:stretch;flex-direction:column}.hub-tabs,.admin-tabs{gap:20px;max-width:100%;overflow-x:auto}.hub-attendance-row{flex-wrap:wrap;gap:10px}.hub-visit{width:100%}.hub-visit-buttons{flex-wrap:wrap}.admin-header-links{flex-wrap:wrap;gap:12px}.admin-heading{flex-wrap:wrap;gap:12px}.admin-tabs button{flex-shrink:0;white-space:nowrap}.editor-layout{grid-template-columns:1fr}.live-card-head{flex-direction:column;gap:16px}.live-tools{flex-wrap:wrap}.live-tools label{flex:1 1 120px}.live-tally{width:100%;justify-content:space-between}.trial-form{padding:18px}.feature-panel{padding:18px}.form-columns{grid-template-columns:1fr}.hero-grid{min-width:0}.staff-table-wrap{overflow-x:auto}.news-grid{grid-template-columns:1fr}.account-shell{max-width:100%}}
@media(max-width:380px){.site-header .brandmark{width:34px;height:38px}.site-header .brand{font-size:17px;gap:7px}.brand strong{font-size:9px}.header-social a{min-width:30px;min-height:36px}.header-tools{gap:2px}.site-header .theme-toggle{min-width:32px}.site-header .menu-toggle{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{header,footer,.hub-hero,.hub-tabs,.hub-toolbar,.feature-actions,button,.coach-event-label,#hub-status{display:none!important}body,.hub-body{background:white!important;color:#173c2d!important}.hub-shell{padding:0;max-width:none}.coach-form{display:block}.coach-form input,.coach-form textarea,.coach-form select{border:0!important}.coach-bench{display:none}.coach-lines fieldset{break-inside:avoid}.coach-form button{display:none!important}}
.club-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.club-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}#club-gallery h3{margin-top:22px}#club-gallery p{white-space:pre-wrap;margin-top:10px}:root[data-theme=dark] .trial-form{background:var(--surface);color:var(--ink)}
@media(max-width:600px){.club-gallery{grid-template-columns:1fr}}
:root[data-theme=dark] .app{--bg:#121e19;--surface:#1b2b23;--soft:#24392d;--text:#e9eddf;--muted:#b2bfaa;--line:#3a4e3e;--accent:#d9d16c}:root[data-theme=dark] :is(.app .card,.library,.authcard){background:var(--surface);color:var(--ink)}
.theme-floating{position:fixed;top:16px;right:16px;z-index:80;background:var(--surface)}
:root[data-theme=dark] :is(.hero,.hero h1,.hero-desc,.hero-bottom,.join-section,.account-story,.hub-hero,footer){color:#f7f7ef}
:root[data-theme=dark] :is(aside,.toolbar,.canvas,.editor-body,.intro,.hub-empty,.schedule){background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] :is(.danger-button,.form-status.error,#dialog-error,#hub-status.error){color:#efa88f}
@media(max-width:620px){.toolbar{flex-wrap:wrap}.toolbar .actions{flex:1 1 100%;order:3;justify-content:space-between}.toolbar .theme-toggle{margin-left:auto}.actions button{min-height:44px}.account-back{display:block;max-width:calc(100% - 74px)}.feature-actions>input{width:100%}}
:root[data-theme=dark] :is(.menu-toggle,.team-card h3){color:var(--ink)}
:root[data-theme=dark] :is(.team-card small,.team-card>span,.facebook-copy>p:not(.eyebrow),.facebook-note,.facebook-feed-label,.about-grid p,.contact-info>p,.coach-card>p,.section-number,.news-card p,.empty-roster){color:var(--muted)}
:root[data-theme=dark] .team-card{border-color:var(--line)}:root[data-theme=dark] .team-card:hover{background:var(--soft)}:root[data-theme=dark] .team-card.adult h3{color:var(--yellow)}
body:has(.public-article) header{flex-wrap:wrap}body:has(.public-article) header>a:first-child{flex:1 1 200px;min-width:0}.feature-panel button:disabled{cursor:not-allowed}
