/* Launch pass, Oct 23, 2026: the standing lines, the neighbor survey, the low-data text page, the map list view,
   and a 14px floor for body text. Loaded last, after v2.css. */

/* ---------- the two standing lines ---------- */
.crisis-line{display:block;margin:14px 0 0;padding:10px 14px;border:1px solid rgba(239,74,79,.45);background:var(--red-dim);border-radius:var(--r-sm);color:var(--fg);line-height:1.5}
.crisis-line a{color:#ffd0d1;font-weight:700}
.crisis-line.ia-danger{margin-top:18px;font-size:15.5px}
.crisis-line.ib-c-urgent{font-weight:500}
.crisis-line.rp-crisis{margin-top:18px}
.crisis-line.gd-crisis{margin-top:10px}
.crisis-line.sv-crisis{margin-top:18px}
.accuracy-line{margin-top:12px;line-height:1.5}
.accuracy-line a{color:var(--acc);font-weight:600}
.foot .accuracy-line{margin-top:6px}

/* ---------- home: five primary buttons ---------- */
.ov-btns{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1180px){.ov-btns{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.ov-btns{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-btns .btn:last-child{grid-column:1 / -1}}
@media (max-width:420px){.ov-btns{grid-template-columns:minmax(0,1fr)}}

/* ---------- the survey ---------- */
.sv-wrap{max-width:760px}
.sv-form{display:grid;gap:22px}
.sv-q{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 18px;margin:0;min-width:0;background:var(--panel)}
.sv-q legend{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:baseline;padding:0 6px;margin-bottom:10px;float:left;width:100%;box-sizing:border-box}
.sv-q legend + *{clear:both}
.sv-n{font-family:var(--display);font-size:28px;line-height:1;color:var(--acc);font-variant-numeric:tabular-nums}
.sv-t{font-size:19px;font-weight:600;line-height:1.3}
.sv-hint{grid-column:2;font-size:14px;color:var(--muted)}
.sv-opts{display:grid;gap:8px;clear:both}
@media (min-width:640px){.sv-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sv-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line2);border-radius:var(--r-sm);background:rgba(255,255,255,.02);cursor:pointer;min-height:48px;font-size:15.5px;line-height:1.4;color:var(--fg)}
.sv-opt input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--acc)}
.sv-opt:has(input:checked){border-color:var(--acc-line);background:var(--acc-dim)}
.sv-opt:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:2px}
.sv-opt.sv-off{opacity:.5;cursor:not-allowed}
.sv-select{clear:both;max-width:100%}
.sv-count{margin-top:4px}
.sv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sv-send{align-items:center;gap:14px}
.sv-done{display:grid;gap:12px;padding:26px 24px}
.sv-ok{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--acc);color:var(--acc-ink)}
.sv-ok .ic{width:26px;height:26px}
.ib-survey{gap:10px 16px;margin:8px 0 4px}

/* ---------- the low-data text page ---------- */
.tx-wrap{max-width:760px;display:grid;gap:14px}
.tx h1{margin-top:4px}
.tx h2{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:24px}
.tx-list{margin:0;padding-left:20px;display:grid;gap:8px;line-height:1.55}
.tx-list a{color:var(--acc)}
.tx-links{columns:2;column-gap:28px}
@media (max-width:640px){.tx-links{columns:1}}

/* ---------- map: list view ---------- */
.mt-listrow{padding:6px 10px 8px;border-bottom:1px solid var(--line)}
.ml-listbtn{width:100%;justify-content:center;min-height:40px;font-weight:600}
.ml-listbtn[aria-pressed="true"]{border-color:var(--acc);color:var(--acc)}
.map-page.ml-listing .mt-panel .mt-body{display:none}
.ml-listpanel{position:absolute;inset:10px 10px 76px 10px;z-index:520;border-radius:16px;padding:16px 18px 24px;overflow:auto;display:grid;gap:10px;align-content:start}
@media (min-width:1024px){.ml-listpanel{inset:10px 10px 14px 10px;max-width:760px}}
.ml-listpanel:focus{outline:none}
.ml-listhead{gap:10px}
.ml-listh{font-size:22px}
.ml-lsec{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.ml-lsec h3{font-size:16px}
.ml-ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ml-li{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(255,255,255,.02);line-height:1.45}
.ml-li a{color:var(--fg);text-decoration:none}
.ml-li a:hover{color:var(--acc)}
.ml-li .clock{margin-top:4px}
.map-page.ml-listing .live-panel,.map-page.ml-listing .ml-hint,.map-page.ml-listing .map-fab{display:none}
.ml-listpanel{top:116px}
@media (min-width:1024px){.ml-listpanel{top:116px}}

/* ---------- 14px floor for body text (labels, eyebrows, pills, mono badges and tooltips are not body text) ---------- */
.tiny,.help,.legend,.foot-credits,.hero .credit,.bar-row .v,.score-row .r,.map-legend,
.bd-sources small,
.chg-decides,.chg-src,
.civ-src,.civ-way p,.civ-way .mono,.civ-t td,.civ-t .wh,.civ-t .hrs,.civ-t .lnk a,.civ-ph a,.civ-em,.civ-mem .em,.civ-v p,.civ-v .cm,.civ-dates div,.civ-tile .c,
.es .es-exit-tip,
.ex-count,.ex-clear,.ex-mapnote,.ev-where,.ev-t span,.ev-ag .t2,.ev-ag .cnt,.ev-pop .pe .mono,.lc-tile .l,.ev-cell .n,
.od-src,.tr-src,.od-alert-s,.od-alert-d summary,.od-alert-d p,.od-tile .s,.od-per-s,.od-per-d summary,.od-per-d p,.od-tbl td,.od-sunlist > div,.pb-cov,.tr-tbl td,.tr-way span,.tr-notes,.tr-eline-st span,.tr-docks li,.tr-yn,.pl-view button,.pl-legend,.pl-tbl td,.pl-cite,
.ft-all,.ft-upd,.ft-ev-when,.ft-ev-where,.ft-ev-src,.ft-cx .s,.ft-cond-go,.ft-alert,.ft-biz-web,.ft-pl-n,.ft-free .s,.ft-free .m,.ft-wire-a,
.gd-chs,
.hm-rs,.hm-ts,.hm-evv,.hm-dl,.hm-ds,.hm-sb > .hm-prog,.tg-src,.tg-foot,.tg-n,
.ib-line,
.mt-count,.mt-d,.mt-moren,.mt-keybox summary,.mt-legend .lg,.live-sub,.live-body,.live-fresh,.live-note,.ml-row .ml-t,.ml-go,.ml-links a,
.sr311.compact label,.cr-x,.health-list .chk .d,.xh-tab span,.poll-you,.poll-res span,.poll-rules,
.police-status,.police-status .mono,.police-lag,.police-time,.police-type,.police-where,.police-meta,.police-pop,.police-pop-row .mono,.sh-meta,.sh-sum,.sh-area,.sh-why,.live-body .sh-link,
.sv-att,
.tp-small,.tp-story p.tp-small,.tp-q p.tp-small,.tp-score .tp-goalline,.tp-src,
.v1-mc,.v1-jump .chip,
.ov-tl,.rail-desc,.ww-line,.ww-sec li,.ww-tablist li,.v2-form .hint,.v2-src,.cw-way .dl,.cw-office .act,.cw-src,.cw-rn,.vo-why,.vo-credit,.bc-hood small,.lg-wait,.lg-src span,.rail-sub-mini a,
.vc-sub,.vt-tx span{font-size:14px}
.es-btn,.ia-subnav .ia-seg a{font-size:14px}
@media (max-width:640px){.ov-tl,.tr-rules td,.tr-rules th,#tr-bus .tr-tbl:not(#tr-routes) td,#tr-bus .tr-tbl:not(#tr-routes) th,.hm-tki{font-size:14px}}
@media (max-width:1023px){.ia-subnav .ia-seg a{font-size:14px}}
.leaflet-popup-content .tiny{font-size:14px}

.sv-pass{border:1px solid var(--line,#ddd);border-radius:14px;padding:14px 16px;display:grid;gap:8px}.sv-pass h3{margin:0;font-size:1.05rem}
/* Park counts (#counts) */
.ct-rules{margin-bottom:18px}
.ct-num{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:center;clear:both;max-width:280px}
.ct-num .btn{padding:0;min-height:48px;justify-content:center;font-size:22px}
.ct-num input{text-align:center;font-size:22px;font-variant-numeric:tabular-nums}
.ct-time{margin-top:10px;gap:10px;align-items:center;clear:both}.ct-time input{max-width:150px}
.ct-table{width:100%;border-collapse:collapse;font-size:15px}.ct-table th,.ct-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.ct-table th{color:var(--muted);font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.ct-empty{padding:22px 24px}
