/* A local field guide: warm paper, forest ink, editorial type. No remote fonts. */
:root{--paper:#f7f4eb;--surface:#fffdf7;--forest:#244b3c;--ink:#283a31;--muted:#62695e;--line:#d8d9cb;--wash:#e9ede2;--warm:#775427;--warning:#81432b;--radius:6px;color-scheme:light;font-family:"Trebuchet MS","Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:var(--forest);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button,input,select{min-height:44px}button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:8px 14px}button:hover{background:var(--wash)}:focus-visible{outline:3px solid #a16b22;outline-offset:3px}.wrap{max-width:1320px;margin-inline:auto;padding-inline:40px}.skip-link{position:fixed;z-index:5000;left:16px;top:8px;transform:translateY(-180%);padding:12px;background:var(--surface)}.skip-link:focus{transform:none}.masthead{display:flex;justify-content:space-between;align-items:center;min-height:88px;border-bottom:1px solid var(--line);gap:20px}.wordmark{display:inline-flex;align-items:center;gap:5px;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;font-weight:bold;letter-spacing:-.7px;min-height:44px}.wordmark span:first-child{font-weight:normal;font-style:italic}.wordmark-star{font-family:Georgia,serif;font-size:1.7rem;margin-left:12px;color:var(--warm)}.edition{font-size:.65rem;letter-spacing:.12em;display:flex;align-items:center;gap:16px}.edition b{font-size:.8rem;letter-spacing:.06em;border:1px solid var(--line);padding:4px 9px;border-radius:3px}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding-block:34px 30px;gap:30px}.eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.17em;margin:0 0 9px;color:var(--forest)}h1{font:normal clamp(2rem,3.1vw,2.8rem)/1.16 Georgia,"Times New Roman",serif;letter-spacing:-1.2px;margin:0 0 12px}h1 em{font-weight:normal;color:var(--forest)}.intro-text{font-size:.9rem;line-height:1.65;margin:0;color:var(--muted)}.editor-note{font-size:.75rem;line-height:1.75;color:var(--muted);max-width:250px;margin:0 0 3px;padding-left:18px}.filters{border-block:1px solid var(--line);padding-block:20px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr 1fr auto;gap:14px;align-items:end}.filters label{font-size:.69rem;font-weight:bold;letter-spacing:.015em;display:flex;flex-direction:column;gap:6px;min-width:0}input,select{width:100%;min-width:0;border:1px solid #bfc7b8;border-radius:var(--radius);background:var(--surface);font-size:.8rem;font-weight:normal;padding:10px 11px}select{padding-right:25px}input::placeholder{color:#777c71}input:focus,select:focus{border-color:var(--forest)}.reset-button{font-size:.75rem;background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:4px;padding-inline:5px;white-space:nowrap}.results-toolbar{display:flex;align-items:center;justify-content:space-between;padding-block:27px 19px;gap:15px}.results-toolbar h2{font:normal 1.5rem Georgia,"Times New Roman",serif;margin:0 0 3px}.results-toolbar p{font-size:.74rem;margin:0;color:var(--muted)}.view-switch{display:none;border:1px solid var(--line);border-radius:var(--radius);padding:3px;flex-shrink:0}.view-switch button{background:transparent;border:0;font-size:.78rem;padding:8px 14px}.view-switch button[aria-pressed=true]{background:var(--forest);color:var(--surface)}.explore-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}.results{min-width:0}.month-heading{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700;padding-block:0 12px;margin:0;border-bottom:1px solid var(--line)}.month-heading:not(:first-child){margin-top:25px}.event-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;padding:22px 0 20px;border-bottom:1px solid var(--line);scroll-margin-top:24px;overflow-wrap:anywhere}.event-card:focus{outline:2px solid var(--forest);outline-offset:6px}.event-card.selected{background:var(--wash);outline:2px solid var(--forest);outline-offset:6px}.date-rail{color:var(--forest);padding-top:3px;text-align:center}.date-rail time{display:flex;flex-direction:column;line-height:1.25}.date-rail span{font-size:.63rem;text-transform:uppercase;letter-spacing:.07em}.date-rail strong{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:normal;line-height:1.2;margin-block:2px}.badges{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;font-size:.6rem;line-height:1.5;margin-bottom:7px}.category-badge{font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--forest)}.audience-badge{background:var(--wash);border-radius:3px;padding:2px 6px;color:var(--forest)}.warning-badge{background:#f3e4d7;color:var(--warning);padding:2px 6px;font-weight:bold}.event-card h3{font:normal 1.35rem/1.25 Georgia,"Times New Roman",serif;margin:0 0 5px;letter-spacing:-.3px}.event-card p{margin:0}.event-place{font-size:.78rem;color:var(--muted)}.event-time{font-size:.78rem;font-weight:bold;padding-block:6px 0}.uncertain{color:var(--warm);font-weight:normal}.event-description{font-size:.79rem;line-height:1.6;padding-top:8px}.event-facts{font-size:.73rem;padding-top:8px;color:var(--muted)}.event-notes{margin:9px 0 0;padding-left:16px;font-size:.72rem;color:var(--warm);line-height:1.6}.location-note{font-size:.66rem;color:var(--muted);padding-top:8px}.event-actions{display:flex;gap:0 14px;flex-wrap:wrap;font-size:.71rem;margin-top:7px;align-items:center}.event-actions a,.event-actions button{display:inline-flex;align-items:center;min-height:44px;padding:7px 0;border:0;background:transparent;border-radius:0;font-size:inherit;line-height:1.4}.event-actions button{color:var(--forest);text-decoration:underline;text-underline-offset:3px;text-align:left}.event-actions button:hover{background:var(--wash)}.verified{font-size:.62rem;color:var(--muted);padding-top:1px}.muted{color:var(--muted)}.map-panel{position:sticky;top:24px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0;background:var(--surface)}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 18px}.map-heading h2{font:normal 1.1rem Georgia,"Times New Roman",serif;margin:0}.map-heading span{font-size:.67rem;color:var(--muted)}#map{height:min(58vh,570px);min-height:360px;background:#e8ecdf;z-index:0}.map-notice{font-size:.72rem;line-height:1.55;margin:0;padding:12px 18px;background:#efefdf;color:var(--ink)}.map-notice:empty{display:none}.map-caption{font-size:.67rem;line-height:1.65;color:var(--muted);margin:0;padding:13px 18px;border-top:1px solid var(--line)}.state-message{padding:26px 20px;border:1px solid var(--line);background:var(--surface);font-size:.85rem;border-radius:var(--radius)}.state-message h3{font:normal 1.2rem Georgia,serif;margin:0 0 8px}.state-message p{margin:0}.about{border-top:1px solid var(--line);margin-top:44px;padding-top:24px;max-width:680px}.about h2{font:normal 1.15rem Georgia,"Times New Roman",serif;margin:0 0 8px}.about p{font-size:.76rem;color:var(--muted);margin:0 0 9px}.about #data-updated{font-size:.65rem}.footer{display:flex;justify-content:space-between;gap:12px;padding-block:24px 30px;margin-top:27px;border-top:1px solid var(--line);font-size:.65rem;color:var(--muted)}
/* Coverage stays secondary to exploration, with stacked public source records. */
.scope-note{font-size:.8rem;color:var(--muted);margin:6px 0 0}
.coverage{border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.coverage summary{min-height:44px;padding-block:11px;cursor:pointer;color:var(--forest);width:fit-content}
.coverage-content{padding:0 0 16px;max-width:900px;overflow-wrap:anywhere}
.coverage-content>p{margin:0 0 8px}
.coverage-metrics{font-size:.75rem}
.coverage-sources{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px 24px}
.coverage-source{min-width:0;border-top:1px solid var(--line);padding-top:10px}
.coverage-source-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.coverage-source h3{font-size:.9rem;margin:0;font-weight:bold}
.coverage-source h3 a{display:inline-flex;align-items:center;min-height:44px}
.coverage-source p{font-size:.75rem;margin:2px 0}
.source-status{font-size:.72rem;color:var(--forest)}
.source-partial,.source-error,.coverage-error{color:var(--warning)}
/* Leaflet controls remain familiar and keyboard/touch accessible. */
.leaflet-container{font-family:"Trebuchet MS","Segoe UI",sans-serif}.leaflet-bar a{width:44px!important;height:44px!important;line-height:44px!important;color:var(--forest)!important}.leaflet-control-attribution{font-size:10px!important;max-width:95%}.leaflet-popup-content{font-size:.8rem;max-height:260px;overflow:auto;margin:16px!important;line-height:1.5}.leaflet-popup-content h3{font-family:Georgia,serif;font-size:1rem;margin:0 0 5px}.leaflet-popup-content p{margin:0 0 7px}.leaflet-popup-content button{width:100%;text-align:left;min-height:44px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:9px 0;color:var(--forest)}.leaflet-container a.leaflet-popup-close-button{width:44px;height:44px;line-height:44px;right:0;top:0}.map-marker:focus-visible{outline:3px solid var(--warm)}
@media(max-width:1090px){.wrap{padding-inline:28px}.filters{grid-template-columns:1.2fr 1fr 1fr 1fr}.reset-button{grid-column:4;padding-block:0;min-height:28px;text-align:right;margin-top:-4px}.explore-layout{gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.editor-note{max-width:210px}}
@media(max-width:820px){.wrap{padding-inline:22px}.masthead{min-height:76px}.edition{font-size:.6rem;gap:8px}.wordmark{font-size:1.2rem}.wordmark-star{margin-left:6px}.intro{padding-block:27px 25px}.editor-note{display:none}h1{font-size:2.1rem}.filters{grid-template-columns:1fr 1fr;gap:12px;padding-block:17px}.search-field{grid-column:1/-1}.reset-button{grid-column:2;min-height:44px;align-self:end;margin:0;justify-self:end}.filters label{font-size:.67rem}.results-toolbar{padding-block:23px 18px}.view-switch{display:flex}.results-toolbar h2{font-size:1.35rem}.results-toolbar p{font-size:.65rem}.explore-layout{display:block}.map-panel{position:relative;top:0}#explore[data-view=list] .map-panel{display:none}#explore[data-view=map] .results{display:none}#map{height:54vh;min-height:350px}.event-card{grid-template-columns:44px minmax(0,1fr);gap:14px;padding-block:20px}.event-card h3{font-size:1.28rem}.event-actions{gap:0 17px}.about{margin-top:30px}.footer{font-size:.6rem}.event-description{font-size:.79rem}}
@media(max-width:370px){.wrap{padding-inline:16px}.edition{font-size:0}.edition b{font-size:.7rem}.wordmark{font-size:1.15rem}.results-toolbar{gap:8px}.view-switch button{padding-inline:10px}.results-toolbar h2{font-size:1.2rem}.results-toolbar p{max-width:145px}.event-card{gap:10px;grid-template-columns:38px minmax(0,1fr)}h1{font-size:1.9rem}.event-actions{column-gap:12px}.intro-text{font-size:.82rem}}
/* Keep data-entry type at 16px on phones to avoid Safari's focus zoom. */
@media(max-width:820px){input,select{font-size:1rem}.masthead{gap:10px}.wordmark{white-space:nowrap;flex-shrink:0}.edition{font-size:.5rem;gap:3px;flex-direction:column-reverse;align-items:flex-end;text-align:right}.event-place,.event-time,.event-description{font-size:.85rem}.event-facts{font-size:.8rem}.event-actions{font-size:.75rem}.event-notes{font-size:.77rem}.verified{font-size:.69rem}}
@media(max-width:820px){.filters{grid-template-columns:1.15fr 1fr}.filters select{padding-inline:8px 18px}}
@media(max-width:370px){.filters{grid-template-columns:1fr}.filters label,.reset-button{grid-column:1}.edition{font-size:0}}
@media(min-width:821px) and (max-width:1090px){.reset-button{min-height:44px}}
.skip-link{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;padding:0;transform:none}
.skip-link:focus{position:fixed;top:8px;left:16px;clip-path:none;height:auto;width:auto;padding:12px;transform:none}
.footer{flex-wrap:wrap;align-items:center}
.footer-credit{display:flex;flex-wrap:wrap;gap:6px 16px}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.load-error button{margin-top:16px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.filters,.view-switch,.map-panel,.event-actions button,.skip-link{display:none!important}.explore-layout{display:block}.wrap{max-width:none;padding-inline:0}.event-card{break-inside:avoid}.event-card,.about{font-size:12pt}.event-description,.event-facts,.event-place,.event-time,.verified{font-size:12pt}.intro{padding-block:15px}.masthead{min-height:55px}}
/* Secondary public feedback, independent of the event/map module. */
.feedback{border-bottom:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.feedback summary{min-height:44px;padding-block:11px;cursor:pointer;color:var(--forest)}
.feedback-content{max-width:760px;padding-bottom:18px;overflow-wrap:anywhere}
.feedback h3{font-size:1rem;margin-bottom:0}
.feedback label{display:block;margin-block:12px 4px}
.feedback input:not([type=checkbox]),.feedback textarea{display:block;width:100%;min-width:0;min-height:44px;font:inherit;font-size:1rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:8px}
.feedback textarea{resize:vertical}
.feedback a:not([hidden]){display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%}
.feedback .feedback-consent{display:flex;align-items:center;gap:10px;min-height:44px}
.feedback-consent input{width:44px;height:44px;flex-shrink:0;margin:0}
#feedback-message{color:var(--warning)}
