.albums-page{min-height:100vh}.archive-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.archive-header{display:flex;align-items:center;justify-content:space-between;height:88px}.archive-back{display:flex;align-items:center;gap:7px;color:var(--muted);font:11px var(--mono);text-decoration:none}.archive-back svg{width:15px}.archive-back:hover{color:var(--ink)}.archive-hero{display:flex;align-items:end;justify-content:space-between;min-height:300px;padding:54px 0 62px}.archive-hero h1{margin:17px 0 14px;font-size:clamp(45px,5vw,70px)}.archive-hero>div>p:last-child{margin:0;color:var(--muted);font-size:14px}.archive-new-album{display:flex;align-items:center;gap:12px;padding:13px 17px;color:var(--cream);background:var(--teal);border:0;border-radius:0;font-size:13px;transition:.2s}.archive-new-album svg{width:18px}.archive-new-album:hover{background:var(--ink);transform:translateY(-2px)}.archive-layout{display:grid;grid-template-columns:250px 1fr;min-height:550px;border-top:1px solid var(--line)}.album-sidebar{padding:25px 25px 40px 0;border-right:1px solid var(--line)}.sidebar-title{display:flex;justify-content:space-between;margin-bottom:18px;color:var(--muted);font:10px var(--mono);letter-spacing:.05em}.album-list{display:grid;gap:4px}.album-list-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;padding:7px;background:transparent;border:0;text-align:left;transition:.2s}.album-list-item:hover,.album-list-item.active{background:rgba(223,189,84,.17)}.album-list-thumb{width:38px;height:38px;overflow:hidden;background:#dfd9cd}.album-list-thumb img{display:block;width:100%;height:100%;object-fit:cover}.album-list-thumb i{display:grid;place-items:center;width:100%;height:100%;color:#918b80}.album-list-thumb svg{width:15px}.album-list-item strong{overflow:hidden;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.album-list-item small{color:var(--muted);font:10px var(--mono)}.album-detail{min-width:0;padding:42px 0 60px 43px}.album-detail-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line)}.album-detail-head h2{margin:13px 0 6px;font-size:42px}.album-detail-head>div>p:last-child{margin:0;color:var(--muted);font-size:12px}.detail-actions{display:flex;align-items:center;gap:12px}.detail-actions .solid-button{min-height:38px}.detail-actions .solid-button svg{width:14px}.danger{color:var(--coral)}.archive-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:155px;gap:10px;padding-top:24px}.archive-photo{position:relative;min-width:0;overflow:hidden;background:#ded8cc;border:0;cursor:zoom-in}.archive-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.archive-photo:hover img{transform:scale(1.05)}.archive-photo::after{content:"";position:absolute;inset:0;border:1px solid rgba(30,30,30,.1);pointer-events:none}.archive-photo-name{position:absolute;right:8px;bottom:7px;left:8px;z-index:1;overflow:hidden;color:#fff;font:9px var(--mono);text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 7px rgba(0,0,0,.65)}.archive-photo-delete{position:absolute;top:7px;right:7px;z-index:2;display:grid;place-items:center;width:27px;height:27px;padding:0;color:var(--ink);background:rgba(255,253,248,.95);border:0;border-radius:50%;opacity:0;transition:.2s}.archive-photo:hover .archive-photo-delete{opacity:1}.archive-photo-delete:hover{color:#fff;background:var(--coral)}.archive-photo-delete svg{width:13px}.archive-empty{display:grid;grid-column:1/-1;place-items:center;min-height:260px;color:var(--muted);border:1px dashed #bdb5aa;text-align:center}.archive-empty i{display:block;margin-bottom:12px}.archive-empty svg{width:28px}.archive-empty p{margin:0 0 13px;font-size:13px}.archive-empty button{padding:0;color:var(--ink);background:transparent;border:0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.archive-dialog{width:min(480px,calc(100% - 32px));padding:0;background:transparent;border:0}.archive-dialog::backdrop,.archive-lightbox::backdrop{background:rgba(25,24,21,.45);backdrop-filter:blur(4px)}.archive-dialog form{padding:28px;background:var(--cream);border:1px solid var(--line);box-shadow:8px 8px 0 rgba(32,32,30,.16)}.archive-dialog h2{margin:20px 0 24px;font-size:34px}.archive-dialog label{display:grid;gap:7px;color:var(--muted);font:10px var(--mono)}.archive-dialog input{padding:10px 0;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:0;font:14px var(--cn)}.archive-dialog input:focus{border-color:var(--coral)}.archive-lightbox{width:min(930px,calc(100% - 32px));padding:0;background:transparent;border:0}.archive-lightbox>div{position:relative;display:grid;place-items:center;padding:46px 28px 20px;background:#171716}.archive-lightbox img{display:block;max-width:100%;max-height:72vh;object-fit:contain}.archive-lightbox .circle-button{position:absolute;top:10px;right:10px;color:white;border-color:rgba(255,255,255,.4)}.archive-lightbox p{margin:14px 0 0;color:rgba(255,255,255,.7);font-size:12px}.archive-file-input{position:fixed;opacity:0;pointer-events:none}.archive-toast{position:fixed;bottom:22px;left:50%;z-index:20;padding:10px 14px;color:white;background:var(--ink);font-size:12px;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.2s}.archive-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:780px){.archive-wrap{width:min(100% - 36px,600px)}.archive-header{height:68px}.archive-hero{align-items:start;flex-direction:column;gap:25px;min-height:0;padding:48px 0}.archive-layout{grid-template-columns:1fr}.album-sidebar{padding:19px 0;border-right:0;border-bottom:1px solid var(--line)}.album-list{display:flex;overflow:auto}.album-list-item{grid-template-columns:34px 1fr auto;min-width:175px}.album-detail{padding:32px 0}.album-detail-head{align-items:start;flex-direction:column}.detail-actions{flex-wrap:wrap}.archive-photo-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:115px;gap:7px}.archive-photo-delete{opacity:1}.archive-detail-head h2{font-size:36px}}
