.bnb-page #reading-room{width:min(860px,calc(100% - 24px));padding:clamp(20px,4vw,42px);max-height:92dvh}
#reading-room [hidden]{display:none!important}
#reading-room .reading-room-close{display:block;position:sticky;top:0;z-index:2;margin-left:auto;background:#151c17;color:var(--gold);border:0;padding:12px;font:1rem/1.4 var(--sans);min-height:44px;cursor:pointer}
.reading-room-scene{display:block;width:100%;border:0;padding:0;position:relative;cursor:pointer;background:#0d120f}
.reading-room-scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.reading-room-scene span{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);padding:12px 20px;background:#101a13ed;color:#f0e8d9;border:1px solid #d0ad7480;font:1rem/1.4 var(--sans);white-space:nowrap}
.reading-book-choice{display:flex;gap:22px;align-items:center;margin:24px 0}.reading-book-choice img{width:85px;height:auto}.reading-book-choice .button{white-space:normal}
#reading-room .reading-small{font:1rem/1.6 var(--sans);color:#bbc0b8}
#reading-room .reading-room-excerpt{max-width:620px;margin:2rem auto;font:1.2rem/1.85 var(--serif)}
#reading-room .reading-room-excerpt p{font:inherit;margin:0 0 1.3em;color:#ede8dc;overflow-wrap:break-word}
#reading-room .reading-room-end{border-top:1px solid #d0ad7433;padding-top:24px;margin-top:2rem}
#reading-room .reading-room-end .button{white-space:normal}
#reading-room .reading-room-back{border:0;background:none;color:var(--gold);font:1rem/1.5 var(--sans);padding:12px 0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:5px;display:block;margin-top:1rem}

/* Grief room: keep scene coordinates stable on every screen. */
.bnb-page #reading-room{width:min(1100px,calc(100% - 24px))}
.reading-grief-scene{position:relative;width:100%;isolation:isolate}
.reading-grief-scene>img{display:block;width:100%;height:auto;aspect-ratio:4/3}
#reading-room .reading-object-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%)}
.reading-object-links{display:flex;gap:8px 20px;flex-wrap:wrap;margin:16px 0 24px}
.reading-object-links button{border:0;border-bottom:1px solid #d0ad7455;background:none;color:var(--gold);font:1rem/1.5 var(--sans);min-height:44px;padding:8px 0;cursor:pointer}
.bnb-page #reading-object-dialog{width:min(720px,calc(100% - 24px));padding:clamp(16px,4vw,32px);max-height:92dvh;background:#151c17;color:#ede8dc;border:1px solid #d0ad7466}
#reading-object-dialog::backdrop{background:#050a08b8}
#reading-object-dialog .reading-room-close{display:block;margin-left:auto;padding:12px;border:0;background:#151c17;color:var(--gold);font:1rem/1.4 var(--sans);min-height:44px;cursor:pointer}
.reading-object-detail{position:relative;overflow:hidden;aspect-ratio:1/1;width:100%;background:#0d120f}
.reading-object-detail img{position:absolute;width:var(--detail-width);max-width:none;height:auto;left:var(--detail-left);top:var(--detail-top)}
@media(max-width:600px){#reading-room h2{font-size:2rem}.reading-object-links{gap:4px 16px}.reading-object-links button{font-size:.9375rem}}

#reading-object-dialog[data-has-story] .reading-object-detail{width:min(240px,100%);margin:0 auto 24px}
#reading-object-dialog[data-has-story] .reading-object-detail[data-portrait]{width:min(340px,100%);aspect-ratio:auto}
.reading-object-detail[data-portrait] img{position:static;display:block;width:100%;height:auto}
#reading-object-dialog [data-reading-object-text]{max-width:620px;margin:24px auto 0}
#reading-object-dialog [data-reading-object-text] p{font:1.2rem/1.8 var(--serif);color:#ede8dc;margin:0 0 1.25em;overflow-wrap:break-word;white-space:pre-line}
#reading-object-dialog [data-reading-object-text] .reading-object-credit{font:1rem/1.5 var(--sans);color:#bbc0b8;margin-top:2rem}

.reading-walk-enter{margin-top:20px}
.bnb-page #reading-walk-room{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#0b110e;color:#f0e8d9;box-sizing:border-box}
#reading-walk-room button,#reading-walk-room summary{min-height:44px;padding:10px 12px;border:1px solid #d0ad7466;border-radius:4px;background:#111a14ed;color:#e4c58d;font:1rem/1.4 var(--sans);cursor:pointer}
#reading-walk-room button:focus-visible,#reading-walk-room summary:focus-visible{outline:2px solid #f6dcaa;outline-offset:3px}
.reading-walk-header{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 36px;background:linear-gradient(#07100de8,transparent);pointer-events:none}
#reading-walk-room .reading-walk-header h2{font:1.6rem/1.2 var(--serif);margin:8px 0;color:#f0e8d9}
.reading-walk-header div{display:flex;gap:8px;pointer-events:auto}
.reading-walk-stage,.reading-walk-stage canvas,[data-walk-pins]{position:absolute;inset:0;width:100%;height:100%}
.reading-walk-stage canvas{display:block;touch-action:none;cursor:grab;outline-offset:-4px}
.reading-walk-stage canvas:active{cursor:grabbing}
[data-walk-pins]{pointer-events:none}
#reading-walk-room .reading-walk-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}
#reading-walk-room [hidden]{display:none!important}
.reading-walk-controls{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:5px;padding:6px;background:#0b130fed;border-radius:5px}
#reading-walk-room .reading-walk-controls button{width:46px;font-size:1.3rem;touch-action:none;user-select:none;-webkit-user-select:none}
.reading-walk-help{position:absolute;z-index:4;left:16px;bottom:calc(124px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);background:#111a14f2;max-height:60dvh;overflow:auto;border-radius:4px}
.reading-walk-help[open]{width:380px;border:1px solid #d0ad7466;padding:0 12px 12px}
.reading-walk-help p{font:1rem/1.5 var(--sans);color:#ede8dc}
.reading-walk-help nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
#reading-walk-room [data-walk-status]{position:absolute;bottom:calc(74px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);margin:0;padding:6px 12px;background:#0b130fd9;border-radius:4px;color:#e5ddcd;font: .875rem/1.4 var(--sans);text-align:center;pointer-events:none}
@media(max-width:600px){.reading-walk-header{padding-left:12px;padding-right:12px}.reading-walk-header div{flex-direction:column;gap:5px}#reading-walk-room .reading-walk-header h2{font-size:1.4rem}.reading-walk-help{left:12px}.reading-walk-controls{gap:3px}#reading-walk-room .reading-walk-controls button{width:44px;padding:8px}}
@media(max-height:500px){.reading-walk-help{bottom:100px;max-height:55dvh}.reading-walk-header div{flex-direction:row}#reading-walk-room [data-walk-status]{display:none}}

#reading-object-dialog .reading-object-detail[data-portrait]{aspect-ratio:3/4}
#reading-walk-room [data-walk-status][hidden]{display:none}
#reading-walk-room .reading-walk-help{bottom:calc(94px + env(safe-area-inset-bottom))}

#reading-walk-room [data-walk-status][data-error]{display:block}
#reading-walk-room .reading-walk-controls button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}

/* Keep the panorama controls within narrow screens and large text settings. */
.reading-walk-controls{width:min(330px,calc(100% - 24px));box-sizing:border-box;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.reading-walk-controls button{width:100%!important;min-width:0;padding-left:2px!important;padding-right:2px!important}
.reading-walk-header h2{min-width:0;overflow-wrap:anywhere}.reading-walk-header div{max-width:55%;min-width:0}
.reading-walk-header button{white-space:normal;overflow-wrap:anywhere}
#workshop-walk-room[data-loading] [data-walk-status]{display:block}
#workshop-walk-room .reading-walk-controls,#sneakers-walk-room .reading-walk-controls{bottom:max(12px,env(safe-area-inset-bottom))}
.bnb-page .workshop-flat,.bnb-page .sneakers-flat{box-sizing:border-box;overflow-wrap:anywhere}
#reading-object-dialog .reading-room-close{position:sticky;top:0;z-index:2}
