/* A fitting room in the woods */
#room[data-view=profile]{width:min(900px,calc(100vw - 28px));color:#322d23;background:#fbf7ea;border:1px solid #cfba90;box-shadow:0 24px 90px #18281777}
#room[data-view=profile]::backdrop{background:#13201766;backdrop-filter:blur(2px)}
#room[data-view=profile] #roomBody{padding:0}
#room[data-view=profile] .dialog-head{position:absolute;right:8px;top:8px;min-height:0;padding:0;border:0;background:transparent;z-index:2}
#room[data-view=profile] :is(#roomCrumb,#back),#room.first-visit .dialog-head{display:none}
.mini-face canvas.custom-walker,.seat-avatar canvas.custom-walker{width:100%;height:100%;object-fit:cover;image-rendering:auto}
.seat-avatar{overflow:hidden}
.walker-studio{display:grid;grid-template-columns:47% 53%;gap:0;margin:0;min-height:465px}
.walker-portrait{position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;margin:0;min-width:0;background:#dcdfb6 url('/game/walker-glade.webp') center 58%/cover}
.walker-portrait[data-framing=outfit]::after{content:"";position:absolute;left:33%;right:33%;bottom:5%;height:4%;border-radius:50%;z-index:-1;background:#524f303a;filter:blur(6px)}
.walker-options-art{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:5px}
.walker-choice.walker-swatch{display:grid;justify-items:center;gap:0;overflow:hidden;padding:2px 2px 5px;background:#f6eedb;color:#514535;border:1px solid #d9cfb4;border-radius:9px;font-size:11px}
.walker-swatch canvas{display:block;width:100%;height:53px;object-fit:contain}
.walker-choice.walker-swatch[aria-pressed=true]{color:#284b38;border:2px solid #607751;padding:1px 1px 4px;background:#e1e8ce}
.walker-portrait canvas{align-self:end;touch-action:none;cursor:grab}.walker-portrait canvas:active{cursor:grabbing}
@media(max-width:650px){.walker-swatch canvas{height:38px}.walker-choice.walker-swatch{font-size:10px}}
.walker-portrait canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;filter:drop-shadow(0 2px 5px #4a36271f)}
.portrait-turns{position:absolute;inset:auto 12px 12px;display:flex;justify-content:space-between;pointer-events:none}.portrait-turn{pointer-events:auto;border:1px solid #f1eacf87;background:#254034cf;color:#fff5de;border-radius:50%;height:36px;width:36px;padding:0;font:24px/1 var(--serif)}
.walker-controls{padding:clamp(19px,3vw,34px);display:flex;flex-direction:column;gap:12px;min-width:0}
.walker-controls h2{font:600 clamp(25px,3.2vw,35px)/1.18 var(--serif);margin:0;color:#284635;word-break:keep-all;letter-spacing:-.045em}
.walker-controls .field{margin:0}.walker-controls input{margin-top:3px;border:1px solid #c9bda0;background:#fffdf6}
.walker-tabs{display:flex;border-bottom:1px solid #d3c9ac;gap:12px}.walker-tab{padding:6px 0;background:transparent;color:#6d735f;font-size:14px}.walker-tab[aria-pressed=true]{color:#304e3a;box-shadow:inset 0 -2px #49634d;font-weight:700}
.walker-fields{display:grid;gap:12px;margin-bottom:3px}
.walker-controls fieldset{min-width:0;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:5px}
.walker-controls legend{font-weight:650;font-size:12px;padding:0 0 5px;color:#555b48}
.walker-choice{display:inline-flex;align-items:center;gap:4px;border:1px solid #dcd4bd;border-radius:15px;color:#434a3a;background:transparent;font-size:12px;padding:6px 9px;min-height:32px;white-space:nowrap}.walker-choice[aria-pressed=true]{color:#fff8e9;background:#405b48;border-color:#405b48}
.walker-choice i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px #fffa}
.walker-submit{margin-top:auto;border:0;border-radius:9px;background:#34553f;color:#fff9e6;padding:12px;font-weight:700;font-size:15px;white-space:nowrap}
#room:is([data-view=reader],[data-view=clearing])[open]{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;color:#fff5dc;box-shadow:none}
#room:is([data-view=reader],[data-view=clearing])::backdrop{background:transparent;backdrop-filter:none}
#room:is([data-view=reader],[data-view=clearing]) .dialog-head{display:none}
#room:is([data-view=reader],[data-view=clearing]) #roomBody{position:relative;width:100%;height:100%;padding:0;overflow:hidden;background:linear-gradient(180deg,#18231341,transparent 22%,transparent 65%,#161e174a)}
html:has(#room:is([data-view=reader],[data-view=clearing])[open]) :is(.forest-header,.forest-toolbar,.forest-caption,#trailControls,#onTrail,#carryBar,.forest-shade,#leaveQuiet,.cafe-tag){visibility:hidden}
.seat-look{position:absolute;inset:0;touch-action:none;cursor:grab;outline-offset:-4px}.seat-look:active{cursor:grabbing}
.seat-head{position:absolute;top:max(14px,env(safe-area-inset-top));left:clamp(12px,3vw,48px);right:clamp(12px,3vw,48px);display:flex;align-items:center;gap:8px;pointer-events:none}
.seat-head>*{pointer-events:auto}.seat-head h2{margin:0 auto 0 0;color:#fff9e5;font:600 clamp(21px,2.5vw,34px)/1.3 var(--serif);text-shadow:0 2px 9px #1c2319}
.seat-head .sound-row{margin:0}.seat-head .quiet-sound,.seat-pill,.seat-turn,.seat-accent{border:1px solid #e6d7b775;border-radius:99px;padding:8px 13px;color:#fff6dd;background:#233225df;font:600 13px/1.4 var(--sans);box-shadow:0 2px 12px #1a221a25}.seat-accent{background:#eee4c9;color:#334635}
.seat-tools{flex-wrap:wrap;position:absolute;left:50%;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:6px;width:max-content;max-width:97%;z-index:2}
.seat-turns{position:absolute;top:43%;left:0;right:0;padding:0 clamp(10px,2vw,30px);display:flex;justify-content:space-between;pointer-events:none}
.seat-turn{pointer-events:auto;width:38px;height:38px;padding:0;font:22px/1 var(--serif);background:#22312595}
.seat-gestures[hidden],.seat-whisper[hidden]{display:none}.seat-gestures{padding:5px 0 10px}.gesture-recipient{width:auto;max-width:100%;margin:0 0 6px;background:transparent;color:#3e543d;border:0;border-bottom:1px solid #c3cdb7;font:600 13px var(--sans)}.gesture-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.seat-gesture{display:flex;align-items:center;justify-content:center;gap:5px;background:#e9ecde;color:#354934;border:1px solid #c6d0b9;padding:6px;border-radius:10px;font:600 13px var(--sans);cursor:pointer}.seat-gesture:hover,.seat-gesture:focus-visible{background:#dce6cf}.seat-gesture span{font-size:17px;color:#986659}.gesture-line p{color:#56663e}.seat-whisper{position:absolute;z-index:2;top:22%;left:50%;transform:translateX(-50%);max-width:min(420px,75vw);padding:9px 17px;border:1px solid #eadabc96;border-radius:16px;background:#fff6dfed;color:#354432;box-shadow:0 3px 15px #26302132;font:600 14px/1.45 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.seat-panel[open]~.seat-whisper{visibility:hidden}
#room :is(.seat-look~.seat-panel){position:absolute;right:clamp(12px,3vw,48px);top:66px;width:auto;max-width:min(330px,90vw);z-index:3;margin:0;border:1px solid #e1cfaa75;border-radius:18px;background:#25352bea;color:#fff5dd;font-size:13px}
#room .seat-look~.seat-panel:not([open]) summary{padding:7px 13px;color:#fff4d9}#room .seat-look~.seat-panel summary{color:#fff6df;background:#28382bf2;border-radius:18px}#room .seat-look~.seat-panel summary .seat-count{color:#eddfb8;background:none}.seat-look~.seat-panel[open]{width:min(330px,90vw);max-height:65dvh;overflow:auto}.seat-look~.seat-panel[open] .seat-inside{color:#354535;background:#faf6e8}
.lap-spread{position:absolute;left:50%;bottom:max(57px,calc(env(safe-area-inset-bottom) + 45px));transform:translateX(-50%);width:min(680px,83vw);max-height:42dvh;display:grid;grid-template-columns:.78fr 2fr;overflow:hidden;border:1px solid #aa8d62;border-bottom:4px double #ab986e;outline:3px solid #674538;border-radius:8px 16px 9px 10px;box-shadow:0 14px 25px #19231680;color:#373124;background:#f4ecd6}
.lap-spread{grid-template-rows:minmax(0,1fr)}.lap-text,.lap-front{min-height:0}.lap-spread.tools-open{height:min(540px,calc(100dvh - 128px));max-height:calc(100dvh - 128px)}.lap-text{scrollbar-gutter:stable;touch-action:pan-y}.leaf-write{padding:5px 0;color:#395c45;background:none;border:0;border-bottom:1px solid #a4b398;cursor:pointer;font-size:13px}
.lap-spread[hidden]{display:none}.lap-front{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;text-align:center;padding:clamp(6px,1.5vw,19px);background:linear-gradient(100deg,#f9f1dc,#efe3c6 82%,#c6b893);border-left:4px double #bbac8c}.lap-front img{max-height:13dvh;max-width:80%;object-fit:contain;box-shadow:1px 3px 8px #513c2860}.lap-bookname{font:650 clamp(13px,1.2vw,17px)/1.45 var(--serif);word-break:keep-all}.lap-front small{font-size:11px}
.lap-text{min-width:0;overflow:auto;overscroll-behavior:contain;padding:clamp(12px,1.85vw,25px);background:linear-gradient(90deg,#cabd9e,#efe6cf 4%,#fbf3df 15%,#f5ecd6 95%,#e5d7b9)}
.lap-text .reading-paper{padding:0;border:0;background:none;box-shadow:none;overflow:visible;border-radius:0}.lap-text .page-copy{padding:0;min-height:0;max-height:none;overflow:visible;background:transparent}.lap-text .page-copy h3{margin:5px 0 7px;font:650 clamp(18px,2vw,24px)/1.35 var(--serif)}.lap-text .page-copy p{font:400 clamp(14px,1.45vw,17px)/1.75 var(--serif);color:#3e3829;word-break:keep-all}
.lap-text .page-turn:empty{display:none}.lap-extras{margin-top:8px;border-top:1px solid #bbab81;padding-top:4px}.lap-extras summary{font-size:12px;color:#52624a;cursor:pointer;padding:4px 0}.lap-extras .reader-tabs{margin-top:6px}.lap-spread.enlarged{width:min(860px,91vw);max-height:68dvh}.lap-spread.enlarged .page-copy p{font-size:20px}
.preview-slip{width:min(480px,100%);max-height:min(450px,55dvh);overflow:auto;overscroll-behavior:contain;background:linear-gradient(100deg,#e8d8b5,#fff7df 8%,#f7ecd4);color:#3b3529;text-shadow:none;border:1px solid #ba9f71;border-radius:4px 14px 7px 4px;border-left:5px solid #926a46;box-shadow:2px 9px 30px #1d1b1777;padding:16px 21px}
.preview-slip button.enc-option{background:#f7efd9;border-color:#b6aa8d;color:#3b493a}.preview-slip h2{font:600 23px var(--serif);margin:12px 0;color:#324331}.preview-slip h3{font:650 15px/1.5 var(--serif);margin:8px 0 3px}.preview-slip p{margin:4px 0 10px;font:15px/1.7 var(--serif);word-break:keep-all}.preview-slip small{display:block;border-top:1px solid #cbbd9d;padding-top:8px;color:#686344;font-size:11px}
@media(max-width:650px){
 #room[data-view=profile]{width:min(430px,calc(100vw - 20px));max-height:95dvh;overflow:auto}
 .walker-studio{display:flex;flex-direction:column;min-height:0}.walker-controls{padding:14px 18px 16px;gap:9px}.walker-portrait{height:clamp(142px,26dvh,232px)}.walker-portrait canvas{width:100%;height:100%;}.walker-controls h2{font-size:25px}.walker-fields{gap:8px}.walker-choice{padding:5px 8px;min-height:31px}.walker-controls input{min-height:34px}.walker-submit{padding:10px}

 .seat-head{gap:4px}.seat-head h2{font-size:21px}.seat-pill,.seat-accent,.seat-head .quiet-sound{padding:7px 9px;font-size:12px}.seat-turns{top:39%}
 .lap-spread{width:92vw;max-height:41dvh;grid-template-columns:.63fr 2fr}.lap-front{padding:8px}.lap-text{padding:12px}.lap-text .page-copy p{font-size:14px;line-height:1.67}.lap-front img{max-height:86px}.lap-bookname{font-size:12px}.lap-front small{font-size:10px}.seat-tools{gap:4px}
 .preview-slip{max-height:53dvh;padding:12px 15px}
}
.forest-notebook{width:min(540px,93vw);max-height:85dvh;overflow:auto;overscroll-behavior:contain;padding:clamp(18px,4vw,32px);border:1px solid #9a8665;border-radius:7px 15px 14px 7px;background:#f8f2e5;color:#373125;box-shadow:0 14px 50px #1b251c6b}.forest-notebook::backdrop{background:#17231e58}.notebook-head,.notebook-foot{display:flex;align-items:center;gap:10px;justify-content:space-between}.notebook-head h2{margin:0;font:600 26px var(--serif)}.notebook-context{font-size:12px;color:#62694d}.notebook-prompt{display:block;margin:15px 0 10px;font:600 19px/1.5 var(--serif)}.notebook-page textarea{width:100%;box-sizing:border-box;background:repeating-linear-gradient(transparent,transparent 31px,#cbbfa7 32px);border:0;padding:3px 6px;color:#363829;line-height:32px;font:inherit;line-height:32px;resize:vertical;min-height:90px;max-height:40dvh}.notebook-foot{margin-top:16px;flex-wrap:wrap}.notebook-foot small{margin-right:auto;color:#546747}.notebook-row{display:grid;text-align:left;gap:6px;border:0;border-bottom:1px solid #d8ccb4;padding:12px 3px;width:100%;background:transparent}.notebook-row small{color:#667658}
@media(max-width:520px){
 .seat-head{flex-wrap:wrap;align-items:center;gap:4px}.seat-head h2{flex:0 0 100%;font-size:20px;white-space:nowrap}.seat-head :is(.quiet-sound,.seat-pill){white-space:nowrap;padding:5px 9px}
 #room .seat-look~.seat-panel:not([open]){top:max(11px,env(safe-area-inset-top))}#room .seat-look~.seat-panel[open]{top:max(81px,calc(env(safe-area-inset-top) + 72px));width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 164px)}
 .seat-panel[open] summary{position:sticky;top:0;z-index:1}.seat-person{align-items:center}.seat-whisper{max-width:85vw}
}
@media(max-height:450px){.lap-spread{max-height:43dvh}.lap-front img{display:none}.walker-controls{gap:5px;padding:10px}.seat-turns{top:33%}}

/* Keep the panel title (and its close toggle) in view while the conversation scrolls. */
.seat-look~.seat-panel[open] summary{position:sticky;top:0;z-index:2}
