/* Continuous, tactile navigation. */
.brand{display:flex;align-items:center;justify-content:space-between;right:36px;gap:24px;pointer-events:none}
.brand>button,.room-nav{pointer-events:auto}
.room-nav{display:flex;gap:18px;align-items:center}
.room-nav button{font-size:11px;padding:9px 0;color:#75818b}
.room-nav button:hover{color:#a2617d}
body[data-scene=entrance] .room-nav{display:none}
#room-welcome{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;color:#71808b;transition:opacity .5s;pointer-events:none}
#room-welcome.leaving{opacity:0}
.object-area{z-index:4}
.object-area:hover{background:transparent;box-shadow:none}
.object-area span{color:#546573;font-size:12px;box-shadow:0 5px 24px #33445518;background:#fffffff2}
.object-feedback{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2;filter:brightness(1.16) drop-shadow(0 0 2px #bfd5e2);transition:opacity .22s;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.object-feedback.lit{opacity:1}
.room-model>.room-night{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none;z-index:1}
.room-model.is-night>.room-night{opacity:1}
.room-model.is-night>.object-feedback{display:none}
.lamp-area{z-index:6}
.single-shelf{width:min(760px,90vw);height:350px}
.all-books{height:285px;gap:20px;left:38px;right:38px}
.all-books .project-book{max-width:170px;min-width:70px}
.all-books .project-book:is(:hover,:focus-visible){flex:1.6 1 190px;transform:translateY(-13px)}
#shelf-view{background:linear-gradient(150deg,#fff 15%,#f4f7fa 65%,#f9efed)}
.shelf-backboard{background:linear-gradient(145deg,#fff,#f3f6f8);border-color:#e9e1d9;box-shadow:inset 0 10px 22px #7a64521a,0 22px 45px #7a645213}
.shelf-hint{bottom:12%}
.shared-cover{position:fixed;z-index:99;object-fit:contain;transform-origin:top left;pointer-events:none;box-shadow:0 10px 35px #313c5112}
.loading{display:flex;flex-direction:column;gap:18px;justify-content:center;align-items:center}
.loading-cover{max-width:60%;max-height:65%;object-fit:contain;opacity:.7}
#spatial-view{overflow:hidden;background:#f6f7f9}
.spatial-wall{position:absolute;inset:0;background:linear-gradient(155deg,#fff,#f5f1f3 55%,#e7eef4);pointer-events:none}
.drawing-stage{position:relative;width:100%;height:min(690px,calc(100svh - 145px));margin-top:95px;display:flex;flex-direction:column;align-items:center}
.scene-eyebrow{font:13px 'Songti SC',serif;letter-spacing:.12em;color:#74818d;margin:0 0 28px;text-align:center}
.drawing-track{position:relative;width:100%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y;cursor:grab;outline-offset:-5px!important}
.drawing-track.dragging{cursor:grabbing}
.drawing-card{position:absolute;display:flex;flex-direction:column;width:min(74vw,660px);height:95%;padding:18px;background:#fff;box-shadow:0 22px 45px #4052691c,2px 3px 1px #d4d7df;transition:transform .65s cubic-bezier(.2,.75,.2,1),opacity .4s;transform-origin:center center;user-select:none}
.drawing-track.dragging .drawing-card{transition:none}
.drawing-card>img{width:100%;height:calc(100% - 110px);min-height:0;object-fit:contain;pointer-events:none;background:#fafafa}
.drawing-caption{display:flex;flex-direction:column;gap:9px;text-align:left;padding:18px 8px 0}
.drawing-caption b{font:20px 'Songti SC',serif}
.drawing-caption>span{font-size:11px;line-height:1.7;color:#7b8490}
.drawing-caption small{font-size:10px;color:#a06f86}
.drawing-controls{display:flex;align-items:center;gap:30px;font-size:12px;padding:20px 0 0}
.drawing-controls button{font-size:22px;padding:4px 20px}
.drawing-controls button:disabled{opacity:.2;cursor:default}
.drag-hint{font-size:10px;color:#89939c;margin:12px 0}
#reading-view{background:linear-gradient(125deg,#faf7f5,#f2f5f9)}
.reading-content{width:min(1100px,94vw);padding:100px 20px 40px}
#reading-books{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.reading-book{width:150px;padding:0;transition:transform .3s}
.reading-book:hover{transform:translateY(-10px) rotate(-2deg)}
.reading-book img{width:100%;height:225px;object-fit:cover;box-shadow:5px 8px 22px #35455724}
.reading-book span{display:block;font-size:11px;line-height:1.5;margin-top:20px}
.room-model{container-type:inline-size}
.model>img{content-visibility:visible}
@media(max-width:700px){
 .brand{left:22px;right:22px;top:17px;display:block}
 .brand>button{font-size:22px}
 .room-nav{gap:0;justify-content:space-between;margin-top:10px;width:100%}
 .room-nav button{font-size:10px;padding:6px 0}
 .back-room{top:98px}
 .single-shelf{width:90vw;height:285px;margin:auto}
 .all-books{left:18px;right:18px;gap:10px;height:232px}
 .all-books .project-book{min-width:38px}
 .all-books .spine-title{font-size:13px}
 .all-books .book-cover{padding:5px;border-width:3px}
 .all-books .book-cover>span{font-size:11px}
 .shelf-scroll{padding:90px 0}
 .shelf-hint{bottom:16%}
 .desk-model{margin-top:40px}
 .drawing-stage{height:calc(100svh - 200px);margin-top:130px}
 .drawing-card{width:74vw;padding:12px;height:90%}
 .drawing-caption{padding:12px 2px 0;gap:6px}
 .drawing-caption b{font-size:16px}
 .drawing-caption>span{font-size:10px}
 .scene-eyebrow{font-size:12px;margin-bottom:12px}
 .reading-content{height:calc(100svh - 150px);overflow:auto;padding:20px 12px;margin-top:120px}
 #reading-books{gap:25px}
 .reading-book{width:125px}
 .reading-book img{height:190px}
 #room-welcome{bottom:80px;font-size:11px}
 .view-tools{bottom:25px}
}
@media(prefers-reduced-motion:reduce){.object-feedback,.room-night,.drawing-card,.reading-book{transition:none!important}}
