/* Illustrated exploration layout. Scene cinematics keep their own layout. */
#world-root:not(.world-story-scene){background:radial-gradient(ellipse at 30% 0,#273a3c,#0b141b 70%);padding:18px max(20px,env(safe-area-inset-right)) 20px max(20px,env(safe-area-inset-left))}
#world-root:not(.world-story-scene) .world-layout{grid-template-columns:minmax(0,2.6fr) minmax(260px,1fr);gap:16px}
#world-root:not(.world-story-scene) .world-map{background:#242a29;border-color:#76807466;border-radius:12px;box-shadow:0 16px 45px #0005}
#world-root:not(.world-story-scene) .world-map-heading{padding:14px 20px 8px;background:#0d1a20}
#world-root:not(.world-story-scene) #world-terrain{height:auto;aspect-ratio:1000/650;margin:0;isolation:isolate}
.atlas-terrain{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-2;filter:brightness(.83) saturate(.82)}
#world-terrain::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 65px #0005;z-index:-1}
#world-terrain svg{pointer-events:none}.atlas-road{stroke:#f4dfb080;stroke-width:2;fill:none;stroke-dasharray:6 7}.atlas-road.atlas-route{stroke:#ffe7a0;stroke-width:4;filter:drop-shadow(0 0 4px #edc67e)}.atlas-road.atlas-locked{opacity:.3}
#world-root .atlas-node{border:0;background:none;padding:0!important;box-shadow:none;min-width:44px;min-height:44px;display:flex;align-items:center;flex-direction:column;gap:3px;overflow:visible;color:#fff4dc;transform:translate(-50%,-24px);outline-offset:5px}
#world-root .atlas-node:hover,#world-root .atlas-node:focus-visible{background:none;outline:0}.atlas-pin{display:grid;place-items:center;width:38px;height:38px;box-sizing:border-box;background:#12212bef;border:1px solid #d3c499;border-radius:50%;font:bold 22px system-ui;box-shadow:0 3px 10px #0009;transition:transform .18s}
.atlas-label{padding:3px 8px;background:#08151be6;border:1px solid #a9b7ae60;border-radius:3px;font-size:12px;white-space:nowrap;line-height:1.4;text-shadow:0 1px 3px #000}
#world-root .atlas-node[aria-pressed=true] .atlas-pin,#world-root .atlas-node:focus-visible .atlas-pin{background:#dfc48c;color:#172026;box-shadow:0 0 0 4px #ffe2a044,0 4px 18px #0009;transform:translateY(-3px)}
.atlas-node[data-locked=true]{filter:saturate(0);opacity:.65}.atlas-node[data-current=true] .atlas-pin{border:3px solid #91e4d7}.atlas-here{color:#b8f9ea;background:#102b2af2;padding:1px 7px;border-radius:9px;font:10px system-ui}.atlas-event{position:absolute;right:0;top:-7px;background:#e8b253;color:#1d2022;border-radius:50%;width:17px;height:17px;text-align:center;font:bold 12px/17px system-ui;border:2px solid #12212b}
.atlas-compass{position:absolute;right:15px;bottom:10px;color:#e0d5b5;white-space:pre;text-align:center;font:13px/1 system-ui;pointer-events:none;text-shadow:0 2px 4px #000}
#world-root .world-map .world-map-legend{padding:10px 16px;margin:0;background:#0d1a20;color:#c2c9bd;font-size:11px}
.atlas-preview{display:block;width:calc(100% + 44px);height:145px;object-fit:cover;margin:-22px -22px 18px;mask-image:linear-gradient(#000 65%,transparent)}
.world-story-scene .atlas-preview,.world-dialogue-art .atlas-preview{display:none}
#world-root:not(.world-story-scene) .world-detail{overflow:hidden;background:linear-gradient(160deg,#20313a,#121f29);border-color:#71817a66}
#world-stats{display:flex;gap:8px;flex-wrap:wrap}.map-party-card{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 5px!important;min-height:44px!important;background:#15262e!important;border-color:#4c6460!important}.map-party-card img{width:34px;height:38px;object-fit:contain}.map-party-card span{font-size:12px}.map-party-card small{display:block;color:#afc5bf;font-size:10px}
@media(max-height:540px) and (min-width:701px){#world-root:not(.world-story-scene){padding:8px 14px}#world-root:not(.world-story-scene) .world-header h1{font-size:19px}#world-root:not(.world-story-scene) .world-eyebrow{display:none}#world-root:not(.world-story-scene) .world-tools{gap:4px}#world-root:not(.world-story-scene) .world-tools button{padding:5px 8px;min-height:36px}#world-stats{margin:3px 0 6px}.map-party-card{min-height:34px!important}.map-party-card img{height:28px;width:25px}#world-root:not(.world-story-scene) .world-layout{grid-template-columns:minmax(0,2fr) minmax(230px,1fr)}#world-root:not(.world-story-scene) .world-map-heading{padding:6px 12px}#world-root:not(.world-story-scene) #world-terrain{min-height:260px}.atlas-preview{height:80px;margin-bottom:5px}.atlas-label{font-size:10px}.atlas-pin{width:31px;height:31px;font-size:18px}.atlas-node{gap:1px!important}.atlas-here{font-size:9px}.world-map-legend{font-size:10px!important}}
@media(max-width:700px){#world-root:not(.world-story-scene){padding:12px}#world-root:not(.world-story-scene) .world-layout{grid-template-columns:1fr}#world-root:not(.world-story-scene) .world-header{gap:6px}#world-root:not(.world-story-scene) #world-terrain{min-height:290px}.atlas-label{font-size:10px;padding:2px 4px}.atlas-pin{width:32px;height:32px;font-size:18px}#world-root .world-tools{padding-right:0}.atlas-preview{height:120px}.atlas-node[data-place=nest] .atlas-label{transform:translateX(-12px)}}
@media(prefers-reduced-motion:reduce){.atlas-pin{transition:none}}
@media(min-width:701px) and (min-height:541px){#world-root:not(.world-story-scene) #world-terrain{height:clamp(350px,55vh,650px);aspect-ratio:auto}}
@media(max-height:540px) and (min-width:701px){#world-root:not(.world-story-scene) #world-stats{display:none}#world-root:not(.world-story-scene) .world-map-heading{padding:5px 12px}#world-root:not(.world-story-scene) #world-region-sub{display:none}#world-root:not(.world-story-scene) #world-terrain{height:calc(100dvh - 140px);min-height:190px;aspect-ratio:auto}#world-root:not(.world-story-scene) .world-map .world-map-legend{padding:5px 8px;font-size:9px!important}#world-root:not(.world-story-scene) .world-detail{max-height:calc(100dvh - 110px);overflow-y:auto}#world-root:not(.world-story-scene) #world-message{font-size:12px;line-height:1.6;margin:6px 0;min-height:0}#world-root:not(.world-story-scene) .atlas-preview{display:none}#world-root:not(.world-story-scene) #world-heading{font-size:18px}#world-root:not(.world-story-scene) #world-save{display:none}body:has(#tester-menu) #world-root:not(.world-story-scene){padding-top:44px}body:has(#tester-menu) #world-root:not(.world-story-scene) #world-terrain{height:calc(100dvh - 176px)}}
