body{overflow-x:hidden}.bookshelf-room.svelte-1o202f9{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--book-scale: 1;min-height:100vh;background:#0f172a;position:relative;overflow-x:hidden;transition:filter .3s ease-out}.light .bookshelf-room.svelte-1o202f9{filter:brightness(1.1) contrast(.95)}.wallpaper-background.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;left:0;background-position:top left;background-repeat:repeat;transition:background-color .2s ease,background-image .2s ease;z-index:1}.room-vignette.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.05) 100%);pointer-events:none;z-index:2}.dark .room-vignette.svelte-1o202f9{background:radial-gradient(circle at center,transparent 20%,rgba(0,0,0,.4) 100%)}.container.svelte-1o202f9{position:relative;z-index:12;width:100%;max-width:1380px;margin:0 auto;padding:5rem 1.5rem}.bookshelf-header.svelte-1o202f9{text-align:center;margin-bottom:4rem;position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.logo-container.svelte-1o202f9{position:relative;width:min(700px,95vw);margin:0 auto;overflow:visible}.logo.svelte-1o202f9{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3))}.featured-shelf-section.svelte-1o202f9{margin:0 auto 3.25rem;max-width:1240px}.featured-copy.svelte-1o202f9{margin-bottom:.75rem;padding:0 .75rem;text-align:left}.featured-kicker.svelte-1o202f9{margin:0 0 .35rem;font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff1d6b8}.featured-copy.svelte-1o202f9 h2:where(.svelte-1o202f9){margin:0;font-size:clamp(1.25rem,2.3vw,2rem);font-weight:700;line-height:1.05;color:#fff8ef}.bookshelf-controls.svelte-1o202f9{display:grid;grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);gap:1rem;align-items:end;width:100%;max-width:1240px;margin:0 auto 2rem;padding:0 .75rem}.control-group.svelte-1o202f9{display:flex;flex-direction:column;gap:.45rem}.control-group-search.svelte-1o202f9{min-width:0}.control-label.svelte-1o202f9{font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#fff1d6b8}.control-select.svelte-1o202f9,.control-input.svelte-1o202f9{width:100%;height:3.2rem;padding:.85rem 1rem;border-radius:1rem;border:1px solid rgba(255,248,237,.14);background:#fff8ed14;color:#fff8ef;font-size:.98rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff0a;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.control-select.svelte-1o202f9{-webkit-appearance:none;-moz-appearance:none;appearance:none}.control-select.svelte-1o202f9 option:where(.svelte-1o202f9){background:#1e293b;color:#fff8ef}.control-input.svelte-1o202f9::placeholder{color:#fff8ed80}.control-select.svelte-1o202f9:focus,.control-input.svelte-1o202f9:focus{outline:none;border-color:#fff4e066;background:#fff8ed1f;box-shadow:0 0 0 4px #fff8ed14}.bookshelf-container.svelte-1o202f9{width:100%;max-width:1240px;margin:0 auto;padding:.75rem 0 0}.empty-filter-state.svelte-1o202f9{margin:2rem auto 0;max-width:26rem;padding:1rem 1.25rem;border-radius:1rem;text-align:center;background:#fff6e9e0;color:#6b3f1b;box-shadow:0 1rem 2rem #00000024}.shelf-row.svelte-1o202f9{--shelf-offset: 1.4rem;--shelf-height: 3.45rem;--shelf-seam-from-top: 1.42rem;position:relative;margin-bottom:2.5rem;height:24rem;overflow:visible}.featured-shelf-row.svelte-1o202f9{--book-scale: .9;margin-bottom:3.5rem;height:22.5rem}.featured-shelf-books.svelte-1o202f9{width:min(74rem,calc(100% - 1rem));height:18.75rem;justify-content:center;gap:clamp(.75rem,2vw,1.5rem)}.shelf-back-glow.svelte-1o202f9{position:absolute;left:50%;bottom:3.8rem;width:min(72rem,100%);height:12rem;transform:translate(-50%);border-radius:2rem;background:radial-gradient(ellipse at center,rgba(255,250,230,.08),transparent 70%);filter:blur(15px);pointer-events:none;transition:opacity .3s ease}.dark .shelf-back-glow.svelte-1o202f9{opacity:0}.wooden-shelf.svelte-1o202f9{position:absolute;bottom:var(--shelf-offset);left:50%;width:min(72rem,calc(100% - 2rem));height:var(--shelf-height);transform:translate(-50%);z-index:1}.shelf-surface.svelte-1o202f9{position:absolute;top:0;left:0;right:0;height:1.65rem;border-radius:.25rem .25rem .15rem .15rem;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent 15%,transparent 85%,rgba(0,0,0,.15)),linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 40%,rgba(0,0,0,.2) 100%),#63432a;background-image:linear-gradient(90deg,rgba(0,0,0,.15),transparent 15%,transparent 85%,rgba(0,0,0,.15)),linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 40%,rgba(0,0,0,.2) 100%),url(../../../grain-options/2.jpg);background-size:cover;background-blend-mode:multiply,normal,overlay;box-shadow:0 .5rem 1.5rem #0006,inset 0 1px #ffffff26,inset 0 -.2rem .5rem #0000004d}.shelf-surface.svelte-1o202f9:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff14;box-shadow:0 -1px 2px #0003}.shelf-lip.svelte-1o202f9{position:absolute;top:1.55rem;left:.25rem;right:.25rem;height:1.45rem;border-radius:0 0 .8rem .8rem;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,transparent 20%,rgba(0,0,0,.4) 100%),#4d3321;background-image:linear-gradient(180deg,rgba(0,0,0,.3) 0%,transparent 20%,rgba(0,0,0,.4) 100%),url(../../../grain-options/2.jpg);background-size:cover;background-blend-mode:normal,overlay;box-shadow:0 1.2rem 2.5rem #00000080,inset 0 1px 1px #ffffff1a,inset 0 -.2rem .4rem #0006}.shelf-bracket.svelte-1o202f9{position:absolute;top:1.25rem;width:3.5rem;height:2.75rem;border-radius:.2rem .2rem 1.5rem 1.5rem;background:#3a2619;background-image:url(../../../grain-options/4.png);background-size:cover;box-shadow:0 .8rem 1.5rem #0009,inset 0 1px 1px #ffffff0d}.shelf-bracket.svelte-1o202f9:after{content:"";position:absolute;top:.75rem;left:50%;width:.65rem;height:.65rem;border-radius:999px;transform:translate(-50%);background:#00000080;box-shadow:inset 0 1px 1px #000c,0 1px 1px #ffffff1a}.shelf-bracket-left.svelte-1o202f9{left:8%}.shelf-bracket-right.svelte-1o202f9{right:8%}.shelf-shadow.svelte-1o202f9{position:absolute;top:2.85rem;left:2.25rem;right:2.25rem;height:1rem;background:radial-gradient(ellipse at center,rgba(92,92,92,.16),transparent 72%);border-radius:999px;z-index:-1;filter:blur(6px)}.shelf-books.svelte-1o202f9{position:absolute;bottom:calc(var(--shelf-offset) + var(--shelf-height) - var(--shelf-seam-from-top));left:50%;width:min(68rem,calc(100% - 2rem));height:20rem;transform:translate(-50%);display:flex;justify-content:center;align-items:flex-end;padding:0 1rem;z-index:5;overflow:visible}.book-item.svelte-1o202f9{position:relative;display:flex;align-items:flex-end}.book-info-popup.svelte-1o202f9{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-20px);width:240px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:15px;box-shadow:0 10px 30px #0003,inset 0 0 0 1px #ffffff80;z-index:2000;pointer-events:none;animation:svelte-1o202f9-popupFadeIn .3s cubic-bezier(.34,1.56,.64,1)}.dark .book-info-popup.svelte-1o202f9{background:#1e293be6;color:#fff;box-shadow:0 15px 40px #00000080}@keyframes svelte-1o202f9-popupFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(-20px) scale(1)}}.popup-content.svelte-1o202f9 h4:where(.svelte-1o202f9){margin:0 0 8px;font-size:1.1rem;font-weight:700;color:#1a1a1a}.dark .popup-content.svelte-1o202f9 h4:where(.svelte-1o202f9){color:#fff}.popup-description.svelte-1o202f9{margin:0;font-size:.85rem;line-height:1.4;color:#4b5563;opacity:.9}.dark .popup-description.svelte-1o202f9{color:#cbd5e1}.popup-tag.svelte-1o202f9{display:inline-block;margin-top:10px;font-size:.75rem;font-weight:700;text-transform:uppercase;color:#2563eb}.popup-arrow.svelte-1o202f9{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid rgba(255,255,255,.95)}.dark .popup-arrow.svelte-1o202f9{border-top-color:#1e293be6}.covers-mode.svelte-1o202f9{gap:clamp(.75rem,2vw,1.75rem)}.spines-mode.svelte-1o202f9{gap:2px}.book-card.spines.svelte-1o202f9 .book-3d-wrapper:where(.svelte-1o202f9){transform:rotateY(0) rotateX(0)}.book-card.spines.svelte-1o202f9 .book-pages-top:where(.svelte-1o202f9),.book-card.spines.svelte-1o202f9 .book-pages-bottom:where(.svelte-1o202f9),.book-card.spines.svelte-1o202f9 .book-pages-right-view:where(.svelte-1o202f9){background:var(--book-color);background-image:none}.book-card.spines.svelte-1o202f9:hover .book-3d-wrapper:where(.svelte-1o202f9){transform:translateZ(0) translateY(0) rotateY(0)}.book-card.svelte-1o202f9{--book-width: 176px;--book-height: 248px;--book-depth: 24px;--book-lean: 0deg;--book-border-radius: 2px 4px 4px 2px;background:transparent;border:none;cursor:pointer;padding:0;perspective:1500px;flex:0 0 auto;position:relative;width:calc(var(--book-width) * var(--book-scale));height:calc(var(--book-height) * var(--book-scale));transform:translateY(0) rotate(var(--book-lean));transform-origin:center bottom;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.book-card.svelte-1o202f9:hover{z-index:20}.book-card.selected.svelte-1o202f9{z-index:30}.book-3d-wrapper.svelte-1o202f9{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform:rotateY(-12deg) rotateX(4deg)}.book-card.svelte-1o202f9:hover .book-3d-wrapper:where(.svelte-1o202f9){transform:translateY(-20px) scale(1.12) rotateY(-28deg) rotateX(10deg)}.book-card.selected.svelte-1o202f9 .book-3d-wrapper:where(.svelte-1o202f9){transform:translateY(-2rem) rotateY(-25deg) scale(1.1)}.book-cover-front.svelte-1o202f9{width:100%;height:100%;position:absolute;top:0;left:0;border-radius:var(--book-border-radius);overflow:visible;transform-style:preserve-3d;z-index:2;background-color:var(--book-color);transform:translateZ(3px);box-shadow:inset 0 0 0 1px #ffffff1a,2px 0 5px #0003}.cover-edge-right.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;width:3px;background:var(--book-color);transform:rotateY(90deg);transform-origin:right;filter:brightness(.8)}.cover-edge-bottom.svelte-1o202f9{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--book-color);transform:rotateX(-90deg);transform-origin:bottom;filter:brightness(.7)}.cover-texture.svelte-1o202f9{width:100%;height:100%;position:relative;overflow:hidden;background-image:linear-gradient(to right,rgba(0,0,0,.1),transparent 10%,transparent 90%,rgba(0,0,0,.05))}.cover-texture.svelte-1o202f9:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(../../../texture/paper.png);background-size:200px;opacity:.05;z-index:1;mix-blend-mode:overlay}.cover-content.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:2}.cover-content.no-padding.svelte-1o202f9{width:100%;height:100%}.cover-border.svelte-1o202f9{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:1.8rem 1rem;position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.4) 110%)}.book-title.svelte-1o202f9{font-size:clamp(.9rem,1.8vw,1.25rem);font-weight:800;margin:0;line-height:1.1;color:#ffffffe6;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.8);text-wrap:balance;z-index:2}.book-title.gold-embossed.svelte-1o202f9{background:linear-gradient(135deg,gold,#f1c40f,#fff,#f1c40f,gold);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 1px 2px rgba(0,0,0,.3);animation:svelte-1o202f9-shine 6s linear infinite}@keyframes svelte-1o202f9-shine{to{background-position:200% center}}.book-cover-image-container.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.book-cover-image.svelte-1o202f9{width:100%;height:100%;object-fit:cover;opacity:.8;mix-blend-mode:multiply;filter:contrast(1.1) brightness(.9)}.book-pages-right.svelte-1o202f9{position:absolute;top:2px;bottom:2px;width:calc(var(--book-depth) * var(--book-scale));right:1px;transform-origin:right center;transform:rotateY(-90deg);background:#fff;background-image:linear-gradient(to right,rgba(0,0,0,.1),transparent 20%),url(../../../texture/paper.png);background-size:cover,100px;box-shadow:inset 0 0 5px #0000000d}.book-pages-top.svelte-1o202f9{position:absolute;top:1px;left:2px;width:calc(var(--book-width) * var(--book-scale) - 4px);height:calc(var(--book-depth) * var(--book-scale));transform-origin:center top;transform:rotateX(-90deg);background:#fafafa;background-image:url(../../../texture/paper.png);background-size:100px}.book-pages-bottom.svelte-1o202f9{position:absolute;bottom:1px;left:2px;width:calc(var(--book-width) * var(--book-scale) - 4px);height:calc(var(--book-depth) * var(--book-scale));transform-origin:center bottom;transform:rotateX(90deg);background:#fafafa;background-image:linear-gradient(to bottom,rgba(0,0,0,.1),transparent 20%),url(../../../texture/paper.png);background-size:cover,100px}.book-spine.svelte-1o202f9{position:absolute;top:0;bottom:0;width:calc(var(--book-depth) * var(--book-scale));left:0;transform-origin:left center;transform:rotateY(90deg);background-color:var(--book-color);background-image:linear-gradient(to right,rgba(0,0,0,.2),transparent 30%,transparent 70%,rgba(0,0,0,.2)),url(../../../texture/leather.webp);background-blend-mode:soft-light,overlay;background-size:cover;border-radius:.2rem 0 0 .2rem}.book-back.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateZ(calc(-1 * var(--book-depth) * var(--book-scale)));background-color:var(--book-color);background-image:url(../../../texture/leather.webp);background-size:cover;background-blend-mode:multiply;border-radius:.15rem .45rem .45rem .15rem;opacity:1;box-shadow:inset 0 0 20px #0003}.spine-front-view.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 10px #0000004d,2px 0 5px #0003;background-image:linear-gradient(to right,rgba(0,0,0,.25),transparent 25%,transparent 75%,rgba(0,0,0,.25))}.spine-title-container.svelte-1o202f9{position:absolute;top:50%;left:50%;width:calc(var(--book-height) * .72);max-width:calc(var(--book-height) * .72);padding:0 .1rem;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) rotate(90deg)}.spine-title-text.svelte-1o202f9{color:#ffffffbf;font-size:var(--spine-font-size, .8rem);font-weight:700;text-transform:uppercase;letter-spacing:var(--spine-letter-spacing, 1px);line-height:1.05;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;text-wrap:balance}.spine-accents.svelte-1o202f9{position:absolute;left:0;right:0;height:7px}.spine-accents.gold.svelte-1o202f9{background:linear-gradient(to bottom,transparent 0%,rgba(255,215,0,.2) 30%,rgba(255,215,0,.25) 50%,rgba(255,215,0,.2) 70%,transparent 100%)}.spine-accents.silver.svelte-1o202f9{background:linear-gradient(to bottom,transparent 0%,rgba(200,210,225,.22) 30%,rgba(220,225,235,.28) 50%,rgba(200,210,225,.22) 70%,transparent 100%)}.spine-accents.copper.svelte-1o202f9{background:linear-gradient(to bottom,transparent 0%,rgba(200,130,60,.22) 30%,rgba(210,140,70,.28) 50%,rgba(200,130,60,.22) 70%,transparent 100%)}.spine-accents.top.svelte-1o202f9{top:var(--band-offset, 10%)}.spine-accents.mid.svelte-1o202f9{top:50%;transform:translateY(-50%);height:4px;opacity:.6}.spine-accents.bottom.svelte-1o202f9{bottom:var(--band-offset, 10%)}.book-cover-side-view.svelte-1o202f9{position:absolute;top:0;bottom:0;width:var(--book-depth);right:0;transform-origin:right center;transform:rotateY(-90deg);background-color:var(--book-color);z-index:5}.book-pages-right-view.svelte-1o202f9{position:absolute;top:2px;bottom:2px;width:calc(var(--book-depth) - 4px);right:4px;transform-origin:right center;transform:rotateY(-90deg);background:#fff;background-image:repeating-linear-gradient(to right,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 3px)}.dust-container.svelte-1o202f9{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:15;overflow:hidden}.dust.svelte-1o202f9{position:absolute;width:2px;height:2px;background:#fff6;border-radius:50%;filter:blur(1px);animation:svelte-1o202f9-float-dust var(--duration) infinite linear;opacity:0;left:var(--left);top:var(--top)}@keyframes svelte-1o202f9-float-dust{0%{transform:translate(0) scale(1);opacity:0}20%{opacity:var(--opacity)}80%{opacity:var(--opacity)}to{transform:translate(var(--x),var(--y)) scale(1.5);opacity:0}}@keyframes svelte-1o202f9-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes svelte-1o202f9-slideFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes svelte-1o202f9-bookOpenAnimation{0%{transform:translateY(0) rotateY(0) scale(1)}50%{transform:translateY(-15px) rotateY(-30deg) scale(1.08)}to{transform:translateY(-10px) rotateY(-25deg) scale(1.05)}}@keyframes svelte-1o202f9-slideFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 1024px){.bookshelf-room.svelte-1o202f9{--book-scale: .86}.container.svelte-1o202f9{padding-bottom:4rem}.shelf-row.svelte-1o202f9{height:20rem}.featured-shelf-row.svelte-1o202f9{height:19.5rem}.shelf-books.svelte-1o202f9{height:16rem;width:min(60rem,calc(100% - 2rem))}.featured-shelf-books.svelte-1o202f9{height:16rem;width:min(60rem,calc(100% - .8rem))}.wooden-shelf.svelte-1o202f9{width:min(62rem,calc(100% - 1.25rem))}}@media (max-width: 768px){.shelf-row.svelte-1o202f9{--shelf-offset: 1.1rem;--shelf-height: 3.15rem;--shelf-seam-from-top: 1.32rem}.bookshelf-room.svelte-1o202f9{--book-scale: .76}.featured-copy.svelte-1o202f9{padding:0 .35rem}.bookshelf-controls.svelte-1o202f9{grid-template-columns:1fr;padding:0 .35rem}.shelf-books.svelte-1o202f9{height:14rem;width:min(46rem,calc(100% - 1.4rem))}.shelf-row.svelte-1o202f9{height:17rem}.featured-shelf-row.svelte-1o202f9{--book-scale: .72;height:16rem}.featured-shelf-books.svelte-1o202f9{height:13.25rem;width:calc(100% - .4rem);gap:.75rem}.wooden-shelf.svelte-1o202f9{width:calc(100% - .9rem)}.shelf-bracket-left.svelte-1o202f9{left:4%}.shelf-bracket-right.svelte-1o202f9{right:4%}}@media (max-width: 480px){.shelf-row.svelte-1o202f9{--shelf-offset: 1rem;--shelf-height: 2.85rem;--shelf-seam-from-top: 1.18rem}.bookshelf-room.svelte-1o202f9{--book-scale: .7}.container.svelte-1o202f9{padding:1.75rem .7rem 3.5rem}.bookshelf-header.svelte-1o202f9{margin-bottom:1.5rem}.featured-shelf-section.svelte-1o202f9{margin-bottom:2rem}.bookshelf-controls.svelte-1o202f9{margin-bottom:1.5rem;padding:0}.shelf-row.svelte-1o202f9{height:15rem}.featured-shelf-row.svelte-1o202f9{--book-scale: .62;height:14rem}.shelf-books.svelte-1o202f9{width:calc(100% - .8rem);height:12.4rem;gap:.55rem}.featured-shelf-books.svelte-1o202f9{width:calc(100% - .2rem);height:11.4rem;gap:.55rem}.shelf-surface.svelte-1o202f9{height:1.28rem}.shelf-lip.svelte-1o202f9{top:1.18rem;height:.98rem}.shelf-bracket.svelte-1o202f9{top:.98rem;width:2.5rem;height:1.95rem}}
