:root{--paper:#f8f7f3;--ink:#263d34;--muted:#81877e;--line:#dedfd6;--green:#365a45}.page-dialog{border:1px solid var(--line);background:var(--paper);width:min(460px,100vw - 40px);color:var(--ink);border-radius:12px;max-height:calc(100dvh - 40px);padding:28px;overflow:auto;box-shadow:0 24px 90px #182b3440}.page-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#182b3460}.dialog-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.dialog-heading h2{margin:0;font-family:Noto Serif SC,Georgia,serif;font-size:23px}.dialog-field{margin-top:24px;font-size:13px;display:block}.dialog-field input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:6px;margin:10px 0 7px;padding:12px;display:block}.dialog-field input:focus{outline:2px solid var(--green);outline-offset:2px}.dialog-field .muted{text-align:right;font-size:11px;display:block}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.danger-button{color:#fff;background:#9a4e3c;border-color:#9a4e3c}.danger-button:hover{background:#803f31}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Microsoft YaHei,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:6px;padding:10px 16px;transition:background .18s}button:hover{background:#e9ece3}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #b49c65}.primary{background:var(--green);color:#fff;border-color:var(--green);padding:13px 23px}.primary:hover{background:#264632}.quiet{color:var(--muted);border:0;padding:8px}.shell{max-width:1600px;margin:auto;padding:0 5vw}.header{border-bottom:1px solid var(--line);align-items:center;gap:24px;height:92px;display:flex}.brand{letter-spacing:3px;align-items:center;gap:12px;font-family:Noto Serif SC,Georgia,serif;font-size:26px;font-weight:600;display:flex}.brand-icon{font-size:30px}.brand-en{letter-spacing:3px;margin-left:5px;font:10px Arial}.header-note{color:var(--muted);letter-spacing:2px;margin-left:auto;font-size:12px}main{min-height:70vh}.intro{justify-content:space-between;align-items:center;gap:30px;padding:64px 0 48px;display:flex}.eyebrow{letter-spacing:3px;color:#8c947e;margin-bottom:19px;font-size:10px}h1{letter-spacing:1px;margin:0 0 15px;font-family:Noto Serif SC,Georgia,serif;font-size:42px;font-weight:500;line-height:1.45}h1 span{color:#a49a71}h2{font-size:18px;font-weight:500}h3{margin:0 0 15px;font-size:20px;font-weight:500}.muted{color:var(--muted);font-size:13px;line-height:1.8}.section-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:26px;padding:0 0 15px;display:flex}.section-line h2{margin:0}.section-line h2 span{color:#8b967c;margin-left:12px;font-size:12px}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.album-card{text-align:left;background:#eeeee7;border:0;border-radius:8px;padding:0;overflow:hidden}.album-art{color:#ffffff90;background:linear-gradient(135deg,#a6b69c,#516950);justify-content:center;align-items:center;height:235px;display:flex;position:relative;overflow:hidden}.album-art:after{content:"";border:1px solid #ffffff30;border-radius:40%;width:300px;height:300px;position:absolute;top:80px;left:20%;transform:rotate(30deg)}.tone-1 .album-art{background:linear-gradient(130deg,#c6baa1,#8a745b)}.tone-2 .album-art{background:linear-gradient(130deg,#acc2c0,#5b7b83)}.tone-3 .album-art{background:linear-gradient(130deg,#c3b4ae,#8d6d6b)}.art-index{letter-spacing:3px;font-size:12px;position:absolute;top:20px;left:22px}.art-mark{opacity:.5;font-size:70px;font-weight:100}.badge{color:#475c49;background:#f9faf0e0;border-radius:4px;padding:6px 10px;font-size:11px;position:absolute;bottom:18px;right:18px}.album-info{padding:24px}.album-info p{color:var(--muted);margin:0;font-size:12px}.album-info p span{float:right}.actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.album-intro h1{overflow-wrap:anywhere;font-size:36px}.back{color:var(--muted);border:0;margin-bottom:15px;padding:0;font-size:12px}.upload-panel{background:#eeefe7;border:1px dashed #bcc5b4;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding:25px;display:flex}.upload-panel strong{font-size:16px;font-weight:500}.upload-panel p{margin-bottom:0}.upload-panel button{background:#f8f9f4}.upload-panel select{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:5px;max-width:100%;padding:10px}.upload-progress{overflow-wrap:anywhere;width:100%;color:var(--green)}.upload-progress button{margin-left:15px}.breadcrumbs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.breadcrumbs button{border:0;padding:5px}.breadcrumbs span{color:var(--muted)}.folders{flex-wrap:wrap;gap:12px;margin-bottom:26px;display:flex}.folder{background:#eeefe7;border-radius:6px;align-items:center;display:flex}.folder>button:first-child{text-align:left;border:0}.folder span{color:#939e76;margin-right:10px;font-size:20px}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.photo{min-width:0}.photo-open{aspect-ratio:4/3;background:#e9ebe3;border:0;border-radius:7px;width:100%;padding:0;display:block;overflow:hidden}.photo-open img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.photo-open:hover img{transform:scale(1.035)}.photo-caption{justify-content:space-between;align-items:center;gap:8px;padding:13px 0 4px;font-size:12px;display:flex}.photo-caption span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.photo-caption a{padding:3px 8px;font-size:18px}.photo-tools{gap:12px;display:flex}.photo-tools button{color:var(--muted);border:0;padding:4px 0;font-size:11px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:85px 15px}.empty h2{color:var(--ink)}.empty p{line-height:1.9}.empty-icon{color:#99a68e;margin-bottom:20px;font-size:48px}.empty .primary{margin-top:15px}.message{overflow-wrap:anywhere;background:#e6eddf;border-radius:5px;margin:18px 0;padding:14px 18px;line-height:1.8}.message button{float:right;border:0;padding:0 6px}.message.error{color:#8b4b36;background:#f3e5df}.job-strip{color:var(--muted);flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:25px;font-size:12px;display:flex}.job-strip button{margin-left:auto}.danger-zone{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:15px;margin-top:60px;padding-top:20px;font-size:12px;display:flex}.danger-zone button{color:#985d50;border-color:#d9c6bc}.load-more{text-align:center;padding:35px}footer{border-top:1px solid var(--line);letter-spacing:2px;color:#93998c;justify-content:space-between;margin-top:65px;padding:27px 0 35px;font-size:10px;display:flex}.auth{max-width:650px;margin:auto;padding:80px 0}.auth h1{font-size:35px}.auth form{background:#eeefe7;border-radius:10px;max-width:430px;margin-top:35px;padding:30px}.auth form h2{margin-top:0}.auth label{margin:20px 0;font-size:12px;display:block}.auth input{background:var(--paper);width:100%;color:var(--ink);border:1px solid #d4d8cb;border-radius:5px;margin-top:9px;padding:12px;display:block}.auth form>.primary{width:100%;margin-top:10px}.viewer{z-index:100;color:#fff;background:#111813f7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer>img{object-fit:contain;max-width:86vw;max-height:82vh}.viewer-top{justify-content:space-between;align-items:center;gap:15px;width:100%;padding:22px 30px;font-size:12px;display:flex;position:absolute;top:0;left:0}.viewer-top>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-top>div{flex-shrink:0;align-items:center;gap:20px;display:flex}.viewer button{color:#fff;background:#ffffff10;border:0}.viewer-prev,.viewer-next{padding:5px 18px;font-size:35px;position:absolute;top:48%}.viewer-prev{left:15px}.viewer-next{right:15px}@media (min-width:1500px){.photo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:1000px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.album-intro{flex-direction:column;align-items:flex-start;gap:12px}.upload-panel{flex-direction:column;align-items:flex-start}}@media (max-width:620px){.shell{padding:0 20px}.header{gap:10px;height:75px}.brand{font-size:23px}.brand-en{display:none}.header-note{letter-spacing:0;font-size:10px}.header .quiet{font-size:11px}.intro{flex-direction:column;align-items:flex-start;gap:10px;padding:38px 0 30px}h1,.album-intro h1{font-size:30px}.album-grid{grid-template-columns:1fr;gap:22px}.album-art{height:210px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.upload-panel{padding:18px}.actions button,.actions select{padding:9px 11px;font-size:12px}.muted{font-size:12px}.section-line{font-size:11px}.viewer-top{align-items:flex-start;padding:18px 15px}.viewer-top>div{gap:8px}.viewer-top>span{max-width:45%}.viewer-prev{left:0}.viewer-next{right:0}.viewer-prev,.viewer-next{padding:5px 10px}.viewer>img{max-width:100vw}.danger-zone{align-items:flex-start}.danger-zone button{flex-shrink:0}.auth{padding:45px 0}.auth h1{font-size:28px}footer{letter-spacing:1px;font-size:9px}}.public-album{--ink:#223448;--green:#263e56;--muted:#687583;--line:#d9dfe4;max-width:1440px;color:var(--ink);font-size:15px}.public-album .header{border-bottom:2px solid var(--ink);gap:20px;height:100px}.public-album .brand{letter-spacing:2px;gap:12px;font-family:Georgia,Songti SC,SimSun,serif;font-size:25px}.public-album .brand-icon{color:#8b4b40;font-size:27px}.public-album .brand-en{letter-spacing:2px;font-family:Arial,sans-serif;font-size:9px}.public-album .header-note{letter-spacing:2px;color:#687583;font-size:11px}.public-album .album-intro{border-bottom:1px solid var(--line);align-items:flex-start;margin-bottom:36px;padding:64px 0 44px}.public-album .eyebrow{color:#8b4b40;letter-spacing:2.4px;font-size:10px;line-height:1.8}.public-album h1{letter-spacing:1px;overflow-wrap:anywhere;max-width:1000px;font-family:Georgia,Songti SC,SimSun,serif;font-size:clamp(28px,3.6vw,48px);font-weight:500;line-height:1.45}.public-album .album-intro .muted{font-size:14px;line-height:1.9}.archive-meta{color:#687583;flex-wrap:wrap;gap:12px 26px;margin-top:28px;font-size:12px;line-height:1.9;display:flex}.archive-meta strong,.archive-meta time{color:#223448;font-variant-numeric:tabular-nums;margin-left:5px;font-weight:500}.archive-meta>span+span{border-left:1px solid #d9dfe4;padding-left:26px}.archive-section{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.archive-section h2{margin:6px 0 0;font:500 23px Georgia,Songti SC,SimSun,serif}.archive-kicker{letter-spacing:2px;color:#8b4b40;font-size:9px}.view-options{border:1px solid #d9dfe4;border-radius:5px;gap:4px;padding:3px;display:flex}.view-options button{color:#687583;border:0;min-height:40px;padding:9px 18px;font-size:12px}.view-options button[aria-pressed=true]{color:#fff;background:#263e56}.public-album .section-line{gap:12px;margin-bottom:22px;padding:8px 0}.public-album .breadcrumbs{white-space:nowrap;scrollbar-width:thin;flex-wrap:nowrap;gap:2px;min-width:0;max-width:100%;overflow-x:auto}.public-album .breadcrumbs span{flex-shrink:0;align-items:center;display:flex}.public-album .breadcrumbs button{text-overflow:ellipsis;max-width:260px;min-height:44px;padding:8px;font-size:13px;overflow:hidden}.public-album .section-line>.quiet{flex-shrink:0;min-height:44px;font-size:12px}.public-album .folders{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.public-album .folder{background:#eef1f3;border:1px solid #dde3e7;border-radius:4px;min-width:0}.public-album .folder>button:first-child{text-align:left;overflow-wrap:anywhere;width:100%;min-height:56px;padding:16px;font-size:14px}.public-album .folder span{color:#8b4b40}.public-album .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.public-album .photo{background:#fff;border:1px solid #e0e4e7;border-radius:4px;overflow:hidden}.public-album .photo-open{aspect-ratio:4/3;background:#edf0f2;border-radius:0}.public-album .photo-open img{object-fit:contain}.public-album .photo-caption{gap:6px;min-height:62px;padding:8px 10px 8px 14px;font-size:12px}.public-album .photo-caption span{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.7;display:-webkit-box}.public-album .photo-caption a{color:#263e56;flex-shrink:0;justify-content:center;align-items:center;min-width:64px;min-height:44px;padding:8px;font-size:12px;display:flex}.public-album .photo-grid.large-images{grid-template-columns:repeat(2,minmax(0,1fr))}.public-album .empty{color:#687583;background:#f0f2f3;border:0;padding:55px 20px}.public-album .empty-icon{color:#9aa6b1;font-size:36px}.public-album footer{color:#687583;letter-spacing:1px;border-top:2px solid #223448;gap:20px;font-size:10px;line-height:1.8}.public-album .viewer{background:#111b25fa}.public-album .viewer button,.public-album .viewer a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.public-album .viewer-prev span,.public-album .viewer-next span{display:none}@media (max-width:900px){.public-album .photo-grid,.public-album .folders{grid-template-columns:repeat(2,minmax(0,1fr))}.public-album .brand-en{display:none}}@media (max-width:620px){.public-album{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right))}.public-album .header{gap:10px;height:76px}.public-album .brand{letter-spacing:1px;gap:8px;font-size:22px}.public-album .header-note{letter-spacing:0;font-size:10px}.public-album .album-intro{margin-bottom:28px;padding:34px 0 28px}.public-album .eyebrow{letter-spacing:1.8px;margin-bottom:16px;font-size:9px}.public-album h1{margin-bottom:12px;font-size:29px;line-height:1.5}.public-album .album-intro .muted{font-size:13px}.archive-meta{gap:7px 16px;margin-top:20px;font-size:11px}.archive-meta>span+span{border:0;padding-left:0}.archive-meta>span:last-child{color:#8b4b40;width:100%}.archive-section h2{font-size:21px}.view-options button{min-width:48px;min-height:44px;padding:8px 12px}.public-album .folders{grid-template-columns:1fr;gap:8px;margin-bottom:20px}.public-album .folder>button:first-child{min-height:50px;padding:12px 14px}.public-album .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.public-album .photo-grid.large-images{grid-template-columns:1fr;gap:18px}.public-album .photo-caption{flex-wrap:wrap;gap:0;padding:9px 10px 3px}.public-album .photo-caption span{width:100%;min-height:40px;font-size:12px}.public-album .photo-caption a{min-width:60px;margin-left:auto;font-size:11px}.public-album footer{padding:22px 0 calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:5px;margin-top:40px}.public-album .viewer-top{top:env(safe-area-inset-top);align-items:center;gap:8px;padding:12px}.public-album .viewer-top>span{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;max-width:none;line-height:1.7;display:-webkit-box}.public-album .viewer-top>div{gap:5px}.public-album .viewer-top a{font-size:11px}.public-album .viewer>img{max-width:100%;max-height:calc(100dvh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.public-album .viewer-prev,.public-album .viewer-next{top:auto;bottom:calc(20px + env(safe-area-inset-bottom));border:1px solid #ffffff30;border-radius:5px;gap:8px;min-height:48px;padding:8px 20px;font-size:24px}.public-album .viewer-prev{left:18px}.public-album .viewer-next{right:18px}.public-album .viewer-prev span,.public-album .viewer-next span{font-size:13px;display:inline}}@media (max-width:359px){.public-album .header-note{display:none}.public-album .photo-grid{grid-template-columns:1fr}.public-album h1{font-size:26px}}@media (max-height:500px) and (orientation:landscape){.public-album .viewer>img{max-width:75vw;max-height:calc(100dvh - 95px)}.public-album .viewer-prev,.public-album .viewer-next{top:45%;bottom:auto}.public-album .viewer-prev span,.public-album .viewer-next span{display:none}}@media (prefers-reduced-motion:reduce){.public-album *{scroll-behavior:auto!important;transition:none!important}}.public-album .brand{letter-spacing:0;font-size:24px}.public-album .photo-caption a{min-width:83px}@media (max-width:620px){.public-album .brand{letter-spacing:0;font-size:22px}.public-album .header-note{display:none}.public-album .photo-caption a{min-width:83px;font-size:11px}.public-album .viewer-top a{text-align:center;max-width:100px;line-height:1.5}}.album-status{z-index:1;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:18px;right:18px}.album-status .badge{font-size:11px;line-height:1.6;position:static}.album-status .sharing-已停用{color:#7d4639;background:#f0e3dcef}.album-status .sharing-待就绪{color:#756341;background:#f0eadbef}
