/* Three art directions. Content photographs are never cover-cropped. */
:root{--scene-ease:cubic-bezier(.2,.75,.2,1);--cyan:#a6d9e6}
.person-panel,.season-card,.studio-id{cursor:default;caret-color:transparent}
.person-panel :is(h3,p,blockquote,small,.tags,.person-meta),.season-card :is(h3,p,blockquote,small,.tags,.person-meta),.studio-id :is(h3,p,small,.tags){cursor:default;caret-color:transparent}
.person-panel :is(a,button),.season-card :is(a,button),.studio-id :is(a,button){cursor:pointer}
.photo-open,.warm-page .photo-open,.studio-gallery .photo-open{aspect-ratio:auto;overflow:visible;translate:var(--photo-x,0px) var(--photo-y,0px);transition:translate .4s var(--scene-ease)}
.photo-open img,.warm-page .photo-open img,.studio-gallery .photo-open img{width:100%;height:auto;object-fit:contain;transform:none!important;translate:0 0!important;scale:1!important}
.photo-open:hover img{filter:brightness(1.04)}
.gallery-grid{align-items:start}
.world-thumb img,.world-link:hover img{object-fit:contain;transform:none;scale:1;padding:12px}
.avatar,.person-tab img,.orbit-note img{object-fit:contain;border-radius:8px;background:var(--paper);padding:3px}
.scene-console{position:relative;z-index:6;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:25px;padding:14px 0;border-top:1px solid var(--line);font:10px var(--mono);max-width:480px}
.scene-console>small{flex-basis:100%;font-size:8px;letter-spacing:.17em;color:var(--muted)}
.scene-console button,.gallery-layout-button,.card-note-button{background:none;border:1px solid var(--line);min-height:44px;padding:9px 14px;font-size:11px;color:var(--ink);position:relative;transition:background .25s,border-color .25s,translate .25s}
.scene-console button:hover,.gallery-layout-button:hover,.card-note-button:hover{border-color:var(--accent);background:var(--panel);translate:0 -2px}
.scene-console label{display:flex;align-items:center;gap:10px;color:var(--muted);min-height:44px}
.scene-console input[type=range]{width:100px;min-height:32px;accent-color:var(--accent);cursor:pointer}
.scene-console output{min-width:32px;color:var(--accent);font:10px var(--mono)}
.gallery-layout-button{border-radius:2px;font-family:var(--mono);font-size:10px}
.gallery-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.gallery-story{font-size:11px;color:var(--muted);min-height:18px}
.card-inscription{font:9px var(--mono);letter-spacing:.18em;color:var(--accent);display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px}
.card-note-button{margin-top:22px;display:flex;align-items:center;justify-content:space-between;width:100%;border-width:0 0 1px;padding-left:0;text-align:left;color:var(--accent)}
.card-note-button:after{content:'＋';font-size:20px;transition:rotate .35s}
.card-note-button[aria-expanded=true]:after{rotate:45deg}
.card-note{font:italic 19px/1.7 var(--serif);color:var(--muted);padding:17px 0 3px;max-width:340px}
.card-note:not([hidden]){animation:note-unfold .55s var(--scene-ease)}
.motion-button{border:1px solid var(--line);padding:8px 12px;gap:10px;border-radius:28px;background:var(--panel);transition:background .3s,border-color .3s,scale .3s;min-height:46px;position:relative}
.motion-button:hover{border-color:var(--accent);scale:1.035}
.motion-button i.motion-track{position:relative;width:42px;height:24px;border-radius:24px;background:var(--accent);display:block;flex-shrink:0;transition:background .35s,box-shadow .35s;box-shadow:0 0 16px #efd48d18}
.motion-knob{position:absolute;left:3px;top:3px;width:18px;height:18px;background:var(--paper);color:var(--accent);display:grid;place-content:center;font:12px var(--sans);border-radius:50%;transform:translateX(18px) rotate(180deg);transition:transform .4s var(--scene-ease),color .3s}
.motion-button[aria-pressed=true] .motion-track{background:var(--muted);box-shadow:none}
.motion-button[aria-pressed=true] .motion-knob{transform:translateX(0) rotate(0);color:var(--muted)}
.motion-off .motion-button,.motion-off .motion-button *{transition-duration:.35s!important}
.motion-status{font:8px var(--mono);letter-spacing:.1em}
.motion-button.motion-confirmed:after{content:'';position:absolute;inset:-7px;border:1px solid var(--accent);border-radius:inherit;opacity:0;animation:engine-confirm .6s var(--scene-ease)}
.chapter-cue{position:fixed;right:24px;bottom:88px;z-index:65;pointer-events:none;display:flex;align-items:center;gap:12px;font:10px var(--mono);letter-spacing:.1em;color:var(--accent);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .35s}
.chapter-cue:before{content:'';width:42px;height:1px;background:currentColor;transform-origin:right}
.chapter-cue.visible{opacity:1;transform:none}
.chapter-dock a{position:relative;overflow:hidden;transition:color .3s,background .4s,box-shadow .4s,scale .35s}
.chapter-dock a.is-active{box-shadow:0 0 0 2px var(--accent) inset;scale:1.02}
.chapter-dock a:active{scale:.95}
.scene-curtain{position:fixed;inset:0;pointer-events:none;z-index:85;visibility:hidden;overflow:hidden}
.scene-curtain span{position:absolute;inset:0;background:var(--paper);transform:translateY(102%)}
.is-departing .scene-curtain{visibility:visible}
.is-departing .scene-curtain span{animation:scene-close .42s var(--scene-ease) both}
.warm-page.is-departing .scene-curtain span{transform-origin:left;animation:curtain-paper .42s var(--scene-ease) both}
.stellar-page.is-departing .scene-curtain span{transform:none;animation:curtain-iris .42s var(--scene-ease) both}
.studio-page.is-departing .scene-curtain span:first-child{clip-path:inset(0 0 50%);animation:curtain-top .42s var(--scene-ease) both}
.studio-page.is-departing .scene-curtain span:last-child{clip-path:inset(50% 0 0);animation:curtain-bottom .42s var(--scene-ease) both}
.scene-signature{font:italic 25px var(--serif);color:var(--accent);margin-top:17px}
.section-wrap:target{scroll-margin-top:100px}
.reveal-ready .stellar-page [data-reveal]{transform:translateY(22px);filter:none;transition:opacity .5s var(--scene-ease),transform .5s var(--scene-ease)}
.reveal-ready .stellar-page [data-reveal].revealed{transform:none;filter:none}
.reveal-ready .warm-page [data-reveal]{transform:translateY(28px) rotate(-1.5deg);transition:opacity .8s var(--scene-ease),transform .8s var(--scene-ease)}
.reveal-ready .warm-page [data-reveal].revealed{transform:none}
.reveal-ready .studio-page [data-reveal]{clip-path:none;transform:translateY(15px);transition:opacity .5s var(--scene-ease),transform .5s var(--scene-ease)}
.reveal-ready .studio-page [data-reveal].revealed{clip-path:none;transform:none}
.reveal-ready.motion-off [data-reveal]{opacity:1;transform:none;filter:none;clip-path:none}

/* 01 — a widescreen observatory, cyan dossier / gilded invitation. */
.stellar-page{--paper:#0a151f;--panel:#111f2a;--muted:#9fb1bb;--line:#bdd8e32b}
.stellar-hero{grid-template-columns:1fr 1.1fr;gap:4vw;padding-top:82px;background-size:150px 150px;min-height:850px}
.stellar-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 40%,#42696e15,transparent 60%);pointer-events:none}
.stellar-hero h1{font-size:clamp(88px,9.6vw,152px);letter-spacing:-.03em}
.stellar-hero h1 em{font-size:.62em}
.stellar-hero .hero-art{height:auto;min-height:510px;display:grid;align-content:center;gap:24px}
.stellar-hero .orbit-photo{width:100%;height:auto;border-radius:3px;padding:10px;background:#06111a;overflow:visible;border:1px solid #ecd59470;box-shadow:0 22px 60px #0004}
.orbit-photo img,.orbit-photo:hover img{height:auto;width:100%;object-fit:contain;object-position:center;transform:none;scale:1}
.stellar-hero .orbit{width:112%;height:87%;left:-6%;z-index:0;opacity:.6}
.stellar-hero .orbit.second{height:96%;width:108%;left:-4%;opacity:.26}
.stellar-hero .orbit-note{position:relative;left:auto;bottom:auto;width:max-content;max-width:94%;margin-left:18px;transform:rotate(-3deg);background:#15232c;justify-self:start}
.stellar-hero .hero-coordinate{right:12px;top:0;writing-mode:horizontal-tb;font-size:8px;letter-spacing:.17em}
.stellar-hero .orbit-symbol{bottom:0;right:10px;font-size:56px;min-width:56px}
.orbit-runner{animation-duration:var(--orbit-duration,18s)}
.orbit.second .orbit-runner{animation-duration:var(--outer-orbit-duration,26s)}
.star-map{position:relative;width:100%;max-width:470px;height:180px;margin-top:6px;border-bottom:1px solid var(--line);overflow:hidden;background:radial-gradient(ellipse at center,#18394030,transparent 70%)}
.star-map svg{width:100%;height:100%;stroke:var(--cyan);stroke-width:.6;position:absolute;inset:0}
.star-map path{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1s var(--scene-ease);fill:none;opacity:.7}
.star-map.is-open path{stroke-dashoffset:0}
.map-star{position:absolute;background:none;color:var(--accent);font:10px var(--mono);padding:8px;min-height:44px;min-width:70px;transition:translate .3s,color .3s}
.map-star:before{content:'✦';display:block;font-size:23px;margin-bottom:6px}
.map-star:hover{translate:0 -4px;color:#fff}
.map-star[data-map-person=starrain]{left:12%;top:15px;color:var(--cyan)}
.map-star[data-map-person=mengluo]{right:10%;bottom:7px}
.map-caption{position:absolute;left:0;bottom:13px;font:8px var(--mono);letter-spacing:.13em;color:var(--muted)}
.stellar-page .manifesto{padding:32px var(--gutter);background:#071019;border-color:#bcd4de20}
.stellar-page .profile-tabs{border-bottom:1px solid var(--line);padding-bottom:18px;gap:8px}
.stellar-page .person-tab{border-radius:3px;padding-right:28px;background:#111f2a}
.stellar-page .person-tab[aria-selected=true]{background:#a6d9e6;color:#0a1720;border-color:#a6d9e6}
.stellar-page .person-tab[data-person-tab=mengluo][aria-selected=true]{background:#ead195;border-color:#ead195}
.person-panel{border:1px solid var(--line);background:#0c1b26;grid-template-columns:1.06fr 1fr;position:relative;overflow:hidden;animation:none}
.person-panel:not([hidden]){view-transition-name:personal-dossier}
.person-image{min-height:460px;display:flex;flex-direction:column;justify-content:center;padding:30px;isolation:isolate;overflow:hidden;background:#0c1822}
.person-image:before{content:'';position:absolute;inset:-30px;background-image:var(--portrait-url);background-size:cover;background-position:center;filter:blur(35px);opacity:.13;z-index:-1}
.person-image>img{width:100%;height:auto;max-height:420px;object-fit:contain;border:1px solid #fff2;padding:8px;background:#08131ccc;box-shadow:0 20px 35px #0003}
.person-image-label{position:static;margin-top:22px;color:var(--accent);font-size:9px;text-shadow:none;letter-spacing:.17em}
.person-panel .person-content{padding:36px 40px}
#starrain{--accent:#a6d9e6;--card-symbol:'✦';border-top:2px solid #a6d9e6}
#starrain .person-image:after{content:'STARRAIN / 001';position:absolute;top:25px;left:30px;font:9px var(--mono);letter-spacing:.2em;color:#a6d9e6}
#starrain .person-heading h3{font:50px var(--display);letter-spacing:.03em}
#starrain .tags span{border-radius:2px;background:#a6d9e609;letter-spacing:.08em}
#starrain .avatar{border-radius:3px;border:1px solid #a6d9e65c;width:82px;height:82px}
#mengluo{--accent:#ead195;border:1px solid #ead19550;grid-template-columns:1fr 1.06fr;background:#251f1a}
#mengluo .person-image{order:2;background:#171b20}
#mengluo .person-content{order:1}
#mengluo .person-heading{flex-direction:column;align-items:flex-start;gap:14px}
#mengluo .person-heading h3{font:48px 'STKaiti','KaiTi',var(--serif)}
#mengluo .avatar{width:90px;height:90px;border-radius:10px;border:3px double #ead19570;background:#2e271d}
#mengluo .person-content blockquote{font-family:'STKaiti','KaiTi',var(--serif);font-size:23px}
#mengluo .tags span{border:0;border-bottom:1px solid #ead19560;border-radius:0;padding-left:0;padding-right:0;margin-right:12px}
.stellar-page .gallery-section{background:#121b23}
.stellar-page .filter{border-radius:3px;font-family:var(--mono);font-size:10px}
.stellar-page .photo-card{background:#0a1219;padding:10px;border:1px solid #a6d9e61a}
.stellar-page .photo-card figcaption{padding:5px 4px 4px;font-family:var(--mono)}
.stellar-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.stellar-page .gallery-grid.is-arranged{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin:auto}
.stellar-page .world-link{border-top:2px solid #ecd59470}
.stellar-page .world-link:nth-child(2){background:#2d2b22}
.stellar-page .world-link:nth-child(3){background:#13171e}

/* 02 — a real paper desk, travel ticket / kitten bookmark. */
body.warm-page{--paper:#f4eee2;--panel:#ebe0cc;--accent:#ad492e;--ink:#41382c;--muted:#817363;--line:#a388633d}
.warm-hero{grid-template-columns:.85fr 1.15fr;min-height:790px;padding-top:75px;gap:5vw;background-image:repeating-linear-gradient(transparent 0,transparent 39px,#aa855e0b 40px)}
.warm-hero h1{font-size:clamp(80px,8.3vw,132px);letter-spacing:-.05em}
.warm-hero .hero-art{height:auto!important;min-height:450px;display:grid;grid-template-columns:1fr .43fr;align-items:center;gap:18px;padding:30px 0}
.warm-art .polaroid.primary,.warm-art .polaroid.secondary{position:relative;inset:auto;width:100%;height:auto;max-height:none;padding:12px 12px 15px}
.warm-art .polaroid.primary{transform:rotate(-5deg);align-self:center}
.warm-art .polaroid.secondary{transform:rotate(7deg);margin-top:145px}
.polaroid img,.polaroid.primary img{width:100%;height:auto;object-fit:contain;object-position:center;scale:1}
.polaroid p{position:static;font-size:16px;margin-top:14px;line-height:1.35}
.warm-art .polaroid.secondary p{font-size:14px}
.warm-art .polaroid{transition:transform .65s var(--scene-ease),margin .65s var(--scene-ease)}
.warm-art.is-tidy .polaroid.primary,.warm-art.is-tidy .polaroid.secondary{transform:rotate(0deg)}
.warm-art.is-tidy .polaroid.secondary{margin-top:35px}
.warm-art .warm-stamp{right:10px;top:0}
.warm-art .doodle{left:13px;bottom:4px}
.warm-page .scene-console{border-top-style:dashed}
.warm-page .scene-console button{border-style:dashed;border-radius:0 12px 0 12px}
.warm-page .motion-button{border-style:dashed;background:#fffaf0;border-radius:3px}
.warm-page .motion-knob{font-size:13px}
.warm-page .manifesto{position:relative;background:#e8ddc8;padding:35px var(--gutter);border:0}
.warm-page .manifesto:after{content:'';position:absolute;bottom:-8px;left:0;right:0;height:9px;background:linear-gradient(135deg,#e8ddc8 25%,transparent 25%) 0 0/14px 14px,linear-gradient(225deg,#e8ddc8 25%,transparent 25%) 0 0/14px 14px}
.season-profiles{grid-template-columns:1.06fr .94fr;align-items:start;gap:55px;padding-top:18px}
.season-card{box-shadow:0 12px 40px #6c4b2c0e;border:1px solid #b3987038;padding:36px;background:#fffaf0;overflow:visible}
.season-card .person-heading h3{font-size:47px}
.season-card .card-inscription{font-size:8px}
.season-card .person-content blockquote{font-family:'STKaiti','KaiTi',var(--serif);font-size:22px;min-height:0}
.season-photo{height:auto;aspect-ratio:auto;overflow:visible;margin:28px 0 0;padding:10px;background:#efe7d9;border:1px solid #bba78030}
.season-photo img,.season-card:hover .season-photo img{width:100%;height:auto;object-fit:contain;transform:none;scale:1}
#haifeng{border-top:6px solid #aa4a2c;rotate:-1.3deg;--accent:#a0472f}
#haifeng:before,#haifeng:after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:var(--paper);right:-10px;top:100px;border-left:1px solid var(--line)}
#haifeng:after{top:auto;bottom:110px}
#haifeng .person-heading h3{font-family:'STKaiti','KaiTi',var(--serif)}
#haifeng .person-meta{border-bottom:1px dashed var(--line);padding-bottom:15px;gap:20px}
#haifeng .tags span{border-radius:0;background:#ae4d2b0a;border-style:dashed}
#haifeng .avatar{border-radius:3px;border:1px solid var(--line);padding:5px;background:#f5e9d4}
#meeq{margin-top:70px;rotate:1.4deg;--accent:#66734d;background:#f4f0df;border:1px solid #82916350;border-radius:70px 70px 5px 5px;padding-top:48px}
#meeq .eyebrow{justify-content:center;font-size:9px}
#meeq .season-number{top:46px;color:#66734d}
#meeq .person-heading{align-items:center;gap:17px}
#meeq .person-heading h3{font-family:var(--serif);font-size:44px;color:#576042}
#meeq .avatar{border:4px double #9ca884;border-radius:9px;background:#e6e8d8;rotate:-5deg}
#meeq .season-photo{margin-top:24px;margin-bottom:24px;padding:8px;background:#fffaf0;transform:rotate(-2deg)}
#meeq .tags span{border:0;background:#dde2cd;border-radius:20px;color:#576042}
.warm-page .gallery-section{background:#e9dfc9;background-image:radial-gradient(#997a4720 .6px,transparent .6px);background-size:7px 7px}
.warm-page .gallery-grid{display:block;columns:3;column-gap:28px}
.warm-page .photo-card{break-inside:avoid;margin:0 0 30px;padding:12px 12px 18px;background:#fffaf0;box-shadow:0 8px 18px #7257390a;transform:none;position:relative}
.warm-page .photo-card:before{content:'';position:absolute;top:-9px;left:34%;width:56px;height:18px;rotate:-5deg;background:#ccba9090;z-index:3;pointer-events:none}
.warm-page .photo-card:hover{transform:translateY(-4px)}
.warm-page .gallery-grid.is-arranged{display:grid;columns:initial;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.warm-page .photo-card figcaption{padding-top:5px;font-family:'STKaiti','KaiTi',var(--serif)}
.warm-page .photo-card figcaption strong{font-size:16px}
.warm-page .gallery-layout-button{border-style:dashed;border-radius:3px}
.warm-page .filter{border-radius:0;font-family:'STKaiti','KaiTi',var(--serif);font-size:15px;border-bottom:1px dashed var(--line)}
.warm-page .filter[aria-pressed=true]{background:#fffaf0;color:#9c482e;border-bottom:2px solid #9c482e}
.warm-page .postcard-section{background:repeating-linear-gradient(transparent 0,transparent 34px,#aa855e0b 35px)}
.warm-page .world-links{gap:26px}
.warm-page .world-link{padding:9px;background:#fffaf0;border:0;box-shadow:0 10px 20px #7257390a;rotate:-1deg}
.warm-page .world-link:nth-child(2){rotate:1deg}
.warm-page .chapter-dock{border-radius:3px;rotate:-1deg;background:#fffaf0}
.warm-page .chapter-dock a{border-radius:3px}

/* 03 — a black-box darkroom, contact sheet and photographer's pass. */
body.studio-page{--paper:#101215;--ink:#f0eee8;--muted:#a4a6a8;--panel:#1b1e23;--line:#ffffff29;--accent:#edaa6a;--blue:#eee9dc;--orange:#e39157}
.studio-page .site-header{background:#101215;border-bottom-color:#fff2}
.studio-page .brand-symbol{border-color:#eee9dc;color:#eee9dc}
.studio-hero{display:grid;grid-template-columns:1fr;gap:24px;min-height:auto;padding-top:38px;background-image:none;overflow:clip}
.studio-hero .hero-copy{display:grid;grid-template-columns:1.55fr 1fr;gap:8px 50px;align-items:center}
.studio-hero .eyebrow{grid-column:1/-1;color:var(--accent)}
.studio-hero h1{grid-column:1;grid-row:2/5;display:flex;gap:.15em;font-size:clamp(85px,8.4vw,132px);margin:20px 0;line-height:.93;letter-spacing:-.025em}
.studio-hero h1 span{color:#e39157}
.studio-hero .hero-lead,.studio-hero .hero-description,.studio-hero .hero-actions{grid-column:2}
.studio-hero .hero-description{margin:8px 0 10px}
.studio-hero .hero-lead{font-size:22px}
.studio-hero .hero-actions{gap:15px}
.studio-hero .hero-actions .pill{background:#e6e0d3!important;color:#171b20!important}
.studio-hero .hero-art{height:540px;width:100%;max-width:1100px;margin:0 auto;position:relative;padding:0;display:block}
.studio-art .viewfinder{inset:27px 30px 37px;background:#080a0c;border:1px solid #ffffff30;padding:18px;box-shadow:0 20px 50px #0003}
.studio-art .viewfinder>img{width:100%;height:100%;object-fit:contain;object-position:center;animation:none;transform:none!important;scale:1!important;filter:grayscale(var(--mono-grade,0));transition:filter .35s}
.studio-art:before,.studio-art:after{content:'';position:absolute;left:30px;right:30px;top:10px;height:9px;background:repeating-linear-gradient(90deg,#c4c1b842 0,#c4c1b842 12px,transparent 12px,transparent 31px)}
.studio-art:after{top:auto;bottom:16px}
.studio-photo-caption{left:30px;right:30px;top:-7px;color:#b6b4ad;letter-spacing:.11em}
.focus-trigger{background:#e9e4d7;color:#141719;border-color:#101215;bottom:3px;right:0;width:80px;height:80px}
.studio-hero .hero-bottom{margin-top:6px}
.studio-hero .scene-console{grid-column:1/-1;max-width:none;justify-content:center;margin-top:5px;border-top:0;padding:10px 0}
.studio-hero .scene-console>small{flex-basis:auto;margin-right:18px}
.studio-hero .scene-console input[type=range]{width:150px;accent-color:#e39157}
.studio-page .scene-console button{border-radius:0;background:#191d22}
.studio-page .motion-button{border-radius:3px;background:#1a1c21}
.studio-page .motion-track{background:#edaa6a;border-radius:3px!important}
.studio-page .motion-knob{border-radius:2px;color:#edaa6a}
.studio-ticker{background:#e6e0d3;color:#121518;border-top:5px solid #101215;border-bottom:5px solid #101215;padding:18px 0}
.studio-profile{grid-template-columns:.8fr 1.2fr;gap:8vw}
.studio-about h2{font-size:clamp(35px,4.3vw,64px);line-height:1.45;letter-spacing:-.05em}
.studio-about h2 span{color:#e39157}
.studio-id{padding:36px 38px 30px 76px;position:relative;rotate:-2deg;background:#d9d5c8;color:#20252a;--ink:#20252a;--muted:#64676a;--line:#20252a35;--accent:#9e4d27;--paper:#d9d5c8;border:0;box-shadow:0 22px 40px #0003}
.studio-id:before{content:'PHOTOGRAPHER / 05';position:absolute;left:17px;top:35px;bottom:35px;writing-mode:vertical-rl;font:12px var(--display);letter-spacing:.17em;border-right:1px dashed #20252a55;padding-right:14px}
.studio-id:after{content:'';position:absolute;left:8px;right:8px;bottom:9px;height:8px;background:repeating-linear-gradient(90deg,#20252a33 0,#20252a33 3px,transparent 3px,transparent 7px)}
.studio-id .person-heading{align-items:flex-start;gap:22px}
.studio-id .avatar{width:100px;height:118px;border:4px solid #f0ece2;background:#f0ece2;border-radius:1px;rotate:3deg;object-fit:contain}
.studio-id .person-heading h3{font:clamp(30px,3vw,44px) var(--display);text-transform:uppercase;letter-spacing:.025em}
.studio-id .en-name{margin-top:10px;font-size:12px}
.studio-id .tags span{border-radius:0;border-style:dashed;color:#20252a}
.studio-id .contact{border-top-style:dashed}
.studio-id .save-card{background:#20252a;color:#eee9dc;border:0}
.studio-page .gallery-section{background:#16191e}
.studio-page .photo-card{background:#080a0d;border:1px solid #ffffff18;padding:12px 12px 14px;position:relative}
.studio-page .photo-card:before{content:'';display:block;height:6px;margin:0 0 10px;background:repeating-linear-gradient(90deg,#ffffff38 0,#ffffff38 10px,transparent 10px,transparent 25px)}
.studio-page .photo-card figcaption{font-family:var(--mono);font-size:9px}
.studio-gallery .photo-open img{filter:brightness(var(--exposure,1)) grayscale(var(--mono-grade,0))}
.studio-gallery .gallery-grid.is-arranged{columns:2;max-width:1000px;margin:auto}
.studio-gallery .filter[aria-pressed=true]{background:#e6e0d3;color:#171b20}
.studio-gallery .filter{border-radius:0;font:10px var(--mono);border:1px solid #ffffff21}
.studio-gallery .exposure-control input{accent-color:#edaa6a}
.studio-gallery.darkroom{--panel:#070a0c;--paper:#0b0e13;background:#070a0c;--ink:#f0eee8}
.studio-gallery.darkroom .photo-card{border-color:#9c2d2140}
.studio-gallery.darkroom .darkroom-tools{border-color:#a84b333f;background:#68201213}
.studio-page .world-link{background:#181c21;border-top:3px solid #c3b99940}
.studio-page .chapter-dock{border-radius:3px;background:#080a0d;border-color:#ffffff30}
.studio-page .chapter-dock a{border-radius:1px}
.studio-page .chapter-dock a.is-active{background:#e6e0d3;color:#171b20}

/* Named card transitions do not fade the entire site. Cross-page cuts differ. */
::view-transition-group(personal-dossier){animation-duration:.65s;animation-timing-function:var(--scene-ease)}
::view-transition-old(personal-dossier){animation:dossier-out .35s var(--scene-ease) both}
::view-transition-new(personal-dossier){animation:dossier-in .65s var(--scene-ease) both}
html[data-scene-transition=person]::view-transition-old(root),html[data-scene-transition=person]::view-transition-new(root){animation:none}
html[data-world=star]:not([data-scene-transition])::view-transition-new(root){animation:orbit-arrive .75s var(--scene-ease) both}
html[data-world=warm]:not([data-scene-transition])::view-transition-new(root){animation:page-arrive .65s var(--scene-ease) both}
html[data-world=studio]:not([data-scene-transition])::view-transition-new(root){animation:frame-arrive .65s var(--scene-ease) both}
html.motion-off::view-transition-group(*),html.motion-off::view-transition-new(*),html.motion-off::view-transition-old(*){animation:none}
@keyframes dossier-out{to{opacity:0;transform:translateX(-25px) scale(.985);filter:blur(3px)}}
@keyframes dossier-in{from{opacity:0;transform:translateX(35px);clip-path:inset(0 0 0 15%)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes orbit-arrive{from{opacity:0;clip-path:circle(5% at 50% 50%);transform:scale(1.02)}to{opacity:1;clip-path:circle(100% at 50% 50%);transform:none}}
@keyframes page-arrive{from{opacity:0;transform:perspective(1400px) rotateY(-8deg) translateX(35px)}to{opacity:1;transform:none}}
@keyframes frame-arrive{from{opacity:.3;clip-path:inset(49% 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes scene-close{to{transform:translateY(0)}}
@keyframes curtain-iris{from{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(100% at 50% 50%)}}
@keyframes curtain-paper{from{transform:perspective(1200px) rotateY(-65deg) translateX(-30%)}to{transform:none}}
@keyframes curtain-top{from{transform:translateY(-100%)}to{transform:none}}
@keyframes curtain-bottom{from{transform:translateY(100%)}to{transform:none}}
@keyframes note-unfold{from{opacity:0;transform:translateY(-8px);clip-path:inset(0 0 100%)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes engine-confirm{0%{opacity:.7;scale:.95}100%{opacity:0;scale:1.08}}
@keyframes focus-crisp{from{filter:blur(2px) grayscale(var(--mono-grade,0))}to{filter:blur(0) grayscale(var(--mono-grade,0))}}
.studio-art .viewfinder.is-focused>img{animation:focus-crisp .6s var(--scene-ease)}

@media(max-width:1100px){.stellar-hero{min-height:760px;gap:3vw}.stellar-hero .hero-art{min-height:430px}.person-panel .person-content{padding:30px}.season-profiles{gap:30px}.studio-hero .hero-copy{gap:8px 25px;grid-template-columns:1.4fr 1fr}.studio-hero h1{font-size:8.5vw}.studio-hero .hero-art{height:480px}.studio-id{padding-left:62px;padding-right:26px}.studio-id .person-heading{flex-direction:column;gap:16px}.studio-profile{gap:5vw}}
@media(max-width:900px){.site-nav{position:absolute;top:81px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;display:none}.menu-toggle{display:block}.menu-open .site-nav{display:flex;flex-direction:column;align-items:stretch}.site-nav a{padding:18px 10px;border-top:1px solid var(--line);font-size:14px}.site-nav a[aria-current=page]:after{left:auto;right:10px;bottom:25px}.motion-button .motion-label{display:none}.motion-button{padding:8px}.stellar-hero,.warm-hero{grid-template-columns:1fr;min-height:0;gap:20px;padding-top:48px}.stellar-hero .hero-art{min-height:0;max-width:640px;gap:22px;padding:15px 0}.stellar-hero h1{font-size:clamp(90px,13vw,135px)}.stellar-hero h1 em{display:block;margin-left:0}.warm-hero .hero-art{width:100%;max-width:650px;min-height:350px}.warm-hero h1{font-size:clamp(80px,12vw,118px)}.season-profiles{gap:24px}.season-card{padding:26px}.studio-hero .hero-copy{display:block}.studio-hero h1{font-size:clamp(88px,14vw,145px);gap:.15em}.studio-hero .hero-art{height:470px}.studio-profile{grid-template-columns:1fr;max-width:800px}.studio-id{max-width:620px}.studio-id .person-heading{flex-direction:row}.stellar-page .gallery-grid,.warm-page .gallery-grid.is-arranged{gap:20px}.warm-page .gallery-grid{columns:2}}
@media(max-width:760px){.site-header{padding:0 17px;gap:6px}.site-nav{top:69px}.brand{gap:7px}.brand-copy{font-size:11px}.brand-copy small{font-size:7px;letter-spacing:.1em}.brand-symbol{font-size:29px}.motion-button{padding:7px;gap:5px;min-height:44px}.motion-status{display:none}.motion-button i.motion-track{width:40px;height:23px}.motion-knob{width:17px;height:17px;transform:translateX(17px) rotate(180deg)}.header-tools{gap:3px}.menu-toggle{width:39px;padding:10px}.hero{padding-top:37px}.stellar-hero h1{font-size:clamp(83px,20vw,127px);margin:27px 0 20px}.stellar-hero h1 em{display:block;font-size:.63em;margin-top:8px}.stellar-hero .orbit-note{margin-left:0;max-width:88%;padding:11px}.stellar-hero .hero-coordinate{font-size:7px;right:0;top:-2px}.stellar-hero .orbit-photo{padding:6px}.stellar-hero .orbit{height:86%;width:106%;left:-3%}.stellar-hero .orbit.second{height:93%}.stellar-hero .orbit-symbol{font-size:45px;min-height:50px;min-width:50px;right:0;bottom:-3px}.hero-bottom{margin-top:24px}.scene-console{gap:8px 12px;margin-top:18px;padding:12px 0}.scene-console button{font-size:10px;padding:8px 12px}.scene-console label{font-size:9px}.scene-console input[type=range]{width:90px}.star-map{height:165px}.map-star{font-size:9px}.person-panel,#mengluo{grid-template-columns:1fr}.person-image{min-height:0;padding:45px 20px 20px}.person-image>img{height:auto;max-height:390px;padding:6px}.person-image-label{margin-top:14px;font-size:8px}.person-panel .person-content{padding:26px 23px}#mengluo .person-image{order:1}#mengluo .person-content{order:2}#mengluo .person-heading{flex-direction:row;gap:16px}#starrain .person-heading h3,#mengluo .person-heading h3{font-size:39px}#starrain .avatar,#mengluo .avatar{width:70px;height:70px}.card-inscription{font-size:8px;margin-bottom:19px;letter-spacing:.12em}.person-content blockquote{font-size:18px}#mengluo .person-content blockquote{font-size:21px}.stellar-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.stellar-page .photo-card{padding:6px}.stellar-page .photo-card figcaption{font-size:8px;padding:3px 1px;flex-wrap:wrap}.stellar-page .photo-card figcaption strong{font-size:10px}.stellar-page .gallery-grid.is-arranged{grid-template-columns:1fr;max-width:440px}.gallery-tools{gap:10px;margin-bottom:22px}.gallery-story{font-size:10px}.warm-hero h1{font-size:clamp(77px,18vw,115px)}.warm-hero .hero-art{min-height:310px;grid-template-columns:1fr .43fr;gap:13px;padding-top:38px}.warm-art .polaroid.primary,.warm-art .polaroid.secondary{padding:8px 8px 10px}.warm-art .polaroid.secondary{margin-top:110px}.warm-art .polaroid p{font-size:13px;margin-top:10px}.warm-art .polaroid.secondary p{font-size:11px}.warm-art .warm-stamp{width:74px;height:74px;right:5px;top:0;font-size:7px}.warm-art .warm-stamp span{font-size:15px}.warm-art .doodle{width:80px;height:50px;left:4px;bottom:0}.season-profiles{grid-template-columns:1fr;gap:34px;padding:8px 4px 0}.season-card{padding:28px 23px}#meeq{margin-top:0;padding-top:42px;border-radius:65px 65px 5px 5px}#meeq .season-number{top:43px;right:25px}.season-card .person-heading h3{font-size:40px}.season-card .person-content blockquote{font-size:21px}.warm-page .gallery-grid{columns:2;column-gap:14px}.warm-page .photo-card{padding:7px 7px 12px;margin-bottom:24px}.warm-page .photo-card:before{width:40px;height:15px;top:-7px}.warm-page .photo-card figcaption strong{font-size:13px}.warm-page .gallery-grid.is-arranged{grid-template-columns:1fr;max-width:440px}.warm-page .world-link{padding:6px}.warm-page .world-thumb{height:135px}.warm-page .world-title{padding:12px}.studio-hero h1{display:block;font-size:clamp(94px,25vw,136px);margin:22px 0;line-height:.86}.studio-hero h1 span{display:block;margin-top:7px}.studio-hero .hero-lead{font-size:20px}.studio-hero .hero-art{height:390px;margin-top:7px}.studio-art .viewfinder{inset:27px 12px 31px;padding:10px}.studio-art:before,.studio-art:after{left:12px;right:12px}.studio-art:after{bottom:12px}.studio-photo-caption{left:12px;right:12px;font-size:7px;gap:8px}.studio-photo-caption span:last-child{display:none}.focus-trigger{width:68px;height:68px;right:-4px;bottom:0;font-size:8px;border-width:5px}.focus-trigger span{font-size:19px}.studio-hero .scene-console{justify-content:flex-start;gap:9px 14px}.studio-hero .scene-console>small{flex-basis:100%}.studio-hero .scene-console input[type=range]{width:130px}.studio-id{padding:29px 24px 30px 58px;rotate:-1.2deg}.studio-id:before{left:12px;font-size:10px;padding-right:10px}.studio-id .person-heading{flex-direction:column;gap:18px}.studio-id .avatar{width:94px;height:105px}.studio-id .person-heading h3{font-size:35px}.studio-id .card-inscription{font-size:7px;letter-spacing:.08em}.studio-page .photo-card{padding:7px 7px 11px}.studio-page .photo-card:before{height:5px;margin-bottom:7px;background-size:auto}.studio-gallery .gallery-grid.is-arranged{columns:1;max-width:460px}.studio-gallery .photo-card figcaption{flex-wrap:wrap;font-size:8px}.studio-gallery .photo-card figcaption strong{font-size:10px}.world-thumb img{padding:6px}.chapter-cue{right:15px;bottom:82px;font-size:8px}.chapter-cue:before{width:24px}.chapter-dock a{font-size:9px}.warm-page .chapter-dock,.studio-page .chapter-dock{max-width:calc(100% - 70px)}.card-note{font-size:18px}}
@media(max-width:760px){.studio-hero .hero-art{height:auto;min-height:0}.studio-art .viewfinder{position:relative;inset:auto;margin:27px 12px 31px;padding:10px}.studio-art .viewfinder>img{height:auto}.reveal-ready .stellar-page [data-reveal]{filter:none}}
@media(max-width:360px){.brand-copy{font-size:10px}.brand-copy small{font-size:6px}.brand-symbol{font-size:26px}.motion-button{padding:6px}.stellar-hero h1{font-size:78px}.warm-hero h1{font-size:72px}.studio-hero h1{font-size:94px}.scene-console input[type=range]{width:75px}.studio-id{padding-right:18px;padding-left:52px}.studio-id .person-heading h3{font-size:30px}.person-content .contacts{grid-template-columns:1fr}.stellar-hero .orbit-note strong{font-size:9px}}
@media(prefers-reduced-motion:reduce){.motion-button,.motion-button *,.motion-off .motion-button,.motion-off .motion-button *{transition:none!important}.motion-button.motion-confirmed:after{animation:none}.scene-curtain,.chapter-cue{display:none}.star-map path{transition:none}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}}

/* 20261010 — connected worlds, visible orbital foreground and physical page cuts. */
@view-transition{navigation:none}
.scene-curtain{z-index:90;isolation:isolate}
.scene-curtain .cut-sheet{background:var(--paper)}
.cut-label{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;color:var(--accent);opacity:0}
.cut-label i{font:90px var(--serif);font-style:normal;line-height:1}
.cut-label small{font:10px var(--mono);letter-spacing:.3em}
.cut-label p{font:18px var(--serif)}
.is-arriving .scene-curtain{visibility:visible}
.is-departing .cut-label{animation:cut-title-in .4s .02s var(--scene-ease) both}
.is-arriving .cut-label{animation:cut-title-out .5s var(--scene-ease) both}
.is-departing .scene-curtain .cut-sheet{animation-duration:.58s}
.stellar-page .scene-curtain .cut-sheet{background:radial-gradient(ellipse at 50% 50%,#244552,#08141f 68%)}
.stellar-page .scene-curtain .cut-sheet:last-of-type:after{content:'';position:absolute;width:70vmin;height:70vmin;border:1px solid #a6d9e659;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg) scaleY(.45);box-shadow:0 0 0 13vmin #a6d9e608}
.stellar-page.is-arriving .scene-curtain .cut-sheet{transform:none;animation:orbit-cut-open 1s var(--scene-ease) both}
.warm-page .scene-curtain .cut-sheet{background:repeating-linear-gradient(0deg,transparent 0,transparent 39px,#93704c1a 40px),#f4eee2;box-shadow:12px 0 30px #5c3d2728;border-right:1px solid #89663d50;transform-origin:left}
.warm-page .scene-curtain .cut-sheet:last-of-type{display:none}
.warm-page.is-departing .scene-curtain .cut-sheet{animation:paper-cut-close .44s var(--scene-ease) both}
.warm-page.is-arriving .scene-curtain .cut-sheet{animation:paper-cut-open .68s var(--scene-ease) both}
.warm-page .cut-label i{rotate:-12deg;color:#9e4d2d}
.studio-page .scene-curtain .cut-sheet{inset:0 0 auto;height:50.2%;display:block;clip-path:none;background:repeating-linear-gradient(0deg,#25231c 0,#25231c 1px,#100f0d 1px,#100f0d 20%);border-bottom:1px solid #dec69566;will-change:transform}
.studio-page .scene-curtain .cut-sheet:nth-child(2){inset:auto 0 0;border-bottom:0;border-top:1px solid #dec69566}
.studio-page.is-departing .scene-curtain .cut-sheet:first-child{clip-path:none;animation:film-close-top .44s var(--scene-ease) both}
.studio-page.is-departing .scene-curtain .cut-sheet:nth-child(2){clip-path:none;animation:film-close-bottom .44s var(--scene-ease) both}
.studio-page.is-arriving .scene-curtain .cut-sheet:first-child{clip-path:none;animation:film-open-top .68s var(--scene-ease) both}
.studio-page.is-arriving .scene-curtain .cut-sheet:nth-child(2){clip-path:none;animation:film-open-bottom .68s var(--scene-ease) both}
.studio-page .cut-label i{font:80px var(--mono);border:1px solid #edaa6a55;padding:12px 20px}
.is-arriving .hero-copy{animation:copy-cut-in .68s var(--scene-ease) both}
.warm-page.is-arriving .hero-art{animation:desk-cut-in .68s var(--scene-ease) both}
.studio-page.is-arriving .hero-art{animation:copy-cut-in .68s var(--scene-ease) both}
@keyframes film-close-top{from{transform:translate3d(0,-101%,0)}to{transform:none}}
@keyframes film-close-bottom{from{transform:translate3d(0,101%,0)}to{transform:none}}
@keyframes film-open-top{from{transform:none}to{transform:translate3d(0,-101%,0)}}
@keyframes film-open-bottom{from{transform:none}to{transform:translate3d(0,101%,0)}}

/* The orbit lives in front of the frame, with ample visible space around it. */
.stellar-page{--space-light:#a6d9e6;--space-haze:#3d7982;--space-gold:#d5b972}
.stellar-page[data-sky=aurora]{--space-light:#b9c5f8;--space-haze:#7763a1;--space-gold:#93d5ba}
.stellar-page[data-sky=solar]{--space-light:#eccaa1;--space-haze:#995c3b;--space-gold:#f1b664}
.stellar-hero{min-height:930px;position:relative;background-image:radial-gradient(ellipse at 74% 43%,color-mix(in srgb,var(--space-haze) 27%,transparent),transparent 65%);background-size:auto;background-repeat:no-repeat;transition:background-color .6s}
.stellar-hero:before{background:linear-gradient(120deg,transparent 46%,color-mix(in srgb,var(--space-light) 5%,transparent) 51%,transparent 60%)}
.galaxy-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.sky-grain{position:absolute;left:var(--sx);top:var(--sy);width:var(--ss);height:var(--ss);background:var(--space-light);border-radius:50%;opacity:.5}
.sky-grain:nth-child(3n){animation:sky-twinkle 5s var(--sd) ease-in-out infinite alternate}
.galaxy-field:after{content:'';position:absolute;width:280px;height:280px;left:-150px;bottom:8%;border-radius:50%;background:radial-gradient(circle at 80% 26%,#6492a650,#06101a 70%);box-shadow:inset -15px -6px 28px #0008,0 0 0 32px #789ab80a,0 0 0 33px #a6d9e618}
.stellar-hero .hero-copy,.stellar-hero .hero-art,.stellar-hero .hero-bottom{position:relative;z-index:1}
.stellar-hero .hero-art{min-height:590px;padding:65px 9px 58px;gap:23px;isolation:isolate}
.stellar-hero .orbit-photo{width:96%;justify-self:center;padding:4px;background:#08131b;box-shadow:0 22px 65px #0005,0 0 50px color-mix(in srgb,var(--space-haze) 16%,transparent);border-color:color-mix(in srgb,var(--space-gold) 55%,transparent);animation:none}
.stellar-hero .orbit{top:6%;left:-3%;width:106%;height:80%;z-index:7;opacity:.9;border:1px solid color-mix(in srgb,var(--space-light) 65%,transparent);--orbit-angle:-22deg}
.stellar-hero .orbit.second{top:9%;left:0;width:100%;height:78%;z-index:8;opacity:.68;border-color:var(--space-gold);--orbit-angle:26deg}
.stellar-hero .orbit-runner{background:var(--space-light);box-shadow:0 0 12px var(--space-light);width:10px;height:10px}
.stellar-hero .runner-two,.stellar-hero .runner-four{width:5px;height:5px;background:var(--space-gold)}
.stellar-hero .hero-coordinate{top:13px;left:17px;right:auto;color:var(--space-light)}
.stellar-hero .orbit-note{z-index:9;margin:0 0 0 7px;max-width:82%;border-color:#ecd59440}
.stellar-hero .orbit-symbol{z-index:10;right:8px;bottom:69px}
.orbital-stations{position:absolute;inset:0;pointer-events:none;z-index:9}
.planet-station{position:absolute;display:flex;align-items:center;gap:9px;background:none;color:var(--space-light);min-height:52px;padding:4px;pointer-events:auto;font:8px var(--mono);letter-spacing:.12em}
.planet-station i{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 28% 25%,#bfe6ef,#4e8fa4 43%,#142f45 75%);box-shadow:inset -5px -5px 12px #0009,0 0 15px #5bb3db30;position:relative;transition:scale .4s,box-shadow .4s}
.planet-station[aria-pressed=true] i{box-shadow:inset -5px -5px 12px #0008,0 0 0 5px #a6d9e613,0 0 0 6px #a6d9e66b}
.planet-station:hover i{scale:1.15}
.planet-station span{background:#091620cc;padding:6px}
.planet-rain{top:14px;right:0}
.planet-luo{bottom:95px;left:-8px;color:var(--space-gold)}
.planet-luo i{background:radial-gradient(circle at 30% 25%,#ecdba4,#a77343 50%,#35251b 80%)}
.planet-luo i:after{content:'';position:absolute;inset:8px -12px;border:2px solid #e8c89390;border-radius:50%;rotate:-28deg}
.orbit-signal{position:absolute;bottom:10px;left:14px;right:8px;display:flex;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid #a6d9e633;font:8px var(--mono);letter-spacing:.08em;color:var(--space-light);z-index:10}
.orbit-signal a{color:var(--accent);padding:0 0 8px;min-height:32px}
.sky-palette{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:7px 0 24px;color:var(--muted);font:9px var(--mono)}
.sky-palette small{margin-right:8px;font-size:9px}
.sky-palette button{min-height:44px;padding:8px 14px;background:none;color:var(--ink);border-bottom:1px solid var(--line)}
.sky-palette button[aria-pressed=true]{color:var(--space-light);border-color:var(--space-light);background:color-mix(in srgb,var(--space-haze) 12%,transparent)}
.stellar-page .gallery-section{background:linear-gradient(135deg,color-mix(in srgb,var(--space-haze) 15%,#0d1922),#101a23);transition:background .5s}
.stellar-page .photo-card{border-color:color-mix(in srgb,var(--space-light) 18%,transparent);transition:box-shadow .5s,border-color .5s}
.stellar-page[data-constellated=true] .photo-card{box-shadow:0 0 25px color-mix(in srgb,var(--space-haze) 18%,transparent);border-color:color-mix(in srgb,var(--space-light) 55%,transparent)}
.stellar-page[data-constellated=true] .manifesto{border-top-color:var(--space-light)}
.constellation-lab{display:grid;grid-template-columns:1fr 1.35fr;border:1px solid var(--line);background:radial-gradient(ellipse at 80% 50%,#35667420,transparent),#081620;min-height:245px;margin-bottom:38px;position:relative}
.lab-copy{padding:27px 30px}
.lab-copy small{font:8px var(--mono);letter-spacing:.15em;color:var(--space-light)}
.lab-copy h3{font:25px/1.55 var(--serif);margin:13px 0 10px}
.lab-copy p{font-size:10px;color:var(--muted);line-height:1.8}
.lab-copy output{display:block;font:10px var(--mono);color:var(--space-light);margin-top:16px;min-height:16px}
.lab-copy button{min-height:44px;background:none;color:var(--muted);font-size:10px;margin-top:5px;border-bottom:1px solid var(--line)}
.constellation-board{position:relative;min-height:230px;align-self:stretch}
.constellation-board svg{position:absolute;width:100%;height:100%;stroke:var(--space-light);stroke-width:1;fill:none;opacity:.32;transition:opacity .6s;pointer-events:none;z-index:0}
.constellation-board svg path{stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 1.2s var(--scene-ease)}
.is-connected .constellation-board svg{opacity:.8}
.is-connected .constellation-board svg path{stroke-dashoffset:0}
.constellation-node{position:absolute;left:var(--nx);top:var(--ny);transform:translate(-50%,-50%);width:48px;min-height:52px;background:#081620;color:#758c9c;font:30px var(--serif);border-radius:50%;transition:color .4s,text-shadow .4s,scale .4s;z-index:2}
.constellation-node small{font:8px var(--mono);display:block;margin-top:4px}
.constellation-node[aria-pressed=true]{color:var(--space-light);text-shadow:0 0 20px var(--space-light)}
.constellation-node:hover{scale:1.15;color:#eee4c1}
.constellation-node:active{transform:translate(-50%,-50%);scale:.96}
.constellation-coordinate{position:absolute;bottom:18px;left:8%;font:7px var(--mono);letter-spacing:.12em;color:var(--muted)}

/* Natural aspect ratios, less dead matting, and image-derived surroundings. */
.person-image{height:auto;min-height:0;padding:45px 15px 25px}
.person-image>img{max-height:none;padding:3px;border-color:#fff2;box-shadow:0 15px 40px #0004}
.person-image-label{margin-top:18px}
.person-image:before{opacity:.24;filter:blur(28px)}
.world-thumb img,.world-link:hover img{padding:0;position:relative;z-index:1}
.world-thumb:before{content:'';position:absolute;inset:-20px;background:var(--photo-atmosphere) center/cover;filter:blur(25px);opacity:.3}
.warm-hero .hero-art{grid-template-columns:1fr .55fr;gap:19px}
.warm-art .polaroid.secondary{margin-top:120px}
.warm-page[data-desk=tidy] .photo-card:before{rotate:0deg}
.warm-page[data-leaf-season=gold] .gallery-section{background-color:#e8d6b4}
.warm-page[data-leaf-season=gold] .postcard{--accent:#97622c}
.leaf-collection{margin-top:28px;padding:22px;border:1px dashed var(--line);background:#f2e7cd;max-width:440px;rotate:-1deg}
.leaf-collection>small{font:8px var(--mono);color:var(--muted);letter-spacing:.09em}
.leaf-collection p{font:15px/1.8 var(--serif)!important;margin:10px 0!important}
.leaf-collection button{min-height:44px;padding:7px 0;background:none;display:block;font:11px var(--sans);color:#9c482e;border-bottom:1px dashed #b68f674d}
.collected-leaves{display:flex;align-items:center;min-height:45px;flex-wrap:wrap;gap:9px;margin-top:14px}
.keepsake-leaf{width:30px;height:34px;display:block;color:#aa623c;rotate:var(--leaf-tilt);animation:leaf-kept .6s var(--scene-ease) both}
.keepsake-leaf svg{width:100%;height:100%;fill:currentColor;stroke:#f3e7ce;stroke-width:.6}
.keepsake-leaf svg path:last-child{fill:none;stroke:#f3e7ce;stroke-width:1.2}
.keepsake-leaf:nth-child(3n){color:#7c8352}
.keepsake-leaf:nth-child(3n + 2){color:#bc934e}
.card-gallery-route{display:block;min-height:44px;padding:13px 0 3px;margin-top:9px;font:10px var(--mono);color:var(--accent);background:none;text-align:left;line-height:1.8}
.studio-hero .hero-art{height:auto;min-height:0;max-width:min(1100px,calc(640px * var(--frame-ratio,1.6) + 60px))}
.studio-art .viewfinder{position:relative;inset:auto;margin:27px auto 37px;padding:6px;isolation:isolate;overflow:hidden;width:calc(100% - 60px);max-width:calc(640px * var(--frame-ratio,1.5))}
.studio-art .viewfinder>img{height:auto;max-height:640px;width:100%;position:relative;z-index:1}
.studio-art .viewfinder:before{content:'';position:absolute;inset:-40px;background:var(--photo-atmosphere) center/cover;filter:blur(35px);opacity:.45;z-index:-1}
.studio-art .camera-shutter,.studio-art .focus-corners,.studio-art .finder-cross{z-index:2}
.gallery-grading{display:flex;align-items:center;gap:16px 25px;flex-wrap:wrap;padding:21px 24px;margin-bottom:15px;border:1px solid #ffffff24;background:#101419}
.gallery-grading>div:first-child{margin-right:auto}
.gallery-grading small{font:8px var(--mono);color:#d7a479;letter-spacing:.1em}
.gallery-grading p{font-size:11px;color:var(--muted);margin-top:7px}
.gallery-grading label{display:flex;gap:12px;align-items:center;font:10px var(--mono);min-height:44px}
.gallery-grading input{width:145px;min-height:34px;accent-color:#edaa6a}
.gallery-grading output{min-width:36px;color:#edaa6a}
.gallery-grading button,.frame-pin{min-height:44px;padding:8px 12px;background:none;border:1px solid #ffffff29;color:var(--ink);font:10px var(--mono);transition:background .3s,border-color .3s}
.gallery-grading button:hover,.frame-pin:hover{border-color:#edaa6a;background:#e3915709}
.grade-presets{display:flex;gap:8px;flex-wrap:wrap;flex-basis:100%}
.grade-presets button{border-width:0 0 1px;padding-left:0;margin-right:15px;color:var(--muted)}
.grade-presets button[aria-pressed=true]{color:#edaa6a;border-color:#edaa6a}
.frame-pin{display:block;border-width:1px 0 0;text-align:left;padding:8px 0 0;width:100%;margin-top:12px;font-size:8px;color:var(--muted)}
.frame-pin[aria-pressed=true]{color:#edaa6a;border-color:#edaa6a}
.studio-gallery .darkroom-tools{background:#171b20;box-shadow:0 12px 25px #0002}
@media(min-width:761px){.gallery-grading{position:sticky;top:81px;z-index:12;box-shadow:0 12px 25px #0003}}

@keyframes orbit-cut-open{from{clip-path:circle(100% at 50% 50%)}to{clip-path:circle(0 at 50% 50%)}}
@keyframes paper-cut-close{from{transform:perspective(1600px) rotateY(-80deg) translateX(-105%)}to{transform:perspective(1600px) rotateY(0) translateX(0)}}
@keyframes paper-cut-open{from{transform:perspective(1600px) rotateY(0) translateX(0)}to{transform:perspective(1600px) rotateY(-65deg) translateX(-110%)}}
@keyframes shutter-open-top{from{transform:translateY(0)}to{transform:translateY(-100%)}}
@keyframes shutter-open-bottom{from{transform:translateY(0)}to{transform:translateY(100%)}}
@keyframes cut-title-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cut-title-out{0%,15%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-25px)}}
@keyframes copy-cut-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes desk-cut-in{from{opacity:.2;transform:rotate(-3deg) translateX(25px)}to{opacity:1;transform:none}}
@keyframes frame-cut-in{from{opacity:.2;clip-path:inset(48% 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes sky-twinkle{from{opacity:.25}to{opacity:.9}}
@keyframes leaf-kept{from{opacity:0;transform:translateY(-20px) rotate(20deg)}to{opacity:1;transform:none}}
@media(max-width:1100px){.stellar-hero{min-height:820px}.stellar-hero .hero-art{min-height:520px}.stellar-hero .hero-coordinate{font-size:7px}.planet-station{font-size:7px}.planet-station i{width:28px;height:28px}}
@media(max-width:900px){.stellar-hero{min-height:0}.stellar-hero .hero-art{width:100%;min-height:0;padding:65px 15px 82px;max-width:660px}.stellar-hero .orbit{height:76%;top:6%}.stellar-hero .orbit.second{height:74%;top:8%}.constellation-lab{grid-template-columns:1fr 1.15fr}.lab-copy{padding:24px}.studio-art .viewfinder>img{max-height:600px}}
@media(max-width:760px){.stellar-hero .hero-art{padding:60px 7px 80px;gap:20px}.stellar-hero .orbit-photo{width:100%;padding:3px}.stellar-hero .orbit{left:-2%;width:104%;height:75%;top:5%;opacity:.85}.stellar-hero .orbit.second{left:0;width:100%;height:73%;top:7%;opacity:.65}.stellar-hero .hero-coordinate{left:4px;top:0;font-size:6px;letter-spacing:.1em}.planet-rain{top:14px;right:0}.planet-luo{left:-5px;bottom:109px}.planet-station{gap:5px;min-height:44px;font-size:6px}.planet-station i{width:24px;height:24px}.planet-station span{padding:5px 3px}.stellar-hero .orbit-note{margin-left:0;max-width:87%;font-size:9px}.stellar-hero .orbit-symbol{bottom:74px;right:-4px;min-width:40px;font-size:38px}.orbit-signal{left:3px;right:3px;bottom:9px;font-size:7px;letter-spacing:0}.sky-palette{font-size:8px;gap:3px;margin-bottom:14px}.sky-palette button{padding:8px 11px}.constellation-lab{grid-template-columns:1fr;margin-bottom:27px}.lab-copy{padding:23px 22px 0}.lab-copy h3{font-size:23px}.lab-copy h3 br{display:none}.lab-copy p{font-size:10px}.constellation-board{min-height:200px}.constellation-node{font-size:27px}.constellation-coordinate{font-size:6px;bottom:11px}.person-image{height:auto;min-height:0;padding:42px 10px 18px}.person-image>img{max-height:none;padding:3px}.world-thumb img,.world-link:hover img{padding:0}.warm-hero .hero-art{grid-template-columns:1fr .55fr;gap:10px;min-height:0;padding-bottom:40px}.warm-art .polaroid.secondary{margin-top:90px}.warm-art .warm-stamp{right:0}.warm-art .doodle{bottom:0}.leaf-collection{padding:18px;margin-top:24px}.leaf-collection>small{font-size:7px}.leaf-collection p{font-size:13px!important}.leaf-collection button{font-size:10px}.studio-hero .hero-art{height:auto}.studio-art .viewfinder{margin:27px 0 37px;padding:4px}.studio-art .viewfinder>img{height:auto;max-height:500px}.studio-art:before,.studio-art:after{left:0;right:0}.studio-photo-caption{left:0;right:0}.focus-trigger{right:-3px;bottom:2px}.gallery-grading{padding:17px 14px;gap:12px;margin-bottom:12px}.gallery-grading>div:first-child{flex-basis:100%}.gallery-grading small{font-size:7px}.gallery-grading p{font-size:10px;line-height:1.7}.gallery-grading label{gap:8px;font-size:9px}.gallery-grading input{width:100px}.gallery-grading button{font-size:9px;padding:8px}.grade-presets{gap:10px}.grade-presets button{margin:0;padding-left:0}.studio-gallery .darkroom-tools{top:69px}.cut-label i{font-size:66px}.cut-label small{font-size:8px}.cut-label p{font-size:16px}}
.motion-off .scene-curtain{display:none}
@media(max-width:760px){.studio-art .viewfinder{width:100%;max-width:calc(500px * var(--frame-ratio,1.5));margin-left:auto;margin-right:auto}}
@media(max-width:760px){.studio-hero .hero-art{max-width:min(100%,calc(500px * var(--frame-ratio,1.5) + 12px))}}
.motion-off .is-arriving .hero-copy,.motion-off .is-arriving .hero-art{animation:none}
@media(prefers-reduced-motion:reduce){.scene-curtain{display:none}.is-arriving .hero-copy,.is-arriving .hero-art,.sky-grain,.keepsake-leaf{animation:none!important}.constellation-board svg path,.planet-station i,.constellation-node{transition:none}}
