:root{
  --cream:#faf6ef;--white:#fffefb;--oat:#f4efe7;--paper:#fffdfa;
  --ink:#3f3a36;--muted:#817973;--soft:#a69b93;--line:#ded6cc;
  --rose:#a66d61;--rose-soft:#ead8d0;--shadow:0 24px 70px rgba(88,70,58,.12);
  --serif:"Noto Serif SC","Songti SC",SimSun,serif;--sans:"Noto Sans SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button{border:0;color:inherit;background:none;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}figure,p,h1,h2,h3,dl,dd{margin:0}.page-width{width:min(1240px,calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:12px 18px;background:var(--ink);color:white}.skip-link:focus{top:20px}.loading,.empty-state{min-height:65vh;display:grid;place-content:center;text-align:center;gap:16px;padding:60px 24px}.empty-state h1{font:400 34px/1.4 var(--serif)}

.site-header{position:relative;z-index:5;max-width:1440px;margin:auto;padding:25px 48px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;background:rgba(255,254,251,.94);border-bottom:1px solid rgba(222,214,204,.7);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;font:400 20px/1.2 var(--serif);letter-spacing:.08em}.brand-mark{width:34px;height:34px}.brand small{display:block;margin-top:4px;color:var(--muted);font:9px/1 var(--sans);letter-spacing:.2em}.site-header nav{display:flex;gap:35px;font-size:13px;letter-spacing:.08em}.site-header nav a{position:relative;padding:9px 0}.site-header nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:1px;background:var(--rose);transition:.25s}.site-header nav a:hover:after,.site-header nav a[aria-current="page"]:after{left:0;right:0}.local-label{justify-self:end;color:var(--muted);font-size:11px;letter-spacing:.12em}

.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.chapter-number{color:var(--rose);margin-right:15px}.heading-dot{color:var(--rose)}.button{min-height:42px;padding:9px 18px;display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid transparent;font-size:13px;letter-spacing:.04em;transition:background .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--ink);color:white}.button-primary:hover{background:#5a514b}.button-outline{border-color:var(--line);background:rgba(255,255,255,.54)}.button-outline:hover{border-color:var(--rose)}.button-text{color:var(--muted)}.quiet-button{padding:8px 0;border-bottom:1px solid var(--line);color:#6f625b;font-size:13px;letter-spacing:.04em}.quiet-button:hover{border-color:var(--rose);color:var(--rose)}.round-link{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:17px;transition:.2s}.round-link:hover{border-color:var(--rose);color:var(--rose);transform:rotate(45deg)}

/* 01 · story */
.profile-section{position:relative;overflow:hidden;background:var(--cream);padding:96px 0 58px}.profile-section:before{content:"";position:absolute;width:430px;height:430px;right:-130px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(234,216,208,.75),rgba(234,216,208,0) 68%)}.profile-inner{position:relative}.profile-story{display:grid;grid-template-columns:minmax(270px,.75fr) minmax(440px,1.25fr);align-items:center;gap:9vw;min-height:650px}.profile-copy{align-self:center;padding:30px 0}.profile-copy h1{margin:30px 0 32px;max-width:520px;color:#4b423d;font:400 clamp(40px,4vw,48px)/1.45 var(--serif);letter-spacing:.06em;white-space:pre-wrap;overflow-wrap:anywhere}.profile-intro{max-width:440px;margin-bottom:33px;color:#655d57;font:400 18px/2 var(--serif);white-space:pre-wrap}.profile-photos{min-width:0}.photo-stack{position:relative}.stack-stage{position:relative;height:min(580px,54vw);min-height:460px;margin-inline:auto;isolation:isolate}.stack-card{position:absolute;inset:0;margin:auto;width:min(82%,480px);height:100%;padding:0;transition:transform .55s cubic-bezier(.22,.75,.25,1),opacity .35s,filter .35s;transform-origin:50% 80%}.stack-card[hidden]{display:none}.stack-card[data-stack-position="0"]{z-index:3;transform:translate(0,0) rotate(0);filter:none}.stack-card[data-stack-position="1"]{z-index:2;transform:translate(8.5%,1.8%) rotate(3.2deg);filter:saturate(.88)}.stack-card[data-stack-position="2"]{z-index:1;transform:translate(-7.5%,4%) rotate(-3.5deg);filter:saturate(.8)}.stack-card[data-stack-position="3"]{z-index:0;opacity:0;transform:translateY(3%) scale(.96);pointer-events:none}.stack-paper{width:100%;height:100%;padding:14px 14px 54px;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.stack-paper img{width:100%;height:100%;object-fit:contain;background:#f8f5ef}.photo-stack.single .stack-card{width:min(84%,500px)}.photo-stack.single .stack-paper{box-shadow:0 24px 65px rgba(88,70,58,.1)}.stack-controls{margin:29px auto 0;width:min(82%,480px);display:flex;align-items:center;justify-content:center;gap:24px;color:var(--muted);font-size:12px;letter-spacing:.16em}.stack-controls button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%}.stack-controls button:hover{border-color:var(--rose);color:var(--rose)}.stack-controls b{color:var(--ink);font-weight:500}.stack-information{width:min(82%,480px);margin:28px auto 0}.stack-info-panel:not([hidden]){display:block}.stack-info-heading{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.stack-kicker,.stack-date{color:var(--muted);font-size:11px;letter-spacing:.1em}.stack-info-heading h3{margin-top:5px;font:400 21px/1.5 var(--serif)}.stack-location{margin-top:11px;color:var(--muted);font-size:13px}.stack-location:before{content:"○";margin-right:7px;color:var(--rose)}.stack-description{margin-top:14px;color:#6b625d;font-size:14px;line-height:1.9}.stack-exif{margin-top:17px;border-top:1px solid var(--line);font-size:12px}.stack-exif summary{padding:12px 0;color:var(--muted);cursor:pointer;list-style:none}.stack-exif summary:after{content:"＋";float:right;color:var(--rose)}.stack-exif[open] summary:after{content:"－"}.stack-exif dl{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 20px;padding-bottom:10px}.stack-exif dl div{display:flex;justify-content:space-between;gap:10px}.stack-exif dt{color:var(--soft)}.profile-footer{margin-top:60px;padding-top:22px;border-top:1px solid rgba(166,109,97,.25);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.12em}.profile-footer>div{display:flex;align-items:center;gap:35px}.profile-footer a:hover{color:var(--rose)}.profile-photo-empty{min-height:430px;display:grid;place-content:center;justify-items:center;gap:20px;border:1px solid var(--line);background:rgba(255,255,255,.38);color:var(--muted)}

/* 02 · exhibition */
.works-section{position:relative;background:linear-gradient(180deg,var(--cream) 0,var(--white) 90px);padding:150px 0 88px}.featured-section{background:var(--white);padding:78px 0 150px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:65px}.section-heading h2{margin-top:13px;font:400 clamp(38px,4vw,58px)/1.2 var(--serif);letter-spacing:.04em}.section-actions{max-width:270px;text-align:right}.section-actions p,.section-note{margin-bottom:12px;color:var(--muted);font-size:12px;line-height:1.8;letter-spacing:.06em}.hero{max-width:1050px;margin:auto}.hero-photo{display:block;width:100%;padding:0}.hero-photo img{width:100%;height:min(72vh,720px);object-fit:contain;background:#fbfaf7}.hero-caption{display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:880px;margin:30px auto 0;padding-top:20px;border-top:1px solid var(--line)}.hero-caption span{color:var(--muted);font-size:11px;letter-spacing:.13em}.hero-caption h3{margin-top:7px;font:400 26px/1.5 var(--serif)}.hero-caption p{max-width:620px;margin-top:8px;color:var(--muted);font-size:14px;line-height:1.8}.archive-strip{margin-top:105px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.08em}.archive-strip span:not(:first-child){border-left:1px solid var(--line);padding-left:28px}.archive-strip strong{display:block;color:var(--ink);font:400 24px/1.3 var(--serif)}.curated-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:52px 24px}.curated-card{flex:var(--ratio) 1 calc((100% - 48px)/3);min-width:260px;max-width:calc(50% - 12px)}.curated-card>button{position:relative;display:flex;width:100%;height:260px;align-items:center;justify-content:center;overflow:hidden;padding:0;background:#faf8f4}.curated-card picture,.curated-card picture img{width:100%;height:100%}.curated-card img{object-fit:contain}.image-open{position:absolute;right:12px;bottom:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,253,250,.9);color:var(--ink);font-size:13px;opacity:0;transform:translateY(5px);transition:.2s}.curated-card button:hover .image-open,.album-cover:hover .image-open{opacity:1;transform:none}.curated-card figcaption{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:baseline;padding-top:14px;border-top:1px solid var(--line);font-size:12px}.curated-card time,.item-number{color:var(--muted);font-size:10px;letter-spacing:.1em}.showcase-empty{min-height:420px;display:grid;place-content:center;justify-items:center;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.showcase-empty.compact{min-height:220px}

/* 03 · diary */
.journals-section{position:relative;background:linear-gradient(180deg,var(--white) 0,var(--oat) 105px);padding:155px 0 120px}.journals-heading{padding-bottom:38px;border-bottom:1px solid #d8cec2}.month-section{display:grid;grid-template-columns:130px 1fr;gap:52px;padding:48px 0 70px;border-bottom:1px solid #d8cec2}.month-label{position:sticky;top:30px;align-self:start;color:var(--muted);display:flex;flex-direction:column}.month-label span{font-size:11px;letter-spacing:.2em}.month-label strong{color:#74665e;font:400 52px/1.2 var(--serif)}.month-label small{font-size:11px;letter-spacing:.12em}.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 30px}.album-card{display:block;min-width:0}.album-cover{position:relative;background:#e8e1d8;overflow:hidden}.album-cover picture,.album-cover img{width:100%;aspect-ratio:4/3;object-fit:cover}.photo-count{position:absolute;left:12px;bottom:12px;padding:5px 9px;background:rgba(255,253,250,.88);font-size:10px;letter-spacing:.06em}.album-info{padding:17px 3px 0}.album-date{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:10px;letter-spacing:.09em}.album-date span{text-align:right}.album-info h3{margin-top:8px;font:400 23px/1.5 var(--serif)}.album-summary{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.album-card:hover h3{color:var(--rose)}

.site-footer{padding:42px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px;background:#eee7dd;color:var(--muted);border-top:1px solid #ddd2c6;font-size:11px;letter-spacing:.1em}.footer-signature{color:var(--ink);font:400 21px/1.2 var(--serif)}.footer-signature small{display:block;margin-top:6px;color:var(--muted);font:10px/1 var(--sans);letter-spacing:.1em}

/* album */
.album-page{min-height:70vh;background:var(--white);padding:70px 0 110px}.back-link{display:inline-block;margin-bottom:55px;color:var(--muted);font-size:12px}.back-link:hover{color:var(--rose)}.album-page-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.album-page-heading h1{margin-top:13px;font:400 clamp(38px,5vw,62px)/1.25 var(--serif);letter-spacing:.05em}.album-story{max-width:740px;padding:30px 0 70px;color:#655e59;font:400 17px/2 var(--serif);white-space:pre-wrap}.album-story.muted,.prose.muted{color:var(--soft)}.photo-grid{columns:2;column-gap:28px}.photo-card{break-inside:avoid;margin-bottom:42px}.photo-card>button{width:100%;padding:0}.photo-card picture,.photo-card picture img{width:100%}.photo-caption{display:grid;grid-template-columns:1fr auto;gap:20px;padding-top:13px}.photo-caption h2{font:400 16px/1.6 var(--serif)}.photo-caption p{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.8}.edit-link{align-self:start;color:var(--muted);font-size:12px}.edit-link:hover{color:var(--rose)}

/* light viewer and forms */
dialog{border:0;color:var(--ink);padding:0;overscroll-behavior:contain}dialog::backdrop{background:rgba(244,239,231,.78);backdrop-filter:blur(12px)}.viewer{width:min(1120px,94vw);max-width:94vw;max-height:94dvh;background:var(--paper);box-shadow:0 28px 100px rgba(72,60,51,.2)}.viewer-bar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fffdfa;border-bottom:1px solid var(--line);color:var(--muted)}.viewer-bar>span{font-size:11px;letter-spacing:.1em}.icon-button{width:42px;height:42px;display:grid;place-items:center;padding:0;border-radius:50%;font-size:17px;flex:none}.icon-button:hover{background:var(--oat)}.viewer-image-wrap{position:relative;min-height:180px;display:flex;align-items:center;justify-content:center;background:#f8f5ef}.viewer-image-wrap img{width:100%;height:64dvh;object-fit:contain}.photo-arrow{position:absolute;top:calc(50% - 23px);z-index:1;width:44px;height:46px;display:grid;place-items:center;border:1px solid rgba(222,214,204,.8);border-radius:50%;background:rgba(255,253,250,.9);color:var(--ink);font-size:28px}.photo-arrow:hover:not(:disabled){border-color:var(--rose);color:var(--rose)}.photo-arrow.prev{left:16px}.photo-arrow.next{right:16px}.photo-arrow:disabled{opacity:.18;cursor:default}.viewer-notes{padding:30px 38px 38px;background:#fffdfa}.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.detail-heading h2{margin-top:5px;font:400 28px/1.5 var(--serif)}.prose{margin-top:15px;color:#655e59;white-space:pre-wrap}.exif{display:flex;flex-wrap:wrap;gap:20px 34px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.exif:empty{display:none}.exif dt{color:var(--soft);font-size:10px}.exif dd{max-width:280px;font-size:13px;overflow-wrap:anywhere}
.editor,.photo-manager{background:var(--paper);box-shadow:0 28px 100px rgba(72,60,51,.2)}.editor{width:min(620px,calc(100vw - 32px));max-height:92dvh;padding:32px}.editor::backdrop,.photo-manager::backdrop{background:rgba(244,239,231,.82)}.editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:27px}.editor-heading h2{margin-top:9px;font:400 27px/1.5 var(--serif)}.editor label{display:block;margin-bottom:9px;font-size:13px}.editor label span{margin-left:5px;color:var(--muted);font-size:11px}.editor input,.editor textarea{width:100%;margin-bottom:20px;padding:12px 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font-size:15px;line-height:1.75}.editor textarea{min-height:150px;resize:vertical}.editor input:focus,.editor textarea:focus,.photo-manager select:focus{outline:2px solid rgba(166,109,97,.15);border-color:var(--rose)}#save-status,#manager-status{min-height:22px;color:var(--muted);font-size:13px}.error{color:#a14332!important}.editor-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:15px}.photo-manager{width:min(1080px,calc(100vw - 42px));max-height:94dvh;padding:30px}.photo-manager form{display:flex;flex-direction:column;max-height:calc(94dvh - 60px)}.manager-layout{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(430px,1.22fr);min-height:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manager-selected,.manager-library{padding:25px 0;min-height:0}.manager-selected{padding-right:25px;border-right:1px solid var(--line);overflow:auto}.manager-library{padding-left:25px;display:flex;flex-direction:column}.manager-layout h3{font:400 17px/1.5 var(--serif)}.manager-hint{margin:7px 0 18px;color:var(--muted);font-size:11px}.manager-selected ol{list-style:none;padding:0;margin:0}.selected-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #eee8e0}.selected-item img{width:58px;height:52px;object-fit:cover}.selected-item strong{display:block;font:400 13px/1.5 var(--serif)}.selected-item small{color:var(--muted);font-size:10px}.selected-actions{display:flex;gap:3px}.selected-actions button{width:27px;height:27px;color:var(--muted);font-size:12px}.selected-actions button:hover{color:var(--rose)}.missing-photo{padding:18px 0;color:#a14332;font-size:12px}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.library-heading select{max-width:240px;padding:8px 30px 8px 10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:12px}.library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;overflow:auto;padding-right:5px}.library-photo{position:relative;padding:0;border:2px solid transparent;background:#f4efe8}.library-photo img{width:100%;height:105px;object-fit:cover}.library-photo span{position:absolute;left:6px;right:6px;bottom:5px;padding:3px 4px;background:rgba(255,253,250,.87);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-photo[aria-pressed="true"]{border-color:var(--rose)}.library-photo[aria-pressed="true"]:after{content:"✓";position:absolute;right:5px;top:5px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--rose);color:#fff;font-size:11px}.manager-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:14px}.toast{position:fixed;left:50%;bottom:28px;z-index:20;transform:translate(-50%,10px);padding:12px 22px;background:#4b423d;color:white;box-shadow:0 10px 35px rgba(72,60,51,.22);opacity:0;pointer-events:none;font-size:13px;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){.page-width{width:calc(100% - 56px)}.site-header{padding:22px 28px;grid-template-columns:1fr auto}.local-label{display:none}.profile-story{grid-template-columns:.8fr 1.2fr;gap:5vw}.stack-stage{min-height:410px}.archive-strip{grid-template-columns:1.3fr repeat(3,1fr)}.month-section{grid-template-columns:90px 1fr;gap:28px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){html{scroll-padding-top:120px}.page-width{width:calc(100% - 40px)}.site-header{padding:18px 20px;grid-template-columns:1fr;gap:12px}.site-header nav{justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px}.profile-section{padding:50px 0 38px}.profile-story{display:flex;flex-direction:column;align-items:stretch;gap:42px;min-height:0}.profile-copy{padding:0}.profile-copy h1{margin:23px 0 23px;font-size:clamp(28px,9vw,34px);line-height:1.55}.profile-intro{font-size:16px}.profile-photos{display:contents}.photo-stack{order:1}.stack-information{order:2;width:92%;margin-top:24px}.profile-copy{order:0}.stack-stage{height:118vw;min-height:380px;max-height:580px}.stack-card,.photo-stack.single .stack-card{width:87%}.stack-paper{padding:9px 9px 38px}.stack-controls{width:87%;margin-top:24px}.profile-footer{margin-top:45px;align-items:flex-start;gap:20px}.profile-footer>div{flex-direction:column;align-items:flex-end;gap:13px}.works-section{padding:105px 0 65px}.featured-section{padding:55px 0 105px}.section-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:42px}.section-actions{max-width:none;text-align:left}.section-heading h2{font-size:38px}.hero-photo img{height:auto;max-height:68vh}.hero-caption{margin-top:19px}.hero-caption h3{font-size:22px}.archive-strip{margin-top:70px;grid-template-columns:1fr 1fr;gap:20px}.archive-strip span:not(:first-child){padding-left:0;border-left:0}.archive-strip span:nth-child(even){border-left:1px solid var(--line);padding-left:20px}.curated-grid{display:block}.curated-card{max-width:none;min-width:0;margin-bottom:42px}.curated-card>button{height:auto;min-height:180px}.curated-card picture,.curated-card picture img{height:auto}.journals-section{padding:110px 0 80px}.month-section{grid-template-columns:1fr;gap:24px;padding:34px 0 48px}.month-label{position:static;flex-direction:row;align-items:baseline;gap:12px}.month-label strong{order:-1;font-size:42px}.album-grid{grid-template-columns:1fr;gap:38px}.album-cover picture,.album-cover img{aspect-ratio:auto;max-height:70vh}.site-footer{padding:34px 20px;flex-wrap:wrap}.album-page{padding:45px 0 80px}.back-link{margin-bottom:38px}.album-page-heading{align-items:flex-start;flex-direction:column}.album-story{padding:25px 0 45px}.photo-grid{columns:1}.viewer{width:100%;max-width:100%;max-height:100dvh;margin:auto 0}.viewer-bar{height:54px;padding:0 13px}.viewer-image-wrap img{height:55dvh}.photo-arrow{width:38px;height:40px}.photo-arrow.prev{left:7px}.photo-arrow.next{right:7px}.viewer-notes{padding:24px 20px 30px}.detail-heading{align-items:flex-start}.detail-heading h2{font-size:23px}.editor{padding:23px}.photo-manager{width:calc(100% - 20px);max-height:97dvh;padding:20px}.photo-manager form{max-height:calc(97dvh - 40px)}.manager-layout{display:block;overflow:auto}.manager-selected{padding:20px 0;max-height:250px;border-right:0;border-bottom:1px solid var(--line)}.manager-library{padding:20px 0}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.library-photo img{height:90px}.manager-bottom{flex-wrap:wrap}.manager-bottom .editor-actions{width:100%}}
@media(max-width:380px){.page-width{width:calc(100% - 30px)}.site-header nav{font-size:12px}.profile-footer>span{display:none}.profile-footer>div{width:100%;align-items:flex-start}.stack-stage{min-height:340px}.archive-strip{font-size:10px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-heading{display:block}.detail-heading .button{margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Public preview is deliberately read-only. The static host has no write API. */
html[data-mode="online"] [data-edit-profile],
html[data-mode="online"] [data-manage-photos],
html[data-mode="online"] [data-manage-showcase],
html[data-mode="online"] [data-manage-publish],
html[data-mode="online"] [data-edit-album],
html[data-mode="online"] [data-edit-photo],
html[data-mode="online"] #photo-edit,
html[data-mode="online"] #editor,
html[data-mode="online"] #photo-manager{display:none!important}

.local-tools{justify-self:end;display:flex;align-items:center;gap:16px}.local-tools .local-label{justify-self:auto}.header-publish{padding:8px 11px;border:1px solid var(--line);background:#fffaf4;color:#6f625b;font-size:11px;letter-spacing:.06em;white-space:nowrap}.header-publish:hover{border-color:var(--rose);color:var(--rose)}.header-publish span{margin-left:5px;color:var(--rose)}
.publish-summary{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.publish-summary .quiet-button span{margin-left:8px;color:var(--rose)}.manager-selected-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.manager-selected-heading>div{display:flex;gap:8px}.manager-selected-heading button{padding:4px 7px;border:1px solid var(--line);color:var(--muted);font-size:10px}.manager-selected-heading button:hover{border-color:var(--rose);color:var(--rose)}
@media(max-width:700px){.publish-summary{align-items:flex-start}.manager-selected-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.site-header{grid-template-columns:1fr auto}.site-header nav{grid-column:1/-1}.local-tools{grid-column:2;grid-row:1}.header-publish{padding:7px 9px}}
.stack-card[data-stack-position="hidden"]{z-index:0;opacity:0;transform:translateY(3%) scale(.96);pointer-events:none}.photo-image{position:relative;display:block;padding:0}.photo-image:hover .image-open{opacity:1;transform:none}.selected-content{min-width:0}.selected-content p{font:400 13px/1.45 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-role{color:var(--muted);font-size:10px}.selected-actions{flex-wrap:wrap;justify-content:flex-end}.selected-actions button{width:auto;min-width:27px;padding:0 4px}.selection-empty{padding:22px 0;color:var(--muted);font-size:12px}.library-photo{cursor:pointer}.library-photo input{position:absolute;opacity:0;pointer-events:none}.library-photo.selected{border-color:var(--rose)}.library-photo.selected:after{content:"✓";position:absolute;right:5px;top:5px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--rose);color:#fff;font-size:11px}.album-place{margin-top:12px;color:var(--muted);font-size:13px}.photo-description{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.8}
.editor #edit-title{min-height:70px;resize:vertical}

/* Dark gallery revision */
.works-section{position:relative;padding:145px 0 120px;background:linear-gradient(180deg,#2d2824 0,#24211f 82px,#24211f calc(100% - 70px),#292522 100%);color:#f5efe7;border-top:1px solid rgba(166,109,97,.28);border-bottom:1px solid rgba(245,239,231,.12)}.works-section .eyebrow,.works-section .section-actions p{color:#b9aea3}.works-section .section-heading h2{color:#fffaf3}.works-section .quiet-button{color:#e1d7ce;border-color:rgba(245,239,231,.24)}.works-section .quiet-button:hover{color:#d4a18c;border-color:#c6927e}.works-section .heading-dot,.works-section .chapter-number{color:#c6927e}.showcase-carousel{outline:none}.showcase-carousel:focus-visible{outline:1px solid #c6927e;outline-offset:10px}.showcase-stage{position:relative;min-height:360px;height:min(72vh,720px);display:flex;align-items:center;justify-content:center;background:#1b1917;border:1px solid rgba(245,239,231,.1);overflow:hidden}.showcase-slides{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.showcase-slide{width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center}.showcase-slide[hidden]{display:none}.showcase-slide img{width:100%;height:100%;object-fit:contain;background:#1b1917}.showcase-arrow{position:absolute;top:50%;z-index:2;width:50px;height:50px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(245,239,231,.32);border-radius:50%;background:rgba(36,33,31,.72);color:#f5efe7;font:300 32px/1 var(--sans);backdrop-filter:blur(8px);transition:.2s}.showcase-arrow:hover{border-color:#d4a18c;color:#d4a18c;background:rgba(36,33,31,.94)}.showcase-arrow.prev{left:20px}.showcase-arrow.next{right:20px}.showcase-meta{position:relative;max-width:900px;margin:0 auto;padding:28px 85px 0 0;border-top:1px solid rgba(245,239,231,.16)}.showcase-caption{display:flex;justify-content:space-between;align-items:center;gap:30px}.showcase-caption[hidden]{display:none}.showcase-caption span{color:#a99f97;font-size:11px;letter-spacing:.13em}.showcase-caption h3{margin-top:7px;color:#fffaf3;font:400 27px/1.5 var(--serif)}.showcase-caption p{max-width:620px;margin-top:8px;color:#b9aea3;font-size:14px;line-height:1.9}.showcase-caption .round-link{border-color:rgba(245,239,231,.26);color:#f5efe7}.showcase-caption .round-link:hover{border-color:#c6927e;color:#d4a18c}.showcase-counter{position:absolute;right:0;top:31px;display:flex;align-items:baseline;gap:8px;color:#8f867f;font-size:11px;letter-spacing:.12em}.showcase-counter b{color:#f5efe7;font:400 20px/1 var(--serif)}.works-section .archive-strip{color:#a99f97;border-color:rgba(245,239,231,.16)}.works-section .archive-strip span:not(:first-child){border-color:rgba(245,239,231,.16)}.works-section .archive-strip strong{color:#f5efe7}.works-section .showcase-empty{color:#b9aea3;border-color:rgba(245,239,231,.18)}.works-section .showcase-empty .button{color:#f5efe7;border-color:rgba(245,239,231,.28);background:transparent}

/* True-ratio journal masonry; explicit height:auto prevents source pixel heights from stretching cards. */
.journals-section{background:linear-gradient(180deg,#292522 0,#f4efe7 96px);padding-top:165px}.album-grid{display:block;columns:2;column-gap:30px}.album-card{display:inline-block;width:100%;margin:0 0 52px;break-inside:avoid;vertical-align:top}.album-cover{background:#e8e1d8}.album-cover picture{display:block;width:100%;height:auto}.album-cover picture img,.album-cover>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}.album-card:nth-child(3n+2) .album-info{padding-left:16px;padding-right:16px}.album-card:nth-child(3n) .album-info{padding-left:8px;padding-right:8px}

@media(max-width:700px){.works-section{padding:105px 0 86px;background:linear-gradient(180deg,#2d2824 0,#24211f 54px,#24211f calc(100% - 44px),#292522 100%)}.showcase-stage{height:min(68vh,570px);min-height:300px}.showcase-arrow{width:42px;height:42px;font-size:27px}.showcase-arrow.prev{left:9px}.showcase-arrow.next{right:9px}.showcase-meta{padding:22px 62px 0 0}.showcase-caption{align-items:flex-start}.showcase-caption h3{font-size:22px}.showcase-caption .round-link{display:none}.showcase-counter{top:25px}.journals-section{padding-top:120px;background:linear-gradient(180deg,#292522 0,#f4efe7 64px)}.album-grid{columns:1}.album-card{display:block;margin-bottom:42px}.album-cover picture img,.album-cover>img{width:100%;height:auto;max-height:none;aspect-ratio:auto}.album-card:nth-child(n) .album-info{padding-left:3px;padding-right:3px}}
.album-cover picture{height:100%}.album-cover picture img,.album-cover>img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.photo-grid{max-width:1080px;margin-inline:auto;columns:2;column-gap:32px}.photo-card{display:inline-block;width:100%;break-inside:avoid;vertical-align:top}.photo-image{display:flex;width:100%;height:auto;align-items:center;justify-content:center;overflow:hidden;background:#f3eee7}.photo-image img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain}@media(max-width:700px){.photo-grid{columns:1}.photo-card{display:block}.photo-image img{width:100%;height:100%;max-height:none}}
