/* Five equal destinations; one icon and one label per destination. */
.studio-footer{
 --dock-surface:#10191eea;--dock-border:#e9ddc729;--dock-text:#e9e4db;
 --dock-muted:#a8afad;--dock-gold:#f1c796;
 position:fixed;inset:auto 24px max(24px,env(safe-area-inset-bottom));z-index:6;
 width:min(620px,calc(100% - 48px));margin-inline:auto;display:block;
}
.studio-footer .studio-dock{
 position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;
 width:100%;padding:5px;border:1px solid var(--dock-border);border-radius:16px;
 background:linear-gradient(180deg,#26313938,transparent 60%),var(--dock-surface);
 box-shadow:0 12px 36px #0005,inset 0 1px #ffffff0b;
 backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);isolation:isolate;
}
.studio-footer .studio-dock:before{content:'';position:absolute;top:-1px;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,#e9d8b34a,transparent);pointer-events:none}
.studio-footer .dock-item{
 position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
 gap:6px;min-width:0;min-height:60px;padding:8px 4px;border:0;border-radius:11px;
 color:var(--dock-muted);background:transparent;font:400 13px/1.25 Outfit,system-ui,sans-serif;
 text-align:center;cursor:pointer;transition:color .18s ease,background .18s ease;
}
.studio-footer .dock-item:after{display:none}
.studio-footer .dock-item:not(:last-child):before{content:'';position:absolute;right:-3px;top:18px;bottom:18px;width:1px;background:#e9ddc710;pointer-events:none}
.studio-footer .dock-item:hover{color:var(--dock-text);background:#ffffff04}
.studio-footer .dock-item:focus-visible{outline:2px solid var(--dock-gold);outline-offset:2px;color:var(--dock-text)}
.studio-footer .dock-item.active{color:var(--dock-gold);background:transparent}
.studio-footer .dock-icon{display:block;width:19px;height:19px;flex:0 0 19px;color:inherit;transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.studio-footer .dock-item:hover .dock-icon{transform:translateY(-2px)}
.studio-footer .dock-item:active .dock-icon{transform:translateY(0) scale(.94)}
.studio-footer .dock-copy{display:block;min-width:0}
.studio-footer .dock-title{display:block;color:var(--dock-text);font-size:11px;font-weight:500;white-space:nowrap;letter-spacing:.05px}
.studio-footer .dock-title-short{display:none}
.studio-footer .dock-item.active .dock-title{color:var(--dock-gold)}
.studio-footer .dock-selection{position:absolute;top:0;left:0;z-index:0;pointer-events:none;border-radius:11px;border:1px solid #e7ba8052;background:linear-gradient(135deg,#d2a16c20,#c58a4610);box-shadow:inset 0 1px #f5c99314;will-change:transform,width}
.studio-footer .dock-active-mark{position:absolute;right:8px;top:7px;width:3px;height:3px;border-radius:50%;background:var(--dock-gold);opacity:0;transition:opacity .18s ease}
.studio-footer .dock-item.active .dock-active-mark{opacity:1}
.studio-footer .footer-hint{position:absolute;left:50%;bottom:calc(100% + 15px);transform:translateX(-50%);margin:0;white-space:nowrap;font-size:11px;letter-spacing:.1px;color:#c1c3bf;text-shadow:0 1px 8px #000;pointer-events:none}
body:not([data-section=home]) .studio-footer .footer-hint{display:none}
@media(max-width:660px){
 .studio-footer{inset:auto 12px max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px)}
 .studio-footer .studio-dock{padding:5px;gap:2px;border-radius:16px}
 .studio-footer .dock-item{min-height:52px;gap:5px;padding:7px 2px;border-radius:11px}
 .studio-footer .dock-title{font-size:11px}.studio-footer .dock-title-full{display:none}.studio-footer .dock-title-short{display:block}
 .studio-footer .dock-icon{width:18px;height:18px;flex-basis:18px}
 .studio-footer .dock-selection{border-radius:11px}.studio-footer .dock-active-mark{right:7px;top:7px;width:3px;height:3px}
 .studio-footer .footer-hint{display:none}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 .studio-footer{inset:auto max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));width:min(520px,calc(100% - 24px))}
 .studio-footer .studio-dock{padding:3px;gap:2px;border-radius:10px}
 .studio-footer .dock-item{min-height:40px;padding:4px 2px;gap:3px;border-radius:8px}
 .studio-footer .dock-icon{width:16px;height:16px;flex-basis:16px}
 .studio-footer .dock-title{font-size:9px}.studio-footer .dock-title-full{display:block}.studio-footer .dock-title-short{display:none}
 .studio-footer .dock-selection{border-radius:10px}.studio-footer .footer-hint{display:none}
 .studio-footer .dock-active-mark{right:7px;top:7px;width:3px;height:3px}
}
@media(orientation:landscape) and (max-width:660px){.studio-footer .dock-title-full{display:none}.studio-footer .dock-title-short{display:block}.studio-footer .dock-title{font-size:10px}}
@media(prefers-reduced-motion:reduce){.studio-footer .dock-icon,.studio-footer .dock-item,.studio-footer .dock-active-mark{transition:none}.studio-footer .dock-item:hover .dock-icon{transform:none}}

.studio-footer .dock-item:not(:last-child):before{display:none}
.studio-footer .dock-selection{border-color:#e7ba8035;background:linear-gradient(135deg,#d2a16c15,#c58a4608);box-shadow:none}

/* The project reader lives over the room only while a shelf volume is open. */







#book-reader{position:fixed;left:50%;top:clamp(72px,12vh,120px);bottom:clamp(92px,15vh,148px);width:min(920px,88vw);transform:translateX(-50%);z-index:5;overflow:auto;border:1px solid #e7c49a30;border-radius:12px;background:linear-gradient(145deg,#1b2021f2,#111719f5);box-shadow:0 28px 90px #0009,0 1px #fff1 inset;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
#book-reader[hidden]{display:none}
#book-reader #close-volume{position:absolute;right:12px;top:12px;z-index:5;width:36px;height:36px;border:1px solid #e8d8c42e;border-radius:50%;background:#11191dcc;color:#eee8dc;font-size:23px;line-height:1;cursor:pointer}
#book-reader #close-volume:hover{background:#fff1;color:#f1c796}
#book-reader .reader-controls{display:flex;align-items:center;justify-content:center;gap:22px;padding:6px 16px 12px;color:#d6cbbc;font:11px/1 Outfit,system-ui,sans-serif}
#book-reader .reader-controls button{width:38px;height:34px;border:1px solid #e8d8c429;border-radius:9px;background:#ffffff08;color:#eee8dc;font-size:18px;cursor:pointer}
#book-reader .reader-controls button:hover:not(:disabled){border-color:#e3b17c77;color:#f1c796}
#book-reader .reader-controls button:disabled{opacity:.35;cursor:default}
#book-reader .reader-controls span{min-width:110px;text-align:center}
#book-reader #book-react-root{height:calc(100% - 185px);min-height:240px;padding:20px 30px 0;box-sizing:border-box}
#book-reader #book-text{max-width:700px;margin:0 auto;padding:6px 30px 22px}
#book-reader-status{font-size:11px;color:#bea789;text-align:center;padding:0 24px}
#book-reader-status:empty{display:none}
#book-paper-preview{display:flex;align-items:center;justify-content:center;padding:24px 32px 4px;min-height:180px;height:calc(100% - 250px);gap:1px;box-sizing:border-box}
#book-paper-preview img{height:100%;max-width:49%;object-fit:contain;box-shadow:0 4px 18px #0007}
#book-paper-preview img:only-child{max-width:70%}
#book-reader:has(#book-paper-preview:not([hidden])) #book-text{padding-top:6px}
#book-reader:has(#book-paper-preview:not([hidden])) #book-text p:not(.book-stack){display:none}
@media(max-width:700px){#book-reader{top:72px;bottom:82px;width:calc(100vw - 24px);border-radius:10px}#book-reader #book-react-root{height:calc(100% - 190px);min-height:190px;padding:16px 12px 0}#book-reader #book-text{padding:6px 18px 18px}#book-paper-preview{height:calc(100% - 245px);min-height:150px;padding:20px 12px 4px}}
@media(orientation:landscape) and (max-height:600px){#book-reader{top:56px;bottom:70px;width:min(850px,88vw)}#book-reader #book-react-root{height:calc(100% - 150px);min-height:140px;padding:10px 18px 0}#book-reader #book-text{padding:2px 20px 12px}#book-reader .reader-controls{padding:2px 10px 8px}#book-paper-preview{min-height:110px;height:calc(100% - 215px);padding:12px 20px 2px}}

#return-to-shelf{position:fixed;z-index:8;left:75%;top:42%;transform:translateX(-50%);padding:10px 18px;border:1px solid #e8b67b66;border-radius:999px;background:#171512ed;color:#f3cea0;font:500 13px/1.2 Outfit,system-ui,sans-serif;box-shadow:0 4px 20px #0005;cursor:pointer;white-space:nowrap;backdrop-filter:blur(12px)}
#return-to-shelf[hidden]{display:none}
#return-to-shelf:hover{background:#372719;border-color:#ffc486}
#return-to-shelf:focus-visible{outline:2px solid #ffc486;outline-offset:4px}
@media(max-height:600px){#return-to-shelf{padding:8px 14px;font-size:11px}}
