.observatory {
  --scene-line:rgba(180,202,187,.16);
  position:relative;
  isolation:isolate;
  min-height:750px;
  height:calc(100svh - 124px);
  max-height:1100px;
  margin:0 2.2% 50px;
  border:1px solid var(--scene-line);
  background:radial-gradient(ellipse at 67% 48%,#14333899,transparent 62%),#071b23;
  overflow:hidden;
  border-radius:3px;
}
.observatory:fullscreen { height:100svh;max-height:none;margin:0;border:0;border-radius:0; }
.observatory.atlas-expanded { position:fixed;inset:0;z-index:50;height:100svh;max-height:none;margin:0;border:0;min-height:0; }
.observatory:fullscreen .atlas-topbar { padding-top:25px; }
#living-atlas { position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab; }
#living-atlas:active { cursor:grabbing; }
.atlas-light { position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,#071b2388,transparent 42%),linear-gradient(0deg,#071b23 0%,transparent 13%,transparent 84%,#071b2377); }
.atlas-topbar,.atlas-subbar,.atlas-bottom-dock,.atlas-scene-caption { position:absolute;left:28px;right:28px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:20px; }
.atlas-topbar { top:22px;align-items:flex-start; }
.region-picker,.mode-picker { display:flex;gap:4px; }
.region-picker button { font-size:11px;padding:12px 15px;color:var(--mist);border:1px solid transparent;border-radius:2px;min-height:42px; }
.region-picker button[aria-pressed=true] { color:var(--gold);border-color:#d5b77555;background:#d5b77508; }
.region-picker button:hover { color:var(--bone); }
.atlas-search { position:relative;display:flex;align-items:center;gap:8px;width:290px;flex-shrink:0;background:#0b242dde;border:1px solid var(--scene-line);border-radius:3px; }
.atlas-search>span { font-family:var(--serif);font-size:24px;color:var(--gold);margin-left:12px; }
.atlas-search input { width:100%;min-width:0;padding:12px 11px 12px 0;background:none;border:0;outline-offset:3px;font:11px var(--sans);color:var(--bone); }
.atlas-search input::placeholder { color:#9ab0b1; }
#atlas-search-results { position:absolute;top:calc(100% + 8px);right:0;max-height:420px;overflow:auto;width:350px;max-width:84vw;padding:7px;background:#102b34;border:1px solid #526558;border-radius:3px;box-shadow:0 20px 55px #0006; }
#atlas-search-results button { width:100%;text-align:left;padding:12px 10px;display:flex;flex-direction:column;gap:5px;border-bottom:1px solid var(--line); }
#atlas-search-results button:hover,#atlas-search-results button:focus-visible { background:#d5b7750d; }
#atlas-search-results button span { font-family:var(--serif);font-size:21px; }
#atlas-search-results button small { color:var(--mist);font-size:9px;line-height:1.5; }
#atlas-search-results>p { padding:11px;font-size:10px;color:var(--mist); }
.atlas-subbar { top:80px;align-items:center; }
.mode-picker button { padding:7px 12px;font-size:9px;color:#91a7ab;border-bottom:1px solid transparent; }
.mode-picker button[aria-pressed=true] { color:var(--bone);border-color:var(--river); }
#atlas-coverage { font-size:9px;color:var(--mist);padding:8px 0; }
.atlas-breadcrumbs { display:flex;gap:5px;position:absolute;left:40px;right:40px;top:125px;z-index:5;overflow-x:auto;white-space:nowrap;max-width:calc(100% - 80px);scrollbar-width:thin; }
.atlas-breadcrumbs:empty { display:none; }
.atlas-breadcrumbs button { padding:8px 4px;font-size:9px;color:var(--mist); }
.atlas-breadcrumbs button:last-child { color:var(--gold); }
.atlas-breadcrumbs span { font-size:10px;color:#6e8a8e;align-self:center; }
.atlas-prologue,.atlas-inspector { position:absolute;left:4.5%;top:21%;z-index:4;width:29%;max-width:380px;pointer-events:none; }
.atlas-prologue button,.atlas-inspector button,.atlas-inspector a { pointer-events:auto; }
.atlas-kicker { font-size:9px;letter-spacing:1.5px;color:var(--gold);display:flex;align-items:center;gap:12px; }
.atlas-kicker span { height:1px;width:26px;background:var(--gold); }
.atlas-prologue h1 { font-size:clamp(55px,5.5vw,88px);line-height:.96;letter-spacing:-2.5px;margin:22px 0 22px; }
.atlas-prologue>p:not(.atlas-kicker):not(.atlas-scope-line) { font-size:11px;color:var(--mist);line-height:1.9; }
.atlas-invitation { margin-top:28px;display:flex;gap:30px;align-items:center;padding:12px 0;border-bottom:1px solid #d5b77566;font-size:11px;color:var(--gold); }
.atlas-invitation span { font-size:21px; }
.atlas-tours { margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;column-gap:26px; }
.atlas-tours>p { flex-basis:100%;margin:0 0 2px;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#8da6a7; }
.atlas-tours .atlas-invitation { margin-top:6px;gap:14px; }
.atlas-scope-line { font-size:9px;line-height:1.9;color:#8da6a7;margin-top:18px;max-width:260px; }
.atlas-inspector { top:25%; }
.atlas-inspector .node-status { font-size:9px;color:var(--river);letter-spacing:.3px; }
.atlas-inspector h2 { font-size:clamp(37px,3.6vw,58px);line-height:1.05;letter-spacing:-1px;margin:15px 0 17px;overflow-wrap:anywhere; }
.atlas-inspector h3 { font-size:23px;line-height:1.2;margin:23px 0 12px;color:var(--gold); }
.atlas-inspector p { font-size:11px;line-height:1.8;color:var(--mist); }
.atlas-inspector .node-count { font-size:10px;color:var(--bone);margin:12px 0; }
.atlas-inspector .node-note { font-size:9px;line-height:1.7;padding-left:12px;border-left:1px solid #d5b77566;margin-top:16px;color:#bdc6ad; }
.atlas-inspector .node-source { display:inline-block;font-size:9px;color:var(--gold);margin-top:18px;border-bottom:1px solid #d5b77555;padding-bottom:5px; }
.atlas-inspector .node-back { display:block;font-size:10px;color:var(--gold);margin-top:16px;padding:10px 0; }
.atlas-labels { position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden; }
.atlas-label { position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-size:10px;font-weight:400;line-height:1.4;white-space:nowrap;pointer-events:auto;padding:12px 9px 12px 27px;color:#c6d8cd;text-shadow:0 2px 5px #071b23,0 0 9px #071b23;transition:color .2s;will-change:left,top; }
.atlas-label:before { content:'';width:28px;height:28px;border:1px solid transparent;border-radius:50%;position:absolute;left:-14px;top:50%;transform:translateY(-50%); }
.atlas-label:hover,.atlas-label:focus-visible { color:#fff0bd;z-index:3;background:#09202b99;border-radius:2px; }
.atlas-label:hover:before,.atlas-label:focus-visible:before { border-color:#d5b77566; }
.atlas-label small { display:block;font-size:8px;letter-spacing:.2px;color:#8eaaa8; }
.atlas-label.is-current { color:var(--gold);font-family:var(--serif);font-size:22px;pointer-events:none; }
.atlas-label.is-emphasis { color:#e7d6a5;font-size:12px; }
.atlas-label.is-dim { opacity:.7; }
.atlas-bottom-dock { bottom:52px;gap:15px; }
.atlas-view-controls,.atlas-sensory-controls { display:flex;gap:1px;align-items:center;background:#0a232bbb;backdrop-filter:blur(10px);border:1px solid var(--scene-line);border-radius:3px; }
.atlas-view-controls button { min-width:39px;height:39px;font-size:21px; }
.atlas-view-controls button:disabled { opacity:.25; }
#atlas-back { font-size:18px;display:flex;align-items:center;gap:7px;padding:0 11px; }
#atlas-back span { font:9px var(--sans); }
.dock-divider { width:1px;height:18px;background:var(--line);margin:0 4px; }
.atlas-sensory-controls button { font-size:9px;padding:0 13px;height:39px;white-space:nowrap; }
#atlas-fullscreen { font-size:23px;min-width:39px;padding:0 8px;border-left:1px solid var(--line); }
#atlas-fullscreen svg { width:18px;height:18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.4; }
#atlas-directory { font-size:10px;color:var(--gold);padding:13px 8px; }
.atlas-scene-caption { bottom:19px;font-size:8px;color:#8da5aa; }
.atlas-loading { position:absolute;inset:160px 20px 120px;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#071b23dd; }
.atlas-loading span { width:50px;height:50px;border:1px solid #d5b77533;border-top-color:var(--gold);border-radius:50%;animation:atlasSpin 2s linear infinite; }
.atlas-loading p { font-size:12px;color:var(--mist); }
.atlas-loading button { color:var(--gold);padding:12px 18px;border:1px solid var(--gold);font-size:11px; }
.atlas-loading[hidden],.atlas-prologue[hidden],.atlas-inspector[hidden],.atlas-tour-panel[hidden] { display:none; }
.atlas-tour-panel { position:absolute;z-index:5;left:38%;right:3%;bottom:120px;display:flex;align-items:center;gap:20px;padding:19px 22px;background:#0b242eea;border:1px solid #b7b17b44;backdrop-filter:blur(16px);border-radius:3px; }
.atlas-tour-panel>div:first-child { flex:1; }
#atlas-tour-step { font-size:8px;color:var(--gold);letter-spacing:1px; }
.atlas-tour-panel h2 { font-size:26px;line-height:1.1;margin:7px 0; }
.atlas-tour-panel p { font-size:10px;color:var(--mist);line-height:1.7; }
.tour-controls { display:flex;gap:8px;align-items:center; }
.tour-controls button { border:1px solid var(--line);padding:10px;min-width:32px;font-size:10px; }
.tour-controls button:disabled { opacity:.3; }
#atlas-tour-close { border:0;font-size:20px; }
.catalogue-search-label { display:block;font-size:11px;color:var(--mist);margin:20px 0 8px; }
#directory-filter { width:100%;padding:13px;background:var(--abyss);border:1px solid var(--line);color:var(--bone);font:12px var(--sans); }
.catalogue-entry { display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;text-align:left;border-bottom:1px solid var(--line); }
.catalogue-entry span { font-family:var(--serif);font-size:24px; }
.catalogue-entry small { font-size:9px;color:var(--mist);max-width:160px;text-align:right; }
.catalogue-more { width:100%;padding:18px;color:var(--gold);font-size:11px; }
.branch-study { margin-top:60px; }
.branch-study-title { font-size:clamp(84px,8vw,133px);line-height:.86;letter-spacing:-4.3px;margin-top:30px; }
.branch-study .tree-path { animation:branchBreathe 7s ease-in-out infinite alternate; }
@keyframes atlasSpin { to { transform:rotate(360deg); } }
@keyframes branchBreathe { from { filter:brightness(.9); } to { filter:brightness(1.15); } }
@media(max-width:1100px) {
  .atlas-topbar,.atlas-subbar,.atlas-bottom-dock,.atlas-scene-caption { left:18px;right:18px; }
  .region-picker button { padding:11px 10px;font-size:10px; }
  .atlas-search { width:245px; }
  .atlas-prologue,.atlas-inspector { left:3.5%;width:31%; }
  .atlas-prologue h1 { font-size:62px; }
  .atlas-tour-panel { left:36%;padding:16px;flex-direction:column;align-items:start;gap:12px; }
  .tour-controls { width:100%; }
  #atlas-tour-next { flex:1; }
  .atlas-sensory-controls button { padding:0 8px; }
}
@media(max-width:700px) {
  .observatory { height:940px;min-height:940px;max-height:none;margin:0 0 35px;border-left:0;border-right:0;border-radius:0; }
  .observatory:fullscreen { height:100svh;min-height:700px; }
  .atlas-topbar { top:14px;display:flex;flex-direction:column-reverse;gap:12px; }
  .atlas-search { width:100%; }
  .atlas-search input { padding:13px 10px 13px 0;font-size:11px; }
  #atlas-search-results { width:100%;max-width:none; }
  .region-picker { width:100%;justify-content:space-between; }
  .region-picker button { flex:1;padding:10px 6px;font-size:10px; }
  .atlas-subbar { top:121px;gap:10px; }
  .mode-picker button { font-size:9px;padding:9px 10px; }
  #atlas-coverage { font-size:8px; }
  .atlas-breadcrumbs { top:160px;left:18px;right:18px;max-width:calc(100% - 36px); }
  .atlas-prologue { top:194px;left:7%;width:86%;max-width:none; }
  .atlas-tours { margin-top:6px;column-gap:20px; }
  .atlas-tours>p { display:none; }
  .atlas-kicker { font-size:8px; }
  .atlas-prologue h1 { font-size:50px;letter-spacing:-1.6px;line-height:.95;margin:16px 0 14px; }
  .atlas-prologue h1 br { display:none; }
  .atlas-prologue>p:not(.atlas-kicker):not(.atlas-scope-line) { font-size:10px;max-width:250px; }
  .atlas-prologue>p br { display:none; }
  .atlas-invitation { font-size:10px;margin-top:10px;padding:8px 0;gap:20px; }
  .atlas-scope-line { display:none; }
  .atlas-inspector { top:196px;left:7%;width:86%;max-width:none;max-height:200px;overflow:auto;pointer-events:auto;padding-right:10px;scrollbar-width:thin; }
  .atlas-inspector h2 { font-size:35px;margin:9px 0 10px;letter-spacing:-.5px; }
  .atlas-inspector h3 { font-size:21px;margin-top:13px; }
  .atlas-inspector p { font-size:10px;line-height:1.65; }
  .atlas-inspector .node-note { font-size:9px;margin-top:10px; }
  .atlas-inspector .node-source { margin-top:10px;font-size:9px; }
  .atlas-inspector .node-count { font-size:9px;margin:8px 0; }
  .atlas-light { background:linear-gradient(0deg,#071b23 0%,transparent 18%,transparent 55%,#071b23bb 68%,#071b2377); }
  .atlas-label { font-size:10px;padding:12px 5px 12px 15px; }
  .atlas-label small { font-size:8px; }
  .atlas-label.is-emphasis { font-size:11px; }
  .atlas-label.is-current { font-size:20px; }
  .atlas-bottom-dock { bottom:47px;flex-wrap:wrap;gap:12px 10px; }
  .atlas-view-controls { order:1; }
  #atlas-directory { order:2;font-size:10px;padding:12px 2px; }
  .atlas-sensory-controls { order:3;width:100%;justify-content:space-between; }
  .atlas-sensory-controls button { height:36px;padding:0 15px;font-size:9px; }
  .atlas-view-controls button { min-width:34px; }
  .atlas-scene-caption { bottom:16px;font-size:7px;align-items:start;gap:12px; }
  .atlas-scene-caption span { max-width:55%; }
  .atlas-scene-caption span:last-child { text-align:right; }
  .atlas-tour-panel { left:5%;right:5%;bottom:157px;padding:13px 15px;gap:10px; }
  .atlas-tour-panel h2 { font-size:23px; }
  .atlas-tour-panel p { font-size:9px;line-height:1.6; }
  .atlas-tour-panel .tour-controls button { padding:8px; }
  .observatory.in-tour .atlas-inspector { max-height:155px; }
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-inspector { max-height:82px; }
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-inspector h2 { font-size:29px; }
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-inspector h3,
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-inspector p { display:none; }
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-prologue { top:184px; }
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-prologue h1 { font-size:38px;line-height:1;margin:12px 0; }
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-prologue>p:not(.atlas-kicker) { display:none; }
  .observatory:is(:fullscreen,.atlas-expanded) .atlas-invitation { margin-top:0; }
  .branch-study { margin-top:15px; }
  .branch-study-title { font-size:85px;letter-spacing:-3px; }
}
@media(max-width:370px) {
  .atlas-prologue h1 { font-size:43px; }
  .region-picker button { font-size:9px;padding:10px 3px; }
  #atlas-directory { font-size:9px; }
  #atlas-back span { display:none; }
}
@media(prefers-reduced-motion:reduce) { .atlas-label { transition:none; } }
