:root{--ink:#173541;--muted:#526a71;--paper:#fff;--back:#f7f8f6;--stroke:#c7d8d6;--accent:#9e536a;--tint:#f8eef1;font-family:Poppins,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--back)}button,input,select{font:inherit}button{cursor:pointer}.shell{max-width:1100px;margin:auto;padding:22px 20px 44px}.top{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.top h1{font-family:'Fredericka the Great',Georgia,serif;font-size:clamp(2rem,4.7vw,3.6rem);line-height:1.17;font-weight:400;margin:0 0 8px}.top p{margin:0;color:var(--muted)}.source-link{color:var(--ink);font-weight:600;white-space:nowrap;text-underline-offset:3px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.search{flex:2 1 250px}.category{flex:1 1 175px}input,select{width:100%;height:46px;border:1px solid var(--stroke);border-radius:8px;padding:0 13px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #236e89;outline-offset:2px}.views{display:flex;border:1px solid var(--stroke);border-radius:8px;overflow:hidden;background:#fff}.views button{border:0;background:none;padding:10px 15px;color:var(--ink)}.views button.on{background:var(--ink);color:#fff}.calendar{background:#fff;border:1px solid var(--stroke);border-radius:15px;padding:20px;margin-bottom:32px;min-width:0}.month-head{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;margin-bottom:20px}.month-head h2,.results h2{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:400;margin:0}.month-head h2{text-align:center}.nav{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--stroke);background:#fff;border-radius:50%;color:var(--ink)}.nav svg{height:23px;width:23px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0}.weekday{text-align:center;color:var(--muted);font-size:.875rem;font-weight:700;padding:4px 0 8px}.blank{min-width:0}.day{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-width:0;min-height:84px;text-align:left;border:1px solid #d8dfdd;border-radius:8px;background:var(--paper);padding:10px;color:var(--ink)}.day strong{font-size:1rem}.day span{font-size:.8rem;color:var(--accent);font-weight:600;line-height:1.2}.day.has-events{background:var(--tint);border-color:#e8c7d1}.event-word{font-style:normal}.day.selected{box-shadow:inset 0 0 0 2px var(--ink)}.results-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.results-head span{color:var(--muted);white-space:nowrap}.cards{display:grid;gap:10px}.card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--stroke);border-radius:10px;padding:14px;background:#fff;min-width:0}.date{align-self:stretch;border-radius:7px;background:var(--tint);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.date strong{font:normal 1.8rem Georgia,serif}.date span{text-transform:uppercase;font-size:.78rem;font-weight:700}.info{min-width:0}.tag{color:var(--accent);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem}.info h3{font:normal 1.3rem Georgia,serif;line-height:1.25;margin:4px 0}.info p{color:var(--muted);font-size:.93rem;margin:0}.card a{color:var(--ink);font-weight:600;text-align:right;text-underline-offset:3px}.notice{padding:22px;background:#fff;border:1px solid var(--stroke);border-radius:10px}footer{margin-top:30px;color:var(--muted);font-size:.9rem}footer p{margin:5px 0}footer a{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:650px){.shell{padding:16px 12px 32px}.top{display:block}.source-link{display:inline-block;margin-top:10px}.toolbar{gap:8px}.views{width:100%}.views button{flex:1}.calendar{padding:12px 8px;border-radius:10px}.month-head{grid-template-columns:40px minmax(0,1fr) 40px;gap:4px}.nav{width:38px;height:38px}.grid{gap:3px}.weekday{font-size:.68rem}.day{min-height:54px;padding:5px 3px;border-radius:5px}.day strong{font-size:.9rem}.day span{font-size:.72rem;white-space:nowrap}.event-word{display:none}.card{grid-template-columns:52px minmax(0,1fr);gap:11px;padding:10px}.date strong{font-size:1.45rem}.info h3{font-size:1.14rem}.card a{grid-column:2;text-align:left;font-size:.9rem}.info p{font-size:.84rem}.results-head h2{font-size:1.6rem}}@media(max-width:370px){.day span{font-size:.68rem}.weekday{font-size:.6rem}.day{min-height:49px}}@media(prefers-reduced-motion:no-preference){button:hover{filter:brightness(.96)}}

.ongoing{margin-top:32px;padding-top:24px;border-top:1px solid var(--stroke)}.section-note{color:var(--muted);margin:0 0 15px}.results-head{flex-wrap:wrap}

.calendar-total{font-size:.875rem;color:var(--muted);margin:0 0 10px}.suggestion{margin:0 0 20px}.suggestion summary,.correction summary{cursor:pointer;font-size:.83rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.suggestion p{font-size:.86rem;max-width:720px;color:var(--muted)}.suggestion form,.correction form{display:grid;gap:8px;margin-top:10px;max-width:720px}textarea{font:inherit;font-size:.88rem;width:100%;min-height:88px;border:1px solid var(--stroke);border-radius:8px;padding:10px;resize:vertical;background:#fff;color:var(--ink)}textarea:focus-visible,summary:focus-visible{outline:3px solid #236e89;outline-offset:2px}.suggestion form button,.correction form button{justify-self:start;border:1px solid var(--stroke);border-radius:7px;min-height:44px;padding:8px 14px;background:#fff;color:var(--ink);font:inherit;font-size:.83rem}.correction{grid-column:2/-1;min-width:0}.correction summary{font-size:.75rem}.form-message{font-size:.8rem;color:var(--muted);margin:0;min-height:1.3em}#pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin:18px 0}#pagination button{border:1px solid var(--stroke);border-radius:7px;background:white;color:var(--ink);min-height:44px;padding:8px 12px}#pagination span{font-size:.84rem}button:disabled{opacity:.5;cursor:default}@media(max-width:650px){.correction{grid-column:2}.suggestion form{max-width:100%}}
