.album-tabs,.album-controls{display:flex;gap:12px;margin:20px 0}
.album-tabs button,.album-controls button,.album-dismiss{font:inherit;padding:10px 16px;border:1px solid #aaa28e;background:#fbf6e9;color:#293e32;cursor:pointer}
.album-tabs button[aria-pressed="true"]{background:#293e32;color:#fff}
.album-covers{display:flex;gap:22px;overflow-x:auto;padding:12px 5px 22px;scroll-snap-type:x mandatory}
.album-cover{flex:0 0 124px;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;scroll-snap-align:start;padding:5px}
.album-cover strong{display:block;font-size:14px;margin-top:12px;line-height:1.5}
.album-cover small{font-size:13px;color:#6a655a}
.album-stack{position:relative;display:block;height:140px;isolation:isolate}
.album-stack img{position:absolute;inset:0;box-sizing:border-box;width:100%;height:100%;object-fit:contain;background:#eee5d1;border:3px solid #fbf6e9;display:block;box-shadow:0 3px 7px #302c2526}
.album-stack img:first-child{z-index:3}
.album-stack img:nth-child(2){z-index:2;transform:translate(-5px,2px) rotate(-5deg)}
.album-stack img:nth-child(3){z-index:1;transform:translate(5px,1px) rotate(6deg)}
.album-cover[aria-pressed="true"]{outline:2px solid #8c443c;outline-offset:2px}
.album-view{border-top:1px solid #d9d0bb;margin-top:10px;padding-top:22px}
.album-view header{display:flex;justify-content:space-between;gap:20px;align-items:start}
.album-view h3{font-size:26px;margin:0 0 10px}
.album-view p{font-size:15px;line-height:1.8;margin:0;max-width:54ch}
.album-count{white-space:nowrap;font-size:15px}
.album-view .album-hint{font-size:13px;color:#6a655a;margin:12px 0}
.album-rail{display:grid;isolation:isolate;overflow:hidden;padding:30px 30px 42px;touch-action:pan-y;user-select:none}
.album-frame{grid-area:1/1;align-self:start;width:100%;max-width:470px;box-sizing:border-box;justify-self:center;margin:0;min-width:0;padding:10px;background:#fbf6e9;border:1px solid #d9d0bb;box-shadow:0 9px 22px #302c2526;z-index:var(--layer);transform:translateY(calc(var(--depth)*9px)) rotate(var(--tilt));transition:transform 340ms cubic-bezier(.16,1,.3,1),opacity 220ms ease-out;pointer-events:none}
.album-frame[data-position="front"]{transform:translateX(var(--drag-x,0px));pointer-events:auto}
.album-frame[data-position="past"]{transform:translateX(-115%) rotate(-12deg);opacity:0}
.album-frame[data-position="hidden"]{opacity:0}
.album-rail.is-dragging .album-frame[data-position="front"]{transition:none;cursor:grabbing}
.album-rail.is-dragging button{cursor:grabbing}
.album-frame:not([data-position="front"]) figcaption{visibility:hidden}
.album-frame button:disabled{opacity:1}
.album-rail:focus-visible,.album-cover:focus-visible,.album-frame button:focus-visible{outline:2px solid #8c443c;outline-offset:3px}
.album-frame button{position:relative;display:block;width:100%;height:min(64vh,620px);border:0;background:#e9e2d3;padding:0;cursor:zoom-in}
.album-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.album-frame figcaption{font-size:14px;line-height:1.7;padding:12px 4px 4px;min-height:3.4em}
.album-controls{justify-content:flex-end}
.album-controls button:disabled{opacity:.35;cursor:default}
.album-dialog{box-sizing:border-box;width:min(1100px,96vw);max-height:96vh;border:1px solid #bdb49e;background:#fbf6e9;padding:20px;color:#302c25}
.album-dialog::backdrop{background:rgb(15 25 20 / .85)}
.album-dialog>img{display:block;width:100%;height:68vh;object-fit:contain}
.album-dialog>p{font-size:15px;text-align:center;line-height:1.6}
.album-dialog .album-controls{align-items:center;justify-content:center;margin:10px 0}
.album-dismiss{display:block;margin:0 0 10px auto}
.album-comparisons{border-top:1px solid #d9d0bb;padding-top:24px;margin-top:24px}
.album-comparisons summary{cursor:pointer;font-size:17px;padding:10px 0}
@media(max-width:600px){.album-rail{padding:22px 20px 34px}.album-frame{padding:7px}.album-cover{flex-basis:105px}.album-stack{height:125px}.album-view h3{font-size:23px}.album-frame img{height:52vh}.album-dialog{padding:12px}.album-dialog>img{height:60vh}}
@media(prefers-reduced-motion:reduce){.album-frame{transition:none}.album-covers{scroll-behavior:auto}}
/* Keep the whole photograph and its paper stack inside the reading viewport. */
#sheet-obj .album-rail{padding:16px 22px 22px;}
#sheet-obj .album-frame button{height:clamp(100px,calc(var(--exhibit-height,520px) - 150px),620px);}
#sheet-obj .album-frame img{height:100%;object-fit:contain;}
#sheet-obj .album-frame figcaption{padding:8px 4px 2px;min-height:0;}
#sheet-obj .album-controls{margin:8px 0;}
/* Navigation stays above the photos while the reading panel scrolls. */
.album-view>.album-controls{position:sticky;top:0;z-index:110;background:#fbf6e9;padding:8px 0;border-bottom:1px solid #d9d0bb;}
.album-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:96dvh;max-height:96dvh;overflow:hidden;}
.album-dialog .album-dismiss{justify-self:end;}
.album-dialog .album-rail{min-height:0;box-sizing:border-box;}
.album-dialog .album-frame{height:100%;min-height:0;max-width:700px;display:flex;flex-direction:column;}
#sheet-obj .album-dialog .album-frame button,.album-dialog .album-frame button{flex:1 1 0;min-height:0;height:auto;cursor:grab;}
#sheet-obj .album-dialog .album-frame img,.album-dialog .album-frame img{height:100%;width:100%;object-fit:contain;}
.album-dialog .album-frame figcaption{flex:0 0 auto;text-align:center;}
