main{display:block}.observatory{margin:auto;max-width:1120px}.intro{padding-left:0}.scene{width:min(94vw,680px);aspect-ratio:1.35;position:relative}.instrument{width:100%;flex:none}.detail{position:fixed;z-index:9;inset:0 0 0 auto;width:min(425px,94vw);overflow:auto;background:#10202a;border-left:1px solid #53636c;margin:0;padding:20px;box-shadow:-18px 0 65px #0005}.detail[hidden]{display:none}#closeDetail{display:block;margin:0 0 15px auto;min-height:32px;font-size:12px}.wheel-controls{gap:4px}.wheel-controls button,.view-presets button{min-height:30px!important;font-size:11px!important;padding:3px 7px!important;width:auto!important}.camera-menu{font-size:11px;margin-top:7px;text-align:center}.camera-menu summary{cursor:pointer}.camera-controls{width:min(300px,84vw);gap:10px;margin:3px auto}.camera-controls input{height:24px}.scene canvas{position:absolute;width:53%;height:auto;left:23.5%;top:50%;transform:translateY(-70%);pointer-events:none}.detail canvas{width:100%;height:auto;display:block}.models-ready .center-figure,.models-ready .living-scene svg{display:none}.models-ready .living-scene{padding-top:0}.detail .living-section{background:#142730}.scene .rim-back{box-shadow:0 4px 0 #8b794f,0 12px 0 #344955,0 18px 0 #7a6443,0 27px 0 #1c303a,0 45px 45px #0008}.intro h1{font-size:clamp(24px,3vw,36px)}.header-actions{flex-wrap:wrap}.hint{margin:5px 0}.observatory{padding-top:16px}@media(max-width:760px){.scene{aspect-ratio:1.12}.header-actions button{padding:4px 6px}.detail{width:min(425px,95vw);padding:15px}}
#wheel{animation:wheel-observe 26s ease-in-out infinite alternate;transform-origin:center}.paused #wheel,.dragging #wheel{animation-play-state:paused}@keyframes wheel-observe{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@media(prefers-reduced-motion:reduce){#wheel{animation:none}}
main{max-width:none}.observatory{max-width:none;padding-inline:2vw;min-width:0}.intro{align-self:center;text-align:center}.intro h1 br{display:none}.intro h1 br:after{content:" "}.scene{width:min(94%,112svh,1300px);aspect-ratio:auto;height:clamp(300px,73svh,1000px);margin:0}.instrument{position:absolute;left:0;top:50%;margin-top:-50%}.scene canvas{top:50%;transform:translateY(-50%);height:auto}.wheel-controls{margin-top:0}.elements button[data-element]:not([data-element=all]){font:22px/1 Georgia,'Apple Symbols',serif;min-width:44px}.element-label{font-family:'Apple Symbols','Segoe UI Symbol',serif!important}#wheel{animation:none}.detail{width:clamp(330px,31vw,460px)}body:has(#drawer:not([hidden])) main{margin-right:clamp(330px,31vw,460px)}@media(max-width:760px){.scene{width:98%;height:auto;aspect-ratio:1.1}.detail{position:relative;inset:auto;width:auto;max-height:55svh;overflow:auto;margin:6px 12px;border:1px solid var(--line);box-shadow:none}body:has(#drawer:not([hidden])) main{margin-right:0}.intro h1 br{display:block}.observatory{padding-inline:8px}} 
@media(min-width:761px){body:has(#drawer:not([hidden])) .scene{width:min(82%,110svh)}}
.scene{height:auto;min-height:0}

.scene{aspect-ratio:1 / 1.01}.instrument{transition:none;will-change:transform}.models-ready .living-scene{display:none}

.instrument{container-type:normal}.crest{position:absolute;pointer-events:none;font:clamp(12px,3.7vw,48px)/1 Georgia,"Apple Symbols",serif;transform:translate(-50%,-50%) translateZ(clamp(8px,1.7vw,22px)) rotateZ(var(--face-turn,0deg)) rotateX(var(--face-pitch,-38deg));text-shadow:0 1px #655746,0 2px #48392d,0 3px #372e25}
body:has(#drawer:not([hidden])) .crest{font-size:clamp(12px,2.5vw,34px)}
@media(max-width:760px){body:has(#drawer:not([hidden])) .crest{font-size:3.7vw}}

.scene canvas{transform:translateY(-50%) scale(var(--scene-zoom,1));transform-origin:center}
.scene-magnifier{position:relative;display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.45rem;font-size:.8rem}
.scene-magnifier input{width:clamp(88px,16vw,150px);height:28px;accent-color:#e0bd7b}
.scene-magnifier output{min-width:3.1em;text-align:start;font-variant-numeric:tabular-nums}
.wheel-controls{position:relative}
.element-label,.elements button[data-element]:not([data-element=all]){font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important}
