/* Album layout is scoped to its page; existing media and memories keep their stores. */
html body #albumPage{--album-bg:#fff;--album-card:#fafafa;--album-ink:#181818;--album-muted:#96969a;--album-line:#e9e9ed;--album-media:#ececec;--album-date:#d94243;padding:calc(10px + var(--mo-safe-top,env(safe-area-inset-top))) 18px calc(112px + var(--mo-safe-bottom,env(safe-area-inset-bottom)));background:var(--album-bg)!important;color:var(--album-ink);overflow-y:auto!important}
html body #albumPage::before,html body #albumPage #albumInput,html body #albumPage #albumGrid{display:none!important}
html[data-theme=dark] body #albumPage{--album-bg:#191919;--album-card:#242424;--album-ink:#f3f3f3;--album-muted:#a0a0a5;--album-line:#393939;--album-media:#303030;--album-date:#f16b6b}
.album-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;max-width:680px;margin:0 auto 20px;min-height:62px}
.album-heading{text-align:center}.album-heading h2{font:600 22px/1.25 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;margin:0 0 4px}.album-heading p{font-size:13px;color:var(--album-muted);margin:0;letter-spacing:.1px}
.album-icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--album-ink);padding:9px;box-shadow:none}.album-icon{display:flex}.album-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.album-segment{display:flex;max-width:288px;margin:0 auto 20px;padding:3px;border:1.5px solid var(--album-line);border-radius:13px;background:var(--album-card);gap:4px}
.album-segment button{flex:1;min-height:40px;padding:8px 12px;border:0;border-radius:10px;font-size:14px;font-weight:500;background:transparent;color:var(--album-muted);box-shadow:none}.album-segment button[aria-pressed=true]{background:var(--album-ink);color:var(--album-bg)}
.album-collection{max-width:680px;margin:0 auto}.album-status{font-size:12px;color:var(--album-muted);line-height:1.5;margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.album-status:empty{display:none}
.album-year{text-align:center;font-size:14px;font-weight:400;letter-spacing:.3em;color:var(--album-muted);margin:27px 0 24px;padding-left:3em}
.album-entry{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:24px;position:relative;padding-bottom:38px;align-items:start}
.album-entry::before{content:"";position:absolute;left:51px;top:0;bottom:0;width:1.5px;background:var(--album-ink)}
.album-date{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--album-date);line-height:1}.album-date::after{content:"";position:absolute;right:-13px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--album-ink)}
.album-month{font-size:11px;font-weight:600;letter-spacing:1.2px}.album-day{font-size:30px;font-weight:300;letter-spacing:-1px}
.album-card{display:block;width:100%;padding:0;margin:0;border:0;border-radius:15px;overflow:hidden;text-align:left;background:var(--album-card);color:var(--album-ink);box-shadow:none;cursor:pointer;font-family:inherit}
.album-media{position:relative;width:100%;aspect-ratio:4/3;background:linear-gradient(145deg,var(--album-card),var(--album-media));overflow:hidden}
.album-media img,.album-media video{display:block;width:100%;height:100%;object-fit:cover;opacity:0}.album-media.is-loaded img,.album-media.is-loaded video{opacity:1}
.album-media-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--album-muted);opacity:.25}.album-media-placeholder svg{height:42px;width:42px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linejoin:round}.album-media.is-loaded .album-media-placeholder{display:none}
.album-media-error{position:absolute;bottom:12px;left:8px;right:8px;font-size:11px;color:var(--album-muted);text-align:center}.album-video-mark{position:absolute;right:10px;bottom:10px;z-index:1;padding:4px 7px;border-radius:5px;background:#0008;color:#fff;font-size:10px}
.album-copy{padding:17px 16px 18px;overflow-wrap:anywhere;white-space:pre-wrap}.album-card-title{display:block;font-size:16px;font-weight:500;line-height:1.5}.album-copy p{margin:8px 0 0;font-size:14px;line-height:1.7;color:var(--album-ink)}.album-copy .album-comment+.album-comment{padding-top:9px;border-top:1px solid var(--album-line)}.album-item-status{display:block;font-size:11px;line-height:1.6;margin-top:9px;color:var(--album-muted)}
.album-empty{padding:70px 12px;text-align:center;color:var(--album-muted);font-size:13px;line-height:1.8}.album-more{display:block;margin:6px auto 25px;min-height:44px;padding:10px 20px;border:1px solid var(--album-line);border-radius:20px;background:var(--album-card);color:var(--album-ink)}.album-more[hidden]{display:none}
.album-feed[data-layout=photos]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:26px}.album-feed[data-layout=photos] .album-entry{display:block;padding:0}.album-feed[data-layout=photos] .album-date,.album-feed[data-layout=photos] .album-entry::before{display:none}.album-feed[data-layout=photos] .album-card{border-radius:7px}.album-feed[data-layout=photos] .album-media{aspect-ratio:1}.album-feed[data-layout=photos] .album-copy{display:none}
.album-detail,.album-add-menu{color:var(--mo-ink,#181818);background:var(--mo-sheet,#fff);border:1px solid var(--mo-line,#eee);border-radius:24px;padding:20px;box-sizing:border-box}.album-detail::backdrop,.album-add-menu::backdrop{background:#0005}
.album-detail [hidden],.album-add-menu [hidden],.album-empty[hidden]{display:none!important}
.album-add-menu{width:min(420px,calc(100vw - 30px));max-height:80dvh}.album-add-menu h3{font-size:18px;margin:0 0 12px}.album-add-choice{display:flex;flex-direction:column;gap:4px;width:100%;min-height:66px;text-align:left;border:0;border-bottom:1px solid var(--mo-line);padding:13px 4px;background:transparent;color:inherit}.album-add-choice strong{font-size:15px;font-weight:500}.album-add-choice small{font-size:12px;color:var(--mo-muted)}.album-menu-cancel{display:block;width:100%;min-height:44px;margin-top:15px;border:0;border-radius:12px;background:var(--mo-ink);color:var(--mo-bg)}
.album-detail{width:min(560px,calc(100vw - 24px));max-height:88dvh;overflow:auto}.album-detail-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.album-detail-head [data-date]{font-size:12px;color:var(--mo-muted)}.album-detail button{border:1px solid var(--mo-line);border-radius:12px;padding:10px 12px;color:inherit;background:var(--mo-pane)}.album-detail [data-close]{border:0;padding-left:0;background:transparent}.album-detail-media img,.album-detail-media video{display:block;width:100%;max-height:46dvh;object-fit:contain;border-radius:13px}.album-detail input{box-sizing:border-box;width:100%;padding:12px;margin:14px 0 10px;border:1px solid var(--mo-line);border-radius:12px;background:var(--mo-pane);color:inherit;font-size:15px}.album-detail p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8}.album-detail [data-comments] p+p{padding-top:12px;border-top:1px solid var(--mo-line)}.album-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.album-detail [data-detail-status]{font-size:12px;color:var(--mo-muted)}
@media(max-width:360px){html body #albumPage{padding-inline:12px}.album-entry{grid-template-columns:39px minmax(0,1fr);column-gap:21px}.album-entry::before{left:45px}.album-date::after{right:-12px}.album-copy{padding:14px 13px}.album-card-title{font-size:15px}.album-copy p{font-size:13px}}
