:root{--bg:#0d0d0c;--paper:#161614;--raised:#1d1d1a;--ink:#f2f0ea;--muted:#a8a297;--faint:#757066;--line:#f2f0ea24;--soft:#f2f0ea0f;--accent:#cbab89;--accent-2:#b07a57;--danger:#e8857a;--shadow:0 30px 80px #0000008c;--nav-h:68px;--track-tight:.12em;--track:.16em;--track-wide:.28em;--gap-grid:clamp(8px, 1.2vw, 16px);--space-section:clamp(56px, 9vw, 104px);--card-ratio:4 / 5;--hero-fallback:radial-gradient(ellipse at 28% 26%, #cbab8929 0%, transparent 42%), radial-gradient(ellipse at 76% 70%, #b07a5729 0%, transparent 46%), linear-gradient(155deg, #14140f 0%, #0d0d0c 48%, #100f0d 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-latin), var(--font-tc), Georgia, serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.site-nav{height:var(--nav-h);z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#0d0d0c8c,#0d0d0c00);justify-content:space-between;align-items:center;gap:24px;padding:0 clamp(20px,5vw,64px);display:flex;position:fixed;top:0;left:0;right:0}.site-nav-links{flex-wrap:wrap;gap:clamp(16px,2.4vw,34px);display:flex}.nav-link{color:#f2f0eabd;letter-spacing:var(--track);text-transform:uppercase;padding:6px 0;font-size:12px;font-weight:400;transition:color .25s}.nav-link:hover,.nav-link:focus-visible,.nav-link.active{color:var(--ink);outline:none}.site-nav-end{align-items:center;gap:18px;display:flex}.language-switch{color:#f2f0eabd;letter-spacing:var(--track);text-transform:uppercase;font-size:12px;transition:color .25s}.language-switch:hover,.language-switch:focus-visible{color:var(--ink);outline:none}.mark{color:var(--ink);letter-spacing:var(--track);font-size:13px;font-weight:600}main{min-width:0;padding:var(--nav-h) clamp(20px, 5vw, 64px) 96px}h1,h2,h3{font-weight:400}.section h2,.page-intro h1,.detail-hero h1{letter-spacing:var(--track);text-transform:uppercase;margin:0;font-size:clamp(20px,2.4vw,30px);font-weight:300;line-height:1.2}.intro p,.page-intro p,.detail-hero p,.section p,.project-story p,.record-card p,.next-step-panel p{color:var(--muted);line-height:1.7}.small-meta{color:var(--faint);letter-spacing:var(--track-tight);text-transform:uppercase;font-size:11px;line-height:1.5;display:block}.lang-zh h1,.lang-zh h2,.lang-zh h3,.lang-zh .nav-link,.lang-zh .small-meta,.lang-zh .button,.lang-zh .hero-inner h1,.lang-zh .section h2,.lang-zh .page-intro h1,.lang-zh .detail-hero h1,.lang-zh .record-card h2,.lang-zh .record-card h3,.lang-zh .mark,.lang-zh .language-switch,.lang-zh .text-link,.lang-zh .status-dot,.lang-zh .photo-thumb span,.lang-zh .lightbox-photo span,.lang-zh .password-panel label,.lang-zh .project-story-row h2,.lang-zh .tag-row span,.lang-zh .link-list a,.lang-zh .upload-panel-head h2,.lang-zh .upload-panel h2,.lang-zh .upload-panel label,.lang-zh .file-field,.lang-zh .file-picker-button{text-transform:none;letter-spacing:.04em;font-family:var(--font-tc), Georgia, serif}.hero{margin:calc(-1 * var(--nav-h)) calc(-1 * clamp(20px, 5vw, 64px)) 0;text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-media{background-position:50%;background-size:cover;position:absolute;inset:0}.hero-media:after{content:"";background:linear-gradient(#0d0d0c66 0%,#0d0d0c47 45%,#0d0d0cb8 100%);position:absolute;inset:0}.hero-media-fallback{background:var(--hero-fallback)}.hero-inner{z-index:1;padding:0 24px;position:relative}.hero-inner h1{letter-spacing:var(--track-wide);text-transform:uppercase;margin:0;font-size:clamp(28px,5.4vw,64px);font-weight:200;line-height:1.25}.hero-inner p{color:#f2f0eac7;letter-spacing:var(--track-tight);max-width:520px;margin:22px auto 0;font-size:clamp(13px,1.4vw,15px)}.intro-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px;display:flex}.button{color:var(--ink);letter-spacing:var(--track-tight);text-transform:uppercase;border:1px solid #f2f0ea6b;border-radius:0;justify-content:center;align-items:center;min-height:46px;padding:0 30px;font-size:11px;font-weight:400;transition:background .25s,color .25s,border-color .25s;display:inline-flex}.button.primary{background:var(--ink);border-color:var(--ink);color:#131310}.button.primary:hover,.button.primary:focus-visible{color:var(--ink);background:0 0;outline:none}.button.subtle:hover,.button.subtle:focus-visible{border-color:var(--ink);background:#f2f0ea1a;outline:none}.button:disabled{cursor:wait;opacity:.55}.section,.listing-page,.detail-page{margin-top:var(--space-section)}.section-head{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px;display:flex}.section p,.page-intro p{max-width:620px;margin:12px 0 0}.text-link{color:var(--muted);letter-spacing:var(--track-tight);text-transform:uppercase;font-size:11px;transition:color .25s}.text-link:hover,.text-link:focus-visible{color:var(--ink);outline:none}.albums-grid{gap:var(--gap-grid);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.albums-grid.listing{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.record-card{display:block;position:relative}.mock-image{aspect-ratio:var(--card-ratio);margin-bottom:14px;transition:opacity .3s;overflow:hidden}.record-card:hover .mock-image,.record-card:focus-visible .mock-image{opacity:.82}.record-card h2,.record-card h3{letter-spacing:var(--track);text-transform:uppercase;margin:8px 0 0;font-size:13px;font-weight:400;line-height:1.4}.record-card p{margin:6px 0 0;font-size:13px}.status-dot{color:var(--muted);letter-spacing:var(--track-tight);text-transform:uppercase;white-space:nowrap;align-items:center;gap:9px;font-size:11px;display:inline-flex}.status-dot span{background:var(--accent);border-radius:50%;width:6px;height:6px}.mock-image.album-1,.cover-portal,.photo-a{background:radial-gradient(at 30% 28%,#cbab8938 0%,#0000 40%),linear-gradient(150deg,#1c1a14,#0f0f0d 60%)}.mock-image.album-2,.cover-default,.photo-b,.photo-c{background:radial-gradient(at 70% 34%,#b07a5733 0%,#0000 42%),linear-gradient(150deg,#1a1916,#0d0d0c 60%)}.mock-image.album-3,.cover-memory,.photo-d,.photo-e,.photo-f{background:radial-gradient(at 50% 30%,#f2f0ea1f 0%,#0000 44%),linear-gradient(150deg,#18181a,#0d0d0c 62%)}.detail-cover{background-position:50%;background-size:cover}.protected-cover{background:repeating-linear-gradient(135deg, #f2f0ea0d 0 1px, transparent 1px 16px), var(--raised)}.page-intro{max-width:760px}.detail-hero{grid-template-columns:minmax(0,.9fr) minmax(260px,.74fr);align-items:center;gap:clamp(28px,5vw,64px);margin-top:30px;display:grid}.detail-hero p{margin-top:16px}.detail-cover{aspect-ratio:var(--card-ratio);box-shadow:var(--shadow)}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);margin-top:48px;display:grid}.photo-thumb{aspect-ratio:4/5;color:var(--ink);text-align:left;background-position:50%;background-size:cover;border:0;justify-content:flex-start;align-items:end;padding:16px;transition:opacity .3s;display:flex;position:relative;overflow:hidden}.photo-thumb:hover,.photo-thumb:focus-visible{opacity:.85;outline:none}.photo-thumb span{letter-spacing:var(--track);text-transform:uppercase;z-index:1;font-size:11px;position:relative}.lightbox{touch-action:pan-y;z-index:40;background:#080807f0;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.lightbox-photo{color:var(--ink);background-position:50%;background-size:cover;align-items:end;width:min(86vw,1100px);max-width:1100px;height:min(80vh,860px);padding:28px;display:flex;position:relative;overflow:hidden}.photo-thumb:after,.lightbox-photo:after{content:"";background:linear-gradient(#08080700 50%,#08080794 100%);position:absolute;inset:0}.lightbox-photo span{letter-spacing:var(--track-tight);text-transform:uppercase;z-index:1;position:relative}.lightbox-close,.lightbox-nav{color:#131310;z-index:41;background:#f2f0eaeb;border:0;border-radius:999px;min-height:44px;padding:0 18px;position:fixed}.lightbox-close{top:24px;right:24px}.lightbox-nav.previous{left:24px}.lightbox-nav.next{right:24px}.password-panel{background:var(--paper);border:1px solid var(--line);grid-template-columns:minmax(0,1fr) 320px;align-items:end;gap:24px;margin-top:48px;padding:28px;display:grid}.password-panel h2{margin:6px 0 0}.password-panel form{gap:12px;display:grid}.password-panel label{color:var(--muted);letter-spacing:var(--track-tight);text-transform:uppercase;font-size:11px}.password-panel input{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:0;min-height:46px;padding:0 14px}.form-message{margin:0;font-size:13px;line-height:1.5}.form-message.error,.error-copy{color:var(--danger)}.project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:46px;display:grid}.project-note-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:38px;display:grid}.project-note{background:var(--soft);border:1px solid var(--line);min-height:112px;padding:18px}.project-note strong{margin-top:12px;font-size:16px;font-weight:400;line-height:1.3;display:block}.project-story{margin-top:46px;display:grid}.project-story-row{border-top:1px solid var(--line);grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:24px;padding:28px 0;display:grid}.project-story-row:last-child{border-bottom:1px solid var(--line)}.project-story-row h2{letter-spacing:var(--track);text-transform:uppercase;margin:0;font-size:clamp(16px,2vw,22px);font-weight:300;line-height:1.3}.project-story-row p{max-width:760px;margin:0}.tag-row,.link-list{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.tag-row span,.link-list a{border:1px solid var(--line);color:var(--muted);letter-spacing:var(--track-tight);text-transform:uppercase;padding:8px 14px;font-size:11px}.link-list a:hover,.link-list a:focus-visible{border-color:var(--ink);color:var(--ink);outline:none}.next-step-panel{border-top:1px solid var(--line);max-width:820px;margin-top:40px;padding-top:22px}.owner-access-panel{background:var(--soft);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;max-width:820px;margin-top:28px;padding:18px 20px;display:flex}.owner-access-panel p{color:var(--muted);margin:7px 0 0;line-height:1.6}.upload-console{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0;margin-top:46px;display:grid}.upload-panel{background:var(--soft);border:1px solid var(--line);gap:18px;min-width:0;padding:20px;display:grid}.upload-panel-head h2,.upload-panel h2{letter-spacing:var(--track);text-transform:uppercase;margin:6px 0 0;font-size:13px;font-weight:400}.field-grid,.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.file-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid .span-2{grid-column:span 2}.upload-panel label,.file-field{color:var(--muted);letter-spacing:var(--track-tight);text-transform:uppercase;gap:7px;font-size:11px;line-height:1.4;display:grid}.upload-panel input,.upload-panel select{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:0;width:100%;min-width:0;min-height:44px;padding:0 12px}.file-picker{background:var(--bg);border:1px solid var(--line);color:var(--ink);align-items:center;gap:10px;min-width:0;min-height:46px;padding:8px 10px;display:flex}.file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-picker-button{background:var(--raised);border:1px solid var(--line);color:var(--ink);letter-spacing:var(--track-tight);text-transform:uppercase;flex:none;padding:8px 12px;font-size:11px}.file-picker-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.upload-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.upload-status{color:var(--muted);margin:0;font-size:13px}.upload-status.success{color:var(--accent)}.upload-status.error{color:var(--danger)}@media (max-width:860px){.site-nav{gap:16px;padding:0 20px}.site-nav-links{gap:16px}.nav-link,.language-switch{letter-spacing:var(--track);font-size:11px}main{padding:var(--nav-h) 20px 80px}.hero{margin:calc(-1 * var(--nav-h)) -20px 0}.albums-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{flex-direction:column;gap:10px}.detail-hero,.password-panel,.project-detail-grid,.project-note-strip,.upload-console,.file-grid,.field-grid,.project-story-row{grid-template-columns:1fr}.field-grid .span-2{grid-column:span 1}.owner-access-panel{flex-direction:column;align-items:start}}@media (max-width:520px){.hero-inner h1{letter-spacing:var(--track-wide);font-size:26px}.albums-grid,.photo-grid{grid-template-columns:1fr}.site-nav-links{gap:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
