.world-atlas{margin:36px 0 55px;border:1px solid #a18c64;background:#122725;box-shadow:0 20px 55px #11242126;color:#f6efdc;overflow:hidden}
.world-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;border-bottom:1px solid #bca26e44;background:#112421}
.world-tabs{display:flex;gap:6px;flex-wrap:wrap}
.world-tab,.world-fullscreen{border:1px solid #a68c5559;border-radius:2px;background:transparent;color:#dfd9c8;padding:9px 12px;font:600 11px/1.3 var(--sans);letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s}
.world-tab:hover,.world-tab[aria-pressed=true]{background:#dcc18a;color:#172b27;border-color:#dcc18a}
.world-fullscreen{white-space:nowrap;border-color:transparent;color:#d6bd85}
.world-fullscreen:hover{border-color:#a68c55}
.world-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:stretch;height:560px}
.world-map-side{min-width:0;background:#0b242b;display:flex;align-items:center;justify-content:center;position:relative}
.world-stage{width:100%;aspect-ratio:1672/941;position:relative;overflow:hidden;isolation:isolate;background:#0b2931}
.world-stage::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 28px #07171c66;pointer-events:none;z-index:4}
.world-layer{position:absolute;inset:0;transform-origin:0 0;will-change:transform;transition:none!important;backface-visibility:hidden}
.world-map-image{display:block;width:100%;height:100%;max-width:none;user-select:none;pointer-events:none}
.world-regions{position:absolute;inset:0;width:100%;height:100%}
.world-regions[hidden]{display:none}
.world-land{fill:#f1d68c00;stroke:#f4dd9b00;stroke-width:3;cursor:zoom-in;transition:fill .16s,stroke .16s;outline:none}
.world-land:hover,.world-land:focus-visible{fill:#f1d68c25;stroke:#f4dd9bb0;filter:drop-shadow(0 0 10px #f8de92)}
.world-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);width:32px;height:32px;padding:0;display:grid;place-items:center;background:none;border:0;border-radius:50%;cursor:pointer;color:#162a25;transform:translate(-50%,-50%) scale(var(--pin-scale,1));transform-origin:50% 50%;z-index:1}
.world-pin[hidden]{display:none}
.world-pin::before{content:"";width:11px;height:11px;background:#f5d58b;border:2px solid #172e29;border-radius:50%;box-shadow:0 0 0 3px #f9e5b86b,0 2px 8px #0008;transition:box-shadow .18s,background .18s}
.world-pin:hover,.world-pin:focus-visible,.world-pin[aria-pressed=true]{z-index:5}
.world-pin:hover::before,.world-pin:focus-visible::before,.world-pin[aria-pressed=true]::before{background:#fff9db;box-shadow:0 0 0 5px #f9dfaa88,0 0 18px #feeac8}
.world-pin-label{position:absolute;left:50%;bottom:31px;transform:translateX(-50%) translateY(4px);white-space:nowrap;pointer-events:none;background:#112e29f5;color:#fff4d4;border:1px solid #dcc18a99;border-radius:3px;padding:6px 9px;box-shadow:0 5px 15px #0004;font:600 12px/1.3 var(--sans);opacity:0;transition:opacity .15s,transform .15s}
.world-pin:hover .world-pin-label,.world-pin:focus-visible .world-pin-label,.world-pin[aria-pressed=true] .world-pin-label{opacity:1;transform:translateX(-50%) translateY(0)}
.world-pin[data-label-below] .world-pin-label{bottom:auto;top:31px}
.world-scale-label{position:absolute;left:14px;bottom:12px;z-index:5;pointer-events:none;padding:4px 9px;background:#0e292cda;border:1px solid #d3b87766;color:#e4cd98;font:600 9px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.world-atlas[data-focus=all] .world-scale-label{display:none}
.world-panel{border-left:1px solid #c9b07c44;background:#f7f2e6;color:#24332b;padding:21px;overflow:auto;max-height:660px;scrollbar-width:thin}
.world-panel-media{margin:-21px -21px 17px;height:120px;background:#172d29;overflow:hidden}
.world-panel-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.world-panel-media[hidden]{display:none}
.world-panel-kicker{color:#93713d;font:700 9px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.15em;margin:0 0 7px}
.world-panel h3{font:600 34px/.98 var(--serif);letter-spacing:-.02em;margin:0 0 13px;overflow-wrap:anywhere}
.world-panel-description,.world-panel-detail{font:13px/1.65 var(--sans);margin:0 0 12px}
.world-panel-detail{font-size:12px;color:#536052}
.world-facts{display:grid;gap:0;margin:18px 0 0}
.world-facts>div{padding:9px 0;border-top:1px solid #b1a58b66}
.world-facts dt{font:700 8px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:#857149}
.world-facts dd{margin:2px 0 0;font:600 12px/1.4 var(--sans)}
.world-panel-link{display:inline-block;border-bottom:1px solid #8d713e;margin-top:12px;color:#775b2c;font:700 11px/1.7 var(--sans)}
.world-panel-link[hidden]{display:none}
.world-index{padding:20px;border-top:1px solid #bca26e44;background:#122825}
.world-index[hidden]{display:none}
.world-index-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px}
.world-index h4{font:500 24px/1 var(--serif);margin:0;color:#ead9b6}
.world-index-count{font:600 9px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:#b8b8a7}
.world-place-list{display:flex;gap:7px;flex-wrap:wrap}
.world-place-button{border:1px solid #a98d5966;background:#1b3430;border-radius:2px;padding:8px 11px;color:#e6decb;font:500 11px/1.3 var(--sans);cursor:pointer}
.world-place-button:hover,.world-place-button[aria-pressed=true]{background:#d5b97e;color:#142c25;border-color:#d5b97e}
.world-noscript{margin:14px 0;color:#655c4c;font-size:13px}
.world-sr-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.world-atlas:fullscreen{padding:18px;box-sizing:border-box;width:100vw;height:100dvh;overflow:auto;border:0}
.world-atlas:fullscreen .world-workspace{grid-template-columns:minmax(0,1fr) 320px;min-height:calc(100dvh - 210px)}
.world-atlas:fullscreen .world-panel{max-height:none}
.world-atlas:fullscreen .world-stage{max-width:calc((100dvh - 190px)*1.777);margin:auto}
@media(max-width:1150px){.world-workspace{grid-template-columns:minmax(0,1fr) 250px}.world-panel{padding:17px}.world-panel-media{margin:-17px -17px 15px;height:100px}.world-panel h3{font-size:29px}.world-panel-description{font-size:12px}.world-panel-detail{font-size:11px}}
@media(max-width:850px){.world-workspace{grid-template-columns:1fr}.world-panel{border-left:0;border-top:1px solid #a18c64;max-height:none;padding:23px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.world-panel-media{display:none}.world-panel-kicker,.world-panel h3{grid-column:1/-1}.world-panel-description{font-size:13px}.world-panel-detail{font-size:12px}.world-facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:4px}.world-panel-link{justify-self:start}.world-atlas:fullscreen .world-workspace{grid-template-columns:1fr}.world-atlas:fullscreen .world-stage{max-width:100%}}
@media(max-width:550px){.world-atlas{margin-top:26px}.world-toolbar{padding:12px;gap:9px;align-items:flex-start}.world-tabs{gap:5px}.world-tab{padding:9px 8px;font-size:10px}.world-fullscreen{padding:8px 3px;font-size:9px}.world-panel{display:block;padding:20px}.world-panel h3{font-size:33px}.world-panel-description,.world-panel-detail{font-size:12px}.world-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;gap:0 15px}.world-index{padding:17px}.world-index-head{align-items:baseline}.world-index h4{font-size:22px}.world-index-count{font-size:8px}.world-place-button{font-size:10px;padding:9px}.world-pin{width:28px;height:28px}.world-pin::before{width:9px;height:9px}.world-pin-label{font-size:10px;bottom:26px}.world-scale-label{font-size:8px;left:8px;bottom:8px}.world-atlas:fullscreen{padding:8px}}
@media(prefers-reduced-motion:reduce){.world-layer{transition:none;will-change:auto}.world-pin-label,.world-land,.world-tab{transition:none}}
@media print{.world-toolbar,.world-regions,.world-pins,.world-index,.world-panel,.world-scale-label{display:none!important}.world-workspace{display:block}.world-layer{transform:none!important}.world-atlas{box-shadow:none;background:white;border:0}.world-stage{aspect-ratio:1672/941}.world-stage::after{display:none}}


/* Static sea + overview + masked foreground; camera motion uses compositor transforms. */
.world-context-image,.world-overview-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;pointer-events:none;user-select:none;object-fit:fill;backface-visibility:hidden}
.world-context-image{opacity:1}.world-overview-image{will-change:opacity}
.world-focus-art{position:absolute;inset:0;pointer-events:none;opacity:0;will-change:opacity;backface-visibility:hidden}
.world-focus-art .world-map-image{mask-image:var(--continent-mask,none);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-image:var(--continent-mask,none);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.world-pins{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 240ms ease,visibility 0s 240ms}
.world-atlas[data-motion=exploring] .world-pins{opacity:1;visibility:visible;transition:opacity 650ms ease 60ms,visibility 0s}
.world-atlas[data-motion=exploring] .world-pin{pointer-events:auto}
.world-index{min-height:145px;box-sizing:border-box;transition:opacity 350ms ease}
.world-atlas[data-motion=focusing] .world-index,.world-atlas[data-motion=returning] .world-index{opacity:.25;pointer-events:none}
.world-scale-label{opacity:0;transition:opacity 500ms ease}
.world-atlas[data-motion=exploring] .world-scale-label{opacity:1}
.world-view-controls{display:flex;align-items:center;gap:5px}
.world-motion{border:1px solid #a68c5559;border-radius:2px;background:none;color:#d6bd85;padding:8px;font:600 9px/1.3 var(--sans);cursor:pointer;white-space:nowrap}
.world-motion[aria-pressed=true]{border-color:#d6bd8588}.world-motion:disabled{opacity:.45;cursor:wait}
.world-return{position:absolute;z-index:6;right:16px;bottom:13px;overflow:hidden;border:1px solid #c5a66c88;background:#112d2ce8;color:#f5e4bf;padding:9px 12px 10px;font:600 10px/1.3 var(--sans);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease,visibility 0s 180ms}
.world-atlas[data-departing=true] .world-return{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 180ms ease,visibility 0s}
.world-return-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#ead3a0;transform:scaleX(0);transform-origin:left}
.world-atlas[data-departing=true] .world-return-progress{animation:world-return-countdown 1400ms linear forwards!important}
@keyframes world-return-countdown{to{transform:scaleX(1)}}
.world-atlas[data-animate=on] .world-pins{transition-duration:240ms,0s!important}
.world-atlas[data-animate=on][data-motion=exploring] .world-pins{transition:opacity 650ms ease 60ms,visibility 0s!important}
.world-atlas[data-animate=on] .world-index{transition:opacity 350ms ease!important}
.world-atlas[data-animate=on] .world-layer{will-change:transform}
.world-atlas[data-animate=on] .world-scale-label{transition:opacity 500ms ease!important}
.world-atlas[data-animate=on] .world-return{transition-duration:180ms,0s!important}
.world-atlas[data-animate=off] .world-pins,.world-atlas[data-animate=off] .world-index,.world-atlas[data-animate=off] .world-scale-label{transition:none!important}
@media(max-width:850px){.world-workspace{height:auto}.world-panel{min-height:320px;box-sizing:border-box}.world-index{min-height:245px}}
@media(max-width:550px){.world-toolbar{flex-wrap:wrap}.world-view-controls{width:100%;justify-content:flex-end}.world-motion{font-size:8px}.world-return{font-size:8px;right:8px;bottom:9px}}
@media print{.world-context-image,.world-overview-image,.world-return{display:none!important}.world-focus-art{opacity:1!important}.world-focus-art .world-map-image{mask-image:none!important;-webkit-mask-image:none!important}.world-workspace{height:auto}}
/* Show complete place illustrations in the detail card on desktop and mobile. */
.world-panel-media{height:auto;aspect-ratio:1672/941}
@media(max-width:850px){.world-panel-media{display:block;grid-column:1/-1;margin:-23px -23px 20px}}
@media(max-width:550px){.world-panel-media{margin:-20px -20px 18px}}
