.map{background:var(--surface);border:1px solid var(--faint);border-radius:6px;margin:0;overflow:hidden}.map__top{border-bottom:1px solid var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;padding:.9rem 1.25rem;display:flex}.map__title{font-family:var(--font-display);margin:0;font-size:1.125rem;font-weight:600}.map__title span{font-family:var(--font-text);color:var(--slate);margin-left:.5rem;font-size:.9rem;font-weight:400}.map__controls{color:var(--slate);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.map__controls input[type=range]{width:min(14rem,36vw);accent-color:var(--maroon)}.map__controls output{font-variant-numeric:tabular-nums;color:var(--ink);min-width:2.6rem;font-weight:600}.map__controls button{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:4px;padding:.3rem .7rem;font-size:.85rem}.map__controls button:hover{border-color:var(--ink)}.map__stage{position:relative;overflow-x:auto}.map__stage svg{width:100%;min-width:760px;height:auto;display:block}.map__stage svg.map-svg--port{min-width:0;display:none}.map__hint{color:var(--slate);margin:0;padding:.5rem 1rem 0;font-size:.8125rem;display:none}@media (width<=40rem){.map__stage:has(.map-svg--port) svg.map-svg--land{display:none}.map__stage svg.map-svg--port{display:block}.map__hint{display:block;position:sticky;left:0}.map__top{padding:.8rem 1rem}.map__controls{flex-wrap:wrap;width:100%}.map__controls input[type=range]{flex:1;width:auto}.map .map-pop{right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;max-height:62vh;position:fixed;box-shadow:0 -8px 30px -12px #17223866;top:auto!important;left:8px!important}}.map__foot{border-top:1px solid var(--faint);grid-template-columns:minmax(0,1fr);gap:1rem 2.5rem;padding:1rem 1.25rem 1.2rem;display:grid}@media (width>=60rem){.map__foot{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.map__detail{min-height:4.6rem}.map__k{color:var(--slate);margin:0;font-size:.8125rem}.map__t{font-family:var(--font-display);margin:.15rem 0 0;font-size:1.05rem;font-weight:600;line-height:1.3}.map__m{color:var(--slate);margin:.2rem 0 0;font-size:.875rem}.map__how{color:var(--slate);margin:0;font-size:.8125rem;line-height:1.5}.map__legend{flex-wrap:wrap;gap:.35rem 1rem;margin:.6rem 0 0;padding:0;font-size:.8125rem;list-style:none;display:flex}.map__legend li{align-items:center;gap:.4rem;display:inline-flex}.mk{border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.mk--paper{background:var(--ink)}.mk--finding{background:var(--maroon)}.mk--shared{border:2px solid var(--ink);background:#fff}.mk--tool{border:1.5px solid var(--ink);background:#fff;border-radius:1px}.map .rlabel{font-family:var(--font-display);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;cursor:pointer;font-style:italic;font-weight:500}.map .rlabel:focus-visible{outline:2px solid var(--maroon);outline-offset:3px;fill:var(--maroon)}.map .slabel{font-family:var(--font-text);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;font-size:11px}.map .axis text{font-family:var(--font-text);fill:var(--slate);font-variant-numeric:tabular-nums;font-size:11px}.map .axis line{stroke:var(--faint)}.map [data-paper],.map [data-tool]{cursor:pointer}.map .is-dim{opacity:.18}.map [data-paper],.map [data-area-mark]{transition:opacity .16s ease-out}.map-pop{z-index:5;border:1px solid var(--line);background:#fff;border-radius:8px;width:min(22rem,100% - 16px);max-height:calc(100% - 16px);padding:1rem 1.1rem 1.05rem;font-size:.9rem;position:absolute;overflow-y:auto;box-shadow:0 10px 30px -12px #17223859}.map-pop[hidden]{display:none}.map-pop__x{width:2rem;height:2rem;color:var(--slate);cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:1.35rem;line-height:1;position:absolute;top:.4rem;right:.45rem}.map-pop__x:hover{color:var(--ink);background:var(--ground)}.map-pop__area{color:var(--slate);flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding-right:2rem;font-size:.8125rem;display:flex}.map-pop__area i{border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.map-pop__finding{font-family:var(--font-display);color:var(--maroon);margin:.5rem 0 0;font-size:1.08rem;font-weight:600;line-height:1.3}.map-pop__title{font-family:var(--font-display);margin:.45rem 0 0;font-size:1rem;font-weight:600;line-height:1.3}.map-pop__finding+.map-pop__title{font-family:var(--font-text);font-size:.875rem;font-weight:400}.map-pop__meta{color:var(--slate);margin:.3rem 0 0;font-size:.8125rem;line-height:1.45}.map-pop__actions{flex-wrap:wrap;gap:.4rem 1rem;margin-top:.75rem;font-size:.875rem;font-weight:600;display:flex}.map-pop__actions a{color:var(--maroon)}.map-pop__h{color:var(--slate);margin:.9rem 0 0;font-size:.8125rem}.map-pop__near{gap:.15rem;margin:.3rem 0 0;padding:0;list-style:none;display:grid}.map-pop__near button{all:unset;cursor:pointer;box-sizing:border-box;border-radius:4px;width:100%;margin-inline:-.4rem;padding:.3rem .4rem;font-size:.85rem;line-height:1.35;display:block}.map-pop__near button:hover{background:var(--ground)}.map-pop__near button:focus-visible{background:var(--ground);outline:2px solid var(--maroon);outline-offset:1px}.map-pop__x:focus-visible{outline:2px solid var(--maroon);outline-offset:1px}.map-pop__near button span{color:var(--slate);white-space:nowrap}.map-pop__scroll{max-height:15rem;overflow-y:auto}.map-pop__tools{margin:.2rem 0 0;font-size:.85rem}.map__stage .map-pop__inset{border:1px solid var(--faint);background:#f8fafa;border-radius:4px;width:calc(100% - 2.25rem);min-width:0;height:auto;margin:0 0 .6rem;display:block}.map-list{margin-top:1rem}.map-list summary{cursor:pointer;color:var(--slate);padding-block:.5rem;font-size:.95rem;font-weight:600}.map-list h3{font-family:var(--font-display);align-items:center;gap:.5rem;margin:1.25rem 0 0;font-size:1.05rem;font-weight:600;display:flex}.map-list h3 i{background:var(--area);border-radius:2px;width:.8rem;height:.8rem;display:inline-block}.map-list ul{margin:.4rem 0 0;padding-left:1.2rem;font-size:.925rem}@media (prefers-reduced-motion:no-preference){.map--lines .track{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:1.1s cubic-bezier(.22,1,.36,1) forwards map-draw;animation-delay:var(--delay,0s)}.map--lines .stops{animation:.4s ease-out 1s both map-fade}.map--strata .strata-body{animation:1.6s cubic-bezier(.22,1,.36,1) both map-reveal}@keyframes map-draw{to{stroke-dashoffset:0}}@keyframes map-fade{0%{opacity:0}}@keyframes map-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}}
