*{box-sizing:border-box}body{margin:0;background:#f5f3ed;color:#213c39;font:16px/1.5 system-ui,sans-serif}main{max-width:1160px;margin:auto;padding:32px 24px}header{max-width:850px;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;color:#596b62}h1{font-size:clamp(28px,4vw,44px);line-height:1.1;letter-spacing:-.035em;margin:10px 0 14px}h2{font-size:20px}header p{margin:8px 0}.map-shell{background:#fff;border:1px solid #c6d0c8;border-radius:12px;overflow:hidden}.toolbar{display:flex;align-items:center;gap:14px;padding:12px 16px;flex-wrap:wrap}.status{font-size:13px;background:#fff0d8;color:#804510;padding:5px 10px;border:1px solid #dfb779;border-radius:5px}.toolbar button{margin-left:auto}button,a{color:inherit}button{background:#fff;border:1px solid #aebdb4;border-radius:5px;padding:6px 10px;cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #d56c18;outline-offset:3px}.layers{display:flex;flex-wrap:wrap;gap:6px 18px;padding:0 16px 12px;font-size:13px}.layers label{cursor:pointer;display:flex;align-items:center;gap:5px;min-height:28px}.layers input{accent-color:#245d4d;width:16px;height:16px}.canvas{position:relative}#map{height:550px;background:#e7ebe4}.north{position:absolute;right:12px;top:12px;z-index:600;background:white;padding:4px 8px;border-radius:4px;font-weight:700}.map-note{padding:8px 14px;margin:0;font-size:12px;color:#52635b}.notes{max-width:850px;color:#43594f;font-size:14px;margin:26px 0}.notes a{text-underline-offset:3px}.district-label{background:#fffdf8eF;border:1px solid #678577;border-radius:5px;text-align:center;font:600 12px/1.25 system-ui;padding:4px;white-space:normal;box-shadow:0 1px 4px #263a3520}.tower-pin{background:#fff4e7;border:3px dashed #b9530d;border-radius:50%;color:#97440c;font:bold 18px/26px system-ui;text-align:center}.road-label{background:#ffffffc9;border:0;box-shadow:none;color:#5d6661;font:11px system-ui}.leaflet-container{font-family:system-ui,sans-serif}.leaflet-control-attribution{font-size:10px}#touch{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:700;white-space:nowrap;background:#213c39;color:white}.embed main{max-width:none;padding:0}.embed .map-shell{height:100dvh;min-height:360px;border-radius:0;display:flex;flex-direction:column}.embed .canvas{flex:1;min-height:150px}.embed #map{height:100%}.embed .toolbar{padding:8px 10px;gap:8px}.embed .layers{padding:0 10px 6px;gap:2px 12px}.embed .toolbar a{font-size:12px}.embed .map-note{font-size:11px}@media(max-width:520px){main{padding:22px 12px}#map{height:500px}.toolbar{padding:10px}.layers{padding-left:10px;gap:2px 10px}.status{font-size:12px}.map-note{font-size:11px}.embed .toolbar button{font-size:11px}.embed .toolbar a{margin-left:auto}.embed .status{padding:4px 6px}}


/* v3 district palette and content-sized pills. */
body{background:#f6eedf;color:#3c382f;font-family:"DejaVu Sans",sans-serif}
.eyebrow,.notes,.map-note{color:#6a6257}.map-shell{border-color:#b9aa93;background:#f6eedf}.status{background:#f6eedf;color:#3c382f;border:0;border-radius:24px;font-size:12px;white-space:nowrap;padding:5px 10px}
button{background:#fff8ec;border-color:#b9aa93;color:#3c382f;font:inherit;font-size:12px;border-radius:18px}.layers{font-size:12px}.layers input{accent-color:#ab5039}.north{background:#3c382f;color:#f6eedf;border-radius:16px;font-size:12px}
.ortho-pane{filter:saturate(1.32) contrast(1.16) brightness(1.03) sepia(.12)}
.adopted-outline{filter:drop-shadow(0 0 2px #282c25)}
.district-label{width:max-content!important;height:auto!important;background:transparent;border:0;padding:0;box-shadow:none;white-space:nowrap;font:600 12px/1.3 "DejaVu Sans",sans-serif}
.district-label>span{display:inline-block;width:auto;white-space:nowrap;padding:4px 9px 4px 4px;border-radius:24px;background:#f6eedf;color:#3c382f;box-shadow:1px 3px 0 #30271f99;transform:translate(-50%,-50%)}
.district-label strong{display:inline-block;border-radius:50%;background:#ab5039;color:#fff8ec;padding:2px 6px;margin-right:6px}.district-name{display:inline!important}
.tower-pin{background:transparent;border:3px dashed #eea486;box-shadow:0 0 0 2px #2b251f;color:#ab5039}.tower-pin:after{content:'';position:absolute;left:11px;top:11px;width:4px;height:4px;border-radius:50%;background:#ab5039}
.tower-caption{position:absolute;bottom:39px;left:-28px;display:inline-block;width:max-content;padding:6px 10px;white-space:nowrap;border-radius:10px;background:#f6eedf;color:#ab5039;font:700 12px/1.5 "DejaVu Sans",sans-serif;box-shadow:1px 3px 0 #30271f66}.tower-caption span{color:#3c382f;font-weight:400}
.road-label{background:#3c382f;color:#f6eedf;border-radius:20px;padding:4px 8px;font-size:12px;white-space:nowrap}.leaflet-container{font-family:"DejaVu Sans",sans-serif;background:#b9aa93}.leaflet-control-attribution,.leaflet-control-scale-line{font-size:12px}.leaflet-control-attribution{max-width:100%;line-height:1.3;background:#f6eedfe8}.leaflet-control-layers{background:#f6eedf;color:#3c382f;font-size:12px}.leaflet-bottom.leaflet-right{max-width:85%}.leaflet-control-layers-toggle{width:32px;height:32px}.map-note,.embed .map-note{font-size:12px}.embed .toolbar button{font-size:12px}#touch{background:#3c382f;font-size:12px;bottom:72px}
@media(max-width:520px){.toolbar{gap:6px}.embed .toolbar{gap:4px}.embed .status{padding:4px 0}.embed .toolbar button{padding:5px 8px}.layers{gap:0 10px}.embed .layers{gap:0 10px}.embed .map-note{padding:6px 10px;line-height:1.4}.embed .toolbar a{font-size:12px}.leaflet-control-attribution{font-size:12px}.district-label>span{padding-right:8px}.district-label strong{margin-right:4px}}

.district-label>.badge-A{transform:translate(calc(-50% + 40px),-50%)}.district-label>.badge-D{transform:translate(calc(-50% - 32px),-50%)}.district-label>.badge-C{transform:translate(calc(-50% - 22px),-50%)}.district-label>.badge-B{transform:translate(-50%,calc(-50% + 16px))}
.toolbar #touch{position:static;transform:none;margin:0 auto;background:#3c382f;color:#f6eedf}.embed .toolbar:has(#touch:not([hidden])){justify-content:space-between}.embed .toolbar #touch{flex-basis:100%;padding:3px 8px}.embed .toolbar{gap:4px}
@media(max-width:520px){.district-label>.badge-A{transform:translate(calc(-50% + 52px),calc(-50% + 23px))}.district-label>.badge-D{transform:translate(calc(-50% - 72px),calc(-50% - 5px))}.district-label>.badge-C{transform:translate(calc(-50% - 42px),-50%)}}
