.game-stage{height:min(760px,calc(100vh - 185px));min-height:520px;grid-template-rows:minmax(0,1fr);align-items:stretch}
.game-stage>.player-panel{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#61543d transparent}
.conversation-panel{align-self:stretch;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;overflow:hidden;padding:20px 22px}
.conversation-panel .scene-context{margin:0 0 12px;padding:9px 12px;font-size:12px;line-height:1.45}
.conversation-panel .transcript{align-content:start;min-height:0;max-height:none;margin:0;padding:4px 10px 14px 2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#61543d transparent}
.conversation-panel .transcript::-webkit-scrollbar{width:8px}
.conversation-panel .transcript::-webkit-scrollbar-track{background:transparent}
.conversation-panel .transcript::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:10px;background:#61543d;background-clip:padding-box}
.conversation-panel .turn{max-width:min(88%,760px)}
.conversation-panel .opening-turn,.conversation-panel .narrator-turn{justify-self:start;background:rgba(18,22,27,.88);border:1px solid #38414b;font:16px/1.7 Georgia,serif}
.conversation-panel .opening-turn{border-color:#574b36;background:rgba(31,28,22,.9)}
.conversation-panel .prompt-row{margin-top:8px;border-top:1px solid var(--line)}
.conversation-panel .question{margin:10px 0 7px}
.conversation-panel .composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.conversation-panel .composer textarea{min-height:76px;max-height:180px;margin:0;resize:vertical}
.conversation-panel .composer>button{min-width:92px;height:44px}
.typing-turn{min-width:132px}
.typing-dots{display:flex;align-items:center;gap:6px;height:24px;padding:3px 2px}
.typing-dots i{width:7px;height:7px;border-radius:50%;background:#c9ad72;animation:living-books-dot 1.2s infinite ease-in-out}
.typing-dots i:nth-child(2){animation-delay:.15s}
.typing-dots i:nth-child(3){animation-delay:.3s}
@keyframes living-books-dot{0%,60%,100%{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.typing-dots i{animation:none;opacity:.72}}
@media(max-width:760px){.game-stage{height:auto;min-height:0;grid-template-rows:auto}.conversation-panel{min-height:68vh;padding:16px}.conversation-panel .transcript{min-height:42vh}.conversation-panel .composer{grid-template-columns:1fr}.conversation-panel .composer>button{width:100%}.conversation-panel .turn{max-width:94%}}
.book-landing{position:relative;isolation:isolate;overflow:hidden;min-height:520px;display:grid;place-items:center;border:1px solid #3b424b;border-radius:18px;background:#121519;padding:32px}.book-landing:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--scene);background-size:cover;background-position:center;filter:blur(10px) brightness(.32);transform:scale(1.06)}.book-landing-card{width:min(620px,100%);padding:30px;border:1px solid #50442f;border-radius:16px;background:rgba(13,17,21,.94);box-shadow:0 24px 70px #000}.book-landing-card h2{font:600 30px Georgia,serif;margin:5px 0 12px}.book-landing-card>p{color:#c1c8cf}.landing-meta,.landing-status{color:var(--muted);margin-top:12px}.landing-status{padding:11px;border:1px solid #343b44;border-radius:9px}.landing-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.danger-soft{border-color:#71413d;color:#e6b2ac}.starting-equipment{margin:20px 0;padding:15px;border:1px solid #4d4230;border-radius:12px;background:rgba(15,18,21,.78)}.starting-equipment h3{margin:0 0 8px;font:600 18px Georgia,serif}.starting-equipment fieldset label{display:flex;gap:8px;margin:5px}.starting-equipment input{width:auto}.load-save{width:100%;margin-top:8px}
