/* Named field notes. Read points do not establish paths or ground outlines. */
.culture-zones{margin:30px 0;padding:22px;background:#fbf8f0;border:1px solid #ded2c0;border-radius:12px;box-shadow:inset 0 1px 0 #fff}
.culture-zones__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.culture-zones .culture-zones__title{margin:0;color:var(--ab-ink,#2a211c);line-height:1.4}
.culture-zones__title small{display:block;margin-bottom:5px;font:600 10px/1.4 system-ui,sans-serif;letter-spacing:.12em;color:var(--ab-wine,#7a2e35)}
.culture-zones__title strong{font-family:"Noto Serif KR",serif;font-size:20px;font-weight:700}
.culture-zones__source{display:inline-flex;align-items:center;min-height:40px;flex:none;font:600 12px/1.4 system-ui,sans-serif;color:var(--ab-wine,#7a2e35);text-underline-offset:4px}
.culture-zones .culture-zones__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}
.culture-zones .culture-zones__card{display:flex;align-items:flex-start;gap:12px;min-width:0;margin:0;padding:18px 14px;list-style:none;background:#fffdf8;border:1px solid #e5dacb;border-radius:8px}
.culture-zones__mark{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:28px;min-height:28px;box-sizing:border-box;padding:3px 6px;background:#efe2df;border:1px solid #d9bdb7;border-radius:50%;color:var(--ab-wine,#7a2e35);font:700 12px/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.culture-zones__card>div{min-width:0;align-self:center}
.culture-zones__name{display:block;color:var(--ab-ink,#2a211c);font:700 16px/1.45 "Noto Serif KR",serif;word-break:keep-all;overflow-wrap:anywhere}
.culture-zones__prog{display:block;margin-top:6px;color:var(--ab-muted,#7a6d62);font:400 13px/1.6 system-ui,sans-serif;word-break:keep-all;overflow-wrap:anywhere}
.culture-zones .culture-zones__note{margin-top:16px;padding-top:12px;border-top:1px dashed #dfd2c0;color:var(--ab-muted,#7a6d62);font:400 12px/1.65 system-ui,sans-serif;word-break:keep-all}
.culture-zones__source:focus-visible{outline:2px solid #7a2e35;outline-offset:3px}
.culture-zones .culture-zones__card.has-illustration{display:grid;grid-template-columns:28px 72px minmax(0,1fr);align-items:center;gap:10px}
.culture-zones__illustration{display:block;width:72px;height:72px;object-fit:contain;flex:none}
@media(max-width:640px){.culture-zones{padding:17px 14px}.culture-zones__head{gap:8px;margin-bottom:14px}.culture-zones__title strong{font-size:18px}.culture-zones .culture-zones__card{gap:9px;padding:14px 10px}.culture-zones__name{font-size:15px}.culture-zones__prog{font-size:12px}.culture-zones__mark{min-width:25px;min-height:25px;font-size:11px}}
@media(min-width:360px) and (max-width:640px){.culture-zones .culture-zones__card.has-illustration{grid-template-columns:25px minmax(0,1fr);gap:8px}.culture-zones__card.has-illustration>div{grid-column:2;grid-row:1}.culture-zones__card.has-illustration>.culture-zones__illustration{grid-column:1/-1;grid-row:2;justify-self:center}}
@media(max-width:359px){.culture-zones .culture-zones__cards{grid-template-columns:1fr}}

/* Relative-position diagram: callout lines join names to fixed source dots, not walking routes. */
.culture-zones__map[hidden],.culture-zones__selected[hidden]{display:none}
.culture-zones__map-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:#89745f;font:500 11px/1.5 system-ui,sans-serif}
.culture-zones__zoom{display:flex;align-items:center;gap:3px;flex:none}
.culture-zones__zoom button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:36px;padding:4px 7px;border:1px solid #dfd0bc;border-radius:5px;background:#fffdf8;color:#75414a;font:600 12px/1 system-ui;cursor:pointer}
.culture-zones__zoom button:disabled{color:#b4a899;cursor:default}
.culture-zones__zoom-value{font-size:9px;min-width:30px;text-align:center;color:#8a7b68;font-variant-numeric:tabular-nums}
.culture-zones__viewport{max-height:470px;overflow:auto;overscroll-behavior:auto;border:1px solid #e2d6c5;border-radius:9px;background:#f4efe3;scrollbar-color:#c3ad93 #f4efe3;scrollbar-width:thin}
.culture-zones__plane{position:relative;min-width:100%;isolation:isolate}
.culture-zones{--culture-zone-background:url('../brand/zone-background-paper-v1.webp')}
.culture-zones[data-zone-background="olive"]{--culture-zone-background:url('../brand/zone-background-olive-v1.webp')}
.culture-zones[data-zone-background="ochre"]{--culture-zone-background:url('../brand/zone-background-ochre-v1.webp')}
.culture-zones[data-zone-background="water"]{--culture-zone-background:url('../brand/zone-background-water-v1.webp')}
.culture-zones__plane::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--culture-zone-background);background-size:100% 100%;background-repeat:no-repeat;opacity:.64}
.culture-zones__wires,.culture-zones__labels{position:absolute;inset:0;width:100%;height:100%}
.culture-zones__wires{pointer-events:none;overflow:visible}
.culture-zones__wires line{stroke:#bca68b;stroke-width:1;stroke-dasharray:3 3}
.culture-zones__wires circle{fill:#71825f;stroke:#fffdf6;stroke-width:2}
.culture-zones__wires .is-selected{stroke:#7a2e35}.culture-zones__wires circle.is-selected{fill:#7a2e35;stroke:#fffdf6}
.culture-zones__label{position:absolute;display:grid;grid-template-columns:18px 28px minmax(0,1fr);align-items:center;gap:4px;box-sizing:border-box;min-height:42px;padding:6px;border:1px solid #d6c6ae;border-radius:6px;background:#fffaf1;color:#3f342a;text-align:left;cursor:pointer;box-shadow:0 1px 2px #8b725015}
.culture-zones__label:not(.has-illustration){grid-template-columns:18px minmax(0,1fr)}
.culture-zones__label .culture-zones__mark{min-width:18px;min-height:18px;padding:0;font-size:9px}
.culture-zones__label .culture-zones__illustration{width:28px;height:28px}
.culture-zones__label .culture-zones__name{font:600 12px/1.45 system-ui,sans-serif;word-break:keep-all;overflow-wrap:anywhere}
.culture-zones__label[aria-pressed="true"]{border-color:#8e5961;background:#f6eae5;z-index:2}
.culture-zones__label:focus-visible,.culture-zones__zoom button:focus-visible,.culture-zones__viewport:focus-visible,.culture-zones__details>summary:focus-visible{outline:2px solid #7a2e35;outline-offset:2px}
.culture-zones .culture-zones__map-help{margin:9px 0 12px;font:400 11px/1.65 system-ui,sans-serif;color:#897a67;word-break:keep-all}
.culture-zones__details{margin-top:12px;border-top:1px solid #e4d7c4}
.culture-zones__details>summary{padding:11px 0;font:600 13px/1.5 system-ui,sans-serif;cursor:pointer;color:#695646}
.culture-zones__details>summary span{font-size:11px;font-weight:400;color:#978673;margin-left:5px}
.culture-zones .culture-zones__details .culture-zones__card.has-illustration,.culture-zones .culture-zones__selected .culture-zones__card.has-illustration{display:grid;grid-template-columns:25px 40px minmax(0,1fr);gap:9px;padding:12px}
.culture-zones__details .culture-zones__illustration,.culture-zones__selected .culture-zones__illustration{width:40px;height:40px;grid-area:auto!important;justify-self:auto}
.culture-zones__details .culture-zones__card>div,.culture-zones__selected .culture-zones__card>div{grid-area:auto!important}
.culture-zones .culture-zones__selected{list-style:none;margin:10px 0 0;padding:0}
.culture-zones__selected .culture-zones__card{border-color:#c7aaa3;background:#fbf2e9}
.culture-zones__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:640px){.culture-zones__viewport{max-height:420px}.culture-zones__map-bar{font-size:10px;gap:5px}.culture-zones__zoom button{min-height:40px;min-width:28px;padding-inline:6px}.culture-zones__zoom-value{min-width:27px}.culture-zones .culture-zones__details .culture-zones__cards{grid-template-columns:1fr}}
