/* Upgraded shelf planes over the original two-story architecture. */
.room-viewport[data-space=grand]:has(.is-large-trial){height:calc(100dvh - 155px);max-height:none!important;scrollbar-width:none}
.room-viewport[data-space=grand] #room.is-large-trial{min-width:1420px!important;width:max(100%,1420px)!important}
.room[data-space=grand].is-large-trial .bookcase .shelf-row{left:13.04%!important;top:var(--large-row-top)!important;width:80%!important;height:var(--large-row-height)!important;padding:0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0!important;overflow:visible!important;border-radius:0;background:linear-gradient(#0007,transparent 35%),url('assets/shelf-wood-grain.svg'),var(--large-trial-wood)!important;background-size:100% 100%,400px 240px,100% 100%!important;box-shadow:inset 0 3px 6px #0007!important;container-type:inline-size;--shelf-edge-mid:var(--large-trial-wood);--shelf-edge-high:var(--large-trial-edge);--shelf-edge-dark:#211910;--grid-ledge:6px}
.room[data-space=grand].is-large-trial .large-trial-row::after{content:'';display:block!important;position:absolute;left:0;bottom:0;width:100%;height:6px;background:linear-gradient(var(--large-trial-edge),var(--large-trial-wood) 40%,#241b16);border-bottom:1px solid #241b16;pointer-events:none;z-index:3}
.is-large-trial .large-trial-row .library-grid-slot{height:100%;padding:3px 0 7px!important;border:0!important;box-shadow:none!important;background:none!important;min-width:0;display:flex;align-items:flex-end;justify-content:flex-start;box-sizing:border-box}
.room[data-space=grand].is-large-trial .large-trial-row .library-grid-book{display:block;position:relative;flex:none;height:var(--large-cover-height)!important;width:calc(var(--large-cover-height)*2/3)!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;border:0;border-radius:0;background:transparent;transform:none!important;box-shadow:none!important;overflow:visible!important}
.is-large-trial .large-trial-row .library-grid-jacket{width:100%;height:100%;aspect-ratio:2/3;transform:perspective(1600px) rotateY(20deg);transform-origin:left bottom;--book-depth:4px}
.is-large-trial .large-trial-row .library-grid-book:is(:hover,:focus-visible,.is-touch-preview){z-index:6}
.is-large-trial .large-trial-row .library-grid-book:is(:hover,:focus-visible,.is-touch-preview) .library-grid-jacket{transform:perspective(1600px) translateY(-7px) rotateY(4deg)}
.is-large-trial .large-trial-row .cover-art{width:100%!important;height:100%!important;aspect-ratio:2/3!important;transform:none!important}
.is-large-trial .large-trial-row .library-grid-book.is-cover-loading .library-grid-jacket{visibility:hidden}
.room[data-space=grand].is-large-trial .bookcase .shelf-heading{height:21px!important;top:3.2%!important;left:4%!important;width:92%!important;padding:3px 5px!important;background:#30291fea;border:1px solid #b39a67;border-radius:4px;color:#fff0ce;font:11px/14px Georgia,serif;opacity:1;cursor:zoom-in;text-overflow:ellipsis}
.room[data-space=grand].is-large-trial .user-shelf-decor{display:none!important}
.is-large-trial .bookcase{cursor:zoom-in}
.large-trial-closeup{width:min(860px,calc(100vw - 24px));max-width:860px;max-height:90dvh;padding:0;border:1px solid #bea675;border-radius:18px;background:#263b30;color:#fff0d3;overflow:auto;box-shadow:0 20px 80px #0009}
.large-trial-closeup::backdrop{background:#101c17b8;backdrop-filter:blur(5px)}
.large-trial-closeup header,.large-trial-closeup footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;background:#1c2c24}
.large-trial-closeup header{position:sticky;top:0;z-index:5}
.large-trial-closeup h2{margin:5px 0 0;font:24px Georgia,serif;color:inherit}.large-trial-closeup small{font-size:9px;letter-spacing:1.5px}
.large-trial-closeup button[data-large-case]{padding:10px;border:1px solid #bda87766;border-radius:8px;background:var(--large-close-bg,#354b3e);color:inherit;font:12px var(--sans)}
.large-trial-closeup button[data-large-case="close"]{min-width:40px;min-height:40px}
.large-trial-closeup>.shelving-tray{position:sticky;bottom:8px;left:auto;transform:none;width:100%;max-width:100%;box-sizing:border-box;margin-top:12px}
.large-trial-closeup button:disabled{opacity:.4}.large-trial-closeup button:focus-visible{outline:2px solid #efd69e;outline-offset:3px}
.large-trial-closeup-shelves{padding:14px 24px 24px}.large-trial-closeup-row h3{margin:18px 0 12px;font:12px var(--sans);color:#dfcfa7}
.large-trial-closeup-covers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding:0 8px 12px;border-bottom:10px ridge #a18050;background:linear-gradient(transparent,#0004)}
.large-trial-closeup .library-grid-slot{padding:0;border:0;background:none;box-shadow:none;min-width:0}.large-trial-closeup .library-grid-book{width:100%;max-width:115px;margin:auto;padding:0;border:0;background:transparent}.large-trial-closeup .library-grid-jacket{aspect-ratio:2/3;transform:perspective(1200px) rotateY(12deg)}
.large-trial-closeup-covers>p{grid-column:1/-1;font:13px/1.5 var(--sans);color:#d8d3be;padding:15px 0}
.large-trial-results{font:11px/1.6 var(--sans);color:inherit}
@media(max-width:760px){.room-viewport[data-space=grand]:has(.is-large-trial){height:calc(100dvh - 190px)}.large-trial-closeup-covers{gap:8px}.large-trial-closeup-shelves{padding:8px 12px 20px}.large-trial-closeup footer{padding:12px;gap:5px}.large-trial-closeup button[data-large-case]{padding:9px 7px;font-size:10px}}

.room[data-space=grand].is-large-trial .large-trial-row .library-grid-jacket{display:block!important;width:100%!important;height:100%!important;--book-depth:4px;transform:perspective(1600px) rotateY(20deg)!important}
.room[data-space=grand].is-large-trial .large-trial-row .library-grid-jacket>.cover-art{width:100%!important;height:100%!important;max-width:none!important;padding:0!important;border:0!important;outline:0!important;box-sizing:border-box!important;transform:translateZ(calc(var(--book-depth)/2))!important}
.room[data-space=grand].is-large-trial .large-trial-row .library-grid-book:is(:hover,:focus-visible,.is-touch-preview) .library-grid-jacket{transform:perspective(1600px) translateY(-7px) rotateY(4deg)!important}
.room[data-space=grand].is-large-trial .shelving-cart{left:57.5%;bottom:25.5%;width:clamp(100px,9%,135px)}
.large-trial-closeup .large-trial-closeup-shelves{background:var(--large-close-bg,#263b30);color:var(--large-close-ink,#fff0d3)}
.large-trial-closeup{background:var(--large-close-bg,#263b30)!important;color:var(--large-close-ink,#fff0d3)!important}
.large-trial-closeup header,.large-trial-closeup footer{background:var(--large-close-panel,#1c2c24);color:var(--large-close-ink,#fff0d3)}

.room[data-space=grand].is-large-trial .large-trial-row .library-grid-slot{position:absolute!important;left:calc(2px + var(--large-step)*var(--large-slot));bottom:0;width:calc(var(--large-cover-height)*2/3);height:100%}
.room[data-space=grand].is-large-trial .large-trial-row .library-grid-book{border:0!important}
.large-trial-floor-tools{display:flex;gap:2px}.large-trial-floor-tools[hidden]{display:none!important}
.large-trial-closeup .large-trial-closeup-row h3{color:inherit;opacity:.85}
.large-trial-navigation{display:flex;align-items:center;gap:2px}.large-trial-navigation[hidden],.large-trial-count[hidden],[data-large-fullview][hidden]{display:none!important}
.large-trial-navigation [data-large-current]{max-width:100px;overflow:hidden;text-overflow:ellipsis;font-size:10px}
.legacy-room-dock .large-trial-count{background:none;border:0;box-shadow:none;border-radius:0;padding:0;margin:0;color:var(--room-ui-ink,#fff1d3);text-shadow:0 1px 2px #000,0 0 5px #000;font-size:11px}
@media(min-width:761px){.app-shell[data-preview=desktop] .room-viewport[data-space=grand]:has(.is-large-trial){overflow-x:hidden!important}}
@media(min-width:761px){.app-shell[data-preview=desktop] .room-viewport[data-space=grand] #room.is-large-trial{width:100%!important;min-width:0!important}}
@media(max-width:760px){.large-trial-navigation [data-large-current]{display:none}.legacy-room-dock:has(.large-trial-navigation:not([hidden])) .trial-dock-bar{gap:0;padding-inline:4px}.legacy-room-dock:has(.large-trial-navigation:not([hidden])) .trial-dock-bar button{min-width:27px;padding-inline:4px}.large-trial-floor-tools{gap:0}.legacy-room-dock .large-trial-count{font-size:10px}}
.large-fullview-open{overflow:hidden!important}
.room-experience.is-large-fullview{position:fixed!important;inset:0!important;z-index:1000!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#1e2924}
.room-experience.is-large-fullview>#roomViewport{position:absolute!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important}
.room-experience.is-large-fullview>.legacy-room-dock{position:absolute!important;bottom:max(20px,env(safe-area-inset-bottom))!important}
.room-experience.is-large-fullview>.shelving-tray{bottom:100px!important}
.room-experience.is-large-fullview>:is(.app-room-navigation,.library-display-button,.library-controls-show,.library-controls,.studio-bar){display:none!important}
.app-shell.legacy-library-tools-active:has(#room.is-large-trial) #appAddBook{display:none!important}
@media(max-width:760px){.room[data-space=grand].is-large-trial .shelving-cart{left:55.5%;width:100px}.room[data-space=grand].is-large-trial .shelving-cart-label{max-width:135px}}
/* Fit both floors to the mobile viewport and let the wider room swipe naturally. */
@media(max-width:760px){
 .app-shell .room-viewport[data-space=grand]:has(.is-large-trial){container-type:size;overflow-x:auto!important;touch-action:pan-x pan-y pinch-zoom!important;overscroll-behavior-x:contain}
 .app-shell .room-viewport[data-space=grand] #room.is-large-trial{width:max(100%,87.5cqh)!important;min-width:0!important;height:auto!important;min-height:100%;aspect-ratio:7/8!important}
}
.app-shell:is(.phone-preview,.app-preview) .room-viewport[data-space=grand]:has(.is-large-trial){container-type:size;overflow-x:auto!important;touch-action:pan-x pan-y pinch-zoom!important;overscroll-behavior-x:contain}
.app-shell:is(.phone-preview,.app-preview) .room-viewport[data-space=grand] #room.is-large-trial{width:max(100%,87.5cqh)!important;min-width:0!important;height:auto!important;min-height:100%;aspect-ratio:7/8!important}
/* Keep the cart's wheels on the floor when the full room is scaled down. */
@media(max-width:1100px){.room[data-space=grand].is-large-trial .shelving-cart{bottom:11%}}
.app-shell:is(.phone-preview,.app-preview) .room[data-space=grand].is-large-trial .shelving-cart{bottom:11%}
/* Both cabinets left of the central windows share the painted frame alignment. */
.room[data-space=grand].is-large-trial .bookcase:is([data-bank="favorites"],[data-bank="gallery-favorites"]){left:28.4%!important}
.room[data-space=grand].is-large-trial .bookcase:is([data-bank="favorites"],[data-bank="gallery-favorites"]) .shelf-row{width:78%!important}
