.cafe-encounter[data-volume=open] .enc-panel{inset:14% 0 5%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;perspective:1300px}.cafe-encounter[data-volume=open] :is(.enc-tools,.shelf-targets){visibility:hidden}.shelf-volume{position:relative;width:min(680px,91vw);height:min(350px,55dvh);background:#78583a;border:3px solid #70533a;border-bottom:6px solid #7d6948;border-radius:6px 15px 12px 6px;box-shadow:1px 12px 25px #16201891;color:#393323;perspective:1200px;text-shadow:none;transform-origin:67% 50%}.shelf-pages{display:grid;grid-template-columns:1fr 1.25fr;height:100%}.shelf-left,.shelf-right{min-width:0;overflow:auto;padding:clamp(14px,3vw,36px);overscroll-behavior:contain;word-break:keep-all}.shelf-left{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(95deg,#f6ecd0,#f5ebd2 84%,#c6b394);border-radius:4px 0 0 4px}.shelf-right{background:linear-gradient(90deg,#cdc0a0,#f8eed6 9%,#fbf4df 90%,#ede0c1);border-radius:0 12px 8px 0}.shelf-volume h2,.shelf-volume h3{color:#3d3c2b;font:600 clamp(18px,2.2vw,28px)/1.4 var(--serif);margin:6px 0}.shelf-volume h2{font-size:clamp(23px,3vw,36px)}.shelf-volume p{font:400 clamp(14px,1.5vw,17px)/1.7 var(--serif);margin:6px 0 12px}.shelf-volume small{color:#6c694e}.shelf-flycover,.shelf-turnleaf{position:absolute;top:0;bottom:0;left:44.45%;right:0;transform-origin:left center;backface-visibility:hidden;border-radius:0 9px 8px 0;pointer-events:none}.shelf-flycover img{width:100%;height:100%;object-fit:fill;border-radius:inherit}.shelf-turnleaf{background:linear-gradient(90deg,#cab894,#f8f0d9 9%,#e5d7b4);border:1px solid #bfad87}.volume-actions,.volume-pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.volume-pager{justify-content:space-between}.volume-pager .enc-option{color:#425338;border:0;background:none;padding:6px 3px}.volume-pager button:disabled{opacity:.35}
@media(max-width:600px){.shelf-pages{grid-template-columns:.8fr 1.5fr}.shelf-left,.shelf-right{padding:12px}.shelf-left small{font-size:10px}.shelf-left h2{font-size:19px}.shelf-flycover,.shelf-turnleaf{left:34.8%}.volume-actions .enc-option,.volume-actions .enc-solid{padding:7px 10px}}
/* Leave the camera and the bookshop visible throughout an encounter. */
.cafe-encounter[open]{position:fixed;inset:0;margin:0;padding:0;display:block;width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff7e2;overflow:hidden;isolation:isolate}
.cafe-encounter::backdrop{background:transparent;backdrop-filter:none}
.cafe-encounter::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#171c174f,transparent 16%,transparent 74%,#151c16a8)}
.cafe-encounter[data-mode=keeper]::before{background:linear-gradient(90deg,transparent 28%,#201c1426 48%,#1c1c16c7 82%),linear-gradient(0deg,#191c1695,transparent 30%)}
html[data-encounter] :is(.forest-header,.forest-toolbar,.forest-caption,#trailControls,#onTrail,#trailNames,#carryBar,.forest-shade,#leaveQuiet){visibility:hidden}
.enc-top{position:absolute;inset:max(18px,env(safe-area-inset-top)) clamp(16px,4vw,60px) auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}
.enc-top>*{pointer-events:auto}
.cafe-encounter button,.enc-search summary{color:inherit;font:600 14px/1.4 var(--sans);letter-spacing:-.025em}
.enc-back,.enc-tools>.enc-option,.enc-search summary,.enc-pages{background:#202a21df;border:1px solid #e6d7b77a;border-radius:100px;box-shadow:0 2px 12px #121d132c}
.enc-back,.enc-tools>.enc-option,.enc-search summary{padding:9px 16px}
.enc-tools{display:flex;align-items:center;gap:8px}
.enc-panel{position:absolute;bottom:max(5vh,env(safe-area-inset-bottom));left:clamp(20px,5vw,88px);right:clamp(20px,5vw,88px);pointer-events:none;text-shadow:0 2px 12px #18150ee6}
.enc-panel>*{pointer-events:auto}
.enc-kicker,.enc-speaker small{display:block;font:600 12px/1.5 var(--sans);letter-spacing:.065em;color:#f1d7a3}
.enc-title{font:500 clamp(24px,3vw,42px)/1.22 var(--serif);letter-spacing:-.06em;margin:4px 0 8px;color:inherit;word-break:keep-all}
.enc-hint{margin:0;line-height:1.6;font-size:14px}
.enc-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.enc-options .enc-option,.enc-solid{border:1px solid #ecd5a77d;border-radius:24px;padding:8px 15px;color:#fff7dd;background:#263025d9}
.enc-options .enc-option:hover,.enc-option:focus-visible{background:#42513a}
.enc-options .enc-solid{color:#283325;background:#f7e7bd;border-color:#ffebb7;text-shadow:none}
.enc-options .enc-credit{font-size:12px;color:#f6e8c7;margin-inline:4px;text-decoration:underline;text-underline-offset:3px}
.carried-cover{width:24px;height:34px;object-fit:contain;flex:none;transform:rotate(-5deg);filter:drop-shadow(1px 2px 2px #101c13a6)}
.shelf-targets{position:absolute;inset:0;pointer-events:none}
.shelf-target{position:absolute;pointer-events:auto;background:transparent;border:0;border-radius:2px;padding:0;min-width:0;min-height:0;cursor:grab;color:transparent}
.shelf-target:hover,.shelf-target:focus-visible{background:transparent;outline:2px solid #ffeeaaa6;outline-offset:2px;box-shadow:0 0 15px #ffdc792c}
.shelf-target[aria-pressed=true]:not(:focus-visible){outline:none;box-shadow:none}
.shelf-target[hidden]{display:none}
.enc-search{position:relative}.enc-search summary{cursor:pointer;list-style:none}.enc-search summary::-webkit-details-marker{display:none}
.enc-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px;position:absolute;right:0;top:calc(100% + 8px);width:min(290px,82vw);background:#283329f5;border:1px solid #c5b18585;border-radius:12px}
.enc-filters input{grid-column:1/-1}.enc-filters input,.enc-filters select{font:14px var(--sans);color:#2e3d32;background:#f7f2e4;min-width:0}.enc-filters .enc-option{grid-column:1/-1;background:transparent;color:#e9d6b7;padding:4px;text-align:left}
.enc-pages{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:9px;padding:2px 5px;text-shadow:none}
.enc-pages button{font-size:25px;padding:0 12px;background:transparent;color:#fff1d0}.enc-pages span{font-size:12px}.enc-pages button:disabled{opacity:.32}
.cafe-encounter[data-mode=shelf]::before{background:linear-gradient(180deg,#1d231947,transparent 15%,transparent 68%,#142018c9 96%)}
.cafe-encounter[data-mode=shelf] .enc-title{max-width:75%}
.cafe-encounter[data-mode=keeper] .enc-panel{left:53%;right:7%;bottom:clamp(38px,13vh,142px);max-height:72dvh;overflow:auto;scrollbar-width:thin;scrollbar-color:#bbaa76 transparent}
.enc-speaker{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.enc-speaker small{border-left:2px solid #e0b571;padding-left:10px}
.enc-speaker strong{font:600 24px/1.3 var(--serif);color:#fff4d4}
.enc-dialogue{font:500 clamp(18px,2vw,29px)/1.64 var(--serif);color:#fff9e9;letter-spacing:-.035em;word-break:keep-all;margin:0}
.enc-panel form.enc-reply{display:flex;flex-direction:row;align-items:center;gap:6px;padding:5px 6px 5px 17px;margin:18px 0 0;border:1px solid #e2d0a877;border-radius:26px;background:#202820ed}
.enc-reply input{width:100%;min-width:0;min-height:32px;margin:0;padding:2px;border:0;outline:0;border-radius:0;background:transparent;color:#fff5db;font:15px/1.5 var(--sans);box-shadow:none}
.enc-reply:focus-within{outline:2px solid #f2d499}.enc-reply input::placeholder{color:#e1dac8}
.enc-reply button{flex:none;padding:7px 13px;background:#d8c693;color:#263427;border-radius:22px}
@media(max-width:700px),(max-aspect-ratio:10/11){
 .cafe-encounter[data-mode=keeper]::before{background:linear-gradient(0deg,#172219f5 0%,#172018e3 21%,#1c2018ac 41%,transparent 70%)}
 .cafe-encounter[data-mode=keeper] .enc-panel{left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));max-height:51dvh}
 .enc-dialogue{font-size:18px;line-height:1.5}.enc-speaker{margin-bottom:5px}.enc-speaker strong{font-size:21px}.enc-options{gap:5px;margin-top:9px}
 .enc-options .enc-option,.enc-options .enc-solid{font-size:12px;padding:7px 10px}.enc-panel form.enc-reply{margin-top:10px}
 .enc-panel{bottom:max(18px,env(safe-area-inset-bottom));left:16px;right:16px}
 .cafe-encounter[data-mode=shelf] .enc-title{font-size:23px;max-width:calc(100% - 40px)}
 .enc-pages{position:static;display:inline-flex;margin-top:7px}.enc-hint{font-size:12px}
}
@media(max-height:500px) and (min-aspect-ratio:11/10){
 .cafe-encounter[data-mode=keeper] .enc-panel{bottom:12px;max-height:81dvh;left:48%;right:4%}.enc-dialogue{font-size:16px}.enc-speaker{margin:0}.enc-options,.enc-panel form.enc-reply{margin-top:6px}.enc-panel{bottom:10px}.enc-hint{display:none}
}

.enc-pages button{font-size:14px;font-weight:600;padding:9px 13px}
