:root{--bg:#08090b;--paper:#eeeae1;--muted:#a7a5a1;--gold:#d5ab6c;--orange:#d77b39;--red:#8b242b;--pink:#ae748e;--blue:#afc9d7;--serif:'Noto Serif TC','PMingLiU',serif;--latin:'Cormorant Garamond',Georgia,serif;--sans:'Noto Sans TC','Microsoft JhengHei',sans-serif;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{border:0}img{display:block;max-width:100%}::selection{background:#8b242b;color:white}.skip{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--gold);color:#111;padding:12px}.skip:focus{top:12px}
.header{position:fixed;top:0;left:0;width:100%;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;z-index:50;border-bottom:1px solid #ddd2bb1d;transition:background .5s,height .5s;gap:25px}.header.scrolled{height:78px;background:#08090be8;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:13px;font-family:var(--latin);font-size:21px;letter-spacing:.18em;line-height:1.03}.brand-small{font-size:12px;letter-spacing:.24em}.brand-orbit{font-size:52px;font-weight:400;position:relative;line-height:.8;letter-spacing:0}.brand-orbit:after{content:'';position:absolute;top:43%;left:-8px;width:48px;height:12px;border:1px solid var(--gold);border-radius:50%;transform:rotate(-35deg)}.header nav{display:flex;gap:38px;margin-left:auto;margin-right:5%}.nav-link{font-size:14px;letter-spacing:.08em;color:#e4e1d3b3;position:relative;padding:10px 0;transition:color .3s}.nav-link:hover,.nav-link.active{color:var(--paper)}.nav-link:after{content:'';position:absolute;height:1px;bottom:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;background:var(--gold);transition:transform .4s}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}.motion-control{background:none;display:flex;gap:10px;align-items:center;font-size:12px;color:#ccc8bc;white-space:nowrap}.motion-icon{font-size:20px}.motion-label{letter-spacing:.05em}
.hero{height:100svh;min-height:730px;position:relative;isolation:isolate;overflow:hidden;background:#151820}.hero-visual,.hero-shade,.hero-vignette,#embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-visual{z-index:-4;will-change:transform;animation:hero-arrive 2s var(--ease) both}.hero-visual video{width:100%;height:100%;object-fit:cover;object-position:60% 50%;filter:saturate(.75) brightness(.8)}.hero-shade{z-index:-3;background:linear-gradient(90deg,#050609e8 0%,#08090bbd 28%,#08090b30 68%,#08090b14),linear-gradient(0deg,#08090b 0%,transparent 30%,#08090b40 100%)}.hero-vignette{z-index:-2;background:radial-gradient(ellipse at 80% 30%,#9e451012,transparent 70%)}#embers{z-index:-1;opacity:.8}.hero-content{position:absolute;left:8%;top:50%;transform:translateY(-43%);max-width:900px}.eyebrow{font:13px var(--sans);letter-spacing:.26em;color:var(--gold);display:flex;gap:17px;align-items:center;margin:0 0 28px}.line{height:1px;width:44px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--serif);font-size:clamp(64px,6.8vw,108px);font-weight:500;letter-spacing:.15em;line-height:1.45;margin:0 0 8px;color:#f0dfbb;text-shadow:0 2px 24px #0005}.hero-english{font-family:var(--latin);font-size:clamp(26px,3.25vw,48px);font-weight:400;letter-spacing:.155em;line-height:1.3;color:#e5d6b8;margin:0}.hero-english span{margin-left:.14em}.hero-rule{width:66px;height:1px;background:#a38759;margin:36px 0 26px}.hero-tagline{font-family:var(--serif);font-size:22px;letter-spacing:.07em;margin-bottom:12px}.hero-sub{font-size:14px;letter-spacing:.05em;color:#b4b0a6;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 25px;font-size:14px;letter-spacing:.09em;min-width:211px;position:relative;transition:background .3s,transform .3s}.button-gold{border:1px solid #c19d63;background:#cda76c;color:#151311}.button-gold:hover{background:#f0d29e;transform:translateY(-2px)}.trailer-button{display:flex;align-items:center;gap:13px;font-size:14px;letter-spacing:.06em}.play-circle{width:46px;height:46px;border:1px solid #bca87a77;border-radius:50%;display:grid;place-items:center;font-size:11px;padding-left:2px;transition:background .3s,border .3s}.trailer-button:hover .play-circle{background:#d5ab6c22;border-color:var(--gold)}.small-en{display:block;font-size:10px;letter-spacing:.12em;color:#aca89e;margin-top:2px}.hero-side{position:absolute;right:30px;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.3em;color:#c6bdad99}.hero-bottom{position:absolute;bottom:35px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.scroll-cue{display:flex;gap:15px;align-items:center;font-size:12px;letter-spacing:.1em}.scroll-cue>span>span{display:block;color:#868985;letter-spacing:.14em;font-size:10px;margin-top:5px}.scroll-mark{height:44px;width:1px;background:#ffffff30;position:relative;overflow:hidden}.scroll-mark:after{content:'';height:20px;width:1px;background:var(--gold);position:absolute;animation:scroll-track 2.6s infinite}.chapter-mark{display:flex;align-items:center;gap:23px;color:#777973;font-family:var(--latin);font-size:20px}.chapter-mark>span:first-child{font-family:var(--sans);font-size:10px;letter-spacing:.22em;margin-right:7px}.act{padding:2px 10px;position:relative}.act.active{color:var(--gold)}.act.active:before{position:absolute;content:'';bottom:0;left:0;right:0;height:1px;background:var(--gold)}.hero-corner{font:12px var(--sans);letter-spacing:.15em;color:#a69a80}.hero-reveal{animation:reveal-up 1.4s var(--ease) both}.hero-reveal:nth-child(2){animation-delay:.12s}.hero-reveal:nth-child(3){animation-delay:.22s}.hero-reveal:nth-child(4){animation-delay:.32s}.hero-reveal:nth-child(5){animation-delay:.42s}.hero-reveal:nth-child(6){animation-delay:.5s}.hero-reveal:nth-child(7){animation-delay:.6s}
.intro{padding:130px 8%;max-width:1200px;margin:auto}.intro h2,.explorer-initial h2{font-family:var(--serif);font-size:clamp(32px,4vw,58px);font-weight:400;letter-spacing:.08em}.intro>p:not(.eyebrow){font-family:var(--serif);font-size:19px;color:#b9b4aa;line-height:2.2}.text-link{font-size:14px;display:inline-flex;gap:35px;border-bottom:1px solid #796540;padding:10px 0}.explorer-initial{padding:70px 8% 130px;background:#101418}.explorer-initial figure{display:flex;gap:50px;margin:50px 0 0;align-items:center}.explorer-initial img{width:40%;max-height:500px;object-fit:cover}.explorer-initial figcaption{max-width:430px}.explorer-initial h3{font-family:var(--serif);font-size:40px}.explorer-initial figcaption span{color:var(--gold);font-size:12px;letter-spacing:.2em}footer{border-top:1px solid #ffffff18;padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer span{font-size:12px;color:#92938e}
@keyframes reveal-up{from{opacity:0;transform:translateY(25px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes hero-arrive{from{transform:scale(1.05);filter:brightness(.4)}to{transform:scale(1);filter:brightness(1)}}@keyframes scroll-track{0%{transform:translateY(-20px)}100%{transform:translateY(55px)}}
@media(min-width:1800px){.hero-content{left:12%}}
@media(max-width:900px){.header{height:80px;padding:0 5%;gap:15px}.header nav{gap:22px;margin-right:0}.motion-label{display:none}.hero{min-height:740px}.hero-content{left:7%;right:7%;transform:translateY(-36%)}.hero h1{font-size:70px}.hero-english{font-size:33px}.hero-shade{background:linear-gradient(90deg,#050609db,#08090b70 65%,#08090b30),linear-gradient(0deg,#08090b,transparent 45%)}.hero-side{display:none}.hero-tagline{font-size:20px}.chapter-mark{gap:10px}.hero-corner{display:none}}
@media(max-width:600px){.header{height:76px}.header.scrolled{height:70px}.brand{font-size:17px;gap:9px}.brand-orbit{font-size:40px}.brand-orbit:after{width:37px;height:9px;left:-6px}.brand-small{font-size:9px}.header nav{gap:18px}.nav-link{font-size:12px}.nav-link[href='#home']{display:none}.motion-control{padding:5px}.hero{min-height:730px;max-height:1000px}.hero-content{top:48%;left:7%;right:7%}.hero h1{font-size:clamp(40px,11.6vw,66px);letter-spacing:.12em;line-height:1.7}.hero-english{font-size:clamp(21px,5.3vw,32px);letter-spacing:.075em}.hero-english span{margin-left:0}.eyebrow{font-size:10px;letter-spacing:.15em;gap:12px}.line{width:22px}.hero-tagline{font-size:17px;letter-spacing:.02em}.hero-sub{font-size:13px;line-height:1.9;max-width:270px}.hero-rule{margin:28px 0 25px}.hero-actions{gap:22px;align-items:flex-start;flex-direction:column}.button{min-width:208px;padding:15px 21px}.play-circle{height:36px;width:36px}.small-en{font-size:9px}.hero-bottom{bottom:27px;align-items:flex-end}.chapter-mark{gap:6px}.chapter-mark>span:first-child{display:none}.hero-visual video{object-position:66% center}.hero-shade{background:linear-gradient(0deg,#08090b,#08090b80 35%,#08090b30 100%),linear-gradient(90deg,#08090b9c,#08090b30)}.scroll-cue{font-size:11px}.scroll-cue>span>span{font-size:9px}.intro{padding:100px 7%}.intro h2{font-size:30px}.intro>p:not(.eyebrow){font-size:16px}.explorer-initial{padding:80px 7%}.explorer-initial figure{flex-direction:column;gap:25px}.explorer-initial img{width:100%;max-height:350px}.explorer-initial h2{font-size:35px}footer{align-items:flex-start;flex-direction:column;padding:35px 7%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important}

/* The same scene stays pinned throughout the journey; all poses follow scroll progress. */
.journey{position:relative;isolation:isolate;background:#06080b}.orbital-stage{position:sticky;top:0;height:100svh;min-height:1px;margin-bottom:-100svh;pointer-events:none;z-index:1;overflow:hidden;opacity:1;background:radial-gradient(ellipse at 78% 47%,#17233142,transparent 68%),#06080b}.orbital-stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.orbital-backdrop{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;z-index:0}.empire-backdrop{background-image:url('assets/empire-wide.webp')}.gray-backdrop{background-image:url('assets/graytide-wide.webp')}.orbital-shade{position:absolute;inset:0;z-index:3;background:linear-gradient(0deg,#06080b55,transparent 20%,transparent 85%,#06080b40);pointer-events:none}.hero{z-index:2;background:transparent}.hero-content{will-change:opacity,translate}.three-ready .hero-visual,.three-ready .hero-shade,.three-ready .hero-vignette{opacity:0}.three-ready .hero-content:before{content:'';position:absolute;inset:-45px -35px;z-index:-1;background:radial-gradient(ellipse at 30% 50%,#05070abb,transparent 72%);pointer-events:none}.three-unavailable .orbital-stage{visibility:hidden}.hero h1{background:linear-gradient(172deg,#fffae8 9%,#e4c994 32%,#b99758 45%,#fff0c9 51%,#cfae76 78%,#f3e2c3);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 3px 18px #0008);font-weight:600}.hero-english{font-weight:500;letter-spacing:.16em}.trailer-button{background:none;padding:0;text-align:left}.story-scroll{height:360svh;position:relative;z-index:2;scroll-margin-top:0}.story-stage{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;isolation:isolate}.story-scene{position:absolute;inset:0;z-index:-3}.story-scene img{width:100%;height:100%;object-fit:cover}.gray-scene{clip-path:inset(0 0 0 100%)}.story-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#050609c9,#05060922),linear-gradient(0deg,#08090b,transparent 35%)}.three-ready .story-scene,.three-ready .story-shade{display:none}.story-index{position:absolute;top:125px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#a5a29a;font-size:12px;letter-spacing:.2em}.story-tabs{display:flex;gap:18px;align-items:center;letter-spacing:0}.story-tabs button{background:none;color:#818589;font-family:var(--latin);font-size:26px;padding:8px 4px;display:flex;align-items:center;gap:12px;border-bottom:1px solid transparent;transition:color .3s}.story-tabs button span{font-family:var(--sans);font-size:14px;letter-spacing:.07em}.story-tabs button.selected{color:var(--gold);border-color:#aa804e}.story-tabs button:last-child.selected{color:#c999ad;border-color:#886071}.story-tab-divider{height:1px;width:26px;background:#7d767340}.story-content{position:absolute;top:49%;transform:translateY(-43%);width:39%;will-change:translate,opacity;pointer-events:auto}.empire-copy{left:57%;opacity:0}.gray-copy{left:8%;opacity:0}.story-content h2{font-family:var(--serif);font-size:clamp(40px,4.6vw,72px);font-weight:500;line-height:1.6;letter-spacing:.08em;margin:0 0 25px}.empire-copy h2{color:#ead1a4}.gray-copy h2{color:#dfdfdf}.gold-period{color:var(--red)}.story-quote{font-family:var(--serif);font-size:19px;line-height:1.9;letter-spacing:.035em;color:#ded7c8}.gray-copy .story-quote{color:#cba1b0}.story-description{font-size:16px;color:#aaa9a7;line-height:2.1;letter-spacing:.025em;margin-bottom:30px}.story-signature{font-size:12px;letter-spacing:.15em;color:#b08d5d}.red-line,.pink-line{width:38px;height:2px;background:#9e3540}.pink-line{background:#b87993}.gray-copy .eyebrow{color:#b8869c}.gray-copy .text-link{border-color:#80566a}.story-bottom{position:absolute;bottom:42px;left:6%;right:6%;display:flex;align-items:center;gap:30px}.story-status{font-size:12px;letter-spacing:.16em;color:#b3aaa0;min-width:150px}.story-progress{height:1px;background:#72757740;flex:1;overflow:hidden}.story-progress i{height:100%;display:block;background:linear-gradient(90deg,#bb8d4c,#973c47,#a97d91);transform-origin:left;transform:scaleX(0)}.story-step{font-family:var(--latin);font-size:23px;letter-spacing:.08em}.story-step span{font-family:var(--sans);font-size:13px;color:#8d9295;padding:0 12px}
.explorer{background:#080d13;position:relative;z-index:4;padding:125px 6% 0;border-top:1px solid #7e9ab620;overflow:hidden}.explorer-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;max-width:1600px;margin:0 auto 60px}.explorer .eyebrow{color:#a7bfce;font-size:12px}.explorer h2{font:500 clamp(34px,3.5vw,55px)/1.55 var(--serif);letter-spacing:.09em;margin:0}.explorer-intro{font-size:15px;color:#a3aeb5;line-height:2;margin:0 0 7px}.atlas-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:55px;max-width:1600px;margin:auto}.atlas-chart{min-width:0;align-self:center}.atlas-caption{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.09em;color:#a1b5c0;border-bottom:1px solid #8195a22a;padding-bottom:20px}.atlas-cross{font-size:22px}.atlas-count{margin-left:auto;font-size:11px;color:#6d8a9d}.map-surface{position:relative;width:100%;aspect-ratio:720/500;min-height:360px}.atlas-lines{width:100%;height:100%;position:absolute;inset:0}.grid-lines{stroke:#7696a329;fill:none;stroke-width:1}.grid-lines path{stroke-dasharray:2 9}.route-lines{stroke:#577c9259;fill:none;stroke-dasharray:3 6;stroke-width:1}.selected-route{fill:none;stroke:#d6b87c;stroke-width:1.5;stroke-dasharray:5 5;animation:route-flow 18s linear infinite}.planet-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:transparent;min-width:68px;min-height:76px;padding:5px;color:#9babb5;display:flex;align-items:center;flex-direction:column;z-index:3;transition:color .4s}.node-symbol{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;position:relative;margin-bottom:9px}.node-symbol i{display:block;width:7px;height:7px;border:1px solid #a6bbc4;border-radius:50%;background:#101921;transition:box-shadow .4s,background .4s}.planet-node.selected{color:#edcf96}.planet-node.selected .node-symbol{border:1px solid #d9b17199}.planet-node.selected .node-symbol:after{content:'';position:absolute;inset:-7px;border:1px solid #d9b17130;border-radius:50%;animation:node-pulse 3s ease-in-out infinite}.planet-node.selected .node-symbol i{background:#edcf96;border-color:#edcf96;box-shadow:0 0 18px #efbf60bb}.planet-node:hover{color:#fff0ca}.planet-node:hover .node-symbol i{box-shadow:0 0 18px #96d8ef99}.node-label{font:500 14px/1.4 var(--serif);white-space:nowrap;letter-spacing:.07em}.node-label small{display:block;font:10px/1.8 var(--sans);letter-spacing:.15em;color:#7993a2}.planet-node.selected small{color:#aa9270}.map-bottom{border-top:1px solid #8195a22a;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#788f9b}.map-bottom>span:first-child{display:flex;align-items:center;gap:10px}.map-bottom i{width:5px;height:5px;background:#d5b47c;border-radius:50%}.planet-panel{min-width:0;border:1px solid #8495a22c;background:#0c131b;align-self:start}.planet-art{position:relative;aspect-ratio:1.6;overflow:hidden;background:#101a23}.planet-art>img{width:100%;height:100%;object-fit:cover;object-position:50% 70%;transition:opacity .4s,transform .8s var(--ease);transform:scale(1.015)}.planet-art-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0c131b,transparent 50%);pointer-events:none}.planet-file{position:absolute;top:18px;left:23px;right:23px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#c7d4db;text-shadow:0 2px 6px #000}.art-expand{position:absolute;bottom:12px;right:17px;background:#071017b8;border:1px solid #9cbbc65c;padding:9px 12px;font-size:12px;display:flex;gap:9px;align-items:center}.art-expand span{font-size:20px;line-height:1}.art-expand:hover{background:#1b2c37}.planet-info{padding:23px 28px 22px;transition:opacity .22s,transform .35s}.planet-title-line{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.planet-title-line h3{font:500 34px/1.4 var(--serif);letter-spacing:.13em;margin:0}.planet-title-line>span{font:22px var(--latin);color:#a7bccb;letter-spacing:.12em}.planet-tagline{font:16px/1.9 var(--serif);color:#d0ba95;margin:15px 0}.planet-description{font-size:14px;line-height:2;color:#a2aeb8;margin:0 0 23px}.planet-meta{margin:0;padding-top:18px;border-top:1px solid #829bab23;display:grid;gap:10px}.planet-meta>div{display:flex;justify-content:space-between;gap:20px;font-size:12px}.planet-meta dt{color:#6f8797}.planet-meta dd{margin:0;color:#bac5cc}.planet-navigation{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #8495a22c;padding:10px 13px 10px 28px}.planet-navigation>span{font-size:11px;color:#7e97a7;letter-spacing:.1em}.planet-navigation>div{display:flex;gap:3px}.planet-navigation button{background:transparent;border:1px solid #7694a02e;width:44px;height:40px;font-size:19px;color:#b7cad3;transition:background .3s}.planet-navigation button:hover{background:#27404c}.planet-panel.changing .planet-info{opacity:.3;transform:translateY(5px)}.planet-panel.changing .planet-art>img{opacity:.4;transform:scale(1.045)}.atlas-outro{display:flex;align-items:center;justify-content:center;gap:20px;padding:70px 0 65px}.tiny-orbit{color:#b99e6f;font:28px var(--latin)}.atlas-outro p{margin:0;font:15px/1.8 var(--serif);letter-spacing:.04em;color:#8696a1}.atlas-outro a{font-size:12px;letter-spacing:.04em;margin-left:auto;color:#a1aeb9}.footer-chapters{font-size:9px;letter-spacing:.06em}.footer-chapters i{font-style:normal;padding:0 8px;color:#536473}
.media-dialog{border:1px solid #7c7973;background:#080b0f;color:var(--paper);padding:0;width:min(1100px,92vw);max-height:90svh;box-shadow:0 20px 100px #000;overflow:auto}.media-dialog::backdrop{background:#020405eb;backdrop-filter:blur(12px)}.dialog-header{position:sticky;top:0;z-index:2;background:#090e14;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;border-bottom:1px solid #ffffff25;font-size:13px;letter-spacing:.08em}.dialog-close{font-size:20px;width:42px;height:42px;background:transparent;color:#c2c8ce}.dialog-close:hover{background:#28313b}.media-dialog>video{display:block;width:100%;max-height:76svh;background:black}.art-dialog{width:fit-content;max-width:92vw}.art-dialog>img{display:block;max-width:90vw;max-height:78svh;object-fit:contain;margin:auto}.media-fallback{padding:20px;font-size:14px}.media-fallback a{color:var(--gold);text-decoration:underline}.dialog-open{overflow:hidden}.noscript-note{padding:20px;text-align:center;font-size:14px;color:#bba886}.motion-paused #embers{opacity:0}.motion-paused .selected-route{animation:none}
@keyframes route-flow{to{stroke-dashoffset:-200}}@keyframes node-pulse{50%{transform:scale(1.17);opacity:.4}}
@media(min-width:1700px){.story-content{width:36%}.empire-copy{left:58%}.gray-copy{left:11%}}
@media(max-width:1100px){.atlas-layout{gap:30px;grid-template-columns:1.1fr 1fr}.planet-info{padding:20px}.story-content h2{font-size:48px}.story-description{font-size:15px}.story-quote{font-size:17px}.story-index{top:105px}.map-surface{min-height:390px}.planet-node{min-width:55px}.node-label{font-size:13px}.story-content{width:41%}.empire-copy{left:55%}.gray-copy{left:6%}}
@media(max-width:800px){.atlas-layout{grid-template-columns:1fr;gap:38px}.map-surface{min-height:390px}.atlas-chart{max-width:720px;width:100%;margin:auto}.planet-panel{display:grid;grid-template-columns:1fr 1.1fr}.planet-art{height:100%;aspect-ratio:auto;min-height:320px}.planet-info{padding:25px}.planet-navigation{grid-column:1/-1}.explorer-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:40px}.explorer{padding-top:90px}.explorer h2{font-size:42px}.footer-chapters{display:none}.story-content h2{font-size:38px}.story-description{font-size:14px}.story-quote{font-size:16px}.story-content{top:51%;width:44%}.empire-copy{left:52%}.gray-copy{left:5%}}
@media(max-width:600px){.orbital-stage{height:100svh;margin-bottom:-100svh}.three-ready .hero-content:before{inset:-30px -15px;background:radial-gradient(ellipse at 25% 65%,#04060bdd,transparent 80%)}.three-ready .hero-content{top:56%}.three-ready .hero-shade{opacity:1;z-index:-1;background:linear-gradient(0deg,#06080bd9,transparent 85%)}.hero h1{font-size:clamp(44px,11.8vw,68px)}.hero-english{font-size:clamp(21px,5.4vw,30px);letter-spacing:.08em}.header{gap:9px}.header nav{gap:15px}.nav-link{font-size:13px}.story-scroll{height:340svh}.story-stage{min-height:650px}.story-index{top:96px;left:6%;right:6%;align-items:flex-start}.story-index>span{font-size:9px;letter-spacing:.07em}.story-tabs{gap:8px}.story-tabs button{font-size:22px;gap:7px;padding:0 0 8px}.story-tabs button span{font-size:12px}.story-tab-divider{width:14px}.story-content{top:55%;transform:translateY(-15%);width:87%;left:7%;padding:20px 0}.story-content:before{content:'';position:absolute;inset:-20px -20px;z-index:-1;background:radial-gradient(ellipse,#070a0dcf,transparent 77%)}.story-content h2{font-size:36px;line-height:1.5;letter-spacing:.09em;margin-bottom:18px}.story-content .eyebrow{margin-bottom:17px}.story-description{font-size:14px;line-height:1.9;margin-bottom:20px}.story-quote{font-size:15px}.story-signature{font-size:11px}.story-bottom{bottom:27px;gap:17px}.story-status{font-size:10px;min-width:120px}.story-step{font-size:20px}.story-step span{padding:0 4px}.explorer{padding:78px 6% 0}.explorer h2{font-size:34px}.explorer-intro{font-size:14px}.explorer .eyebrow{font-size:11px}.map-surface{min-height:360px;aspect-ratio:1.1}.atlas-caption{font-size:10px;gap:7px}.atlas-count{font-size:9px}.planet-node{min-width:45px;min-height:70px}.node-label{font-size:12px}.node-label small{font-size:8px}.map-bottom{font-size:10px}.planet-panel{display:block}.planet-art{height:auto;aspect-ratio:1.45;min-height:0}.planet-info{padding:22px}.planet-description{font-size:14px}.planet-title-line h3{font-size:30px}.atlas-outro{flex-wrap:wrap;justify-content:flex-start;gap:12px;padding:44px 0}.atlas-outro p{font-size:13px;flex:1}.atlas-outro a{width:100%;margin:7px 0 0 37px}.media-dialog{width:94vw;max-width:94vw}.dialog-header{font-size:11px;padding:8px 10px}.story-content .text-link{font-size:13px}}
/* Panoramic atlas: labels and controls stay real, selectable text over the original world art. */
.explorer{isolation:isolate;background:#060a11}.world-backdrops{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.world-backdrops:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#060a11 0%,#060a119e 18%,#060a11c9 57%,#060a11 100%)}.world-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;opacity:0;filter:blur(8px) saturate(.7);transform:scale(1.05);transition:opacity 1.1s ease}.world-backdrop.visible{opacity:.6}.explorer .atlas-layout{display:block;max-width:1600px}.explorer .atlas-chart{max-width:none;width:100%}.map-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#a8946e #142132;overscroll-behavior-x:contain;border:1px solid #71829740;margin-top:24px}.explorer .map-surface{aspect-ratio:1672/941;min-height:0;min-width:850px;background:#040811;overflow:hidden}.atlas-panorama{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.82);pointer-events:none}.explorer .planet-node{width:var(--diameter);aspect-ratio:1;min-width:0;min-height:0;padding:0;display:block;border-radius:50%;color:#ece6d8;outline-offset:5px}.explorer .node-symbol{position:absolute;inset:0;width:100%;height:100%;margin:0;border:1px solid transparent;background:transparent;transition:border-color .4s,box-shadow .4s}.explorer .node-symbol:after{content:'';position:absolute;inset:-5px;border:1px solid transparent;border-radius:50%;animation:none}.explorer .planet-node:hover .node-symbol{border-color:#d2c9b88c;box-shadow:0 0 35px #c5d7ef30}.explorer .planet-node.selected .node-symbol{border-color:#f1d5a4;box-shadow:0 0 22px #edbd7659,inset 0 0 25px #d0aa7430}.explorer .planet-node.selected .node-symbol:after{border-color:#e8cfa94d;animation:none}.explorer .node-label{position:absolute;left:50%;top:calc(100% + 7px);transform:translateX(-50%);font:600 clamp(14px,1.25vw,21px)/1.6 var(--serif);letter-spacing:.14em;text-align:center;padding:2px 12px 4px;background:#030810bf;text-shadow:0 2px 7px #000;border-bottom:1px solid #b6c7db26}.explorer .node-label small{font:500 clamp(10px,.9vw,14px)/1.6 var(--latin);letter-spacing:.16em;color:#b3c4d9}.explorer .planet-node.selected .node-label{color:#f7dfb8;border-color:#d8bc87}.explorer .planet-node.selected small{color:#dfc99e}.planet-node[data-planet='hivekin'] .node-label{left:32%}.explorer .map-bottom{border:0;padding:19px 0 35px}.explorer .planet-panel{display:grid;grid-template-columns:minmax(260px,.85fr) 1.15fr;max-width:1100px;margin:15px auto 0;background:#09101cd9;border-color:#8298ab33}.explorer .planet-art{height:100%;aspect-ratio:auto;min-height:355px}.explorer .planet-info{padding:34px 40px}.explorer .planet-art-shade{background:linear-gradient(0deg,#080e16b3,transparent 40%)}.explorer .planet-title-line h3{font-size:38px}.explorer .planet-description{font-size:15px}.explorer .planet-navigation{grid-column:1/-1}.explorer .planet-meta{margin-top:24px}.atlas-caption{color:#b1c0d0}.atlas-count{color:#b9c7d3}.map-bottom{color:#acbbc7}.planet-meta dt,.planet-navigation>span{color:#93a8b9}
@media(max-width:800px){.explorer .planet-info{padding:27px}.explorer .planet-art{min-height:350px}.explorer .planet-title-line h3{font-size:31px}.explorer .planet-title-line>span{font-size:19px}.explorer .planet-meta>div{flex-direction:column;gap:6px}.explorer .node-label{font-size:14px}}
@media(max-width:600px){.explorer .planet-panel{display:block;margin-top:0}.explorer .planet-art{height:235px;min-height:0}.explorer .planet-info{padding:26px}.explorer .planet-description{font-size:14px}.explorer .planet-meta>div{flex-direction:row;gap:12px}.explorer .node-label{font-size:14px}.explorer .node-label small{font-size:11px}.explorer .map-bottom{font-size:11px;line-height:1.8;padding-bottom:25px}.map-viewport{margin-top:16px;margin-left:-6.82%;margin-right:-6.82%;border-left:0;border-right:0}.explorer .planet-navigation{padding-left:26px}}
@media(max-width:600px) and (max-height:740px){.story-content{top:49%}.story-content h2{font-size:30px;line-height:1.4;margin-bottom:12px}.story-content .eyebrow{margin-bottom:12px}.story-description{font-size:13px;line-height:1.8;margin-bottom:12px}.story-quote{font-size:14px}.story-content .text-link{padding:7px 0}.story-bottom{bottom:20px}}
/* The cover wordmark preserves the planet inside 戶 and the orbit around O. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero h1.cover-title{width:min(650px,48vw);font-size:0;line-height:0;letter-spacing:0;margin:30px 0 0 -20px;background:none;filter:none}.title-wordmark{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 20px #0008)}
@media(max-width:900px){.hero h1.cover-title{width:min(650px,68vw);margin-left:-18px}}
@media(max-width:600px){.hero h1.cover-title{width:calc(100% + 30px);max-width:460px;margin:25px 0 0 -15px}.hero .hero-rule{margin-top:30px}.three-ready .hero-content{top:57%}}
/* Quena keeps the reference hemisphere intact; the camera moves around the layered artwork. */
.gray-backdrop{background-image:url('assets/quena-port.webp');background-position:center}.quena-stage{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;perspective:1200px}.quena-world{position:absolute;left:50%;top:50%;width:min(76vw,87svh);aspect-ratio:1;transform:translate(-50%,-50%) translateX(var(--quena-x,65vw)) scale(var(--quena-scale,.62)) rotate(var(--quena-angle,-5deg));will-change:transform}.quena-world img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 25px #89c9e013)}.quena-invaded{opacity:0}.story-content h2{line-height:1.5}
/* Each map body is a separate rigid layer. Its front view never bends into invented terrain. */
.map-surface{perspective:1000px;--drift-x:0px;--drift-y:0px}.atlas-panorama{transform:scale(1.018) translate(calc(var(--drift-x)*-.25),calc(var(--drift-y)*-.25));transition:transform 1s ease-out}.explorer .planet-node{transform:translate(-50%,-50%) translate(var(--drift-x),var(--drift-y));transition:transform 1s ease-out,color .4s}.orb-shell{position:absolute;inset:-5%;display:block;filter:drop-shadow(0 7px 14px #000c);transform-origin:center;animation:orb-drift var(--orbit-duration,30s) ease-in-out var(--orbit-delay,0s) infinite}.planet-portrait{display:block;width:100%;height:100%;mask-image:radial-gradient(ellipse closest-side,#000 86%,#000b 93%,transparent 100%)}.planet-portrait>svg,.planet-portrait>img{display:block;width:100%;height:100%;object-fit:contain}.planet-node[data-planet='quena'] .planet-portrait{mask-image:none}.explorer .node-symbol{inset:-5%;width:110%;height:110%;border-radius:50%;pointer-events:none}.explorer .node-label{top:calc(100% + 9px);z-index:3}.explorer .planet-node:hover .orb-shell{filter:brightness(1.18) drop-shadow(0 0 19px #91bed14d)}
@keyframes orb-drift{0%,100%{transform:translateY(-3px) rotate(-3deg)}50%{transform:translateY(3px) rotate(3deg)}}
.world-dialog{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100svh;margin:0;padding:0;border:0;color:#ebe5da;background:#030810f5;overflow:hidden;isolation:isolate}.world-dialog::backdrop{background:#010408bd;backdrop-filter:blur(8px)}.focus-space{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#04090fe6,#04090f6b 60%,#04090f00),url('assets/atlas-space.webp') center/cover;opacity:.55}.focus-orb{position:absolute;top:50%;left:43%;width:min(86vw,106svh);height:min(86vw,106svh);margin-top:calc(min(86vw,106svh)*-.5);filter:drop-shadow(0 0 60px #7ba5d62b);transform-origin:center;will-change:transform;pointer-events:none}.focus-orb .planet-portrait{animation:focus-float 35s ease-in-out infinite}.focus-orb[data-world='quena'] .planet-portrait{mask-image:none}.focus-close{position:absolute;top:35px;left:5%;z-index:3;display:flex;align-items:center;gap:24px;padding:12px 16px;border:1px solid #e4d4ac50;background:#060d16bb;font-size:14px;letter-spacing:.08em}.focus-close:hover{border-color:#d2b37a;background:#1c2835}.focus-close span:last-child{font-size:22px}.focus-coordinate{position:absolute;right:5%;top:36px;display:flex;gap:24px;font-size:11px;letter-spacing:.18em;color:#adbcca}.focus-coordinate span{color:#dfc895}.focus-info{position:absolute;left:7%;top:50%;transform:translateY(-45%);width:min(420px,35%);z-index:2;text-shadow:0 3px 18px #000}.focus-info h2{font:500 clamp(40px,4.2vw,68px)/1.5 var(--serif);letter-spacing:.12em;margin:18px 0}.focus-info .eyebrow{letter-spacing:.25em;color:#d7bf90}.focus-tagline{font:18px/1.9 var(--serif);color:#dec9a4}.focus-info>p:not(.eyebrow):not(.focus-tagline){font-size:15px;line-height:2.2;color:#c4ccd2}.focus-info dl{margin:30px 0;font-size:13px;border-top:1px solid #aebcd22b;padding-top:20px;display:grid;grid-template-columns:90px 1fr;gap:14px}.focus-info dt{color:#7f98ae}.focus-info dd{margin:0;color:#cbd4dd}.focus-info .text-link{background:transparent;color:#e5d4b5}.focus-bottom{position:absolute;left:7%;right:5%;bottom:35px;display:flex;align-items:center;gap:10px;color:#a2b3c5;font-size:12px;letter-spacing:.1em}.focus-bottom>span{margin-right:auto}.focus-bottom button{height:45px;width:52px;border:1px solid #9db2c547;background:#0d1726b0;font-size:23px}.world-dialog[open] .focus-info{animation:focus-copy .85s .4s both}.world-dialog.closing .focus-info,.world-dialog.closing .focus-bottom{opacity:0;transition:opacity .2s}.world-dialog.closing .focus-space{opacity:0;transition:opacity .45s}
@keyframes focus-copy{from{opacity:0;translate:-30px 0}to{opacity:1;translate:0 0}}@keyframes focus-float{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.music-control{display:flex;align-items:center;gap:9px;background:transparent;padding:9px 5px;white-space:nowrap;color:#d6c8a9;font-size:11px;letter-spacing:.05em}.music-bars{width:18px;height:18px;display:flex;align-items:center;gap:3px}.music-bars i{width:2px;height:4px;background:currentColor;transition:height .4s}.music-control.playing .music-bars i{animation:music-meter 1.1s ease-in-out infinite alternate}.music-control.playing .music-bars i:nth-child(2){animation-delay:-.3s}.music-control.playing .music-bars i:nth-child(3){animation-delay:-.7s}.music-control.playing .music-bars i:nth-child(4){animation-delay:-.5s}@keyframes music-meter{to{height:17px}}
@media(max-width:1000px){.header nav{gap:22px}.music-label{display:none}.focus-info{left:6%;width:40%}.focus-info h2{font-size:42px}.focus-orb{left:40%;width:95svh;height:95svh;margin-top:-47.5svh}}
@media(max-width:600px){.header{gap:8px}.header nav{gap:12px}.nav-link{font-size:11px}.music-control{padding:7px 2px}.motion-control{padding:4px 2px}.quena-world{top:32%;width:96vw}.focus-coordinate{top:27px;right:6%;font-size:9px;gap:10px}.focus-close{top:20px;left:5%;font-size:12px;gap:13px;padding:8px 11px}.focus-orb{top:30%;left:9%;width:105vw;height:105vw;margin-top:-52.5vw;opacity:.9}.focus-info{left:7%;right:7%;width:auto;top:auto;bottom:105px;transform:none;background:linear-gradient(0deg,#050a10ee,#050a10b8 68%,transparent);padding-top:20px}.focus-info h2{font-size:35px;margin:8px 0}.focus-info .eyebrow{margin:0;font-size:11px}.focus-tagline{font-size:15px;margin:7px 0}.focus-info>p:not(.eyebrow):not(.focus-tagline){font-size:13px;line-height:1.9;margin:12px 0}.focus-info dl{font-size:12px;margin:14px 0;gap:7px;padding-top:12px;grid-template-columns:80px 1fr}.focus-info .text-link{font-size:12px;padding:7px 0}.focus-bottom{bottom:25px;left:7%;right:7%;font-size:10px}.focus-bottom>span{max-width:180px}.focus-bottom button{width:40px;height:40px}.world-dialog[open] .focus-info{animation-delay:.25s}}
@media(max-width:600px) and (max-height:720px){.focus-info{bottom:85px}.focus-orb{top:28%}.focus-info h2{font-size:30px}.focus-info dl{margin:10px 0}.focus-info .focus-tagline{display:none}.focus-info>p:not(.eyebrow):not(.focus-tagline){font-size:12px;line-height:1.8}.focus-bottom{bottom:20px}}
/* Full-resolution planet portraits: the atlas and close-up share original detail. */
.planet-portrait,.focus-orb .planet-portrait{mask-image:none}
.focus-orb{width:min(86vw,106svh,1200px);height:min(86vw,106svh,1200px);margin-top:calc(min(86vw,106svh,1200px)*-.5)}
.focus-orb .planet-portrait>img{object-fit:contain;image-rendering:auto}
.focus-info{max-height:calc(100svh - 200px);overflow-y:auto;scrollbar-width:thin}
@media(min-width:601px) and (max-height:740px){.focus-info{top:49%;transform:translateY(-44%)}.focus-info h2{font-size:36px;margin:10px 0}.focus-info dl{margin:16px 0;padding-top:13px}.focus-info .eyebrow{margin-bottom:15px}.focus-info>p:not(.eyebrow):not(.focus-tagline){font-size:13px;line-height:1.9}.focus-bottom{bottom:24px}}
@media(max-width:600px){.focus-orb{width:105vw;height:105vw;margin-top:-52.5vw}.focus-info{max-height:calc(100svh - 180px)}}
/* Continuous axial turns replace the former rocking animation. */
.orb-shell{animation:none;transform:none}
.planet-portrait,.focus-orb .planet-portrait{transform-origin:50% 50%}
.planet-node.distant-world .node-label{color:#ffedbe;white-space:nowrap}
.planet-node.distant-world .node-label small{color:#d1bc83}
.planet-node.distant-world .orb-shell{filter:drop-shadow(0 0 16px #f6cd7666)}
.planet-node.distant-world:before{content:'';position:absolute;inset:-38%;border:1px dashed #d2b57060;border-radius:50%;pointer-events:none}
.world-dialog[data-world='ote'] .focus-orb{filter:drop-shadow(0 0 70px #b58a2940)}
/* The sphere surface rotates; foreground architecture and the silhouette stay stable. */
.planet-portrait,.focus-orb .planet-portrait{position:relative;animation:none;transform:none}
.planet-spin-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.planet-portrait.spin-ready>.planet-spin-canvas{opacity:1}
.orion-sky{position:absolute;inset:0;background:radial-gradient(ellipse at 49% 53%,#10192566,transparent 68%),url('assets/orion-sky.svg') center/cover;opacity:.9;pointer-events:none}
.focus-space{background:linear-gradient(90deg,#030810e8,#03081030 75%),url('assets/orion-sky.svg') center/cover;opacity:1}
.focus-info{top:50%;transform:translateY(-46%);width:min(490px,39%);max-height:calc(100svh - 180px);overflow:visible}
.focus-info h2{font-size:clamp(36px,4vw,62px);margin:12px 0}
.focus-tagline{font-size:17px;line-height:1.9;margin:0 0 23px;max-width:28em}
.focus-tabs{display:flex;gap:26px;border-bottom:1px solid #c7b99330;margin-bottom:20px}
.focus-tabs button{position:relative;padding:10px 0;background:none;font-size:12px;letter-spacing:.1em;color:#8694a3}
.focus-tabs button[aria-selected='true']{color:#e8d0a5}
.focus-tabs button[aria-selected='true']:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:#d6b573}
.focus-tabs button[hidden]{display:none}
.focus-copy{height:clamp(170px,30svh,310px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6c6047 transparent;padding-right:20px;color:#bcc6cf;font-size:14px;line-height:2.1;mask-image:linear-gradient(#000 calc(100% - 10px),transparent)}
.focus-copy p{margin:0 0 1.1em}.focus-copy h3{font:500 15px/1.7 var(--serif);color:#e1cba5;margin:20px 0 10px;letter-spacing:.12em}.focus-copy h3:first-child{margin-top:0}.focus-copy strong{font-weight:500;color:#e0d4bf}.focus-copy ul{padding-left:18px;margin:0 0 22px}.focus-copy li{padding-left:3px;margin-bottom:6px}.focus-info .text-link{margin-top:12px;font-size:12px}
.focus-orb{left:44%;filter:drop-shadow(0 0 40px #7ba5d61a)}
@media(max-width:600px){.orion-sky{background-position:44% center;opacity:.7}.focus-info{left:7%;right:7%;width:auto;top:auto;bottom:87px;transform:none;max-height:61svh;overflow:hidden;padding:22px 0 0;background:linear-gradient(0deg,#050a10f5 65%,#050a10b5 90%,transparent)}.focus-info h2{font-size:32px;margin:6px 0}.focus-tagline{display:block!important;font-size:13px;line-height:1.85;margin:5px 0 12px}.focus-tabs{gap:24px;margin-bottom:12px}.focus-tabs button{font-size:11px;padding:8px 0}.focus-copy{height:24svh;font-size:13px;line-height:2;padding-right:12px}.focus-copy h3{font-size:14px}.focus-info .text-link{margin-top:7px;padding:5px 0}.focus-orb{left:4%;top:28%;width:108vw;height:108vw;margin-top:-54vw}.focus-bottom{bottom:23px}.focus-coordinate{max-width:43%;font-size:8px;letter-spacing:.07em}.focus-close{gap:10px}.focus-info .eyebrow{font-size:10px}}
@media(max-width:600px) and (max-height:720px){.focus-copy{height:20svh}.focus-info{bottom:75px;max-height:64svh}.focus-tagline{font-size:12px}.focus-info h2{font-size:28px}.focus-bottom{bottom:17px}}
.planet-portrait.spin-ready>img{visibility:hidden}
.orion-sky{background:linear-gradient(90deg,#03081073,#03081012 60%,#0308102e),url('assets/galaxy-background.webp') center/cover;opacity:.7}
.focus-space{background:linear-gradient(90deg,#020610d9 0%,#03081087 42%,#03081022 78%),url('assets/galaxy-background.webp') center/cover;opacity:.78}
.landmark-dialog{background-image:linear-gradient(#02060d88,#02060de6),url('assets/galaxy-background.webp');background-size:cover;background-position:center}

/* Three chapters share one reversible scroll journey. */
.story-scroll{height:520svh}
.story-tabs button:nth-of-type(2).selected{color:#c999ad;border-color:#886071}
.story-tabs button:nth-of-type(3).selected{color:#b5d6db;border-color:#70999f}
.horizon-scene{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#04080c77,#04080ced 75%),url('assets/atlas-space.webp') 80% center/cover;opacity:var(--horizon,0);pointer-events:none}
.horizon-world{position:absolute;left:0;top:16%;width:min(56vw,83svh);aspect-ratio:1;opacity:var(--horizon,0);visibility:hidden;pointer-events:none}
.horizon-copy{left:57%;opacity:0;color:#d2e6e8}
.horizon-copy h2{color:#d5e7e5}
.horizon-copy .eyebrow,.horizon-copy .story-signature{color:#a8c9c9}
.horizon-copy .story-quote{color:#b9d5cf}
.horizon-copy .text-link{display:table;margin-top:20px}
.horizon-line{width:38px;height:2px;background:#9fc7bd}
.story-stage{min-height:0}
.story-content h2{font-size:clamp(34px,4.4vw,68px)}
.story-tabs{gap:14px}
.story-index{top:112px}
.story-tabs button span{white-space:nowrap}
.story-tab-divider{width:16px}
.explorer .planet-node[data-planet='ote'] .node-label{top:auto;bottom:calc(100% + 7px)}
.explorer .planet-node[data-planet='pandora'] .node-label{top:auto;bottom:calc(100% + 7px)}
.explorer .planet-node[data-planet='karl'] .node-label{top:50%;left:-8px;transform:translate(-100%,-50%)}
.explorer .planet-node[data-planet='quena'] .node-label{top:50%;left:calc(100% + 9px);transform:translateY(-50%);text-align:left}
.explorer .planet-node[data-planet='quena'] .node-label:before{content:'';position:absolute;left:-12px;top:50%;width:12px;height:1px;background:#b6c7db80}
.orb-shell{animation:none}
.explorer .planet-node[data-planet='hivekin'] .node-label{left:auto;right:0;transform:none}
.planet-node[data-planet='hivekin'] .node-label small{font-size:12px;letter-spacing:.09em}
.landmark-node{position:absolute;z-index:4;background:transparent;padding:0;border:0;transform:translate(-50%,-50%);color:#e4d6ba}
.temple-node{left:90%;top:24%;width:19%;height:28%;--landmark-color:#66c9ff}
.engine-node{left:84%;top:52%;width:14%;height:24%;--landmark-color:#b66bff}
.landmark-glow{position:absolute;inset:24%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--landmark-color) 42%,transparent),transparent 70%);mix-blend-mode:screen;animation:landmark-pulse 5s ease-in-out infinite;pointer-events:none}
.landmark-node:hover .landmark-glow{inset:9%}
.landmark-label{position:absolute;white-space:nowrap;padding:5px 10px;background:#030810c9;font:500 14px/1.5 var(--serif);letter-spacing:.1em;border-bottom:1px solid #b6c7db40}
.temple-node .landmark-label{bottom:calc(100% + 5px);right:8%}
.engine-node .landmark-label{right:calc(100% + 7px);top:74%}
.landmark-dialog{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#02060d;color:#e8decb;overflow:hidden}
.landmark-dialog::backdrop{background:#010308e8}
.landmark-art{position:absolute;width:min(76svh,80vw);aspect-ratio:1;left:50%;top:46%;transform:translate(-50%,-50%);background-image:url('assets/atlas-space.webp');background-repeat:no-repeat;mask-image:radial-gradient(ellipse,#000 48%,#000c 63%,transparent 73%);animation:landmark-light 5s ease-in-out infinite;--glow:#6285d033}
.landmark-dialog[data-landmark='temple'] .landmark-art{background-size:510% auto;background-position:100% 12%;--glow:#6bbfff44}
.landmark-dialog[data-landmark='engine'] .landmark-art{background-size:660% auto;background-position:90% 56%;--glow:#b66bff44}
.landmark-caption{position:absolute;bottom:7%;left:5%;right:5%;text-align:center;pointer-events:none}
.landmark-caption h2{font:500 clamp(28px,4vw,50px)/1.4 var(--serif);letter-spacing:.14em;margin:14px 0}
.landmark-caption .eyebrow{justify-content:center;color:#aecee7}
@keyframes landmark-pulse{0%,100%{opacity:.32}50%{opacity:.85}}
@keyframes landmark-light{0%,100%{filter:brightness(1) drop-shadow(0 0 18px var(--glow))}50%{filter:brightness(1.14) drop-shadow(0 0 38px var(--glow))}}
.motion-paused .landmark-glow,.motion-paused .landmark-art{animation-play-state:paused}
.model-feature{position:absolute;left:69%;top:10%;z-index:5;background:#07101aea;border:1px solid #ac907267;padding:10px 14px;text-align:left;color:#e2cba7;font-size:14px;white-space:nowrap;cursor:pointer;box-shadow:0 8px 25px #0007}
.model-feature:after{content:'';position:absolute;left:15px;top:100%;width:1px;height:24px;background:#b79871}
.model-feature span{display:block;font-size:12px;color:#a4b6c9;margin-top:5px}
.model-feature:hover{border-color:#dfc396;background:#15202f}
.satellite-dialog{color:#d3dce4;background:#09101bea;border:1px solid #9e875b66;width:min(650px,90vw);max-height:85svh;padding:0;backdrop-filter:blur(24px)}
.satellite-dialog::backdrop{background:#02050ba8;backdrop-filter:blur(8px)}
.satellite-copy{padding:22px 32px 32px;font-size:16px;line-height:1.95}
.satellite-copy h2{font:500 36px/1.4 var(--serif);color:#e7d1ad;margin:12px 0}
.satellite-copy h3{font:500 20px var(--serif);color:#d9bd8d;margin-top:25px}
.satellite-subtitle{color:#a7b3c0;font-size:14px}
.landmark-dialog{background-image:linear-gradient(#02060d88,#02060de6),url('assets/galaxy-background.webp');background-size:cover;background-position:center}
@media(prefers-reduced-motion:reduce){.landmark-glow,.landmark-art{animation:none}}
.focus-orb{pointer-events:auto;touch-action:none;cursor:grab;z-index:1}
.focus-orb:active{cursor:grabbing}
.focus-orb:focus-visible{outline:1px solid #c7ad7480;outline-offset:-20px;border-radius:50%}
.focus-rotate-hint{position:absolute;right:7%;bottom:100px;font-size:12px;letter-spacing:.12em;color:#a6b7c5;pointer-events:none}
.focus-info{pointer-events:none}
.focus-info>*{pointer-events:auto}
.focus-tabs button{font-size:14px}
.focus-copy{font-size:16px}
@media(max-width:1000px){.story-tabs{gap:10px}.story-tab-divider{display:none}.story-index>span{font-size:10px}.horizon-copy{left:53%;width:43%}.story-content h2{font-size:38px}}
@media(max-width:700px){.story-scroll{height:530svh}.story-index{top:87px;display:block}.story-index>span{display:none}.story-tabs{justify-content:space-between;gap:10px}.story-tabs button{font-size:22px;gap:7px}.story-tabs button span{font-size:14px}.story-content{left:7%;width:86%;top:48%;transform:none;padding:0}.story-content h2{font-size:30px;line-height:1.4;margin-bottom:12px}.story-content .eyebrow{margin-bottom:12px}.story-description{font-size:14px;line-height:1.8;margin-bottom:14px}.story-quote{font-size:15px}.story-signature{font-size:12px}.horizon-world{left:12%;top:14%;width:78vw}.horizon-copy .text-link{margin-top:12px}.story-bottom{bottom:20px}.story-status{font-size:11px;min-width:0;letter-spacing:.04em}.story-step{font-size:18px}.story-step span{padding:0 3px}.focus-rotate-hint{top:82px;bottom:auto;right:7%;font-size:12px}.focus-copy{font-size:14px}.focus-tabs button{font-size:14px}}
@media(max-height:740px) and (min-width:701px){.story-index{top:90px}.story-content{top:49%}.story-content h2{font-size:36px;line-height:1.35;margin-bottom:12px}.story-content .eyebrow{margin-bottom:12px}.story-quote{font-size:16px}.story-description{font-size:14px;line-height:1.85;margin-bottom:15px}.story-bottom{bottom:22px}}

@media(max-width:600px){.world-dialog[data-world='tania'] .focus-rotate-hint{display:none}}
body.motion-paused .world-dialog[open] .focus-info,body.motion-paused .hero-reveal{animation:none;opacity:1;translate:0 0}
