/* Three typographic voices. Display subsets are self-hosted; body text stays legible. */
@font-face{font-family:Reverie Star;src:url('assets/fonts/Reverie-Star-CN.woff2') format('woff2'),url('assets/fonts/Reverie-Star-CN.woff2?fontRetry=1') format('woff2');font-display:swap}
@font-face{font-family:Reverie Autumn;src:url('assets/fonts/Reverie-Autumn-CN.woff2') format('woff2'),url('assets/fonts/Reverie-Autumn-CN.woff2?fontRetry=1') format('woff2');font-display:swap}
@font-face{font-family:Reverie Cinema;src:url('assets/fonts/Reverie-Cinema-CN.woff2') format('woff2'),url('assets/fonts/Reverie-Cinema-CN.woff2?fontRetry=1') format('woff2');font-display:swap}
@font-face{font-family:Tektur;src:url('assets/fonts/Tektur-Regular.ttf');font-display:swap}
@font-face{font-family:Jura;src:url('assets/fonts/Jura-Medium.ttf');font-display:swap}
@font-face{font-family:Lora;src:url('assets/fonts/Lora-Regular.ttf');font-display:swap}
@font-face{font-family:Lora;src:url('assets/fonts/Lora-Italic.ttf');font-style:italic;font-display:swap}
@font-face{font-family:NothingYouCouldDo;src:url('assets/fonts/NothingYouCouldDo-Regular.ttf');font-display:swap}
@font-face{font-family:Gloock;src:url('assets/fonts/Gloock-Regular.ttf');font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('assets/fonts/IBMPlexMono-Regular.ttf');font-display:swap}
.stellar-page{--display:Tektur,'Reverie Star',sans-serif;--serif:Jura,'Reverie Star',sans-serif;--mono:Jura,monospace;--art-cn:'Reverie Star',sans-serif}
.warm-page{--display:Lora,'Reverie Autumn',KaiTi,serif;--serif:Lora,'Reverie Autumn',KaiTi,serif;--mono:'DM Mono',monospace;--art-cn:'Reverie Autumn',KaiTi,serif}
.studio-page{--display:Gloock,'Reverie Cinema',SimSun,serif;--serif:Gloock,'Reverie Cinema',SimSun,serif;--mono:'IBM Plex Mono',monospace;--art-cn:'Reverie Cinema',SimSun,serif}
body,h1,h2,h3,.hero-lead,.manifesto,.card-inscription{caret-color:transparent}
a,button,label,summary{caret-color:transparent;-webkit-tap-highlight-color:transparent}
button,a,[role=tab],.hero-lead,h1,h2,h3{user-select:none;-webkit-user-select:none}
input,textarea,[contenteditable=true]{caret-color:auto;user-select:text;-webkit-user-select:text}
.reverie-dust{position:fixed;left:0;top:0;z-index:9;pointer-events:none;contain:strict;will-change:transform}
.reverie-orbit{position:fixed;left:66%;top:39%;width:min(74vw,970px);aspect-ratio:1;translate:-50% -50%;z-index:8;pointer-events:none;--orbit-colour:#a4d8ff;--orbit-tilt:-16deg;--orbit-flat:.4;opacity:.65;contain:layout style}
.orbit-plane{position:absolute;inset:0;transform:rotate(var(--orbit-tilt)) scaleY(var(--orbit-flat));transition:transform .35s ease}
.reverie-orbit.is-adjusting .orbit-plane{transition:none}
.orbit-turn{position:absolute;inset:5%;border:1px solid color-mix(in srgb,var(--orbit-colour) 35%,transparent);border-radius:50%;animation:orbit-circuit 28s linear infinite;will-change:transform}
.orbit-turn:nth-child(2){inset:14%;animation-duration:38s;animation-direction:reverse;border-style:dashed;border-color:color-mix(in srgb,var(--orbit-colour) 22%,transparent)}
.orbit-turn:nth-child(3){inset:24%;animation-duration:19s}
.orbit-turn b{position:absolute;left:-3px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--orbit-colour);box-shadow:0 0 12px color-mix(in srgb,var(--orbit-colour) 50%,transparent)}
.reverie-orbit[data-sky=aurora]{--orbit-colour:#a4e5c5}.reverie-orbit[data-sky=aurora] .orbit-plane{transform:rotate(calc(var(--orbit-tilt) - 22deg)) scaleY(.66)}
.reverie-orbit[data-sky=solar]{--orbit-colour:#ffc091}.reverie-orbit[data-sky=solar] .orbit-plane{transform:rotate(var(--orbit-tilt)) scaleY(.85)}
.reverie-orbit.is-still .orbit-turn,.motion-off .orbit-turn{animation-play-state:paused}.reverie-orbit.is-wishing{animation:orbit-wish 1.2s ease-out}
.orbit-control{display:flex;gap:12px;align-items:center}.orbit-control span{font:9px var(--mono);letter-spacing:.16em;color:#9ab8d4}.orbit-handle,.dust-button{display:grid;place-items:center;width:46px;height:46px;min-height:46px;border:1px solid #a4d8ff55;border-radius:50%;background:#0b1526;color:#c7e4ff;font-size:22px;touch-action:none;cursor:grab;transition:background .2s,scale .2s}.orbit-handle:hover,.dust-button:hover{background:#1b344e;scale:1.08}.orbit-handle.is-dragging{cursor:grabbing;background:#22466a}
@keyframes orbit-circuit{to{transform:rotate(360deg)}}@keyframes orbit-wish{0%,100%{opacity:.65}30%{opacity:1}}
.reverie-star{--paper:#05080f;--panel:#0c1423;--accent:#a4d8ff;background:var(--paper);isolation:isolate}
.reverie-star:before{content:'';position:fixed;inset:-10%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 72% 30%,#24559e33,transparent 45%),radial-gradient(ellipse at 10% 70%,#9a463919,transparent 38%);transition:background 1.2s}
.reverie-star[data-sky=aurora]:before{background:repeating-conic-gradient(from 30deg at 80% 0,#042d2520 0deg,#6cb88738 12deg,transparent 26deg 40deg),radial-gradient(ellipse at 80% 20%,#32816d55,transparent 55%)}
.reverie-star[data-sky=solar]:before{background:radial-gradient(circle at 68% 24%,#05080f 0 100px,#ffb07a99 101px,#d2693330 112px,transparent 200px),radial-gradient(ellipse at 68% 24%,#7d462c55,transparent 60%)}
.reverie-star .director-stage{min-height:880px;background:transparent;overflow:hidden;padding-top:64px;gap:20px 32px}
.reverie-star .director-atmosphere{display:none}
.reverie-star .director-title{grid-column:1/9;grid-row:1;align-self:start;z-index:3;pointer-events:none}
.reverie-star .director-title .eyebrow{font:10px var(--mono);color:#8096b4;margin-bottom:34px;letter-spacing:.15em}
.reverie-star .director-title h1{font:clamp(66px,10vw,152px)/.86 Tektur,sans-serif;letter-spacing:-.055em;margin:0;display:block;overflow-wrap:normal}
.reverie-star .director-title h1 em{font:clamp(22px,3.8vw,56px)/1.5 Jura,sans-serif;letter-spacing:.04em;margin:16px 0 0 5%;display:block;color:#b8cff0}
.reverie-star .director-stage .hero-copy{grid-column:1/6;grid-row:2;max-width:440px;padding-top:10px;align-self:start}
.reverie-star .director-stage .hero-lead{font:clamp(32px,3.2vw,52px)/1.22 var(--art-cn);letter-spacing:.06em;margin-bottom:22px;color:#f4eee3}
.reverie-star .director-stage .hero-art{grid-column:8/13;grid-row:1/3;align-self:end;max-width:390px;min-height:0;margin:95px 0 40px;padding:0;rotate:3deg}
.reverie-star .director-stage .orbit-photo{padding:12px;border-color:#a3bad247;background:#111c2c85;box-shadow:0 20px 80px #0008;clip-path:polygon(0 0,94% 0,100% 7%,100% 100%,6% 100%,0 93%)}
.reverie-star .director-stage .orbit,.reverie-star .galaxy-field,.reverie-star .starfield,.reverie-star .director-stage .scene-console,.reverie-star .director-instrument,.reverie-star .star-map,.reverie-star .orbital-stations,.reverie-star .orbit-symbol{display:none!important}
.reverie-star .director-stage .orbit-note{rotate:-3deg;margin-top:20px;background:transparent;border:0;border-top:1px solid #b9daf533;padding-top:18px;border-radius:0;box-shadow:none}
.reverie-star .director-stage .hero-coordinate{font:8px var(--mono);position:relative;inset:auto;order:3;letter-spacing:.18em;margin-top:10px}
.reverie-star .director-stage .hero-bottom{margin-top:30px;grid-row:3;grid-column:1/-1}
.reverie-star .director-scene-plate{grid-row:4;border-top:1px solid #b9daf533}
.reverie-star .manifesto{background:transparent;padding-block:42px;border:0}.reverie-star .manifesto p{font:clamp(22px,4vw,56px)/1.2 Jura,sans-serif;letter-spacing:.01em}
.reverie-star .section-head h2{font-family:var(--art-cn);font-weight:400;letter-spacing:.04em}
.reverie-atlas{position:relative;isolation:isolate;margin-inline:var(--gutter);padding:40px 0 30px;min-height:380px;border-block:1px solid #b9daf522}
.atlas-caption{font:9px/1.8 var(--mono);letter-spacing:.15em;color:#97aac2}.atlas-caption strong{display:block;color:#e6efff;font:clamp(26px,3vw,40px)/1.4 var(--art-cn);margin-top:10px;letter-spacing:.09em}
.atlas-space{position:absolute;left:28%;right:3%;top:40px;bottom:70px}
.atlas-space svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.atlas-space path{fill:none;stroke:#a4d8ff3b;stroke-width:1;stroke-dasharray:3 8}
.atlas-point{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;display:flex;gap:12px;align-items:center;background:none;border:0;color:#a3b8d2;transition:color .4s;text-decoration:none}
.atlas-point i{display:grid;place-items:center;width:54px;height:54px;border:1px solid #b9daf544;border-radius:50%;font-style:normal;font-size:27px;transition:box-shadow .4s,rotate .7s,scale .4s;background:#0a121e}
.atlas-point:hover i{rotate:45deg;scale:1.1;box-shadow:0 0 35px #a4d8ff44}.atlas-point span{font-size:13px;white-space:nowrap}.atlas-point small{display:block;font:8px var(--mono);letter-spacing:.1em;margin-top:7px;color:#8397b4}
.atlas-point.is-reached i{border-color:#a4d8ff;background:#16304c}.atlas-point.is-reached{color:#e6efff}
.atlas-moods{position:absolute;left:0;bottom:26px;display:flex;gap:18px;align-items:center;font:9px var(--mono)}
.atlas-moods>span{color:#8b9cb5;letter-spacing:.12em}.atlas-moods .sky-palette{border:0;margin:0;padding:0;background:transparent;box-shadow:none;gap:8px}.atlas-moods .sky-palette small{display:none}.atlas-moods button{min-height:44px;padding-inline:18px;border-radius:0}
.reverie-star #people{padding-top:85px}.reverie-star #people .section-head h2{font:clamp(32px,4.6vw,66px)/1.3 var(--art-cn);letter-spacing:.06em}
.reverie-star .person-panel{position:relative;isolation:isolate;border:0;border-block:1px solid #a4d8ff33;border-radius:0;background:linear-gradient(120deg,#12223a66,transparent 70%);grid-template-columns:.8fr 1fr;gap:4vw;overflow:hidden}
.reverie-star .person-panel:before{content:'';position:absolute;width:390px;height:390px;border:1px solid #88bbe828;border-radius:50%;left:-100px;top:45px;box-shadow:0 0 0 55px #8bb7e608,0 0 0 110px #8bb7e606;z-index:-1}
.reverie-star #mengluo{background:linear-gradient(135deg,transparent,#92734f20);grid-template-columns:1fr .8fr}.reverie-star #mengluo .person-image{order:2}.reverie-star #mengluo .person-content{border:0}
.reverie-star .person-image{padding:50px 24px 30px;align-self:center}.reverie-star .person-image>img{max-height:440px;filter:drop-shadow(0 20px 35px #0009)}
.reverie-star .person-content{padding:36px 20px 32px}.reverie-star .person-heading h3{font:54px/1.1 var(--art-cn);letter-spacing:.1em}.reverie-star .person-content blockquote{font:19px/1.6 var(--art-cn);letter-spacing:.04em}
.reverie-star .contacts{gap:8px 15px}.reverie-star .identity-folio{padding-bottom:16px;opacity:.8}.reverie-star .person-image-label{background:none;border:0;font:9px var(--mono)}
.reverie-star .gallery-section{background:transparent;border:0}.reverie-star .gallery-grid{gap:42px 28px;grid-template-columns:1.35fr .8fr 1fr}.reverie-star .gallery-grid.is-arranged{grid-template-columns:repeat(2,minmax(0,1fr))}
.reverie-star .photo-card{position:relative;--light-x:50%;--light-y:50%;transition:translate .5s;isolation:isolate}.reverie-star .photo-card:before{content:'';position:absolute;inset:-12px;pointer-events:none;background:radial-gradient(circle at var(--light-x) var(--light-y),#87c3fd33,transparent 55%);opacity:0;transition:opacity .5s;z-index:-1}.reverie-star .photo-card:hover:before{opacity:1}
.reverie-star .photo-open{background:#101c2b;padding:8px;box-shadow:0 12px 40px #0005;border:1px solid #a4d8ff24}.reverie-star .photo-open img{height:auto;object-fit:contain}.reverie-star .photo-card:nth-child(3n+2){margin-top:90px}.reverie-star .photo-card:nth-child(3n+3){margin-top:38px}
.reverie-star #signal-room{display:none!important}.reverie-star #flight-journal{padding-block:65px;background:transparent;border-block:1px solid #b9daf522}.reverie-star .enc-route-map{margin-top:40px}.reverie-star .enc-route-head h2{font-family:var(--art-cn);letter-spacing:.04em}
.reverie-star .world-link{border-radius:0;background:transparent;border:0;border-top:1px solid #8bb7e633}.reverie-star .world-thumb{border-radius:0}.reverie-star .world-link h3{font-family:var(--art-cn);letter-spacing:.05em}
.reverie-star .listen-section{background:transparent}
.reverie-star[data-sky=aurora] .director-stage{background:linear-gradient(130deg,transparent,#28534b22)}.reverie-star[data-sky=solar] .director-stage{background:linear-gradient(130deg,transparent,#ac653516)}
.reverie-star .chapter-cue{display:none}
@media(max-width:1000px){.reverie-star .director-title h1{font-size:11vw}.reverie-star .director-title{grid-column:1/10}.reverie-star .director-stage .hero-art{grid-column:8/13;max-width:300px;margin-top:160px}.atlas-space{left:35%}.atlas-point{gap:8px}.atlas-point i{width:44px;height:44px}.atlas-point span{font-size:11px}}
@media(max-width:760px){.reverie-star .director-stage{display:grid!important;grid-template-columns:1fr;min-height:0;padding-top:42px;gap:30px}.reverie-star .director-title{grid-column:1;grid-row:1}.reverie-star .director-title .eyebrow{font-size:8px;margin-bottom:26px}.reverie-star .director-title h1{font-size:14vw}.reverie-star .director-title h1 em{font-size:6vw}.reverie-star .director-stage .hero-copy{grid-column:1;grid-row:2;max-width:100%;padding:0}.reverie-star .director-stage .hero-art{grid-column:1;grid-row:3;width:76%;max-width:360px;margin:12px 0 18px auto;rotate:2deg}.reverie-star .director-stage .hero-bottom{grid-row:4;grid-column:1;margin:0}.reverie-star .director-scene-plate{grid-row:5}.reverie-star .director-stage .hero-lead{font-size:36px}.dust-invitation{margin-top:26px}.reverie-atlas{min-height:490px;padding-top:25px}.atlas-space{left:0;right:5%;top:150px;bottom:115px}.atlas-point i{width:48px;height:48px}.atlas-point span{font-size:11px}.atlas-moods{flex-wrap:wrap;gap:4px;bottom:15px;right:0}.atlas-moods>span{width:100%}.atlas-moods button{padding-inline:12px}.reverie-star .person-panel,.reverie-star #mengluo{grid-template-columns:1fr;gap:0}.reverie-star #mengluo .person-image{order:0}.reverie-star .person-image{padding:40px 20px 20px;max-height:340px}.reverie-star .person-image>img{max-height:280px}.reverie-star .person-content{padding:25px 20px 30px}.reverie-star .person-content blockquote{font-size:18px}.reverie-star .person-heading h3{font-size:44px}.reverie-star .gallery-grid{grid-template-columns:1.15fr .9fr;gap:28px 14px}.reverie-star .photo-card:nth-child(3n+2),.reverie-star .photo-card:nth-child(3n+3){margin-top:0}.reverie-star .photo-card:nth-child(2n){margin-top:45px}.reverie-star .gallery-grid.is-arranged{grid-template-columns:1fr}.reverie-star .gallery-grid.is-arranged .photo-card{margin-top:0}.reverie-star .manifesto{padding-block:30px}.reverie-star .manifesto p{font-size:24px}.reverie-star .manifesto span{font-size:11px}.reverie-star .contacts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.reverie-dust{opacity:.5}.atlas-point i,.dust-button,.orbit-plane,.reverie-star:before{transition:none}.orbit-turn{animation:none}}
.motion-off .reverie-dust{opacity:.5}
.reverie-star .scene-curtain .cut-sheet:first-child{background:#05080f;clip-path:none;mask-image:none}
.reverie-star .scene-curtain .cut-sheet:nth-child(2){background:linear-gradient(115deg,transparent 30%,#96c7ff44 49%,transparent 62%);clip-path:none;mask-image:none;box-shadow:none;opacity:.8}
.reverie-star .scene-curtain .cut-sheet:nth-child(2):after{display:none}
.reverie-star.is-departing .scene-curtain .cut-sheet:first-child{animation:rev-space-close .44s cubic-bezier(.2,.7,.2,1) both}
.reverie-star.is-departing .scene-curtain .cut-sheet:nth-child(2){animation:rev-space-streak .44s ease-out both}
.reverie-star.is-arriving .scene-curtain .cut-sheet:first-child{animation:rev-space-open .68s ease-out both}
.reverie-star.is-arriving .scene-curtain .cut-sheet:nth-child(2){animation:rev-space-streak .68s ease-out both}
@keyframes rev-space-close{from{opacity:0;transform:translate3d(-18%,0,0)}to{opacity:1;transform:none}}
@keyframes rev-space-open{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(12%,0,0)}}
@keyframes rev-space-streak{from{transform:translate3d(-120%,0,0);opacity:0}35%{opacity:1}to{transform:translate3d(120%,0,0);opacity:0}}
.reverie-star .orbit-photo img,.reverie-warm .polaroid,.reverie-cinema .viewfinder{animation:none!important}
