/* Shared overview only; the individual Passport retains its original composition. */
.atlas-fullscreen{display:flex;align-items:center;gap:var(--s2);min-height:44px;flex-shrink:0;padding:var(--s2) var(--s3);background:color-mix(in srgb,var(--atlas-ink) 5%,transparent);border:1px solid color-mix(in srgb,var(--atlas-ink) 20%,transparent);color:var(--atlas-ink);font:var(--text-xs) var(--mono);cursor:pointer}
.atlas-fullscreen:focus-visible{outline:2px solid var(--atlas-brand);outline-offset:3px}
.atlas-world-caption{position:absolute;inset-block-start:var(--s6);inset-inline-start:var(--s6);z-index:4;display:flex;flex-direction:column;gap:var(--s2);pointer-events:none;color:var(--atlas-ink);max-width:calc(100% - 48px)}
.atlas-world-caption__label{font:var(--text-xs) var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--atlas-muted)}
.atlas-world-caption strong{font-size:clamp(var(--text-md),2vw,var(--text-xl));font-weight:var(--w-regular);line-height:1.15;letter-spacing:-.03em}
.atlas-world-caption>span:last-child{font-size:var(--text-xs);color:var(--atlas-muted)}
.atlas-zoom{position:absolute;right:var(--s6);bottom:calc(var(--s10) + 54px);display:flex;flex-direction:column;z-index:4;background:var(--atlas-panel);border:1px solid color-mix(in srgb,var(--atlas-ink) 18%,transparent)}
.atlas-zoom button{display:grid;place-items:center;width:42px;height:42px;border:0;background:transparent;color:var(--atlas-ink);font-size:var(--text-md);cursor:pointer}
.atlas-zoom button+button{border-top:1px solid color-mix(in srgb,var(--atlas-ink) 12%,transparent)}
.atlas-zoom button:disabled{opacity:.4;cursor:default}
.atlas-zoom button:focus-visible{outline:2px solid var(--atlas-brand);outline-offset:2px}
@media(hover:hover){.atlas-zoom button:hover{background:color-mix(in srgb,var(--atlas-brand) 15%,transparent)}}
.passport-atlas[data-overview][data-expanded="true"]{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;min-height:0!important;z-index:1000!important;overflow:hidden!important;border:0!important;background:var(--atlas-surface)}
.passport-atlas[data-expanded="true"] .passport-atlas__body{min-height:0;flex:1;overflow:auto!important}
.passport-atlas[data-overview] .passport-atlas__world{background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--atlas-brand) 7%,var(--atlas-void)),var(--atlas-void) 75%)}
.passport-atlas[data-overview] .passport-atlas__header{background:var(--atlas-panel)}
.passport-atlas[data-overview] .atlas-roster__row,.atlas-fullscreen{transition:background-color 150ms}
@media(prefers-reduced-motion:no-preference){.atlas-fullscreen:active{transform:scale(.96)}}
.passport-atlas[data-overview] .passport-atlas__sidebar{width:320px;padding:0;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--atlas-brand) transparent}
.passport-atlas[data-overview] .passport-atlas__header{padding:var(--s4) var(--s6)}
.passport-atlas[data-overview] .passport-atlas__title p{font-size:var(--text-xs);letter-spacing:.08em}
.passport-atlas[data-overview] .passport-atlas__stars{opacity:.4;animation:none!important}
.passport-atlas[data-overview] .passport-atlas__flare,.passport-atlas[data-overview] .passport-atlas__shoot{display:block;pointer-events:none}
.passport-atlas[data-overview] .passport-atlas__instruction{left:var(--s6);right:auto;bottom:var(--s4);font-size:var(--text-xs);letter-spacing:.04em}
.passport-atlas[data-overview] .passport-atlas__legend{left:var(--s6);bottom:var(--s12);gap:var(--s4);flex-wrap:wrap;max-width:calc(100% - 100px)}
.passport-atlas[data-overview] .passport-atlas__legend>div{font-size:var(--text-xs)}
.passport-atlas[data-overview] .passport-atlas__spin{bottom:var(--s10);width:44px;height:44px}
.atlas-selection{padding:var(--s5);flex-shrink:0;border-bottom:1px solid color-mix(in srgb,var(--atlas-ink) 12%,transparent)}
/* Approved light palette remains legible even inside the dark atlas. */
.atlas-selection[data-selected]{--atlas-ink:var(--color-brand-on);--atlas-muted:var(--color-reference-muted);--atlas-brand:var(--color-brand-rule);color:var(--atlas-ink);background:var(--color-surface);color-scheme:light}
.atlas-selection__eyebrow{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);font-family:var(--mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--atlas-muted);margin-bottom:var(--s4)}
.atlas-selection__eyebrow button{color:var(--atlas-ink);background:transparent;border:0;min-height:32px;padding:0;cursor:pointer;font:inherit;text-transform:none;letter-spacing:0}
.atlas-selection__identity{display:flex;gap:var(--s4);align-items:center}
.atlas-selection__identity img{width:64px;height:80px;object-fit:cover;border:1px solid color-mix(in srgb,var(--atlas-ink) 15%,transparent)}
.atlas-selection h3{margin:0;font-size:var(--text-lg);font-weight:var(--w-regular);line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}
.atlas-selection>p,.atlas-roster__note{font-size:var(--text-xs);line-height:1.55;color:var(--atlas-muted);margin:var(--s3) 0 0}
.atlas-roster__status{display:block;margin-top:var(--s2);font:var(--text-xs) var(--mono);color:var(--atlas-muted)}
.atlas-selection__places{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin:var(--s5) 0}
.atlas-selection__places dt{display:flex;align-items:center;gap:var(--s2);color:var(--atlas-muted);font:var(--text-xs) var(--mono);margin-bottom:var(--s2)}
.atlas-selection__places dd{margin:0;font-size:var(--text-xs);line-height:1.45;overflow-wrap:anywhere}
.atlas-selection__places small{display:block;color:var(--atlas-muted);font-size:var(--text-xs)}
.atlas-selection__profile{display:flex;align-items:center;justify-content:space-between;padding:var(--s3) var(--s4);min-height:44px;border:1px solid color-mix(in srgb,var(--atlas-brand) 50%,transparent);color:var(--atlas-ink);background:color-mix(in srgb,var(--atlas-brand) 10%,transparent);text-decoration:none;font-size:var(--text-xs)}
.atlas-roster__search{padding:var(--s4) var(--s5);flex-shrink:0}
.atlas-roster__search label{display:flex;justify-content:space-between;gap:var(--s3);font:var(--text-xs) var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s3);color:var(--atlas-muted)}
.atlas-roster__search input{box-sizing:border-box;width:100%;min-height:44px;font:inherit;font-size:var(--text-base);color:var(--atlas-ink);background:color-mix(in srgb,var(--atlas-ink) 4%,transparent);border:1px solid color-mix(in srgb,var(--atlas-ink) 16%,transparent);border-radius:0;padding:var(--s2) var(--s3)}
.atlas-roster__search input::placeholder{color:var(--atlas-muted);font-size:var(--text-xs)}
.atlas-roster__list{min-height:100px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--atlas-brand) transparent;flex:1;padding:0 var(--s3) var(--s3)}
.atlas-roster__row{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:64px;text-align:start;padding:var(--s2);border:1px solid transparent;color:var(--atlas-ink);background:transparent;cursor:pointer}
.atlas-roster__row img,.atlas-roster__missing{width:36px;height:44px;flex-shrink:0;object-fit:cover;background:color-mix(in srgb,var(--atlas-ink) 8%,transparent)}
.atlas-roster__row>span:nth-child(2){min-width:0;flex:1}
.atlas-roster__row strong{display:block;font-size:var(--text-xs);font-weight:var(--w-medium);line-height:1.3;overflow-wrap:anywhere}
.atlas-roster__row small{display:block;font-size:var(--text-xs);line-height:1.4;color:var(--atlas-muted);margin-top:var(--s1)}
.atlas-roster__check{font-size:var(--text-xs);flex-shrink:0}
.atlas-roster__row[aria-pressed="true"]{background:color-mix(in srgb,var(--atlas-brand) 12%,transparent);border-color:color-mix(in srgb,var(--atlas-brand) 40%,transparent)}
.atlas-marker{pointer-events:auto!important;display:grid;place-items:center;box-sizing:border-box;width:32px;height:32px;padding:var(--space-2);border:0;border-radius:var(--radius-control);background:transparent;cursor:pointer;color:var(--atlas-void)}
.atlas-marker .passport-atlas__beacon-dot{width:5px;height:5px;border:0;box-shadow:none;animation:none!important}
.atlas-marker[aria-pressed="true"] .passport-atlas__beacon-dot{outline:0;box-shadow:0 0 6px var(--atlas-brand)}
.atlas-marker:focus-visible,.atlas-roster__row:focus-visible,.atlas-roster__search input:focus-visible,.atlas-selection a:focus-visible,.atlas-selection button:focus-visible{outline:2px solid var(--atlas-brand);outline-offset:2px}
@media(hover:hover){.atlas-roster__row:hover,.atlas-selection a:hover{background:color-mix(in srgb,var(--atlas-brand) 16%,transparent)}}
@media(max-width:700px){
 .atlas-fullscreen span{display:none}
 .atlas-fullscreen{width:44px;justify-content:center}
 .passport-atlas[data-overview] .passport-atlas__body{display:flex;flex-direction:column;overflow:auto}
 .passport-atlas[data-overview] .passport-atlas__world{flex:none;min-height:380px;height:52dvh}
 .passport-atlas[data-overview] .passport-atlas__sidebar{width:100%;flex:none;overflow:visible;border-inline-start:0}
 .passport-atlas[data-overview] .atlas-roster__list{flex:none;max-height:280px}
 .passport-atlas[data-overview] .passport-atlas__instruction{font-size:var(--text-xs);left:var(--s4)}
 .passport-atlas[data-overview] .passport-atlas__header{padding:var(--s4)}
 .atlas-marker{width:44px;height:44px;padding:var(--space-3)}
}

@media(prefers-reduced-motion:no-preference){.passport-atlas[data-overview] .passport-atlas__stars{animation:atlas-star-drift 24s ease-in-out infinite alternate!important}@keyframes atlas-star-drift{from{transform:translate3d(-1%,-1%,0)}to{transform:translate3d(3%,4%,0)}}}

@media(prefers-reduced-motion:reduce){.passport-atlas[data-overview] .passport-atlas__stars,.passport-atlas[data-overview] .passport-atlas__stars::after{animation:none!important}}

/* The star field is spatial WebGL; the native flares add rare, quiet accents. */
.passport-atlas[data-overview] .passport-atlas__stars{display:none}
.passport-atlas[data-overview] .passport-atlas__world{background:radial-gradient(ellipse at 48% 48%,color-mix(in srgb,var(--atlas-brand) 15%,var(--atlas-void)),var(--atlas-void) 72%)}
.passport-atlas[data-overview] .passport-atlas__globe:focus-visible{outline:1px solid var(--atlas-brand);outline-offset:-3px}
.atlas-marker[data-preview="true"] .passport-atlas__beacon-dot{outline:1px solid color-mix(in srgb,var(--atlas-brand) 40%,transparent);outline-offset:6px}
.atlas-marker[data-filtered="true"]{opacity:.12;pointer-events:none!important}
.atlas-marker[aria-pressed="true"] .passport-atlas__beacon-dot{box-shadow:0 0 6px var(--atlas-brand)}
.atlas-scene-actions{position:absolute;top:var(--s6);right:var(--s6);z-index:5;display:flex;gap:var(--s2);flex-wrap:wrap;max-width:55%;justify-content:flex-end}
.passport-atlas[data-overview] .passport-atlas__world[data-motion="off"] .passport-atlas__flare,.passport-atlas[data-overview] .passport-atlas__world[data-motion="off"] .passport-atlas__shoot{animation-play-state:paused!important;opacity:0}
.passport-atlas[data-overview] .atlas-world-caption{max-width:45%}
.passport-atlas[data-overview] .passport-atlas__legend{flex-direction:row;gap:var(--s3);padding:var(--s2) var(--s3);border-radius:0;max-width:calc(100% - 110px)}
.passport-atlas[data-overview] .passport-atlas__legend>div{font-size:var(--text-xs);gap:var(--s2)}
.atlas-roster__filter-heading{display:flex;justify-content:space-between;align-items:center;min-height:24px;color:var(--atlas-muted);font:var(--text-xs) var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--s2)}
.atlas-roster__filter-heading button{background:none;border:0;padding:var(--s2);color:var(--atlas-ink);font:inherit;cursor:pointer}
.atlas-roster__search select{box-sizing:border-box;width:100%;min-height:44px;padding:var(--s2) var(--s3);margin-bottom:var(--s2);color:var(--atlas-ink);background:var(--atlas-surface);border:1px solid color-mix(in srgb,var(--atlas-ink) 20%,transparent);font:var(--text-xs) var(--sans);border-radius:0;color-scheme:dark}
:root[data-theme="light"] .atlas-roster__search select{color-scheme:light}
.atlas-roster__search select:focus-visible,.atlas-roster__filter-heading button:focus-visible{outline:2px solid var(--atlas-brand);outline-offset:2px}
@media(max-width:700px){.atlas-scene-actions{top:var(--s4);right:var(--s4);max-width:44%;gap:var(--s1)}.passport-atlas[data-overview] .atlas-world-caption{left:var(--s4);top:var(--s4);max-width:49%}}
