:root {
  color-scheme: light;
  --cp-bg: #f7f4ef;
  --cp-bg-elevated: #fcfbf8;
  --cp-surface: #ffffff;
  --cp-surface-soft: #f5f5f5;
  --cp-border: #dedede;
  --cp-border-strong: #919191;
  --cp-text: #242424;
  --cp-text-muted: #5c5c5c;
  --cp-text-soft: #6f6f6f;
  --cp-accent: #b11f4b;
  --cp-accent-hover: #9a1a41;
  --cp-accent-soft: rgba(177, 31, 75, 0.08);
  --cp-accent-fg: #ffffff;
  --cp-success: #16a34a;
  --cp-danger: #dc2626;
  --cp-warning: #f59e0b;
  --cp-link: #0078d4;
  --cp-shadow: 0 18px 48px rgba(0, 0, 0, 0.12);
  --cp-overlay: rgba(255, 255, 255, 0.8);
  --cp-panel: rgba(255, 255, 255, 0.86);
  --cp-panel-strong: rgba(255, 255, 255, 0.96);
  --cp-sheen: rgba(255, 255, 255, 0.55);
  --cp-highlight: rgba(177, 31, 75, 0.12);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --cp-bg: #3d3b3a;
  --cp-bg-elevated: #343231;
  --cp-surface: #292929;
  --cp-surface-soft: #2e2e2e;
  --cp-border: #474747;
  --cp-border-strong: #5f5f5f;
  --cp-text: #dedede;
  --cp-text-muted: #919191;
  --cp-text-soft: #b0b0b0;
  --cp-accent: #fd8ea1;
  --cp-accent-hover: #fb7b91;
  --cp-accent-soft: rgba(253, 142, 161, 0.14);
  --cp-accent-fg: #1a1a1a;
  --cp-success: #4ade80;
  --cp-danger: #f87171;
  --cp-warning: #fbbf24;
  --cp-link: #4da6ff;
  --cp-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
  --cp-overlay: rgba(41, 41, 41, 0.88);
  --cp-panel: rgba(41, 41, 41, 0.72);
  --cp-panel-strong: rgba(41, 41, 41, 0.96);
  --cp-sheen: rgba(255, 255, 255, 0.04);
  --cp-highlight: rgba(253, 142, 161, 0.12);
}
.event-filter-panel{margin:0 0 24px;padding:24px;border:1px solid var(--cp-border);border-radius:16px;background:var(--cp-surface);color:var(--cp-text);font-family:"Segoe UI",Aptos,Calibri,-apple-system,BlinkMacSystemFont,sans-serif}
.event-filter-heading{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:20px}
.event-filter-heading h2{margin:4px 0 8px;color:var(--cp-text);font-family:inherit;font-size:clamp(1.5rem,3vw,2rem)}
.event-filter-panel .event-filter-heading .eyebrow{color:var(--cp-accent)}
.event-filter-heading p,.event-filter-footer p{margin:0;color:var(--cp-text-muted)}
.event-filter-heading>button{flex:none;min-height:48px;padding:8px 16px;border:1px solid var(--cp-border-strong);border-radius:.625rem;background:var(--cp-surface);color:var(--cp-text);font:inherit;font-weight:700;cursor:pointer}
.event-filter-heading>button:disabled{color:var(--cp-text-soft);cursor:default}
.event-filter-group{min-width:0;margin:0 0 20px;padding:0;border:0}
.event-filter-group legend{margin-bottom:8px;font-size:.9rem;font-weight:700}
.event-filter-panel .event-filters{gap:8px;margin:0}
.event-filter-panel .event-filters button{min-height:48px;border-radius:.625rem;border-color:var(--cp-border);background:var(--cp-surface-soft);color:var(--cp-text)}
.event-filter-panel .event-filters button[aria-pressed="true"]{border-color:var(--cp-accent);background:var(--cp-accent);color:var(--cp-accent-fg)}
.event-filter-panel button:focus-visible,.event-filter-panel select:focus-visible,.event-filter-panel input:focus-visible{outline:3px solid var(--cp-accent);outline-offset:3px}
.event-keyword-search{margin:0 0 20px}
.event-keyword-search label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:700}
.event-keyword-search input{box-sizing:border-box;width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--cp-border-strong);border-radius:.625rem;background:var(--cp-surface);color:var(--cp-text);font:inherit}
.event-keyword-search input::placeholder{color:var(--cp-text-muted);opacity:1}
.event-keyword-search p{margin:8px 0 0;color:var(--cp-text-muted);font-size:.9rem;line-height:1.5}
.event-more-types{flex-basis:100%;color:var(--cp-text)}
.event-more-types summary{min-height:48px;padding:12px 0;cursor:pointer;font-weight:700}
.event-more-type-options{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}
.event-label-editor{min-width:0;padding:16px;border:1px solid var(--cp-border);border-radius:.625rem;background:var(--cp-surface);color:var(--cp-text);font-family:"Segoe UI",Aptos,Calibri,-apple-system,BlinkMacSystemFont,sans-serif}
.event-label-editor legend{font-weight:700}
.event-label-editor p{margin:0 0 12px;color:var(--cp-text-muted)}
.event-label-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px}
.event-label-choices .event-label-choice{display:flex;align-items:center;gap:12px;min-height:48px;margin:0;padding:8px;border:1px solid var(--cp-border);border-radius:.625rem;background:var(--cp-surface);color:var(--cp-text);cursor:pointer}
.event-label-choices .event-label-choice input{flex:none;width:20px;height:20px;min-height:0;margin:0;accent-color:var(--cp-accent)}
.event-label-choice:has(input:checked){border-color:var(--cp-accent);background:var(--cp-accent-soft)}
.event-label-choice input:focus-visible{outline:3px solid var(--cp-accent);outline-offset:3px}
.event-filter-footer{display:grid;grid-template-columns:minmax(0,420px) 1fr;align-items:end;gap:24px;padding-top:20px;border-top:1px solid var(--cp-border)}
.event-filter-panel .event-location-filter{max-width:none;margin:0;padding:0;border:0;background:var(--cp-surface)}
.event-filter-panel .event-location-filter select{width:100%;min-width:0;border-color:var(--cp-border-strong);background:var(--cp-surface);color:var(--cp-text)}
.event-filter-footer p{font-size:.9rem;line-height:1.5}
@media(max-width:640px){.event-filter-panel{padding:16px}.event-filter-heading{gap:12px;flex-wrap:wrap}.event-filter-footer{grid-template-columns:minmax(0,1fr);gap:16px}.event-filter-panel .event-filters button{flex:1 1 auto}.event-filter-heading>button{width:100%}}

.events-page main{font-family:"Segoe UI",Aptos,Calibri,-apple-system,BlinkMacSystemFont,sans-serif}
.events-page .hero{background:var(--cp-bg);color:var(--cp-text)}
.events-page .hero-grad,.events-page .ridge{display:none}
.events-page .hero.short .hero-inner{padding-top:24px;padding-bottom:24px}
.events-page .hero h1{font-family:inherit;font-size:clamp(1.8rem,4vw,2.8rem);color:var(--cp-text)}
.events-page .hero h1 em,.events-page .hero .eyebrow{color:var(--cp-accent)}
.events-page .hero .lede{color:var(--cp-text-muted);font-size:1rem;margin-top:12px}
.events-page .today-events-section{padding-top:16px;padding-bottom:0}
.events-page .calendar-section{padding-top:20px}
.events-page .calendar-shell{background:var(--cp-surface);border-color:var(--cp-border);border-radius:16px;box-shadow:none}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.calendar-toolbar .calendar-head{flex:1 1 400px;margin:0}
.calendar-toolbar .calendar-head h2{font-family:inherit}
.calendar-toolbar .calendar-jump{margin:0}
.calendar-shell .event-filter-panel{margin:16px 0;padding:16px 0 0;border:0;border-top:1px solid var(--cp-border);border-radius:0}
.calendar-filter-fields{display:grid;grid-template-columns:1.15fr 1fr .85fr;align-items:start;gap:16px}
.calendar-shell .event-filter-group,.calendar-shell .event-keyword-search{margin:0}
.calendar-shell .event-filters{gap:6px}
.calendar-shell .event-filters button{flex:0 1 auto;padding:8px 12px;font-size:.85rem}
.calendar-shell .event-location-filter{gap:8px}
.calendar-shell .event-location-filter label{font-size:.9rem;font-weight:700}
.calendar-shell .event-keyword-search input,.calendar-shell .event-location-filter select{min-height:48px;height:48px;padding:8px 12px;font-size:.9rem}
.calendar-shell .event-type-filter{grid-column:1/-1}
.event-type-select{display:none;width:100%;min-width:0;min-height:48px;padding:8px 12px;border:1px solid var(--cp-border-strong);border-radius:10px;background:var(--cp-surface);color:var(--cp-text);font:inherit;font-size:.9rem}
.calendar-nav .calendar-nav-text{font-size:1em}
.calendar-shell .event-more-types{flex-basis:auto}
.calendar-shell .event-more-types summary{min-height:48px;padding:10px 12px;border:1px solid var(--cp-border);border-radius:10px;background:var(--cp-surface-soft);font-size:.85rem}
.calendar-shell .event-more-types[open]{flex-basis:100%}
.calendar-shell .event-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;margin-top:12px}
.calendar-shell .event-filter-footer p{min-width:0;overflow-wrap:anywhere;font-size:.8rem}
.calendar-filter-reset{flex:none;min-height:48px;padding:8px 12px;border:1px solid var(--cp-border);border-radius:10px;background:var(--cp-surface);color:var(--cp-text);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}
.calendar-filter-reset:disabled{color:var(--cp-text-soft);cursor:default}
.calendar-shell .event-more-types summary:focus-visible{outline:3px solid var(--cp-accent);outline-offset:3px}
html[data-theme="dark"] .events-page .hero .lede{color:var(--cp-text-soft)}
@media(max-width:900px){.calendar-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filter-fields>.event-filter-group{grid-column:1/-1}.calendar-toolbar .calendar-jump{justify-content:flex-start}}
@media(max-width:760px){.calendar-filter-fields>.event-keyword-search{grid-column:1/-1}.calendar-filter-fields>.event-type-filter{grid-column:auto}.calendar-shell #event-filters{display:none}.event-type-select{display:block}}
@media(max-width:520px){.calendar-toolbar{display:block}.calendar-toolbar .calendar-head{display:flex;margin-bottom:12px}.calendar-toolbar .calendar-head h2{font-size:1.3rem}.calendar-toolbar .calendar-nav{min-width:48px;width:48px;padding:8px}.calendar-nav-text{display:none}.calendar-toolbar .calendar-jump{justify-content:center;flex-wrap:nowrap}.calendar-jump input{min-width:0;flex:1}.calendar-jump button{padding:8px;font-size:.8rem}.calendar-filter-fields{gap:12px}.calendar-shell .event-filter-footer{align-items:flex-start}.calendar-shell .event-filter-footer p{padding-top:12px}}
