.type-site-album #content-inner { max-width: 1040px; padding: 22px 24px 64px; }
.type-site-album #page { width: 100%; padding: 0; background: transparent; box-shadow: none; }
.type-site-album #page > .page-title { display: none; }
#site-album {
  --paper: #fffaf0; --ink: #3b3235; --faint: #6f625e; --rule: #dacdbc; --red: #89414c;
  background: var(--paper); color: var(--ink); border: 1px solid var(--rule); border-radius: 5px;
  padding: clamp(22px, 5vw, 62px); box-shadow: 0 8px 30px #3825360c;
}
[data-theme=dark] #site-album { --paper: #29272b; --ink: #f4e9dc; --faint: #c8b8aa; --rule: #554b4d; --red: #e7acac; }
#site-album :is(h1,h2,p,figure) { margin: 0; }
#site-album :is(h1,h2)::before { display: none; }
.album-imprint, .album-date, .album-frame, .album-toolbar, .album-viewer-caption { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.album-imprint, .album-frame { font: 650 11px/1.5 ui-monospace,Consolas,monospace; letter-spacing: .13em; }
.album-imprint { color: var(--red); border-top: 3px double var(--red); padding-top: 12px; }
#site-album .album-heading h1 { color: var(--ink); font: 650 clamp(34px,6vw,65px)/1.24 Georgia,SimSun,serif; margin: 22px 0 12px; }
.album-heading p, .album-prints p { color: var(--faint); line-height: 1.8; }
.album-date { justify-content: flex-start; margin: 22px 0 26px; padding-bottom: 13px; border-bottom: 1px solid var(--rule); font-size: 13px; }
.album-date span { color: var(--red); border-inline-start: 1px solid var(--rule); padding-inline-start: 12px; }
#site-album .album-prints { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 25px; list-style: none; padding: 0; margin: 0; }
#site-album .album-prints li { list-style: none; margin: 0; padding: 0; }
#site-album .album-prints li::before { content: none; }
#site-album .album-shot {
  display: grid; place-items: center; background: #e4dddb; border: 1px solid var(--rule);
  padding: 5px; border-radius: 3px; aspect-ratio: 1.57; overflow: hidden; cursor: zoom-in;
}
#site-album .album-shot > img { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; }
#site-album .shot-terminal { background: #161a23; border-color: #424550; padding: 8%; }
.album-terminal { display: grid; width: 100%; gap: 13px; background: #080a0f; padding: 16px 10px; box-shadow: 0 3px 16px #0005; color: #e3d3b5; }
.album-terminal small { font: 650 9px/1.4 ui-monospace,monospace; letter-spacing: .12em; }
#site-album .album-terminal img { display: block; width: 100%; height: auto; margin: 0; }
.album-frame { margin: 12px 0 6px; color: var(--red); }
.album-frame time { color: var(--faint); }
#site-album figcaption h2 { color: var(--ink); font: 650 clamp(21px,3vw,28px)/1.4 Georgia,SimSun,serif; }
#site-album figcaption p { font-size: 14px; margin-top: 4px; }
#site-album .album-foot { margin-top: 28px; border-top: 1px solid var(--rule); padding-top: 16px; }
#site-album .album-foot a { color: var(--red); }
#site-album .album-viewer { width: min(940px,94vw); max-height: 90vh; overflow: auto; margin: auto; padding: 16px; border: 1px solid #756b76; border-radius: 10px; background: #25232b; color: #fff4ed; }
.album-viewer::backdrop { background: #131017db; }
.album-viewer .album-film { display: grid; place-items: center; background: #15141a; margin: 10px 0; min-height: 80px; }
#site-album .album-film img { margin: 0; width: auto; height: auto; max-width: 100%; max-height: 66vh; object-fit: contain; }
.album-viewer button { padding: 7px 13px; min-height: 42px; border-radius: 6px; color: inherit; background: #403b49; }
.album-toolbar, .album-viewer-caption { font-size: 14px; }
.album-counter { color: #ead4be; font: 650 12px ui-monospace,monospace; }
.album-viewer-caption strong { text-align: center; }
@media (max-width: 650px) {
  .type-site-album #content-inner { padding: 12px 10px 42px; }
  #site-album { padding: 19px 14px; }
  #site-album .album-prints { grid-template-columns: 1fr; }
}
