/* A small gallery: real-time objects, clear controls, readable editorial context. */
.frontier-hero {grid-template-columns:1fr 1.12fr;gap:48px;padding-block:46px 38px}
.frontier-observatory {position:relative;min-width:0;overflow:hidden;background:#102722;color:#f3f0df;border:1px solid #203b31;border-radius:14px;box-shadow:0 22px 60px -38px #19392b8a;isolation:isolate}
.observatory-top {position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:23px 26px 0;font:9px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.13em}
.observatory-status {color:#c3d4bf;display:flex;align-items:center;gap:8px}
.observatory-status::before {content:'';width:5px;height:5px;border-radius:50%;background:#c9bf8e;box-shadow:0 0 12px #b6d29566}
.observatory-edition {color:#93aa9c;white-space:nowrap}
.observatory-viewport {position:relative;height:403px;margin-top:6px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#244335 0%,#102722 68%)}
.observatory-fallback {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;display:block}
#frontier-canvas {display:block;position:absolute;inset:0;width:100%;height:calc(100% - 50px);visibility:hidden;touch-action:pan-y;cursor:grab;outline:none}
#frontier-canvas:active {cursor:grabbing}
#frontier-canvas:focus-visible {outline:2px solid #decea0;outline-offset:-6px;border-radius:8px}
.observatory-scene-tools {position:absolute;right:18px;bottom:17px;display:flex;gap:7px}
.observatory-scene-tools button {width:35px;height:35px;display:grid;place-items:center;border:1px solid #8fa99555;border-radius:50%;background:#142d26e6;color:#edead7;font:19px/1 Manrope,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.observatory-scene-tools button:hover {background:#344e3e;border-color:#bccca9}
.observatory-scene-tools [data-scene-motion] {font-size:13px}
.observatory-hint {position:absolute;left:26px;bottom:27px;font:9px/1.6 Manrope,sans-serif;color:#bdcdbc;pointer-events:none}
.observatory-fallback-label {position:absolute;bottom:17px;left:20px;padding:6px 9px;background:#173126d9;border-radius:3px;color:#f5f0dd;font:8px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.07em}
.observatory-worlds {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-block:1px solid #c5d0b728;margin-inline:26px;padding-block:8px}
.observatory-worlds button {min-width:0;border:0;background:transparent;color:#b5c9b8;border-radius:5px;padding:12px 6px;font:500 11px/1.4 Manrope,sans-serif;cursor:pointer;transition:color .2s,background .2s;text-align:center}
.observatory-worlds button span {font:8px/1.4 ui-monospace,Consolas,monospace;margin-right:8px;opacity:.7}
.observatory-worlds button:hover {background:#a7c89c12;color:#fffbea}
.observatory-worlds button[aria-pressed="true"] {background:#dce6c4;color:#253b2d}
.frontier-observatory button:focus-visible,.frontier-observatory a:focus-visible {outline:2px solid #e5d299;outline-offset:3px}
.observatory-story {padding:22px 26px 0;min-height:144px}
.observatory-story h2 {color:#f2eddc;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:1.85rem;letter-spacing:-.035em;line-height:1.15;margin:0 0 9px}
.observatory-story p {color:#b4c5b6;font-size:12px;line-height:1.75;max-width:440px;margin:0 0 12px}
.observatory-story a {display:inline-flex;align-items:center;gap:20px;color:#e5dab4;font-size:12px;line-height:1.5;text-underline-offset:4px}
.observatory-story a:hover {text-decoration:underline}
.observatory-disclosure {margin:18px 26px 19px;color:#acbcae;font:9px/1.65 ui-monospace,Consolas,monospace;letter-spacing:.01em}
.frontier-observatory:not([data-scene-state="ready"]) :is(.observatory-worlds,.observatory-scene-tools,.observatory-hint,.observatory-disclosure) {visibility:hidden}
.frontier-observatory[data-scene-state="ready"] .observatory-fallback,.frontier-observatory[data-scene-state="ready"] .observatory-fallback-label {display:none}
.frontier-observatory[data-scene-state="ready"] #frontier-canvas {visibility:visible}
@media(min-width:1500px) {.observatory-viewport{height:442px}}
@media(max-width:1200px) {.frontier-hero{gap:32px}.observatory-top{padding-inline:20px}.observatory-worlds{margin-inline:20px}.observatory-story{padding-inline:20px}.observatory-disclosure{margin-inline:20px}.observatory-hint{left:20px;font-size:8px}.observatory-viewport{height:380px}}
@media(max-width:1024px) {.frontier-hero{grid-template-columns:1fr 1.08fr;gap:26px}.observatory-hint{max-width:170px;bottom:21px}.observatory-story{min-height:157px}.observatory-story h2{font-size:1.6rem}.observatory-worlds button{font-size:10px;padding-inline:3px}.observatory-worlds button span{margin-right:5px}}
@media(max-width:760px) {.frontier-hero{grid-template-columns:1fr;gap:30px;padding-top:30px}.observatory-viewport{height:400px}.observatory-story{min-height:140px}.observatory-story h2{font-size:1.9rem}.observatory-story p{font-size:12px}.observatory-story a{font-size:12px}.observatory-top{padding-top:20px}.observatory-worlds button{font-size:12px}.observatory-hint{max-width:190px;font-size:9px}.observatory-disclosure{font-size:8px}.observatory-story{padding-top:24px}.observatory-worlds{padding-block:8px}.frontier-observatory{border-radius:12px}}
@media(max-width:374px) {.observatory-viewport{height:350px}.observatory-worlds{margin-inline:14px}.observatory-story{padding-inline:18px;min-height:160px}.observatory-story h2{font-size:1.65rem}.observatory-top{padding-inline:18px;font-size:8px}.observatory-hint{left:18px;max-width:145px;font-size:8px}.observatory-scene-tools{right:14px}.observatory-worlds button{font-size:10px}.observatory-disclosure{margin-inline:18px}}
@media(prefers-reduced-motion:reduce) {.frontier-observatory *{transition:none!important}}
