/* Shared controls and book presentation; no content-specific coordinates. */
.site-language{position:relative;display:inline-block;font:17px/1.4 system-ui,sans-serif;color:inherit;z-index:40;max-width:100%;text-align:start}
.site-language summary{list-style:none;display:flex;gap:9px;align-items:center;min-height:48px;padding:8px 12px;cursor:pointer;white-space:nowrap}
.site-language summary::-webkit-details-marker{display:none}
.site-language summary svg{fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
.site-language summary:focus-visible{outline:3px solid #5996b4;outline-offset:2px}
.language-panel{position:absolute;inset-inline-end:0;top:100%;width:320px;max-width:calc(100vw - 32px);padding:18px;background:#f8ecd5;color:#382818;border:1px solid #b69a69;box-shadow:0 8px 22px #160d0960;z-index:50}
.language-panel label{display:grid;gap:8px;font-size:15px}
.language-panel input{width:100%;min-height:44px;padding:10px;border:1px solid #a78b60;background:#fff8e9;color:#382818;font:16px system-ui}
.language-panel ul{margin:12px 0 0;padding:0;list-style:none;max-height:320px;overflow:auto}
.language-panel li[hidden]{display:none}
.language-panel button{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 12px;text-align:start;min-height:52px;padding:10px 6px;font:17px system-ui;border-bottom:1px solid #ccb78e}
.language-panel button small{font-size:12px;color:#6f593b}
.language-panel [aria-pressed=true]{background:#ddcfaa;box-shadow:inset 3px 0 #6d7144}
.translation-note{font:14px/1.7 system-ui;background:#f6e8ca;color:#594326;padding:10px 6%;border-bottom:1px solid #b39b71;overflow-wrap:break-word}
.translation-note span{display:inline-block;margin-inline:10px}
.entry-language{position:absolute;inset-block-start:15px;inset-inline-end:5%;z-index:45;color:#fff0cf}
.site-header{gap:20px;height:auto;flex-wrap:wrap}
.site-header nav{gap:12px}
.site-header nav>a{font-size:18px;padding-inline-start:14px}
.reader-site .site-header,.learning-site .site-header{height:auto;min-height:72px;gap:15px}
.learning-site .activity-paper>.site-language{display:block;width:max-content;margin:8px auto 14px}
.hall-bottom .site-language span{width:auto;margin:0}
.hardcover{position:relative;display:inline-flex;flex-shrink:0;align-items:stretch;justify-content:center;width:max-content;max-width:100%;padding:3px 7px 4px 12px;background:#45452f;border-radius:3px 2px 2px 3px;box-shadow:2px 2px #283121,4px 5px 8px #170e0b70;isolation:isolate}
.hardcover .real-cover{position:relative;display:block;height:100%;width:auto;max-width:100%;object-fit:contain;filter:none}
.book-spine{position:absolute;left:0;top:1px;bottom:0;width:12px;background:linear-gradient(90deg,#252b20,#777753 32%,#464a31 72%,#1e241b 85%,#93906a);border-radius:3px 0 0 3px;box-shadow:inset 0 1px #b0a8788a}
.book-page-edges{position:absolute;right:1px;top:6px;bottom:5px;width:5px;background:repeating-linear-gradient(#ece2c5 0 2px,#b4a883 2px 3px);border-right:1px solid #666244}
.room-scene{direction:ltr}
.positioned-book{left:calc(13.15% + var(--col)*19.3%);width:17.8%;height:29%;top:calc(20.5% + var(--row)*31.2%);gap:0}
.positioned-book .book-cover-link{display:flex;width:100%;height:80%;align-items:flex-end;justify-content:center;filter:none}
.positioned-book .hardcover{height:100%;max-width:85%;filter:drop-shadow(0 4px 2px #100b08b0)}
.positioned-book .shelf-label{position:absolute;top:calc(80% + 4px);left:0;width:100%;min-height:0;margin:0;padding:6px 12px;display:flex;gap:4px;flex-direction:column;justify-content:center;color:#342719;background:linear-gradient(110deg,#c8b079,#e0cea0 45%,#bfa16b);border:1px solid #816438;outline:1px solid #eee0bc80;outline-offset:-4px;border-radius:2px;box-shadow:0 2px 3px #1b10085c;font-size:clamp(12px,.95vw,17px);line-height:1.2;text-align:center}
.shelf-label strong{display:block;font:inherit;font-weight:500;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.shelf-label .shelf-languages{display:block;font:12px/1.2 system-ui,sans-serif;white-space:normal;overflow-wrap:anywhere}
.positioned-book .shelf-label{font-size:clamp(12px,.87vw,15px);line-height:1.12;padding:3px 12px;gap:2px;background:linear-gradient(115deg,#ac8b51,#d1bc83 42%,#b3975e);border-color:#70522c}
.shelf-label .shelf-languages{font-size:10.5px;line-height:1.15}
.shelf-label::before,.shelf-label::after{content:'';position:absolute;top:50%;width:3px;height:3px;border-radius:50%;background:#74542e;box-shadow:0 1px #e8d6a7}
.shelf-label::before{left:5px}.shelf-label::after{right:5px}
.flow-shelf .room-scene{max-height:260px}
.flow-shelf .positioned-book{display:none}
.flow-shelf .mobile-books{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;padding:35px 6%;color:#f2dfba}
.flow-shelf .mobile-books article{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
.flow-shelf .mobile-cover-link{height:260px;max-width:85%}.flow-shelf .mobile-cover-link .hardcover{height:100%}
.flow-shelf .mobile-book-label{width:100%;display:flex;flex-direction:column;gap:10px;text-align:center;background:#c8ae77;color:#382719;padding:15px;border:1px solid #806238;overflow-wrap:anywhere;line-height:1.5}
.flow-shelf .mobile-book-label strong{font-size:20px;font-weight:400}
.book-cover-link:focus-visible{outline:3px solid #ffe6ad;outline-offset:5px}
.book-cover-link:hover .hardcover{filter:brightness(1.04) drop-shadow(0 4px 2px #100b08b0)}
.actual-detail{padding:25px 6% 50px;direction:inherit}
.actual-detail .detail-top{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:35px;align-items:center}
.actual-detail .real-cover-stage{background:none;min-height:0;padding:35px 20px;overflow:visible}
.actual-detail .real-cover-stage .hardcover{height:clamp(340px,36vw,580px);max-width:100%;box-shadow:4px 4px #303323,8px 12px 16px #150e0780}
.actual-detail .real-cover-stage .real-cover{max-height:none}
.actual-detail .book-details{padding:30px;gap:18px;min-width:0}
.actual-detail .book-details h1{font-size:clamp(30px,3vw,48px);line-height:1.22;overflow-wrap:break-word;word-break:normal}
.actual-detail .book-summary{white-space:pre-line;line-height:1.8;word-break:keep-all;overflow-wrap:break-word}
.actual-detail .alternate-title{font-size:18px;color:#715a3d}
.actual-detail .metadata{display:flex;flex-wrap:wrap;gap:18px;padding:16px 0;border-color:#bda67970}
.actual-detail .metadata>div{padding:0;border:0!important;flex:1 1 200px}
.actual-detail .metadata dt{font-size:18px}.actual-detail .metadata dd{font-size:16px;line-height:1.6}
.actual-detail .detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0}
.actual-detail .detail-actions .button{min-width:min(100%,220px);width:auto}
.actual-detail .detail-bottom{display:flex;flex-wrap:wrap}.actual-detail .detail-bottom>section{flex:1 1 300px}
.book-grid .hardcover{height:260px;max-width:100%;margin-bottom:20px}
.book-grid .hardcover .real-cover{height:100%;margin:0;width:auto}
.reader-ending{max-width:1050px;margin:28px auto 10px;padding:28px;background:#f3e4c8;color:#392818;border:1px solid #b89c6d;text-align:center}
.reader-ending h2{font-size:28px;margin-bottom:12px}.reader-ending p{font-size:18px;line-height:1.7}
.ending-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin:18px 0}
.reader-ending>.button{margin-top:12px}.reader-ending .button{white-space:normal;overflow-wrap:break-word}
/* The book is a physical left/right spread, independent of interface direction.
   Each text block carries its own language and direction. */
.reader-site .reading-spread,.reader-site .page-navigation{direction:ltr}
.reader-site .passage[lang|=ar],.reader-site .passage[lang|=he]{direction:rtl}
[dir=rtl] .book-details,[dir=rtl] .room-controls,[dir=rtl] .reader-ending{direction:rtl;text-align:start}
[dir=rtl] .passage[lang|=en],[dir=rtl] .passage[lang|=ko]{direction:ltr;text-align:start}
[dir=rtl] .activity-paper .scene-cards,[dir=rtl] .activity-paper .scene-slots,[dir=rtl] .draw-workspace{direction:ltr}
.creation-writing,.creative-writing,[data-response]{unicode-bidi:plaintext}
@media(max-width:1100px){.positioned-book .shelf-label{padding:5px 8px;font-size:12px}.shelf-label .shelf-languages{font-size:10px}.site-header{padding-inline:4%}.site-header .wordmark{width:200px}.site-header nav>a{font-size:16px}.actual-detail .detail-top{gap:15px}.actual-detail .book-details{padding:23px}}
@media(max-width:900px){
 .actual-detail .detail-top{grid-template-columns:1fr}.actual-detail .real-cover-stage{padding:20px}.actual-detail .real-cover-stage .hardcover{height:360px;max-width:90%}
 .reader-site .site-header{padding:12px 18px}.reader-site .site-header nav{gap:8px}
 .site-header nav{justify-content:flex-end;flex-wrap:wrap;flex:1 1 200px}
 .reader-ending{padding:22px 18px}
}
@media(max-width:700px){
 .site-header{padding:12px 18px}.site-header nav{gap:8px}.site-header nav>a{font-size:15px;padding-inline-start:9px}
 .site-language{font-size:16px}.site-language summary{padding:8px;gap:6px}
 .language-panel{position:fixed;top:85px;inset-inline:16px;width:auto;max-width:none;max-height:calc(100svh - 110px);overflow:auto}
 .mobile-books{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 20px}
 .mobile-books article{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0}
 .mobile-books .mobile-cover-link{height:270px;max-width:85%}.mobile-cover-link .hardcover{height:100%;max-width:100%}
 .mobile-books .mobile-book-label{display:flex;flex-direction:column;gap:10px;padding:16px 22px;border:1px solid #a68a58;background:#d2bd8a;color:#322519;text-align:center;width:100%;max-width:360px}
 .mobile-book-label strong{font-size:22px;font-weight:400;line-height:1.35;overflow-wrap:anywhere}
 .mobile-book-label .shelf-languages{font-size:14px;line-height:1.5}
 .room-controls{flex-wrap:wrap;gap:8px}.room-controls label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
 .actual-detail{padding:18px 18px 35px}.actual-detail .book-details{padding:22px}.actual-detail .detail-actions .button{width:100%}
 .actual-detail .book-details h1{font-size:30px}.actual-detail .book-details>p{font-size:18px}
 .actual-detail .real-cover-stage .hardcover{height:330px}
 .book-grid .hardcover{height:270px}
}

/* Page art and reading order are independent of interface direction. */
.reading-spread .spread-content{direction:ltr}.passage[dir=rtl]{direction:rtl;text-align:start}.passage[dir=ltr]{direction:ltr;text-align:start}.passage-body,.book-summary,.creation-writing{overflow-wrap:anywhere}.language-panel{max-width:calc(100vw - 28px)}.language-panel button{min-height:44px;text-align:start}.language-panel small{white-space:normal}.language-panel [lang]{unicode-bidi:isolate}.activity-paper textarea,.creation-writing{unicode-bidi:plaintext}.reader-toolbar{flex-wrap:wrap}.companion-select select{max-width:100%}
