:root{color-scheme:light;--paper: #f3eee4;--card: #fffcf7;--ink: #1c2a24;--muted: #5d6b64;--line: #d9d0c3;--teal: #0f6b5c;--teal-ink: #07362f;--accent: #c45c26;--danger: #9b2c2c;--ok: #1f6b3a;--shadow: 0 1px 0 rgba(28, 42, 36, .04);--radius: 18px;--sans: "Segoe UI", system-ui, -apple-system, sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45}body{background-image:radial-gradient(circle at 12% -10%,#efe4cf 0,transparent 42%),linear-gradient(180deg,#ebe4d6 0,var(--paper) 28%)}.hero-scene{width:min(52rem,100%);height:220px;margin:0 auto;position:relative;overflow:hidden;background:#ebe4d6}.hero-scene canvas,.reveal-scene canvas{display:block;width:100%;height:100%}.reveal-scene>canvas{position:absolute;inset:0}.hero-fallback,.reveal-fallback{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#ded6c8 0 58%,#8b857c 58% 78%,#cfc6b6 78% 100%)}.hero-fallback:before,.reveal-fallback:before{content:"";position:absolute;left:12%;right:18%;top:56%;height:10px;background:#d4cdc0}.hero-fallback:after{content:"";position:absolute;left:22%;bottom:28%;width:72px;height:28px;background:#4f6d62}.hero-fallback.is-hidden,.reveal-fallback.is-hidden{display:none}@media(prefers-reduced-motion:reduce){.hero-scene{height:132px}}.next-card{display:grid;gap:.85rem}.reveal-scene{position:relative;height:auto;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line)}.zone-card{position:relative;z-index:0;background:var(--card);color:var(--ink);overflow:hidden}.zone-card.is-covered{visibility:hidden}.zone-card-header{background:var(--teal);color:#fffcf7;font-family:var(--serif);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.55rem .85rem .5rem;font-size:clamp(.82rem,3.4vw,1.02rem);line-height:1.2;overflow-wrap:anywhere;word-break:break-word}.zone-card-header-empty{min-height:.7rem;padding:.35rem .85rem}.zone-card-body{padding:.7rem .85rem .85rem}.zone-card-weekday,.zone-card-date{font-family:var(--serif);font-size:clamp(1.12rem,4.6vw,1.65rem);line-height:1.15;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere;word-break:break-word}.zone-card-date{margin-bottom:.4rem}.zone-card-cadence{margin:0 0 .55rem;color:var(--muted);font-size:clamp(.72rem,2.6vw,.88rem);line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.zone-card-bar{width:2.35rem;height:4px;background:var(--accent);border-radius:2px}#app{width:min(40rem,calc(100% - 1.5rem));margin:0 auto;padding:.35rem 0 3rem}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.brand h1{font-family:var(--serif);font-size:1.85rem;font-weight:600;letter-spacing:-.02em;margin:0}.brand p{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card)}.lang button{appearance:none;border:0;background:transparent;color:var(--muted);padding:.4rem .7rem;font:inherit;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.lang button[aria-pressed=true]{background:var(--ink);color:var(--card)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:.85rem;box-shadow:var(--shadow)}label{display:block;font-size:.85rem;font-weight:650;margin-bottom:.4rem}input[type=text],input[type=email]{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem .85rem;font:inherit;color:var(--ink)}input:focus{outline:2px solid var(--teal);outline-offset:1px}.row{display:flex;gap:.6rem;flex-wrap:wrap}.row input{flex:1 1 12rem}button.primary,button.secondary{appearance:none;border:0;border-radius:12px;padding:.75rem 1rem;font:inherit;font-weight:650;cursor:pointer}button.primary{background:var(--teal);color:#f7fffc}button.primary:disabled{opacity:.65;cursor:wait}button.secondary{background:transparent;color:var(--teal-ink);border:1px solid var(--teal)}.hero-date{font-family:var(--serif);font-size:clamp(1.6rem,6vw,2.15rem);line-height:1.15;letter-spacing:-.03em;margin:.15rem 0 .55rem}.meta{display:grid;grid-template-columns:1fr;gap:.35rem 1rem;color:var(--muted);font-size:.95rem}.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--accent)}.dates{list-style:none;margin:0;padding:0}.dates li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.dates li:last-child{border-bottom:0}.rules-grid{display:grid;gap:1rem}.rules-grid h3,.card h2{font-family:var(--serif);font-size:1.15rem;margin:0 0 .55rem}.rules-grid ul{margin:0;padding-left:1.1rem}.rules-grid li+li{margin-top:.3rem}.not-allowed li::marker{color:var(--danger)}.sources{font-size:.9rem}.sources a{color:var(--teal-ink)}.muted,.disclaimer,.status{color:var(--muted);font-size:.9rem}.status.ok{color:var(--ok)}.status.err{color:var(--danger)}.map-wrap{height:220px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.address-pin{background:transparent;border:0}.address-pin svg{display:block;filter:drop-shadow(0 1px 2px rgba(28,42,36,.35))}.map-legend{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.4rem .55rem;font-size:.75rem;color:var(--ink);line-height:1.4;box-shadow:var(--shadow)}.map-legend-row{display:flex;align-items:center;gap:.4rem}.map-legend-row+.map-legend-row{margin-top:.2rem}.map-legend-pin,.map-legend-poly{flex:0 0 auto}.map-legend-pin{width:10px;height:10px;border-radius:50%;background:var(--accent);border:1px solid var(--ink)}.map-legend-poly{width:12px;height:10px;background:color-mix(in srgb,var(--accent) 28%,transparent);border:2px solid var(--accent)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.city-list{margin:.6rem 0 0;padding-left:1.1rem}.chooser{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.55rem}.chooser-btn{appearance:none;width:100%;text-align:left;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:.75rem .85rem;font:inherit;cursor:pointer}.chooser-btn:hover,.chooser-btn:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}.map-note{margin:.65rem 0 0;color:var(--muted);font-size:.92rem}footer{margin-top:1.25rem;color:var(--muted);font-size:.85rem}footer .app-version{margin:.55rem 0 0;font-size:.72rem;letter-spacing:.02em;color:color-mix(in srgb,var(--muted) 58%,var(--paper))}body.admin-page #app{width:min(72rem,calc(100% - 1.5rem))}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.65rem 0 .85rem}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem}.admin-stat-n{font-family:var(--serif);font-size:1.7rem;letter-spacing:-.03em;margin:.15rem 0 0}.admin-stat-ok .admin-stat-n{color:var(--ok)}.admin-stat-request .admin-stat-n{color:var(--teal)}.admin-county-line{margin:.2rem 0 0;color:var(--muted);font-size:.92rem}.admin-filters{display:grid;gap:.65rem;margin-bottom:.75rem}.admin-filters select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.75rem .85rem;font:inherit;color:var(--ink)}.admin-table-wrap{overflow-x:auto;margin-top:.55rem}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:.5rem .45rem;border-bottom:1px solid var(--line)}.admin-sort{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:650;padding:0;cursor:pointer}.admin-row{cursor:pointer}.admin-row:hover,.admin-row.is-open{background:color-mix(in srgb,var(--card) 70%,var(--paper))}.admin-pill{display:inline-block;border-radius:999px;padding:.12rem .5rem;font-size:.78rem;letter-spacing:.02em}.admin-pill-verified{background:color-mix(in srgb,var(--ok) 16%,#fff);color:var(--ok)}.admin-pill-request-based{background:color-mix(in srgb,var(--teal) 16%,#fff);color:var(--teal-ink)}.admin-pill-unverified{background:color-mix(in srgb,var(--accent) 16%,#fff);color:var(--accent)}.admin-detail td{background:#fff;color:var(--muted)}.admin-detail a{color:var(--teal-ink)}@media(min-width:640px){.admin-filters{grid-template-columns:2fr 1fr 1fr;align-items:end}.hero-scene{height:260px}.next-card{grid-template-columns:1fr minmax(13rem,38%);align-items:start}.reveal-scene{height:auto}.meta,.rules-grid{grid-template-columns:1fr 1fr}.map-wrap{height:280px}}
