.world-map-location-panel{--location-accent:var(--secondary);gap:0;padding:0;min-width:0;min-height:0;max-height:min(74vh,920px);background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--location-accent) 9%,transparent),transparent 58%),linear-gradient(165deg,rgba(255,218,212,.04),transparent 45%),var(--surface-container-low);box-shadow:inset 0 0 28px rgba(0,0,0,.72),inset 0 1px 0 color-mix(in srgb,var(--location-accent) 14%,transparent)}.map-page-fullscreen .world-map-shell>.world-map-location-panel{max-height:none;height:auto}.world-map-location-panel[data-biome=ville]{--location-accent:#e9c176}.world-map-location-panel[data-biome=foret]{--location-accent:#6ab86a}.world-map-location-panel[data-biome=marais]{--location-accent:#6a9a7a}.world-map-location-panel[data-biome=ruines]{--location-accent:#c7a96a}.world-map-location-panel[data-biome=egouts]{--location-accent:#7ab8a0}.world-map-location-panel[data-biome=collines]{--location-accent:#dab36a}.world-map-location-panel[data-biome=grottes]{--location-accent:#b8a0d8}.world-map-location-panel[data-biome=cimes]{--location-accent:#ff907f}.world-map-location-panel[data-biome=cote]{--location-accent:#9ac0d0}.world-map-location-panel[data-biome=desolation]{--location-accent:#e8935a}.world-map-location-panel[data-biome=toundra]{--location-accent:#b8dcf0}.world-map-location-panel[data-biome=fanges]{--location-accent:#a8b878}.world-map-location-panel[data-biome=recifs]{--location-accent:#9ac8d8}.world-map-location-panel[data-biome=catacombes]{--location-accent:#c0a0d0}.world-map-location-panel[data-threat=low]{--location-accent:color-mix(in srgb,var(--success) 45%,var(--location-accent))}.world-map-location-panel[data-threat=mid]{--location-accent:color-mix(in srgb,var(--warning) 45%,var(--location-accent))}.world-map-location-panel[data-threat=high]{--location-accent:#c45a2a}.world-map-location-panel[data-threat=lethal]{--location-accent:var(--error)}.world-map-location-head{flex-shrink:0;display:flex;flex-direction:column;gap:.35rem;padding:var(--unit-3) var(--unit-4) var(--unit-3);border-bottom:1px solid color-mix(in srgb,var(--location-accent) 28%,var(--outline-variant));background:linear-gradient(165deg,color-mix(in srgb,var(--location-accent) 11%,rgba(0,0,0,.38)),transparent 62%),var(--surface-container-low)}.world-map-location-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--unit-2);min-width:0}.world-map-location-presence{gap:.35rem;min-width:0;max-width:52%;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-map-location-presence-dot{flex-shrink:0;width:.45rem;height:.45rem;border-radius:50%;background:color-mix(in srgb,var(--success) 82%,white);box-shadow:0 0 8px color-mix(in srgb,var(--success) 55%,transparent)}.world-map-location-panel .world-map-panel-title{color:color-mix(in srgb,var(--primary) 90%,white);padding-bottom:.15rem;border-bottom:1px solid color-mix(in srgb,var(--location-accent) 38%,transparent)}.world-map-location-panel .world-map-panel-pills{gap:.35rem .5rem;margin-top:.1rem}.world-map-location-panel .world-map-danger-warning{margin-top:var(--unit-2)}.world-map-location-body{display:flex;flex-direction:column;gap:var(--unit-3);padding:var(--unit-3);min-width:0;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-color:color-mix(in srgb,var(--secondary) 55%,var(--outline-variant)) rgba(0,0,0,.35);background:radial-gradient(circle at 84% 0,rgba(233,193,118,.07),transparent 48%),radial-gradient(circle at 8% 100%,rgba(139,0,0,.05),transparent 42%),linear-gradient(160deg,rgba(255,218,212,.035),transparent 38%),var(--surface-container-low);box-shadow:inset 0 0 22px rgba(0,0,0,.42)}.world-map-location-body::-webkit-scrollbar{width:8px}.world-map-location-body::-webkit-scrollbar-track{background:rgba(0,0,0,.28);border-left:1px solid var(--outline-variant)}.world-map-location-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,color-mix(in srgb,var(--secondary) 70%,transparent),color-mix(in srgb,var(--primary) 45%,transparent));border:1px solid color-mix(in srgb,var(--secondary) 40%,var(--outline-variant))}.world-map-location-panel .world-map-location-actions .btn,.world-map-location-panel .world-map-location-body .btn,.world-map-location-panel .world-map-location-body .faction-hq-map-cta,.world-map-location-panel .world-map-location-body .faction-hq-map-cta-emblem-frame,.world-map-location-panel .world-map-location-body .faction-hq-map-cta-locked,.world-map-location-panel .world-map-location-body .location-panel-note,.world-map-location-panel .world-map-location-body .party-vote-banner,.world-map-location-panel .world-map-location-body .world-map-location-block,.world-map-location-panel .world-map-location-body .world-map-location-patrol,.world-map-location-panel .world-map-location-body .world-map-location-quest-link,.world-map-location-panel .world-map-location-body .world-map-location-row,.world-map-location-panel .world-map-location-body .world-map-location-section,.world-map-location-panel .world-map-location-body .world-map-panel-message,.world-map-location-panel .world-map-location-body .world-map-route-btn,.world-map-location-panel .world-map-location-body .world-map-route-strategy,.world-map-location-panel .world-map-location-body .world-map-travel-status,.world-map-location-panel .world-map-location-cta{border-radius:0}.world-map-location-panel .world-map-location-block.world-map-location-section{overflow:visible;margin:0;padding:0;border-radius:0;border:1px solid color-mix(in srgb,var(--outline-variant) 80%,transparent);border-left:3px solid color-mix(in srgb,var(--secondary) 65%,var(--outline-variant));background:radial-gradient(circle at 76% 0,rgba(139,0,0,.05),transparent 54%),linear-gradient(160deg,rgba(255,218,212,.03),transparent 42%),var(--surface-container-low);box-shadow:inset 0 0 18px rgba(0,0,0,.48)}.world-map-location-panel .world-map-location-block-quest{border-left-color:var(--tertiary)}.world-map-location-panel .world-map-location-block-districts{border-left-color:color-mix(in srgb,var(--success) 50%,var(--secondary));overflow:visible}.world-map-location-panel .world-map-location-block+.world-map-location-block,.world-map-location-panel .world-map-location-body .town-district-panel{margin-top:0}.world-map-location-section{overflow:visible;border:1px solid color-mix(in srgb,var(--location-accent) 28%,var(--outline-variant));border-left:3px solid color-mix(in srgb,var(--location-accent) 65%,var(--secondary));border-radius:0;background:linear-gradient(165deg,color-mix(in srgb,var(--location-accent) 5%,var(--surface-container-low)),var(--surface-container-lowest));box-shadow:inset 0 0 14px rgba(0,0,0,.28)}.world-map-location-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--unit-2);min-height:1.75rem;padding:var(--unit-2) var(--unit-3) var(--unit-2);margin:0 0 var(--unit-2);border:none;border-bottom:1px solid color-mix(in srgb,var(--outline-variant) 65%,transparent);background:transparent}.world-map-location-panel .world-map-location-block .world-map-location-section-head{padding:var(--unit-2) var(--unit-3);margin:0;border-bottom:1px solid color-mix(in srgb,var(--outline-variant) 75%,transparent);background:linear-gradient(180deg,rgba(255,218,212,.03),transparent 72%),color-mix(in srgb,var(--surface-container) 72%,transparent)}.world-map-location-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border:1px solid color-mix(in srgb,var(--secondary) 32%,var(--outline-variant));border-radius:2px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;line-height:1;color:color-mix(in srgb,var(--secondary) 78%,var(--on-surface-variant));background:color-mix(in srgb,var(--secondary) 8%,var(--surface-container-lowest));box-shadow:inset 0 0 8px rgba(0,0,0,.35);flex-shrink:0}.world-map-location-panel .world-map-location-block-list{display:flex;flex-direction:column;gap:var(--unit-1);min-width:0;margin:var(--unit-2) var(--unit-3) var(--unit-3);padding:0;background:transparent;border:none;border-radius:0;overflow:visible;box-shadow:none}.world-map-location-row{display:flex;align-items:flex-start;gap:var(--unit-2);width:100%;min-width:0;padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);border-left:2px solid color-mix(in srgb,var(--secondary) 28%,var(--outline-variant));border-radius:0;background:linear-gradient(90deg,rgba(255,218,212,.03),transparent 55%),var(--surface-container);color:var(--on-surface);text-align:left;text-decoration:none;cursor:pointer;box-shadow:inset 0 0 12px rgba(0,0,0,.35);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.world-map-location-row>.world-map-location-row-label{flex:1 1;min-width:0}.world-map-location-row-trail{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;margin-left:auto}.world-map-location-row-trail-solo{gap:0}.world-map-location-row:disabled{opacity:.5;cursor:not-allowed}.world-map-location-row-stack{display:flex;flex-direction:column;gap:.12rem;flex:1 1;min-width:0}.world-map-location-row-stack .world-map-location-row-label{white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:break-word;word-break:break-word}.world-map-location-row-sub{font-size:11px;line-height:1.35;color:var(--on-surface-variant)}.world-map-location-row-stack .world-map-location-row-sub{white-space:normal;overflow:visible;display:block;overflow-wrap:break-word;word-break:break-word}.world-map-location-row:hover:not(:disabled){border-color:color-mix(in srgb,var(--secondary) 45%,var(--outline-variant));border-left-color:var(--secondary);background:linear-gradient(90deg,rgba(233,193,118,.1),transparent 60%),var(--surface-container-high);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--secondary) 22%,transparent)}.world-map-location-panel .world-map-location-block-quest .world-map-location-row:hover:not(:disabled){border-color:color-mix(in srgb,var(--tertiary) 45%,var(--outline-variant));border-left-color:var(--tertiary);background:linear-gradient(90deg,color-mix(in srgb,var(--tertiary) 12%,transparent),transparent 60%),var(--surface-container-high);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tertiary) 22%,transparent)}.world-map-location-row-main{display:flex;align-items:center;justify-content:flex-start;gap:var(--unit-2);flex:1 1;min-width:0}.world-map-location-row-label{font-family:var(--font-display);font-size:.9rem;font-weight:600;line-height:1.2;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-map-location-row-pill{flex-shrink:0;padding:2px 6px;border-radius:2px;border:1px solid color-mix(in srgb,var(--secondary) 28%,var(--outline-variant));background:color-mix(in srgb,var(--secondary) 8%,var(--surface-container-lowest));font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--secondary) 72%,var(--text-secondary))}.world-map-location-row-icon{flex-shrink:0;width:1.75rem;height:1.75rem;margin-top:.1rem;display:inline-flex;align-items:center;justify-content:center;opacity:.95;filter:none}.world-map-location-row-arrow,.world-map-location-row-trail{margin-top:.15rem}.world-map-location-panel .town-district-link .world-map-location-row-icon{width:2rem;height:2rem}.world-map-location-row-arrow{flex-shrink:0;font-size:.85rem;line-height:1;color:color-mix(in srgb,var(--secondary) 70%,var(--outline));opacity:.7;transition:transform .15s ease,color .15s ease,opacity .15s ease}.world-map-location-row:hover:not(:disabled) .world-map-location-row-arrow{transform:translateX(1px);color:var(--secondary);opacity:.9}.world-map-location-panel .world-map-location-block-quest .world-map-location-row:hover:not(:disabled) .world-map-location-row-arrow{color:var(--tertiary)}.world-map-location-panel .world-map-route-actions{display:flex;flex-direction:column;grid-template-columns:unset;max-height:none;overflow:visible;padding:0;gap:var(--unit-1)}.world-map-location-panel .world-map-location-row.world-map-route-btn{display:flex;align-items:center;gap:var(--unit-2);width:100%;min-width:0;padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);border-left:2px solid color-mix(in srgb,var(--secondary) 28%,var(--outline-variant));border-radius:0;background:linear-gradient(90deg,rgba(255,218,212,.03),transparent 55%),var(--surface-container);color:var(--on-surface);font-family:inherit;font-size:inherit;box-shadow:inset 0 0 12px rgba(0,0,0,.35)}.world-map-location-panel .world-map-location-row.world-map-route-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--secondary) 45%,var(--outline-variant));border-left-color:var(--secondary);background:linear-gradient(90deg,rgba(233,193,118,.1),transparent 60%),var(--surface-container-high);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--secondary) 22%,transparent);color:var(--on-surface)}.world-map-location-panel .world-map-location-row.world-map-route-btn .world-map-location-row-label{font-family:var(--font-display);font-size:.92rem;font-weight:600;font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.02em;color:color-mix(in srgb,var(--secondary) 82%,var(--on-surface))}.world-map-route-btn-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}.world-map-route-btn-label{font-family:var(--font-display);font-size:.9rem;line-height:1.15;color:var(--secondary)}.world-map-route-btn-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant)}.world-map-route-btn-chevron{flex-shrink:0;font-size:1.1rem;line-height:1;color:color-mix(in srgb,var(--location-accent) 75%,var(--secondary));opacity:.85;transition:transform .18s ease,opacity .18s ease}.world-map-location-panel .world-map-route-btn:hover:not(:disabled) .world-map-route-btn-chevron{transform:translateX(2px);opacity:1}.world-map-location-panel .world-map-itinerary.world-map-location-section{margin-top:0;overflow:hidden}.world-map-location-panel .world-map-itinerary-head{flex-wrap:wrap;align-items:center;gap:var(--unit-2)}.world-map-location-panel .world-map-travel-status{margin:0}.world-map-location-panel .location-panel-block{border-top:none}.world-map-location-panel .location-panel-block.world-map-location-section.world-map-location-block,.world-map-location-panel .location-panel-block.world-map-location-section:not(.world-map-location-block){padding:0}.world-map-location-panel .location-panel-block.world-map-location-section .location-panel-sub{padding:var(--unit-2) var(--unit-3) 0}.world-map-location-panel .location-panel-block.world-map-location-section .npc-presence-list,.world-map-location-panel .location-panel-block.world-map-location-section .quest-list{padding:0}.world-map-location-panel .world-map-active-quest-block.world-map-location-section{border-top:none}.world-map-location-head-row .text-label-caps{color:color-mix(in srgb,var(--on-surface-variant) 86%,var(--location-accent))}.world-map-location-panel .world-map-panel-pills .status-pill{padding:.16rem .48rem;border-radius:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb,rgba(0,0,0,.42) 82%,var(--location-accent) 6%);border-color:color-mix(in srgb,var(--location-accent) 30%,var(--outline-variant))}.world-map-location-panel .world-map-panel-pills .status-pill.status-active{border-color:color-mix(in srgb,var(--success) 48%,var(--outline-variant));color:color-mix(in srgb,var(--success) 90%,white);background:color-mix(in srgb,var(--success) 12%,rgba(0,0,0,.42))}.world-map-location-section-head .text-label-caps{margin:0;font-family:var(--font-mono);font-size:10px;font-weight:700;font-feature-settings:normal;font-variant:normal;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;color:var(--secondary)}.world-map-location-panel .world-map-location-block-routes .world-map-location-section-head .text-label-caps{color:color-mix(in srgb,var(--secondary) 88%,var(--text-heading))}.world-map-location-panel .world-map-location-block-quest .world-map-location-section-head .text-label-caps{color:var(--tertiary)}.world-map-location-panel .world-map-location-block-quest .world-map-location-section-count{border-color:color-mix(in srgb,var(--tertiary) 35%,var(--outline-variant));color:color-mix(in srgb,var(--tertiary) 82%,var(--on-surface-variant));background:color-mix(in srgb,var(--tertiary) 6%,var(--surface))}.world-map-location-panel .faction-hq-map-cta.world-map-location-section{--hq-cta-accent:var(--secondary);display:flex;flex-direction:column;padding-bottom:0;overflow:visible;border-radius:0;border-left-width:3px;border-left-color:color-mix(in srgb,var(--hq-cta-accent) 72%,var(--outline-variant));background:radial-gradient(circle at 76% 0,color-mix(in srgb,var(--hq-cta-accent) 12%,transparent),transparent 54%),linear-gradient(160deg,rgba(255,218,212,.04),transparent 42%),var(--surface-container-low);box-shadow:inset 0 0 18px rgba(0,0,0,.48)}.world-map-location-panel .faction-hq-map-cta.is-here{border-color:color-mix(in srgb,var(--hq-cta-accent) 38%,var(--outline-variant));border-left-color:color-mix(in srgb,var(--hq-cta-accent) 88%,var(--primary));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hq-cta-accent) 22%,transparent),inset 0 1px 0 color-mix(in srgb,var(--hq-cta-accent) 18%,transparent),inset 0 0 22px rgba(0,0,0,.3),0 0 0 1px color-mix(in srgb,var(--hq-cta-accent) 8%,transparent)}.world-map-location-panel .faction-hq-map-cta.is-remote{opacity:.92}.world-map-location-panel .faction-hq-map-cta .faction-hq-map-cta-head{margin-bottom:0;background:linear-gradient(180deg,color-mix(in srgb,var(--hq-cta-accent) 10%,var(--surface-container-low)),color-mix(in srgb,var(--surface-container-low) 55%,transparent))}.world-map-location-panel .faction-hq-map-cta .faction-hq-map-cta-head .text-label-caps{color:color-mix(in srgb,var(--hq-cta-accent) 78%,var(--text-secondary))}.faction-hq-map-cta-status{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:2px;border:1px solid color-mix(in srgb,var(--outline-variant) 70%,var(--hq-cta-accent));background:color-mix(in srgb,rgba(0,0,0,.42) 90%,var(--hq-cta-accent) 8%);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--on-surface-variant) 78%,var(--hq-cta-accent))}.faction-hq-map-cta-status.is-open{border-color:color-mix(in srgb,var(--success) 48%,var(--outline-variant));color:color-mix(in srgb,var(--success) 90%,var(--text-heading));background:linear-gradient(180deg,color-mix(in srgb,var(--success) 18%,rgba(0,0,0,.35)),color-mix(in srgb,var(--success) 8%,rgba(0,0,0,.45)));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--success) 22%,transparent)}.faction-hq-map-cta-body{display:grid;grid-template-columns:3.25rem 1fr;gap:var(--unit-3);align-items:center;padding:var(--unit-3)}.faction-hq-map-cta-emblem-frame{display:grid;place-items:center;width:3.25rem;height:3.25rem;flex-shrink:0;border-radius:0;border:1px solid color-mix(in srgb,var(--hq-cta-accent) 42%,var(--outline-variant));background:radial-gradient(circle at 38% 28%,color-mix(in srgb,var(--hq-cta-accent) 22%,transparent),transparent 64%),linear-gradient(165deg,color-mix(in srgb,var(--surface-container-high) 70%,var(--hq-cta-accent) 8%),var(--surface-container-lowest));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--hq-cta-accent) 16%,transparent),inset 0 0 14px rgba(0,0,0,.5)}.faction-hq-map-cta-emblem{filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}.faction-hq-map-cta-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.faction-hq-map-cta-title{font-family:var(--font-display);font-size:1.08rem;font-weight:600;line-height:1.25;letter-spacing:.01em;color:var(--text-heading);text-shadow:var(--text-shadow);overflow-wrap:break-word;word-break:break-word}.faction-hq-map-cta-faction{font-family:var(--font-inscription);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--hq-cta-accent) 70%,var(--text-tertiary))}.faction-hq-map-cta-desc{margin:.15rem 0 0;font-family:var(--font-prose);font-size:.88rem;line-height:1.4;color:var(--text-secondary);overflow-wrap:break-word;word-break:break-word}.faction-hq-map-cta-footer{margin-top:auto;padding:var(--unit-2) var(--unit-3) var(--unit-3);border-top:1px solid color-mix(in srgb,var(--hq-cta-accent) 22%,var(--outline-variant));background:linear-gradient(180deg,color-mix(in srgb,var(--hq-cta-accent) 7%,var(--surface-container-low)),color-mix(in srgb,var(--surface-container-lowest) 92%,transparent))}.faction-hq-map-cta-enter{width:100%;justify-content:center;min-height:2.25rem;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-width:2px;border-color:var(--outline-variant);color:var(--text-accent);background:var(--surface-container-low);box-shadow:inset 0 0 10px rgba(0,0,0,.8)}.faction-hq-map-cta-enter:hover:not(:disabled){border-color:var(--primary);color:var(--on-primary-container);background:var(--primary-container)}.faction-hq-map-cta-locked{display:flex;align-items:center;gap:.45rem;margin:0;padding:.5rem .7rem;border:1px dashed color-mix(in srgb,var(--outline-variant) 70%,var(--hq-cta-accent));border-radius:0;background:color-mix(in srgb,rgba(0,0,0,.32) 90%,var(--hq-cta-accent) 6%);font-size:.82rem;color:var(--on-surface-variant)}.faction-hq-map-cta-locked-icon{opacity:.85;flex-shrink:0}.world-map-location-panel .world-map-location-block-districts .world-map-location-section-head .text-label-caps{color:color-mix(in srgb,var(--success) 70%,var(--text-secondary))}.world-map-location-section-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:2px;border:1px solid var(--outline-variant);background:var(--surface);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant)}.world-map-location-section-badge-muted{border-color:var(--outline-variant);background:var(--surface-container-low);color:var(--outline)}.world-map-location-note{margin:0;padding:var(--unit-2) var(--unit-3) var(--unit-3);font-size:var(--text-sm);line-height:1.45;color:var(--on-surface-variant)}.world-map-location-note strong{color:color-mix(in srgb,var(--on-surface) 92%,var(--location-accent))}.world-map-cross-region-block{--location-accent:#6ab86a;border-left-color:color-mix(in srgb,#6ab86a 72%,var(--secondary))}.world-map-undiscovered-block{--location-accent:#aebfc5;border:1px dashed color-mix(in srgb,var(--location-accent) 48%,var(--outline-variant));border-left:3px solid color-mix(in srgb,var(--location-accent) 72%,var(--outline-variant));background:radial-gradient(circle at 78% 0,rgba(174,199,205,.12),transparent 58%),color-mix(in srgb,var(--surface-container-low) 92%,black)}.world-map-location-quest-list{display:flex;flex-direction:column;gap:0;padding:0}.world-map-location-quest-list li{padding:0;border:none}.world-map-location-row-link{cursor:pointer}.world-map-location-quest-link{display:block;padding:.55rem var(--unit-2);border:1px solid color-mix(in srgb,var(--outline-variant) 88%,var(--location-accent) 12%);border-radius:0;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-container) 94%,transparent),color-mix(in srgb,var(--surface-container-lowest) 98%,transparent));font-family:var(--font-display);font-size:.9rem;line-height:1.25;color:var(--secondary);text-decoration:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.world-map-location-quest-link:hover{border-color:color-mix(in srgb,var(--location-accent) 52%,var(--outline-variant));background:linear-gradient(145deg,color-mix(in srgb,var(--location-accent) 10%,var(--surface-container-high)),var(--surface-container));box-shadow:inset 0 0 12px color-mix(in srgb,var(--location-accent) 8%,transparent);transform:translateY(-1px)}.world-map-location-npc-list{display:flex;flex-direction:column;gap:var(--unit-2);padding:0 var(--unit-2) var(--unit-2)}.world-map-location-npc-list li{min-width:0;padding:0;border:none}.world-map-location-panel .npc-presence-list .npc-presence-card,.world-map-location-panel .npc-presence-list .npc-presence-card-link,.world-map-location-panel .npc-presence-list .npc-presence-card-static,.world-map-location-panel .npc-presence-list a.npc-presence-card{--npc-presence-accent:var(--location-accent,var(--secondary));gap:.45rem;padding:.6rem .7rem;border-radius:0;color:var(--on-surface)}.world-map-location-panel .npc-presence-list .npc-presence-card-link{gap:0;padding:0}.world-map-location-panel .npc-presence-list .npc-presence-card-main{gap:.45rem;padding:.6rem .7rem;border:none;background:transparent;box-shadow:none}.world-map-location-panel .npc-presence-list .npc-presence-card-main:hover{border-color:transparent;background:transparent;box-shadow:none}.world-map-location-panel .npc-presence-list .npc-presence-card-head{gap:var(--unit-2)}.world-map-location-panel .npc-presence-list .npc-presence-emblem{width:2.75rem;height:2.75rem}.world-map-location-panel .npc-presence-list .npc-presence-copy{gap:.22rem;padding-left:.55rem}.world-map-location-panel .npc-presence-list .npc-presence-copy strong,.world-map-location-panel .npc-presence-list .npc-presence-name{font-size:.9rem;line-height:1.2}.world-map-location-panel .npc-presence-list .npc-presence-role{font-size:.64rem;letter-spacing:.11em;color:color-mix(in srgb,var(--npc-presence-accent) 74%,var(--text-tertiary,var(--on-surface-variant)))}.world-map-location-panel .npc-presence-list .npc-presence-quest{width:100%;padding:.26rem .5rem;font-size:9px;letter-spacing:.055em;border-color:color-mix(in srgb,var(--npc-presence-accent) 40%,var(--outline-variant));background:linear-gradient(90deg,color-mix(in srgb,var(--npc-presence-accent) 16%,var(--surface-container)),color-mix(in srgb,var(--npc-presence-accent) 5%,var(--surface-container-lowest)));color:color-mix(in srgb,var(--npc-presence-accent) 88%,var(--on-surface))}.world-map-location-panel .npc-presence-list .npc-presence-lock,.world-map-location-panel .npc-presence-list .npc-presence-warning{font-size:11px;line-height:1.35}.world-map-location-panel .npc-presence-list .npc-presence-card-actions,.world-map-location-panel .npc-presence-list .npc-presence-card-link .npc-presence-card-actions{padding:.45rem .7rem .55rem}.world-map-location-patrol{display:flex;flex-direction:column;gap:var(--unit-2);width:100%;padding:var(--unit-2);border:1px dashed color-mix(in srgb,var(--location-accent) 35%,var(--outline-variant));border-radius:0;background:color-mix(in srgb,var(--location-accent) 5%,rgba(0,0,0,.28))}.world-map-location-patrol-copy{margin:0;font-size:var(--text-xs);line-height:1.35}.world-map-location-actions{flex-shrink:0;margin-top:0;padding:var(--unit-3) var(--unit-4);border-top:1px solid color-mix(in srgb,var(--location-accent) 24%,var(--outline-variant));background:linear-gradient(0deg,rgba(0,0,0,.16),transparent 55%),var(--surface-container-low);display:flex;flex-direction:column;align-items:stretch;gap:var(--unit-2)}.world-map-location-actions:empty{display:none}.world-map-location-cta{width:100%;box-shadow:0 4px 18px rgba(0,0,0,.32),inset 0 1px 0 color-mix(in srgb,var(--location-accent) 18%,transparent)}.world-map-location-panel .world-map-incursion-pill{align-self:center}.world-map-location-panel .town-district-panel.world-map-location-section:not(.world-map-location-block){margin:0;padding:0;border-top:none}.world-map-location-panel .town-district-actions{display:flex;flex-direction:column;grid-template-columns:unset;gap:0;padding:0}.world-map-location-panel .town-district-link{text-decoration:none;color:inherit}.world-map-location-panel .town-district-link:hover{transform:none;box-shadow:none}.world-map-location-panel .town-district-link-icon{flex-shrink:0;opacity:.94;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--location-accent) 35%,transparent))}.world-map-location-panel{overflow:hidden}.world-map-location-body,.world-map-location-panel{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--location-accent) 45%,var(--outline-variant)) transparent}.world-map-location-body::-webkit-scrollbar{width:6px}.world-map-location-body::-webkit-scrollbar-thumb{border-radius:3px;background:color-mix(in srgb,var(--location-accent) 45%,var(--outline-variant))}.world-map-location-panel .world-map-location-body>.muted.location-panel-note,.world-map-location-panel .world-map-panel-message{margin:0;padding:var(--unit-2) var(--unit-3);border:1px solid color-mix(in srgb,var(--secondary) 28%,var(--outline-variant));border-left:3px solid var(--secondary);border-radius:0;background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--secondary) 12%,transparent),transparent 55%),linear-gradient(160deg,rgba(255,218,212,.04),transparent 42%),var(--surface-container);box-shadow:inset 0 0 14px rgba(0,0,0,.35),inset 0 1px 0 color-mix(in srgb,var(--secondary) 10%,transparent);font-family:var(--font-prose);font-size:.9rem;line-height:1.4;color:color-mix(in srgb,var(--on-surface) 88%,var(--secondary))}.world-map-location-panel .world-map-location-body>.muted.location-panel-note,.world-map-location-panel .world-map-panel-message{margin:0}.world-map-location-panel .town-district-panel .muted.location-panel-note{margin:0;padding:var(--unit-2) var(--unit-3) var(--unit-3)}@media (max-width:1100px){.world-map-location-presence{max-width:42%;font-size:9px}.world-map-location-panel .world-map-panel-title{font-size:clamp(1.15rem,4vw,1.45rem)}.world-map-location-panel .world-map-itinerary-head{flex-direction:column;align-items:flex-start;gap:var(--unit-1)}}@media (max-width:700px){.map-page-fullscreen .world-map-shell:has(.world-map-briefing-panel),.map-page-fullscreen .world-map-shell:has(.world-map-location-panel):not(:has(.world-map-briefing-panel)){grid-template:"map" minmax(0,1fr) "panel" minmax(200px,34dvh) /minmax(0,1fr);gap:var(--unit-2)}.map-page-fullscreen .world-map-briefing-panel,.map-page-fullscreen .world-map-canvas-wrap,.map-page-fullscreen .world-map-panel.world-map-location-panel{grid-column:1/-1;width:100%;max-width:none;min-height:0}.map-page-fullscreen .world-map-briefing-panel,.map-page-fullscreen .world-map-panel.world-map-location-panel{height:auto;max-height:none;overflow:hidden}}@media (max-width:720px){.map-page-fullscreen .world-map-shell:has(.world-map-briefing-panel),.map-page-fullscreen .world-map-shell:has(.world-map-location-panel):not(:has(.world-map-briefing-panel)){grid-template-rows:minmax(0,1fr) minmax(180px,32dvh)}.world-map-hud-legend,.world-map-hud-legend--world{max-width:min(calc(100% - 1rem),11rem);max-height:none;padding:6px 8px;overflow:hidden}.world-map-hud-legend-title{margin:0;padding:0;border-bottom:0}.world-map-hud-legend-toggle{display:inline-flex;align-items:center;justify-content:center}.world-map-hud-legend-list,.world-map-hud-legend-list--region{display:none;grid-template-columns:1fr;margin-top:7px;padding-top:7px;border-top:1px solid color-mix(in srgb,var(--secondary) 28%,var(--outline-variant));max-height:min(26dvh,220px);overflow-y:auto}.world-map-hud-legend.is-open .world-map-hud-legend-list{display:grid}.world-map-hud-top{max-width:min(100% - 1.5rem,22rem);padding:var(--unit-2) var(--unit-3);gap:var(--unit-1)}.world-map-hud-top-row-main{flex-direction:column;align-items:stretch;gap:var(--unit-2)}.world-map-hud-top-meta{max-width:none;justify-content:flex-start}.world-map-hud-location{font-size:1.05rem}.world-map-location-body{gap:var(--unit-2);padding:var(--unit-2)}.world-map-location-row-label{font-size:.84rem}.world-map-location-actions,.world-map-location-head{padding:var(--unit-2) var(--unit-3)}}@media (max-width:480px){.map-page-fullscreen .world-map-shell:has(.world-map-briefing-panel),.map-page-fullscreen .world-map-shell:has(.world-map-location-panel):not(:has(.world-map-briefing-panel)){grid-template-rows:minmax(0,1fr) minmax(160px,32dvh)}.map-page-fullscreen .world-map-briefing-panel,.map-page-fullscreen .world-map-panel.world-map-location-panel{max-height:none}.map-page-fullscreen .world-map-canvas-wrap{min-height:0}.world-map-location-presence{display:none}.world-map-location-actions,.world-map-location-body,.world-map-location-head{padding-inline:var(--unit-3)}.world-map-location-panel .world-map-panel-pills .status-pill{font-size:9px;padding:.12rem .38rem}}.world-map-panel-head{display:flex;flex-direction:column;gap:var(--unit-1)}.world-map-panel-title{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.75rem);color:var(--primary);line-height:1.1}.world-map-panel-pills{display:flex;flex-wrap:wrap;gap:var(--unit-2)}.world-map-biome-pill-ville{border-color:var(--secondary);color:#ffdea5}.world-map-biome-pill-foret{border-color:#4a7a48;color:#a1b773}.world-map-biome-pill-marais{border-color:#5a6a4a;color:#8fa87a}.world-map-biome-pill-ruines{border-color:#8a7a6a;color:#c7a96a}.world-map-biome-pill-egouts{border-color:#5a7a6a;color:#7ab8a0}.world-map-biome-pill-collines{border-color:#9a8a6a;color:#dab36a}.world-map-biome-pill-grottes{border-color:#7a6a9a;color:#b8a0d8}.world-map-biome-pill-cimes{border-color:#b85a3a;color:#ff907f}.world-map-biome-pill-cote{border-color:#6a8a9a;color:#9ac0d0}.world-map-panel-message{margin:0;font-size:.9rem;color:var(--on-surface-variant)}.world-map-pin-biome-ville{--pin-glow:rgba(233,193,118,0.55);color:#ffdea5}.world-map-pin-biome-foret{--pin-glow:rgba(106,184,106,0.5);color:#a1b773}.world-map-pin-biome-marais{--pin-glow:rgba(106,154,122,0.5);color:#8fa87a}.world-map-pin-biome-ruines{--pin-glow:rgba(199,169,106,0.5);color:#c7a96a}.world-map-pin-biome-egouts{--pin-glow:rgba(122,184,160,0.5);color:#7ab8a0}.world-map-pin-biome-collines{--pin-glow:rgba(218,179,106,0.5);color:#dab36a}.world-map-pin-biome-grottes{--pin-glow:rgba(184,160,216,0.55);color:#b8a0d8}.world-map-pin-biome-cimes{--pin-glow:rgba(255,144,127,0.55);color:#ff907f}.world-map-pin-biome-cote{--pin-glow:rgba(154,192,208,0.5);color:#9ac0d0}.world-map-pin-biome-desolation{--pin-glow:rgba(232,147,90,0.55);color:#e8935a}.world-map-pin-biome-toundra{--pin-glow:rgba(184,220,240,0.5);color:#b8dcf0}.world-map-pin-biome-fanges{--pin-glow:rgba(168,184,120,0.5);color:#a8b878}.world-map-pin-biome-recifs{--pin-glow:rgba(154,200,216,0.5);color:#9ac8d8}.world-map-pin-biome-catacombes{--pin-glow:rgba(192,160,208,0.55);color:#c0a0d0}.world-map-pin-glyph{width:100%;height:100%;font-size:14px;line-height:1;color:var(--secondary)}.world-map-pin-glyph,.world-map-pin-icon{display:flex;align-items:center;justify-content:center}.world-map-pin-icon{width:var(--map-pin-size,28px);height:var(--map-pin-size,28px);line-height:0;overflow:visible;transform:translateZ(0);transition:transform .2s ease}.world-map-pin-icon-img{display:block;width:calc(var(--map-pin-size, 28px) * var(--map-pin-raster-scale, 1));height:calc(var(--map-pin-size, 28px) * var(--map-pin-raster-scale, 1));transform:scale(calc(1 / var(--map-pin-raster-scale, 1)));transform-origin:center center;object-fit:contain;image-rendering:-webkit-optimize-contrast;image-rendering:auto;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:brightness(1.04) drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 0 5px var(--pin-glow));transition:filter .2s ease}.town-map-teaser{flex-wrap:wrap;justify-content:space-between;padding:var(--unit-4);background:var(--surface-container-low);box-shadow:inset 0 0 20px rgba(0,0,0,.65)}.town-map-teaser,.town-map-teaser-copy{display:flex;align-items:center;gap:var(--unit-4)}.town-map-teaser-copy{min-width:min(100%,28rem)}.town-map-teaser-copy h2{margin:0 0 var(--unit-1)}.town-map-teaser-lead{margin:0;max-width:42ch}.town-map-teaser-icon{flex-shrink:0;opacity:.92}.world-map-loading{padding:var(--unit-6);text-align:center}.world-map-wrap{display:flex;flex-direction:column;gap:var(--unit-2)}.world-map-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:var(--unit-3,12px);align-items:start}.world-map-map-col{display:flex;flex-direction:column;gap:var(--unit-2);min-width:0}.world-map-legend{display:flex;flex-wrap:wrap;gap:var(--unit-2) var(--unit-3);margin:0;padding:var(--unit-2) var(--unit-3);list-style:none;font-size:.8rem;color:var(--on-surface-variant);border:1px solid var(--outline-variant);background:var(--surface-container-low)}.world-map-legend li{display:flex;align-items:center;gap:var(--unit-2)}.world-map-legend-route{display:block;width:32px;height:4px;border-radius:2px;flex-shrink:0}.world-map-legend-route-neighbor{background:rgba(255,196,120,.98);box-shadow:0 0 6px rgba(255,196,120,.45)}.world-map-hint{margin:0;font-size:.9rem}.world-map-frame{position:relative;width:min(100%,min(64vh,680px));max-width:100%;margin-inline:auto;border:2px solid var(--outline-variant);box-shadow:inset 0 0 30px rgba(0,0,0,.8),0 8px 24px rgba(0,0,0,.4);background:var(--surface-container-lowest);overflow:hidden}.world-map-stage-legacy{position:relative;width:100%}.world-map-img{object-fit:contain;object-position:center}.world-map-routes{--map-route-unit:calc(1px * var(--map-overlay-inverse-scale, 1));z-index:1;width:100%;height:100%}.world-map-hotspots,.world-map-routes{position:absolute;inset:0;pointer-events:none}.world-map-hotspots{z-index:2}.world-map-movement-actions{position:absolute;inset:0;z-index:6;pointer-events:none}.world-map-movement-action{position:absolute;display:inline-flex;align-items:center;justify-content:center;gap:.32rem;min-width:44px;min-height:44px;padding:.38rem .58rem;border:1px solid color-mix(in srgb,var(--secondary) 70%,var(--outline-variant));border-radius:2px;color:var(--on-surface);background:linear-gradient(145deg,color-mix(in srgb,var(--secondary) 18%,transparent),transparent 60%),color-mix(in srgb,var(--surface-container-highest) 94%,black);box-shadow:0 3px 10px rgba(0,0,0,.7),inset 0 0 10px rgba(0,0,0,.45);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;pointer-events:auto;white-space:nowrap;transition:transform .16s ease,border-color .16s ease,filter .16s ease}.world-map-movement-action:focus-visible,.world-map-movement-action:hover:not(:disabled){border-color:var(--secondary);filter:brightness(1.12)}.world-map-movement-action:focus-visible{outline:2px solid var(--secondary);outline-offset:3px}.world-map-movement-action:disabled{opacity:.5;cursor:wait}.world-map-movement-action-icon{display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;color:var(--secondary);font-size:1rem;line-height:1;text-shadow:0 0 8px color-mix(in srgb,var(--secondary) 65%,transparent)}.world-map-explore-action{transform:translate(-50%,calc(-100% - 24px));border-style:dashed;color:color-mix(in srgb,var(--on-surface) 88%,#c7d4d8)}.world-map-explore-action:focus-visible,.world-map-explore-action:hover:not(:disabled){transform:translate(-50%,calc(-100% - 27px))}.world-map-frontier-exit{border-color:color-mix(in srgb,var(--tertiary) 72%,var(--outline-variant));background:linear-gradient(145deg,color-mix(in srgb,var(--tertiary) 20%,transparent),transparent 62%),color-mix(in srgb,var(--surface-container-highest) 94%,black);animation:world-map-frontier-exit-breathe 2.4s ease-in-out infinite}.world-map-frontier-exit .world-map-movement-action-icon{color:var(--tertiary);text-shadow:0 0 8px color-mix(in srgb,var(--tertiary) 65%,transparent)}.world-map-frontier-exit-top{transform:translate(-50%,calc(-100% - 28px))}.world-map-frontier-exit-right{transform:translate(28px,-50%)}.world-map-frontier-exit-bottom{transform:translate(-50%,28px)}.world-map-frontier-exit-left{transform:translate(calc(-100% - 28px),-50%)}@keyframes world-map-frontier-exit-breathe{0%,to{filter:brightness(.96)}50%{filter:brightness(1.14)}}[data-reduce-motion="1"] .world-map-movement-action{transition:none;animation:none}.world-map-stage[data-zoom-tier=far] .world-map-movement-action-label{display:none}.world-map-stage[data-zoom-tier=far] .world-map-movement-action{padding:.3rem}.world-map-heroes{position:absolute;inset:0;z-index:3;pointer-events:none}.world-map-hero-marker{position:absolute;transform:translate(-50%,calc(-100% - 28px * var(--map-overlay-inverse-scale, 1)));pointer-events:none;transition:filter .2s}.world-map-hero-marker:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:calc(2px * var(--map-overlay-inverse-scale, 1));height:calc(28px * var(--map-overlay-inverse-scale, 1));background:var(--primary);box-shadow:0 0 0 calc(1px * var(--map-overlay-inverse-scale, 1)) var(--surface-container-lowest)}.world-map-hero-marker-animating{z-index:4;filter:drop-shadow(0 2px 6px rgba(0,0,0,.65));will-change:left,top;transform:translate(-50%,calc(-100% - 28px * var(--map-overlay-inverse-scale, 1)))}.world-map-hero-stack{position:relative;display:flex;align-items:center}.world-map-hero-stack-party .world-map-hero-avatar{border-color:var(--tertiary)}.world-map-hero-stack-self .world-map-hero-avatar{border-color:var(--primary);box-shadow:0 0 0 calc(2px * var(--map-overlay-inverse-scale, 1)) var(--surface-container-lowest),0 0 0 calc(3px * var(--map-overlay-inverse-scale, 1)) var(--primary)}.world-map-hero-avatar{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--secondary);background:var(--surface-container-high);overflow:hidden;flex-shrink:0}.world-map-hero-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.world-map-hero-avatar-fallback{opacity:.85}.world-map-hero-extra{margin-left:calc(2px * var(--map-overlay-inverse-scale, 1));padding:0 calc(4px * var(--map-overlay-inverse-scale, 1));min-width:calc(18px * var(--map-overlay-inverse-scale, 1));height:calc(18px * var(--map-overlay-inverse-scale, 1));border-radius:999px;border:1px solid var(--outline-variant);background:rgba(14,14,14,.92);color:var(--on-surface);font-family:var(--font-mono);font-size:calc(10px * var(--map-overlay-inverse-scale, 1));line-height:calc(16px * var(--map-overlay-inverse-scale, 1));text-align:center}.world-map-hero-party-badge{position:absolute;right:calc(-5px * var(--map-overlay-inverse-scale, 1));bottom:calc(-5px * var(--map-overlay-inverse-scale, 1));display:flex;align-items:center;justify-content:center;width:calc(14px * var(--map-overlay-inverse-scale, 1));height:calc(14px * var(--map-overlay-inverse-scale, 1));border-radius:50%;border:1px solid var(--tertiary);background:var(--surface-container-highest)}.world-map-legend-hero{display:block;width:16px;height:16px;border-radius:50%;border:2px solid var(--primary);background:var(--secondary-container);flex-shrink:0}.world-map-hotspots .world-map-pin{pointer-events:auto}.world-map-route,.world-map-route-shadow{stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.world-map-route-base{stroke:color-mix(in srgb,var(--secondary) 72%,var(--on-surface));stroke-width:calc(2.2 * var(--map-route-unit));stroke-dasharray:none}.world-map-route.world-map-route-temporary{stroke:var(--warning);stroke-dasharray:calc(8 * var(--map-route-unit)) calc(4 * var(--map-route-unit))}.world-map-route-shadow-base{stroke:var(--surface-container-lowest);stroke-width:calc(4.6 * var(--map-route-unit))}.world-map-route-neighbor{stroke:var(--secondary);stroke-width:calc(3.2 * var(--map-route-unit));stroke-dasharray:none}.world-map-route-shadow-neighbor{stroke:var(--surface-container-lowest);stroke-width:calc(5.6 * var(--map-route-unit))}.world-map-route-frontier{stroke:var(--tertiary);stroke-width:calc(2.6 * var(--map-route-unit));stroke-dasharray:calc(5 * var(--map-route-unit)) calc(5 * var(--map-route-unit))}.world-map-route-frontier.is-selected{stroke:color-mix(in srgb,var(--tertiary) 70%,var(--on-surface));stroke-width:calc(3.4 * var(--map-route-unit))}.world-map-route-shadow-frontier{stroke:var(--surface-container-lowest);stroke-width:calc(5 * var(--map-route-unit))}.world-map-route-path{stroke:color-mix(in srgb,var(--secondary) 35%,var(--on-surface));stroke-width:calc(4.2 * var(--map-route-unit));stroke-dasharray:calc(10 * var(--map-route-unit)) calc(5 * var(--map-route-unit));animation:world-map-path-march 1.2s linear infinite}.world-map-route-shadow-path{stroke:var(--surface-container-lowest);stroke-width:calc(7 * var(--map-route-unit))}@keyframes world-map-path-march{to{stroke-dashoffset:calc(-15 * var(--map-route-unit))}}.world-map-route-path.is-reverse{animation-direction:reverse}[data-reduce-motion="1"] .world-map-route-path,[data-reduce-motion="1"] .world-map-route-shadow-path{animation:none}@media (prefers-reduced-motion:reduce){.world-map-route-path,.world-map-route-shadow-path{animation:none}}.world-map-pin{--pin-glow:rgba(233,193,118,0.5);display:flex;align-items:center;justify-content:center;width:auto;height:auto;min-width:var(--map-pin-size,28px);min-height:var(--map-pin-size,28px);border:none;background:transparent;cursor:pointer;pointer-events:auto;padding:calc(var(--map-pin-size, 28px) * .08);transition:transform .2s ease;z-index:4;border-radius:0;box-shadow:none}.world-map-pin,.world-map-pin:before{position:absolute;transform:translate(-50%,-50%)}.world-map-pin:before{content:"";inset:50%;width:var(--map-pin-hit-size,40px);height:var(--map-pin-hit-size,40px);border-radius:50%}.world-map-hotspots .world-map-pin-icon{box-sizing:border-box;border:calc(1.25px * var(--map-overlay-inverse-scale, 1)) solid color-mix(in srgb,var(--secondary) 76%,var(--outline-variant));border-radius:50%;background:color-mix(in srgb,var(--surface-container-lowest) 92%,transparent);box-shadow:0 0 0 calc(1px * var(--map-overlay-inverse-scale, 1)) var(--surface-container-lowest)}.world-map-hotspots .world-map-pin-path .world-map-pin-icon,.world-map-hotspots .world-map-pin-reachable .world-map-pin-icon{border-color:var(--secondary)}.world-map-hotspots .world-map-pin-current .world-map-pin-icon{border-color:var(--primary)}.world-map-hotspots .world-map-pin-unexplored .world-map-pin-icon{border-style:dashed;border-color:var(--tertiary)}.world-map-hotspots .world-map-pin-active .world-map-pin-icon,.world-map-hotspots .world-map-pin:focus-visible .world-map-pin-icon{box-shadow:0 0 0 calc(2px * var(--map-overlay-inverse-scale, 1)) var(--surface-container-lowest),0 0 0 calc(4px * var(--map-overlay-inverse-scale, 1)) var(--secondary)}.world-map-pin:focus-visible{outline:none;z-index:9}.world-map-pin:hover{transform:translate(-50%,-50%) scale(1.06);z-index:7}.world-map-pin:hover .world-map-pin-icon-img{filter:brightness(1.08) drop-shadow(0 2px 5px rgba(0,0,0,.65)) drop-shadow(0 0 7px var(--pin-glow))}.world-map-pin-active{transform:translate(-50%,-50%) scale(1.08);z-index:8}.world-map-pin-active .world-map-pin-icon-img{filter:brightness(1.06) drop-shadow(0 2px 5px rgba(0,0,0,.65)) drop-shadow(0 0 8px var(--pin-glow))}.world-map-pin-passage-xmap .world-map-pin-icon-img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.6)) drop-shadow(0 0 5px rgba(255,160,80,.35))}.world-map-pin-passage.world-map-pin-unexplored .world-map-pin-icon-img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5)) drop-shadow(0 0 5px rgba(180,200,220,.28))}.world-map-pin-alert .world-map-pin-icon-img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.6)) drop-shadow(0 0 7px rgba(255,92,74,.65))}.world-map-pin-alert:not(.world-map-pin-unexplored):after{content:"";position:absolute;inset:calc(var(--map-pin-size, 16px) * -.18);border-radius:50%;pointer-events:none;box-shadow:0 0 calc(var(--map-pin-size, 16px) * .45) calc(var(--map-pin-size, 16px) * .08) color-mix(in srgb,var(--error) 45%,transparent);animation:world-map-alert-pulse 2.2s ease-in-out infinite}@keyframes world-map-alert-pulse{0%,to{opacity:.35}50%{opacity:.85}}[data-reduce-motion="1"] .world-map-pin-alert:after{animation:none;opacity:.6}.world-map-pin-reachable .world-map-pin-icon-img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.6)) drop-shadow(0 0 5px rgba(255,196,120,.4))}.world-map-pin-path{z-index:5}.world-map-pin-path .world-map-pin-icon-img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(233,193,118,.45))}.world-map-pin-destination{z-index:6}.world-map-pin-destination .world-map-pin-icon-img{filter:brightness(1.06) drop-shadow(0 2px 4px rgba(0,0,0,.65)) drop-shadow(0 0 8px rgba(255,196,120,.5))}.world-map-pin-label{left:50%;bottom:calc(100% + 4px * var(--map-overlay-inverse-scale, 1));transform:translateX(-50%);white-space:nowrap;font-size:var(--map-pin-label-size,11px);color:var(--on-surface);background:color-mix(in srgb,var(--surface-container-lowest) 96%,transparent);padding:calc(3px * var(--map-overlay-inverse-scale, 1)) calc(6px * var(--map-overlay-inverse-scale, 1));border:calc(1px * var(--map-overlay-inverse-scale, 1)) solid var(--outline-variant);border-radius:2px;line-height:1.25;opacity:0;pointer-events:none;transition:opacity .15s}.world-map-pin-count,.world-map-pin-label{position:absolute;font-family:var(--font-mono)}.world-map-pin-count{right:-8px;top:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;border:1px solid var(--primary);background:var(--surface-container-high);color:var(--primary);font-size:10px;line-height:14px}.world-map-pin-active .world-map-pin-label,.world-map-pin-current .world-map-pin-label,.world-map-pin:focus-visible .world-map-pin-label,.world-map-pin:hover .world-map-pin-label{opacity:1}.world-map-pin-current .world-map-pin-icon-img{filter:brightness(1.08) drop-shadow(0 2px 4px rgba(0,0,0,.65)) drop-shadow(0 0 7px rgba(255,180,168,.45))}[data-reduce-motion="1"] .world-map-pin,[data-reduce-motion="1"] .world-map-pin-icon,[data-reduce-motion="1"] .world-map-pin-icon-img{transition:none}.world-map-legend .world-map-legend-pin.world-map-pin{position:static;transform:none;cursor:default;z-index:auto;flex-shrink:0;pointer-events:none}.world-map-legend .world-map-legend-pin.world-map-pin-active,.world-map-legend .world-map-legend-pin.world-map-pin:hover{transform:none;box-shadow:none}.world-map-legend .world-map-legend-pin.world-map-pin-path,.world-map-legend .world-map-legend-pin.world-map-pin-reachable{box-shadow:none}.world-map-legend .world-map-legend-pin.world-map-pin-current{animation:none;box-shadow:0 0 0 2px var(--primary),0 0 8px rgba(255,180,168,.55)}.world-map-control{min-width:0;display:flex;flex-direction:column;gap:var(--unit-2);border:2px solid var(--outline-variant);background:linear-gradient(160deg,rgba(255,218,212,.03),transparent 42%),var(--surface-container-low);box-shadow:inset 0 0 18px rgba(0,0,0,.8);padding:var(--unit-3,12px);overflow:hidden}.location-panel,.town-district-panel,.world-map-current,.world-map-routes-list{min-width:0;border:1px solid var(--outline-variant);background:var(--surface);padding:var(--unit-2)}.world-map-current strong{display:block;color:var(--primary);font-family:var(--font-display);font-size:1.35rem;line-height:1.1}.location-panel-note,.world-map-current p{margin:var(--unit-1) 0 0;font-size:.82rem;line-height:1.35}.world-map-routes-list{display:flex;flex-direction:column;gap:var(--unit-2)}.world-map-route-actions{display:grid;grid-template-columns:1fr;gap:var(--unit-1);max-height:138px;overflow-y:auto}.town-district-link,.world-map-route-btn{min-width:0;text-align:left;border:1px solid var(--outline-variant);background:var(--surface-container-low);color:var(--on-surface);padding:var(--unit-2);font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.town-district-link:hover,.world-map-route-btn:hover:not(:disabled){border-color:var(--text-accent);background:var(--surface-container-high);color:var(--text-accent);box-shadow:inset 0 0 10px rgba(0,0,0,.65)}.world-map-route-btn:disabled{opacity:.5;cursor:not-allowed}.world-map-itinerary{display:flex;flex-direction:column;gap:0;margin-top:var(--unit-2);padding:0}.world-map-itinerary-head{display:flex;align-items:center;justify-content:space-between;gap:var(--unit-2);flex-wrap:wrap}.world-map-route-strategy{display:inline-flex;align-items:stretch;gap:0;border:1px solid color-mix(in srgb,var(--secondary) 28%,var(--outline-variant));border-radius:2px;overflow:hidden;background:color-mix(in srgb,var(--surface-container-lowest) 88%,transparent);box-shadow:inset 0 0 10px rgba(0,0,0,.4)}.world-map-route-strategy .world-map-route-strategy-tab.game-tab{min-height:26px;min-width:64px;padding:3px 9px;font-size:9px;letter-spacing:.07em;border:none;border-radius:0;border-right:1px solid color-mix(in srgb,var(--outline-variant) 70%,transparent);background:transparent;box-shadow:none;transform:none}.world-map-route-strategy .world-map-route-strategy-tab.game-tab:last-child{border-right:none}.world-map-route-strategy .world-map-route-strategy-tab.game-tab:hover{border-color:transparent;color:var(--secondary);background:color-mix(in srgb,var(--secondary) 8%,transparent);box-shadow:none;transform:none}.world-map-route-strategy .world-map-route-strategy-tab.game-tab.game-tab-active,.world-map-route-strategy .world-map-route-strategy-tab.game-tab.game-tab-active:hover{border-color:transparent;color:color-mix(in srgb,var(--primary) 88%,var(--text-heading));background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 22%,var(--surface-container)),color-mix(in srgb,var(--primary) 12%,var(--surface-container-low)));box-shadow:inset 0 0 12px color-mix(in srgb,var(--primary) 18%,transparent),inset 0 1px 0 color-mix(in srgb,var(--secondary) 16%,transparent);transform:none}.world-map-itinerary-steps-frame{margin:0;padding:var(--unit-2) var(--unit-3) var(--unit-1);border:none;background:transparent;box-shadow:none}.world-map-itinerary-steps{position:relative;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}.world-map-itinerary-steps:before{content:"";position:absolute;left:13px;top:18px;bottom:18px;width:2px;background:linear-gradient(180deg,color-mix(in srgb,var(--secondary) 70%,transparent) 0,color-mix(in srgb,var(--secondary) 35%,var(--outline-variant)) 18%,var(--outline-variant) 42%,color-mix(in srgb,var(--primary) 35%,var(--outline-variant)) 72%,color-mix(in srgb,var(--primary) 70%,transparent) 100%);box-shadow:0 0 6px color-mix(in srgb,var(--secondary) 18%,transparent),0 0 6px color-mix(in srgb,var(--primary) 18%,transparent);pointer-events:none}.world-map-itinerary-step{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--unit-2);padding:8px 0;font-size:.78rem;color:var(--on-surface-variant)}.world-map-itinerary-step,.world-map-itinerary-step-marker{position:relative;display:grid;font-family:var(--font-mono)}.world-map-itinerary-step-marker{z-index:1;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--outline-variant);background:linear-gradient(180deg,rgba(255,218,212,.05),transparent 55%),var(--surface-container-high);font-size:10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--on-surface-variant);box-shadow:inset 0 0 8px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.35)}.world-map-itinerary-step-marker:after{content:"";position:absolute;inset:3px;border:1px solid color-mix(in srgb,var(--outline-variant) 45%,transparent);border-radius:50%;pointer-events:none}.world-map-itinerary-step-label{min-width:0;line-height:1.3;font-family:var(--font-display);font-size:.82rem;font-weight:600;font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.02em}.world-map-itinerary-step-tag{flex-shrink:0;padding:2px 7px;border:1px solid color-mix(in srgb,var(--secondary) 28%,var(--outline-variant));border-radius:2px;background:color-mix(in srgb,var(--secondary) 8%,rgba(0,0,0,.32));font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--secondary) 72%,var(--on-surface-variant));box-shadow:inset 0 0 6px rgba(0,0,0,.35)}.world-map-itinerary-step-current .world-map-itinerary-step-marker{border-color:color-mix(in srgb,var(--secondary) 70%,var(--outline-variant));color:var(--secondary);background:radial-gradient(circle at 50% 35%,rgba(233,193,118,.18),transparent 62%),var(--surface-container-high);box-shadow:inset 0 0 10px rgba(233,193,118,.12),0 0 12px color-mix(in srgb,var(--secondary) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--secondary) 22%,transparent)}.world-map-itinerary-step-current .world-map-itinerary-step-marker:after{border-color:color-mix(in srgb,var(--secondary) 35%,transparent)}.world-map-itinerary-step-current .world-map-itinerary-step-label{color:var(--secondary)}.world-map-itinerary-step-current .world-map-itinerary-step-tag{border-color:color-mix(in srgb,var(--secondary) 50%,var(--outline-variant));color:var(--secondary);background:color-mix(in srgb,var(--secondary) 8%,rgba(0,0,0,.32))}.world-map-itinerary-step-target .world-map-itinerary-step-marker{border-color:color-mix(in srgb,var(--primary) 70%,var(--outline-variant));color:var(--primary);background:radial-gradient(circle at 50% 35%,rgba(139,0,0,.22),transparent 62%),var(--surface-container-high);box-shadow:inset 0 0 12px rgba(139,0,0,.18),0 0 12px color-mix(in srgb,var(--primary) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}.world-map-itinerary-step-target .world-map-itinerary-step-marker:after{border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.world-map-itinerary-step-target .world-map-itinerary-step-label{color:var(--primary)}.world-map-itinerary-step-target .world-map-itinerary-step-tag{border-color:color-mix(in srgb,var(--primary) 50%,var(--outline-variant));color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,rgba(0,0,0,.32))}.world-map-itinerary-step-waypoint .world-map-itinerary-step-marker{width:22px;height:22px;margin-left:3px;border-width:1px;font-size:9px;opacity:.9}.world-map-itinerary-step-waypoint .world-map-itinerary-step-label{font-family:var(--font-mono);font-size:.76rem;font-weight:500;font-feature-settings:normal;font-variant:normal;letter-spacing:.01em;color:color-mix(in srgb,var(--on-surface-variant) 88%,transparent)}.world-map-itinerary-map-break{display:block;width:100%;grid-column:1/-1;margin:0 0 var(--unit-1);padding:2px 0 4px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--primary) 72%,var(--on-surface-variant));border-bottom:1px dashed color-mix(in srgb,var(--outline-variant) 55%,transparent)}.world-map-itinerary-meta{margin:0;padding:var(--unit-2) var(--unit-3) var(--unit-3);border-top:1px dashed color-mix(in srgb,var(--outline-variant) 55%,transparent);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--on-surface-variant) 78%,transparent);background:linear-gradient(180deg,transparent,rgba(0,0,0,.1))}.world-map-itinerary-risk-label{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--secondary) 62%,var(--on-surface-variant))}.world-map-itinerary-risk-value{font-family:var(--font-display);font-size:1.05rem;font-weight:600;line-height:1.1;letter-spacing:.02em;color:var(--threat-ink)}.world-map-itinerary-risk-detail{font-family:var(--font-mono);font-size:.7rem;font-weight:500;line-height:1.4;color:color-mix(in srgb,var(--on-surface-variant) 86%,transparent)}.world-map-itinerary-details{display:flex;flex-wrap:wrap;gap:6px}.world-map-itinerary-detail-chip{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--outline-variant);border-radius:2px;background:rgba(0,0,0,.2);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant)}.world-map-itinerary-detail-chip-danger{border-color:color-mix(in srgb,var(--error) 40%,var(--outline-variant));color:color-mix(in srgb,var(--error) 85%,var(--on-surface-variant))}.world-map-hero-marker:after{content:none}.world-map-hero-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.world-map-hero-leaders line{stroke:var(--primary);stroke-width:2;vector-effect:non-scaling-stroke}.world-map-pin-current .world-map-pin-label{top:calc(100% + 16px * var(--map-overlay-inverse-scale, 1));bottom:auto}.world-map-hero-marker-button{pointer-events:auto;border:0;padding:calc(4px * var(--map-overlay-inverse-scale, 1));background:transparent;cursor:pointer;color:var(--on-surface);z-index:5}.world-map-hero-marker-button:focus-visible{outline:calc(2px * var(--map-overlay-inverse-scale, 1)) solid var(--primary);outline-offset:calc(3px * var(--map-overlay-inverse-scale, 1));border-radius:calc(8px * var(--map-overlay-inverse-scale, 1))}.world-map-hero-marker-button:hover{filter:brightness(1.2)}.world-map-hero-extra{font-weight:700;border-color:var(--primary);color:var(--primary)}.world-map-location-presence{cursor:pointer;background:var(--surface-container-high);border:1px solid var(--outline-variant);padding:.35rem .6rem;border-radius:.3rem}.world-map-travel-notice{position:absolute;z-index:7;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;color:var(--on-surface);background:var(--surface-container-lowest);border:1px solid var(--primary);font-size:.9rem;box-shadow:0 4px 20px color-mix(in srgb,var(--surface-container-lowest) 60%,transparent)}.world-map-travel-notice button{color:var(--primary);background:transparent;border:0;padding:.4rem;cursor:pointer}.world-map-players-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem}.world-map-players-overlay[hidden]{display:none}.world-map-players-scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--surface-container-lowest) 72%,transparent);border:0}.world-map-players-dialog{position:relative;width:min(100%,640px);max-height:min(85dvh,760px);overflow:hidden;display:flex;flex-direction:column;background:var(--surface-container-low);border:1px solid var(--outline-variant);padding:1.25rem;color:var(--on-surface);box-shadow:0 12px 60px color-mix(in srgb,var(--surface-container-lowest) 72%,transparent)}.world-map-players-heading{display:flex;align-items:center;gap:var(--unit-3);min-width:0}.world-map-players-heading>div{min-width:0}.world-map-players-dialog .world-map-players-intro{font-size:.78rem;margin:var(--unit-2) 0}.world-map-players-summary{display:flex;gap:var(--unit-3);padding:var(--unit-2) 0 var(--unit-3);color:var(--on-surface-variant);font-size:.75rem}.world-map-players-summary strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--primary)}.world-map-players-dialog>:not(.world-map-players-list){flex-shrink:0}.world-map-players-dialog header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.world-map-players-dialog h2{font-family:var(--font-display);font-size:1.35rem;margin:.3rem 0}.world-map-players-dialog h2 span{color:var(--primary)}.world-map-players-dialog p{color:var(--on-surface-variant);font-size:.9rem}.world-map-players-tools{display:flex;gap:.75rem;align-items:end}.world-map-players-tools label{flex:1 1;min-width:0;font-size:.85rem}.world-map-players-tools input,.world-map-players-tools select{display:block;width:100%;min-width:0;min-height:42px;margin-top:var(--unit-1);padding:var(--unit-2);color:var(--on-surface);background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:2px;font-size:.8rem}.world-map-players-tools .world-map-players-relation{flex:0 1 130px}.world-map-players-count{margin-bottom:.5rem}.world-map-players-list{list-style:none;padding:0;margin:0;min-height:0;max-height:45dvh;overflow-y:auto;overscroll-behavior:contain}.world-map-players-list li{border:1px solid var(--outline-variant);border-radius:2px;background:var(--surface-container-lowest)}.world-map-players-list li+li{margin-top:var(--unit-2)}.world-map-players-list button{display:flex;align-items:center;gap:var(--unit-3);padding:var(--unit-3);width:100%;text-align:left;color:var(--on-surface);background:transparent;border:0;cursor:pointer}.world-map-players-dialog :is(button,input,select):focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.world-map-players-list button:hover{background:var(--surface-container-high)}.world-map-player-portrait{width:44px;height:44px;flex-shrink:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--surface-container-highest);border:1px solid var(--secondary)}.world-map-player-portrait img{width:100%;height:100%;object-fit:cover}.world-map-player-name{flex:1 1;min-width:0;overflow-wrap:anywhere}.world-map-player-name small,.world-map-player-name strong{display:block}.world-map-player-name small{color:var(--on-surface-variant);margin-top:.2rem}.world-map-player-inspect{display:flex;align-items:center;gap:var(--unit-1);color:var(--primary);font-size:.75rem;flex-shrink:0}.world-map-player-name strong{font-family:var(--font-display);font-size:1rem}.world-map-player-name small{font-size:.72rem}.world-map-players-empty{display:grid;gap:var(--unit-2);justify-items:center;text-align:center;padding:var(--unit-4);border:1px dashed var(--outline-variant)}.world-map-players-pages{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem}@media (max-width:480px){.world-map-players-dialog{padding:.85rem;max-height:90dvh}.world-map-players-tools{flex-wrap:wrap}.world-map-players-tools label:first-child{flex-basis:100%}.world-map-player-inspect{font-size:0}.world-map-players-heading>img{width:30px;height:30px}.world-map-travel-notice{left:.5rem;right:.5rem;bottom:.5rem}}.world-map-location-presence{display:inline-flex;align-items:center;max-width:60%;flex-shrink:0;font-size:.68rem;min-height:32px}.location-panel{display:flex;flex-direction:column;gap:var(--unit-2);overflow:auto}.location-panel-head{display:flex;align-items:center;gap:var(--unit-1);flex-wrap:wrap}.location-panel-head h3{margin:0;font-family:var(--font-display);color:var(--secondary)}.location-panel-sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);margin:0 0 var(--unit-1)}.location-panel-block{border-top:1px solid var(--outline-variant);padding-top:var(--unit-2)}.world-map-active-quest-block{--quest-accent:var(--tertiary);margin-top:var(--unit-1);padding:0;overflow:visible;border:1px solid color-mix(in srgb,var(--quest-accent) 38%,var(--outline-variant));border-left:3px solid color-mix(in srgb,var(--quest-accent) 72%,var(--secondary));border-top:none;background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--quest-accent) 12%,transparent),transparent 55%),linear-gradient(165deg,color-mix(in srgb,var(--quest-accent) 6%,var(--surface-container-low)),var(--surface-container-lowest));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--quest-accent) 14%,transparent),inset 0 -12px 24px rgba(0,0,0,.35),0 8px 20px rgba(0,0,0,.22)}.world-map-location-panel .world-map-active-quest-block.world-map-location-block{margin-top:0;overflow:visible;border:1px solid var(--outline-variant);border-left:3px solid var(--tertiary);border-radius:0;background:linear-gradient(180deg,rgba(255,218,212,.03),transparent 42%),var(--surface-container);box-shadow:none}.world-map-location-panel .world-map-active-quest-head.world-map-location-section-head{padding:var(--unit-2) var(--unit-3);margin:0;border-bottom:1px solid color-mix(in srgb,var(--tertiary) 28%,var(--outline-variant));background:linear-gradient(180deg,rgba(255,218,212,.04),transparent 72%),color-mix(in srgb,var(--tertiary) 5%,var(--surface-container-low))}.world-map-location-panel .world-map-active-quest-head.world-map-location-section-head .text-label-caps{color:var(--tertiary)}.world-map-location-panel .world-map-active-quest-list.world-map-location-block-list{margin:0;padding:0 0 var(--unit-1);gap:0}.world-map-location-panel .world-map-active-quest-list li,.world-map-location-panel .world-map-location-npc-list li,.world-map-location-panel .world-map-location-quest-list li{padding:0;border:none}.world-map-location-panel .world-map-active-quest-link.world-map-location-row{flex-direction:row;align-items:flex-start;gap:var(--unit-2);padding:var(--unit-2) var(--unit-3);border:none;border-bottom:1px solid color-mix(in srgb,var(--outline-variant) 55%,transparent);border-left:3px solid transparent;border-radius:0;background:transparent;box-shadow:none;transform:none}.world-map-location-panel .world-map-active-quest-list li:last-child .world-map-active-quest-link.world-map-location-row,.world-map-location-panel .world-map-location-quest-list li:last-child .world-map-location-row{border-bottom:none}.world-map-location-panel .world-map-active-quest-link.world-map-location-row:hover{border-left-color:var(--tertiary);background:color-mix(in srgb,var(--surface-container-high) 88%,var(--surface));box-shadow:none;transform:none}.world-map-active-quest-head-icon{flex-shrink:0;opacity:.92;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--quest-accent) 45%,transparent))}.world-map-active-quest-kicker{margin:0;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--secondary) 82%,var(--quest-accent))}.world-map-active-quest-list{list-style:none;margin:0;padding:var(--unit-2) var(--unit-3) var(--unit-3);display:flex;flex-direction:column;gap:var(--unit-2)}.world-map-active-quest-list li{padding:0;border:none}.world-map-active-quest-link{display:flex;flex-direction:column;gap:.35rem;padding:var(--unit-2) var(--unit-3);border:1px solid color-mix(in srgb,var(--outline-variant) 88%,var(--quest-accent) 12%);border-radius:2px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-container) 92%,transparent),color-mix(in srgb,var(--surface-container-lowest) 96%,transparent));text-decoration:none;color:inherit;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.world-map-active-quest-link:hover{border-color:color-mix(in srgb,var(--quest-accent) 55%,var(--outline-variant));background:linear-gradient(145deg,color-mix(in srgb,var(--quest-accent) 10%,var(--surface-container-high)),var(--surface-container));box-shadow:inset 0 0 14px color-mix(in srgb,var(--quest-accent) 10%,transparent),0 0 12px color-mix(in srgb,var(--quest-accent) 12%,transparent);transform:translateY(-1px)}.world-map-active-quest-title{font-family:var(--font-display);font-size:.98rem;font-weight:600;line-height:1.25;color:var(--on-surface)}.world-map-active-quest-objective{font-family:var(--font-prose);font-size:.84rem;line-height:1.4;color:color-mix(in srgb,var(--on-surface-variant) 92%,var(--secondary))}.world-map-patrol-block{position:relative;flex:1 1 100%;display:grid;gap:var(--unit-2);padding:var(--unit-3);overflow:hidden;border:1px solid color-mix(in srgb,var(--secondary) 42%,var(--outline-variant));border-left:3px solid var(--secondary);background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--secondary) 14%,transparent),transparent 48%),linear-gradient(115deg,color-mix(in srgb,var(--secondary) 7%,var(--surface-container-low)),var(--surface-container-low));box-shadow:inset 0 0 20px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.18)}.world-map-patrol-block .location-panel-sub{margin:0;color:var(--secondary)}.world-map-patrol-block .location-panel-note{margin:0;line-height:1.5}.world-map-patrol-block>.btn{width:100%;min-height:2.5rem;justify-content:center;border-color:color-mix(in srgb,var(--secondary) 58%,var(--outline-variant));background:linear-gradient(110deg,color-mix(in srgb,var(--secondary) 16%,var(--surface-container)),var(--surface-container));color:color-mix(in srgb,var(--secondary) 70%,var(--on-surface))}.world-map-patrol-block>.btn:hover:not(:disabled){border-color:var(--secondary);background:color-mix(in srgb,var(--secondary) 24%,var(--surface-container-high));color:var(--on-surface);box-shadow:inset 0 0 14px color-mix(in srgb,var(--secondary) 18%,transparent),0 0 16px color-mix(in srgb,var(--secondary) 18%,transparent)}.location-panel-actions{display:flex;flex-wrap:wrap;gap:var(--unit-2)}.location-panel-actions .btn{flex:1 1 96px;min-width:0}.town-district-panel{margin-top:auto}.town-district-actions{display:grid;gap:var(--unit-1);margin-top:var(--unit-2)}.town-district-link{display:flex;align-items:center;gap:var(--unit-2)}.town-district-link-icon{width:40px;height:40px}.town-district-link-copy{min-width:0}.town-district-link strong{display:block;font-family:var(--font-display);font-size:1rem;line-height:1.1}.town-district-link-copy>span{display:block;color:var(--on-surface-variant);font-size:10px;margin-top:2px}.dungeon-list{list-style:none;padding:0;margin:var(--unit-2) 0 0}.dungeon-list li{padding:var(--unit-2) 0}.world-map-shell>.world-map-notice{position:absolute;top:var(--unit-2);left:var(--unit-2);z-index:30;width:min(48rem,calc(100% - var(--world-map-panel-max, 340px) - 2 * var(--unit-2)));max-width:calc(100% - 2 * var(--unit-2));margin:0;pointer-events:none}@media (max-width:700px){.world-map-shell>.world-map-notice{width:calc(100% - 2 * var(--unit-2))}}@container map-page (max-width: 680px){.world-map-shell>.world-map-notice{width:calc(100% - 2 * var(--unit-2))}}.world-map-notice{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;margin:0;padding:.55rem .85rem .6rem .75rem;border-left:3px solid color-mix(in srgb,var(--secondary) 70%,var(--outline-variant));background:radial-gradient(ellipse at 8% 0,color-mix(in srgb,var(--secondary) 12%,transparent),transparent 55%),linear-gradient(160deg,rgba(255,218,212,.04),transparent 48%),color-mix(in srgb,var(--surface-container) 94%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-secondary);pointer-events:auto}.world-map-notice,.world-map-notice.chiseled-border{box-shadow:inset 0 0 14px rgba(0,0,0,.55),inset 0 1px 0 color-mix(in srgb,var(--secondary) 8%,transparent),0 8px 22px rgba(0,0,0,.45)}.world-map-notice.chiseled-border{border-top:2px solid var(--outline-variant);border-right:2px solid var(--outline-variant);border-bottom:2px solid var(--outline-variant);border-left-width:3px}.world-map-notice-kicker{flex-shrink:0;display:inline-flex;align-items:center;padding:2px 8px 2px 6px;border-left:2px solid var(--secondary);background:color-mix(in srgb,var(--secondary) 10%,var(--surface-container-low));color:var(--secondary);line-height:1.2}.world-map-notice-body{flex:1 1 12rem;min-width:0;font-family:var(--font-prose);font-size:.92rem;line-height:1.45;color:var(--on-surface)}.world-map-notice-respawn{border-left-color:color-mix(in srgb,var(--primary) 72%,var(--outline-variant));background:radial-gradient(ellipse at 6% 0,color-mix(in srgb,var(--primary) 14%,transparent),transparent 52%),linear-gradient(160deg,rgba(255,218,212,.04),transparent 48%),color-mix(in srgb,var(--surface-container) 94%,transparent)}.world-map-notice-respawn .world-map-notice-kicker{border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface-container-low));color:color-mix(in srgb,var(--primary) 78%,var(--secondary))}.world-map-notice-access{border-left-color:color-mix(in srgb,var(--secondary) 68%,var(--outline-variant))}.map-page-fullscreen .world-map-notice{padding:.5rem .9rem .55rem .8rem}.map-page-fullscreen .world-map-shell:has(>.world-map-notice) .world-map-hud-top{top:calc(var(--unit-2) + 3.25rem)}@media (max-width:720px){.world-map-notice{flex-direction:column;align-items:flex-start;gap:.3rem;padding:.45rem .65rem;max-height:5.5rem;overflow:hidden}.world-map-notice-body{font-size:.82rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.map-page-fullscreen .world-map-shell:has(>.world-map-notice) .world-map-hud-top{top:calc(var(--unit-2) + 5.75rem)}}.world-map-hud-breadcrumb{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0}.world-map-hud-crumb-btn{background:none;border:none;padding:0;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary);cursor:pointer;text-decoration:none}.world-map-hud-crumb-btn:hover{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.world-map-hud-crumb-sep{color:var(--on-surface-variant);font-size:.85em}.status-pill.world-map-threat-pill{--threat-accent:var(--secondary);--threat-ink:color-mix(in srgb,var(--threat-accent) 78%,var(--text-heading));--threat-bg:var(--surface-container);display:inline-flex;align-items:stretch;gap:0;padding:.35rem .6rem .4rem .55rem;border:1px solid color-mix(in srgb,var(--threat-accent) 38%,var(--outline-variant));border-left:3px solid var(--threat-accent);border-radius:2px;line-height:1.15;font-family:inherit;font-size:inherit;font-weight:600;letter-spacing:normal;text-transform:none;color:var(--threat-ink);background:radial-gradient(circle at 14% 0,color-mix(in srgb,var(--threat-accent) 18%,transparent),transparent 58%),linear-gradient(165deg,color-mix(in srgb,var(--threat-accent) 10%,var(--surface-container-low)),color-mix(in srgb,var(--threat-bg) 92%,#0e0e0e));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--threat-accent) 14%,transparent),inset 0 0 14px rgba(0,0,0,.48)}.world-map-threat-pill-low{--threat-accent:var(--tertiary);--threat-ink:color-mix(in srgb,var(--tertiary) 48%,#f2f6e8);--threat-bg:color-mix(in srgb,var(--tertiary) 10%,var(--surface-container))}.world-map-threat-pill-mid{--threat-accent:var(--secondary);--threat-ink:color-mix(in srgb,var(--secondary) 72%,var(--text-heading));--threat-bg:color-mix(in srgb,var(--secondary) 12%,var(--surface-container))}.world-map-threat-pill-high{--threat-accent:#e8935a;--threat-ink:color-mix(in srgb,#e8935a 55%,#ffe8d6);--threat-bg:color-mix(in srgb,#c45a2a 14%,var(--surface-container))}.world-map-threat-pill-lethal{--threat-accent:var(--error);--threat-ink:color-mix(in srgb,var(--error) 70%,#fff0ee);--threat-bg:color-mix(in srgb,var(--error) 14%,var(--surface-container))}.status-pill.world-map-threat-pill-lethal{animation:world-map-threat-pulse 2.8s ease-in-out infinite}@keyframes world-map-threat-pulse{0%,to{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--threat-accent) 14%,transparent),inset 0 0 14px rgba(0,0,0,.48),0 0 0 1px color-mix(in srgb,var(--error) 22%,transparent)}50%{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--threat-accent) 18%,transparent),inset 0 0 14px color-mix(in srgb,var(--error) 12%,transparent),0 0 10px color-mix(in srgb,var(--error) 28%,transparent)}}.world-map-threat-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;min-width:0}.world-map-threat-kicker{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--text-tertiary) 82%,var(--threat-accent));line-height:1.2}.world-map-threat-level-row{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.world-map-threat-dot{width:7px;height:7px;border-radius:50%;background:var(--threat-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--threat-accent) 40%,rgba(0,0,0,.55)),0 0 7px color-mix(in srgb,var(--threat-accent) 50%,transparent);flex-shrink:0}.world-map-threat-level{font-family:var(--font-inscription);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--threat-ink);text-shadow:var(--text-shadow);line-height:1.15}.world-map-threat-il{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--text-secondary) 72%,var(--threat-accent));line-height:1.2}