.interest-scrapbook { min-width: 0; }
.poster-shelves { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:32px; margin:24px 0 48px; }
.poster-collection { min-width:0; color:#302b22; }
.poster-collection header { display:flex; align-items:baseline; justify-content:space-between; border-bottom:1px solid #d8cdb7; padding-bottom:12px; }
.poster-collection h4 { font:26px Georgia,'Songti SC',serif; margin:0; }
.poster-collection header span { font-size:12px; color:#756853; }
.poster-stack { position:relative; height:330px; margin:24px 22px 18px; cursor:zoom-in; touch-action:pan-y; user-select:none; }
.poster-card { position:absolute; inset:0; padding:7px; background:#fffaf0; border:1px solid #d6cab1; box-shadow:0 8px 20px #32251925; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.poster-card[data-depth="1"] { transform:translate(10px,4px) rotate(4deg); }
.poster-card[data-depth="2"] { transform:translate(-9px,0) rotate(-5deg); }
.poster-card[data-depth="0"] { animation:poster-arrive .22s ease-out; }
.poster-card img { width:100%; height:100%; object-fit:contain; }
.poster-caption { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; min-height:44px; }
.poster-caption strong { font:19px Georgia,'Songti SC',serif; }
.poster-caption a { font-size:11px; color:#58604c; }
.poster-controls { display:flex; align-items:center; gap:8px; margin:8px 0 12px; }
.poster-controls button,.poster-dialog-close { padding:10px 12px; border:1px solid #cabc9d; background:#fff9e9; color:#304639; cursor:pointer; }
.poster-controls span { font-size:12px; margin-right:auto; white-space:nowrap; }
.poster-picker { display:flex; align-items:center; gap:10px; font-size:12px; }
.poster-picker select { min-width:0; flex:1; background:transparent; border:1px solid #d4c9b1; padding:9px; color:inherit; }
.poster-stack:focus-visible,.poster-collection button:focus-visible { outline:2px solid #536344; outline-offset:4px; }
.poster-dialog { width:min(850px,94vw); max-width:94vw; max-height:96dvh; box-sizing:border-box; border:1px solid #cabc9d; padding:22px 32px; background:#f8f1df; overflow:auto; }
.poster-dialog::backdrop { background:rgba(7,10,8,.94); }
.poster-dialog-close { display:block; margin:0 0 16px auto; }
.poster-dialog .poster-stack { height:min(61dvh,720px); max-width:530px; margin:24px auto; width:calc(100% - 40px); }
.poster-dialog .poster-controls { justify-content:center; }
.poster-dialog .poster-controls span { margin-right:0; }
@keyframes poster-arrive { from { opacity:.6; transform:translateX(12px) rotate(2deg); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .poster-card[data-depth="0"] { animation:none; } }
@media(max-width:480px) { .poster-dialog { padding:16px; } .poster-dialog .poster-stack { height:53dvh; } }
.interest-scrapbook .scrapbook-heading { font: 26px Georgia, 'Songti SC', serif; margin: 24px 0 10px; }
.scrapbook-note { color: #595343; font-size: 13px; line-height: 1.8; }
.fashion-shelves { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:40px; }
.fashion-collection header { flex-wrap:wrap; gap:8px; }
.fashion-collection .poster-stack { height:clamp(320px,48vh,480px); }
.fashion-collection .poster-caption small { flex-basis:100%; color:#756853; font-size:12px; }
.fashion-collection .poster-controls { flex-wrap:wrap; }
.poster-dialog .fashion-collection .poster-stack { height:min(61dvh,720px); }
.scrapbook-shelf { border-top: 1px solid #d8cdb7; padding-top: 20px; }
.scrapbook-shelf h3 { font: 24px Georgia, 'Songti SC', serif; }
.scrapbook-shelf dl { display: grid; grid-template-columns: 48px 1fr; gap: 16px; font-size: 14px; line-height: 1.8; }
.scrapbook-shelf dd { margin: 0; }
