/* The room is the entire interface. */
html,body{height:100%;overflow:hidden;background:#b2a080}body{height:100dvh}#main{height:100dvh}footer{display:none}.library{height:100dvh;min-height:0;max-height:none;width:100%;overflow:clip}.library:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 120px #30231944;background:radial-gradient(ellipse at 48% 45%,transparent 48%,#3c2a191a)}
.topbar{position:fixed;top:22px;left:28px;right:28px;height:40px;margin:0;border:0;z-index:12;justify-content:flex-start;gap:18px}.brand{font:500 11px var(--serif);letter-spacing:3px;gap:9px;color:#57482f;text-shadow:0 1px #f8e4bd77}.brand svg{width:27px;stroke:#675536}.topbar nav{display:flex;gap:7px;margin:0 0 0 5px;font-size:16px}.topbar nav button{width:30px;height:30px;border:1px solid #8474524d;border-radius:50%;color:#6c5b3c}.topbar nav #about-button{font:italic 17px var(--serif)}.header-actions{margin-left:auto;gap:13px;color:#5b4d32}.share-button{border:0;padding:9px;font-size:9px}.share-button span{margin-left:8px}.sound-button{font-size:9px;gap:8px}.sound-bars i{background:#675f42}.intro{position:static;display:contents;pointer-events:none}.intro #tour-button{position:absolute;bottom:24px;left:28px;z-index:9;pointer-events:auto;background:#5e4931cc;border:1px solid #ccb68888;border-radius:2px;color:#e7d7af;padding:10px 15px;font-size:9px;letter-spacing:1px;box-shadow:0 3px 9px #24170b22}.intro #tour-button span{margin-left:18px}.room-wrap{position:absolute;inset:0;width:100%;height:100%;mask-image:none;overflow:visible}.room{inset:0;transform-origin:53% 48%}.wall{bottom:17%;background:radial-gradient(ellipse at 30% 46%,#e0cda8,#c6b28b 80%);box-shadow:inset 0 10px 90px #64503d55}.wall-panel{top:62%;bottom:17%;border-top:7px ridge #a2916c;background:repeating-linear-gradient(90deg,#b3a17c 0,#b3a17c 3px,#bdab86 5px,#bdab86 98px,#a6936e 101px)}.arched-window{left:5%;top:15%;width:16%;height:45%;border-width:11px;border-radius:160px 160px 0 0;box-shadow:0 0 0 6px #c5b28b,8px 8px 15px #503c2b40}.window-light{left:13%;top:46%;width:52%;height:52%;background:linear-gradient(125deg,#ffedb840,transparent);z-index:1}.bookcase{left:27%;top:10%;width:53%;height:74%;filter:drop-shadow(15px 20px 18px #2d1d1144)}.case-crown{height:24px}.case-side{width:23px}.deco-row.upper{left:5%;right:5%;gap:4px}.deco-book:after{font-size:10px}.collection-label{font-size:7px;letter-spacing:2.5px}.collection-label span{font-size:6px}.featured-books{left:6%;right:6%;gap:8px;top:34%;height:28%}.book{width:15%;flex-shrink:0}.book .cover-title{font-size:clamp(12px,1.36vw,22px);top:55%;left:6px;right:6px}.book .cover-icon{width:34px;height:34px;top:27%}.book-number{top:24px;font-size:9px}.book .cover-bottom{font-size:5px;letter-spacing:1px;bottom:21px}.book:before{inset:11px 7px}.book:after{top:17px;bottom:16px;left:7px;right:7px}.book-tooltip{bottom:-46px;font-size:10px;letter-spacing:0}.cabinet-label{font-size:6px;padding:4px 10px}.wall-picture{right:5%;top:23%;width:10%;height:22%;border-width:9px}.wall-picture span{font-size:70px}.wall-picture small{font-size:6px;letter-spacing:2px}.plant{left:7%;top:48%;width:13%;height:37%}.lamp{left:20%;top:48%;width:10%;height:34%}.lamp-glow{background:radial-gradient(#ffd2775c,transparent 65%)}.desk{left:5%;top:79%;width:31%;height:24%;z-index:8}.desk-top{height:19%}.desk-book{height:24%;width:43%;top:-11%;right:14%}.cup{width:38px;height:35px;left:26%;top:-19%}.floor{top:83%;bottom:-50%;left:-30%;right:-30%;background:repeating-linear-gradient(0deg,#82633f66 0,#82633f66 1px,transparent 2px,transparent 43px),repeating-linear-gradient(90deg,#af9470 0,#af9470 132px,#92714b 134px,#b99d78 136px,#b99d78 270px,#95714c 272px)}.rug{left:26%;right:13%;top:86%;height:30%;border-width:16px;background:repeating-linear-gradient(45deg,#80574744 0,#80574744 1px,transparent 1px,transparent 6px),#a37b5c;border-color:#9b7052}.scene-caption{left:50%;bottom:24px;transform:translateX(-50%);font:italic 17px var(--serif);letter-spacing:.3px;color:#6d5736;opacity:.8;z-index:9}.motion-button{right:28px;bottom:25px;font-size:9px;color:#6d5736}.cat{position:fixed;top:auto;bottom:36px;width:112px;height:96px;z-index:16}.chat-panel{bottom:105px;background:#f3e8ce}.tour-panel{bottom:90px;left:20%;right:20%;padding:18px 24px;max-width:760px;background:#e6d7b8f5;border-color:#ad956c;box-shadow:0 10px 60px #28190866}.tour-panel .eyebrow{font-size:7px}.tour-panel h2{font-size:27px}.tour-panel p:last-child{display:none}.touring .intro{opacity:1}.touring .intro #tour-button{opacity:0;pointer-events:none}.touring .room-wrap{z-index:4}.tour-controls .primary-button{background:#695638;border-color:#695638}.reading-chair{position:absolute;right:3%;top:65%;width:16%;height:31%;z-index:8;filter:drop-shadow(9px 12px 9px #33201144);pointer-events:none}.reading-chair svg{width:100%;height:100%}
@media(min-width:1700px){.bookcase{left:27%;width:52%;top:10%;height:74%}.book .cover-title{font-size:24px}.book .cover-icon{width:42px;height:42px}.book .cover-bottom{font-size:7px}.book-number{font-size:11px;top:28px}}
@media(max-width:1000px) and (min-width:761px){.bookcase{left:23%;width:62%}.arched-window{left:2%;width:17%}.wall-picture{right:1%;width:10%}.book .cover-title{font-size:16px}.featured-books{gap:5px}.book .cover-icon{width:27px;height:27px}.book .cover-bottom{font-size:4px}.reading-chair{right:0;width:17%}.tour-panel{left:10%;right:10%}}
@media(max-width:760px){.topbar{top:18px;left:19px;right:17px;height:32px;gap:6px}.brand{font-size:9px;letter-spacing:2px;gap:7px}.brand svg{width:23px}.topbar nav{gap:5px;margin-left:8px}.topbar nav button{width:25px;height:25px;font-size:14px}.topbar nav #about-button{font-size:15px}.header-actions{gap:2px}.sound-button{width:27px;height:30px;justify-content:center}.sound-button #sound-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.share-button{font-size:0;padding:5px}.share-button span{font-size:17px;margin:0}.library{height:100dvh;min-height:0;max-height:none;overflow:clip}.intro #tour-button{left:18px;bottom:21px;padding:9px 11px;font-size:8px}.intro #tour-button span{margin-left:9px}.room-wrap{inset:0;left:0;right:0;top:0;bottom:0;height:100%;width:100%;mask-image:none}.room{transform-origin:50% 50%}.bookcase{left:6%;width:88%;top:17%;height:63%}.case-side{width:15px}.case-crown{height:20px}.featured-books{top:34%;height:28%;left:6%;right:6%;gap:4px}.book{width:15%}.book .cover-title{font-size:clamp(9px,2.8vw,14px);left:3px;right:3px;top:55%;letter-spacing:-.3px}.book .cover-icon{width:22px;height:22px;top:28%}.book-number{font-size:7px;top:21px}.book .cover-bottom{font-size:3px;letter-spacing:.3px;bottom:17px}.book:before{inset:8px 4px}.book:after{top:13px;bottom:12px;left:4px;right:4px}.collection-label{top:29%;font-size:5px;letter-spacing:1.5px;left:7%;right:7%}.collection-label span{font-size:5px}.book-tooltip{font-size:8px;bottom:-38px}.arched-window{left:-25%;width:44%;top:18%;height:43%}.plant{left:-9%;top:55%;width:24%;height:29%}.lamp{left:-4%;top:59%;width:24%;height:28%}.desk{left:-12%;top:83%;width:58%;height:22%}.desk-book{width:47%;top:-10%}.cup{left:23%;width:27px;height:27px;top:-16%}.wall-picture{right:-11%;top:27%;width:17%;height:20%;border-width:6px}.wall-picture span{font-size:35px}.wall-panel{top:61%;bottom:18%}.wall{bottom:18%}.floor{top:80%;bottom:-50%}.rug{top:87%;left:15%;right:8%;height:21%;border-width:10px}.reading-chair{right:-8%;top:75%;width:31%;height:22%;opacity:.95}.scene-caption{bottom:24px;font-size:14px;left:54%}.motion-button{right:17px;bottom:23px;font-size:8px}.cat{position:fixed;top:auto;bottom:47px;width:88px;height:80px}.tour-panel{left:6%;right:6%;bottom:112px;padding:16px 19px}.tour-panel h2{font-size:26px}.touring .cat{display:block}.tour-controls{margin-top:11px}.library:after{box-shadow:inset 0 0 65px #30231944}.chat-panel{bottom:95px}}
@media(max-height:600px) and (min-width:761px){.bookcase{top:11%;height:72%}.book .cover-title{font-size:14px}.book .cover-icon{width:23px;height:23px}.book-number{top:16px;font-size:7px}.book .cover-bottom{bottom:14px;font-size:4px}.book:before{inset:7px 5px}.book:after{top:12px;bottom:11px}}

/* Selected achievements are engraved above the shelves. */
.library-highlights{position:absolute;z-index:9;top:16px;left:29%;right:20%;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;color:#625030;text-align:center}.library-highlights li{min-width:0}.library-highlights button{padding:0 4px;width:100%;text-align:center;color:inherit}.library-highlights strong{display:block;font:500 26px/1.15 var(--serif);letter-spacing:-.6px;text-shadow:0 1px #f0dfbd88}.library-highlights span{display:block;font:7px/1.4 var(--sans);letter-spacing:.45px;margin-top:3px;opacity:.85}.library-highlights button:hover{color:#3d452d}.library-highlights li+li{border-left:1px solid #947b4940}.library-highlights button:focus-visible{outline-offset:3px}
@media(min-width:761px) and (max-width:1100px){.library-highlights{left:34%;right:16%;gap:5px;top:18px}.library-highlights strong{font-size:23px}.library-highlights span{font-size:6px;letter-spacing:.2px}}
@media(max-width:760px){.library-highlights{top:73px;left:18px;right:18px;gap:8px}.library-highlights strong{font-size:22px}.library-highlights span{font-size:6px;letter-spacing:0;max-width:75px;margin:3px auto 0;line-height:1.45}.library-highlights button{padding:0 2px}.bookcase{top:max(145px,17dvh);height:calc(80dvh - max(145px,17dvh))}}
@media(max-width:760px) and (max-height:700px){.book .cover-bottom{display:none}.book-number{top:13px;font-size:6px}.book .cover-icon{width:18px;height:18px}.book .cover-title{font-size:10px;top:57%}.book:before{inset:7px 3px}.book:after{top:11px;bottom:11px}}
@media(max-height:600px) and (min-width:761px){.library-highlights{top:10px}.library-highlights strong{font-size:20px}.library-highlights span{font-size:6px}}
.topbar{pointer-events:none}.topbar a,.topbar button{pointer-events:auto}.library-highlights{color:#51432c}.library-highlights span{font-size:8.5px;opacity:.95}
@media(min-width:761px) and (max-width:1100px){.library-highlights span{font-size:7px}}
@media(max-width:760px){.library-highlights span{font-size:8px;max-width:77px;line-height:1.35}}
@media(max-height:600px) and (min-width:761px){.library-highlights span{font-size:7px}}
