:root{font-family:system-ui,sans-serif;color:#122327;background:#eef3f1;line-height:1.55}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
header{background:#102d30;color:#fff;padding:18px clamp(18px,5vw,72px);display:flex;justify-content:space-between;gap:16px;align-items:center}
header a{color:inherit;text-decoration:none;font-weight:800;letter-spacing:.11em}
header strong{color:#9ee4ba}
header span{font-size:.9rem}
main{max-width:1180px;margin:auto;padding:clamp(20px,5vw,60px)}
.eyebrow{letter-spacing:.16em;color:#305f53;font-size:.75rem;font-weight:800}
h1{font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.1;margin:.35em 0}
h2,h3{line-height:1.25}
.panel{background:#fff;padding:clamp(14px,3vw,24px);border:1px solid #ccdcd6;border-radius:12px;margin:16px 0}
#login{max-width:420px}
form label{display:block;font-weight:600;margin:8px 0}
input:not([type=checkbox]),textarea,select{display:block;width:100%;padding:9px;border:1px solid #859e97;border-radius:6px;font:inherit;color:inherit;background:#fff}
textarea{min-height:5em}
button{font:inherit;background:#16564c;color:#fff;border:0;border-radius:6px;padding:8px 14px;cursor:pointer;margin:5px 8px 5px 0}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid #147e6d;outline-offset:3px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.grid .panel{margin:0}
small,.muted{color:#48645d}
#notice:not(:empty){padding:10px 14px;background:#d7ebe3;border-radius:6px}
.event{border-top:1px solid #dae7e0;padding:12px 0;overflow-wrap:anywhere}
.event p{white-space:pre-wrap;margin:6px 0}
.event h3{margin:0}
.coordinates{font-variant-numeric:tabular-nums}
svg{display:block;width:min(100%,620px);height:auto;background:#e2f1e9;border:1px solid #9bb9ad;border-radius:8px}
@media print{header{color:#000;background:#fff}button,#notice,#filter{display:none!important}main{padding:0}.event{break-inside:avoid}body{background:white}}
