.map{display:grid;gap:1.5rem}@media(min-width:1000px){.map{grid-template-columns:minmax(0,1.55fr) minmax(19rem,1fr);gap:2rem;align-items:start}}.map-stage{position:relative;border:1px solid var(--color-rule);border-radius:var(--radius-xl);background-color:var(--color-parchment);background-image:radial-gradient(ellipse 70% 55% at 30% 25%,color-mix(in oklab,var(--color-turquoise) 7%,transparent),transparent 70%),radial-gradient(ellipse 60% 60% at 78% 72%,color-mix(in oklab,var(--color-gold) 8%,transparent),transparent 68%);overflow:hidden;padding:clamp(.75rem,2vw,1.5rem)}.map-svg{display:block;width:100%;height:auto;aspect-ratio:1000 / 620;overflow:visible;touch-action:manipulation}.map-region{cursor:pointer;outline:none}.map-shape{fill:var(--color-clay);stroke:var(--color-parchment);stroke-width:2.5;stroke-linejoin:round;transition:fill var(--duration-base) var(--ease-expo),opacity var(--duration-base) var(--ease-expo),transform var(--duration-base) var(--ease-expo);transform-origin:center;transform-box:fill-box}@media(hover:hover){.map-region:hover .map-shape{fill:var(--color-turquoise-300);transform:translateY(-3px)}}.map-region:focus-visible .map-shape{fill:var(--color-turquoise-300);stroke:var(--color-lazurite);stroke-width:3.5}.map-region[data-state=selected] .map-shape{fill:var(--color-lazurite)}.map-region[data-state=dimmed] .map-shape{fill:var(--color-clay);opacity:.28;pointer-events:none}.map-label{fill:var(--color-ink-soft);font-family:var(--font-body);font-weight:600;pointer-events:none;paint-order:stroke fill;stroke:var(--color-parchment);stroke-width:3px;stroke-linejoin:round;transition:opacity var(--duration-base) var(--ease-expo)}.map-region[data-state=selected] .map-label{fill:var(--color-parchment);stroke:var(--color-lazurite-ink);stroke-width:2.5px}.map-hint{position:absolute;inset-block-end:1rem;inset-inline-start:1.25rem;font-size:var(--text-xs);font-weight:600;color:var(--color-ink-faint);transition:opacity var(--duration-base) var(--ease-expo)}.map[data-zoomed=true] .map-hint{opacity:0}.map-hint-touch{display:inline}.map-hint-pointer{display:none}@media(hover:hover)and (pointer:fine){.map-hint-touch{display:none}.map-hint-pointer{display:inline}}.map-back{position:absolute;inset-block-start:1rem;inset-inline-start:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:999px;font-size:var(--text-sm);font-weight:600;color:var(--color-ink);background-color:var(--color-parchment);border:1px solid var(--color-rule);box-shadow:var(--shadow-md);animation:map-back-in var(--duration-base) var(--ease-expo);transition:transform var(--duration-fast) var(--ease-expo),box-shadow var(--duration-fast) var(--ease-expo)}.map-back:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}@keyframes map-back-in{0%{opacity:0;transform:translateY(-8px)}}.map-aside{display:grid;gap:1.25rem;align-content:start}.map-panel{padding:1.5rem;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background-color:var(--color-parchment);min-height:18rem;outline:none}.map-panel:focus-visible{outline:2px solid var(--color-lazurite);outline-offset:3px}.map-panel-eyebrow{font-size:var(--text-2xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-terracotta);margin-bottom:.45rem}html[dir=rtl] .map-panel-eyebrow,html[lang^=zh] .map-panel-eyebrow{text-transform:none;letter-spacing:.02em}.map-panel-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;color:var(--color-ink);margin-bottom:.75rem;line-height:1.15}html[dir=rtl] .map-panel-title{line-height:1.4}.map-panel-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:var(--text-xs);color:var(--color-ink-muted);padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--color-rule-soft)}.map-panel-meta strong{color:var(--color-ink-soft);font-weight:600}.map-panel-description{font-size:var(--text-sm);line-height:1.7;color:var(--color-ink-soft)}.map-panel-subhead{font-size:var(--text-2xs);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--color-ink-faint);margin:1.5rem 0 .75rem}html[dir=rtl] .map-panel-subhead,html[lang^=zh] .map-panel-subhead{text-transform:none;letter-spacing:.02em}.map-places{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.map-places li{display:grid;gap:.15rem;padding-inline-start:.85rem;border-inline-start:2px solid var(--color-clay)}.map-place-name{font-weight:600;font-size:var(--text-sm);color:var(--color-ink)}.map-place-description{font-size:var(--text-xs);line-height:1.5;color:var(--color-ink-muted)}.map-explore{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.5rem;padding:.7rem 1.2rem;border-radius:999px;font-size:var(--text-sm);font-weight:600;color:var(--color-parchment);background-image:linear-gradient(135deg,var(--color-lazurite),var(--color-lazurite-deep));transition:transform var(--duration-base) var(--ease-expo),box-shadow var(--duration-base) var(--ease-expo)}.map-explore:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.map-panel-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding-block:1.5rem}.map-panel-compass{color:var(--color-clay-deep);margin-bottom:.5rem}.map-list-title{font-size:var(--text-2xs);font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:.75rem}html[dir=rtl] .map-list-title,html[lang^=zh] .map-list-title{text-transform:none;letter-spacing:.02em}.map-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.map-list-button{padding:.45rem .85rem;font-size:var(--text-xs);font-weight:550;color:var(--color-ink-soft);border:1px solid var(--color-rule);border-radius:999px;transition:background-color var(--duration-fast) var(--ease-expo),border-color var(--duration-fast) var(--ease-expo),color var(--duration-fast) var(--ease-expo)}.map-list-button:hover{background-color:var(--color-sand);border-color:var(--color-clay-deep);color:var(--color-ink)}.map-list-button[aria-pressed=true]{background-color:var(--color-lazurite);border-color:var(--color-lazurite);color:var(--color-parchment)}
