/* Street information dominates; artwork is a small, separate geographic accent. */
.map-stage{background:#293b35}.map-stage #poolMap{background:#293b35;background-image:none}.street-tile-pane{filter:invert(.92) hue-rotate(180deg) saturate(1.35) brightness(1.08) contrast(.88)}.map-stage .minimap-hud{background:#202e2bf0;border:1px solid #b4b6a070;color:#f2e8cb;box-shadow:none}.map-stage .minimap-hud b{font-family:ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:.9px}.map-stage .minimap-hud span{color:#d4d6c7}.leaflet-control-zoom a{background:#f2ecd9;color:#263a32}.leaflet-control-scale-line{color:#eee4c8!important;border-color:#d7d7c3!important;background:#233831d4!important}.leaflet-control-attribution{background:#263a32df!important;color:#dddcc9!important}.leaflet-control-attribution a{color:#e4ddc4!important}.wildlife-icon,.wildlife-trees{background:none;border:0;pointer-events:none!important}.wildlife-icon svg,.wildlife-trees svg{display:block;width:100%;height:100%;overflow:visible}.wildlife-icon{filter:drop-shadow(0 1px 1px #1e302532)}.wildlife-trees{opacity:.65}.wildlife-toggle{grid-column:1/-1}.map-tools .wildlife-toggle[aria-pressed=true]{background:#e9dfd0;border-color:#c5b49a;color:#30291f}.wildlife-tree-pane{transition:opacity .2s}.count-dot{box-shadow:0 0 0 2px #263b32ad,1px 2px 5px #17251d4d;border-color:#263e31}.count-cluster{box-shadow:0 0 0 2px #263b32ad,1px 2px 5px #17251d4d;border-color:#80906a}.count-dot.selected{outline-color:#e7c873}.leaflet-tooltip{background:#f5efdd;border-color:#7e8d70}.map-stage .leaflet-interactive:focus{stroke:#dfd3b2;stroke-width:2.5}
@media(prefers-reduced-motion:reduce){.wildlife-tree-pane{transition:none}}

.map-reset-overview{position:absolute;right:13px;top:13px;z-index:800;display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid #a8b59f;border-radius:9px;background:#f3efdfed;color:#274437;font:650 12px/1.3 system-ui;box-shadow:0 2px 8px #15382d26}.map-reset-overview span{font-size:20px;line-height:1}.map-reset-overview:hover{background:#fff9e8}.map-reset-overview:focus-visible{outline:3px solid #f0cf6b;outline-offset:3px}.otter-companion{position:absolute;left:13px;bottom:24px;width:88px;height:88px;z-index:650;pointer-events:none}.otter-character{width:88px;height:88px;transform-origin:50% 75%;filter:drop-shadow(0 2px 1px #132c2360)}.otter-character svg{display:block;width:100%;height:100%;overflow:visible}.otter-message{position:absolute;left:49px;bottom:78px;max-width:170px;width:max-content;padding:7px 10px;background:#fff5deed;color:#3c5141;border:1px solid #a5b194;border-radius:12px 12px 12px 2px;font:600 11px/1.4 system-ui;box-shadow:0 2px 7px #17392d25;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}.otter-companion.has-message .otter-message{opacity:1;transform:translateY(0)}.otter-sparkle{position:absolute;left:7px;top:13px;color:#ffdd6d;font-size:18px;opacity:0}.otter-companion.is-excited .otter-character{animation:otter-cheer .85s ease-in-out}.otter-companion.is-curious .otter-character{animation:otter-curious 1s ease-in-out}.otter-companion.is-sleepy .otter-character{animation:otter-sleepy 1.1s ease-in-out}.otter-companion.is-excited .otter-sparkle{animation:otter-sparkle .85s ease-out}.otter-companion.is-paused .otter-character,.otter-companion.is-paused .otter-sparkle{animation:none!important}.source-audit-link{font-size:11px;color:#526b55;margin:6px 0 12px}.source-audit-link a{font-weight:600}@keyframes otter-cheer{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-6deg)}55%{transform:translateY(-3px) rotate(5deg)}75%{transform:translateY(-5px) rotate(-3deg)}}@keyframes otter-curious{0%,100%{transform:rotate(0)}40%{transform:rotate(-7deg)}70%{transform:rotate(4deg)}}@keyframes otter-sleepy{0%,100%{transform:translateY(0)}50%{transform:translateY(3px) rotate(-4deg)}}@keyframes otter-sparkle{0%,100%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:translate(-2px,-4px) scale(1.15)}}
@media(max-width:650px){.map-reset-overview{right:9px;top:10px;min-height:36px;font-size:10px;padding:6px 9px}.otter-companion{left:8px;bottom:24px;width:72px;height:72px}.otter-character{width:72px;height:72px}.otter-message{left:40px;bottom:65px;max-width:150px;font-size:10px}.map-stage .minimap-hud{max-width:calc(100% - 200px)}}@media(prefers-reduced-motion:reduce){.otter-character,.otter-sparkle{animation:none!important}.otter-message{transition:none}}

.lead-controller h1{font:750 27px/1.2 system-ui;margin:0 0 18px}.lead-controller .controls{padding:0 0 20px;border:0;background:none}.map-shell{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:stretch}.map-scroll-rail{padding:18px;background:#faf8f2;touch-action:pan-y;overflow-wrap:anywhere}.map-scroll-rail .map-reset-overview{position:static;width:100%;justify-content:center;margin-bottom:18px}.map-scroll-rail .map-tools{display:flex;flex-direction:column}.map-scroll-rail .map-hint{font-size:12px}.panel-only{display:block!important}.pool-photo{width:148px;height:100px;object-fit:cover;border-radius:12px}.pool-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pool-actions{display:flex;flex-direction:column;gap:12px}.bus-button,.next-swim{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #b6c9c0;border-radius:10px;background:#e2f1e8;color:#254a3a;text-decoration:none;font-weight:700;cursor:pointer}.bus-button svg{width:22px;height:22px}.otter-companion,.otter-character{width:150px;height:150px}.otter-message{bottom:135px;left:65px}.count-dot.closed{color:#b2182d!important;font-size:25px!important;background:#ffe3e5!important}.pool-photo-link{display:block}.source-discrepancy{padding:12px;border-left:3px solid #bd8125;background:#fff5d9}
@media(max-width:800px){.map-shell{grid-template-columns:minmax(0,1fr) 150px}.map-scroll-rail{padding:10px}.map-scroll-rail .btn{font-size:11px;padding:9px}.map-scroll-rail .map-hint{font-size:10px}.otter-companion,.otter-character{width:115px;height:115px}.otter-message{bottom:105px}.map-scroll-rail .map-reset-overview{font-size:11px}.map-scroll-rail .locationrow{display:block}}@media(max-width:480px){.map-shell{grid-template-columns:minmax(0,1fr) 105px}.map-scroll-rail .map-hint,.map-scroll-rail .map-origin{font-size:10px}.minimap-hud{display:none}.pool-photo{width:110px;height:80px}}
.otter-character img{width:100%;height:100%;object-fit:contain}.otter-character{animation:otter-idle 4s ease-in-out infinite}@keyframes otter-idle{50%{transform:translateY(-3px) rotate(2deg)}}
.photo-credit{display:block;font-size:9px;max-width:170px;color:#68796b}.pool-links{align-items:flex-start}.photo-credit a{font-weight:400}.pool-photo-link{max-width:160px}.pool-actions{min-width:160px}.map-stage .otter-companion{bottom:24px}.otter-companion .otter-message{left:90px;bottom:125px}
.pet-otter-sprite{display:block;width:100%;aspect-ratio:192/208;background-image:url(/assets/otter-pet.png);background-size:800% 1100%;background-repeat:no-repeat}.otter-character{animation:none!important}.otter-character .pet-otter-sprite{transform:none}
.yvotter-brand{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.yvotter-brand b{font:800 30px/1.2 system-ui;letter-spacing:-1px}.yvotter-brand span{font-size:13px;color:#736b5d}.zufer-credit{font-size:12px;color:#746d61;text-align:center;margin:18px 0 0;letter-spacing:.3px}@media(max-width:500px){.yvotter-brand{display:block}.yvotter-brand span{display:block;margin-top:4px}}