/* Faithful color plan, with an automatically framed close-up for each zone. */
.village-explore{display:block}
.village-explore .map-frame{background:var(--surface);box-shadow:0 6px 0 var(--mint)}
.village-explore .map-toolbar{display:flex;justify-content:space-between;gap:12px;padding:16px 22px}
.map-scale-note{font-size:11px;font-weight:400;color:var(--muted)}
.village-explore .map-viewport{overflow:visible;max-height:none;background:var(--surface)}
.map-zone-nav{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:7px;padding:16px 22px;background:var(--surface);border-bottom:1px dashed var(--line)}
.zone-tab{min-height:44px;padding:9px 14px;border:1px solid var(--line);background:var(--surface);border-radius:12px;font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:center;gap:7px}
.zone-tab i{width:12px;height:12px;background:var(--zone-color);border:1px solid var(--zone-ink);border-radius:50%}
.zone-tab[aria-pressed=true]{background:var(--zone-color,var(--holly));border-color:var(--zone-ink,var(--holly));color:var(--zone-ink,var(--white));box-shadow:0 2px 0 var(--zone-ink,var(--holly))}
.zone-tab:hover{border-color:var(--zone-ink,var(--holly))}
.color-map-canvas{width:100%;min-width:0;aspect-ratio:auto!important;padding:24px;background:#f4f7ec!important;isolation:isolate;color:#284b3b}
.plan-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px}
.plan-kicker{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#526f61}.plan-heading h3{font-size:24px;letter-spacing:-.5px;margin-top:6px;color:#284b3b}.plan-heading p{font-size:12px;text-align:right;line-height:1.6;color:#526f61}
.shelter-plan{display:block;width:100%;height:auto;max-height:740px;overflow:hidden;font-family:Arial,sans-serif}
.color-map-canvas:not([data-active-zone=all]) .shelter-plan{height:400px;max-height:none}.color-map-canvas:not([data-active-zone=all]) .plan-decoration{display:none}
.map-place{cursor:pointer;outline:none}.pen-shadow{fill:var(--zone-ink);opacity:.22}.pen-body{fill:var(--zone-color);stroke:var(--zone-ink);stroke-width:1.1;stroke-linejoin:round}
.place-number{fill:#253d39;text-anchor:middle;font-size:8px;font-weight:800;pointer-events:none;paint-order:stroke;stroke:var(--zone-color);stroke-width:1.2px;stroke-linejoin:round}.group-number{font-size:9px;stroke:#fffdf3}
.kennel-yard{fill:#fffdf3;stroke:var(--zone-ink);stroke-width:.8;stroke-dasharray:2 2}.kennel-wall{fill:var(--zone-color);stroke:var(--zone-ink);stroke-width:.65}.kennel-roof{fill:#fff;stroke:var(--zone-ink);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.kennel-door{fill:var(--zone-ink)}
.map-place:hover .pen-body,.map-place[aria-pressed=true] .pen-body,.map-place:focus-visible .pen-body,.map-place:hover .kennel-yard,.map-place[aria-pressed=true] .kennel-yard,.map-place:focus-visible .kennel-yard{stroke:#b53348;stroke-width:2.4;fill:#fff0db}
.map-place[aria-pressed=true] .place-number,.map-place:focus-visible .place-number{fill:#93283c;stroke:#fff0db}.map-place:focus-visible{filter:drop-shadow(0 0 2px #b53348)}
.place-letter rect{fill:#ba3b4d;stroke:white;stroke-width:.8}.place-letter path{fill:none;stroke:white;stroke-width:.8}
.place-list[hidden],.plan-zone[hidden]{display:none!important}.place-list h4{font-size:13px;margin-bottom:10px;font-weight:600}.place-list>div{display:flex;flex-wrap:wrap;gap:7px}.place-chip{display:flex;align-items:center;justify-content:center;gap:6px;min-width:56px;min-height:48px;padding:8px 10px;border:1px solid var(--zone-ink);border-radius:12px;background:var(--zone-color);color:#243d36;font-size:16px;font-weight:800}.place-chip>span{font-size:15px;opacity:.7}.place-chip[aria-pressed=true]{outline:3px solid #b53348;outline-offset:2px}.place-chip:focus-visible{outline:3px solid #243d36;outline-offset:2px}
.plan-selection-hint{font-size:12px;text-align:center;color:#526f61;margin:12px 0 20px}.color-map-canvas[data-active-zone=all] .plan-selection-hint{display:none}
.village-explore #map-preview{width:280px;max-width:calc(100% - 16px);padding:17px;background:var(--surface);color:var(--text);z-index:10;text-align:left}
.village-explore #map-preview>strong{display:block;font-size:16px;margin-right:25px}.village-explore #map-preview>a{font-size:16px;min-height:54px;gap:13px}.village-explore #map-preview img{width:54px;height:54px;object-fit:cover;border-radius:8px}.village-explore #map-preview>p{font-size:13px;margin-top:10px}.village-explore #map-preview>small{display:block;margin-top:10px}.map-preview-close{position:absolute;top:4px;right:4px;width:36px;height:36px;font-size:25px;line-height:1}
.village-explore .enclosure-panel{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.8fr) auto;align-items:center;gap:25px;margin-top:20px;max-height:none;min-height:0;overflow:visible;padding:20px 24px;border-style:solid}.village-explore .enclosure-panel::before{display:none}.village-explore .enclosure-panel h3{font-size:23px}.selected-place-heading .eyebrow{font-size:9px;margin-bottom:9px}.selected-place-heading .map-demo-note{max-width:200px;line-height:1.5}.village-explore .enclosure-residents{display:flex;flex-wrap:wrap;gap:15px 28px;margin:0}.village-explore .resident{border:0;padding:0;gap:12px}.village-explore .resident strong{font-size:21px}.village-explore .resident small{font-size:11px}.village-explore .enclosure-panel>.text-link{margin:0;padding:0;font-size:12px}
.legend-pen,.legend-kennels{display:inline-block;vertical-align:middle;width:18px;height:15px;margin-right:5px;background:#f8c6d3;border:1px solid #965667;border-radius:4px}.legend-kennels{background:#fffdf3;border:1px dashed #527561;color:#527561;text-align:center;font-style:normal;line-height:13px}
@media(max-width:760px){.village-explore .map-toolbar{padding:13px 14px;font-size:12px}.map-scale-note{display:none}.map-zone-nav{padding:12px;gap:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.zone-tab{font-size:12px;padding-inline:9px;min-height:44px}.color-map-canvas{padding:14px}.plan-heading{align-items:start}.plan-kicker{font-size:8px;letter-spacing:.5px}.plan-heading h3{font-size:21px}.plan-heading p{font-size:10px;max-width:120px}.color-map-canvas:not([data-active-zone=all]) .shelter-plan{height:290px}.plan-selection-hint{font-size:11px;margin:6px 0 16px}.village-explore .map-legend{padding:12px;gap:8px 15px}.village-explore .enclosure-panel{display:block;margin-top:14px;padding:20px}.village-explore .enclosure-residents{margin-top:13px;gap:14px}.village-explore .enclosure-panel>.text-link{margin-top:17px}.village-explore .resident img{width:62px;height:62px}.selected-place-heading .map-demo-note{max-width:none}.village-explore #map-preview{width:260px}}

.pen-snow{fill:none;stroke:#fffef6;stroke-width:1.8;stroke-linecap:round;pointer-events:none}
/* Original winter artwork with selectable areas placed over the printed numbers. */
.illustrated-plan{max-height:none;background:#fffdf5;border-radius:14px}
.illustrated-plan .map-place{position:static}
.plan-illustration{pointer-events:none}
.illustrated-hit{fill:transparent;stroke:none;pointer-events:all}
.illustrated-marker{fill:transparent;stroke:transparent;stroke-width:2.5;pointer-events:none}
.illustrated-place:hover .illustrated-marker,.illustrated-place[aria-pressed=true] .illustrated-marker,.illustrated-place:focus-visible .illustrated-marker{fill:#fff5bc55;stroke:#b53348}
.illustrated-plan .map-place:focus-visible{filter:none}
.place-chip small{font-size:9px;font-weight:400;max-width:35px;line-height:1.1}
.animal-photo-pending{position:relative}.photo-pending-label{position:absolute;left:10px;right:10px;bottom:12px;text-align:center;padding:6px 8px;border-radius:9px;background:#fffdf5e8;color:#4d6d60;font-size:12px}
.animal-portrait .photo-pending-label{position:static;display:block;margin:0}
.animal-story{white-space:pre-line}
@media(max-width:760px){.color-map-canvas:not([data-active-zone=all]) .illustrated-plan{height:340px}.illustrated-plan .place-letter{display:none}}
