*{box-sizing:border-box}
[hidden]{display:none !important}
:root{
  --bg-top:#fff7e8;--bg-bottom:#eaf7f0;--warm-card:#ffffff;
  --amber:#f59e0b;--amber-dark:#d97706;--terracotta:#ef4444;--terracotta-dark:#dc2626;
  --owl-brown:#4a2e22;--owl-brown-deep:#3d2419;--ink:#1f2937;--muted:#6b7280;--line:#f0dfc4;
  --ice:#22d3ee;--ice-dark:#0891b2;--green:#16a34a;--green-dark:#15803d;--green-light:#dcfce7;
  --coral:#fb7185;--coral-dark:#e11d48;--pink:#ec4899;--blue:#3b82f6;--purple:#7c3aed;--orange:#ea580c;--orange-dark:#9a3412;
}
body{margin:0;background:linear-gradient(160deg,var(--bg-top) 0%,var(--bg-bottom) 55%,#e7f3ff 100%);background-attachment:fixed;color:var(--ink);font:15px/1.6 "Segoe UI",system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.wrap{max-width:1180px;margin:auto;padding:0 20px 28px}
.top-bar{height:6px;background:var(--owl-brown-deep);width:100%}
.build-badge{position:fixed;bottom:10px;right:10px;background:#1f2937ee;color:#a7f3d0;font:11px/1.4 ui-monospace,monospace;padding:5px 10px;border-radius:8px;z-index:9999;letter-spacing:.02em;pointer-events:none}
.build-badge.warn{background:#7f1d1dee;color:#fecaca}
header{max-width:1180px;margin:0 auto;padding:16px 20px 0}
.brand-row{display:flex;align-items:center;gap:14px}
.logo{width:50px;height:50px;border-radius:14px;box-shadow:0 6px 16px #f5970044;flex-shrink:0;border:2px solid white;background:#fff}
.logo.small{width:44px;height:44px;border-radius:13px}
.brandname{font-weight:900;font-size:20px;letter-spacing:-.01em;color:var(--ink);display:flex;align-items:center;gap:10px}
.brandname.light{color:#fdf2e3;font-size:17px}
.tagline{margin:1px 0 0;color:var(--muted);font-size:12.5px;font-weight:600}
.tagline.light{color:#d8c7b4;font-size:11px}
.version{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#cffafe,#a5f3fc);color:var(--ice-dark);border:1px solid #67e8f9;border-radius:99px;padding:3px 11px;font-size:11px;font-weight:700;letter-spacing:.03em;box-shadow:0 2px 8px #22d3ee33;text-decoration:none;transition:.15s}
.version:hover{filter:brightness(0.95)}
.version b{color:#0e7490;font-weight:900}
.vlit-tag{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e7f3e9;border-radius:16px;padding:9px 14px;text-decoration:none;box-shadow:0 4px 14px #0000000a;flex-shrink:0}
.vlit-tag b{color:var(--ink);font-size:12.5px}
.vlit-tag small{color:var(--muted);font-size:10.5px}
.vlit-tag.dark{background:#ffffff14;border-color:#ffffff22}
.vlit-tag.dark b{color:#fdf2e3}
.vlit-tag.dark small{color:#cdbca8}
.vlit-dot{font-size:16px}
.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-top:18px;align-items:start}
.card{background:var(--warm-card);border:1px solid #eef0f2;border-radius:26px;padding:26px;box-shadow:0 12px 30px #0000000a}
h3{margin:20px 0 6px;font-size:17px;color:var(--ink)}

/* ---- park chooser ---- */
.park-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.availability-card .pill{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fff,#fff7ed);border:1px solid #fde4c0;border-radius:99px;padding:6px 13px;box-shadow:0 3px 12px #d9770610;font-size:12px;font-weight:700;color:var(--amber-dark)}
.park-pill select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;color:inherit;padding:0 2px 0 0;margin:0;width:auto;max-width:64vw;cursor:pointer;outline-offset:3px}
.park-pill .caret{font-size:11px;margin-left:-2px;pointer-events:none}
.pin-btn{border:1.5px solid #fde4c0;background:#fff;color:var(--amber-dark);font:inherit;font-size:11.5px;font-weight:800;border-radius:99px;padding:5px 11px;cursor:pointer}
.pin-btn:hover{background:#fff7ed}

/* ---- Integrated status box ---- */
.hero{border-radius:20px;border:2px solid;padding:16px 18px;position:relative}
.hero-row{display:flex;align-items:center;gap:16px}
.hero.available{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:var(--green);color:var(--green-dark)}
.hero.sport{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:var(--terracotta);color:var(--terracotta-dark)}
.hero.maintenance{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:var(--amber);color:var(--amber-dark)}
.hero.partial{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:var(--orange);color:var(--orange-dark)}
.hero.pending-partial{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fb923c;border-style:dashed;color:var(--orange-dark)}
.hero.unsure{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#94a3b8;color:#475569}
.hero.caution{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b;border-style:dashed;color:#92400e}
.hero.pending-sport{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-color:#fb7185;border-style:dashed;color:#9f1239}
.hero.pending-available{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#4ade80;border-style:dashed;color:#166534}
.hero.disputed{background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#a16207;border-style:dashed;color:#713f12}
.status-icon{position:relative;width:52px;height:52px;border-radius:15px;color:white;display:grid;place-items:center;font-size:25px;flex-shrink:0;box-shadow:0 8px 18px #00000022}
.available .status-icon,.pending-available .status-icon{background:linear-gradient(145deg,#22c55e,var(--green-dark))}
.sport .status-icon,.pending-sport .status-icon{background:linear-gradient(145deg,#f87171,var(--terracotta-dark))}
.maintenance .status-icon,.caution .status-icon{background:linear-gradient(145deg,#fbbf24,var(--amber-dark))}
.partial .status-icon,.pending-partial .status-icon{background:linear-gradient(145deg,#fb923c,var(--orange))}
.disputed .status-icon{background:linear-gradient(145deg,#eab308,#a16207)}
.unsure .status-icon{background:linear-gradient(145deg,#94a3b8,#64748b)}
.pending-sport .status-icon,.pending-available .status-icon,.pending-partial .status-icon,.caution .status-icon{opacity:.8}
.hero.locked .status-icon::after{content:"🔒";position:absolute;right:-7px;bottom:-7px;width:21px;height:21px;border-radius:50%;background:#fff;font-size:12px;line-height:21px;text-align:center;box-shadow:0 2px 6px #0003}
.grow{flex:1;min-width:0}
.hero h2{font-size:1.25rem;margin:0;color:inherit;line-height:1.25}
.hero p{margin:3px 0 0;opacity:.85;font-size:13px;line-height:1.35}
.hero-meta{display:flex;gap:14px;margin-top:7px;font-size:11.5px;opacity:.85;flex-wrap:wrap}
.hero-meta b{font-weight:600}
.open-pill{background:#fff;color:inherit;font-weight:700;font-size:11px;letter-spacing:.06em;border-radius:99px;padding:6px 14px;box-shadow:0 3px 10px #0000001a;flex-shrink:0}
.council-strip{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1.5px dashed #00000026}
.council-pill{border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600;line-height:1.3;color:#fff}
.council-pill.later{background:var(--purple)}
.council-pill.soon{background:#fbbf24;color:#451a03}
.council-pill.urgent{background:var(--terracotta-dark);color:#fff;animation:pulse 2.2s ease-in-out infinite}
.council-pill.quiet{background:#ffffffc7;color:inherit}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}
@media (prefers-reduced-motion:reduce){.council-pill.urgent{animation:none}}
.council-links{display:inline-flex;align-items:center;gap:6px}
.council-link{font-size:12px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:2px}
.council-asterisk{border:0;background:#ffffffc7;color:inherit;font-weight:700;font-size:13px;line-height:1;width:22px;height:22px;border-radius:50%;cursor:pointer;padding:0}
.council-footnote{margin:8px 0 0 !important;font-size:11.5px !important;font-weight:500;opacity:.9}
.council-notes{margin:6px 0 0 !important;font-size:12px !important;font-weight:600}
.status-actions{margin-top:10px;padding:9px 11px;background:#ffffffc7;border-radius:14px;font-size:13px;font-weight:700;color:#78350f;display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}
.action-buttons{display:flex;gap:8px;flex:1;min-width:220px}
.council-yes,.council-no{flex:1;border:0;border-radius:12px;padding:9px 10px;font-weight:800;font-size:12.5px;cursor:pointer}
.council-yes{background:#15803d;color:#fff}
.council-no{background:#78350f;color:#fff7ed}
.council-yes:hover,.council-no:hover{filter:brightness(1.12)}
.council-yes:disabled,.council-no:disabled,.confirm-btn:disabled{opacity:.5;cursor:default}
.confirm-btn{background:#78350f;color:#fff7ed;border:0;border-radius:99px;padding:8px 16px;font-weight:800;font-size:12.5px;cursor:pointer;white-space:nowrap}
.confirm-btn:hover{filter:brightness(1.15)}
.quick-busy{display:flex;gap:6px;flex:1;min-width:220px;align-items:center}
.quick-busy button{flex:1;border:0;border-radius:12px;padding:9px 6px;font-weight:600;font-size:12.5px;cursor:pointer;background:#fff;color:inherit;box-shadow:0 2px 6px #0000001a}
.quick-busy button:hover{filter:brightness(.96)}
.quick-busy button:disabled{opacity:.5;cursor:default}
.quick-busy .qb-small{flex:0 0 auto;padding:6px 9px;font-size:11px;font-weight:700;opacity:.85}
.last-week{margin:8px 0 0 !important;font-size:12px !important;font-weight:700;line-height:1.45 !important}
.last-week-link{color:inherit;font-weight:900;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.today-item.override{background:#f5f3ff;border-color:#ddd6fe}
.today-item.override .ti-main b{color:#5b21b6}
.today-item .ti-sep{color:var(--muted)}
.today-item.override .ti-when{margin-left:0}
.council-confirm-msg{font-size:11.5px;font-weight:700;width:100%}
.council-confirm-msg:empty{display:none}
.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.choices button{border:2px solid transparent;border-radius:18px;padding:16px;text-align:left;font-size:24px;cursor:pointer;transition:.15s}
.choices button b,.choices button span{display:block}
.choices button b{font-size:14.5px;margin-top:9px}
.choices button span{font-size:11px;margin-top:3px;opacity:.75}
.choices button[data-status="available"]{background:#dcfce7;color:#166534}
.choices button[data-status="sport"]{background:#fde4e8;color:#9f1239}
.choices button[data-status="maintenance"]{background:#fef3c7;color:#92400e}
.choices button[data-status="partial"]{background:#ffedd5;color:var(--orange-dark)}
.choices button:hover{filter:brightness(0.97)}
.choices button[data-status="available"].selected{border-color:var(--green-dark);box-shadow:0 6px 18px #16a34a33}
.choices button[data-status="sport"].selected{border-color:var(--coral-dark);box-shadow:0 6px 18px #e11d4833}
.choices button[data-status="maintenance"].selected{border-color:var(--amber-dark);box-shadow:0 6px 18px #d9770633}
.choices button[data-status="partial"].selected{border-color:var(--orange);box-shadow:0 6px 18px #ea580c33}
.busy-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.busy-row button{border:2px solid #e5e7eb;background:#fafafa;border-radius:14px;padding:9px 6px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;transition:.15s}
.busy-row button:hover{border-color:#d1d5db}
.busy-row button.busy-selected{border-color:var(--ice-dark);background:#ecfeff;color:var(--ice-dark)}
.note{display:block;font-size:12px;font-weight:800;margin-top:16px;color:var(--owl-brown)}
input,textarea{width:100%;border:1.5px solid #e2d6c4;border-radius:12px;padding:11px;margin-top:5px;font:inherit;background:#fffdf9;color:var(--ink)}
input:focus,textarea:focus{outline:2px solid var(--ice);outline-offset:1px;border-color:var(--ice)}
.primary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:0;border-radius:14px;padding:15px 17px;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--amber-dark),var(--terracotta-dark));color:white;margin-top:16px;box-shadow:0 10px 22px #ef444433;font-size:14.5px}
.primary:hover{filter:brightness(1.08)}
.primary:disabled{opacity:.4;cursor:default;box-shadow:none}
.fineprint{margin-top:12px;text-align:center;font-size:11px;line-height:1.5;color:#a3917e}
.fineprint.geo-note{background:#fff7ed;border:1px solid #fde4c0;border-radius:10px;padding:8px 10px;color:var(--orange-dark);font-weight:600}
#message{font-size:13px;margin-top:10px;font-weight:700;text-align:center}
#message:empty{display:none}
.ok{color:var(--green-dark)}
.error{color:var(--terracotta-dark)}
.cf-turnstile{margin-top:0;display:flex;justify-content:center;min-height:0}

/* ---- Reported today ---- */
.today{margin-top:14px;padding-top:4px;border-top:1px solid #f1f1f1}
.today h3{margin:12px 0 6px;font-size:15px}
.today-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.today-item{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid #eef0f2;border-radius:12px;padding:8px 10px;font-size:12.5px}
.today-item.unconf{border-style:dashed;background:#fff}
.today-item .ti-icon{font-size:17px}
.today-item .ti-main{flex:1;min-width:0}
.today-item .ti-when{color:var(--muted);font-weight:600;margin-left:4px}
.today-item .ti-who{font-size:11px;color:var(--muted);font-weight:600;text-align:right}
.today-item.sport .ti-main b{color:#9f1239}
.today-item.available .ti-main b{color:#166534}
.today-item.maintenance .ti-main b{color:#92400e}
.today-item.partial .ti-main b{color:var(--orange-dark)}
.today-empty{color:var(--muted);font-size:12.5px}
.today-link{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:800;color:var(--ice-dark);text-decoration:none}
.today-link:hover{text-decoration:underline}
.notfound{margin-top:18px;text-align:center}
.notfound h2{margin:0 0 6px}
.notfound-list{list-style:none;margin:14px auto 0;padding:0;display:grid;gap:8px;max-width:420px}
.notfound-list a{display:block;background:#f8fafc;border:1px solid #eef0f2;border-radius:12px;padding:10px 14px;font-weight:800;color:var(--ice-dark);text-decoration:none}
.map-card{padding:14px;position:relative;align-self:stretch;display:flex;flex-direction:column}
.map-frame{border-radius:18px;overflow:hidden;flex:1;min-height:420px;background:#f3f1ec}
.maplibregl-map{border-radius:18px;font-family:inherit}
.maplibregl-ctrl-attrib{font-size:9px !important;background:#ffffffcc !important}
.maplibregl-ctrl-attrib a{color:#6b7280 !important}
.park-pin-dot{width:18px;height:18px;border-radius:50%;background:var(--terracotta-dark);border:3px solid white;box-shadow:0 2px 8px #0003;cursor:pointer}
.map-toggle{position:absolute;top:26px;left:26px;display:flex;background:#fff;border-radius:99px;padding:3px;box-shadow:0 4px 14px #0000001f;z-index:400;gap:2px}
.map-toggle button{border:0;background:transparent;border-radius:99px;padding:6px 12px;font-size:11px;font-weight:800;color:var(--muted);cursor:pointer}
.map-toggle button.active{background:var(--ink);color:#fff}
.map-view-larger{position:absolute;top:26px;right:26px;background:#fff;border-radius:99px;padding:8px 14px;font-size:12px;font-weight:800;color:var(--ink);text-decoration:none;box-shadow:0 4px 14px #0000001f;z-index:400}
.map-pin-tag{position:absolute;bottom:26px;left:26px;background:#fff;border-radius:99px;padding:8px 14px;font-size:12px;font-weight:800;color:var(--terracotta-dark);box-shadow:0 4px 14px #0000001f;z-index:400}
.info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.info-card{background:var(--warm-card);border:1px solid #eef0f2;border-radius:22px;padding:22px;box-shadow:0 8px 22px #0000000a}
.info-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:20px;margin-bottom:12px}
.icon-blue{background:#dbeafe}.icon-orange{background:#ffe4cc}.icon-pink{background:#fce7f3}
.info-card h3{margin:0 0 6px;font-size:16px}
.info-card p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}
.info-card a,.linklike{color:var(--ice-dark);font-weight:800;font-size:13px;text-decoration:none;border:0;background:none;padding:0;cursor:pointer;font-family:inherit}
.info-card a:hover,.linklike:hover{text-decoration:underline}
footer{margin-top:10px;position:relative}
.footer-wave{margin-bottom:-2px}
.footer-wave svg{width:100%;height:40px;display:block}
.footer-inner{background:var(--owl-brown-deep);padding:26px 20px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-inner>*{max-width:1180px}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-links{display:flex;gap:18px}
.footer-links a{color:#e3d2bd;font-size:13px;text-decoration:none;font-weight:600}
.footer-links a:hover{color:white}
.privacy{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:14px;padding:12px;font-size:12px;color:#4338ca;margin-top:10px}
.footer-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.trusted-tag{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;border:1px solid #86efac;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:900;letter-spacing:.03em}
dialog{border:0;border-radius:28px;padding:0;max-width:650px;width:calc(100% - 30px);box-shadow:0 30px 100px #0006;background:var(--warm-card)}
dialog::backdrop{background:#1f2937cc}
dialog form{padding:28px}
.dialog-head{display:flex;justify-content:space-between;gap:15px}
.dialog-head small{color:var(--terracotta-dark);font-weight:900;letter-spacing:.14em;font-size:10px}
.dialog-head h2{margin:4px 0}
.dialog-head button{border:0;background:#f3f4f6;border-radius:50%;font-size:25px;width:40px;height:40px;cursor:pointer;color:var(--owl-brown)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-grid label{font-size:12px;font-weight:800;color:var(--owl-brown)}
.form-grid .full{grid-column:1/-1}
.form-grid fieldset{border:1.5px solid #e2d6c4;border-radius:14px;padding:12px}
.form-grid fieldset label{display:block;font-weight:500;margin:8px 0;color:var(--ink)}
.form-grid fieldset input,.consent input{width:auto;margin:0 7px 0 0}
.consent{display:flex;align-items:flex-start;line-height:1.4;color:var(--owl-brown)}
#formMessage,#interestMessage{font-size:13px;margin-top:10px;font-weight:700}
.prose h2{font-size:16px;margin:22px 0 6px;color:var(--owl-brown)}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:13.5px;line-height:1.7;color:var(--ink)}
.prose ul{margin:6px 0;padding-left:20px}
.prose .lead{color:var(--muted);font-size:13px}
@media(max-width:980px){.grid{grid-template-columns:1fr}.map-card{min-height:320px}.map-frame{min-height:300px}.info-row{grid-template-columns:1fr}}

/* ---- Phones: everything needed to REPORT fits on one screen ---- */
@media(max-width:760px){
  .wrap{padding:0 10px 16px}
  header{padding:8px 10px 0}
  .brand-row{gap:10px}
  .logo{width:34px;height:34px;border-radius:10px;border-width:2px}
  .brandname{font-size:15px;gap:6px}
  .version{padding:2px 8px;font-size:10px}
  .tagline{font-size:10.5px;margin:0}
  .card{padding:11px 11px 14px;border-radius:18px}
  .grid{margin-top:8px;gap:10px}
  .park-row{margin-bottom:7px;gap:6px}
  .availability-card .pill{padding:3px 9px;font-size:11px}
  .pin-btn{padding:3px 9px;font-size:10.5px}
  .hero{padding:8px 10px;border-radius:15px}
  .hero-row{display:grid;grid-template-columns:38px 1fr;column-gap:9px;row-gap:0;align-items:start}
  .status-icon{width:38px;height:38px;font-size:19px;border-radius:11px}
  .hero h2{font-size:1rem}
  .hero p{font-size:11px;margin-top:1px}
  .hero-meta{gap:2px 10px;font-size:10px;margin-top:3px}
  .open-pill{grid-column:2;justify-self:start;font-size:8.5px;padding:3px 8px;margin-top:3px;letter-spacing:.04em}
  .open-pill[data-kind="OPEN"],.open-pill[data-kind="IN USE"],.open-pill[data-kind="CLOSED"],.open-pill[data-kind="LOCKED"],.open-pill[data-kind="PARTLY OPEN"]{display:none}
  .council-strip{margin-top:7px;padding-top:7px;gap:5px 8px}
  .council-pill{font-size:11px;padding:4px 10px}
  .council-link{font-size:11px}
  .council-asterisk{width:20px;height:20px;font-size:12px}
  .status-actions{padding:7px 9px;font-size:12px;margin-top:7px;gap:6px}
  #actionText{flex:1 1 100%}
  .action-buttons{flex:1 1 100%;min-width:0}
  .council-yes,.council-no{padding:8px 6px;font-size:12px}
  .confirm-btn{flex:1 1 100%;padding:8px;font-size:12px;border-radius:12px}
  .quick-busy{flex:1 1 100%;min-width:0;gap:5px}
  .quick-busy button{padding:8px 4px;font-size:11.5px}
  .quick-busy .qb-small{padding:5px 7px;font-size:10px}
  .last-week{font-size:11px !important;margin-top:6px !important}
  h3{font-size:13.5px;margin:9px 0 5px}
  .choices{display:flex;flex-direction:column;gap:5px}
  .choices button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 11px;font-size:19px;border-radius:13px;text-align:left}
  .choices button b{font-size:13px;margin:0}
  .choices button span{font-size:10.5px;margin:0;opacity:.7;line-height:1.25}
  .note{font-size:10.5px;margin-top:8px}
  .busy-row{gap:5px;margin-top:5px}
  .busy-row button{padding:6px 3px;font-size:10px;border-radius:12px}
  .primary{padding:12px;font-size:13px;margin-top:8px;border-radius:13px}
  .fineprint{font-size:9.5px;margin-top:8px}
  .today h3{font-size:13.5px}
  .today-item{flex-wrap:wrap;gap:2px 8px;padding:7px 9px}
  .today-item .ti-when{display:block;margin:0;font-size:11.5px}
  .today-item .ti-sep{display:none}
  .today-item .ti-who{font-size:10px;text-align:left;flex:1 1 100%}
  .form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:16px}
  .build-badge{position:static;display:inline-block;background:transparent;color:#a7f3d0;padding:0;font-size:10px}
  .build-badge.warn{background:transparent;color:#fecaca}
}
/* ---- v2.4 admin override controls (shared by /admin/ and /trusted/) ---- */
.ov-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}
.ov-lbl{font-size:11px;font-weight:800;color:var(--owl-brown);min-width:40px}
.ov-chip{position:relative;display:inline-flex;align-items:center;gap:4px;border:1.5px solid #e2d6c4;background:#fff;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:700;color:var(--owl-brown);cursor:pointer}
.ov-chip input{width:auto;margin:0;position:absolute;opacity:0;pointer-events:none}
.ov-chip.on{background:#4a2e22;border-color:#4a2e22;color:#fff}
.ov-time{width:auto;margin:0;padding:6px 9px;font-size:13px}
.ov-item.active{border-color:#c4b5fd;background:#f5f3ff}
.ov-item .ov-state{font-weight:800}
.ov-item .btns{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;align-items:center}
.ov-pick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ov-pick button.on{outline:3px solid #4a2e22;outline-offset:1px}
.ov-list .mini,.trusted-page .mini{border:1.5px solid #e2d6c4;background:#fff;color:var(--owl-brown);border-radius:99px;padding:5px 10px;font:inherit;font-size:11.5px;font-weight:800;cursor:pointer}
.ov-list .mini.danger,.trusted-page .mini.danger{background:#dc2626;border-color:#dc2626;color:#fff}
.trusted-page .item{background:#fff;border:1.5px solid #eef0f2;border-radius:14px;padding:12px 14px;margin-top:8px;font-size:13px}
.trusted-page .empty{color:var(--muted);font-size:13px;margin-top:8px}
/* ===================================================================================
   v2.5 — VLIT footer badge, "Reported today" day arrows, and the site looks (themes).
   The look is chosen in /admin/ -> Look of the site and set on <html data-theme="...">.
   classic = the original look (no overrides). glass / matte / night are below.
   =================================================================================== */
.vlit-logo{width:34px;height:34px;border-radius:10px;flex-shrink:0;box-shadow:0 0 0 1px #ffffff26,0 4px 12px #0006}
.vlit-tag.dark{background:linear-gradient(135deg,#38bdf826,#2563eb33);border:1px solid #93c5fd59;box-shadow:inset 0 1px 0 #ffffff26,0 6px 18px #0b122040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vlit-tag.dark:hover{background:linear-gradient(135deg,#38bdf838,#2563eb4d)}
.vlit-tag.dark b{color:#f8fafc}
.vlit-tag.dark small{color:#bfdbfe}
.today-head{display:flex;align-items:center;gap:8px;margin:12px 0 6px}
.today .today-head h3{margin:0;flex:1}
.day-nav{border:1.5px solid #e5e7eb;background:#fff;color:var(--ink);width:30px;height:30px;border-radius:50%;font-size:18px;line-height:1;font-weight:800;cursor:pointer;display:grid;place-items:center;padding:0 0 2px}
.day-nav:hover:not(:disabled){background:#f1f5f9}
.day-nav:disabled{opacity:.3;cursor:default}
.today-head #dayPrev{order:2}.today-head #dayNext{order:3}
@media(max-width:760px){.today-head{margin:9px 0 5px}.day-nav{width:28px;height:28px;font-size:16px}}

/* ---------- GLASS: frosted, glossy, light ---------- */
[data-theme="glass"] body{background:radial-gradient(1200px 600px at 10% -10%,#fde68a66,transparent 60%),radial-gradient(900px 600px at 100% 10%,#a5f3fc80,transparent 55%),radial-gradient(900px 700px at 50% 110%,#c4b5fd66,transparent 60%),linear-gradient(160deg,#fff7ed,#eef6ff);background-attachment:fixed}
[data-theme="glass"] .card,[data-theme="glass"] .info-card{background:#ffffff8c;border:1px solid #ffffffd9;box-shadow:0 18px 40px #1e3a8a14,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
[data-theme="glass"] .hero{overflow:hidden;box-shadow:0 10px 26px #0f172a14,inset 0 1px 0 #ffffffcc}
[data-theme="glass"] .hero::before{content:"";position:absolute;inset:0 0 55% 0;background:linear-gradient(180deg,#ffffffa6,#ffffff00);pointer-events:none;border-radius:18px 18px 0 0}
[data-theme="glass"] .hero>*{position:relative}
[data-theme="glass"] .status-icon{box-shadow:0 8px 18px #00000026,inset 0 1px 0 #ffffff80,inset 0 -6px 12px #0000001a}
[data-theme="glass"] .council-pill{box-shadow:inset 0 1px 0 #ffffff66,0 4px 12px #0f172a1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
[data-theme="glass"] .council-pill.later{background:linear-gradient(135deg,#38bdf8e6,#2563ebe6);border:1px solid #ffffff59}
[data-theme="glass"] .council-pill.quiet{background:#ffffffb3;border:1px solid #ffffffe6}
[data-theme="glass"] .open-pill,[data-theme="glass"] .council-asterisk{background:#ffffffcc;box-shadow:inset 0 1px 0 #fff,0 3px 10px #0000001a}
[data-theme="glass"] .status-actions{background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
[data-theme="glass"] .choices button{box-shadow:inset 0 1px 0 #ffffffb3,0 4px 14px #0f172a0d}
[data-theme="glass"] .choices button[data-status="available"]{background:linear-gradient(180deg,#ecfdf5,#d1fae5)}
[data-theme="glass"] .choices button[data-status="partial"]{background:linear-gradient(180deg,#fff7ed,#fed7aa)}
[data-theme="glass"] .choices button[data-status="sport"]{background:linear-gradient(180deg,#fff1f2,#fecdd3)}
[data-theme="glass"] .choices button[data-status="maintenance"]{background:linear-gradient(180deg,#fffbeb,#fde68a)}
[data-theme="glass"] .busy-row button,[data-theme="glass"] .today-item,[data-theme="glass"] .day-nav{background:#ffffffa6;border-color:#ffffffe6}
[data-theme="glass"] .busy-row button.busy-selected{background:#e0f2fecc;border-color:#38bdf8;color:#0369a1}
[data-theme="glass"] .primary{background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 10px 24px #ef444440,inset 0 1px 0 #ffffff66}
[data-theme="glass"] .availability-card .pill,[data-theme="glass"] .version{box-shadow:inset 0 1px 0 #fff,0 3px 12px #0000000f}
[data-theme="glass"] .footer-inner{background:linear-gradient(180deg,#1e293b,#0f172a)}
[data-theme="glass"] .footer-wave path{fill:#1e293b}

/* ---------- MATTE: flat, soft, calm ---------- */
[data-theme="matte"] body{background:#f3f1ec}
[data-theme="matte"] .card,[data-theme="matte"] .info-card{background:#fbfaf7;border:1px solid #e6e1d8;box-shadow:none}
[data-theme="matte"] .hero{border-width:1.5px;box-shadow:none}
[data-theme="matte"] .hero.available{background:#e3f1e6;border-color:#5f9c6f;color:#2f5d3b}
[data-theme="matte"] .hero.sport{background:#f6e3e1;border-color:#c0675c;color:#8a3a31}
[data-theme="matte"] .hero.partial,[data-theme="matte"] .hero.pending-partial{background:#f7e8da;border-color:#c98a55;color:#7f4a1f}
[data-theme="matte"] .hero.maintenance,[data-theme="matte"] .hero.caution{background:#f5edd6;border-color:#c4a24f;color:#6f5718}
[data-theme="matte"] .hero.pending-sport{background:#f8ecea;border-color:#d39890;color:#8a3a31}
[data-theme="matte"] .hero.pending-available{background:#eaf4ec;border-color:#8fbf9b;color:#2f5d3b}
[data-theme="matte"] .hero.disputed{background:#f1ecd9;border-color:#9b8442;color:#5c4c1b}
[data-theme="matte"] .status-icon{box-shadow:none}
[data-theme="matte"] .available .status-icon,[data-theme="matte"] .pending-available .status-icon{background:#5f9c6f}
[data-theme="matte"] .sport .status-icon,[data-theme="matte"] .pending-sport .status-icon{background:#c0675c}
[data-theme="matte"] .partial .status-icon,[data-theme="matte"] .pending-partial .status-icon{background:#c98a55}
[data-theme="matte"] .maintenance .status-icon,[data-theme="matte"] .caution .status-icon{background:#c4a24f}
[data-theme="matte"] .council-pill.later{background:#4f6d7a}
[data-theme="matte"] .council-pill.soon{background:#d9b25c;color:#3b2a06}
[data-theme="matte"] .council-pill.urgent{background:#b5574c;animation:none}
[data-theme="matte"] .open-pill{box-shadow:none;border:1px solid #0000001a}
[data-theme="matte"] .choices button[data-status="available"]{background:#e3f1e6;color:#2f5d3b}
[data-theme="matte"] .choices button[data-status="partial"]{background:#f7e8da;color:#7f4a1f}
[data-theme="matte"] .choices button[data-status="sport"]{background:#f6e3e1;color:#8a3a31}
[data-theme="matte"] .choices button[data-status="maintenance"]{background:#f5edd6;color:#6f5718}
[data-theme="matte"] .choices button.selected{box-shadow:none !important}
[data-theme="matte"] .busy-row button{background:#f3f1ec;border-color:#e6e1d8}
[data-theme="matte"] .busy-row button.busy-selected{background:#e4ecef;border-color:#4f6d7a;color:#34505c}
[data-theme="matte"] .primary{background:#3d4f58;box-shadow:none}
[data-theme="matte"] .today-item{background:#f5f3ee;border-color:#e6e1d8}
[data-theme="matte"] .version{background:#e4ecef;border-color:#c9d6dc;color:#34505c;box-shadow:none}
[data-theme="matte"] .availability-card .pill{background:#f5efe4;box-shadow:none}
[data-theme="matte"] .logo{box-shadow:none}

/* ---------- NIGHT: dark navy, matches the VLIT logo (orange + blue) ---------- */
[data-theme="night"]{color-scheme:dark;--ink:#e5e7eb;--muted:#94a3b8;--warm-card:#111a2e;--owl-brown:#cbd5e1}
[data-theme="night"] body{background:radial-gradient(900px 500px at 0% 0%,#f9731622,transparent 60%),radial-gradient(900px 600px at 100% 0%,#0ea5e926,transparent 60%),#0a0f1c;background-attachment:fixed}
[data-theme="night"] .top-bar{background:linear-gradient(90deg,#f97316,#0ea5e9)}
[data-theme="night"] .card,[data-theme="night"] .info-card{background:#111a2ee6;border:1px solid #1f2a44;box-shadow:0 18px 40px #0008}
[data-theme="night"] .hero{background:#0f172a !important;box-shadow:inset 0 1px 0 #ffffff0d}
[data-theme="night"] .hero.available,[data-theme="night"] .hero.pending-available{color:#86efac}
[data-theme="night"] .hero.sport,[data-theme="night"] .hero.pending-sport{color:#fda4af}
[data-theme="night"] .hero.partial,[data-theme="night"] .hero.pending-partial{color:#fdba74}
[data-theme="night"] .hero.maintenance,[data-theme="night"] .hero.caution,[data-theme="night"] .hero.disputed{color:#fcd34d}
[data-theme="night"] .hero.unsure{color:#cbd5e1}
[data-theme="night"] .council-strip{border-top-color:#ffffff1f}
[data-theme="night"] .council-pill.later{background:linear-gradient(135deg,#0ea5e9,#2563eb);box-shadow:0 0 14px #0ea5e955}
[data-theme="night"] .council-pill.quiet,[data-theme="night"] .open-pill,[data-theme="night"] .council-asterisk{background:#1e293b;color:inherit}
[data-theme="night"] .status-actions{background:#1e293b;color:#fde68a}
[data-theme="night"] .quick-busy button{background:#0f172a;color:#e5e7eb;box-shadow:inset 0 0 0 1px #334155}
[data-theme="night"] .choices button{background:#162036 !important;border-color:#24304a}
[data-theme="night"] .choices button[data-status="available"]{color:#86efac}
[data-theme="night"] .choices button[data-status="partial"]{color:#fdba74}
[data-theme="night"] .choices button[data-status="sport"]{color:#fda4af}
[data-theme="night"] .choices button[data-status="maintenance"]{color:#fcd34d}
[data-theme="night"] .busy-row button{background:#162036;border-color:#24304a;color:#cbd5e1}
[data-theme="night"] .busy-row button.busy-selected{background:#0c4a6e;border-color:#38bdf8;color:#e0f2fe}
[data-theme="night"] .primary{background:linear-gradient(135deg,#f97316,#2563eb);box-shadow:0 10px 26px #2563eb40}
[data-theme="night"] .note,[data-theme="night"] .today-link,[data-theme="night"] .info-card a,[data-theme="night"] .linklike{color:#7dd3fc}
[data-theme="night"] .fineprint{color:#64748b}
[data-theme="night"] .fineprint.geo-note{background:#1e293b;border-color:#334155;color:#fdba74}
[data-theme="night"] .today{border-top-color:#1f2a44}
[data-theme="night"] .today-item{background:#162036;border-color:#24304a}
[data-theme="night"] .today-item.unconf{background:transparent}
[data-theme="night"] .today-item.available .ti-main b{color:#86efac}
[data-theme="night"] .today-item.sport .ti-main b{color:#fda4af}
[data-theme="night"] .today-item.partial .ti-main b{color:#fdba74}
[data-theme="night"] .today-item.maintenance .ti-main b{color:#fcd34d}
[data-theme="night"] .today-item.override{background:#1e1b4b;border-color:#3730a3}
[data-theme="night"] .today-item.override .ti-main b{color:#c4b5fd}
[data-theme="night"] .day-nav{background:#162036;border-color:#24304a;color:#e5e7eb}
[data-theme="night"] .availability-card .pill{background:#1e293b;border-color:#334155;color:#fdba74}
[data-theme="night"] .pin-btn{background:#1e293b;border-color:#334155;color:#fdba74}
[data-theme="night"] .version{background:linear-gradient(135deg,#0c4a6e,#1e3a8a);border-color:#38bdf8;color:#e0f2fe}
[data-theme="night"] .icon-blue{background:#1e3a8a}[data-theme="night"] .icon-orange{background:#7c2d12}[data-theme="night"] .icon-pink{background:#831843}
[data-theme="night"] .map-card{background:#111a2e}
[data-theme="night"] .footer-inner{background:#060a14}
[data-theme="night"] .footer-wave path{fill:#060a14}
[data-theme="night"] dialog{background:#111a2e;color:#e5e7eb}
[data-theme="night"] input,[data-theme="night"] textarea{background:#0f172a;border-color:#334155;color:#e5e7eb}
[data-theme="night"] .logo{border-color:#1f2a44;box-shadow:0 6px 16px #0008}
[data-theme="night"] .map-toggle,[data-theme="night"] .map-view-larger,[data-theme="night"] .map-pin-tag{background:#0f172a;color:#e5e7eb}
[data-theme="night"] .map-toggle button{color:#94a3b8}
[data-theme="night"] .map-toggle button.active{background:#2563eb;color:#fff}
[data-theme="night"] .map-frame{background:#0f172a}
/* ---- v2.5: visitor dark-mode pill (next to the version) and the "how busy" chip ---- */
.mode-pill{display:inline-flex;align-items:center;gap:4px;border:1px solid #cbd5e1;background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#334155;border-radius:99px;padding:3px 10px;font:inherit;font-size:11px;font-weight:700;letter-spacing:.03em;cursor:pointer;box-shadow:0 2px 8px #0f172a14;transition:.15s}
.mode-pill:hover{filter:brightness(.96)}
[data-theme="night"] .mode-pill{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#475569;color:#fde68a}
[data-theme="glass"] .mode-pill{background:#ffffffb3;border-color:#ffffffe6;box-shadow:inset 0 1px 0 #fff,0 3px 12px #0000000f}
@media(max-width:760px){.mode-pill{padding:2px 8px;font-size:10px}}
.busy-chip{display:inline-block;margin-left:6px;border-radius:99px;padding:0 7px;font-size:10.5px;font-weight:600;line-height:1.6;vertical-align:1px;white-space:nowrap}
.busy-chip.quiet{background:#e0f2fe;color:#0369a1}
.busy-chip.busy{background:#fef3c7;color:#92400e}
.busy-chip.crazy{background:#fee2e2;color:#b91c1c}
[data-theme="night"] .busy-chip.quiet{background:#0c4a6e;color:#bae6fd}
[data-theme="night"] .busy-chip.busy{background:#713f12;color:#fde68a}
[data-theme="night"] .busy-chip.crazy{background:#7f1d1d;color:#fecaca}
.today-item.busy-busy{border-left:3px solid #f59e0b}
.today-item.busy-crazy{border-left:3px solid #ef4444}
.today-item.busy-quiet{border-left:3px solid #38bdf8}
/* ---- v2.5b: last-week summary pill + ⓘ details (sits in the council strip) ---- */
.lw-wrap{display:inline-flex;align-items:center;gap:5px}
.lw-pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:4px 12px;font-size:12px;font-weight:600;line-height:1.3;
  background:linear-gradient(135deg,#ffffffd9,#ffffff99);border:1px solid #ffffffe6;box-shadow:inset 0 1px 0 #fff,0 3px 10px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lw-pill.used{color:#9f1239;border-color:#fecdd3}
.lw-pill.partial{color:#9a3412;border-color:#fed7aa}
.lw-pill.not-used{color:#166534;border-color:#bbf7d0}
.lw-pill.restricted{color:#92400e;border-color:#fde68a}
.lw-info{border:0;background:#ffffffc7;color:inherit;font:italic 700 12px/1 Georgia,serif;width:22px;height:22px;border-radius:50%;cursor:pointer;padding:0}
.lw-info[aria-expanded="true"]{background:#1f2937;color:#fff}
.lw-detail{margin:8px 0 0 !important;font-size:11.5px !important;font-weight:500;opacity:.9;line-height:1.45 !important}
[data-theme="night"] .lw-pill{background:#1e293b;border-color:#334155;box-shadow:none}
[data-theme="night"] .lw-pill.used{color:#fda4af}[data-theme="night"] .lw-pill.partial{color:#fdba74}
[data-theme="night"] .lw-pill.not-used{color:#86efac}[data-theme="night"] .lw-pill.restricted{color:#fcd34d}
[data-theme="night"] .lw-info{background:#1e293b}
[data-theme="matte"] .lw-pill{background:#fbfaf7;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
@media(max-width:760px){.lw-pill{font-size:11px;padding:3px 10px}.lw-info{width:20px;height:20px;font-size:11px}.lw-detail{font-size:10.5px !important}}
/* ---- v2.6: "Has any sport been played today?", Normal busy chip, merged admin-confirmed lines ---- */
.sport-today{margin-top:10px}
.sport-today .note{margin-top:0}
.st-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.st-row button{border:1.5px solid #e5e7eb;background:#fafafa;border-radius:99px;padding:7px 12px;font:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}
.st-row button.on{border-color:var(--green-dark);background:#ecfdf5;color:var(--green-dark)}
.busy-chip.normal{background:#f1f5f9;color:#475569}
[data-theme="night"] .busy-chip.normal{background:#1e293b;color:#cbd5e1}
[data-theme="night"] .st-row button{background:#162036;border-color:#24304a;color:#cbd5e1}
[data-theme="night"] .st-row button.on{background:#052e16;border-color:#16a34a;color:#86efac}
.today-item.override.merged{background:#f0fdf4;border-color:#bbf7d0}
.today-item.override.merged .ti-main b{color:#166534}
[data-theme="night"] .today-item.override.merged{background:#052e16;border-color:#166534}
[data-theme="night"] .today-item.override.merged .ti-main b{color:#86efac}
@media(max-width:760px){.st-row button{padding:6px 10px;font-size:11px}}
.ov-check{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;font-weight:600;color:var(--owl-brown);cursor:pointer;line-height:1.35}
.ov-check input{width:auto;margin:2px 0 0}
.ov-check small{display:block;font-weight:500;color:var(--muted)}
/* ---- v2.8: bad-weather notice in the status box ---- */
.weather-note{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0 !important;padding:8px 11px;border-radius:12px;background:linear-gradient(135deg,#e0f2fe,#dbeafe);border:1px solid #93c5fd;color:#1e3a8a !important;font-size:12.5px !important;font-weight:600;line-height:1.4 !important;opacity:1 !important}
.weather-note .wn-ic{font-size:16px;line-height:1.1}
[data-theme="night"] .weather-note{background:#0c1d3a;border-color:#1e40af;color:#bfdbfe !important}
[data-theme="matte"] .weather-note{background:#e4ecef;border-color:#c9d6dc;color:#34505c !important}
@media(max-width:760px){.weather-note{font-size:11px !important;padding:6px 9px;margin-top:7px !important}}
/* ---- v2.9: bad-weather lines in "Reported today" ---- */
.today-item.weather{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}
.today-item.weather .ti-main b{color:#1e3a8a}
.today-item .ti-wx{display:block;font-size:11.5px;color:#1e40af;margin-top:1px}
[data-theme="night"] .today-item.weather{background:#0c1d3a;border-color:#1e40af}
[data-theme="night"] .today-item.weather .ti-main b,[data-theme="night"] .today-item .ti-wx{color:#bfdbfe}
/* ---- v2.9.2: the optional notice (banner) on the park page ---- */
.promo{display:flex;align-items:center;gap:14px;margin:22px auto 0;max-width:720px;padding:12px 16px;border-radius:18px;background:linear-gradient(135deg,#ffffff,#f8fafc);border:1px solid #e5e7eb;box-shadow:0 8px 22px #0f172a0f;text-decoration:none;color:var(--ink)}
.promo:hover{box-shadow:0 10px 26px #0f172a1a}
.promo.nolink{cursor:default}
.promo img{max-height:56px;max-width:140px;width:auto;border-radius:10px;object-fit:contain;flex-shrink:0}
.promo-text{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.4;font-weight:500}
.promo-text b{font-size:12.5px;color:var(--ice-dark);font-weight:700}
[data-theme="night"] .promo{background:#111a2e;border-color:#1f2a44;color:#e5e7eb}
[data-theme="night"] .promo-text b{color:#7dd3fc}
[data-theme="glass"] .promo{background:#ffffff8c;border-color:#ffffffd9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media(max-width:760px){.promo{margin:14px 10px 0;padding:10px 12px;gap:10px}.promo img{max-height:42px;max-width:96px}.promo-text{font-size:12px}}
/* ---- v2.9.2: pulsing "Live" dot ---- */
.live-ind{display:inline-flex;align-items:center;gap:5px;font-weight:700;letter-spacing:.02em}
.live-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;vertical-align:1px;font-style:normal}
.live-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:currentColor;animation:livepulse 2s ease-out infinite}
h2 .live-dot{color:#16a34a;width:10px;height:10px;margin-right:4px;vertical-align:2px}
@keyframes livepulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.8);opacity:0}}
@media (prefers-reduced-motion:reduce){.live-dot::after{animation:none}}
/* ---- v2.9.3: park in the header, calmer status box, softer report buttons, sticky Submit on phones ---- */
.brand-row{justify-content:flex-start}
.brand-main{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;flex:1;min-width:0}
.head-park{margin:0}
.head-park .pill{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#fff,#fff7ed);border:1px solid #fde4c0;border-radius:99px;padding:5px 12px;box-shadow:0 3px 12px #d9770610;font-size:12.5px;font-weight:700;color:var(--amber-dark)}
[data-theme="night"] .head-park .pill{background:#1e293b;border-color:#334155;color:#fdba74}
[data-theme="matte"] .head-park .pill{background:#f5efe4;box-shadow:none}
.head-mode{margin-left:auto;align-self:center}
.hero-meta{gap:6px;font-size:11.5px;opacity:.75}
.hero-meta>span:not([hidden])~span:not([hidden])::before{content:"·";margin-right:6px;opacity:.7}
.hero-meta b{font-weight:500}
.live-ind{font-weight:600}
.live-ind.still .live-dot{opacity:.45}
.live-ind.still .live-dot::after{animation:none;opacity:0}
.open-pill[data-kind="OPEN"],.open-pill[data-kind="IN USE"],.open-pill[data-kind="CLOSED"],.open-pill[data-kind="LOCKED"],.open-pill[data-kind="PARTLY OPEN"]{display:none}
.council-strip{flex-wrap:wrap;gap:6px 8px}
.council-footnote .council-link{margin-left:4px}
.choices button[data-status="available"]{background:#f0fdf4}
.choices button[data-status="sport"]{background:#fff1f2}
.choices button[data-status="maintenance"]{background:#fffbeb}
.choices button[data-status="partial"]{background:#fff7ed}
.choices button{border-color:#eef0f2}
.choices button[data-status="available"].selected{background:#dcfce7}
.choices button[data-status="sport"].selected{background:#fde4e8}
.choices button[data-status="maintenance"].selected{background:#fef3c7}
.choices button[data-status="partial"].selected{background:#ffedd5}
.today-more{display:block;margin:8px auto 0;border:1.5px solid #e5e7eb;background:#fff;border-radius:99px;padding:5px 14px;font:inherit;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}
[data-theme="night"] .today-more{background:#162036;border-color:#24304a;color:#cbd5e1}
@media(max-width:760px){
  .brand-main{gap:4px 8px}
  .head-park .pill{padding:3px 9px;font-size:11px}
  .head-mode{padding:2px 8px;font-size:10px}
  .tagline{display:none}
  .primary.ready{position:sticky;bottom:10px;z-index:50;box-shadow:0 10px 26px #0f172a40}
  .council-strip{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .council-strip::-webkit-scrollbar{display:none}
  .council-strip>*{flex-shrink:0}
}
