/* CreekChecker / Valley field notes / 2026-10-10
   Drop-in skin. All application IDs and GIS behavior are retained.
   Barlow Semi Condensed = survey signage; Source Sans 3 = plain-language reading.
   Semantic tokens have matching daylight and dusk values. */
:root {
  color-scheme: light;
  --paper:#eeeae1; --panel:#faf8f2; --ink:#242622; --muted:#62695c;
  --line:#d7d5c5; --line-strong:#a9ad9d; --creek:#2c6577; --creek-soft:#e3edf0;
  --amber:#b38635; --amber-ink:#795917; --amber-soft:#f2e7c9; --on-amber:#282d25;
  --band:#cc3e36; --band-edge:#982b25; --band-soft:rgba(204,62,54,.35);
  --waterway:#1769d2;
  --sage:#7b8d71; --sage-ink:#4c6246; --sage-soft:#e9eddf;
  --good:#657b5c; --good-soft:#e9eddf; --warn:#a78133; --warn-soft:#f2e7c9;
  --alert:#b38635; --alert-soft:#f2e7c9; --primary:#e9e1cc; --primary-ink:#242622;
  --focus:#226b89; --scrim:rgba(28,38,33,.55); --grain:transparent;
  --shimmer:rgba(252,250,242,.65); --shadow:0 4px 18px rgba(33,44,35,.12),0 1px 3px rgba(33,44,35,.08);
  --map-land:#eeeede; --map-water:#b8d3f5; --map-green:#dfe4d0; --map-building:#dcdccf; --map-road:#fffdf6;
  --map-parcel:#8b9386; --map-halo:#fcfaf2; --map-mill:#1769d2; --map-zone:#9b956d; --map-flood:#83a9ae;
  --aerial-label:#242622; --aerial-label-halo:#faf8f2; --aerial-halo:#29302a; --aerial-stream:#539aff;
  --aerial-band:#e34840; --aerial-band-edge:#ffaaa0; --aerial-county:#b2c49b; --aerial-boundary:#f4efdb;
  --map-icon-filter:grayscale(1);
  --display:"Barlow Semi Condensed","Arial Narrow","Avenir Next Condensed",Arial,sans-serif;
  --body:"Source Sans 3","Segoe UI",Calibri,Arial,sans-serif;
  --type-xs:12px; --type-sm:14px; --type-body:16px; --type-lg:20px; --type-title:32px; --type-hero:48px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px;
  --r-s:5px; --r:8px; --r-pill:24px; --sheet:60dvh; --panel-height:60dvh;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  /* Existing application and chart aliases. */
  --bg:var(--paper); --surface:var(--panel); --text:var(--ink); --accent:var(--amber); --accent-soft:var(--amber-soft);
  --stream:var(--creek); --ctx:var(--line-strong); --ok:var(--sage); --panel-glass:var(--panel); --glass-edge:var(--line);
}
/* Cream is the public default, including on devices set to dark mode.
   Dusk remains an explicit design-preview option only. */
:root[data-theme="dark"] {
  color-scheme:dark;
  --paper:#252826; --panel:#30332f; --ink:#eeeddf; --muted:#c0bfb4;
  --line:#4c5048; --line-strong:#778473; --creek:#94c0cc; --creek-soft:#2e454c;
  --amber:#d0ad66; --amber-ink:#e1c58e; --amber-soft:#423e2b; --on-amber:#242d26;
  --band:#eb6c61; --band-edge:#ffb0a5; --band-soft:rgba(235,108,97,.35);
  --waterway:#68a8ff;
  --sage:#a3b595; --sage-ink:#c5d2b7; --sage-soft:#364333;
  --good:#a3b595; --good-soft:#364333; --warn:#d0ad66; --warn-soft:#423e2b; --alert:#d0ad66; --alert-soft:#423e2b;
  --primary:#d9e1c8; --primary-ink:#243027; --focus:#9bcedc; --scrim:rgba(10,17,12,.68); --grain:transparent;
  --shimmer:rgba(238,237,223,.1); --shadow:0 4px 18px rgba(0,0,0,.28),0 1px 3px rgba(0,0,0,.2);
  --map-land:#26322e; --map-water:#263f66; --map-green:#303e32; --map-building:#38443b; --map-road:#465148;
  --map-parcel:#7d8979; --map-halo:#26322e; --map-mill:#68a8ff; --map-zone:#a59f76; --map-flood:#638d96;
  --map-icon-filter:grayscale(1) invert(1);
}
* {box-sizing:border-box}
html,body {margin:0; min-height:100%; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.45; font-variant-numeric:tabular-nums; -webkit-font-smoothing:antialiased}
body.map-page {height:100dvh; overflow:hidden}
button,input {font:inherit} button,summary {touch-action:manipulation} button {cursor:pointer}
a {color:var(--creek); text-underline-offset:3px; text-decoration-thickness:1px}
a:hover {text-decoration-thickness:2px}
button:disabled {opacity:.5;cursor:wait}
[hidden],.hidden {display:none!important}
:focus-visible {outline:3px solid var(--focus); outline-offset:3px}
.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}
.skip-link {position:fixed;top:-100px;left:16px;z-index:100;background:var(--panel);padding:12px}.skip-link:focus {top:10px}
h1,h2,h3,.display {font-family:var(--display);line-height:1.12;font-weight:600;letter-spacing:-.015em}
h1,h2,h3,p {margin-top:0}
#map {position:fixed;inset:0;background:var(--map-land)}
/* Quiet solid surfaces let real landscape imagery supply the texture. */
.panel,.modal .card,.layers,.legend {background-color:var(--panel);background-image:none;border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.panel {position:fixed;top:24px;left:24px;bottom:24px;width:412px;max-width:calc(100vw - 48px);z-index:10;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden}
.panel header {padding:18px 20px 0;flex:none;border-bottom:1px solid var(--line)}
.brand {display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:600 25px/1 var(--display);letter-spacing:-.02em}
.brand svg {width:30px;height:34px;flex:none;color:var(--creek)}
.brand small {display:block;font:600 10px/1.5 var(--body);letter-spacing:.015em;text-transform:none;color:var(--muted);margin-top:4px}
.brand .unofficial {margin-left:auto;align-self:start;font:600 10px/1.3 var(--body);letter-spacing:0;text-transform:none;padding:4px}
.tabs {display:grid;grid-template-columns:.48fr 1fr 1.12fr;gap:0;margin-top:14px}
.tabs a {display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 6px;color:var(--muted);font-size:13px;line-height:1.15;text-align:center;text-decoration:none;border-bottom:3px solid transparent}
.tabs a[aria-current="page"] {color:var(--ink);border-bottom-color:var(--creek);font-weight:700}
.tabs a:hover {background:var(--creek-soft)}
.panel .body {padding:24px 20px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0;flex:1}
.eyebrow {font:600 12px/1.4 var(--body);text-transform:none;letter-spacing:.025em;color:var(--muted);margin-bottom:8px}
.entry-title {font-size:32px;margin:0 0 12px;max-width:22ch;text-wrap:balance}
.entry-sub {font-size:15px;line-height:1.4;color:var(--muted);margin-bottom:20px}
.search-label {display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.search {display:flex;gap:8px;align-items:stretch}
.search input {min-width:0;flex:1;width:100%;min-height:48px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-s);padding:10px 12px;font-size:16px;color:var(--ink)}
.search input::placeholder {color:var(--muted);opacity:1}
.search input:focus {border-color:var(--focus)}
.search button {flex:none;border:1px solid var(--primary-ink);background:var(--primary);color:var(--primary-ink);border-radius:var(--r-s);padding:10px 14px;font-weight:600;min-width:78px;min-height:48px}
.hint {color:var(--muted);font-size:14px;line-height:1.4;margin:8px 0 0;overflow-wrap:anywhere}
.privacy-promise {margin:10px 0 0;padding:10px 12px;border-left:3px solid var(--creek);background:var(--creek-soft);font-size:14px;line-height:1.4}
.privacy-promise p {margin:0}.privacy-promise strong {display:block;color:var(--ink)}
.privacy-promise a {display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.modal .privacy-promise {margin-bottom:18px}.modal .privacy-promise p {font-size:14px}
.civic-purpose {margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.civic-purpose h2 {font-size:22px;margin-bottom:8px}.civic-purpose p {font-size:14px;color:var(--muted);margin-bottom:10px}
.privacy-section {scroll-margin-top:24px;border-top:1px solid var(--line-strong);padding-top:24px;margin-top:40px}
.privacy-section h3 {margin-top:24px}.privacy-section li {margin-bottom:12px}
.widths {position:relative;display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 16px}
.widths .lbl {width:100%;font-size:14px;font-weight:600;margin-bottom:3px}
.widths button {position:relative;z-index:1;flex:1;min-height:44px;padding:8px 4px;background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:14px;white-space:nowrap;color:var(--ink)}
.widths button.active {background:var(--amber-soft);border:2px solid var(--amber-ink);font-weight:700}
.widths button:hover:not(:disabled) {border-color:var(--ink)}
.widths .ind {display:none} /* Selected state is immediate and stays aligned at text zoom. */
.width-source {font-size:12px;color:var(--muted);margin-top:-9px;margin-bottom:18px}
.home-note {padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px}
.home-note strong {font-family:var(--display);font-size:20px;font-weight:600;display:block;margin-bottom:4px}
.home-note p {font-size:14px;color:var(--muted);margin-bottom:6px}
.home-note a {font-size:13px}
.hearing {display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.date-stamp {border:1px solid var(--line-strong);text-align:center;font:600 27px/1 var(--display);padding:6px 0}
.date-stamp small {display:block;font:600 11px/1.3 var(--body);letter-spacing:.12em;margin-bottom:3px}
.hearing p {margin:0;font-size:14px}.hearing b {font-size:15px}.hearing .source {display:block;font-size:12px;margin-top:5px;color:var(--muted)}
.panel-foot {flex:none;border-top:1px solid var(--line-strong);padding:12px 20px;background:var(--panel)}
.panel-foot .actions {margin:0;display:grid;grid-template-columns:1.5fr 1fr}
.panel-foot .quiet {display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;padding-top:6px}
.quiet a {display:inline-flex;align-items:center;min-height:24px}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--panel);color:var(--ink);font:600 15px/1.25 var(--body);text-decoration:none;text-align:center}
.btn:hover {border-color:var(--ink);background:var(--paper)}
.btn.primary {background:var(--primary);border-color:var(--primary-ink);color:var(--primary-ink)}
.btn svg {width:16px;height:16px}.actions {display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.text-button {border:0;background:none;color:var(--creek);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:8px;font-size:14px}
.sheet-handle {display:none}
/* Result state is conveyed with text as well as the stripe. Amber is regulation, never danger. */
.result {--stripe:var(--line-strong);--tint:var(--panel);position:relative;margin:18px 0 0;padding:18px 16px 16px 20px;border:1px solid var(--line-strong);border-left:5px solid var(--stripe);border-radius:var(--r-s);background:var(--tint);overflow-wrap:anywhere}
.result.inside {--stripe:var(--amber);--tint:var(--amber-soft)}
.result.near {--stripe:var(--warn);--tint:var(--panel);border-left-style:dashed}
.result.outside,.result.outside_city,.result.county,.result.college_place {--stripe:var(--sage);--tint:var(--sage-soft)}
.result:has(.millnote) {--stripe:var(--creek);--tint:var(--creek-soft)}
.result .juris {font-size:14px;line-height:1.4;border-bottom:1px solid var(--line-strong);padding-bottom:10px;margin-bottom:12px}
.result .juris .muted {font-size:12px}
.result .status {font:600 24px/1.13 var(--display);letter-spacing:-.015em;margin-bottom:10px}
.result .detail {font-size:16px;line-height:1.48;margin-bottom:12px}
.result .meta {font-size:14px;line-height:1.5;margin:14px 0 0;color:var(--muted)}
.result .meta b {color:var(--ink)}
.result .meta a {display:inline-block;min-height:32px;padding-block:5px}
.uncertain,.millnote {border:1px solid var(--line-strong);padding:12px;margin:14px 0 0;font-size:14px;line-height:1.45;background:var(--panel);border-radius:var(--r-s)}
.millnote {border-left:3px solid var(--creek)}
.muted {color:var(--muted)}
.limits {margin:16px 0 20px;padding:18px 16px;border:1px solid var(--amber);border-top:3px solid var(--amber);border-radius:var(--r-s);background:var(--panel)}
.limits h3 {font-size:23px;line-height:1.15;margin-bottom:12px}
.limits .limits-note {font-size:14px;color:var(--muted);margin-bottom:12px}
.limits ul {list-style:none;margin:0;padding:0}
.limits li {position:relative;padding:12px 0 12px 19px;border-top:1px solid var(--line);font-size:16px;line-height:1.45}
.limits li::before {content:"";position:absolute;top:21px;left:0;width:5px;height:5px;background:var(--amber-ink)}
.limits .tag {display:table;margin-top:6px}
.limits .source {font-size:12px;color:var(--muted);margin:10px 0 0}
.faq-h {font-size:22px;margin:24px 0 10px}
details.faq {border-top:1px solid var(--line)}
details.faq summary {display:grid;grid-template-columns:1fr 12px;gap:4px 10px;list-style:none;cursor:pointer;min-height:64px;padding:14px 0;font-weight:600;font-size:16px;line-height:1.3}
details.faq summary::-webkit-details-marker {display:none}
details.faq summary::after {content:"+";grid-column:2;grid-row:1/3;align-self:center;font-size:22px;font-weight:400;color:var(--muted)}
details.faq[open] summary::after {content:"−"}
details.faq summary .q {grid-column:1}
details.faq .tag {justify-self:start;grid-column:1}
details.faq p {font-size:16px;line-height:1.5;margin:0 0 18px}
.tag {font:600 11px/1.3 var(--body);padding:3px 6px;border:1px solid var(--line-strong);border-radius:2px;color:var(--muted);background:var(--paper);white-space:normal}
.tag.draft {color:var(--amber-ink);background:var(--amber-soft);border-color:var(--amber)}
.tag.code {color:var(--creek);background:var(--creek-soft);border-color:var(--creek)}
.tag.unknown {border-style:dashed}
.stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 16px;border-top:1px solid var(--line-strong);padding-top:16px}
.stat {padding:0 10px;border-right:1px solid var(--line);min-width:0}.stat:first-child {padding-left:0}.stat:nth-child(3) {border-right:0;padding-right:0}
.stat b {display:block;font:600 32px/1 var(--display);letter-spacing:-.02em}
.stat span {display:block;font-size:13px;line-height:1.25;color:var(--muted);margin-top:5px}
.statnote {grid-column:1/-1;font-size:13px;line-height:1.4;color:var(--muted);margin-top:14px}
.statnote b {color:var(--ink)}
.ask {margin-top:20px;border:1px solid var(--line-strong);padding:16px;background:var(--paper)}
.ask h3 {font-size:22px}.ask p {font-size:15px}.ask .actions {gap:8px}
.footer {font-size:13px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.data-details {border-top:1px solid var(--line);margin-top:20px}.data-details>summary {min-height:44px;padding:12px 0;cursor:pointer;font-size:15px;font-weight:600}
/* Actual lookup states, not an elapsed-time progress meter. */
.survey {border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.survey-head {display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.survey-head h2 {font-size:24px;margin:0}
.survey ol {list-style:none;margin:0;padding:0;counter-reset:step}
.survey li {position:relative;counter-increment:step;padding:8px 0 10px 36px;font-size:15px;line-height:1.35;color:var(--muted);min-height:42px}
.survey li::before {content:counter(step,decimal-leading-zero);position:absolute;left:0;top:7px;width:24px;height:24px;display:grid;place-content:center;font-size:11px;border:1px solid var(--line-strong);border-radius:50%;background:var(--panel)}
.survey li:not(:last-child)::after {content:"";position:absolute;left:12px;top:32px;height:16px;border-left:1px solid var(--line)}
.survey li.done::before {content:"✓";background:var(--sage-soft);border-color:var(--sage);color:var(--sage-ink)}
.survey li.current {font-weight:600;color:var(--ink)}.survey li.current::before {border:2px solid var(--creek);color:var(--creek)}
.survey-caption {font-size:14px;border-left:2px solid var(--creek);padding-left:10px;color:var(--muted);margin:12px 0 0}
.surveying #result,.surveying #faq,.surveying #limits,.surveying .home-context,.surveying .widths,.surveying .width-source,.surveying #stats {display:none!important}
.has-result .entry-intro {display:none}.has-result .home-context {display:none}
/* Printed map key and onX-style layer rows. */
.legend {position:fixed;right:24px;bottom:30px;z-index:9;padding:14px 16px;width:252px;border-radius:var(--r-s);font-size:13px;line-height:1.35}
.legend .key-title {font:600 11px var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:9px}
.legend>div:not(.key-title) {display:flex;gap:9px;align-items:center;margin:8px 0}
.legend .legend-src {font-size:11px;color:var(--muted);margin-top:-4px!important;margin-left:31px!important}
.legend .row-more,.legend .row-parcels {font-size:12px}
.sw {display:inline-block;width:22px;height:12px;flex:none;border-radius:1px}
.sw.stream {height:3px;background:var(--waterway)}
.sw.band {background:var(--band-soft);border:1px solid var(--band-edge)}
.sw.city {border:2px dashed var(--ink)}
.sw.cty { border: 1px solid var(--ink); background: transparent; }
.sw.cp {border:2px dashed var(--sage)}
.sw.uga {border:1px dashed var(--sage);background:var(--sage-soft)}
.sw.unin {background:var(--sage-soft);border:1px solid var(--sage)}
.sw.cbuf {background:var(--band-soft);border:1px dashed var(--band-edge)}
.sw.cstream {height:0;border-top:2px dashed var(--waterway)}
.sw.cgap {border-top:2px dashed var(--waterway);height:0}
.sw.mill {height:12px;border:1px dashed var(--band-edge);background:linear-gradient(to bottom,transparent 4px,var(--waterway) 4px,var(--waterway) 6px,transparent 6px),var(--band-soft)}
.sw.parcel {border:1px solid var(--map-parcel)}
.sw.zon {background:var(--map-zone);opacity:.7}
.sw.flood {background:var(--map-flood);opacity:.7}
.sw.dnr {height:2px;background:var(--waterway);border-top:1px dotted var(--panel)}
.sw.none {border:1px dashed var(--line-strong)}
.layers-btn {display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;padding:10px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--panel);color:var(--ink);font-weight:600;margin-top:12px}
.layers-btn.active {background:var(--sage-soft);border-color:var(--sage)}
.layers {position:fixed;z-index:20;right:24px;top:24px;bottom:24px;width:370px;max-width:calc(100vw - 48px);border-radius:var(--r);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:16px}
.lp-head {position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--panel);border-bottom:1px solid var(--line-strong);padding:12px 16px}
.lp-head h2 {margin:0;font-size:27px}.lp-close {width:44px;height:44px;font-size:26px;color:var(--ink);border:1px solid var(--line);background:var(--panel);border-radius:var(--r-s)}
.lp-group {font:600 12px var(--body);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);background:var(--paper);padding:10px 16px;margin:0;border-block:1px solid var(--line)}
.lp-row {display:flex;gap:10px;align-items:center;min-height:64px;padding:13px 16px;cursor:pointer;border-bottom:1px solid var(--line)}
.lp-row:hover {background:var(--creek-soft)}.lp-row.note {cursor:default}.lp-row input {appearance:none;flex:none;width:20px;height:20px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);display:grid;place-content:center;margin:0;cursor:pointer}
.lp-row input:checked {background:var(--primary);border-color:var(--primary-ink)}.lp-row input:checked::after {content:"✓";color:var(--primary-ink);font-size:16px;line-height:1}
.lp-text {min-width:0;flex:1}.lp-label {display:block;font-size:15px;font-weight:600;line-height:1.3}.lp-desc {display:block;margin-top:4px;font-size:13px;line-height:1.35;color:var(--muted)}
.lp-spin {width:10px;height:10px;flex:none;opacity:0;border:1px solid var(--line-strong);border-top:2px solid var(--creek);border-radius:50%}.loading .lp-spin {opacity:1;animation:spin .8s linear infinite}.lp-foot {font-size:13px;color:var(--muted);padding:16px;margin:0}
/* Map chrome remains solid, large enough for gloved-thumb use. */
.maplibregl-ctrl-top-right {top:14px;right:14px}.maplibregl-ctrl-group {border-radius:var(--r-s)!important;background:var(--panel)!important;border:1px solid var(--line-strong);box-shadow:var(--shadow)!important;overflow:hidden}
.maplibregl-ctrl-group button {width:44px!important;height:44px!important}
.maplibregl-ctrl-group button+button {border-color:var(--line)!important}
.maplibregl-ctrl-group button .maplibregl-ctrl-icon,.maplibregl-ctrl-attrib-button {filter:var(--map-icon-filter)}
.maplibregl-ctrl-attrib-button {background-color:transparent!important}
.maplibregl-ctrl-attrib {background:var(--panel)!important;color:var(--muted)!important;font-family:var(--body)!important;font-size:11px!important}.maplibregl-ctrl-attrib a {color:var(--creek)!important}
.map-label {position:fixed;z-index:2;top:28px;left:468px;pointer-events:none;text-transform:uppercase;font:600 11px var(--body);letter-spacing:.14em;color:var(--muted);background:var(--panel);padding:8px 12px;border:1px solid var(--line)}
.survey-scale {position:fixed;left:468px;bottom:36px;z-index:5;padding:6px 10px;background:var(--panel);font-size:11px;color:var(--ink);border:1px solid var(--line);pointer-events:none;min-width:80px}
.scale-rule {position:relative;height:7px;border:1px solid var(--ink);border-top:0;margin-top:2px;background:linear-gradient(90deg,var(--ink) 50%,transparent 50%)}
.scale-labels {display:flex;justify-content:space-between;gap:18px}.scale-100 {position:absolute;bottom:0;height:12px;border-left:1px solid var(--ink)}.scale-100 span {position:absolute;bottom:12px;left:-20px;white-space:nowrap}
.pin-wrap {position:relative;width:28px;height:36px;pointer-events:none}.pin-halo {position:absolute;bottom:-10px;left:0;width:28px;height:28px;border:1px solid var(--creek);background:var(--creek-soft);border-radius:50%;opacity:.6}
.pin-drop {position:absolute;inset:0}.pin {position:absolute;bottom:4px;left:3px;width:22px;height:22px;background:var(--creek);border:2px solid var(--panel);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:var(--shadow)}.pin::after {content:"";position:absolute;inset:6px;border:1px solid var(--panel);border-radius:50%}
.progress {position:absolute;z-index:3;top:0;left:0;right:0;height:3px;overflow:hidden;opacity:0}.progress.on {opacity:1}.progress i {display:block;height:100%;background:var(--creek);width:35%}.progress.on i {animation:progress 1.2s ease-in-out infinite}
.lookup {display:inline-flex;align-items:center;gap:6px}.lookup .dot {width:6px;height:6px;border-radius:50%;background:var(--creek)}
.skel {height:12px;background:var(--line);margin:10px 0;border-radius:2px}.skel.w55 {width:55%}.skel.w90 {width:90%}.skel.w70 {width:70%}
.banner {position:fixed;top:72px;left:468px;right:92px;max-width:560px;z-index:11;padding:12px 16px;background:var(--panel);border:1px solid var(--line-strong);border-left:3px solid var(--amber);font-size:14px;box-shadow:var(--shadow)}
.toast {position:fixed;left:50%;bottom:32px;transform:translateX(-50%);z-index:60;pointer-events:none;opacity:0;padding:12px 20px;border:1px solid var(--primary-ink);background:var(--primary);color:var(--primary-ink);border-radius:var(--r-s);font-size:15px;box-shadow:var(--shadow)}.toast.show {opacity:1}
.modal {position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--scrim)}
.modal .card {width:min(540px,100%);max-height:calc(100dvh - 40px);overflow:auto;border-radius:var(--r);padding:30px;border-top:4px solid var(--amber)}
.modal .eyebrow {margin:20px 0 8px}.modal h2 {font-size:34px;margin:0 0 16px}.modal p {font-size:16px;line-height:1.55;margin:0 0 18px}.modal .actions .btn {width:100%;min-height:48px}
/* Method and impact share the same field-book typography and tokens. */
.document-page {padding:0 24px 56px}.document-page .wrap,.document-page main {max-width:900px;margin:0 auto}
.document-header {padding:24px 0 0;border-bottom:1px solid var(--line-strong);margin-bottom:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.document-header .tabs {margin-top:0;min-width:450px}.document-header .brand {font-size:25px}
.document-page h1 {font-size:48px;max-width:23ch;margin:0 0 16px;text-wrap:balance}.document-page h2 {font-size:28px;margin:32px 0 14px}
.document-page .lede,.document-page .sub {font-size:18px;line-height:1.45;color:var(--muted);max-width:68ch}
.document-page p,.document-page li {line-height:1.55}.document-page li {margin-block:8px}.document-page main>h2 {border-top:1px solid var(--line-strong);padding-top:24px}
.document-page code {font-size:13px;padding:2px 4px;background:var(--paper);overflow-wrap:anywhere}
.document-page table {width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;margin:16px 0 24px}
.document-page th,.document-page td {text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 8px;overflow-wrap:anywhere}.document-page th {font-weight:600;color:var(--muted);background:var(--paper)}.document-page td.n {text-align:right}
.document-page .callout {padding:18px 22px;border-left:4px solid var(--amber);background:var(--amber-soft);margin:20px 0}.callout p:last-child {margin-bottom:0}
.method-intro {border:1px solid var(--line-strong);padding:24px;background:var(--panel);margin-bottom:32px}
.tiles {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:28px 0 32px;border-block:1px solid var(--line-strong);padding-block:18px}
.tile {padding:0 18px;border-right:1px solid var(--line)}.tile:first-child {padding-left:0}.tile:last-child {border:0}.tile b {display:block;font:600 34px/1 var(--display)}.tile span {display:block;font-size:14px;line-height:1.35;color:var(--muted);margin-top:7px}.tile.hot b {color:var(--amber-ink)}
section.chart {background:var(--panel);padding:28px;margin:24px 0;border:1px solid var(--line);border-radius:var(--r-s);min-width:0}
section.chart h2 {font-size:29px;line-height:1.15;margin:0 0 10px;max-width:48ch}.chart .sub {font-size:16px}.chart .src {display:flex;gap:16px;align-items:start;justify-content:space-between;margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.chart .src span {max-width:70ch}
.chart button {font:600 14px var(--body);border:1px solid var(--line-strong);border-radius:var(--r-s);min-height:44px;padding:8px 14px;background:var(--panel);color:var(--ink);flex:none}
.chart svg {display:block;width:100%;height:auto;max-width:100%;font-family:var(--body)}.chart svg text {fill:var(--ink)}.chart svg .mut {fill:var(--muted)}.chart svg .grid {stroke:var(--line)}.chart svg [fill="var(--creek)"] {fill:var(--muted)}
.tbl {display:none}.chart.show-table .tbl {display:block}.chart.show-table svg,.chart.show-table .mobile-chart {display:none}
.tip {position:fixed;z-index:40;pointer-events:none;opacity:0;background:var(--ink);color:var(--panel);padding:8px 12px;font-size:14px;border-radius:var(--r-s);max-width:calc(100vw - 24px);transform:translate(-50%,-120%)}.tip.on {opacity:1}
.document-page footer {font-size:14px;color:var(--muted);border-top:1px solid var(--line-strong);margin-top:32px;padding-top:18px}.note {font-size:15px;color:var(--muted)}
.mobile-chart {display:none}
/* Phone: result sheet is capped at 60% of the dynamic viewport, including safe area. */
@media(max-width:720px) {
  .panel {top:auto;left:0;right:0;bottom:0;width:100%;max-width:100%;max-height:60vh;max-height:var(--sheet);border-radius:10px 10px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .sheet-handle {display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:calc(50% - 40px);width:80px;height:44px;z-index:4;border:0;background:transparent}.sheet-handle::before {content:"";width:34px;height:3px;border-radius:2px;background:var(--line-strong)}
  .panel header {padding:30px 16px 0}.brand {font-size:23px;gap:8px}.brand svg {width:25px;height:29px}.brand small {font-size:9px;margin-top:3px}.brand .unofficial {font-size:9px}
  .tabs {margin-top:10px}.tabs a {font-size:12px;min-height:44px;padding:6px 4px}
  .panel .body {padding:18px 16px}.entry-title {font-size:27px;max-width:24ch;margin-bottom:10px}.entry-sub {font-size:14px;margin-bottom:16px}
  .panel-foot {padding:10px 16px}.panel-foot .quiet {padding-top:3px}.panel-foot .quiet a {min-height:28px}.panel-foot .btn {font-size:14px}
  .widths {margin-top:18px}.result .status {font-size:24px}.result {padding:16px 12px 16px 15px}
  .has-result .search-label {display:none}.has-result .hint {font-size:12px}.has-result .widths {margin-top:14px}
  .panel.compact .body,.panel.compact .panel-foot,.panel.compact .tabs {display:none}.panel.compact header {padding-bottom:14px}
  .legend {top:12px;left:12px;right:auto;bottom:auto;width:calc(100% - 82px);padding:8px 12px;font-size:12px;box-shadow:none}
  .legend .key-title,.legend .legend-src,.legend .row-more,.legend .row-parcels,.legend .row-city {display:none!important}.legend>div:not(.key-title) {margin:3px 0}
  .legend .layers-btn {position:absolute;left:0;top:calc(100% + 8px);width:auto;min-height:44px;background:var(--panel);margin:0;padding:8px 16px}
  .map-label {top:auto;bottom:calc(var(--panel-height) + 76px);left:12px;font-size:9px;padding:4px 7px}
  .maplibregl-ctrl-top-right {top:2px;right:2px}.maplibregl-ctrl-bottom-right {bottom:calc(var(--panel-height) + 2px)!important;right:0;max-width:100%}.maplibregl-ctrl-attrib {max-width:calc(100vw - 16px)}
  .survey-scale {left:12px;bottom:calc(var(--panel-height) + 30px);font-size:10px;padding:4px 7px}
  .banner {top:auto;bottom:calc(var(--panel-height) + 28px);left:12px;right:12px;font-size:13px;padding:9px 12px;max-height:30dvh;overflow:auto}
  .layers {top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;max-height:60dvh;border-radius:10px 10px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .lp-row {padding:12px 16px;min-height:64px}.lp-label {font-size:15px}.lp-desc {font-size:13px}
  .toast {bottom:auto;top:12px;max-width:calc(100vw - 24px);font-size:14px}
  .modal {padding:12px;align-items:end}.modal .card {padding:20px;max-height:calc(100dvh - 24px);border-radius:6px}.modal h2 {font-size:29px}.modal p {font-size:15px;line-height:1.45}.modal .brand small {font-size:10px}.modal .eyebrow {margin-top:18px}
  .document-page {padding:0 16px 40px}.document-header {display:block;padding-top:20px;margin-bottom:24px}.document-header .tabs {min-width:0;margin-top:16px}.document-page h1 {font-size:36px}.document-page h2 {font-size:27px}.document-page .lede,.document-page .sub {font-size:17px}
  .document-page table {font-size:13px}.document-page th,.document-page td {padding:8px 4px}.document-page code {font-size:11px}.document-page ul {padding-left:20px}
  .method-intro {padding:18px}.tiles {grid-template-columns:repeat(2,1fr);gap:20px 0}.tile {padding:0 12px}.tile:nth-child(3) {padding-left:0}.tile:nth-child(2) {border:0}.tile b {font-size:30px}
  section.chart {padding:20px 16px;margin:20px 0}.chart h2,section.chart h2 {font-size:27px}.chart .src {display:block;font-size:13px}.chart .src button {margin-top:12px}.chart .sub {font-size:15px}
  .chart:not(.show-table)>div>svg {display:none}.mobile-chart {display:block}.mobile-bar {margin:17px 0}.mobile-bar-label {display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:6px}.mobile-bar-label b {white-space:nowrap}.mobile-bar-track {height:9px;background:var(--paper)}.mobile-bar-fill {height:100%;background:var(--ctx)}.mobile-bar.hot .mobile-bar-fill {background:var(--amber)}.mobile-bar.hot .mobile-bar-label {color:var(--ink)}
  .mobile-chart .timeline-row {display:grid;grid-template-columns:54px 1fr;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:14px}.timeline-row b {color:var(--amber-ink)}.mobile-chart .chart-key {font-size:12px;color:var(--muted);margin-top:14px}
}
@media(prefers-reduced-motion:no-preference) {
  .btn,.search button,.widths button {transition:background-color .15s,border-color .15s}
  .result.reveal {animation:reveal .25s var(--ease-out)}.toast {transition:opacity .18s}.pin-drop {animation:pin-in .3s var(--ease-out)}
  @keyframes reveal {from {opacity:0;transform:translateY(5px)}to {opacity:1;transform:none}}
  @keyframes pin-in {from {opacity:0;transform:translateY(-10px)}to {opacity:1;transform:none}}
}
@keyframes progress {from {transform:translateX(-100%)}to {transform:translateX(390%)}} @keyframes spin {to {transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}.progress.on i {width:100%}}
@media print {
  @page {size:letter;margin:.45in}
  :root {color-scheme:light;--paper:#ffffff;--panel:#ffffff;--ink:#242622;--muted:#62695c;--line:#d7d5c5;--amber-soft:#f2e7c9;--creek:#2c6577}
  body.map-page {height:auto;overflow:visible}.map-page #map,.map-page .panel,.map-page .legend,.layers,.map-label,.survey-scale,.banner,.toast,.modal,.skip-link {display:none!important}
  .print-sheet {display:block!important;color:var(--ink);font-size:11pt}.print-sheet h1 {font-size:34pt;margin:16pt 0 10pt}.print-sheet .print-lede {font-size:17pt;line-height:1.25}.print-sheet .print-facts {display:flex;justify-content:space-between;border-block:1pt solid var(--line);padding:16pt 0;margin:18pt 0}.print-facts b {display:block;font:600 29pt var(--display)}.print-sheet .print-meeting {padding:18pt;border:1pt solid var(--ink);margin:18pt 0}.print-sheet .print-meeting h2 {font-size:22pt}.print-sheet .print-disclaimer {font-size:8.5pt;line-height:1.4;border-top:1pt solid var(--line);padding-top:12pt}.print-sheet .print-source {font-size:9pt;line-height:1.4}
  .document-page {padding:0}.document-header,.tip,.chart button {display:none!important}.document-page h1 {font-size:30pt}.chart {break-inside:avoid;box-shadow:none}.document-page table {font-size:10pt}.document-page h2 {break-after:avoid}.mobile-chart {display:none!important}.chart:not(.show-table)>div>svg {display:block!important}
}
.print-sheet {display:none}
/* Entry sequence added concurrently by the map workstream; retain its real DOM contract. */
.survey li.active {color:var(--ink);font-weight:600}.survey li.active::before {border:2px solid var(--creek);color:var(--creek)}
.survey .cap {display:block;font-weight:400;font-size:14px;line-height:1.35;margin-top:5px;color:var(--muted)}
.survey .cap:empty {display:none}.surveying .entry-intro {display:none}.limits .lead {font-size:15px;color:var(--muted)}
.sw.cty {border:1px solid var(--ink)}
.panel-foot .quiet a {min-height:44px}
/* Entry keeps the field in the first phone viewport; actions return with the result. */
@media(max-width:720px) {
  .entry-sub {display:none}.entry-intro .eyebrow {display:none}.entry-title {font-size:25px}
  html:not(.has-result) .map-page .panel-foot {display:none}
  .panel-foot .quiet {display:none}
}
/* Keep the finding and limits legible; full original summaries and measurements remain one tap away. */
.result-explanation {margin-top:8px;border-top:1px solid var(--line-strong)}
.result-explanation summary {min-height:44px;padding:12px 0;font-size:14px;cursor:pointer;color:var(--creek)}
.result-explanation[open] summary {margin-bottom:8px}
.surveying #ask,.surveying .data-details {display:none}
.zip-pending .survey {display:none}
.zip-pending .entry-intro {display:block}
.zip-pending .entry-title {display:none}
.sheet-handle {touch-action:none}
.scale-100 {font-style:normal}
@media(max-width:720px) {
  .maplibregl-ctrl-attrib.maplibregl-compact {min-width:44px;min-height:44px;border-radius:var(--r-s);padding:8px 44px 8px 10px}
  .maplibregl-ctrl-attrib.maplibregl-compact:not(.maplibregl-compact-show) {padding:0}
  .maplibregl-ctrl-attrib-button {width:44px!important;height:44px!important;background-size:24px!important;background-repeat:no-repeat!important;background-position:center!important}
  .maplibregl-ctrl-attrib.maplibregl-compact-show {max-height:150px;overflow:auto}
}

/* Photograph / street-map choice is independent of regulatory layers. */
.basemap-control {position:fixed;z-index:6;top:24px;left:468px;max-width:calc(100vw - 550px)}
.basemap-switch {display:flex;padding:3px;gap:3px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow)}
.basemap-switch button {min-height:44px;min-width:90px;border:0;border-radius:var(--r-s);padding:9px 16px;background:transparent;color:var(--ink);font-weight:600;font-size:14px}
.basemap-switch button[aria-pressed="true"] {background:var(--primary);color:var(--primary-ink);box-shadow:inset 0 0 0 2px var(--primary-ink)}
.basemap-control>p:not(.sr-only) {margin:5px 0 0;padding:4px 8px;font-size:11px;color:var(--muted);background:var(--panel);border-radius:var(--r-s)}
.basemap-control a {color:var(--creek)}
@media(max-width:720px) {
  .basemap-control {top:12px;left:12px;max-width:calc(100% - 82px)}
  .basemap-switch {padding:2px}.basemap-switch button {padding:8px 13px;min-width:84px}
  .basemap-control>p:not(.sr-only) {display:none}
  .map-page .legend {top:72px}
}
@media print {.basemap-control {display:none!important}}
/* Future scenarios are opt-in and visibly separate from regulatory results. */
.scenario-card {margin:18px 0;padding:16px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--panel)}
.scenario-card h2 {font-size:23px;margin:0 0 8px}.scenario-card p {font-size:14px;line-height:1.4;margin:0 0 12px}
.policy-stages {margin:4px 0 12px;border-block:1px solid var(--line)}
.policy-stages summary {min-height:44px;padding:12px 0;font-size:15px;font-weight:600;cursor:pointer}
.policy-stages>div {padding:12px 0;border-top:1px solid var(--line)}
.policy-stages h3 {font-size:19px;margin:0 0 8px}.policy-stages a {display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.scenario-toggle {width:100%;border:1px dashed var(--band-edge);background:var(--paper)}
.scenario-toggle[aria-pressed="true"] {border:2px solid var(--ink);background:var(--primary);color:var(--ink)}
.scenario-card .scenario-scope {font-size:13px;margin:12px 0 0;color:var(--muted)}.scenario-scope strong {color:var(--ink)}
.scenario-scope a {display:inline-flex;align-items:center;min-height:44px}
.scenario-card .scenario-status,.scenario-result-note {margin:12px 0 0;padding:12px;border-left:3px dashed var(--band-edge);background:var(--amber-soft);color:var(--ink);font-size:14px;line-height:1.4}
.scenario-result-note {margin-top:18px}.sw.scenario {height:12px;background:var(--band-soft);border:2px dashed var(--band-edge)}
#scenarioLegend {font-weight:600;border-top:1px dashed var(--line-strong);padding-top:8px}
/* A permanent path from a property check to evidence and voluntary participation. */
.tabs {grid-template-columns:.65fr 1fr 1fr}
.map-next-step {margin:24px 0;padding:20px 0;border-block:1px solid var(--line-strong)}
.map-next-step h2 {font-size:25px;margin:0 0 10px}.map-next-step p {font-size:15px;margin-bottom:10px}
.community-footer-link {display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-size:13px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.community-footer-link b {color:var(--creek);text-decoration:underline;text-underline-offset:3px}
.community-page .community-wrap {max-width:1120px;margin:auto}.community-page main {max-width:none}
.community-page .document-header {margin-bottom:48px}.community-hero {padding:12px 0 36px}
.community-page h1 {font-size:clamp(42px,5.5vw,64px);max-width:20ch;line-height:1.04}
.community-hero .lede {font-size:21px;max-width:48ch;margin:20px 0}.community-hero>p:not(.eyebrow):not(.lede) {max-width:55ch;color:var(--muted)}
.community-hero .actions {margin-top:26px}.community-page .btn {min-height:48px;padding:12px 18px}
.participation-layout {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr);gap:56px;align-items:start}
.signup-card {background:var(--panel);border:1px solid var(--line-strong);border-top:4px solid var(--creek);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);scroll-margin-top:24px}
.community-page .signup-card h2 {margin:6px 0 14px;font-size:34px;line-height:1.1}
.signup-card>p {font-size:16px}.signup-card .signup-availability {font-size:14px;line-height:1.4;padding:12px;background:var(--paper);border-left:2px solid var(--line-strong)}
.signup-card fieldset {border:0;padding:0;margin:0;min-inline-size:0}.field-label {display:block;font-size:15px;font-weight:600;margin:18px 0 7px}.field-label span {font-size:13px;font-weight:400;color:var(--muted);margin-left:4px}
.signup-card input[type="email"],.signup-card input[type="text"] {width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--line-strong);background:var(--panel);border-radius:var(--r-s);color:var(--ink);font-size:16px}
.signup-card input:disabled {opacity:1;background:var(--paper);color:var(--muted);-webkit-text-fill-color:var(--muted)}
.consent-row {display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:20px 0;font-size:14px;line-height:1.45;cursor:pointer}
.consent-row input {appearance:none;flex:none;width:22px;height:22px;margin:2px 0 0;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);display:grid;place-items:center}
.consent-row input:checked {border-color:var(--ink);background:var(--primary)}.consent-row input:checked::after {content:"✓";color:var(--ink);font-weight:700}
.signup-card .btn {width:100%}.signup-card button:disabled {opacity:1;cursor:not-allowed;background:var(--paper);color:var(--muted);border-color:var(--line-strong)}
.signup-card .signup-privacy {font-size:13px;line-height:1.5;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.signup-privacy strong {display:block;margin-bottom:5px;color:var(--ink)}
.signup-provider,.signup-status {font-size:13px!important;color:var(--muted);line-height:1.5}.signup-status:empty {display:none}.signup-status {margin:12px 0 0}
.signup-provider a {display:inline-flex;align-items:center;min-height:44px}
.meeting-note {display:grid;grid-template-columns:58px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line-strong)}
.meeting-note .date-stamp {align-self:start}.community-page .meeting-note h2 {font-size:26px;margin:0 0 12px}.meeting-note p {font-size:16px;margin-bottom:10px}.meeting-note a {display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.section-intro {max-width:66ch;margin-bottom:24px}.community-page .section-intro h2 {margin:4px 0 16px;font-size:36px}.section-intro>p:not(.eyebrow) {color:var(--muted)}
.ways-section,.petition-section,.reading-path {margin-top:56px;padding-top:32px;border-top:1px solid var(--line-strong);scroll-margin-top:24px}
.action-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.action-cards article {background:var(--panel);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;align-items:flex-start;border-radius:var(--r)}
.action-symbol {font:600 18px var(--display);color:var(--creek);border-bottom:2px solid var(--creek);padding-bottom:6px;margin-bottom:24px}
.action-cards h3 {font-size:27px;line-height:1.15;margin:0 0 14px}.action-cards p {font-size:16px;color:var(--muted)}
.action-cards .btn {margin-top:auto;max-width:100%}.action-cards small {font-size:13px;line-height:1.45;color:var(--muted);margin-top:16px}
.reading-row {display:grid;grid-template-columns:60px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.reading-row:hover {background:var(--panel)}
.reading-number {font:500 38px/1 var(--display);color:var(--creek)}.reading-row h3 {font-size:30px;margin:0 0 10px}.reading-row p {font-size:17px;margin:0 0 12px;max-width:65ch;color:var(--muted)}.row-link {font-size:15px;color:var(--creek);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.evidence-callout {margin:48px 0;display:flex;align-items:center;justify-content:space-between;gap:28px;border-block:1px solid var(--line-strong);padding:32px;background:var(--sage-soft)}
.community-page .evidence-callout h2 {margin:6px 0 14px}.evidence-callout p {max-width:60ch;margin-bottom:0}.evidence-callout .btn {flex:none}
.petition-draft {background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r)}
.petition-draft summary {cursor:pointer;padding:20px 24px;font-size:18px;font-weight:600;min-height:48px}.petition-draft summary span {display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:6px}
.petition-draft>div {padding:12px 28px 28px;max-width:80ch}.petition-to {font-size:14px;color:var(--muted)}.petition-draft h3 {font-size:30px;line-height:1.15}.petition-boundary {font-size:14px;padding-top:20px;border-top:1px dashed var(--line-strong)}
.community-invitation {padding:40px 0 8px;margin-top:24px}.community-invitation p {max-width:64ch;color:var(--muted)}
.community-footer {padding:24px 0;margin-top:40px;border-top:1px solid var(--line-strong);color:var(--muted);font-size:14px}.community-footer nav {display:flex;flex-wrap:wrap;gap:8px 24px}.community-footer a {display:inline-flex;align-items:center;min-height:44px}
@media(max-width:900px) {.participation-layout {gap:28px}.signup-card {padding:22px}.action-cards {gap:12px}.action-cards article {padding:20px}}
@media(max-width:720px) {
  .community-footer-link {font-size:12px}.map-next-step h2 {font-size:24px}
  .community-page .document-header {margin-bottom:28px}.community-hero {padding:0 0 24px}.community-hero .lede {font-size:19px}
  .participation-layout {display:flex;flex-direction:column;gap:24px}.participation-layout>div,.signup-card {width:100%}.signup-card {padding:22px 20px}
  .community-page .signup-card h2 {font-size:32px}.community-page .section-intro h2 {font-size:30px}
  .ways-section,.petition-section,.reading-path {margin-top:36px;padding-top:24px}.action-cards {grid-template-columns:1fr;gap:16px}.action-cards article {padding:24px}
  .reading-row {grid-template-columns:36px 1fr;gap:14px;padding:24px 0}.reading-number {font-size:29px}.reading-row h3 {font-size:26px}.reading-row p {font-size:16px}
  .evidence-callout {display:block;padding:24px 20px;margin:32px 0}.evidence-callout .btn {margin-top:22px}
  .petition-draft summary {padding:18px}.petition-draft>div {padding:8px 18px 22px}.petition-draft h3 {font-size:26px}
}

/* Value after a property check: read first, ask a specific question, opt in if useful. */
.policy-context {margin:48px 0;padding:32px;border:1px solid var(--line-strong);border-top:4px solid var(--creek);border-radius:var(--r);background:var(--panel);scroll-margin-top:24px}
.policy-context .source-date {font-size:14px;color:var(--muted);max-width:75ch}
.policy-answer {border-top:1px solid var(--line-strong);scroll-margin-top:24px}
.policy-answer summary {min-height:56px;cursor:pointer;padding:18px 8px;font-size:20px;font-weight:600;line-height:1.3}
.policy-answer>div {padding:0 8px 20px;max-width:82ch}.policy-answer p {font-size:17px;line-height:1.55}
.policy-sources {display:flex;flex-wrap:wrap;gap:4px 24px;margin:12px 0}.policy-sources a {display:inline-flex;align-items:center;min-height:44px;font-size:14px;overflow-wrap:anywhere}
.policy-question {padding:16px;border-left:3px solid var(--creek);background:var(--paper)}
.policy-participate {padding:24px 8px 0;border-top:1px solid var(--line-strong)}.policy-participate h3 {font-size:27px}.policy-participate p {font-size:17px;max-width:70ch}
.guide-context {margin:24px 0;padding:20px;border-left:3px solid var(--creek);background:var(--creek-soft)}
.community-page .guide-context h2 {margin:0 0 10px;font-size:25px}.guide-context p {font-size:16px;line-height:1.5}.guide-context a {display:inline-flex;align-items:center;min-height:44px;font-size:16px}
@media(max-width:720px) {.policy-context {padding:22px 18px;margin:32px 0}.policy-answer summary {font-size:19px;padding:18px 0}.policy-answer>div {padding:0 0 16px}.policy-answer p {font-size:16px}.policy-sources {display:block}.policy-sources a {display:flex}.policy-participate {padding:20px 0 0}.policy-participate .btn {width:100%}}
.result-next-step {margin:18px 0 24px;padding:20px;background:var(--creek-soft);border:1px solid var(--line-strong);border-left:4px solid var(--creek);border-radius:var(--r-s)}
.result-next-step h2 {font-size:27px;margin:4px 0 10px}.result-next-step>p {font-size:15px;line-height:1.45;margin-bottom:14px}
.result-next-step .eyebrow {font-size:12px;color:var(--creek);margin-bottom:6px}.result-next-step .btn {width:100%;min-height:48px}
.result-next-step .next-step-choice {font-size:13px;margin:12px 0 0}.next-step-choice a {display:inline-flex;align-items:center;min-height:44px}
.next-step-footer {justify-content:center;min-height:44px;color:var(--creek);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.signup-card select {width:100%;min-height:48px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--panel);color:var(--ink);font:inherit;padding:10px 30px 10px 12px}
.signup-card select:disabled {opacity:1;background:var(--paper);color:var(--muted);-webkit-text-fill-color:var(--muted)}
.guide-breadcrumb {display:flex;justify-content:space-between;gap:20px;align-items:center;margin:-20px 0 30px;font-size:14px;color:var(--muted)}
.guide-breadcrumb a {display:inline-flex;min-height:44px;align-items:center}
.next-steps-layout {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);gap:48px;align-items:start}
.next-steps-layout h1 {font-size:clamp(38px,4.2vw,54px);line-height:1.08;margin:8px 0 20px}.next-steps-layout .lede {font-size:20px;line-height:1.5}
.guide-free {font-size:14px;color:var(--creek);padding-bottom:24px;border-bottom:1px solid var(--line-strong)}
.community-page .next-steps-layout h2 {font-size:29px;margin:24px 0 16px}.community-page .next-steps-layout .signup-card h2 {font-size:32px;margin:6px 0 14px}
.guide-answer summary {font-size:17px}.guide-answer p {font-size:16px;line-height:1.55}
.question-action {margin:28px 0;padding:24px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r)}
.question-action .eyebrow {margin:0}.community-page .question-action h2 {margin:8px 0 14px}.question-action p {font-size:16px}
.question-action blockquote {margin:20px 0;padding:0 0 0 16px;border-left:3px solid var(--creek);font-size:18px;line-height:1.5;color:var(--ink)}
.question-copy-status {font-size:14px!important;margin:10px 0 0;color:var(--creek)}.question-copy-status:empty {display:none}
.guide-sources summary,.guide-picker summary {min-height:48px;cursor:pointer;padding:12px 0;font-weight:600;color:var(--creek)}
.guide-sources ul {padding-left:20px}.guide-sources a {display:inline-block;min-height:44px;font-size:14px;overflow-wrap:anywhere}
.guide-limit {font-size:14px;color:var(--muted);margin:18px 0}.guide-limit a {display:inline-flex;align-items:center;min-height:44px}
.guide-followthrough {border-top:1px solid var(--line-strong);padding-top:8px;margin-top:22px}.guide-followthrough p {font-size:16px}
.guide-no-email {display:inline-flex;align-items:center;min-height:44px;margin:10px 0}
.guide-picker {border-top:1px solid var(--line-strong);margin-top:28px}.guide-picker nav,.overview-guides {display:grid;gap:4px}
.guide-picker nav a,.overview-guides a {display:flex;align-items:center;min-height:48px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:16px}
[data-property-guide],#guideOverview {scroll-margin-top:24px}
@media(max-width:900px) {.next-steps-layout {gap:28px;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr)}}
@media(max-width:720px) {
  .result-next-step {padding:16px}.result-next-step h2 {font-size:25px}
  .next-steps-layout {display:flex;flex-direction:column;gap:32px}.next-steps-layout>div,.next-steps-layout>.signup-card {width:100%;min-width:0}
  .guide-breadcrumb {display:block;margin:-12px 0 22px}.guide-breadcrumb span {display:none}
  .next-steps-layout .lede {font-size:18px}.question-action {padding:20px}.question-action blockquote {font-size:17px}
  .guide-followthrough .btn {width:100%}.guide-no-email {display:flex}.guide-picker nav a,.overview-guides a {font-size:15px}
}

.signup-availability a {display:inline-flex;align-items:center;min-height:44px}

/* An attributed memorandum: original words and editorial summaries stay distinct. */
.citizen-comments {margin:52px 0;scroll-margin-top:24px}.citizen-comments>.section-intro>p {max-width:70ch}
.citizen-memo {background:var(--panel);border:1px solid var(--line-strong);border-top:4px solid var(--ink);border-radius:var(--r-s);box-shadow:var(--shadow);overflow:hidden}
.memo-heading {display:flex;justify-content:space-between;gap:24px;padding:28px 32px 20px;align-items:start}.memo-kicker {font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 8px}
.memo-heading h3 {font-size:36px;line-height:1.1;margin:0}.memo-affiliation {font-size:16px;margin:6px 0 0}.memo-affiliation a {display:inline-flex;align-items:center;min-height:44px}
.memo-date {display:grid;gap:6px;padding-top:4px;font-size:14px;line-height:1.4;text-align:right;white-space:nowrap}.memo-date span+span {color:var(--muted)}
.memo-routing {display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin:0 32px;padding:16px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.memo-routing>div {display:grid;grid-template-columns:24px 1fr;gap:12px}.memo-routing dt {font-size:13px;text-transform:uppercase;color:var(--muted)}.memo-routing dd {font-size:15px;margin:0}
.memo-body {display:grid;grid-template-columns:1.05fr 1fr;gap:42px;padding:32px}.memo-excerpt {margin:0}.memo-excerpt .eyebrow {margin:0 0 18px}
.memo-excerpt blockquote {margin:0;border:0;padding:0}.memo-excerpt blockquote p {font-family:var(--display);font-size:32px;font-weight:500;line-height:1.26;margin:0 0 22px}
.memo-excerpt mark {background:var(--amber-soft);color:var(--ink);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.memo-excerpt figcaption {font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:24px}
.memo-highlights {border-left:1px solid var(--line);padding-left:32px}.memo-highlights h4 {font-family:var(--display);font-size:25px;margin:0 0 4px}.memo-summary-label {font-size:13px;color:var(--muted);margin:0 0 22px}
.memo-highlights ol {list-style:none;padding:0;margin:0;counter-reset:memo-points}.memo-highlights li {position:relative;counter-increment:memo-points;padding:0 0 18px 32px;margin:0 0 18px;border-bottom:1px solid var(--line)}.memo-highlights li:last-child {border:0;margin:0;padding-bottom:0}
.memo-highlights li:before {content:counter(memo-points,decimal-leading-zero);position:absolute;left:0;top:3px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.memo-highlights h5 {font-size:18px;line-height:1.3;margin:0 0 8px}.memo-highlights li p {font-size:16px;line-height:1.5;margin:0 0 6px}.memo-highlights li>span {font-size:12px;color:var(--muted)}
.memo-source-note {padding:22px 32px;border-top:1px solid var(--line);background:var(--paper)}.memo-source-note p {font-size:14px;line-height:1.5;max-width:95ch;margin:0 0 12px}
.memo-source-links {display:flex;flex-wrap:wrap;gap:6px 24px}.memo-source-links a {display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.citizen-comment-action {display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px}.citizen-comment-action p {font-size:16px;line-height:1.5;margin:0;max-width:62ch}.citizen-comment-action .btn {flex-shrink:0}
@media(max-width:900px) {.memo-body {gap:24px;padding:28px}.memo-highlights {padding-left:24px}.memo-excerpt blockquote p {font-size:29px}}
@media(max-width:720px) {
 .citizen-comments {margin:36px 0}.memo-heading {display:block;padding:24px 20px 16px}.memo-heading h3 {font-size:32px}.memo-date {margin-top:12px;text-align:left;white-space:normal;font-size:13px}
 .memo-routing {grid-template-columns:1fr;gap:12px;margin:0 20px}.memo-routing dd {font-size:14px}
 .memo-body {grid-template-columns:1fr;padding:26px 20px;gap:28px}.memo-excerpt blockquote p {font-size:29px}.memo-excerpt .btn {width:100%}
 .memo-highlights {padding:24px 0 0;border-left:0;border-top:1px solid var(--line-strong)}.memo-source-note {padding:20px}.memo-source-links {display:grid;gap:6px}
 .citizen-comment-action {display:block}.citizen-comment-action .btn {margin-top:16px;width:100%}
}
