.bookshelf{--book-gap:32px;--book-height:300px;margin:0 0 1.5rem}.bookshelf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.bookshelf-toolbar>p{color:#e1dfd1;margin:0;font-size:1rem}.bookshelf-controls{display:flex;align-items:center;gap:.8rem}.bookshelf-controls button{border:1px solid #d6ad5399;background:#173449;color:#ffe4a4;border-radius:50%;font:1.3rem/1 Arial,sans-serif;width:44px;height:44px;cursor:pointer}.bookshelf-controls button:hover:not(:disabled){background:#27495c}.bookshelf-controls button:disabled{opacity:.35;cursor:default}.bookshelf-status{min-width:106px;text-align:center;color:#e9d6b2;font-size:.8rem;font-variant-numeric:tabular-nums}.bookshelf-window{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 25%,#26475b66,transparent 75%);border-radius:6px}.bookshelf-window:after{content:'';position:absolute;top:calc(var(--book-height) + 18px);left:0;right:0;height:18px;background:linear-gradient(#c99d60 0%,#b4874f 20%,#71502f 26%,#9a7343 80%,#4d3525 100%);border-radius:2px;box-shadow:0 12px 18px #0008,inset 0 2px 1px #ffe2a04d;pointer-events:none;z-index:2}.bookshelf-track{display:flex;gap:var(--book-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:32px;overscroll-behavior-x:contain;padding:18px 32px 12px;scrollbar-color:#b39054 #12283b;scrollbar-width:thin}.bookshelf-book{display:block;flex:0 0 calc((100% - 64px)/3);min-width:0;text-decoration:none;scroll-snap-align:start;color:#fff}.bookshelf-book figure{height:var(--book-height);display:flex;justify-content:center;align-items:flex-end;margin:0;position:relative}.bookshelf-book .bookshelf-cover{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;background:transparent;padding:0;filter:drop-shadow(8px 10px 6px #0006);transition:transform .22s,filter .22s;transform-origin:50% 95%}.bookshelf-book:hover .bookshelf-cover,.bookshelf-book:focus-visible .bookshelf-cover{transform:translateY(-8px) rotate(-1deg);filter:drop-shadow(10px 14px 8px #0008)}.bookshelf-copy{padding:30px 4px 12px}.bookshelf-copy>span{color:#ddb564;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.bookshelf-copy h3{color:#fff0cc;font:1.4rem/1.2 Georgia,serif;margin:.55rem 0}.bookshelf-copy p{color:#c8d6df;font-size:.86rem;line-height:1.6;margin:.6rem 0}.bookshelf-copy b{color:#e8bc68;font-size:.82rem}.bookshelf-hint{color:#9fb6c6;font-size:.75rem;margin:.65rem 0}.bookshelf-section a:focus-visible,.bookshelf-section button:focus-visible,.bookshelf-track:focus-visible{outline:3px solid #f0c76e;outline-offset:4px}.portfolio-world-theme .bookshelf-workshop{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;min-height:0;align-items:center;margin-top:1.4rem}.portfolio-world-theme .bookshelf-workshop>img{display:block;width:100%;height:160px;object-fit:cover;border-radius:4px}.bookshelf-workshop .tile-copy{padding:0}.bookshelf-workshop h3{font:1.6rem/1.2 Georgia,serif;color:#f9e4b5;margin:.5rem 0}.bookshelf-workshop p{font-size:.9rem;line-height:1.6}.bookshelf-workshop b{font-size:.85rem}@media(max-width:950px){.bookshelf-book{flex-basis:calc((100% - 32px)/2)}}@media(max-width:620px){.bookshelf{--book-height:280px;--book-gap:24px}.bookshelf-toolbar{align-items:flex-start;flex-direction:column;gap:.75rem}.bookshelf-track{padding-inline:24px;scroll-padding-inline:24px}.bookshelf-book{flex-basis:90%}.bookshelf-copy h3{font-size:1.3rem}.portfolio-world-theme .bookshelf-workshop{grid-template-columns:1fr;gap:.8rem}.portfolio-world-theme .bookshelf-workshop>img{height:180px}}@media(prefers-reduced-motion:reduce){.bookshelf-cover{transition:none!important}.bookshelf-book:hover .bookshelf-cover,.bookshelf-book:focus-visible .bookshelf-cover{transform:none}}@media print{.bookshelf-controls,.bookshelf-hint{display:none}.bookshelf-track{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.bookshelf-window:after{display:none}.bookshelf-book{break-inside:avoid}}
