:root{--paper:#f7f5ef;--ink:#302d32;--muted:#757079;--lavender:#e9e1ee;--accent:#7b668b;--line:#dedbd6;--serif:"Songti SC","STSong","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{max-width:100%;height:auto;display:block}p,h1,h2,h3,figure{margin:0}a,button{touch-action:manipulation}.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 4.2%;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--paper)}.brand{display:flex;align-items:center;gap:15px;font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:2px}.flower{font-family:Georgia,serif;color:var(--accent);font-size:46px;font-weight:400;line-height:1}.brand-divider{color:#9d8aaa;margin:0 10px;font-weight:400}.brand small{display:block;font:8px/1.4 var(--sans);letter-spacing:2.1px;margin-top:8px;font-weight:400}.header nav{display:flex;align-items:center;gap:36px;font-size:12px;letter-spacing:1px}.header nav a:hover{color:var(--accent)}.nav-out{border-left:1px solid var(--line);padding-left:30px}.nav-out span{margin-left:12px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;min-height:700px;padding-block:65px 70px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.1px;line-height:1.8;color:var(--accent)}.tiny-star{font-size:15px;margin-right:10px}.hero h1{font:52px/1.55 var(--serif);letter-spacing:3px;margin:29px 0 21px;font-weight:500}.name{position:relative;white-space:nowrap}.name svg{position:absolute;left:-3%;bottom:-11px;width:106%;height:16px;fill:none;stroke:#ad97bf;stroke-width:2;opacity:.9}.hero-description{font-size:13px;color:var(--muted);line-height:2.25;letter-spacing:1.4px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 24px;font-size:12px;letter-spacing:1.4px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:21px;line-height:1}.primary{background:var(--ink);color:#fff;margin-top:34px}.primary:hover{background:var(--accent)}.hero-bottom{display:flex;align-items:center;gap:32px;margin-top:72px;font-size:9px;letter-spacing:1.5px}.edition span{color:#c0b6c5;margin-inline:8px}.scroll-link{color:var(--muted);font-size:10px;letter-spacing:1px}.scroll-link span{margin-left:8px}.hero-art{position:relative;width:100%;max-width:530px;padding:28px 28px 30px 68px;justify-self:end}.hero-photo{display:block;padding:0;width:100%;position:relative;overflow:hidden}.hero-photo img{width:100%;height:485px;object-fit:cover;object-position:center 44%;transition:transform .6s}.hero-photo:hover img{transform:scale(1.035)}.art-top{position:absolute;top:4px;left:68px;font-size:8px;letter-spacing:2.8px;color:var(--muted)}.art-side{position:absolute;right:4px;top:195px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2.2px;color:var(--muted)}.photo-expand{position:absolute;right:16px;bottom:16px;color:white;background:#302d3255;width:32px;height:32px;display:grid;place-items:center}.handwriting{position:absolute;right:30px;top:25px;font:italic 82px/1.1 Georgia,serif;color:#f1e7f1;transform:rotate(-9deg);pointer-events:none}.polaroid{position:absolute;left:0;bottom:1px;width:170px;background:#fff;padding:9px 9px 17px;transform:rotate(-8deg);box-shadow:0 8px 24px #28212d1a;transition:transform .3s}.polaroid:hover{transform:rotate(-3deg) translateY(-4px)}.polaroid img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.polaroid span{display:block;font:11px/1.4 var(--serif);margin-top:15px;letter-spacing:1px}.hero-spark{position:absolute;top:73px;left:25px;font:70px Georgia;color:#a494b0;transform:rotate(14deg);pointer-events:none}.intro-strip{display:flex;align-items:center;gap:24px;padding:28px 0;border-block:1px solid var(--line)}.intro-mark{color:var(--accent);font-size:24px}.intro-strip p{font-family:var(--serif);font-size:18px;letter-spacing:1.5px}.intro-en{margin-left:auto;font-size:9px;letter-spacing:2px;color:var(--muted)}.intro-number{font:italic 24px Georgia;color:var(--accent);margin-left:35px}.section{padding-block:94px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:39px}.section-top h2,.about h2{font:36px/1.6 var(--serif);letter-spacing:2px;margin-top:14px}h2 em{color:var(--accent);font-style:normal}.section-note{font-size:12px;line-height:2.1;color:var(--muted);letter-spacing:1px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:32px}.filters{display:flex;gap:28px;flex-wrap:wrap}.filters button{padding:13px 0 18px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.filters button.active{color:var(--ink);border-bottom-color:var(--accent)}.filters sup{font:9px Georgia;margin-left:4px}.gallery-count{font-size:10px;color:var(--muted);letter-spacing:1px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:32px 24px}.photo-card{min-width:0}.photo-card button{padding:0;display:block;position:relative;width:100%;overflow:hidden;background:#e4e0df}.photo-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transition:transform .6s}.photo-card:nth-child(2) img{object-position:45% center}.photo-card button:hover img{transform:scale(1.035)}.photo-card button:after{content:'＋';position:absolute;bottom:12px;right:14px;background:var(--paper);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;opacity:0;transform:translateY(6px);transition:.2s}.photo-card button:hover:after,.photo-card button:focus-visible:after{opacity:1;transform:none}.photo-card.wide{grid-column:span 2}.photo-card.wide img{position:static;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.photo-card.wide button{height:auto;min-height:0}.photo-caption{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-top:15px}.photo-caption h3{font-size:13px;font-weight:400;letter-spacing:1px}.photo-caption small{font-size:9px;color:var(--muted);letter-spacing:1px}.gallery-footnote{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-top:30px}.gallery-footnote span span{color:var(--accent);margin-left:12px}.works-section{padding-block:80px 88px;background:#ece9e7}.works-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:70px}.work-image{position:relative;background:#ddd7d2;overflow:hidden}.work-image img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.featured-work:hover img{transform:scale(1.025)}.work-image>span{position:absolute;top:17px;left:17px;background:var(--paper);padding:9px 13px;font-size:9px;letter-spacing:1px}.featured-caption{display:flex;align-items:center;justify-content:space-between;margin-top:23px}.featured-caption small{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.featured-caption h3{font:27px var(--serif);margin-top:10px;letter-spacing:1px}.round-arrow{border:1px solid #b5aab9;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-size:19px}.featured-work>p{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.8}.work-list>a{display:flex;align-items:center;gap:23px;padding:27px 0;border-bottom:1px solid #cec9cb;transition:padding .2s}.work-list>a:first-child{border-top:1px solid #cec9cb}.work-list>a:hover{padding-inline:10px;color:var(--accent)}.work-year{font:italic 15px Georgia;color:var(--muted)}.work-list h3{font:26px var(--serif);letter-spacing:2px}.work-list a p{font-size:10px;color:var(--muted);margin-top:12px;letter-spacing:.4px}.work-list a p span{margin:0 8px;color:#a294a8}.work-index{margin-left:auto;font-size:10px;white-space:nowrap;color:var(--muted)}.work-list-note{font:17px/2 var(--serif);letter-spacing:1px;margin-top:36px}.work-list-note span{font:8px var(--sans);letter-spacing:1.8px;color:var(--muted)}.about{padding-block:104px;display:grid;grid-template-columns:1fr 1.6fr;gap:80px}.about-index{display:flex;flex-direction:column;align-items:flex-start}.about-flower{font-size:132px;line-height:1.3;color:#b6a3c4;margin:15px 0}.about-english{font:italic 30px/1.3 Georgia;color:#9a85aa}.about h2{margin-top:0;font-size:38px;line-height:1.6}.about-copy>p{font-size:12px;line-height:2.2;margin-top:23px;color:var(--muted);letter-spacing:.6px}.about-copy>p.letter{font:17px/1.9 var(--serif);color:var(--ink);margin-top:24px}.text-link{display:inline-block;padding-bottom:8px;border-bottom:1px solid #a695b4;font-size:11px;margin-top:28px}.text-link span{margin-left:22px}.community{background:var(--lavender);padding-block:54px}.community-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.community h2{font:30px/1.6 var(--serif);letter-spacing:2px;margin:10px 0}.community p:not(.eyebrow){font-size:11px;color:#706078;letter-spacing:1px}.dark{background:var(--ink);color:white;white-space:nowrap}.footer{padding-block:38px 24px}.footer-top{display:flex;align-items:center;gap:30px}.footer-top .brand{font-size:16px;letter-spacing:1px}.footer-top .flower{font-size:32px}.footer-top p{font-size:10px;color:var(--muted);letter-spacing:1px}.back-top{margin-left:auto;font-size:10px}.footer-bottom{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:25px;justify-content:space-between;font-size:9px;color:var(--muted);line-height:1.8}.sources{font-size:10px;color:var(--muted);margin-top:20px;line-height:2}.sources summary{cursor:pointer}.sources p{max-width:800px;margin-top:12px}.sources a:hover{text-decoration:underline}.sources ul{padding-left:18px}.mobile-only{display:none}.skip{position:fixed;top:-100px;left:15px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}.lightbox{padding:20px 28px;border:0;background:#f7f5ef;width:min(1050px,94vw);max-width:94vw;max-height:94dvh;color:var(--ink)}.lightbox::backdrop{background:#211d25dc;backdrop-filter:blur(6px)}.lightbox-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.lightbox-counter{font:italic 15px Georgia;color:var(--accent)}.close{padding:10px;font-size:12px}.lightbox-stage{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:16px;align-items:center;min-height:100px}.lightbox-stage>img{margin:auto;max-height:66dvh;width:auto;max-width:100%;object-fit:contain}.lightbox-stage>button{border:1px solid #bfb3c6;border-radius:50%;width:40px;height:40px;font-size:20px}.lightbox-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.lightbox-caption h2{font:23px var(--serif)}.lightbox-caption p{font-size:10px;color:var(--muted);margin-top:8px}.lightbox-caption>a{font-size:11px;border-bottom:1px solid #b9a5c7;padding:9px 0;white-space:nowrap}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero{min-height:780px}.hero h1{font-size:60px}.hero-photo img{height:535px}.hero-art{max-width:560px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero{min-height:660px;gap:15px}.hero h1{font-size:42px;letter-spacing:2px}.hero-art{padding-left:37px;padding-right:20px}.hero-photo img{height:450px}.art-top{left:37px}.hero-spark{left:3px;font-size:51px}.polaroid{width:145px;left:-12px}.hero-bottom{gap:16px;flex-wrap:wrap}.header nav{gap:22px}.brand{font-size:18px;letter-spacing:1px}.works-layout{gap:40px}.footer-top p{display:none}.intro-en{font-size:8px;letter-spacing:1px}.intro-number{margin-left:8px}}
@media(max-width:760px){html{scroll-padding-top:30px}.wrap{width:calc(100% - 40px)}.header{min-height:84px;padding:20px;flex-wrap:wrap}.brand{font-size:16px;gap:9px}.brand small{font-size:6px;letter-spacing:1.3px;margin-top:6px}.flower{font-size:35px}.brand-divider{margin:0 7px}.menu-toggle{display:flex;align-items:center;gap:13px;font-size:11px;padding:8px 0 8px 12px}.menu-toggle span{font-size:20px}.header nav{display:none;flex-basis:100%;padding-top:13px;gap:0;justify-content:space-between;font-size:10px}.header nav.open{display:flex}.nav-out{padding-left:12px}.nav-out span{margin-left:2px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-block:42px 36px;gap:29px;min-height:0}.hero-copy{position:relative}.hero .eyebrow{font-size:9px;letter-spacing:1.6px}.hero h1{font-size:39px;line-height:1.5;margin:20px 0 18px;letter-spacing:1.4px}.hero-description{font-size:12px;line-height:2}.primary{margin-top:23px;padding:15px 20px;font-size:11px}.hero-bottom{margin-top:27px;justify-content:space-between;font-size:8px}.hero-art{padding:24px 19px 32px 61px;width:min(100%,470px);margin:0 auto;max-width:none}.hero-photo img{height:auto;aspect-ratio:3/4;object-fit:cover}.art-top{left:61px;top:6px;font-size:7px;letter-spacing:2px}.art-side{right:0;top:150px;font-size:7px}.hero-spark{left:8px;top:40px;font-size:57px}.handwriting{font-size:68px;top:19px;right:21px}.polaroid{width:132px;left:3px;bottom:2px;padding:7px 7px 13px}.polaroid span{font-size:9px;margin-top:10px}.intro-strip{padding:23px 0;gap:16px}.intro-strip p{font-size:15px;line-height:1.8;letter-spacing:1px}.intro-en{display:none}.intro-number{font-size:22px;margin-left:auto}.mobile-only{display:block}.section{padding-block:57px}.section-top{gap:12px;align-items:flex-end;margin-bottom:23px}.section-top h2{font-size:28px;letter-spacing:1px;margin-top:9px}.section-top .eyebrow{font-size:8px;letter-spacing:1.5px}.section-note{font-size:9px;line-height:1.9;letter-spacing:0;max-width:120px}.gallery-toolbar{margin-bottom:22px}.filters{gap:18px}.filters button{font-size:10px;padding:12px 0 15px}.gallery-count{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.photo-card.wide{grid-column:span 2}.photo-card.wide button{height:auto;min-height:0}.photo-card.wide img{height:auto;object-fit:contain;object-position:center}.photo-caption{display:block;padding-top:11px}.photo-caption h3{font-size:11px;letter-spacing:.5px}.photo-caption small{display:block;font-size:8px;margin-top:7px}.gallery-footnote{font-size:8px;letter-spacing:.5px;margin-top:27px}.works-section{padding-block:52px}.works-layout{grid-template-columns:1fr;gap:34px}.featured-caption h3{font-size:24px}.featured-work>p{font-size:10px}.work-list>a{padding-block:24px}.work-list h3{font-size:24px}.work-list-note{font-size:15px;margin-top:24px}.about{padding-block:58px;gap:22px;grid-template-columns:1fr}.about-index{flex-direction:row;align-items:center;justify-content:space-between}.about-flower{font-size:48px;margin:0}.about-english{display:none}.about h2{font-size:31px}.about-copy>p{font-size:11px;line-height:2.2}.about-copy>p.letter{font-size:17px}.community{padding-block:38px}.community-inner{align-items:flex-start;flex-direction:column;gap:24px}.community h2{font-size:27px;line-height:1.6}.community .button{font-size:11px;padding:16px 20px}.footer{padding-block:30px 22px}.footer-top{gap:10px}.footer-top .brand{font-size:13px}.footer-top .flower{font-size:28px}.back-top{font-size:9px}.footer-bottom{flex-direction:column;gap:8px;margin-top:20px;padding-top:16px;font-size:8px}.sources{font-size:9px}.lightbox{padding:13px;width:96vw;max-width:96vw}.lightbox-stage{gap:5px;grid-template-columns:30px minmax(0,1fr) 30px}.lightbox-stage>button{width:30px;height:30px;font-size:17px}.lightbox-stage>img{max-height:62dvh}.lightbox-caption{gap:10px;margin-top:15px;align-items:flex-start}.lightbox-caption h2{font-size:18px}.lightbox-caption p{font-size:8px;line-height:1.7}.lightbox-caption>a{font-size:9px}.lightbox-head{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Round two: an editorial archive and original-ratio photo wall. */
:root{--paper:#f5f2eb;--ink:#302a34;--accent:#786080;--line:#dcd5ce}
body{background-image:radial-gradient(#6b576b08 .6px,transparent .6px);background-size:5px 5px}
.header{background:#f5f2ebed}.wrap{width:min(1280px,calc(100% - 112px))}.header nav a{transition:color .2s}
.hero{padding-block:66px 78px;min-height:720px}.hero h1{font-size:clamp(42px,4.4vw,64px);letter-spacing:2px}.hero-description{line-height:2.5}.hero-art{padding:30px 30px 35px 60px}.hero-photo{border-radius:130px 130px 3px 3px;box-shadow:0 22px 65px #37233d14}.hero-photo img{height:520px}.polaroid{border:1px solid #fff;box-shadow:0 14px 35px #33253c21}.handwriting{top:54px;right:22px;font-size:90px}.art-top{left:65px}.hero-bottom{border-top:1px solid var(--line);padding-top:23px;margin-top:52px;max-width:430px}.intro-strip{margin-bottom:72px}
.role-section{background:#302a33;color:#f4eee9;padding:76px 0 34px;position:relative;overflow:hidden}.role-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 0,#8b728330,transparent 65%)}.role-section .wrap{position:relative}.role-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.role-section .eyebrow{color:#c5b3cb;letter-spacing:2px}.role-heading h2{font:44px/1.65 var(--serif);letter-spacing:3px;margin-top:18px}.role-heading h2 em{color:#c9b4cc}.role-heading-note{display:flex;align-items:center;gap:22px}.archive-number{font:italic 94px/1 Georgia;color:#8e778f}.role-heading-note p{font-size:11px;line-height:2.3;color:#c1b6c3;letter-spacing:1px}.role-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}.role-card{text-align:left;padding:0;min-width:0}.role-card[hidden]{display:none}.role-cover{aspect-ratio:4/5;position:relative;overflow:hidden;background:#242027;border-radius:3px}.role-cover img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.role-card:hover .role-cover img{transform:scale(1.025)}.role-year{position:absolute;left:12px;top:12px;font:italic 12px Georgia;letter-spacing:1px;background:#29242bdd;backdrop-filter:blur(6px);border:1px solid #ffffff30;border-radius:20px;padding:6px 10px}.role-card-caption{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.role-name{font:27px var(--serif);letter-spacing:2px}.role-card-arrow{height:31px;width:31px;border:1px solid #847586;border-radius:50%;display:grid;place-items:center;transition:background .2s}.role-card:hover .role-card-arrow{background:#796080}.role-detail{margin-top:10px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.6px;color:#c0b2c2}.role-detail span{color:#a693a9}.role-bottom{margin-top:32px;padding-top:25px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center}.role-bottom p{font:15px var(--serif);letter-spacing:1.5px;color:#c6b6c9}.role-bottom button{padding:10px 0 10px 20px;font-size:12px;letter-spacing:1px}.role-bottom button span{display:inline-block;margin-left:25px;font-size:20px;color:#cbb6d0}
.gallery-heading{align-items:center;margin-bottom:27px}.gallery-heading h2{font-size:42px}.gallery-heading #album-description{margin-top:16px;color:var(--muted);font-size:12px;line-height:2;letter-spacing:.6px}.journal-flower{font:80px Georgia;color:#b2a1b4;transform:rotate(10deg);margin-right:12px}.gallery-toolbar{margin-bottom:0;padding-bottom:14px;border-bottom:1px solid var(--line)}.filters{gap:7px}.filters button{border:1px solid transparent;border-radius:22px;padding:11px 19px;transition:background .2s;color:#6c626e}.filters button.active{border-color:#302a34;background:#302a34;color:#fff}.filters button:hover{border-color:#a99bad}.gallery-count{font:italic 12px Georgia,var(--serif)}.role-filters{display:flex;gap:9px;flex-wrap:wrap;padding:16px 0 24px}.role-filters:before{content:'角色';font-size:10px;color:#897b8c;align-self:center;margin-right:10px}.role-chip{padding:6px 11px;font-size:10px;border-radius:4px;color:#827287}.role-chip:hover,.role-chip[aria-pressed=true]{background:#e7dfe8;color:#48304f}.album-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;margin-bottom:24px;background:#eae4eb;border-left:2px solid #917695}.album-banner[hidden]{display:none}.album-banner span{font-size:9px;letter-spacing:1.5px;color:var(--accent)}.album-banner h3{font:28px/1.5 var(--serif);margin-top:5px;letter-spacing:1px}.album-banner p{font-size:11px;color:#796b7e;line-height:1.8;margin-top:7px}.album-banner button{white-space:nowrap;font-size:11px;border-bottom:1px solid #b4a2b9;padding:10px 0}
/* Same interval-packed layout as the Seedance showcase; photos retain their own ratios. */
.gallery{display:block;position:relative;gap:0}.gallery .photo-card{position:absolute;margin:0;min-width:0}.photo-card button{border-radius:5px;background:#e4dfe3}.photo-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.photo-card button:hover img{transform:none;filter:brightness(1.025)}.photo-card button:after{display:none}.photo-tag{position:absolute;left:10px;top:10px;padding:5px 9px;font-size:10px;color:#fff;background:#2b252cb8;border:1px solid #ffffff35;border-radius:5px;backdrop-filter:blur(8px);line-height:1.4}.photo-plus{position:absolute;bottom:12px;right:12px;border:1px solid #ffffff70;background:#f5f2ebeb;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.photo-card button:hover .photo-plus,.photo-card button:focus-visible .photo-plus{opacity:1}.photo-caption{display:block;padding:10px 2px 10px;line-height:1.6}.photo-caption h3{font-size:11px;font-weight:400;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-caption small{display:block;font-size:9px;letter-spacing:1px;margin-top:3px;color:#9b8f9b}.gallery-footnote{border-top:1px solid var(--line);padding-top:24px;margin-top:22px}.about{border-top:1px solid var(--line);padding-block:80px}.about-copy h2{font-size:43px}.about-flower{color:#c2afc8}.community{background:#e8deea}.community h2{font-size:34px}.usage-notice{margin-top:26px;padding:24px 0 7px;border-top:1px solid var(--line);display:flex;gap:20px}.usage-notice>span{font-size:32px;color:#9e89a5}.usage-notice h3{font:15px/1.8 var(--serif);letter-spacing:1px}.usage-notice p{max-width:1020px;font-size:10px;line-height:2.1;margin-top:8px;color:#837686}.lightbox-stage>button:disabled{opacity:.25;cursor:default}.lightbox{border-radius:7px}
@media(min-width:1500px){.hero{min-height:770px}.hero-photo img{height:540px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero-photo img{height:460px}.hero h1{font-size:45px}.hero{min-height:650px}.role-heading h2{font-size:37px}.role-catalog{gap:26px 16px}.role-name{font-size:24px}.archive-number{font-size:74px}.role-heading-note{gap:15px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.hero{padding-block:38px 40px;min-height:0}.hero h1{font-size:40px}.hero-bottom{padding-top:18px;margin-top:28px}.hero-art{padding:25px 20px 32px 58px}.hero-photo img{height:auto;aspect-ratio:3/4}.hero-photo{border-radius:90px 90px 3px 3px}.handwriting{font-size:64px;top:40px}.art-top{left:58px}.intro-strip{margin-bottom:38px}.role-section{padding:42px 0 26px}.role-heading{align-items:flex-start;margin-bottom:26px}.role-heading h2{font-size:27px;line-height:1.65;letter-spacing:1px;margin-top:12px}.role-heading .eyebrow{font-size:8px;letter-spacing:1px}.role-heading-note{display:block}.archive-number{font-size:51px}.role-heading-note p{display:none}.role-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.role-cover{aspect-ratio:3/4}.role-year{top:8px;left:8px;font-size:10px;padding:4px 7px}.role-card-caption{margin-top:12px}.role-name{font-size:23px}.role-card-arrow{width:25px;height:25px;font-size:13px}.role-detail{font-size:9px;letter-spacing:0;margin-top:8px}.role-bottom{gap:15px;align-items:center;margin-top:25px;padding-top:18px}.role-bottom p{font-size:11px;letter-spacing:0}.role-bottom button{font-size:10px;padding-left:0}.role-bottom button span{margin-left:6px;font-size:17px}.gallery-heading h2{font-size:29px}.gallery-heading #album-description{font-size:10px;margin-top:12px}.journal-flower{font-size:48px;margin-right:0}.gallery-toolbar{display:block;padding-bottom:12px}.filters{gap:3px;justify-content:space-between;flex-wrap:nowrap}.filters button{font-size:10px;padding:8px 8px;white-space:nowrap}.role-filters{gap:4px;padding-block:12px 18px}.role-filters:before{margin-right:3px;font-size:9px}.role-chip{font-size:9px;padding:6px 7px}.photo-tag{top:7px;left:7px;font-size:9px;padding:3px 6px}.photo-caption{padding:8px 1px 7px}.photo-caption h3{font-size:10px}.photo-caption small{font-size:8px;margin-top:2px}.photo-plus{height:25px;width:25px;bottom:8px;right:8px;opacity:1}.album-banner{padding:17px;align-items:flex-start}.album-banner h3{font-size:21px}.album-banner p{font-size:10px}.album-banner button{font-size:9px;white-space:normal;min-width:72px;line-height:1.7}.about{padding-block:50px}.about-copy h2{font-size:32px}.community h2{font-size:28px}.usage-notice{gap:12px;padding-top:20px}.usage-notice p{font-size:9px}.usage-notice h3{font-size:14px}.usage-notice>span{font-size:24px}}
/* Keep the photo wall uninterrupted: metadata belongs inside the image/viewer. */
.photo-card button{border-radius:7px}.photo-overlay-title{position:absolute;inset:auto 0 0;padding:48px 48px 16px 16px;text-align:left;font:15px/1.5 var(--serif);letter-spacing:1px;color:white;background:linear-gradient(transparent,#17101b99);opacity:0;transition:opacity .2s;pointer-events:none}.photo-card button:hover .photo-overlay-title,.photo-card button:focus-visible .photo-overlay-title{opacity:1}.photo-plus{z-index:1}.photo-tag{font-size:11px;padding:5px 9px}.gallery-footnote{margin-top:24px}
@media(max-width:760px){.photo-tag{font-size:9px;padding:3px 6px}.photo-overlay-title{display:none}.photo-plus{width:24px;height:24px;font-size:13px}}
.gallery-actions{display:flex;align-items:center;gap:24px}.gallery-actions button{font-size:11px;letter-spacing:.5px;padding:10px 0;color:var(--accent)}.gallery-actions button span{margin-left:8px}.role-chip{font-size:11px;padding:7px 12px}.photo-card{animation:photo-appear .35s ease both}#lightbox-image{touch-action:pan-y;user-select:none}.role-card:focus-visible{outline-color:#ddc6e2}
@keyframes photo-appear{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.gallery-actions{justify-content:space-between;padding:10px 2px 0}.gallery-actions .gallery-count{display:block;font-size:10px}.gallery-actions button{font-size:10px;padding:4px 0}.role-chip{font-size:10px;padding:7px 9px}}
@media(max-width:760px){.gallery-heading .journal-flower{display:none}.gallery-heading h2{font-size:28px;letter-spacing:0}.role-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;padding-bottom:14px;margin-bottom:8px}.role-filters:before,.role-chip{flex-shrink:0}}
/* Round three: consistent cover crops, restrained type, and outlined actions. */
.role-cover{background:#211d24;border:1px solid #ffffff13;border-radius:9px;box-shadow:0 12px 28px #100b1426;isolation:isolate}.role-cover img{width:100%;height:100%;object-fit:cover}.role-cover.cover-quegu img{transform:scale(1.2)}.role-card:hover .role-cover.cover-quegu img{transform:scale(1.23)}.role-cover.cover-yunque img{transform:scale(2.6);transform-origin:70% 0}.role-card:hover .role-cover.cover-yunque img{transform:scale(2.64)}.role-card:hover .role-cover img{transform:scale(1.035)}.role-card-caption{margin-top:20px}.role-card-arrow{width:36px;height:36px;border-color:#bda5c566;background:#ffffff04}.role-card:focus-visible{border-radius:9px}.role-year{background:#201c249e;border-color:#f2e4f44d;backdrop-filter:blur(12px)}
.outline-button,#expand-roles,#random-photo,#clear-album{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;padding:12px 24px;border:1px solid #aa91b0;border-radius:999px;background:linear-gradient(135deg,#ffffff60,#eee5f02e);color:#695171;font-size:12px;letter-spacing:.8px;line-height:1.5;transition:background .2s,box-shadow .2s,transform .2s,border-color .2s}
.outline-button:hover,#expand-roles:hover,#random-photo:hover,#clear-album:hover{background:#e8dceb;border-color:#85658e;box-shadow:0 5px 18px #7960821a;transform:translateY(-2px)}.heart-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#random-photo:hover .heart-icon{fill:#c5a9d24d}#random-photo span{margin:0;font-size:12px}.role-bottom-hint{display:none}.role-bottom{justify-content:center;border-top:0;margin-top:32px;padding:0}#expand-roles{min-width:228px;color:#e3cde8;border-color:#c2a2cb70;background:#ffffff03}#expand-roles:hover{background:#745b7b47;border-color:#d3b4da}#expand-roles span{font-size:19px;margin-left:12px;color:inherit}
.gallery-toolbar{align-items:flex-start;gap:24px;padding-bottom:18px}.filters{flex-wrap:wrap;gap:7px}.filters button{padding:10px 15px;min-height:42px;white-space:nowrap;border:1px solid #d5cbd6;background:#ffffff25;font-size:11px}.filters button:hover{background:#ece3ed;border-color:#a88fae}.filters button.active{background:#67516e;border-color:#67516e;color:#fff;box-shadow:0 3px 10px #78608416}.gallery-actions{flex-shrink:0;gap:18px;align-items:center}.gallery-count{white-space:nowrap;color:#978599;font-size:11px}.role-chip{border:1px solid #ded5df;border-radius:18px;padding:7px 13px;transition:background .2s,border-color .2s}.role-chip:hover,.role-chip[aria-pressed=true]{border-color:#9c7ca6;background:#e4d7e9}.role-filters{padding-top:18px;padding-bottom:25px}.gallery-more{display:flex;justify-content:center;margin-top:32px}.gallery-more:has([hidden]){margin:0}.gallery-more button[hidden]{display:none}.gallery-more button{min-width:220px}.photo-card button{box-shadow:0 2px 9px #3122330a}.photo-tag{background:#241e28aa;border-color:#ffffff40;backdrop-filter:blur(10px)}.gallery-actions button:active,.outline-button:active{transform:translateY(0)}.lightbox-head .close{border:1px solid #c4b4c9;border-radius:24px;padding:9px 16px;min-height:40px}.lightbox-stage>button{background:#ffffff70}.lightbox-caption>a{padding:10px 15px;border:1px solid #bea8c6;border-radius:22px}.usage-notice p{font-size:11px}
@media(max-width:1100px){.gallery-toolbar{display:block}.gallery-actions{justify-content:space-between;margin-top:16px}.filters{gap:7px}.filters button{padding-inline:16px}.role-cover{aspect-ratio:3/4}.role-name{font-size:23px}}
@media(max-width:760px){.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.filters button{width:100%;font-size:10px;padding:8px 3px;min-height:37px}.gallery-actions{padding:0;margin-top:14px}.gallery-count{display:block!important}.outline-button,#expand-roles,#random-photo,#clear-album{min-height:42px;padding:10px 18px;font-size:11px}.heart-icon{width:17px;height:17px}#random-photo span{font-size:11px}.role-cover{aspect-ratio:4/5;border-radius:7px}.role-card-caption{margin-top:14px}.role-card-arrow{width:29px;height:29px}.role-name{font-size:22px}.role-detail span{font-size:9px}.role-bottom{margin-top:26px}.role-filters{scrollbar-width:none}.role-filters::-webkit-scrollbar{display:none}.role-chip{min-height:34px;padding:6px 12px}.gallery-more{margin-top:25px}.usage-notice p{font-size:10px}.lightbox-caption>a{font-size:9px;padding:9px 11px}.lightbox-caption{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.outline-button:hover,#expand-roles:hover,#random-photo:hover,#clear-album:hover{transform:none}}
.role-cover.cover-quegu img{transform:scale(1.5);transform-origin:50% 40%}.role-card:hover .role-cover.cover-quegu img{transform:scale(1.53)}.role-cover.cover-tonger img{transform:scale(1.25);transform-origin:50% 45%}.role-card:hover .role-cover.cover-tonger img{transform:scale(1.28)}

/* The archive is a full-viewport chapter; the inner wrap only limits its content. */
html{scroll-padding-top:0}
.role-section{width:100%;min-height:100svh;display:flex;align-items:center;padding-block:clamp(44px,6vh,88px);margin:0}
.role-section>.wrap{flex:none}
.role-cover.cover-yunque img{transform-origin:30% 0}

/* A soft lavender chapter keeps the archive continuous with the paper canvas. */
.role-section{background:#eee8ef;color:var(--ink);border-block:1px solid #e3dae5}
.role-section:before{background:radial-gradient(ellipse at 80% 0,#fff9,transparent 70%)}
.role-section .eyebrow{color:#7b668b}
.role-heading h2 em{color:#81678c}
.role-heading-note p,.role-detail,.role-detail span{color:#786b7c}
.archive-number{color:#b4a0bd}
.role-cover{background:#e1d8e3;border-color:#d9cedc;box-shadow:0 6px 22px #4933510a}
.role-card-arrow{border-color:#ac97b6;color:#796284;background:#ffffff45}
.role-card:hover .role-card-arrow{background:#81678c;color:#fff;border-color:#81678c}
.role-bottom{border-color:#d6c9dc}
.role-bottom #expand-roles{color:#6d537a;border-color:#ac97b6;background:#ffffff40}
.role-bottom #expand-roles:hover{background:#e1d5e7;border-color:#81678c}
.role-cover.cover-quegu img,.role-card:hover .role-cover.cover-quegu img{transform:none}
.role-name{font-size:clamp(19px,2vw,30px)}

.role-year{color:#fff;background:#3a3046b8;border-color:#ffffff55}

/* Two recent personal posts, arranged like photographs tucked into a journal. */
.about-diary{grid-template-columns:1.05fr 1fr;gap:clamp(38px,6vw,90px);align-items:center;padding-block:88px 96px}
.about-moments{min-width:0}.about-moments>.eyebrow{margin-bottom:30px}
.daily-pair{position:relative;height:auto;aspect-ratio:1.08;isolation:isolate}
.daily-pair:before{content:'';position:absolute;inset:22px 6% 22px 3%;border-radius:50%;background:radial-gradient(ellipse,#e8ddeb88,transparent 70%);z-index:-1}
.daily-print{position:absolute;padding:9px;background:#fffdf8;border:1px solid #e2d8dd;border-radius:8px;box-shadow:0 15px 40px #4e3a5415,0 2px 6px #4e3a5408;transition:transform .3s,box-shadow .3s}
.daily-print img{width:100%;height:auto;border-radius:3px}
.daily-print-main{left:0;top:0;width:62%}
.daily-print-note{right:0;bottom:0;width:47%;z-index:1}
.daily-print:hover{transform:translateY(-5px);box-shadow:0 20px 45px #4e3a5424}
.daily-photo-icon{position:absolute;right:20px;bottom:20px;width:30px;height:30px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;background:#f8f2f0d9;color:#60486b;opacity:0;transition:opacity .2s}
.daily-print:hover .daily-photo-icon,.daily-print:focus-visible .daily-photo-icon{opacity:1}
.daily-handwriting{position:absolute;left:12px;bottom:12px;font:italic 25px/1.4 Georgia,serif;color:#9c84a7}
.about-diary .about-copy h2{font-size:clamp(30px,3.25vw,45px);line-height:1.65;letter-spacing:1px;margin-top:0}
.about-diary .about-copy>p{font-size:13px;line-height:2.3;margin-top:25px;color:#887b88}
.about-diary .about-copy>p.letter{font:20px/2 var(--serif);letter-spacing:1px;color:#69586e;margin-top:26px}
.about-button{display:inline-flex;align-items:center;gap:13px;padding:10px 11px 10px 22px;margin-top:32px;border:1px solid #9c81a6;border-radius:999px;background:linear-gradient(125deg,#846c91,#675172);color:#fffafc;box-shadow:inset 0 1px 0 #ffffff30,0 6px 16px #6951731a;font-size:12px;letter-spacing:.8px;transition:transform .2s,box-shadow .2s,background .2s}
.about-button .heart-icon{width:18px;height:18px}.about-button-arrow{display:grid;place-items:center;width:34px;height:34px;margin-left:6px;border:1px solid #fff5;border-radius:50%;background:#ffffff0d;font-size:19px}
.about-button:hover{transform:translateY(-3px);background:linear-gradient(125deg,#91769d,#6c5278);box-shadow:inset 0 1px 0 #ffffff30,0 10px 24px #69517329}
@media(max-width:1100px){.daily-pair{height:auto}.daily-handwriting{font-size:21px}.about-diary{gap:38px}.about-diary .about-copy>p{font-size:12px}.about-diary .about-copy>p.letter{font-size:18px}}
@media(max-width:760px){.about-diary{grid-template-columns:1fr;gap:36px;padding-block:48px 54px}.about-moments>.eyebrow{margin-bottom:24px}.daily-pair{height:auto;aspect-ratio:1.08;max-width:470px;margin:auto}.daily-print{padding:6px;border-radius:6px}.daily-print-main{width:60%}.daily-print-note{width:46%}.daily-handwriting{left:6px;bottom:7px;font-size:19px}.daily-photo-icon{opacity:1;right:13px;bottom:13px;width:25px;height:25px}.about-diary .about-copy h2{font-size:29px}.about-diary .about-copy>p{margin-top:20px;font-size:11px}.about-diary .about-copy>p.letter{font-size:18px;margin-top:20px}.about-button{margin-top:25px;font-size:11px;padding-left:18px;gap:10px}.about-button-arrow{width:31px;height:31px}}
