@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_d2444-module__v0TyJW__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_d2444-module__v0TyJW__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.28qi1ga78_w_1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.2cu9iw-l3ih8o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f13700f23fbdc6fd-s.28qi1ga78_w_1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(../media/cc014fcb166cf364-s.p.2cu9iw-l3ih8o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel Fallback;src:local(Times New Roman);ascent-override:71.31%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:136.86%}.cinzel_624496a2-module__iVbBCa__className{font-family:Cinzel,Cinzel Fallback;font-style:normal}.cinzel_624496a2-module__iVbBCa__variable{--font-cinzel:"Cinzel", "Cinzel Fallback"}
@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/d8cddd76dbfeaef0-s.1mblz1wog092a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/591574edbe85c69b-s.2cu8l7zf4s4ec.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/acf349172f10b359-s.0gv8q2vqi14yg.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/0926c12c4384550f-s.1-qpv3jvnkkyl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(../media/8bd76523131fa0fc-s.p.1pvupmngxrt5z.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../media/d8cddd76dbfeaef0-s.1mblz1wog092a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../media/591574edbe85c69b-s.2cu8l7zf4s4ec.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../media/acf349172f10b359-s.0gv8q2vqi14yg.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../media/0926c12c4384550f-s.1-qpv3jvnkkyl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(../media/8bd76523131fa0fc-s.p.1pvupmngxrt5z.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_f9724d08-module__BMUsyW__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback}.cormorant_garamond_f9724d08-module__BMUsyW__variable{--font-cormorant:"Cormorant Garamond", "Cormorant Garamond Fallback"}
:root{--wood-dark:#2b1810;--wood-medium:#5e3023;--wood-light:#8b4513;--parchment:#f5e6d3;--leather-dark:#2c1810;--leather-medium:#703624;--leather-light:#a65d37;--book-brown1:#3c2a21;--book-brown2:#513b2c;--book-brown3:#7d5a50;--book-red:#8b3a3a;--book-green:#4a5d4b;--book-blue:#394756;--book-burgundy:#6b4449;--shadow:#0000004d}html,body{background-color:var(--wood-dark);width:100%;min-height:100vh;margin:0;padding:0;overflow-x:hidden}
.bookshelf-unit{background:var(--wood-dark);transform-style:preserve-3d;perspective:1000px;background-image:linear-gradient(135deg,#ffffff0d 0%,#0000 15%,#0000001a 85%,#00000040 100%),radial-gradient(circle at 30% 30%,#8b45134d 0%,#0000 50%);border-radius:6px;padding:.9rem;position:relative;box-shadow:inset 0 0 25px #00000080,0 8px 20px #0009,0 4px 12px #0006,inset 0 2px 6px #ffffff14,0 0 0 2px #0000004d,0 12px 30px -10px #0006}@media (max-width:768px){.bookshelf-unit{background:var(--wood-medium);transform-style:preserve-3d;perspective:800px;background-image:linear-gradient(135deg,#ffffff1a 0%,#0000 20%,#0000000d 80%,#00000026 100%),radial-gradient(circle at 40% 20%,#8b451333 0%,#0000 60%);box-shadow:inset 0 0 15px #0000004d,0 8px 20px #00000080,0 4px 10px #0000004d,inset 0 2px 4px #ffffff26,0 0 0 1px #0003,0 10px 25px -8px #0006}}.bookshelf-unit:before,.bookshelf-unit:after{content:"";background:linear-gradient(to right, #000c 0%, var(--wood-dark) 15%, var(--wood-medium) 40%, var(--wood-light) 50%, var(--wood-medium) 60%, var(--wood-dark) 85%, #000c 100%);z-index:2;width:16px;transform-style:preserve-3d;border-radius:8px;position:absolute;top:-4px;bottom:-4px;box-shadow:inset 0 0 8px #000c,0 6px 12px #0009,0 8px 16px #0006,inset 3px 0 6px #ffffff26,inset -3px 0 6px #00000080,0 0 0 1px #0006}.bookshelf-unit:before{left:-8px;transform:rotateY(-12deg)translateZ(8px)}.bookshelf-unit:after{right:-8px;transform:rotateY(12deg)translateZ(8px)}.bookshelf-unit{position:relative}.bookshelf-unit:before,.bookshelf-unit:after{z-index:3}.bookshelf-side{background:var(--wood-light);border:10px solid var(--wood-medium);width:20px;position:absolute;top:0;bottom:0}.bookshelf-side.left{transform-origin:100%;border-right:none;border-radius:4px 0 0 4px;left:-10px;transform:translate(-100%)rotateY(90deg)}.bookshelf-side.right{transform-origin:0;border-left:none;border-radius:0 4px 4px 0;right:-10px;transform:translate(100%)rotateY(-90deg)}.bookshelf-wall{transform-origin:50%;flex-direction:column;gap:2rem;height:95vh;padding:2rem;display:flex;position:fixed;top:50%}@media (max-width:768px){.bookshelf-wall{gap:0}}.bookshelf-wall.left{width:25%;left:0%;transform:translateY(-50%)rotateY(20deg)translateZ(-50px)}.bookshelf-wall.right{width:30%;right:0%;transform:translateY(-50%)rotateY(-20deg)translateZ(-50px)}.bookshelf-wall.center{width:45%;left:45%;transform:translate(-45%,-55%)translateZ(-150px)}.shelf-title{margin-bottom:.5rem}@media (max-width:768px){.shelf-title{margin-bottom:.1rem}}.shelf-title h2{color:var(--wood-light);text-shadow:1px 1px 2px #00000080;margin-bottom:.3rem;font-size:1.1rem;font-weight:200}.shelf-title p{color:var(--parchment);opacity:.9;text-shadow:1px 1px 2px #00000080;font-size:.85rem}.bookshelf-unit h2{color:var(--parchment);font-family:Playfair Display,serif;font-size:1.5xrem;opacity:.9;margin-bottom:.5rem;padding-top:1rem;text-decoration:none;position:relative}.bookshelf-unit h2:before{content:attr(data-dewey);color:var(--leather-light);letter-spacing:.05em;font-size:.8rem;font-weight:700;position:absolute;top:-.2rem;left:0}.bookshelf-unit p{color:var(--parchment);opacity:.8;margin-bottom:.25rem;padding-left:0;font-family:Playfair Display,serif;font-size:.75rem;text-decoration:none;position:relative}.bookshelf-unit:last-child:after{content:"";box-shadow:inset 0 10px 20px -10px var(--shadow), inset 0 -10px 20px -10px var(--shadow), inset 0 0 15px #0003;pointer-events:none;z-index:0;position:absolute;inset:0}@media (max-width:768px){.bookshelf-unit:last-child:after{box-shadow:inset 0 1px 2px -1px var(--shadow), inset 0 -1px 2px -1px var(--shadow), inset 0 0 2px #0000000d}}
.book-row{height:150px;transform-style:preserve-3d;background:linear-gradient(#0000 0%,#0000001a 85%,#0003 100%);border-radius:0 0 4px 4px;align-items:flex-end;gap:2px;padding:.5rem;display:flex;position:relative}.book-spine{cursor:pointer;min-width:25px;max-width:45px;transform-style:preserve-3d;background-image:linear-gradient(90deg,#ffffff1a 0%,#0000 10%,#0000001a 90%,#0000004d 100%);border:1px solid #0000004d;border-bottom:none;border-radius:2px 2px 0 0;transition:all .3s;position:relative;box-shadow:inset 0 0 8px #ffffff1a,inset -2px 0 4px #0000004d,0 0 4px #0003}.book-spine:hover{z-index:10;transform:translate(8px)rotateY(-15deg);box-shadow:-6px 0 12px #0006,inset 0 0 12px #fff3,inset -3px 0 6px #0006,0 0 8px #0000004d}.book-spine:nth-child(odd){height:80%}.book-spine:nth-child(3n){height:90%}.book-spine:nth-child(2n){height:97%}.book-spine:nth-child(3n):before{content:"";opacity:.8;pointer-events:none;background:linear-gradient(90deg,#0000004d 0%,#0000 20%,#0000001a 40%,#0000 60%,#0003 100%);position:absolute;inset:0}.book-spine:nth-child(2n):after{content:"";opacity:.9;pointer-events:none;background:#ffffff26;height:1px;position:absolute;top:10%;left:2px;right:2px}.book-spine:nth-child(4n):before{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#0006 20% 80%,#0000 100%);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.book-preview{border:1px solid var(--wood-light);pointer-events:none;opacity:0;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2b1810f2;border-radius:8px;max-width:300px;padding:1rem;transition:opacity .2s;position:fixed;box-shadow:0 4px 12px #00000080;width:90%!important;bottom:2rem!important;left:50%!important;transform:translate(-50%)!important}.book-preview h4{color:var(--parchment);margin-bottom:.5rem;font-size:1rem;font-weight:600}.book-preview p{color:var(--parchment);opacity:.9;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}.book-spine:hover .book-preview{opacity:1}.book-spine h3{writing-mode:vertical-rl;color:var(--parchment);text-align:center;white-space:nowrap;text-shadow:1px 1px 3px #000c;letter-spacing:.03em;text-overflow:ellipsis;justify-content:center;align-items:center;height:calc(100% - .6rem);margin:.3rem 0;padding:.3rem 0;font-size:.75rem;font-weight:600;line-height:1.1;display:flex;overflow:hidden;transform:rotate(180deg)}@media (max-width:768px){.book-row{align-items:flex-end;gap:1px;height:120px;padding:.5rem .5rem 0;transform:none}.book-spine{border-radius:1px 1px 0 0;min-width:20px;max-width:35px}.book-spine h3{letter-spacing:.02em;padding:.2rem 0;font-size:.6rem}.book-spine:hover{transform:translate(6px)rotateY(-10deg);box-shadow:-4px 0 8px #0000004d,inset 0 0 8px #ffffff26,inset -2px 0 4px #0000004d,0 0 6px #0003}.bookshelf-unit{padding:.4rem .75rem .2rem}.bookshelf-wall.center .bookshelf-unit{padding:.3rem .9rem;transform:scaleY(.75)}.shelf-title{transform:none;margin-bottom:0!important}.bookshelf-unit h2{padding-top:.5rem!important}.shelf-title h2{margin-bottom:.1rem!important;font-size:.8rem!important}.shelf-title p{font-size:.7rem!important}.bookshelf-unit:before,.bookshelf-unit:after{width:6px}.bookshelf-unit:before{left:-3px}.bookshelf-unit:after{right:-3px}}
.door-container{transform-style:preserve-3d;cursor:pointer;z-index:1000;-webkit-tap-highlight-color:transparent;touch-action:manipulation;pointer-events:all;transition:transform .3s;position:absolute;top:45%}.door{transform-style:preserve-3d;transform-origin:0;border:4px solid sienna;border-radius:8px;transition:transform 1s;position:absolute;inset:0;box-shadow:2px 0 10px #0000004d;background:linear-gradient(to bottom right,#8b4513,#654321)!important}.left-door{z-index:1001;width:350px;height:600px;left:-30%;transform:translate(-50%,-50%)rotateY(89deg)translateZ(700px)}.center-door{z-index:1002;width:500px;height:850px;left:50%;transform:translate(-50%,-57%)translateZ(-1500px)}.right-door{z-index:1001;width:350px;height:600px;left:90%;transform:translate(-50%,-50%)rotateY(-88deg)translateZ(49px)}.door-hitbox{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;pointer-events:all;transform-style:preserve-3d;background:0 0;border:none;margin:0;padding:0;position:absolute}.door-hitbox:focus{outline:none}.door-open .door{transform:rotateY(-105deg)translate(-20px)}.door-handle{pointer-events:none;background:peru;border:1px solid #deb887;border-radius:8px;width:15px;height:50px;position:absolute;top:50%;right:20px;transform:translateY(-50%);box-shadow:2px 2px 4px #0000004d}.left-door .door-handle{left:20px;right:auto}.door-panel{opacity:.6;pointer-events:none;background:linear-gradient(to bottom right,#deb8871a,#0000);border:2px solid #deb887;border-radius:4px;position:absolute;inset:40px}.door-title{text-align:center;color:var(--parchment);text-shadow:2px 2px 4px var(--shadow);opacity:.9;font-family:Playfair Display,serif;font-size:1.2rem;position:absolute;bottom:-40px;left:0;right:0}.door:before{content:"";opacity:.7;border:3px double #deb887;border-radius:4px;position:absolute;inset:20px}.door:after{content:"";opacity:.5;background:linear-gradient(#deb8871a,#deb8870d);border:2px solid #deb887;border-radius:4px;position:absolute;inset:35px}
.project-carousel{background:linear-gradient(135deg, var(--wood-light), var(--wood-medium));border:3px solid var(--leather-dark);border-radius:1rem;margin:2rem 0;padding:2rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000004d}.project-carousel:before{content:"";background:linear-gradient(90deg, var(--gold-light) 0%, var(--gold-dark) 50%, var(--gold-light) 100%);border-radius:1rem 1rem 0 0;height:4px;position:absolute;top:0;left:0;right:0}.project-carousel-content{z-index:1;position:relative}.project-carousel-title{color:var(--leather-dark);text-align:center;text-shadow:2px 2px 4px #0003;margin-bottom:1.5rem;font-family:Cinzel,serif;font-size:1.8rem;font-weight:600}.carousel-wrapper{margin-bottom:2rem}.carousel-container{background:var(--parchment-light);border:2px solid var(--leather-medium);border-radius:.75rem;height:400px;position:relative;overflow:hidden;box-shadow:inset 0 4px 8px #0000001a}.carousel-track{width:100%;height:100%;display:flex}.carousel-slide{justify-content:center;align-items:center;min-width:100%;height:100%;display:flex;position:relative}.carousel-image-container{background:#fff;border-radius:.5rem;width:90%;height:90%;position:relative;overflow:hidden;box-shadow:0 4px 16px #0003}.carousel-image{border-radius:.5rem}.carousel-nav{color:var(--parchment-light);cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border:2px solid var(--leather-light);background:#2e1810cc;border-radius:50%;width:48px;height:48px;font-size:1.2rem;font-weight:700;transition:all .3s;position:absolute;top:50%;transform:translateY(-50%)}.carousel-nav:hover{background:#2e1810f2;transform:translateY(-50%)scale(1.1);box-shadow:0 4px 16px #0000004d}.carousel-prev{left:12px}.carousel-next{right:12px}.carousel-dots{justify-content:center;gap:.5rem;margin-top:1rem;padding:0 1rem;display:flex}.carousel-dot{border:2px solid var(--leather-medium);background:var(--parchment-light);cursor:pointer;border-radius:50%;width:12px;height:12px;transition:all .3s}.carousel-dot:hover{background:var(--leather-light);transform:scale(1.2)}.carousel-dot.active{background:var(--leather-dark);border-color:var(--gold-dark);transform:scale(1.3);box-shadow:0 0 8px #b8733380}.project-carousel-description{color:var(--leather-dark);text-align:justify;border:1px solid var(--leather-light);background:#f5e6d399;border-radius:.75rem;padding:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.1rem;line-height:1.7;box-shadow:inset 0 2px 8px #0000000d}.project-carousel-description p{margin-bottom:1rem}.project-carousel-description p:last-child{margin-bottom:0}.project-carousel-description em{color:var(--leather-dark);font-style:italic;font-weight:500}@media (max-width:768px){.project-carousel{margin:1.5rem 0;padding:1.5rem}.project-carousel-title{margin-bottom:1rem;font-size:1.4rem}.carousel-container{height:300px}.carousel-nav{width:40px;height:40px;font-size:1rem}.carousel-prev{left:8px}.carousel-next{right:8px}.project-carousel-description{text-align:left;padding:1rem;font-size:1rem}.carousel-dot{width:10px;height:10px}}
.library-room{perspective:2000px;perspective-origin:50% calc(50% - 100px);background-color:var(--wood-dark);min-height:100vh;position:relative;overflow:hidden}.library-wall{background-color:var(--wood-dark)}.room-lighting{pointer-events:none;z-index:2;background:radial-gradient(at 70% 75%,#fff8dc4d 0%,#4a3b2733 50%,#0006 100%);position:absolute;inset:0}.wooden-floor{background-color:var(--wood-medium);background-image:repeating-linear-gradient(90deg, var(--wood-dark) 0px, var(--wood-dark) 2px, transparent 2px, transparent 30px);transform-origin:bottom;z-index:1;height:20vh;position:fixed;bottom:-5vh;left:-25%;right:-30%;transform:rotateX(45deg)}.library-title{display:none}.shoe-button{width:80px;height:120px;clip-path:path("M 40,0 C 60,0 75,10 75,30 L 75,90 C 75,100 65,110 50,115 C 35,120 15,115 5,100 C 0,90 0,80 0,70 L 0,30 C 0,10 20,0 40,0 Z");cursor:pointer;transform-style:preserve-3d;filter:drop-shadow(0 10px 8px #0006);pointer-events:auto;z-index:1000;background:linear-gradient(135deg,#8b0000,#b22222);border:none;transition:transform .3s,filter .3s;position:absolute;bottom:30%;left:50%;transform:translate(-50%)rotateX(-45deg)}.shoe-button:hover{filter:drop-shadow(0 15px 12px #00000080);transform:translate(-50%,-5px)rotateX(-45deg)}.shoe-button:active{filter:drop-shadow(0 5px 4px #0000004d);transform:translate(-50%,2px)rotateX(-45deg)}
.entrance-room{background:var(--wood-dark);perspective:1500px;perspective-origin:50%;min-height:100vh;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.hallway{width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;pointer-events:auto;position:relative}.welcome-text{text-align:center;z-index:10;cursor:default;border-radius:10px;padding:2rem 3rem;position:absolute;top:-2%;left:50%;transform:translate(-50%)translateZ(-200px)}.welcome-text h1{letter-spacing:.1em;background:linear-gradient(45deg,#ffe5b4,#deb887,#ffe5b4);color:#0000;text-shadow:2px 2px 4px #0000004d,0 0 20px #deb88733;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-family:Cinzel,serif;font-size:clamp(2rem,5vw,4.5rem);font-weight:600}.welcome-text p{letter-spacing:.3em;color:#deb887;text-transform:uppercase;opacity:0;text-shadow:1px 1px 2px #00000080,0 0 15px #deb8874d;margin-top:.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,3vw,1.6rem);font-style:italic;font-weight:500;transition:all .5s;transform:translateY(-20px)}.welcome-text:hover p{opacity:.9;transform:translateY(0)}.hallway-wall{background:linear-gradient(#8b4513,#654321);border:4px solid sienna;position:absolute;box-shadow:inset 0 0 40px #0006,inset 0 0 100px #deb8871a;pointer-events:none!important;z-index:1!important}.hallway-wall.left{background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-size:100px 100px;width:2000px;top:-50%;bottom:-20%;left:-29.3%;transform:rotateY(88deg)translate(-1300px);pointer-events:none!important;z-index:1!important}.hallway-wall.right{background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-size:100px 100px;width:2000px;top:-50%;bottom:-20%;right:-29.3%;transform:rotateY(-88deg)translate(1300px);pointer-events:none!important;z-index:1!important}.hallway-wall.back{background-color:#0000;background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:100px 100px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;inset:-67% -9% -5%;transform:translateZ(-2000px);pointer-events:none!important;z-index:1!important}.hallway-ceiling{transform-origin:top;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:100px 100px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:4px solid sienna;height:2500px;position:absolute;top:-60%;left:-100%;right:-100%;transform:rotateX(-89deg);box-shadow:0 20px 40px #0006,inset 0 0 100px #0000004d}.hallway-floor{transform-origin:bottom;pointer-events:none;opacity:.8;background-color:#8b4513;background-image:linear-gradient(90deg,#deb887 1px,#0000 1px),linear-gradient(#deb887 1px,#0000 1px);background-size:100px 100px;height:2400px;position:absolute;bottom:0;left:-15%;right:-15%;transform:rotateX(89deg);box-shadow:0 -20px 40px #0003}@media (min-width:1920px){.entrance-room{perspective:2000px}.welcome-text{transform:translate(-50%)translateZ(-300px)}.welcome-text h1{font-size:clamp(3rem,6vw,6rem)}.welcome-text p{font-size:clamp(1.5rem,4vw,2rem)}}@media (min-width:2560px){.entrance-room{perspective:2500px}.welcome-text{transform:translate(-50%)translateZ(-400px)}}
.art-room{background:var(--wood-dark);perspective:1500px;justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.title-underline{background:linear-gradient(90deg, transparent, var(--parchment), transparent);opacity:.6;width:clamp(100px,30%,200px);height:2px;margin:.5rem auto}.art-gallery{width:100%;max-width:1400px;min-height:100vh;padding:4rem 2rem;position:relative;overflow:visible}.paintings-container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:6rem 3rem;width:100%;max-width:1600px;margin:0 auto;padding:2rem;display:grid;position:relative}.room-lighting{pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 30%,#fff8dc26 0%,#0006 100%);position:fixed;inset:0}.painting-frame{width:100%;aspect-ratio:var(--aspect-ratio,4/3);background:var(--wood-light);cursor:pointer;transform-origin:50%;border-radius:8px;padding:20px;transition:all .3s;position:relative;box-shadow:0 10px 20px #0000004d,inset 0 0 10px #0003}.painting-frame:hover,.painting-frame:focus-visible{transform:translateY(-5px);box-shadow:0 15px 30px #0006,inset 0 0 10px #0003}.painting-frame:focus-visible{outline:3px solid var(--leather-light);outline-offset:4px}.painting-frame.engineering-project{background:linear-gradient(135deg, var(--wood-light), var(--wood-medium));border:2px solid var(--gold-light);box-shadow:0 10px 20px #0000004d,inset 0 0 10px #0003,0 0 20px #daa52033}.painting-frame.engineering-project:before{content:"⚙️";opacity:.8;z-index:1;font-size:1.2rem;position:absolute;top:8px;right:8px}.painting{background:#fff;border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden}.painting-image{border-radius:4px;object-fit:cover!important}.painting-title{text-align:center;color:var(--parchment);opacity:.9;padding:.5rem;font-family:Cinzel,serif;position:absolute;bottom:-40px;left:0;right:0}.painting-title span{text-shadow:1px 1px 2px #00000080;font-size:1rem}.art-gallery:before,.art-gallery:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 30%,#fff8dc1a 0%,#0000 60%);width:50vw;height:100vh;position:fixed;top:0}.art-gallery:before{left:0;transform:translate(-30%)}.art-gallery:after{right:0;transform:translate(30%)}button[aria-label="Back to Entrance"]{background:linear-gradient(to bottom right, var(--wood-medium), var(--wood-dark))!important;border:2px solid var(--leather-light)!important;cursor:pointer!important;transform-origin:100%!important;z-index:9999!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important;border-radius:24px 24px 4px 4px!important;width:48px!important;height:96px!important;padding:0!important;transition:all .3s!important;display:block!important;position:fixed!important;top:1rem!important;right:1rem!important}button[aria-label="Back to Entrance"]:after{content:"";background:var(--leather-light);border-radius:3px;width:6px;height:16px;transition:all .3s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}button[aria-label="Back to Entrance"] span{color:var(--leather-light)!important;letter-spacing:.1em!important;white-space:nowrap!important;pointer-events:none!important;opacity:1!important;visibility:visible!important;font-family:Cinzel,serif!important;font-size:.7rem!important;transition:all .3s!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)rotate(90deg)!important}button[aria-label="Back to Entrance"]:hover{border-color:var(--parchment)!important;transform:perspective(1000px)rotateY(-15deg)!important}button[aria-label="Back to Entrance"]:hover:after{background:var(--parchment)!important}button[aria-label="Back to Entrance"]:hover span{color:var(--parchment)!important}@media (min-width:1024px){.paintings-container{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:8rem 4rem;padding:3rem}.painting-frame{max-width:450px}}@media (min-width:769px) and (max-width:1023px){.paintings-container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:5rem 3rem;padding:2rem}.painting-frame{max-width:400px}}@media (max-width:768px){.art-room{padding:.5rem}.art-gallery{min-height:auto;padding:1rem}.paintings-container{grid-template-columns:1fr;gap:4rem;padding:.5rem}.painting-frame{max-width:90vw;margin:0 auto;padding:15px;transform:none!important}.painting-title{padding:.25rem;bottom:-35px}.painting-title span{font-size:.9rem}.art-gallery:before,.art-gallery:after{display:none}.room-lighting{background:radial-gradient(circle at 50% 0,#fff8dc1a 0%,#0000004d 100%)}}@media (max-width:480px){.art-room{padding:.25rem}.art-gallery{padding:.5rem}.paintings-container{gap:3rem;padding:.25rem}.painting-frame{max-width:95vw;padding:10px}.painting-title{bottom:-30px}.painting-title span{font-size:.8rem}}@media (max-height:500px) and (orientation:landscape){.art-gallery{padding:1rem}.paintings-container{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.painting-frame{padding:8px}.painting-title{bottom:-25px}.painting-title span{font-size:.7rem}}.painting-modal{z-index:2100;background-color:#000000e6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.painting-modal-content{background-color:#2b1810;border-radius:1rem;flex-direction:column;gap:1.5rem;width:100%;max-width:min(90vw,1200px);max-height:90vh;padding:1.5rem;display:flex;position:relative;overflow-y:auto;box-shadow:0 0 30px #00000080}@media (max-width:768px){.painting-modal{padding:.5rem}.painting-modal-content{gap:1rem;max-height:95vh;padding:1rem}}@media (max-width:480px){.painting-modal{padding:.25rem}.painting-modal-content{border-radius:.5rem;gap:.75rem;max-height:98vh;padding:.75rem}}
.room-back-button{z-index:20;background:linear-gradient(135deg, var(--leather-medium), var(--leather-dark));color:var(--parchment-light);font-family:var(--font-cinzel), Georgia, serif;letter-spacing:.08em;white-space:nowrap;cursor:pointer;border:1px solid #a65d3799;border-radius:999px;padding:10px 18px;font-size:.8rem;transition:transform .15s,box-shadow .15s;position:fixed;top:20px;left:20px;box-shadow:0 4px 12px #0006}.room-back-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000080}.room-back-button:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}@media (max-width:640px){.room-back-button{top:14px;left:12px}}.story-room{box-sizing:border-box;min-height:100vh;color:var(--parchment-light);text-align:center;background:linear-gradient(135deg,#2b1810 0%,#1a0f0a 100%);flex-direction:column;justify-content:center;align-items:center;padding:96px 24px 48px;display:flex}.story-room__content{max-width:600px}.story-room__title{text-shadow:2px 2px 4px #00000080;margin:0 0 1rem;font-family:Georgia,serif;font-size:clamp(2rem,8vw,3rem)}.story-room__text{opacity:.9;margin:0 0 2rem;font-size:1.25rem;line-height:1.6}.story-room__links{flex-direction:column;align-items:center;gap:1.5rem;margin-top:3rem;display:flex}.story-room__hint{opacity:.8;margin:0 0 .5rem;font-size:1.1rem}.story-room__link{min-width:200px;color:var(--parchment-light);cursor:pointer;background:#2b1810;border:2px solid #f5e6d34d;border-radius:8px;padding:12px 24px;font-family:inherit;font-size:1.1rem;font-weight:500;transition:background .2s,border-color .2s,transform .2s;box-shadow:0 6px 14px #00000059}.story-room__link:hover{background:#5e3023;border-color:#f5e6d399;transform:translateY(-2px)}.story-room__link:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}
@media (min-width:769px){.mobile-only{display:none!important}}@media (max-width:768px){.desktop-only{display:none!important}html,body{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}.library-room{width:100vw!important;height:auto!important;min-height:100vh!important;transform-style:auto!important;perspective:none!important;flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;margin:0!important;padding:0!important;display:flex!important;position:relative!important;top:0!important;left:0!important;overflow:hidden auto!important;transform:none!important}.library-room:before{content:"";pointer-events:none;z-index:-1;background:#2b1810 url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='rgba(218, 165, 32, 0.5)' stroke-width='2'%3E%3Cpath d='M30,0 Q30,30 60,30' /%3E%3Cpath d='M30,120 Q30,90 60,90' /%3E%3Cpath d='M90,30 Q90,30 120,30' /%3E%3Cpath d='M90,90 Q90,90 120,90' /%3E%3Ccircle cx='60' cy='60' r='10' stroke='rgba(218, 165, 32, 0.8)' /%3E%3C/g%3E%3Cg fill='none' stroke='rgba(255, 215, 0, 0.4)' stroke-width='2'%3E%3Cpath d='M0,30 Q30,30 60,30' /%3E%3Cpath d='M0,90 Q30,90 60,90' /%3E%3Cpath d='M60,30 Q90,30 120,30' /%3E%3Cpath d='M60,90 Q90,90 120,90' /%3E%3C/g%3E%3C/svg%3E") 50%/80px 80px;width:100%;height:100%;position:fixed;inset:0}.bookcase-container{perspective:800px!important;perspective-origin:50%!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.library-room>div[style*=transform]{transform:none!important}.bookcase-3d{opacity:1!important;visibility:visible!important;transform-style:preserve-3d!important;display:block!important;position:absolute!important}.left-bookcase{width:28%!important;height:70%!important;top:50%!important;left:2%!important;transform:translateY(-50%)rotateY(20deg)translateZ(-80px)!important}.center-bookcase{z-index:3!important;width:42%!important;height:80%!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)translateZ(30px)!important}.right-bookcase{width:28%!important;height:70%!important;top:50%!important;right:2%!important;transform:translateY(-50%)rotateY(-20deg)translateZ(-80px)!important}.bookcase-frame{border-width:2px!important;border-radius:8px!important;padding:.5rem!important}.center-bookcase .bookcase-frame{border-width:3px!important;border-radius:10px!important;padding:.7rem!important}.bookshelf-wall{justify-content:space-between;gap:.2rem;width:100%;height:100%;flex-direction:column!important;display:flex!important}.hallway-wall.left{background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-size:100px 100px;width:2000px;top:-100%;bottom:-20%;left:-50.3%;transform:rotateY(88deg)translate(-1300px);pointer-events:none!important;z-index:1!important}.bookshelf-unit{width:100%;min-height:120px;transform-style:preserve-3d;border-radius:6px;flex:1;margin:0 0 .4rem;padding:.4rem;position:relative}.bookshelf-left .bookshelf-unit,.bookshelf-right .bookshelf-unit,.bookshelf-center .bookshelf-unit{min-height:120px}.book-row{justify-content:center;align-items:flex-end;gap:3px;height:auto;min-height:60px;padding:.3rem .5rem .5rem;display:flex}.book-spine{flex-shrink:0;align-self:flex-end;margin:0;border-radius:2px 2px 0 0!important;width:22px!important;height:70px!important;font-size:.5rem!important}.center-bookcase .book-spine{width:26px!important;height:85px!important;font-size:.6rem!important}.book-spine:first-child{height:68px!important}.book-spine:nth-child(2){height:75px!important}.book-spine:nth-child(3){height:72px!important}.book-spine:nth-child(4){height:70px!important}.book-spine:nth-child(5){height:69px!important}.center-bookcase .book-spine:first-child{height:82px!important}.center-bookcase .book-spine:nth-child(2){height:90px!important}.center-bookcase .book-spine:nth-child(3){height:87px!important}.center-bookcase .book-spine:nth-child(4){height:85px!important}.center-bookcase .book-spine:nth-child(5){height:84px!important}.book-spine h3{padding:.2rem;line-height:1.1;writing-mode:vertical-lr!important;text-orientation:mixed!important;max-height:90%!important;font-size:.45rem!important;overflow:hidden!important}.center-bookcase .book-spine h3{font-size:.55rem!important}.shelf-title{text-align:center;border-bottom:1px solid #8b45134d;margin-bottom:.2rem;padding:.2rem 0}.shelf-title h2{color:#deb887;letter-spacing:.02em;margin-bottom:.15rem;font-family:Cinzel,serif;font-size:.6rem}.shelf-title p{opacity:.8;color:#c4a484;font-size:.45rem;font-style:italic}.center-bookcase .shelf-title h2{font-size:.7rem}.center-bookcase .shelf-title p{font-size:.5rem}.room-lighting,.wooden-floor{display:none}.door-clickable-area{width:150px;height:400px;display:block}.door-clickable-area.left{z-index:2001;left:30%}.door-clickable-area.center{z-index:2002;width:200px;height:500px;left:50%}.door-clickable-area.right{z-index:2001;left:70%}.left-door{width:220px;height:380px;left:-15%;transform:translate(-50%,-50%)rotateY(75deg)translateZ(100px)}.center-door{width:280px;height:450px;transform:translate(-50%,-57%)translateZ(-600px)}.right-door{width:220px;height:380px;left:100%;transform:translate(-50%,-50%)rotateY(-80deg)translateZ(40px)}.wooden-floor{height:20vh;bottom:-3vh;left:-15%;right:-15%}button[aria-label="Back to Entrance"]{background:linear-gradient(to bottom right, var(--wood-medium), var(--wood-dark))!important;border:2px solid var(--leather-light)!important;cursor:pointer!important;transform-origin:100%!important;z-index:9999!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important;border-radius:24px 24px 4px 4px!important;width:48px!important;height:96px!important;padding:0!important;transition:all .3s!important;display:block!important;position:fixed!important;top:1rem!important;right:1rem!important}button[aria-label="Back to Entrance"]:after{content:"";background:var(--leather-light);border-radius:3px;width:6px;height:16px;transition:all .3s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}button[aria-label="Back to Entrance"] span{color:var(--leather-light)!important;letter-spacing:.1em!important;white-space:nowrap!important;pointer-events:none!important;opacity:1!important;visibility:visible!important;font-family:Cinzel,serif!important;font-size:.7rem!important;transition:all .3s!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)rotate(90deg)!important}button[aria-label="Back to Entrance"]:hover{border-color:var(--parchment)!important;transform:perspective(1000px)rotateY(-15deg)!important}button[aria-label="Back to Entrance"]:hover:after{background:var(--parchment)!important}button[aria-label="Back to Entrance"]:hover span{color:var(--parchment)!important}.library-room>div[class*=fixed]{z-index:9999!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important;width:2.5rem!important;height:3.5rem!important;display:block!important;position:fixed!important;top:1rem!important;right:1rem!important;transform:none!important}.library-room>div[class*=fixed]>div{opacity:1!important;visibility:visible!important;display:block!important;position:absolute!important;inset:0!important}.library-room>div[class*=fixed] .absolute.right-1{opacity:1!important;visibility:visible!important;display:block!important}}@media (max-width:375px){.library-room{padding:0}.bookshelf-wall{padding:0 .5rem!important}.bookshelf-unit{padding:.75rem}.book-row{gap:.35rem}.book-spine{width:35px!important;height:80px!important}.book-spine h3{font-size:.6rem!important}.door-clickable-area{width:120px;height:350px}.door-clickable-area.left{left:35%}.door-clickable-area.center{width:150px;height:400px}.door-clickable-area.right{left:65%}.left-door{width:180px;height:320px;left:-35%;transform:translate(-50%,-50%)rotateY(70deg)translateZ(200px)}.center-door{width:220px;height:380px;transform:translate(-50%,-57%)translateZ(-400px)}.right-door{width:180px;height:320px;left:95%;transform:translate(-50%,-50%)rotateY(-75deg)translateZ(20px)}.wooden-floor{height:15vh;bottom:-2vh;left:-10%;right:-10%}.library-room .bookcase-3d,.library-room .bookcase-frame,.library-room .bookshelf-unit{transform-style:preserve-3d!important}.book-preview{display:none!important}}
.library-room[data-bookcase=left] .bookcase-container{transform:rotateY(2deg)}.library-room[data-bookcase=right] .bookcase-container{transform:rotateY(-2deg)}.library-room[data-bookcase=center] .bookcase-container{transform:rotateY(0)}@media (max-width:375px){.bookcase-left.visible{transform:translate(-5%)rotateY(8deg)translateZ(0)}.bookcase-right.visible{transform:translate(5%)rotateY(-8deg)translateZ(0)}.bookcase-center.visible{transform:translateZ(0)scale(.8)}}@media (prefers-reduced-motion:no-preference){.bookcase-container,.bookcase,.book-spine{transition-duration:.6s}}@media (prefers-reduced-motion:reduce){.bookcase-container,.bookcase,.book-spine{transition:none}.library-room[data-bookcase] .bookcase-container{transform:none}}
@media (min-width:769px){.bookshelf-wall.left{width:40%;left:-5%;transform:translateY(-50%)rotateY(20deg)translateZ(-50px)}.bookshelf-wall.right{width:40%;right:-5%;transform:translateY(-50%)rotateY(-20deg)translateZ(-50px)}.bookshelf-wall.center{width:40%;height:10%;left:45%;transform:translate(-55%,-55%)translateZ(-200px)}.book-spine{min-width:45px;max-width:65px}.book-preview{background:var(--wood-dark);width:50%;max-width:300px;position:fixed;top:auto;bottom:2rem;left:50%;transform:translate(-50%)}}@media (min-width:1920px){.entrance-room{perspective:2000px}.left-door{width:450px;height:800px;left:-25%;transform:translate(-50%,-50%)rotateY(89deg)translateZ(900px)}.center-door{width:600px;height:1000px;transform:translate(-50%,-57%)translateZ(-2000px)}.right-door{width:450px;height:800px;left:85%;transform:translate(-50%,-50%)rotateY(-88deg)translateZ(100px)}.welcome-text{transform:translate(-50%)translateZ(-300px)}.welcome-text h1{font-size:clamp(3rem,6vw,6rem)}.welcome-text p{font-size:clamp(1.5rem,4vw,2rem)}}@media (min-width:2560px){.entrance-room{perspective:2500px}.left-door{width:600px;height:1000px;left:-20%;transform:translate(-50%,-50%)rotateY(89deg)translateZ(1200px)}.center-door{width:800px;height:1200px;transform:translate(-50%,-57%)translateZ(-2500px)}.right-door{width:600px;height:1000px;left:80%;transform:translate(-50%,-50%)rotateY(-88deg)translateZ(150px)}.welcome-text{transform:translate(-50%)translateZ(-400px)}}
@-moz-document url-prefix(){.entrance-room,.hallway{transform-style:preserve-3d}.door-container{pointer-events:all!important;transform-style:preserve-3d!important}.hallway .door-hitbox{pointer-events:all!important;z-index:999999!important;position:fixed!important;transform:none!important}.hallway button.door-hitbox[aria-label="Art Gallery Door"]{z-index:999999!important;width:33.33%!important;height:100%!important;top:0%!important;left:0%!important}.hallway button.door-hitbox[aria-label=Library\ Door]{z-index:999999!important;width:33.33%!important;height:100%!important;top:0%!important;left:33.33%!important}.hallway button.door-hitbox[aria-label="Reading Room Door"]{z-index:999999!important;width:33.33%!important;height:100%!important;top:0%!important;left:66.66%!important}.hallway-wall,.hallway-wall.left,.hallway-wall.right,.hallway-wall.back{pointer-events:none!important}}
@supports (-webkit-touch-callout:none){.entrance-room,.hallway{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.door-container{pointer-events:all!important;-webkit-transform-style:preserve-3d!important;transform-style:preserve-3d!important}.door{transform-origin:0;transition:transform 1s}.door-open .door{transform:rotateY(-105deg)translate(-20px)}.hallway .door-hitbox{pointer-events:all!important;z-index:999999!important;transform-style:flat!important;position:fixed!important;transform:none!important}.hallway button.door-hitbox[aria-label="Art Gallery Door"]{z-index:999999!important;width:33.33%!important;height:100%!important;top:0%!important;left:0%!important}.hallway button.door-hitbox[aria-label=Library\ Door]{z-index:999999!important;width:33.33%!important;height:100%!important;top:0%!important;left:33.33%!important}.hallway button.door-hitbox[aria-label="Reading Room Door"]{z-index:999999!important;width:33.33%!important;height:100%!important;top:0%!important;left:66.66%!important}.hallway-wall{pointer-events:none!important;z-index:1!important;transform-style:flat!important}.hallway-wall.left,.hallway-wall.right,.hallway-wall.back{pointer-events:none!important;z-index:1!important}}
:root{--wood-dark:#2b1810;--wood-medium:#2e1109;--wood-light:#49271e;--parchment:#cea268;--parchment-light:#f5e6d3;--leather-dark:#2c1810;--leather-medium:#703624;--leather-light:#a65d37;--gold-light:#f4d03f;--gold-dark:#b87333;--book-brown1:#3c2a21;--book-brown2:#513b2c;--book-brown3:#7d5a50;--book-red:#8b3a3a;--book-green:#4a5d4b;--book-blue:#394756;--book-burgundy:#6b4449;--shadow:#0000004d}.entrance-room{background:var(--wood-dark);perspective:1500px;perspective-origin:50%;min-height:100vh;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;pointer-events:auto;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.hallway{width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;pointer-events:auto;position:relative}.welcome-text{text-align:center;z-index:10;cursor:default;border-radius:10px;padding:2rem 3rem;position:absolute;top:-2%;left:50%;transform:translate(-50%)translateZ(-200px)}.welcome-text h1{letter-spacing:.1em;background:linear-gradient(45deg,#ffe5b4,#deb887,#ffe5b4);color:#0000;text-shadow:2px 2px 4px #0000004d,0 0 20px #deb88733;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-family:Cinzel,serif;font-size:clamp(2rem,5vw,4.5rem);font-weight:600}.welcome-text p{letter-spacing:.3em;color:#deb887;text-transform:uppercase;opacity:0;text-shadow:1px 1px 2px #00000080,0 0 15px #deb8874d;margin-top:.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,3vw,1.6rem);font-style:italic;font-weight:500;transition:all .5s;transform:translateY(-20px)}.welcome-text:hover p{opacity:.9;transform:translateY(0)}.hallway-wall{background:linear-gradient(#8b4513,#654321);border:4px solid sienna;position:absolute;box-shadow:inset 0 0 40px #0006,inset 0 0 100px #deb8871a;pointer-events:none!important;z-index:1!important}.hallway-wall.left{background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-size:100px 100px;width:2000px;top:-50%;bottom:-20%;left:-29.3%;transform:rotateY(88deg)translate(-1300px);pointer-events:none!important;z-index:1!important}.hallway-wall.right{background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-size:100px 100px;width:2000px;top:-50%;bottom:-20%;right:-29.3%;transform:rotateY(-88deg)translate(1300px);pointer-events:none!important;z-index:1!important}.hallway-wall.back{background-color:#0000;background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:100px 100px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;inset:-67% -9% -5%;transform:translateZ(-2000px);pointer-events:none!important;z-index:1!important}.hallway-ceiling{transform-origin:top;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#8b451380 1px,#0000 1px),linear-gradient(#8b451380 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:100px 100px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:4px solid sienna;height:2500px;position:absolute;top:-60%;left:-100%;right:-100%;transform:rotateX(-89deg);box-shadow:0 20px 40px #0006,inset 0 0 100px #0000004d}.hallway-floor{transform-origin:bottom;pointer-events:none;opacity:.8;background-color:#8b4513;background-image:linear-gradient(90deg,#deb887 1px,#0000 1px),linear-gradient(#deb887 1px,#0000 1px);background-size:100px 100px;height:2400px;position:absolute;bottom:0;left:-15%;right:-15%;transform:rotateX(89deg);box-shadow:0 -20px 40px #0003}@media (min-width:1920px){.entrance-room{perspective:2000px}.welcome-text{transform:translate(-50%)translateZ(-300px)}.welcome-text h1{font-size:clamp(3rem,6vw,6rem)}.welcome-text p{font-size:clamp(1.5rem,4vw,2rem)}}@media (min-width:2560px){.entrance-room{perspective:2500px}.welcome-text{transform:translate(-50%)translateZ(-400px)}}
