:root{color-scheme:light;--ink:#203d3c;--muted:#53645f;--accent:#216e70;--accent-light:#e7f2ed;--border:#d6e1dc;--paper:#fff;--bg:#f3f7f4;--hover-surface:#e8f1ed;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:#216e70;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #287a7d;outline-offset:3px}button{min-height:42px;border:1px solid var(--border);border-radius:6px;background:white;padding:8px 13px;font-size:.875rem;font-weight:650;transition:background .15s}button:hover:not(:disabled){background:var(--hover-surface)}.topbar{background:var(--ink);color:white}.topbar-inner{max-width:1240px;margin:auto;padding:15px 28px;display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:.875rem}.brand{display:flex;align-items:center;gap:12px}.monogram{width:34px;height:34px;display:grid;place-items:center;border:1px solid #98b5ad;border-radius:50%;font-family:var(--serif);font-weight:bold;font-size:.875rem}.private-label{display:flex;gap:7px;align-items:center;color:#dcebe5}.private-label svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}main{max-width:1240px;margin:auto;padding:32px 28px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:26px}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:750;margin:0 0 8px;color:var(--accent)}h1{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:normal;line-height:1.15;margin:0 0 10px}.lead{margin:0;color:var(--muted);max-width:600px}.provided-by{font-size:.875rem;line-height:1.55;color:var(--muted);margin:12px 0 0;max-width:600px}.provided-by a{font-weight:650}.verified{border-left:3px solid var(--accent);padding-left:18px;flex-shrink:0;display:flex;flex-direction:column;font-size:.875rem;color:var(--muted)}.verified strong{font-weight:650;font-size:1rem;color:var(--ink);margin:3px 0}.filters{background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:20px 22px;margin-bottom:24px;box-shadow:0 2px 3px #203d3c04}.filter-fields{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:20px}.filter-fields label{display:flex;flex-direction:column;font-size:.875rem;font-weight:650;gap:6px}input[type=date],select{width:100%;height:45px;background:white;border:1px solid #a9bdb4;border-radius:6px;padding:8px 10px;min-width:0;font-size:1rem}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.filter-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:16px}.presets{display:flex;gap:8px;flex-wrap:wrap}.presets button{min-height:36px;font-size:.875rem;padding:5px 11px;border-color:transparent;background:var(--bg);font-weight:550}.presets button[aria-pressed=true]{background:var(--ink);color:white}.check-filter{font-size:.875rem;display:flex;align-items:center;gap:7px;cursor:pointer}.error{color:#65503a;margin:14px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:26px;align-items:start}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}h2{font-size:1.15rem;margin:0;font-weight:750}#result-count{font-size:.875rem;font-weight:550;display:inline-block;vertical-align:middle;margin-left:7px;padding:2px 8px;border-radius:20px;background:var(--hover-surface)}.sort-note{font-size:.8125rem;color:var(--muted)}.list-note{font-size:.875rem;color:var(--muted);margin:0 0 16px}.event{border:1px solid var(--border);background:white;border-radius:9px;margin-bottom:14px;padding:20px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px}.event.selected{border-color:#9ebcaf;box-shadow:inset 4px 0 var(--accent)}.date-stamp{text-align:center;align-self:start;border-top:3px solid var(--accent);background:var(--accent-light);border-radius:4px;padding:7px 4px}.date-stamp .month{font-size:.75rem;font-weight:750;letter-spacing:.1em;color:var(--accent)}.date-stamp .day{display:block;font-family:var(--serif);font-size:2rem;font-weight:bold;line-height:1.15}.date-stamp .weekday{font-size:.8125rem;color:var(--muted)}.event.past .date-stamp{border-color:#7e8d96;background:#edf1f3}.event.past .date-stamp .month{color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 9px}.tag{background:#edf3ef;font-size:.75rem;padding:3px 8px;border-radius:4px;font-weight:650}.tag.pick{background:var(--accent-light);color:#216e70}.event h3{font-family:var(--serif);font-size:1.35rem;line-height:1.25;font-weight:bold;margin:0 0 9px}.event p{margin:8px 0}.event-meta{color:var(--muted);font-size:.875rem}.event-date{font-weight:650;font-size:.875rem}.cost{font-size:.875rem;color:var(--ink)}.description{font-size:1rem}.reason{font-size:.875rem;color:#216e70}.source-line{font-size:.8125rem;border-top:1px solid #e8eeea;margin-top:14px;padding-top:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}.source-line span{color:var(--muted);white-space:nowrap}.extra-sources{font-size:.8125rem;margin-top:8px}.extra-sources summary{cursor:pointer;color:var(--muted)}.extra-sources ul{padding-left:18px;margin:6px 0}.event-note{font-size:.8125rem;color:var(--muted);padding:8px 10px;background:var(--bg);border-radius:4px}.event-action{margin-top:15px;display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:650;min-height:32px;cursor:pointer}.event-action.disabled{color:var(--muted);cursor:default}.newsletter{position:sticky;top:20px;background:white;border:1px solid var(--border);border-top:4px solid var(--ink);border-radius:8px;overflow:hidden}.newsletter-heading{padding:23px 22px 17px;border-bottom:1px solid var(--border)}.newsletter h2{font-family:var(--serif);font-size:1.65rem;font-weight:normal;display:flex;justify-content:space-between;align-items:center}.newsletter h2 span{font-family:var(--sans);font-size:.875rem;background:var(--ink);color:white;border-radius:50%;min-width:27px;height:27px;display:grid;place-items:center}.newsletter-heading>p:last-child{font-size:.875rem;color:var(--muted);margin:8px 0 0}.empty-shortlist{padding:26px 22px}.newsletter-steps{list-style-type:decimal-leading-zero;margin:14px 0 0;padding-left:30px;font-size:.875rem;color:var(--muted)}.newsletter-steps li{padding-left:5px;margin-bottom:14px}.newsletter-steps li:last-child{margin-bottom:0}.newsletter-steps li::marker{color:var(--accent);font-weight:750}.newsletter-steps strong{color:var(--ink)}.empty-shortlist h3{font-size:1rem;margin:0 0 8px}.empty-shortlist p{font-size:.875rem;color:var(--muted);margin:0}.shortlist-item{padding:18px 22px;border-bottom:1px solid #e5ece7}.shortlist-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.shortlist-top h3{font-size:1rem;line-height:1.35;margin:0}.remove{border:0;background:transparent;padding:0;min-width:30px;min-height:30px;font-size:1.2rem;line-height:1;margin-top:-4px;flex-shrink:0}.blurb-preview{font-size:.875rem;color:#405850;margin:10px 0 12px}.copy-one{font-size:.8125rem;min-height:36px;padding:6px 10px}.newsletter-actions{padding:18px 22px 8px}.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover:not(:disabled){background:#315956}#copy-all{width:100%;min-height:46px}.text-button{border:0;background:none;color:var(--muted);width:100%;font-weight:550;margin-top:5px}.save-note{font-size:.8125rem;color:var(--muted);margin:8px 22px 15px}.save-note:last-child{margin-bottom:22px}.empty-results{background:white;border:1px dashed #b6c9be;border-radius:9px;padding:32px}.empty-results p{color:var(--muted)}footer{border-top:1px solid var(--border);margin-top:34px;padding:18px 0;font-size:.8125rem;color:var(--muted);max-width:860px}footer p{margin:5px 0}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:30;background:var(--ink);color:white;padding:12px 20px;border-radius:7px;box-shadow:0 4px 24px #203d3c30;max-width:calc(100% - 30px);font-size:.875rem;display:none}.toast.visible{display:block}.skip{position:absolute;left:10px;top:-60px;background:white;padding:10px;z-index:50}.skip:focus{top:10px}dialog{width:min(560px,calc(100% - 30px));border:1px solid var(--border);border-radius:10px;padding:24px}dialog::backdrop{background:#203d3c80}dialog p{color:var(--muted)}dialog textarea{width:100%;min-height:240px;padding:12px;resize:vertical;border:1px solid #a9bdb4;border-radius:6px;font-size:1rem;margin-bottom:14px;line-height:1.5}dialog .primary{float:right}
@media(min-width:1250px){.newsletter{max-height:calc(100vh - 40px);overflow-y:auto}}
@media(max-width:980px){.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.event{padding:16px;grid-template-columns:52px minmax(0,1fr);gap:13px}.sort-note{display:none}.newsletter-heading,.shortlist-item{padding-left:18px;padding-right:18px}}
@media(max-width:760px){main{padding:25px 18px}.topbar-inner{padding:12px 18px}.intro{align-items:start;flex-direction:column;gap:18px;margin-bottom:22px}.verified{font-size:.8125rem;flex-direction:row;flex-wrap:wrap;gap:4px 10px;align-items:baseline;border-left-width:2px;padding-left:12px}.verified strong{font-size:.875rem;margin:0}.verified span:last-child{flex-basis:100%}.workspace{display:flex;flex-direction:column;gap:20px}.event-section{width:100%}.newsletter{position:static;width:100%}.filters{padding:16px}.filter-fields{grid-template-columns:1fr 1fr;gap:12px}.filter-fields label:last-child{grid-column:1/-1}.filter-bottom{align-items:start;flex-direction:column;gap:14px}.event{padding:16px 13px;grid-template-columns:48px minmax(0,1fr);gap:12px}.event h3{font-size:1.25rem}.event-date{line-height:1.65}.topbar-inner{font-size:.8125rem}.monogram{width:30px;height:30px}.private-label{gap:4px}.date-stamp .day{font-size:1.75rem}.source-line{display:block}.source-line span{display:block;margin-top:5px}.intro .eyebrow{font-size:.75rem}.newsletter-actions{padding-top:18px}footer{margin-top:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
