.map-page{padding-bottom:48px}.map-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-top:32px;padding-bottom:18px;display:flex}.map-toolbar h1{margin:6px 0 0}.map-toolbar__link{color:var(--accent);font-family:var(--f-body);text-underline-offset:2px;text-decoration:underline}.map-empty{color:var(--ink-soft);padding:24px 0 48px;font-style:italic}.mono{font-family:var(--f-mono)}.map-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.map-layout.has-card{grid-template-columns:minmax(0, 1fr) var(--map-card-w,380px)}.map-canvas-wrap{position:relative}.map-layout.has-card .map-panel{max-height:70vh;animation:.32s cubic-bezier(.4,0,.2,1) map-card-in;overflow-y:auto}@keyframes map-card-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.map-layout.has-card .map-panel{animation:none}}.map-figure{border:1px solid var(--rule);background:var(--paper-2);user-select:none;width:100%;height:70vh;line-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80,0 30px 60px -34px #281e128c}@media (pointer:fine){.map-figure{overscroll-behavior:contain}}.map-island[data-map-fullscreen]{z-index:110;background:var(--paper);flex-direction:column;display:flex;position:fixed;inset:0}.map-island[data-map-fullscreen] .map-strips{display:none}.map-island[data-map-fullscreen] .map-layout{flex:1;align-items:stretch;min-height:0}.map-island[data-map-fullscreen] .map-canvas-wrap{flex-direction:column;min-height:0;display:flex}.map-island[data-map-fullscreen] .map-figure{height:auto;min-height:0;box-shadow:none;border:none;flex:1}.map-island[data-map-fullscreen] .map-legend{border-width:1px 0 0;flex:none;margin-top:0}.map-island[data-map-fullscreen] .map-layout.has-card .map-panel{max-height:none}.map-island[data-map-fullscreen] .map-panel--empty{display:none}.map-viewport{z-index:0;touch-action:none;cursor:grab;width:100%;height:100%;scroll-margin-top:96px;transition:filter .45s;position:relative;overflow:clip}.map-viewport.is-loading{filter:blur(12px)}.map-viewport:active{cursor:grabbing}.map-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.map-viewport{transition:none}}.map-figure.is-dimmed .map-viewport{filter:saturate(.65)opacity(.7)}.map-labels{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.map-labels svg{display:block;overflow:visible}.map-fog{fill:var(--paper);fill-opacity:.62;stroke:none;pointer-events:none}.map-colored{animation:.22s both map-colored-in}@keyframes map-colored-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.map-colored{animation:none}}.map-province{fill:var(--c,var(--accent));fill-opacity:0;stroke:var(--c,var(--accent));stroke-width:0;stroke-linejoin:round;cursor:pointer;transition:fill-opacity .16s,stroke-width .16s}.map-province.is-tinted{fill-opacity:.28;stroke-width:.75px}.map-viewport:active .map-province{cursor:grabbing}.map-province.is-hovered,.map-province.is-tinted.is-hovered{fill-opacity:.42;stroke-width:1.5px}.map-province.is-selected,.map-province.is-tinted.is-selected{fill-opacity:.55;stroke-width:2px}@media (prefers-reduced-motion:reduce){.map-province{transition:none}}.map-country{fill:var(--c,var(--accent));fill-opacity:0;stroke:var(--c,var(--accent));stroke-width:0;stroke-linejoin:round;cursor:pointer;transition:fill-opacity .16s,stroke-width .16s}.map-viewport:active .map-country{cursor:grabbing}.map-country.is-hovered{fill-opacity:.18;stroke-width:2px}.map-country.is-selected{fill-opacity:0;stroke-width:3px}@media (prefers-reduced-motion:reduce){.map-country{transition:none}}.map-markers{z-index:2;pointer-events:none;position:absolute;inset:0}.map-marker{background:0 0;border:0;width:22px;height:26px;margin:-26px 0 0 -11px;padding:0;line-height:0;display:none;position:absolute;top:0;left:0}.map-marker[data-marker-placed="1"]{display:block}button.map-marker{pointer-events:auto;cursor:pointer}.map-marker__pin{filter:drop-shadow(0 1px 2px #281e1273);transform-origin:50% 100%;width:100%;height:100%;transition:transform .16s}button.map-marker:hover .map-marker__pin,.map-marker.is-active .map-marker__pin{transform:scale(1.18)}button.map-marker:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.map-marker--mute .map-marker__pin{opacity:.55}@media (prefers-reduced-motion:reduce){.map-marker__pin{transition:none}}.map-figure__loading{color:var(--accent);z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.map-figure__error{text-align:center;line-height:1.5;font-family:var(--f-body);color:var(--ink-soft);z-index:2;justify-content:center;align-items:center;margin:0;padding:0 24px;font-style:italic;display:flex;position:absolute;inset:0}.map-zoom{z-index:3;background:color-mix(in oklab, var(--paper) 88%, transparent);border:1px solid var(--rule);backdrop-filter:blur(2px);border-radius:3px;flex-direction:column;align-items:center;gap:6px;padding:6px 5px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 8px 20px -14px #281e12b3}.map-zoom__btn{border:1px solid var(--rule);background:var(--paper);width:26px;height:26px;color:var(--ink-2);font-family:var(--f-body);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:17px;line-height:1;transition:color .14s,border-color .14s;display:flex}.map-zoom__btn:hover{color:var(--ink);border-color:var(--accent)}.map-zoom__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.map-zoom__slider{writing-mode:vertical-lr;-webkit-appearance:slider-vertical;width:16px;height:84px;accent-color:var(--accent);cursor:pointer;direction:rtl;margin:0}.map-zoom__slider:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.map-zoom__btn{transition:none}}.map-fullscreen-btn{z-index:3;background:color-mix(in oklab, var(--paper) 88%, transparent);border:1px solid var(--rule);backdrop-filter:blur(2px);width:30px;height:30px;color:var(--ink-2);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:color .14s,border-color .14s;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 8px 20px -14px #281e12b3}.map-fullscreen-btn svg{width:16px;height:16px;display:block}.map-fullscreen-btn:hover{color:var(--ink);border-color:var(--accent)}.map-fullscreen-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.map-fullscreen-btn{transition:none}}.map-touchhint{z-index:6;max-width:calc(100% - 32px);color:var(--paper);font-family:var(--f-body);background:#1e1810db;border-radius:3px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:13px;line-height:1.35;animation:.2s map-hint-in;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px -16px #000000b3}.map-touchhint__close{width:24px;height:24px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;flex:none;padding:0;font-size:17px;line-height:1}.map-touchhint__close:hover{opacity:1}@keyframes map-hint-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.map-touchhint{animation:none}}.map-enlarge{color:inherit;font:inherit;text-align:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.map-enlarge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-popup{z-index:5;box-sizing:border-box;background:color-mix(in oklab, var(--paper) 94%, transparent);border:1px solid var(--rule);border-top:3px solid var(--c,var(--accent));backdrop-filter:blur(2px);width:min(300px,100% - 24px);max-height:calc(100% - 24px);font-family:var(--f-body);user-select:text;padding:12px 30px 14px 14px;line-height:1.45;position:absolute;top:0;left:0;overflow-y:auto;box-shadow:0 14px 32px -18px #281e12b3}.map-popup:not(.map-popup--sheet)[data-popup-anchored="0"]{top:50%;left:50%;transform:translate(-50%,-50%)}.map-popup__close{width:24px;height:24px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0;font-size:17px;line-height:1;position:absolute;top:6px;right:6px}.map-popup__close:hover{color:var(--ink)}.map-popup__illustration{width:100%;margin:10px 0 0;line-height:0;display:block}.map-popup__image{min-height:64px;display:block;position:relative}.map-popup__image-loading{pointer-events:none;color:var(--accent);place-items:center;display:grid;position:absolute;inset:0}.map-popup__illustration-img{border-radius:4px;width:auto;max-width:100%;height:auto;max-height:42vh;margin:0 auto;display:block}.map-popup__top{align-items:flex-start;gap:10px;display:flex}.map-popup__crest{flex:none;line-height:0}.map-popup__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:9px}.map-popup__name{font-family:var(--f-display);margin:2px 0 0;font-size:19px;line-height:1.15}.map-popup__desc{color:var(--ink-2);margin:10px 0 0;font-size:13.5px}.map-popup__desc p{margin:0 0 8px}.map-popup__desc p:last-child{margin-bottom:0}.map-popup__facts{border-top:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:12px 0 0;padding-top:10px;font-size:13px;display:grid}.map-popup__fact{display:contents}.map-popup__facts dt{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);align-self:center;font-size:9px}.map-popup__facts dd{color:var(--ink-2);margin:0}.map-popup--sheet{border:0;border-top:3px solid var(--c,var(--accent));width:auto;max-height:none;box-shadow:none;backdrop-filter:none;background:0 0;padding:14px 18px 20px;position:static}.map-sheet{z-index:55;background:var(--paper);border-top:1px solid var(--rule);flex-direction:column;transition:height .26s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -18px 40px -26px #281e12cc}.map-sheet.is-collapsed{height:56px}.map-sheet.is-expanded{height:88vh}@media (prefers-reduced-motion:reduce){.map-sheet{transition:none}}.map-sheet__handle{cursor:grab;touch-action:none;background:0 0;border:0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;width:100%;padding:6px 40px 8px;display:flex}.map-sheet__handle:active{cursor:grabbing}.map-sheet__grip{background:var(--rule);border-radius:2px;width:44px;height:4px;display:block}.map-sheet__bar-title{flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0;display:flex}.map-sheet__eyebrow{font-size:10px}.map-sheet__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--f-display);color:var(--ink);font-size:15px;line-height:1.2;overflow:hidden}.map-sheet__handle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.map-sheet__body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.map-sheet .map-panel{border:0;min-height:100%}.map-legend{background:var(--paper);border:1px solid var(--rule);font-family:var(--f-body);color:var(--ink-2);flex-direction:column;margin-top:12px;font-size:12.5px;line-height:1.5;display:flex}.map-legend__disclosure{letter-spacing:.14em;text-transform:uppercase;width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:10px;transition:color .14s;display:flex}.map-legend__disclosure:hover{color:var(--ink-2)}.map-legend__disclosure:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.map-legend__chevron{flex:none;width:10px;height:10px;transition:transform .16s}.map-legend[data-open="0"] .map-legend__chevron{transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.map-legend__disclosure,.map-legend__chevron{transition:none}}.map-legend__body{flex-wrap:wrap;align-items:flex-start;gap:10px 28px;padding:0 16px 11px;display:flex}.map-legend__body[hidden]{display:none}.map-legend__section{flex-direction:column;gap:3px;display:flex}.map-legend__title{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;font-size:10px}.map-legend__row{align-items:center;gap:8px;display:flex}.map-legend__swatch{flex:none;width:18px;height:8px;overflow:visible}.map-legend__pin{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;flex:none}.map-legend__toggle{cursor:pointer;user-select:none}.map-legend__toggle input{accent-color:var(--accent);margin:0}.map-offnote{z-index:5;border:1px solid var(--rule);border-left:3px solid var(--accent);max-width:280px;font-family:var(--f-body);color:var(--ink-2);background:#f7f0e0f0;padding:10px 14px;font-size:13px;line-height:1.45;position:absolute;top:18px;left:18px;box-shadow:0 10px 26px -14px #281e1280}.map-offnote .mono{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:9px;display:block}.map-thumb{background:var(--paper-2);border:1px solid var(--rule);object-fit:cover;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.map-thumb--mono{color:var(--ink-soft);font-size:11px}.map-panel__crest img.map-thumb,.map-popup__crest img.map-thumb{background:0 0;border:0;border-radius:0}.map-panel{background:radial-gradient(130% 80% at 100% 0%, color-mix(in oklab, var(--c) 16%, transparent), transparent 58%), var(--paper);border:1px solid var(--rule);flex-direction:column;gap:14px;padding:0 28px 24px;scroll-margin-top:96px;display:flex;position:relative;overflow:hidden}.map-panel--empty{justify-content:center;min-height:120px;padding:24px 28px}.map-panel__hint{color:var(--ink-soft);margin:0;font-style:italic}.map-panel__close{z-index:1;border:1px solid var(--rule);background:color-mix(in oklab, var(--paper) 82%, transparent);width:28px;height:28px;color:var(--ink-soft);font-family:var(--f-body);cursor:pointer;padding:0;font-size:18px;line-height:1;position:absolute;top:12px;right:12px}.map-panel__close:hover{color:var(--ink);border-color:var(--c,var(--accent))}.map-panel:focus{outline:none}.map-panel:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.map-panel__bar{background:var(--c);height:6px;margin:0 -28px 22px}.map-panel__top{padding-right:40px}.map-panel__crests{align-items:flex-start;gap:8px;display:flex}.map-panel__crest{flex:none;line-height:0}.map-panel__eyebrow{color:var(--ink-soft)}.map-panel__name{font-family:var(--f-display);color:var(--ink);overflow-wrap:anywhere;margin-top:6px;font-size:clamp(30px,3vw,42px);font-weight:500;line-height:1.02}.map-panel__subtitle{color:var(--ink-soft);letter-spacing:.02em;margin-top:6px;font-size:13px}.map-panel__desc{color:var(--ink-2);margin:0;font-size:15.5px;line-height:1.55}.map-panel__infobox{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-direction:column;gap:8px;margin:0;padding:14px 0;display:flex}.map-panel__infobox-item{grid-template-columns:116px 1fr;align-items:baseline;gap:10px;display:grid}.map-panel__infobox-item dt{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.map-panel__infobox-item dd{font-family:var(--f-display);color:var(--ink);margin:0;font-size:17px}.map-panel__infobox-item a{color:var(--accent)}.map-panel__badges{flex-wrap:wrap;align-items:center;gap:4px 6px;display:inline-flex}.map-panel__badge{font-family:var(--f-mono);letter-spacing:.04em;white-space:nowrap;color:color-mix(in srgb, var(--badge-color,var(--accent)) 72%, var(--ink));background:color-mix(in srgb, var(--badge-color,var(--accent)) 14%, var(--paper));border:1px solid color-mix(in srgb, var(--badge-color,var(--accent)) 34%, transparent);border-radius:999px;padding:1px 10px;font-size:12px;line-height:1.7;display:inline-block}.map-panel__infobox-item .map-panel__badge a{color:inherit;text-decoration:none}.map-panel__infobox-item .map-panel__badge a:hover,.map-panel__infobox-item .map-panel__badge a:focus-visible{text-decoration:underline}.map-panel__faction{align-items:center;gap:6px;display:inline-flex}.map-panel__section{flex-direction:column;gap:10px;display:flex}.map-panel__chars{flex-direction:column;gap:8px;display:flex}.map-char{border:1px solid var(--rule);color:var(--ink);align-items:center;gap:12px;padding:6px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.map-char:hover{border-color:var(--c);background:color-mix(in oklab, var(--c) 6%, transparent)}.map-char__name{font-family:var(--f-display);font-size:16px}.map-facts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.map-facts li{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;display:flex}.map-facts li:before{content:"";background:var(--c);border-radius:50%;flex:none;width:6px;height:6px}.map-panel__cta{background:var(--c);color:#fff8e7;font-family:var(--f-display);letter-spacing:.02em;border-radius:2px;align-self:flex-start;align-items:center;gap:10px;margin-top:8px;padding:10px 18px;font-size:17px;text-decoration:none;transition:transform .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff40,0 3px #0000001a}.map-panel__cta:hover{text-decoration:none;transform:translateY(-1px)}.map-strips{flex-direction:column;gap:18px;margin-top:26px;display:flex}.map-stripgroup__head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:10px;display:flex}.map-stripgroup__note{font-family:var(--f-body);color:var(--ink-soft);font-size:12px;font-style:italic}.map-strip,.map-strip--off{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.map-strip__btn{background:var(--paper);border:1px solid var(--rule);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;transition:border-color .2s,background .2s;display:flex}.map-strip__btn:hover{border-color:var(--c)}.map-strip__btn.is-active{border-color:var(--c);background:color-mix(in oklab, var(--c) 9%, var(--paper));box-shadow:inset 3px 0 0 var(--c)}.map-strip__btn.is-off{opacity:.92;border-style:dashed}.map-strip__name{font-family:var(--f-display);color:var(--ink);font-size:16px;line-height:1.12;display:block}.map-panel__close:focus-visible,.map-panel__cta:focus-visible,.map-char:focus-visible,.map-strip__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.map-char,.map-strip__btn,.map-panel__cta{transition:none}.map-panel__cta:hover{transform:none}}@media (width<=1100px){.map-figure{height:60vh}.map-island .map-figure .map-viewport{touch-action:pan-y}.map-island[data-map-touch=armed] .map-figure .map-viewport{touch-action:none}.map-layout.has-card{grid-template-columns:minmax(0,1fr)}.map-layout.has-card .map-panel{max-height:none;animation:none;overflow:hidden}.map-island[data-map-sheet=open]{padding-bottom:80px}.map-island[data-map-fullscreen][data-map-sheet=open]{padding-bottom:0}.map-island[data-map-fullscreen][data-map-sheet=open] .map-layout{padding-bottom:56px}.map-strip,.map-strip--off{grid-template-columns:repeat(2,1fr)}.map-zoom__slider{display:none}}@media (width<=640px){.map-toolbar{padding-top:24px}.map-layout{gap:18px}.map-panel{padding:0 18px 20px}.map-panel__bar{margin:0 -18px 18px}.map-offnote{max-width:220px;padding:8px 12px;font-size:12px;top:12px;left:12px}.map-legend{font-size:11.5px}.map-legend__disclosure{padding:8px 12px}.map-legend__body{gap:8px 18px;padding:0 12px 9px}.map-strips{margin-top:20px}.map-strip,.map-strip--off{grid-template-columns:1fr}.map-stripgroup__note{width:100%;display:block}}
