@font-face { font-family: 'PW Caslon'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/libre-caslon.woff2) format('woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'PW Public Sans'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/assets/fonts/public-sans.woff2) format('woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

 .leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile-container, .leaflet-pane > svg, .leaflet-pane > canvas, .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer { position: absolute; left: 0; top: 0; } .leaflet-container { overflow: hidden; } .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow { -webkit-user-select: none; -moz-user-select: none; user-select: none; -webkit-user-drag: none; } .leaflet-tile::selection { background: transparent; } .leaflet-safari .leaflet-tile { image-rendering: -webkit-optimize-contrast; } .leaflet-safari .leaflet-tile-container { width: 1600px; height: 1600px; -webkit-transform-origin: 0 0; } .leaflet-marker-icon, .leaflet-marker-shadow { display: block; } .leaflet-container .leaflet-overlay-pane svg { max-width: none !important; max-height: none !important; } .leaflet-container .leaflet-marker-pane img, .leaflet-container .leaflet-shadow-pane img, .leaflet-container .leaflet-tile-pane img, .leaflet-container img.leaflet-image-layer, .leaflet-container .leaflet-tile { max-width: none !important; max-height: none !important; width: auto; padding: 0; } .leaflet-container img.leaflet-tile { mix-blend-mode: plus-lighter; } .leaflet-container.leaflet-touch-zoom { -ms-touch-action: pan-x pan-y; touch-action: pan-x pan-y; } .leaflet-container.leaflet-touch-drag { -ms-touch-action: pinch-zoom; touch-action: none; touch-action: pinch-zoom; } .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { -ms-touch-action: none; touch-action: none; } .leaflet-container { -webkit-tap-highlight-color: transparent; } .leaflet-container a { -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); } .leaflet-tile { filter: inherit; visibility: hidden; } .leaflet-tile-loaded { visibility: inherit; } .leaflet-zoom-box { width: 0; height: 0; -moz-box-sizing: border-box; box-sizing: border-box; z-index: 800; } .leaflet-overlay-pane svg { -moz-user-select: none; } .leaflet-pane { z-index: 400; } .leaflet-tile-pane { z-index: 200; } .leaflet-overlay-pane { z-index: 400; } .leaflet-shadow-pane { z-index: 500; } .leaflet-marker-pane { z-index: 600; } .leaflet-tooltip-pane { z-index: 650; } .leaflet-popup-pane { z-index: 700; } .leaflet-map-pane canvas { z-index: 100; } .leaflet-map-pane svg { z-index: 200; } .leaflet-vml-shape { width: 1px; height: 1px; } .leaflet-control { position: relative; z-index: 800; pointer-events: visiblePainted; pointer-events: auto; } .leaflet-top, .leaflet-bottom { position: absolute; z-index: 1000; pointer-events: none; } .leaflet-top { top: 0; } .leaflet-right { right: 0; } .leaflet-bottom { bottom: 0; } .leaflet-left { left: 0; } .leaflet-control { float: left; clear: both; } .leaflet-right .leaflet-control { float: right; } .leaflet-top .leaflet-control { margin-top: 10px; } .leaflet-bottom .leaflet-control { margin-bottom: 10px; } .leaflet-left .leaflet-control { margin-left: 10px; } .leaflet-right .leaflet-control { margin-right: 10px; } .leaflet-fade-anim .leaflet-popup { opacity: 0; -webkit-transition: opacity 0.2s linear; -moz-transition: opacity 0.2s linear; transition: opacity 0.2s linear; } .leaflet-fade-anim .leaflet-map-pane .leaflet-popup { opacity: 1; } .leaflet-zoom-animated { -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; } svg.leaflet-zoom-animated { will-change: transform; } .leaflet-zoom-anim .leaflet-zoom-animated { -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); transition: transform 0.25s cubic-bezier(0,0,0.25,1); } .leaflet-zoom-anim .leaflet-tile, .leaflet-pan-anim .leaflet-tile { -webkit-transition: none; -moz-transition: none; transition: none; } .leaflet-zoom-anim .leaflet-zoom-hide { visibility: hidden; } .leaflet-interactive { cursor: pointer; } .leaflet-grab { cursor: -webkit-grab; cursor: -moz-grab; cursor: grab; } .leaflet-crosshair, .leaflet-crosshair .leaflet-interactive { cursor: crosshair; } .leaflet-popup-pane, .leaflet-control { cursor: auto; } .leaflet-dragging .leaflet-grab, .leaflet-dragging .leaflet-grab .leaflet-interactive, .leaflet-dragging .leaflet-marker-draggable { cursor: move; cursor: -webkit-grabbing; cursor: -moz-grabbing; cursor: grabbing; } .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-image-layer, .leaflet-pane > svg path, .leaflet-tile-container { pointer-events: none; } .leaflet-marker-icon.leaflet-interactive, .leaflet-image-layer.leaflet-interactive, .leaflet-pane > svg path.leaflet-interactive, svg.leaflet-image-layer.leaflet-interactive path { pointer-events: visiblePainted; pointer-events: auto; } .leaflet-container { background: #ddd; outline-offset: 1px; } .leaflet-container a { color: #0078A8; } .leaflet-zoom-box { border: 2px dotted #38f; background: rgba(255,255,255,0.5); } .leaflet-container { font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; font-size: 12px; font-size: 0.75rem; line-height: 1.5; } .leaflet-bar { box-shadow: 0 1px 5px rgba(0,0,0,0.65); border-radius: 4px; } .leaflet-bar a { background-color: #fff; border-bottom: 1px solid #ccc; width: 26px; height: 26px; line-height: 26px; display: block; text-align: center; text-decoration: none; color: black; } .leaflet-bar a, .leaflet-control-layers-toggle { background-position: 50% 50%; background-repeat: no-repeat; display: block; } .leaflet-bar a:hover, .leaflet-bar a:focus { background-color: #f4f4f4; } .leaflet-bar a:first-child { border-top-left-radius: 4px; border-top-right-radius: 4px; } .leaflet-bar a:last-child { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-bottom: none; } .leaflet-bar a.leaflet-disabled { cursor: default; background-color: #f4f4f4; color: #bbb; } .leaflet-touch .leaflet-bar a { width: 30px; height: 30px; line-height: 30px; } .leaflet-touch .leaflet-bar a:first-child { border-top-left-radius: 2px; border-top-right-radius: 2px; } .leaflet-touch .leaflet-bar a:last-child { border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; } .leaflet-control-zoom-in, .leaflet-control-zoom-out { font: bold 18px 'Lucida Console', Monaco, monospace; text-indent: 1px; } .leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { font-size: 22px; } .leaflet-control-layers { box-shadow: 0 1px 5px rgba(0,0,0,0.4); background: #fff; border-radius: 5px; } .leaflet-touch .leaflet-control-layers-toggle { width: 44px; height: 44px; } .leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle { display: none; } .leaflet-control-layers-expanded .leaflet-control-layers-list { display: block; position: relative; } .leaflet-control-layers-expanded { padding: 6px 10px 6px 6px; color: #333; background: #fff; } .leaflet-control-layers-scrollbar { overflow-y: scroll; overflow-x: hidden; padding-right: 5px; } .leaflet-control-layers-selector { margin-top: 2px; position: relative; top: 1px; } .leaflet-control-layers label { display: block; font-size: 13px; font-size: 1.08333em; } .leaflet-control-layers-separator { height: 0; border-top: 1px solid #ddd; margin: 5px -10px 5px -6px; } .leaflet-container .leaflet-control-attribution { background: #fff; background: rgba(255, 255, 255, 0.8); margin: 0; } .leaflet-control-attribution, .leaflet-control-scale-line { padding: 0 5px; color: #333; line-height: 1.4; } .leaflet-control-attribution a { text-decoration: none; } .leaflet-control-attribution a:hover, .leaflet-control-attribution a:focus { text-decoration: underline; } .leaflet-attribution-flag { display: inline !important; vertical-align: baseline !important; width: 1em; height: 0.6669em; } .leaflet-left .leaflet-control-scale { margin-left: 5px; } .leaflet-bottom .leaflet-control-scale { margin-bottom: 5px; } .leaflet-control-scale-line { border: 2px solid #777; border-top: none; line-height: 1.1; padding: 2px 5px 1px; white-space: nowrap; -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(255, 255, 255, 0.8); text-shadow: 1px 1px #fff; } .leaflet-control-scale-line:not(:first-child) { border-top: 2px solid #777; border-bottom: none; margin-top: -2px; } .leaflet-control-scale-line:not(:first-child):not(:last-child) { border-bottom: 2px solid #777; } .leaflet-touch .leaflet-control-attribution, .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar { box-shadow: none; } .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar { border: 2px solid rgba(0,0,0,0.2); background-clip: padding-box; } .leaflet-popup { position: absolute; text-align: center; margin-bottom: 20px; } .leaflet-popup-content-wrapper { padding: 1px; text-align: left; border-radius: 12px; } .leaflet-popup-content { margin: 13px 24px 13px 20px; line-height: 1.3; font-size: 13px; font-size: 1.08333em; min-height: 1px; } .leaflet-popup-content p { margin: 17px 0; margin: 1.3em 0; } .leaflet-popup-tip-container { width: 40px; height: 20px; position: absolute; left: 50%; margin-top: -1px; margin-left: -20px; overflow: hidden; pointer-events: none; } .leaflet-popup-tip { width: 17px; height: 17px; padding: 1px; margin: -10px auto 0; pointer-events: auto; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } .leaflet-popup-content-wrapper, .leaflet-popup-tip { background: white; color: #333; box-shadow: 0 3px 14px rgba(0,0,0,0.4); } .leaflet-container a.leaflet-popup-close-button { position: absolute; top: 0; right: 0; border: none; text-align: center; width: 24px; height: 24px; font: 16px/24px Tahoma, Verdana, sans-serif; color: #757575; text-decoration: none; background: transparent; } .leaflet-container a.leaflet-popup-close-button:hover, .leaflet-container a.leaflet-popup-close-button:focus { color: #585858; } .leaflet-popup-scrolled { overflow: auto; } .leaflet-oldie .leaflet-popup-content-wrapper { -ms-zoom: 1; } .leaflet-oldie .leaflet-popup-tip { width: 24px; margin: 0 auto; -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); } .leaflet-oldie .leaflet-control-zoom, .leaflet-oldie .leaflet-control-layers, .leaflet-oldie .leaflet-popup-content-wrapper, .leaflet-oldie .leaflet-popup-tip { border: 1px solid #999; } .leaflet-div-icon { background: #fff; border: 1px solid #666; } .leaflet-tooltip { position: absolute; padding: 6px; background-color: #fff; border: 1px solid #fff; border-radius: 3px; color: #222; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; pointer-events: none; box-shadow: 0 1px 3px rgba(0,0,0,0.4); } .leaflet-tooltip.leaflet-interactive { cursor: pointer; pointer-events: auto; } .leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before { position: absolute; pointer-events: none; border: 6px solid transparent; background: transparent; content: ""; } .leaflet-tooltip-bottom { margin-top: 6px; } .leaflet-tooltip-top { margin-top: -6px; } .leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before { left: 50%; margin-left: -6px; } .leaflet-tooltip-top:before { bottom: 0; margin-bottom: -12px; border-top-color: #fff; } .leaflet-tooltip-bottom:before { top: 0; margin-top: -12px; margin-left: -6px; border-bottom-color: #fff; } .leaflet-tooltip-left { margin-left: -6px; } .leaflet-tooltip-right { margin-left: 6px; } .leaflet-tooltip-left:before, .leaflet-tooltip-right:before { top: 50%; margin-top: -6px; } .leaflet-tooltip-left:before { right: 0; margin-right: -12px; border-left-color: #fff; } .leaflet-tooltip-right:before { left: 0; margin-left: -12px; border-right-color: #fff; } @media print { .leaflet-control { -webkit-print-color-adjust: exact; print-color-adjust: exact; } } 
/* Town Green look: deep green and stone, Libre Caslon headings, Public Sans text, color-blind-safe category colors (Okabe-Ito based).
   Light and dark token sets; data-mode is set from the host theme. */
.pw { --font-anthropic-serif: "PW Caslon", "Libre Caslon Text", Georgia, "Times New Roman", serif; --font-anthropic-sans: "PW Public Sans", "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cds-radius: 4px; --cds-font-size-caption: 12.5px; --cds-font-size-body: 15px; --cds-font-size-heading: 16px; --cds-font-weight-medium: 600;
  --color-bg: #eef1ec; --color-panel: #fbfcfa; --color-fg: #17271e; --color-fg-muted: #56655b; --color-border-line: #d3dbd2; --accent: #1e5a3c; --accent-fg: #ffffff;
  --cds-chart-grid: #e1e7df; --cds-chart-muted: #a9b5ac; --cds-surface-popover: #fbfcfa; --cds-border: #d3dbd2; --cds-text-secondary: #56655b;
  --map-land: #f1f3ee; --map-green: #d3e3c8; --map-water: #c6dbe3; --map-road: #ffffff; --map-road-edge: #cdd5cb; --map-minor: #f8f9f6; --map-edge: #1e5a3c; }
.pw[data-mode=dark] {
  --color-bg: #0f1712; --color-panel: #17221b; --color-fg: #e5ede6; --color-fg-muted: #98a99d; --color-border-line: #2a3a2f; --accent: #7cc59b; --accent-fg: #0f1712;
  --cds-chart-grid: #243229; --cds-chart-muted: #5d6d62; --cds-surface-popover: #1d2a21; --cds-border: #2a3a2f; --cds-text-secondary: #98a99d;
  --c-multi: #2bc39a; --c-demo: #ff7a33; --c-new: #f2b632; --c-comm: #b08a5e; --c-adu: #e39ac2; --c-add: #4fa3e0; --c-zba: #c9cec9;
  --lab-green: #5cc58a; --lab-blue: #79a8ee; --lab-amber: #e2a748; --lab-gray: #7d857f;
  --map-land: #16211a; --map-green: #1d3323; --map-water: #1a2e36; --map-road: #2c3b31; --map-road-edge: #223027; --map-minor: #26342b; --map-edge: #5f9a77;
  color-scheme: dark; }
.pw { --c-multi:#009e73; --c-demo:#d55e00; --c-new:#e69f00; --c-comm:#6b4a2b; --c-adu:#cc79a7; --c-add:#0072b2; --c-zba:#4d524f;
  --lab-green:#1f7a4a; --lab-blue:#2d62b0; --lab-amber:#b8730a; --lab-gray:#8e948f;
  color: var(--color-fg); line-height: 1.5; font-family: var(--font-anthropic-sans); display: flex; flex-direction: column; gap: var(--cds-gap-xl); margin-inline: 0; container-type: inline-size; }
.pw h1 { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-title); margin: 0; line-height: 1.15; }
.pw h2 { line-height: 1.5; font-family: var(--font-anthropic-serif); font-size: 1.2rem; font-weight: 400; color: var(--accent); margin: 0; }
.pw > header.mast { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 6px 20px; padding: 4px 0 14px; border-bottom: 3px double var(--accent); }
.pw .mast-t { display: flex; flex-direction: column; gap: 4px; }
.pw .brand { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-fg); opacity: .7; }
.pw .brand svg { width: 18px; height: 14px; }
.pw > header.mast h1 { color: var(--accent); font-size: clamp(1.8rem, 4.2cqi, 2.6rem); line-height: 1.1; letter-spacing: -.01em; }
.pw > header.mast .asof { font-size: 12.5px; opacity: .75; color: var(--accent); }
.pw .maptitle { color: var(--accent); }
.pw h3 { margin: 0; }
.pw .head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px var(--cds-gap-md); }
.pw .asof { color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); }
.pw .note { color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); margin: 0; line-height: 1.5; }
.pw section { display: flex; flex-direction: column; gap: var(--cds-gap-sm); min-width: 0; }
.pw .panel { background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); display: flex; flex-direction: column; gap: var(--cds-gap-sm); min-width: 0; }
.pw [data-dash-source-state=refreshing] { opacity: .5; transition: opacity var(--cds-dur-slow); }
.pw [data-dash-source-state=empty] { color: transparent; }
.pw .fail { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); min-height: 4rem; }
.pw .fail::before { content: ""; width: .375rem; height: .375rem; border-radius: 50%; background: var(--color-bad); }
.pw button.lnk { all: unset; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; color: inherit; }
.pw button.lnk:focus-visible, .pw .seg button:focus-visible, .pw .chip:focus-visible, .pw .leg-cat:focus-visible { outline: 2px solid var(--color-fg-muted); outline-offset: 2px; }
.pw a { color: inherit; text-underline-offset: 2px; }

/* category symbol */
.pw .sym { display: inline-block; vertical-align: -2px; flex: none; }
.pw .catlab { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }

/* stat tiles */
.pw .tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--cds-gap-sm); }
.pw .tile { background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: 8px 12px; display: flex; flex-direction: column; gap: 0; min-width: 0; }
.pw .tile .k { font-size: 12px; color: var(--color-fg-muted); display: flex; align-items: center; gap: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw .tile .row { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.pw .tile .v { font-family: var(--font-anthropic-serif); font-size: 1.65rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.pw .tile .was { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }

/* two columns */
.pw .cols { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--cds-gap-lg); align-items: stretch; }
.pw .newshead { margin-bottom: calc(var(--cds-gap-xl) * -1 + var(--cds-gap-lg)); }
.pw .cols > .more { grid-column: 1; grid-row: 2; justify-self: start; }
.pw .cols > .main { grid-column: 1; grid-row: 1; align-self: start; }
.pw .cols > .side { grid-column: 2; grid-row: 1; }
/* hearings fill the side column down to the last story; the list scrolls */
.pw #boards { flex: 1 1 0; min-height: 22rem; display: flex; flex-direction: column; }
.pw #boards > #mtgs { flex: 1 1 0; min-height: 0; }
.pw .side { display: flex; flex-direction: column; gap: var(--cds-gap-lg); min-width: 0; }
.pw .mapwrap { position: relative; }
.pw .mapov { position: absolute; top: 8px; left: 8px; right: 8px; z-index: 1000; display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; pointer-events: none; }
.pw .mapov > * { pointer-events: auto; }
.pw .maptitle { background: color-mix(in srgb, var(--color-panel) 92%, transparent); border: 1px solid var(--color-border-line); border-radius: 8px; padding: 2px 10px; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.pw .mapov .seg { background: color-mix(in srgb, var(--color-panel) 92%, transparent); box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.pw .mapov .seg button[aria-pressed=true] { background: var(--accent); color: var(--accent-fg); }
.pw .main { display: flex; flex-direction: column; gap: var(--cds-gap-lg); min-width: 0; }

/* story cards */
.pw .cards { display: flex; flex-direction: column; gap: var(--cds-gap-md); }
.pw .card { background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); display: flex; flex-direction: column; gap: 6px; min-width: 0; scroll-margin-top: 12px; }
.pw .card .hl { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 1.36rem; line-height: 1.22; letter-spacing: -.005em; text-wrap: balance; }
.pw .card .dl { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
.pw .card .earlier { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); line-height: 1.6; }
.pw .card .fig { margin: 8px 0 4px; }
.pw .card .fig a { display: block; border: 1px solid var(--color-border-line); border-radius: calc(var(--cds-radius) - 2px); overflow: hidden; background: #fff; }
.pw .card .fig img { display: block; width: 100%; height: auto; }
.pw .card .fig figcaption { margin-top: 6px; font-size: var(--cds-font-size-caption); line-height: 1.45; color: var(--color-fg-muted); }
.pw .card .dl .pin { display: inline-block; width: 10px; height: 12px; vertical-align: -1px; margin-right: 3px; }
.pw .card p { margin: 2px 0 0; font-size: 15px; line-height: 1.58; max-width: 68ch; color: color-mix(in srgb, var(--color-fg) 82%, var(--color-bg)); }
.pw .card p.lead { color: var(--color-fg); }
.pw .card ul.pts { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14.5px; line-height: 1.5; max-width: 68ch; color: color-mix(in srgb, var(--color-fg) 82%, var(--color-bg)); }
.pw .card ul.pts b { font-weight: 500; color: var(--color-fg); }
.pw .card ul.pts li.bgp { color: var(--color-fg-muted); }
.pw .card .src { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--cds-gap-xs) var(--cds-gap-md); font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); margin-top: 6px; padding-top: var(--cds-pad-sm); border-top: 1px solid var(--color-border-line); }
.pw .card .src .links { min-width: 0; flex: 1 1 14rem; line-height: 1.7; }
.pw .rec { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); background: var(--color-bg); border: 1px solid var(--color-border-line); border-radius: calc(var(--cds-radius) - 2px); padding: var(--cds-pad-sm) var(--cds-pad-md); display: flex; flex-direction: column; gap: 3px; line-height: 1.5; }
.pw .rec b { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
.pw .rec q { quotes: none; color: var(--color-fg); }
.pw .lab { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 12px; font-weight: 500; color: var(--color-fg); }
.pw .lab::before { content: ""; width: 9px; height: 3px; border-radius: 2px; background: var(--lab-gray); flex: none; }
.pw .lab[data-c=green]::before { height: 9px; border-radius: 50%; background: var(--lab-green); }
.pw .lab[data-c=blue]::before { height: 9px; border-radius: 50%; background: transparent; border: 2px solid var(--lab-blue); box-sizing: border-box; }
.pw .lab[data-c=amber]::before { height: 9px; border-radius: 1px; background: var(--lab-amber); transform: rotate(45deg) scale(.85); }

/* map */
.pw .maphead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cds-gap-xs) var(--cds-gap-md); }
.pw .seg { display: inline-flex; border: 1px solid var(--color-border-line); border-radius: 999px; padding: 2px; background: var(--color-bg); }
.pw .seg button { all: unset; cursor: pointer; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); border-radius: 999px; padding: 3px 10px; }
.pw .seg button[aria-pressed=true] { background: var(--accent); color: var(--accent-fg); }
.pw #pmap { height: 520px; border-radius: var(--cds-radius); border: 1px solid var(--color-border-line); overflow: hidden; }
.pw .leaflet-container { font-family: var(--font-anthropic-sans); background: var(--color-panel); }
.pw .leaflet-control-attribution { background: color-mix(in srgb, var(--color-panel) 85%, transparent) !important; color: var(--color-fg-muted) !important; font-size: 10px; }
.pw .leaflet-control-attribution a { color: var(--color-fg-muted) !important; }
.pw .leaflet-bar a { background: var(--color-panel); color: var(--color-fg); border-color: var(--color-border-line); }
.pw .leaflet-popup-content-wrapper, .pw .leaflet-popup-tip { background: var(--color-panel); color: var(--color-fg); box-shadow: 0 4px 18px rgba(0,0,0,.25); }
.pw .leaflet-popup-content { margin: 12px 14px; font-size: var(--cds-font-size-caption); line-height: 1.45; }
.pw .leaflet-container a.leaflet-popup-close-button { color: var(--color-fg-muted); }
.pw .mk { background: none; border: 0; }
.pw .mk svg { overflow: visible; filter: drop-shadow(0 1px 1.5px rgba(0,0,0,.35)); }
.pw .mlbl { white-space: nowrap; font-size: 10.5px; font-weight: 500; color: var(--color-fg-muted); text-shadow: 0 0 3px var(--color-panel), 0 0 3px var(--color-panel); pointer-events: none; transform: translate(-50%, -50%); width: max-content; }
.pw .legend { background: color-mix(in srgb, var(--color-panel) 92%, transparent); border: 1px solid var(--color-border-line); border-radius: 8px; padding: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.15); color: var(--color-fg); }
.pw .leg-cats { display: grid; grid-template-columns: repeat(2, auto); column-gap: 2px; }
.pw .leg-cat { all: unset; cursor: pointer; display: grid; grid-template-columns: 16px auto auto; align-items: center; gap: 5px; padding: 1px 5px; border-radius: 5px; font-size: 11.5px; line-height: 1.35; }
.pw .leg-cat:hover { background: var(--color-bg); }
.pw .leg-cat[aria-pressed=false] { opacity: .38; }
.pw .leg-cat .n { color: var(--color-fg-muted); font-variant-numeric: tabular-nums; text-align: right; min-width: 1.3em; }
.pw .leg-z { display: flex; align-items: center; gap: 5px; margin-top: 2px; padding: 3px 5px 1px; border-top: 1px solid var(--color-border-line); color: var(--color-fg-muted); font-size: 11px; }
.pw .pop h4 { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 16px; margin: 0 0 1px; }
.pw .pop .pa { color: var(--color-fg-muted); margin-bottom: 4px; }
.pw .pop .fil { border-top: 1px solid var(--color-border-line); padding-top: 6px; margin-top: 6px; }
.pw .pop .fil .t { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; color: var(--color-fg-muted); }
.pw .pop q { display: block; margin-top: 3px; quotes: none; color: var(--color-fg); }
.pw .hit { pointer-events: none; }
.pw .hit circle { fill: none; stroke: var(--color-fg); stroke-width: 2; }

/* small charts */
.pw .chart { position: relative; }
.pw #year { gap: 6px; }
.pw #year .yh, .pw #year .yr { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.pw #year .yr .sub { margin: 0; }
.pw #year .yr + .chart { margin-bottom: 4px; }
.pw #year .yv { font-size: 12.5px; color: var(--color-fg-muted); font-variant-numeric: tabular-nums; }
.pw #year .yv b { color: var(--color-fg); font-weight: 600; }
.pw #year .yh { align-items: center; flex-wrap: wrap; justify-content: flex-start; gap: 4px 10px; }
.pw #year .ystat { margin-left: auto; font-size: 12.5px; color: var(--color-fg-muted); white-space: nowrap; }
.pw .ypill { display: flex; }
.pw .yhint { display: inline-block; padding: 2px 10px; border: 1px solid var(--color-border-line); border-radius: 999px; background: var(--color-panel); font-size: 12px; line-height: 1.3; color: var(--color-fg-muted); pointer-events: none; }
.pw .ychip { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; padding: 2px 9px 2px 11px; border: 1px solid var(--accent); border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.3;
  color: var(--accent-fg); background: var(--accent); white-space: nowrap; }
.pw .ychip:hover { filter: brightness(1.12); }
.pw .ychip svg { opacity: .85; }
.pw .ychip[hidden], .pw .yhint[hidden] { display: none; }
.pw .ychip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pw .mbar { cursor: pointer; outline: none; }
.pw .mbar:focus-visible rect:first-child { stroke: var(--accent); stroke-width: 2; }
/* desktop: keep some empty space on both sides so the page feels less spread out */
@media (min-width: 1000px) { html .pw { box-sizing: border-box; max-width: 80rem; margin-inline: auto; padding-inline: clamp(24px, 5vw, 72px); } }
.pw .chart.sm { min-height: 130px; }
.pw .sub { font-size: var(--cds-font-size-caption); font-weight: var(--cds-font-weight-medium); margin: var(--cds-gap-sm) 0 0; }
.pw .sub:first-of-type { margin-top: 0; }
.pw .tip { position: absolute; pointer-events: none; background: var(--cds-surface-popover); border: 1px solid var(--cds-border); border-radius: var(--cds-radius); box-shadow: var(--cds-shadow-popover); padding: var(--cds-pad-xs) var(--cds-pad-sm); font-size: var(--cds-font-size-caption); white-space: nowrap; z-index: 2; }
.pw .tip .d { color: var(--cds-text-secondary); }

/* board meetings */
.pw #stats .head { justify-content: flex-start; }
.pw .boardkey { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px var(--cds-gap-md); font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); line-height: 1.45; }
.pw .boardkey b { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
.pw .mtgs { display: flex; flex-direction: column; gap: var(--cds-gap-md); }
.pw #mtgs { overflow-y: auto; overscroll-behavior: contain; margin-right: calc(var(--cds-pad-lg) * -1 + 4px); padding-right: calc(var(--cds-pad-lg) - 4px); }
.pw #mtgs.clip { border-bottom: 1px solid var(--color-border-line); }
.pw #mtgs > .when { position: sticky; top: 0; z-index: 1; background: var(--color-panel); padding: 2px 0; }
.pw .more { all: unset; cursor: pointer; align-self: flex-start; font-size: var(--cds-font-size-caption); padding: 5px 14px; border-radius: 999px; border: 1px solid var(--color-border-line); color: var(--color-fg); }
.pw .more:focus-visible { outline: 2px solid var(--color-fg-muted); outline-offset: 2px; }
.pw .card[hidden] { display: none; }
.pw #board-chips .chip[aria-pressed=false] { opacity: 1; color: var(--color-fg-muted); }
.pw #board-chips .chip[aria-pressed=true] { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); }
.pw #board-chips .chip[aria-pressed=true] .n { color: inherit; opacity: .8; }
.pw .shown { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
.pw .when { font-size: var(--cds-font-size-caption); text-transform: uppercase; letter-spacing: .07em; color: var(--color-fg-muted); font-weight: var(--cds-font-weight-medium); margin: var(--cds-gap-xs) 0 0; }
.pw .mtg { display: flex; flex-direction: column; gap: 0; }
.pw .mtg h4 { margin: 0 0 2px; font-size: var(--cds-font-size-body); font-weight: var(--cds-font-weight-medium); }
.pw .mtg h4 span { color: var(--color-fg-muted); font-weight: 400; }
.pw .it { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--cds-gap-sm); padding: 6px 0; border-top: 1px solid var(--color-border-line); font-size: var(--cds-font-size-caption); line-height: 1.45; }
.pw .it .a { font-weight: var(--cds-font-weight-medium); color: var(--color-fg); }
.pw .it .d { color: var(--color-fg-muted); }
.pw .it .o { white-space: nowrap; text-align: right; color: var(--color-fg-muted); }
.pw .it .o .lab { font-size: inherit; }

/* tables */
.pw .chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pw .chip { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; font-size: var(--cds-font-size-caption); padding: 2px 9px 2px 7px; border-radius: 999px; border: 1px solid var(--color-border-line); color: var(--color-fg); white-space: nowrap; }
.pw .chip[aria-pressed=false] { opacity: .45; }
.pw .chip .n { color: var(--color-fg-muted); font-variant-numeric: tabular-nums; }
.pw .chip.static { cursor: default; color: var(--color-fg-muted); border-style: dashed; }
.pw .scroll { overflow: auto; max-height: 34rem; }
.pw table { border-collapse: collapse; width: 100%; font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; }
.pw th { position: sticky; top: 0; z-index: 1; background: var(--color-panel); text-align: left; font-weight: var(--cds-font-weight-medium); color: var(--color-fg-muted); padding: 6px 8px; border-bottom: 1px solid var(--color-border-line); white-space: nowrap; }
.pw th button { all: unset; cursor: pointer; }
.pw td { padding: 6px 8px; border-bottom: 1px solid var(--color-border-line); vertical-align: top; }
.pw td.work { min-width: 16rem; max-width: 34rem; color: var(--color-fg-muted); }
.pw td.nw { white-space: nowrap; }
.pw tr.hot td { background: color-mix(in srgb, var(--lab-amber) 16%, transparent); }
.pw .controls { display: flex; flex-wrap: wrap; gap: var(--cds-gap-sm); align-items: center; font-size: var(--cds-font-size-caption); }
.pw .controls input[type=search], .pw .controls select { font: inherit; padding: 4px 8px; border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); background: var(--color-bg); color: var(--color-fg); min-width: 0; }
.pw .controls input[type=search] { flex: 1 1 12rem; }
.pw .older .mtgs { margin-top: var(--cds-gap-sm); }
.pw details summary { cursor: pointer; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
.pw details ul { margin: var(--cds-gap-xs) 0 0; padding-left: 1.2rem; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); line-height: 1.6; }
.pw-foot { display: flex; flex-wrap: wrap; gap: var(--cds-gap-xs) var(--cds-gap-m, 1rem); align-items: baseline; border-top: 1px solid var(--color-border-line); margin-top: var(--cds-gap-m, 1rem); padding-top: var(--cds-gap-s, .5rem); font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
.pw-foot-link { font: inherit; color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; }
.pw-terms { max-width: 40rem; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); line-height: 1.6; }
.pw-terms h2 { font-size: 1.05rem; color: var(--color-fg); margin: var(--cds-gap-m, 1rem) 0 0; }
.pw-terms h3 { font-size: inherit; color: var(--color-fg); margin: var(--cds-gap-s, .5rem) 0 0; }
.pw-terms p, .pw-terms ul { margin: .25rem 0; }
.pw-terms ul { padding-left: 1.2rem; }

@container (max-width: 900px) {
  .pw .cols { grid-template-columns: minmax(0, 1fr); }
  .pw .cols > .side { grid-column: 1; grid-row: 3; }
  .pw #boards { flex: none; min-height: 0; }
  .pw #boards > #mtgs { flex: none; max-height: 30rem; }
  .pw #pmap { height: 400px; }
}
@container (max-width: 640px) {
  .pw { gap: var(--cds-gap-lg); }
  .pw .tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .pw .tile { padding: 6px 8px; }
  .pw .tile .v { font-size: 1.35rem; }
  .pw .card .hl { font-size: calc(1.36rem * .9); }
  .pw .panel, .pw .card { padding: var(--cds-pad-md); }
  .pw #pmap { height: 360px; }
  .pw .leaflet-bottom.leaflet-left { right: 0; }
  .pw .legend { margin: 0 6px 6px !important; }
  .pw .leaflet-control-zoom { display: none; }
  .pw .leg-cats { display: flex; flex-wrap: wrap; }
  .pw .boardkey { grid-template-columns: minmax(0, 1fr); }
  /* tables become stacked rows */
  .pw .rt thead { display: none; }
  .pw .rt, .pw .rt tbody, .pw .rt tr, .pw .rt td { display: block; width: auto; }
  .pw .rt tr { padding: 8px 0; border-bottom: 1px solid var(--color-border-line); display: grid; grid-template-columns: auto 1fr; gap: 1px 8px; }
  .pw .rt td { border: 0; padding: 0; min-width: 0; max-width: none; }
  .pw .rt td.c-addr { grid-column: 1 / -1; font-weight: var(--cds-font-weight-medium); color: var(--color-fg); order: 1; }
  .pw .rt td.c-cat { order: 2; }
  .pw .rt td.c-date { order: 3; color: var(--color-fg-muted); text-align: right; }
  .pw .rt td.c-date.c-iss { display: none; }
  .pw .rt td.c-type { order: 4; color: var(--color-fg-muted); }
  .pw .rt td.c-status { order: 5; color: var(--color-fg-muted); grid-column: 1 / -1; }
  .pw .rt td.work { order: 6; grid-column: 1 / -1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .pw .rt td.c-no { order: 7; grid-column: 1 / -1; color: var(--color-fg-muted); }
  .pw .rt td.c-no::before { content: "Application #"; }
  .pw .rt td:empty { display: none; }
}

.pw { --cds-gap-xs: 4px; --cds-gap-s: 8px; --cds-gap-sm: 8px; --cds-gap-m: 12px; --cds-gap-md: 12px; --cds-gap-lg: 16px; --cds-gap-xl: 24px;
  --cds-pad-xs: 4px; --cds-pad-sm: 8px; --cds-pad-md: 12px; --cds-pad-lg: 16px; --cds-font-size-title: 28px; --cds-dur-slow: 300ms;
  --cds-shadow-popover: 0 6px 20px rgba(0, 0, 0, .16); padding: 0 16px 8px; }
body { --color-bg: #eef1ec; } @media (prefers-color-scheme: dark) { body { --color-bg: #0f1712; } }
