/* Identity and primary navigation remain visible during every optical transition. */
body.observatory-active .identity{opacity:1;isolation:isolate;}
body.observatory-active .identity h1{text-shadow:0 2px 6px rgba(3,12,18,.42),0 8px 36px rgba(3,12,18,.26);}
.observatory-ui[data-phase="travel"] .observatory-dock{visibility:hidden;}

.observatory-ui{position:fixed;inset:0;z-index:24;pointer-events:none;color:#eeeade;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
.observatory-ui[hidden],.observatory-ui [hidden],.telescope-views[hidden],#world-observatory-return[hidden]{display:none!important;}
.observatory-ui button,.observatory-ui select,.observatory-ui input{pointer-events:auto;min-height:44px;font:inherit;color:inherit;cursor:pointer;border:1px solid rgba(210,191,145,.28);background:rgba(12,25,30,.82);backdrop-filter:blur(12px);}
.observatory-ui button:focus-visible,.observatory-ui select:focus-visible,.observatory-ui input:focus-visible,.observatory-ui summary:focus-visible,.notebook-entry button:focus-visible{outline:2px solid #e4c998;outline-offset:3px;}
.observatory-ui button:hover,.observatory-ui select:hover{border-color:#b9a777;background-color:rgba(40,50,45,.94);}
.observatory-ui button:disabled{opacity:.5;cursor:default;}
.observatory-ui__heading{position:absolute;top:max(5.4rem,calc(env(safe-area-inset-top) + 4.5rem));left:2.4rem;right:2.4rem;display:flex;align-items:flex-start;gap:1.35rem;}
.observatory-back{display:flex;align-items:center;gap:.8rem;border-radius:999px;padding:.65rem 1.05rem;font-size:.58rem!important;letter-spacing:.12em;white-space:nowrap;flex:none;}
.observatory-back>span{font-size:1.1rem;line-height:1;}
.observatory-ui__identity{padding-top:.15rem;min-width:0;max-width:600px;text-shadow:0 1px 12px #04121a;}
.observatory-eyebrow{margin:0 0 .4rem;color:#c8bc98;font-size:.48rem;letter-spacing:.19em;}
.observatory-title{margin:0;font-size:1.2rem;font-weight:350;line-height:1.2;letter-spacing:-.02em;}
.observatory-status{margin:.5rem 0 0;font-size:.66rem;line-height:1.5;max-width:580px;color:#ccd4cd;}
.observatory-status:empty{display:none;}
.observatory-badges{display:flex;gap:.4rem;flex-wrap:wrap;max-width:100%;}
.observatory-badges:not(:has(>span:not([hidden]))){display:none;}
.observatory-badges>span{max-width:100%;padding:.3rem .55rem;border:1px solid rgba(209,190,146,.25);background:rgba(6,19,28,.78);border-radius:3px;color:#decba2;font-size:.47rem;line-height:1.4;letter-spacing:.07em;}
.observatory-dock{position:absolute;left:2.4rem;right:13.7rem;bottom:max(6.3rem,calc(env(safe-area-inset-bottom) + 5.5rem));display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;max-width:780px;}
.observatory-actions,.observatory-stages{display:flex;gap:.4rem;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7a7860 transparent;pointer-events:auto;}
.observatory-actions:empty{display:none;}
.observatory-actions button{border-radius:5px;padding:.5rem .85rem;font-size:.58rem;letter-spacing:.07em;line-height:1.4;flex:none;}
.observatory-actions button[aria-pressed="true"]{border-color:#ccb583;color:#f0dab0;background:rgba(82,73,49,.65);}
.observatory-stages{border-radius:5px;}
.observatory-stages button{display:flex;gap:.65rem;align-items:center;min-width:105px;padding:.55rem .8rem;border-radius:5px;font-size:.64rem;line-height:1.35;text-align:left;white-space:nowrap;}
.observatory-stages button>span{font-size:.47rem;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#b5a889;}
.observatory-stages button[aria-current="step"]{color:#f5e2b8;border-color:#ceba83;background:rgba(75,71,49,.79);}
.observatory-capture-note,.observatory-availability{margin:0;padding:.35rem .6rem;font-size:.58rem;line-height:1.5;color:#dbd4be;background:rgba(8,23,29,.86);border-radius:4px;max-width:440px;}
.observatory-metadata{margin:0;padding:.35rem .6rem;font-size:.61rem;line-height:1.5;color:#d3dacf;max-width:660px;text-shadow:0 1px 8px #061320;background:rgba(7,20,28,.7);border-radius:4px;}
.observatory-satellites{max-width:470px;padding:.7rem .85rem;background:rgba(9,23,30,.9);border:1px solid rgba(210,191,145,.18);border-radius:7px;pointer-events:auto;}
.observatory-satellites label{display:block;color:#c5bb98;font-size:.5rem;letter-spacing:.05em;line-height:1.5;margin-bottom:.4rem;}
.observatory-satellites select{width:100%;border-radius:4px;padding:.4rem .6rem;font-size:.65rem;}
.observatory-satellite-detail{font-size:.61rem;line-height:1.55;color:#c5cec7;margin:.5rem 0 0;}
body.observatory-active .world-caption{visibility:hidden;}
body.observatory-active .world-toast{z-index:2;}
body.world-panel-open .observatory-ui{visibility:hidden;}
body.observatory-active.world-essential .webgl-fallback-message{display:none;}
.telescope-views{margin-top:.7rem;padding:.8rem;border:1px solid rgba(210,191,145,.26);border-radius:10px;background:linear-gradient(130deg,rgba(158,128,71,.08),rgba(5,17,25,.22));}
.telescope-views__eyebrow{margin:0 0 .7rem;color:#c7b98e;font-size:.49rem;letter-spacing:.16em;}
.telescope-views>button{width:100%;display:flex;align-items:center;gap:.75rem;min-height:64px;padding:.6rem 0;border:0;border-top:1px solid rgba(202,202,167,.12);color:#ede7d5;background:transparent;text-align:left;cursor:pointer;}
.telescope-views>button:hover{color:#ffe4b2;}
.telescope-views>button>span:last-child{margin-left:auto;color:#bdb994;}
.telescope-views__index{font-size:.51rem;letter-spacing:.05em;font-variant-numeric:tabular-nums;color:#b3a782;}
.telescope-views strong{display:block;font-size:.79rem;font-weight:450;line-height:1.5;}
.telescope-views small{display:block;font-size:.6rem;line-height:1.6;color:#a7b9b0;}
#world-telescope{display:flex;justify-content:space-between;align-items:center;gap:.4rem;}
#world-telescope[aria-expanded="true"]{border-color:#ac9e73;background:rgba(187,170,112,.12);}
.observation-notebook{margin-top:1rem;}
.world-panel .observation-notebook>summary{font-size:.76rem;gap:.5rem;}
.notebook-entry{margin:.8rem 0 0;border:1px solid rgba(220,218,185,.18);border-radius:8px;overflow:hidden;background:rgba(8,20,27,.3);}
.notebook-entry img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;background:#0a1522;}
.notebook-entry>div{padding:.8rem;}
.notebook-entry h4{margin:0 0 .3rem;font-size:.82rem;font-weight:400;line-height:1.4;color:#eae6d4;}
.notebook-entry time{display:block;color:#a7bbb1;font-size:.6rem;line-height:1.5;}
.notebook-entry button{display:block;width:100%;min-height:44px;margin-top:.7rem;border:1px solid rgba(199,181,136,.38);border-radius:5px;color:#e4d5b4;background:rgba(116,104,60,.13);font:inherit;font-size:.61rem;letter-spacing:.07em;cursor:pointer;}
.notebook-label{font-size:.45rem;letter-spacing:.07em;color:#adbcad;margin:.7rem 0 0;line-height:1.5;}
@media(max-width:900px){.observatory-ui__heading{left:1.5rem;right:1.5rem;gap:1rem}.observatory-badges{left:1.5rem;right:1.5rem}.observatory-dock{left:1.5rem;right:6rem;max-width:700px}.observatory-title{font-size:1.05rem}.observatory-status{font-size:.61rem}}
@media(max-width:600px){
 .observatory-ui__heading{top:4.4rem;left:1.1rem;right:1.1rem;gap:.7rem;align-items:flex-start;}
 .observatory-back{padding:.6rem .75rem;font-size:.5rem!important;letter-spacing:.025em;gap:.45rem;min-width:144px;}
 .observatory-ui__identity{padding-top:.2rem;}
 .observatory-eyebrow{font-size:.38rem;letter-spacing:.04em;margin-bottom:.35rem;}
 .observatory-title{font-size:.83rem;line-height:1.2;}
 .observatory-status{position:absolute;top:3.1rem;left:0;right:0;margin:0;max-width:100%;font-size:.55rem;line-height:1.4;text-wrap:pretty;}
 .observatory-badges{gap:.25rem;}
 .observatory-badges>span{padding:.25rem .4rem;font-size:.39rem;letter-spacing:.025em;}
 .observatory-dock{left:1.1rem;right:1.1rem;bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 4.75rem));gap:.4rem;max-width:none;}
 .observatory-actions,.observatory-stages{width:100%;gap:.3rem;}
 .observatory-actions button{font-size:.49rem;padding:.5rem .6rem;letter-spacing:.02em;}
 .observatory-stages button{font-size:.58rem;padding:.5rem .6rem;min-width:97px;gap:.45rem;}
 .observatory-stages button>span{font-size:.42rem;}
 .observatory-capture-note,.observatory-availability{font-size:.51rem;line-height:1.4;padding:.3rem .45rem;}
 .observatory-metadata{font-size:.52rem;line-height:1.45;padding:.3rem .45rem;}
 .observatory-satellites{max-width:100%;width:100%;padding:.45rem .6rem;}
 .observatory-satellites label{font-size:.43rem;margin:0 0 .25rem;}
 .observatory-satellites select{min-height:44px;font-size:.59rem;}
 .observatory-satellite-detail{font-size:.5rem;line-height:1.4;margin-top:.3rem;}
 .observatory-ui[data-mode="universe"] .observatory-satellites{width:100%;padding:.3rem .45rem;display:grid;grid-template-columns:1fr 1fr;gap:.25rem .5rem;background:rgba(9,23,30,.95);}
 .observatory-ui[data-mode="universe"] .observatory-satellites label{align-self:center;font-size:.36rem;margin:0;}
 .observatory-ui[data-mode="universe"] .observatory-satellites select{min-height:44px;font-size:.51rem;}
 .observatory-ui[data-mode="universe"] .observatory-satellite-detail{grid-column:1/-1;font-size:.46rem;margin:0;}
}
@media(max-height:600px) and (orientation:landscape){
 .observatory-ui__heading{top:3.45rem;left:1rem;right:1rem;gap:.7rem;}
 .observatory-eyebrow{display:none;}.observatory-title{font-size:.85rem;}.observatory-status{font-size:.51rem;max-width:430px;margin-top:.25rem;}
 .observatory-back{font-size:.49rem!important;min-height:44px;padding:.4rem .65rem;}
 .observatory-badges{max-width:100%;}
 .observatory-badges>span{font-size:.4rem;}
 .observatory-dock{left:1rem;right:5rem;bottom:4.35rem;max-width:62%;gap:.3rem;}
 .observatory-actions button,.observatory-stages button{min-height:44px;font-size:.51rem;}
 .observatory-availability{font-size:.47rem;max-width:380px;}
 .observatory-satellites{position:fixed;top:3.2rem;right:1rem;max-width:33%;padding:.3rem .45rem;}
 .observatory-satellites label{font-size:.38rem;}.observatory-satellites select{min-height:44px;font-size:.5rem;}.observatory-satellite-detail{font-size:.43rem;line-height:1.3;}
}
@media(prefers-reduced-motion:reduce){.observatory-ui,.observatory-ui *,.telescope-views *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media(prefers-contrast:more){.observatory-ui button,.observatory-ui select,.observatory-satellites,.observatory-badges>span{background:#091720;border-color:#e4d4ab;color:#fff;}.observatory-status{color:#fff;}}
.observatory-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;}
.observatory-labels[hidden]{display:none;}
/* A small set of controls; detailed time selection only opens on request. */
.observatory-microtitle{margin:.35rem 0 0;color:#ddd9c8;font-size:.62rem;line-height:1.5;letter-spacing:.035em;animation:observatory-whisper 1.2s ease both;}
.observatory-ui[data-mode="forest"] .observatory-microtitle{animation-name:observatory-mist-word;}
.observatory-ui[data-mode="medellin"] .observatory-microtitle{animation-name:observatory-city-word;}
.observatory-ui[data-mode="moon"] .observatory-microtitle{animation-name:observatory-lunar-word;}
.observatory-ui[data-mode="scorpius"] .observatory-microtitle{animation-name:observatory-star-word;}
.observatory-ui[data-mode="universe"] .observatory-microtitle{animation-name:observatory-distance-word;}
.observatory-exploration{display:flex;align-items:center;gap:.3rem;max-width:100%;overflow-x:auto;pointer-events:auto;scrollbar-width:thin;}
.observatory-exploration button{flex:none;border-radius:999px;padding:.45rem .75rem;font-size:.5rem;letter-spacing:.055em;background:rgba(10,24,30,.55);}
.observatory-exploration button[aria-pressed="true"]{border-color:#d4bc85;color:#ffebbe;}
.observatory-zoom{padding:0 .35rem;font-size:.53rem;font-variant-numeric:tabular-nums;color:#e0d6ba;text-shadow:0 1px 4px #07131b;}
.observatory-gesture-hint{margin:0;color:#d1d8d1;font-size:.5rem;line-height:1.5;text-shadow:0 1px 8px #061320;}
.observatory-focus{max-width:100%;margin:0;color:#f0dab1;font-size:.67rem;line-height:1.4;text-shadow:0 1px 5px #061320;}
.observatory-time{position:relative;pointer-events:auto;max-width:100%;font-size:.54rem;color:#ddd8c8;}
.observatory-time summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:36px;padding:.35rem .6rem;border:1px solid rgba(210,191,145,.23);border-radius:5px;background:rgba(10,24,30,.52);cursor:pointer;list-style:none;}
.observatory-time summary::-webkit-details-marker{display:none;}
.observatory-time__body{position:absolute;left:0;bottom:calc(100% + .45rem);z-index:2;width:min(31rem,calc(100vw - 3rem));max-height:45vh;overflow:auto;padding:1rem;border:1px solid rgba(210,191,145,.3);border-radius:9px;background:rgba(9,22,29,.97);box-shadow:0 8px 40px rgba(0,0,0,.24);}
.observatory-time__body p{font-size:.67rem;line-height:1.5;margin:0 0 .8rem;color:#c6d1c9;}
.observatory-time__body label{display:block;margin-bottom:.4rem;font-size:.61rem;}
.observatory-time__input{display:flex;flex-wrap:wrap;gap:.4rem;}
.observatory-time__input input{flex:1;min-width:10.5rem;max-width:100%;border-radius:4px;padding:.4rem .5rem;color-scheme:dark;font-size:.72rem;}
.observatory-time__input button{padding:.4rem .7rem;border-radius:4px;font-size:.57rem;}
.observatory-ui[data-phase="travel"] .observatory-microtitle{opacity:.8;}
@keyframes observatory-whisper{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes observatory-mist-word{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
@keyframes observatory-city-word{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:none}}
@keyframes observatory-lunar-word{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes observatory-star-word{0%{opacity:0}45%{opacity:.35;text-shadow:0 0 9px #dccca2}100%{opacity:1;text-shadow:none}}
@keyframes observatory-distance-word{from{opacity:0;letter-spacing:.15em}to{opacity:1;letter-spacing:.035em}}
.credits-trigger{position:absolute;right:0;bottom:.05rem;min-height:44px;padding:.4rem .5rem;border:0;background:transparent;color:#cbc9b6;font:500 .5rem/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.12em;cursor:pointer;text-shadow:0 1px 5px rgba(0,0,0,.5);}
.credits-trigger:hover{color:#fff1ce;}
.credits-trigger:focus-visible,.credits-dialog button:focus-visible,.credits-dialog a:focus-visible{outline:2px solid #e4c998;outline-offset:3px;}
.credits-dialog{position:fixed;inset:0;width:min(42rem,calc(100vw - 2rem));max-height:min(82vh,52rem);box-sizing:border-box;margin:auto;padding:0;border:1px solid #637065;border-radius:16px;color:#e4e5d9;background:#13282c;font:400 .85rem/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;box-shadow:0 20px 80px rgba(0,0,0,.45);z-index:120;}
.credits-dialog::backdrop{background:rgba(3,12,17,.72);backdrop-filter:blur(5px);}
.credits-dialog__header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid #3c514d;background:#13282c;z-index:1;}
.credits-dialog h2{margin:0;font-size:1.22rem;font-weight:450;}
.credits-dialog__close{display:grid;place-items:center;min-height:44px;min-width:44px;border:1px solid #53685c;border-radius:50%;background:transparent;color:#e9e4cf;font-size:1.25rem;cursor:pointer;}
.credits-dialog__body{padding:1.3rem 1.4rem;}
.credits-dialog__intro{margin:0 0 1.2rem;color:#bbcbbf;font-size:.78rem;}
.credits-dialog__entry{padding:1rem 0;border-top:1px solid #3c514d;}
.credits-dialog__entry h3{margin:0 0 .35rem;font-size:.88rem;font-weight:500;color:#eee5c9;}
.credits-dialog__entry p{margin:.35rem 0;font-size:.73rem;}
.credits-dialog__entry .credits-modifications{color:#b6c9bb;font-size:.68rem;}
.credits-dialog a{color:#decba0;text-decoration:underline;text-underline-offset:3px;}
.credits-dialog__links{font-size:.72rem;margin-top:1rem;}
@media(max-width:600px){
 .observatory-microtitle{font-size:.48rem;margin-top:.2rem;}
 .observatory-exploration{width:100%;gap:.2rem;}
 .observatory-exploration button{padding:.4rem .57rem;font-size:.45rem;letter-spacing:.01em;}
 .observatory-zoom{font-size:.46rem;}
 .observatory-gesture-hint{font-size:.46rem;}
 .observatory-focus{font-size:.57rem;}
 .observatory-time summary{min-height:44px;font-size:.47rem;}
 .observatory-time__body{width:calc(100vw - 2.2rem);max-height:42vh;padding:.8rem;}
 .credits-trigger{right:-.3rem;font-size:.42rem;letter-spacing:.07em;padding:.4rem;}
 .experience-footer .craft-credit{max-width:calc(100% - 10rem);text-align:center;}
 .credits-dialog__header,.credits-dialog__body{padding:1rem;}
}
@media(max-height:680px){.observatory-gesture-hint,.observatory-microtitle{display:none;}.observatory-dock{gap:.25rem;}.observatory-metadata{max-width:90%;font-size:.5rem;}.observatory-time summary{min-height:32px;}}
@media(max-height:600px) and (orientation:landscape){.observatory-time{position:fixed;right:1rem;bottom:4.35rem;}.observatory-time__body{left:auto;right:0;width:min(26rem,80vw);max-height:54vh;}.observatory-exploration button{font-size:.45rem;}.observatory-focus{font-size:.54rem;}}
@media(prefers-reduced-motion:reduce){.observatory-microtitle{animation:none!important;filter:none!important;clip-path:none!important;}}
@media(prefers-contrast:more){.observatory-exploration button,.observatory-time summary{background:#091720;border-color:#e4d4ab;color:#fff;}.credits-trigger,.observatory-gesture-hint{color:#fff;}}
/* Secondary tools open above the dock only on request. The closed dock is
   constrained by the real title/navigation rectangle, including short phones. */
.observatory-dock{overflow-y:auto;overflow-x:clip;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#827c60 transparent;padding:2px 3px 2px 0;}
.observatory-dock>*{flex-shrink:0;}
.observatory-dock[data-compact="true"] .observatory-gesture-hint{display:none;}
.observatory-more{pointer-events:auto;font-size:.5rem;letter-spacing:.05em;}
.observatory-more>summary{display:flex;align-items:center;justify-content:space-between;gap:.9rem;min-height:36px;padding:.4rem .7rem;border:1px solid rgba(210,191,145,.22);border-radius:5px;background:rgba(10,24,30,.5);cursor:pointer;list-style:none;}
.observatory-more>summary::-webkit-details-marker{display:none;}
.observatory-more__body{position:fixed;left:var(--observatory-popover-left,1.1rem);bottom:var(--observatory-popover-bottom,10rem);width:min(40rem,calc(100vw - 2.2rem));max-height:min(48svh,24rem);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:.9rem;border:1px solid rgba(210,191,145,.3);border-radius:10px;background:rgba(9,22,29,.97);box-shadow:0 8px 40px rgba(0,0,0,.3);}
.observatory-more:not([open])>.observatory-more__body{display:none;}
.observatory-more__body>*{flex-shrink:0;max-width:100%;}
.observatory-more .observatory-time{position:static;}
.observatory-more .observatory-time__body{position:static;width:100%;max-height:none;overflow:visible;margin:.5rem 0 0;padding:.5rem;border:0;background:transparent;box-shadow:none;}
.observatory-more .observatory-satellites{position:static;max-width:100%;}
.observatory-more .observatory-metadata{font-size:.61rem;max-width:100%;}
.credits-trigger{right:10.3rem;font-size:.6rem;}
@media(max-width:600px){.observatory-more>summary{min-height:44px;font-size:.46rem;}.observatory-more__body{gap:.5rem;padding:.75rem;}.experience-footer.has-credits{min-height:3.7rem;}.experience-footer.has-credits .craft-credit{position:absolute;left:50%;top:.2rem;transform:translateX(-50%);max-width:155px;width:155px;margin:0;}.experience-footer.has-credits .credits-trigger{left:50%;right:auto;bottom:-.35rem;transform:translateX(-50%);min-width:74px;min-height:36px;}}
@media(max-height:600px) and (orientation:landscape){.observatory-ui__identity{display:none;}.observatory-ui__heading{top:3.2rem;}.observatory-more>summary{min-height:36px;}.observatory-more .observatory-time{position:static;}.observatory-more .observatory-time__body{position:static;width:100%;max-height:none;}.observatory-more__body{max-height:56svh;}}
@media(prefers-contrast:more){.observatory-more>summary,.observatory-more__body{background:#091720;border-color:#e4d4ab;color:#fff;}}
.observatory-ui[data-compact-heading="true"] .observatory-ui__identity{display:none;}
.observatory-ui[data-compact-heading="true"] .observatory-back{min-width:44px;width:44px;min-height:44px;padding:0;justify-content:center;gap:0;font-size:0!important;letter-spacing:0!important;}
.observatory-ui[data-compact-heading="true"] .observatory-back>span{font-size:1.2rem;}
