/* Names are content, not hover hints. The small light sits inside a 48px target. */
.destination{min-width:48px;min-height:48px;touch-action:manipulation}
.destination.region{width:clamp(70px,9vw,120px);height:70px}
.destination.brand{width:48px;height:48px;min-width:48px;min-height:48px}
.destination .label,.destination.brand .label{opacity:1;pointer-events:auto;max-width:130px;font-size:11px;line-height:1.35;color:#eee9e3;background:#060812c9;padding:5px 8px;border-radius:5px;text-shadow:0 1px 4px #000}
.destination .label .kid-point-label{display:block;font-size:9px;line-height:1.4;color:#d5c7e4;margin-top:3px}.destination.sealed .label{color:#c9c7ce}
.destination .point,.destination.world .point{width:7px;height:7px;background:var(--color);box-shadow:0 0 8px 2px color-mix(in srgb,var(--color) 55%,transparent),0 0 24px color-mix(in srgb,var(--color) 25%,transparent)}
.destination.brand .point{width:15px;height:15px;background:radial-gradient(circle at 29% 25%,#ffffffb5,var(--color) 35%,#070a14 85%)}
.destination.wormhole .point{width:20px;height:12px}
.destination.is-unvisited:not(.wormhole) .point{animation:pin-breathe 3.8s ease-in-out infinite}
.destination.is-visited .point{animation:none;opacity:1;box-shadow:0 0 9px 2px color-mix(in srgb,var(--color) 65%,transparent)}
.destination.is-current .point,.destination.is-selected .point{outline:1px solid #eee4d0;outline-offset:7px}
.destination.is-current .label{border-bottom:1px solid #e5d4b9}.destination.is-selected .label{border:1px solid #d7c6e2}
.destination:focus-visible{outline:2px solid #e8d5b5;outline-offset:3px;z-index:4}
@keyframes pin-breathe{0%,100%{opacity:.75;box-shadow:0 0 8px 2px color-mix(in srgb,var(--color) 45%,transparent)}50%{opacity:1;box-shadow:0 0 18px 4px color-mix(in srgb,var(--color) 55%,transparent)}}
/* Photographic focus; reduced motion retains the same destination and content. */
#photograph{transition:opacity .25s,scale .5s;transform-origin:var(--flight-x,50%) var(--flight-y,50%)}
#photograph.is-traveling{opacity:.45;scale:1.035}
#photograph img.arrive-focus{animation:map-focus-in .65s ease-out both}
@keyframes map-focus-in{from{opacity:.2;scale:1.06}to{opacity:1;scale:1}}
#universe.first-arrival::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;animation:arrival-color 2.2s ease-out both}
@keyframes arrival-color{0%{box-shadow:inset 0 0 75px color-mix(in srgb,var(--arrival-color,#bdacdc) 20%,transparent)}100%{box-shadow:inset 0 0 30px transparent}}
/* Travel text stays in the caption flow, away from the quiet progress display. */
.scene-caption{bottom:125px}#scene-title:focus{outline:none}
.arrival-note{font-size:12px!important;line-height:1.6;color:#e2c9e7!important;margin:12px 0 0!important;max-width:410px!important}
.current-location{font:10px/1.5 Arial,sans-serif;color:#d9cbb9;letter-spacing:.04em;margin:7px 0}
.current-location::before{content:'';display:inline-block;width:7px;height:7px;border:1px solid #dfd2bc;border-radius:50%;margin-right:8px}
.scene-caption .travel-actions{display:flex;gap:8px;flex-wrap:wrap;pointer-events:auto;margin-top:12px}
.scene-caption .travel-actions button{margin-top:0;max-width:100%}
.scene-caption #status{position:static;transform:none;max-width:380px;font-size:11px;padding:0;margin:8px 0;line-height:1.6;background:none;text-align:left;color:#e7d5ea}
.scene-caption #retry{position:static;transform:none}
.map-footer .controls{flex-wrap:wrap}.map-quiet-status{bottom:70px}.map-quiet-status .journey-notice:empty{display:none}
.map-panels summary>.expedition-label{margin:0;color:#e7e5e1;font-size:12px}
.expedition-label .nearby-note{display:block;max-width:230px;font-size:10px;line-height:1.5;color:#b7abc3;margin:5px 0 0}
.expedition-label .nearby-note[hidden],.nearby-compact{display:none}
/* Plain HTML directory; its small search module loads independently. */
.index-search{display:grid;gap:7px;margin:12px 0}.index-search label{font-size:11px;color:#c6bdce}
.index-search input{min-height:44px;width:100%;padding:10px 12px;color:#f2eaf6;background:#17121e;border:1px solid #ffffff35;border-radius:6px;font:13px Arial,sans-serif}
.index-count{font-size:11px;color:#c2b3d0;margin:8px 0}.index-galaxy{padding:13px 0;border-top:1px solid #ffffff25}
.index-galaxy h3{font:18px/1.4 Georgia,serif;margin:3px 0 7px}.index-galaxy h3>a{display:inline-flex;align-items:center;min-height:44px;color:#e9dceb;text-underline-offset:4px}
.index-galaxy>p{font-size:11px;color:#b9b6c5;line-height:1.6;margin:0 0 8px}
.map-panels .index-galaxy>details{border:0;border-radius:0;background:none;backdrop-filter:none}.index-galaxy summary{padding:9px 0!important;font-size:11px!important;justify-content:flex-start!important}
.index-places{list-style:none;padding:0;margin:0}.index-places li{padding:9px 0;border-top:1px solid #ffffff12}
.index-places .place-link{display:flex;gap:7px;align-items:center;min-height:44px;font-size:12px;line-height:1.5;text-decoration:none;color:#e6dfe9}
.index-places .place-link::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--color,#c4a3ef);flex:none}
.index-places .place-link[aria-current=location]{text-decoration:underline;text-underline-offset:5px}
.place-state{display:block;font-size:10px;color:#b7acc4}.place-story{font-size:10px;color:#b5b2bf;display:inline-block;padding:6px 0;min-height:32px}
.index-galaxy[hidden],.index-places li[hidden]{display:none!important}.index-search-empty{font-size:12px;color:#cbbcd8;padding:12px 0}
body:has(.no-script) .scene-caption{display:none}body:has(.no-script) .map-quiet-status{bottom:90px;max-width:calc(100vw - 64px)}
/* A readable, scrollable constellation on compact screens. Every name remains text. */
@media(max-width:1000px){
 body[data-stage=galaxy] #destinations,body[data-stage=overview] #destinations{inset:205px 20px 375px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;align-content:start;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y}
 body[data-stage=galaxy] .destination,body[data-stage=overview] .destination{position:relative;left:auto!important;top:auto!important;transform:none;width:auto;height:auto;min-height:48px;min-width:0;justify-content:flex-start;gap:10px;padding:7px 8px;background:#060812b8;border-radius:6px}
 body[data-stage=galaxy] .destination .label,body[data-stage=overview] .destination .label{position:static;transform:none;max-width:none;width:auto;text-align:left;background:none;padding:0;font-size:11px;overflow-wrap:anywhere}
 body[data-stage=galaxy] .destination .point,body[data-stage=overview] .destination .point{flex:none}
 body[data-stage=galaxy] .destination::before,body[data-stage=overview] .destination::before{display:none}body[data-stage=galaxy] #galaxy-route{display:none}
 .map-panels{top:150px;left:20px;right:20px;width:auto;max-height:calc(100dvh - 300px);z-index:7}
 .map-panels:not(:has(details[open])){display:flex;gap:6px;overflow:visible;align-items:flex-start}.map-panels:not(:has(details[open]))>details{flex:1;min-width:0}
 .map-panels summary{gap:5px;padding:10px 12px;font-size:10px;min-height:44px}.map-panels summary>.expedition-label{font-size:10px;white-space:nowrap}
 .map-panels summary>#orientation-level-summary{white-space:nowrap;font-size:9px}.expedition-label .nearby-note{display:none!important}
 .scene-caption,body[data-stage=overview] .scene-caption,body[data-stage=galaxy] .scene-caption{bottom:195px;max-width:calc(100vw - 40px)}
 .scene-caption>p:not(.arrival-note):not(.current-location),.scene-caption .eyebrow{display:none}.scene-caption h2{font-size:24px}
 .scene-caption .travel-actions .glass{font-size:10px;padding:9px 12px}.arrival-note{font-size:10px!important}.current-location{font-size:9px}
 .scene-caption #status{font-size:10px;max-width:340px}.map-footer{left:20px;right:20px}
 .map-quiet-status{bottom:115px}.map-quiet-status .nearby-compact{display:block;font-size:10px;color:#c8bbd4;line-height:1.5;margin:4px 0 0}.map-quiet-status .nearby-compact[hidden]{display:none}
}
@media(max-width:1000px) and (max-height:740px){
 body[data-stage=galaxy] #destinations,body[data-stage=overview] #destinations{bottom:320px}
 .scene-caption,body[data-stage=overview] .scene-caption,body[data-stage=galaxy] .scene-caption{bottom:190px}
 .scene-caption h2{font-size:20px;margin-bottom:0}.scene-caption button{margin-top:7px}.scene-caption .travel-actions{margin-top:6px}
 .map-footer{bottom:15px}.map-footer .controls .glass{min-height:44px;padding:8px 10px}
 .scene-caption .arrival-note{max-width:300px!important}
}
@media(prefers-reduced-motion:reduce){.destination .point,#photograph img.arrive-focus,#universe.first-arrival::after{animation:none!important}#photograph{transition:none;scale:1!important}}

#current-location:not([hidden]){display:block}.map-panels summary>strong{font-weight:400;font-size:inherit}
