
#darby-atlas{display:none}
.dds-world #darby-atlas{display:block}
.dds-world[data-world="atlas"] .dds-world-body{padding:0;bottom:156px;overflow:auto}
.da-atlas{--atlas-accent:#50dcff;color:#e9f5ff;min-height:100%;box-sizing:border-box;padding:30px 42px 18px;background:radial-gradient(ellipse at 48% 55%,#17334e99,transparent 65%),#050e1b;font-family:Arial,sans-serif}
.da-header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1400px;margin:auto}
.da-code{font:10px/1.5 monospace!important;letter-spacing:.14em;color:var(--atlas-accent);margin:0 0 10px!important}
.da-header h2{font:700 clamp(25px,2.7vw,40px)/1.07 Arial,sans-serif!important;letter-spacing:-.04em;margin:0 0 10px!important;color:#f1f7ff}
.da-intro{font:13px/1.6 Arial,sans-serif;color:#adc1d4;margin:0!important;max-width:600px}
dialog.dds-world .da-return{flex-shrink:0;padding:12px 16px;border:1px solid #547087;border-radius:6px;background:#0b2032;color:#c5dfed;font:12px/1.4 Arial,sans-serif;min-height:44px}
.da-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:center;max-width:1400px;margin:22px auto 0}
.da-map{position:relative;height:clamp(330px,48vh,550px);border:1px solid #37576a77;border-radius:18px;isolation:isolate;perspective:900px;background:radial-gradient(ellipse at center,#14395166,transparent 65%);overflow:hidden}
.da-map:before{content:'';position:absolute;inset:-20%;z-index:-1;transform:rotateX(45deg);background-image:linear-gradient(#62dcff0c 1px,transparent 1px),linear-gradient(90deg,#62dcff0c 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}
.da-map:after{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,#a1e8ff88 0 1px,transparent 1.5px),radial-gradient(circle,#a1e8ff44 0 1px,transparent 1.5px);background-size:131px 113px,89px 167px;background-position:23px 16px,51px 62px;opacity:.35}
.da-routes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.da-routes path{fill:none;stroke:var(--node-color);vector-effect:non-scaling-stroke}
.da-route-base{stroke-width:1;opacity:.13;transition:opacity .4s}
.da-route-flow{stroke-width:2;stroke-dasharray:2 98;opacity:.28;animation:da-signal 5s var(--route-delay) linear infinite}
.da-route-base.is-selected{opacity:.7;stroke-width:1.5}
.da-route-flow.is-selected{opacity:1;filter:drop-shadow(0 0 4px var(--node-color))}
.da-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:90px;height:90px;border:1px solid #50dcff77;border-radius:24px;background:#112a3bdd;box-shadow:0 0 45px #50dcff1c;pointer-events:none}
.da-core b{font:800 38px/1 Arial,sans-serif;color:#84e8ff;text-shadow:0 0 20px #50dcff66}
.da-core small{font:7px/1.5 monospace;letter-spacing:.08em;color:#8bb3c4}
dialog.dds-world .da-world{position:absolute;left:var(--map-x);top:var(--map-y);transform:translate(-50%,-50%);width:150px;min-height:110px;display:flex;align-items:center;flex-direction:column;gap:6px;padding:8px 5px;background:transparent;color:#c4d5e1;border:1px solid transparent;border-radius:12px;box-shadow:none;transition:background .3s,border-color .3s}
dialog.dds-world .da-world:hover,dialog.dds-world .da-world.is-selected{background:color-mix(in srgb,var(--node-color) 7%,#071422bb);border-color:color-mix(in srgb,var(--node-color) 50%,transparent)}
.da-world strong{font:600 11px/1.3 Arial,sans-serif}
.da-world small{font:8px/1.4 monospace;color:#7894a8}
.da-world.is-current small{color:var(--node-color);text-shadow:0 0 9px var(--node-color)}
.da-world.is-visited strong{color:#eff8ff}
.da-structure{display:block;position:relative;width:70px;height:54px;filter:drop-shadow(0 4px 7px #0008);transition:transform .4s;transform:rotateX(12deg)}
.da-world:hover .da-structure,.da-world.is-selected .da-structure{transform:translateY(-5px) rotateX(0deg);filter:drop-shadow(0 0 11px color-mix(in srgb,var(--node-color) 35%,transparent))}
.da-structure i{position:absolute;display:block;border:1px solid var(--node-color);background:linear-gradient(130deg,color-mix(in srgb,var(--node-color) 22%,#102136),#0b1c2b);box-shadow:inset 0 0 12px color-mix(in srgb,var(--node-color) 10%,transparent);animation:da-window 4s calc(var(--part)*-.6s + var(--node-order)*-.4s) ease-in-out infinite}
.da-world-arrival i{width:12px;height:42px;left:calc(12px + var(--part)*9px);bottom:0;transform:skewY(-14deg)}
.da-world-arrival i:nth-child(2),.da-world-arrival i:nth-child(3),.da-world-arrival i:nth-child(4){height:9px;top:4px}
.da-world-system i{width:13px;height:calc(18px + var(--part)*7px);left:calc(var(--part)*13px);bottom:0;transform:skewY(-14deg)}
.da-world-system i:last-child{height:2px;width:60px;left:0;bottom:4px}
.da-world-simulator i{width:17px;height:14px;left:calc(var(--part)*11px);top:calc(30px - var(--part)*5px);transform:rotate(-20deg) skewX(10deg)}
.da-world-lab i{width:19px;height:19px;border-radius:50% 50% 5px 5px;left:calc(3px + var(--part)*10px);top:calc(8px + var(--part)*5px)}
.da-world-worlds i{width:19px;height:18px;left:calc(var(--part)*11px);top:calc(8px + var(--part)*4px);transform:rotate(35deg) skew(-12deg)}
.da-world-living i{width:15px;height:calc(17px + var(--part)*5px);left:calc(var(--part)*12px);bottom:0;transform:skewY(-18deg);background:repeating-linear-gradient(0deg,transparent 0 7px,color-mix(in srgb,var(--node-color) 35%,transparent) 8px 9px),#12312f}
.da-inspect{padding:24px;border:1px solid color-mix(in srgb,var(--atlas-accent) 35%,#203446);border-radius:12px;background:linear-gradient(135deg,#13283ddd,#081522ee);box-shadow:0 0 35px color-mix(in srgb,var(--atlas-accent) 5%,transparent)}
.da-inspect h3{font:700 27px/1.1 Arial,sans-serif!important;letter-spacing:-.025em;margin:0 0 16px!important;color:#f1f7ff}
.da-description{font:14px/1.7 Arial,sans-serif;color:#b7cbdc;margin:0 0 18px}
.da-connection{font:11px/1.6 monospace;color:var(--atlas-accent);border-left:2px solid var(--atlas-accent);padding-left:12px;margin:0 0 20px}
.da-status{font:10px/1.5 monospace;color:#839eb4;margin:0 0 12px}
dialog.dds-world .da-travel{min-height:46px;width:100%;padding:12px 16px;border:1px solid var(--atlas-accent);border-radius:5px;background:color-mix(in srgb,var(--atlas-accent) 14%,#0b2135);color:#effaff;font:600 14px/1.4 Arial,sans-serif}
.da-map-note{text-align:center;font:8px/1.5 monospace;color:#607f94;letter-spacing:.15em;margin:16px 0 0}
dialog.dds-cinema .da-atlas-launch{min-height:32px;padding:6px 12px;border:1px solid #5bc7e066;background:#11283b;color:#9fe9ff;border-radius:5px;font:600 11px/1.4 monospace;white-space:nowrap}
.dds-experience-heading{position:relative}
.dds-experience-heading>p:last-of-type{padding-right:150px}
.dds-experience-heading>.da-atlas-launch{position:absolute;right:0;bottom:0}
.dds-world-launch:has(+.da-header){display:none}
@keyframes da-signal{to{stroke-dashoffset:-100}}
@keyframes da-window{0%,100%{filter:brightness(.8)}50%{filter:brightness(1.3)}}
@media(max-width:767px){
 .dds-world[data-world="atlas"] .dds-world-body{bottom:78px}
 .da-atlas{padding:24px 16px 18px}
 .da-header{align-items:flex-start;flex-direction:column;gap:14px}
 .da-header h2{font-size:28px!important}
 .da-layout{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:18px}
 .da-map{height:350px}
 dialog.dds-world .da-world{width:100px;min-height:98px;padding:6px 3px}
 .da-world strong{font-size:9px}.da-world small{font-size:7px}
 .da-structure{transform:scale(.8);height:48px}
 .da-world:hover .da-structure,.da-world.is-selected .da-structure{transform:translateY(-3px) scale(.8)}
 .da-core{width:56px;height:56px;border-radius:16px}.da-core b{font-size:26px}.da-core small{font-size:5px}
 .da-inspect{padding:20px}.da-inspect h3{font-size:24px!important}
 .dds-experience-heading>p:last-of-type{padding-right:0}
 .dds-experience-heading>.da-atlas-launch{position:static;margin-top:10px}
}
@media(prefers-reduced-motion:reduce){.da-atlas *{animation:none!important;transition:none!important}}

@media(min-width:768px){
 .da-atlas{padding-top:20px}
 .da-layout{margin-top:18px}
 .da-map{height:clamp(270px,calc(100dvh - 425px),530px)}
 .da-inspect{padding:20px}
 .da-inspect h3{font-size:24px!important;margin-bottom:12px!important}
 .da-description{font-size:13px;line-height:1.55;margin-bottom:12px}
 .da-connection{margin-bottom:14px}
 .da-status{margin-bottom:8px}
 .da-map-note{margin-top:12px}
 .dds-experience-heading:after{width:calc(100% - 155px)}
}
@media(max-width:767px){
 dialog.dds-cinema .da-atlas-dock{font-size:10px;min-height:40px;padding:8px;flex-shrink:0}
 .dds-experience-dock{gap:8px}
 .dds-current-space{min-width:0}
}

.da-map{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s}
.da-map.is-traveling{transform:scale(1.08);filter:brightness(1.15)}
.da-map.is-traveling .da-route-flow.is-selected{animation-duration:1.2s}

/* Keep the Atlas control centered on the shared animated divider. */
@media(min-width:768px){
 .dds-experience-heading>.da-atlas-launch{position:static;grid-column:2;grid-row:1;justify-self:end;align-self:center;z-index:1}
 .dds-experience-heading>p:nth-of-type(2){grid-column:1 / -1;grid-row:2}
 .dds-experience-heading:after{align-self:center}
}
/* Selected-world telemetry unfolds inside the existing preview. */
.da-connection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;padding-left:10px}
.da-preview-label{grid-column:1 / -1;font:7px/1.4 monospace;letter-spacing:.14em;opacity:.65;margin-bottom:2px}
.da-preview-step{display:block;font:9px/1.45 monospace;animation:da-preview-reveal .45s calc(var(--preview-order)*.05s) both}
.da-preview-step:before{content:'· ';opacity:.7}
.da-world.is-selected .da-structure:before{content:'';position:absolute;left:-12px;right:-12px;bottom:-6px;height:18px;border:1px solid var(--node-color);border-radius:50%;box-shadow:0 0 16px color-mix(in srgb,var(--node-color) 22%,transparent);opacity:.45;animation:da-beacon-breathe 2.8s ease-in-out infinite}
.da-world.is-current .da-beacon{animation:da-location-breathe 3s ease-in-out infinite}
.da-assembling .da-world .da-structure{animation:da-world-assemble 1.1s calc(1.15s + var(--node-order)*.09s) both}
.da-assembling .da-core{animation:da-core-arrive 1s 1.1s both}
@keyframes da-preview-reveal{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@keyframes da-beacon-breathe{0%,100%{opacity:.25;scale:.9}50%{opacity:.65;scale:1.08}}
@keyframes da-location-breathe{0%,100%{filter:brightness(.85)}50%{filter:brightness(1.35)}}
@keyframes da-world-assemble{from{opacity:0;translate:0 18px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes da-core-arrive{from{opacity:0;scale:.7}to{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){.da-atlas *,.da-atlas *:before{animation:none!important}}

/* Exploration energizes the Atlas. Inspecting a destination alone never unlocks it. */
.da-world:not(.is-visited):not(.is-selected) .da-structure{opacity:.5;filter:saturate(.55)}
.da-world.is-visited .da-structure{opacity:1;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--node-color) 32%,transparent))}
.da-world.is-visited .da-structure i{border-color:var(--node-color);box-shadow:inset 0 0 15px color-mix(in srgb,var(--node-color) 25%,transparent),0 0 5px color-mix(in srgb,var(--node-color) 18%,transparent)}
.da-structure i:after{content:'';position:absolute;inset:3px;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 4px,var(--node-color) 4px 5px);transition:opacity 1.2s}
.da-world.is-visited .da-structure i:after{opacity:.6}
.da-world.is-visited .da-beacon{color:color-mix(in srgb,var(--node-color) 70%,#b8c7d4)}
.da-route-base.is-awake{opacity:.43;stroke-width:1.5;filter:drop-shadow(0 0 3px var(--node-color))}
.da-route-flow:not(.is-awake):not(.is-selected){opacity:.08;animation-play-state:paused}
.da-route-flow.is-awake{opacity:.7;stroke-dasharray:3 97;animation-duration:4s}
.da-route-base.is-selected{opacity:.8}
.da-route-flow.is-selected{opacity:1}
.da-core{box-shadow:0 0 calc(22px + var(--atlas-energy,0)*40px) #50dcff33,inset 0 0 calc(var(--atlas-energy,0)*22px) #50dcff22;transition:box-shadow 1.5s}
.da-core:after{content:'';position:absolute;inset:-7px;border:1px solid #50dcff44;border-radius:30px;opacity:calc(.1 + var(--atlas-energy,0)*.55);pointer-events:none}
.da-world.is-awakening .da-structure:after{content:'';position:absolute;inset:-15px;border:1px solid var(--node-color);border-radius:50%;opacity:0;animation:da-world-awaken 1.7s 2s ease-out both}
.da-route-base.is-awakening{animation:da-route-awaken 2.1s 1.6s ease-out both}
.da-awakening-progress{color:#87b3c6;letter-spacing:.12em}
.is-fully-awake .da-core:after{border-color:#9ce9db;box-shadow:0 0 20px #7fe5d233;animation:da-atlas-heartbeat 5s ease-in-out infinite}
.is-fully-awake .da-awakening-progress{color:#9ce9db}
@keyframes da-world-awaken{0%{opacity:0;scale:.35;box-shadow:0 0 0 transparent}20%{opacity:.9;box-shadow:0 0 28px var(--node-color)}100%{opacity:0;scale:1.65;box-shadow:0 0 4px transparent}}
@keyframes da-route-awaken{0%{stroke-dasharray:0 100;opacity:.1}65%{stroke-dasharray:100 0;opacity:1}100%{stroke-dasharray:100 0;opacity:.43}}
@keyframes da-atlas-heartbeat{0%,100%{opacity:.45;scale:1}50%{opacity:.85;scale:1.04}}
.da-atlas *,.da-atlas *:before,.da-atlas *:after{animation-play-state:paused}
.dds-world[data-world="atlas"] .da-atlas *,.dds-world[data-world="atlas"] .da-atlas *:before,.dds-world[data-world="atlas"] .da-atlas *:after{animation-play-state:running}
.dds-world[data-world="atlas"] .da-route-flow:not(.is-awake):not(.is-selected){animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.da-atlas *,.da-atlas *:before,.da-atlas *:after{animation:none!important}}

.da-world:not(.is-visited):not(.is-selected) .da-structure i{opacity:.42;filter:saturate(.5)}
.dds-world[data-world="atlas"] .da-world:not(.is-visited):not(.is-selected) .da-structure i{animation:none}
.dds-tab-hidden .da-atlas *,.dds-tab-hidden .da-atlas *:before,.dds-tab-hidden .da-atlas *:after{animation-play-state:paused!important}

/* Exploration percentage stays within the existing destination card. */
.da-score{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 14px;margin:16px 0;padding-top:14px;border-top:1px solid #6b9bb333}
.da-score-value{font:700 48px/1 Arial,sans-serif;letter-spacing:-.06em;color:#b8edff;font-variant-numeric:tabular-nums;text-shadow:0 0 24px #50dcff22}
.da-score-copy small{display:block;font:8px/1.4 monospace;letter-spacing:.1em;color:#9bcad9;margin-bottom:5px}
.da-score-copy p{font:10px/1.5 Arial,sans-serif;color:#9eb6c9;margin:0}
.da-score-bar{grid-column:1 / -1;height:3px;border-radius:4px;background:#37556b66;overflow:hidden}
.da-score-bar>span{display:block;height:100%;background:linear-gradient(90deg,#2975ff,#7fe5d2);box-shadow:0 0 12px #50dcff88;transition:width 1.2s ease}
.is-fully-awake .da-score-value{color:#a5f3d4}
.da-completion .da-score-value{animation:da-score-complete 2s 2s ease both}
.da-completion .da-route-flow.is-awake{animation:da-complete-route 2.2s 2s ease-out both,da-signal 4s 4.2s linear infinite}
@keyframes da-score-complete{0%,100%{filter:brightness(1);text-shadow:0 0 24px #50dcff22}40%{filter:brightness(1.4);text-shadow:0 0 30px #7fe5d299}}
@keyframes da-complete-route{0%{stroke-dasharray:3 97;stroke-dashoffset:100;opacity:0}20%{opacity:1}85%{stroke-dasharray:12 88;stroke-dashoffset:0;opacity:1}100%{stroke-dasharray:3 97;stroke-dashoffset:0;opacity:.7}}
@media(min-width:768px) and (max-height:850px){
 .da-inspect{padding:16px}
 .da-inspect h3{font-size:22px!important;margin-bottom:8px!important}
 .da-description{font-size:12px;line-height:1.5;margin-bottom:8px}
 .da-connection{gap:3px 8px;margin-bottom:8px}
 .da-preview-step{font-size:8px}
 .da-score{margin:10px 0;padding-top:10px;gap:6px 12px}
 .da-score-value{font-size:44px}
 dialog.dds-world .da-travel{min-height:40px;padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){.da-score-bar>span{transition:none}.da-completion *{animation:none!important}}

.da-remaining{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #6b9bb326}
.da-remaining[hidden]{display:none!important}
.da-remaining>small{display:block;color:#92b6c9;font:8px/1.4 monospace;letter-spacing:.1em;margin-bottom:7px}
.da-remaining-list{display:flex;flex-wrap:wrap;gap:5px}
dialog.dds-world .da-remaining-world{font:9px/1.4 Arial,sans-serif;min-height:29px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--remaining-color) 35%,#203546);border-radius:4px;background:#0b1d2e;color:#bed2e1;box-shadow:none}
dialog.dds-world .da-remaining-world:hover{border-color:var(--remaining-color);color:#fff;background:color-mix(in srgb,var(--remaining-color) 12%,#0b1d2e)}
dialog.dds-world .da-remaining-world:focus-visible{outline:2px solid var(--remaining-color);outline-offset:2px}
@media(max-width:767px){dialog.dds-world .da-remaining-world{min-height:40px;padding:9px 10px;font-size:11px}}

/* All six local scores live on the existing world map. */
.da-scene-score{position:absolute;right:7px;top:6px;font:700 13px/1.2 Arial,sans-serif;letter-spacing:-.04em;color:#a4c4d9;background:#081726dd;padding:3px 5px;border-radius:4px;border:1px solid #35536a66;font-variant-numeric:tabular-nums}
.da-scene-score-rail{position:absolute;bottom:0;left:10px;right:10px;height:2px;overflow:hidden;background:#3a566b55;border-radius:3px}
.da-scene-score-rail i{display:block;height:100%;width:0;background:var(--node-color);box-shadow:0 0 8px var(--node-color);transition:width .8s}
.da-world.is-scene-complete .da-scene-score{color:#a5f3d4;border-color:#7fe5d266}
.da-world.is-selected .da-scene-score{color:var(--node-color)}
.da-world.is-current .da-beacon{font-size:8px}
@media(max-width:767px){
 .da-scene-score{right:2px;top:2px;font-size:11px;padding:2px 3px}
 .da-world.is-current .da-beacon{font-size:7px}
}

.da-layout{align-items:start}
