/* Sophia roomstage: one inhabited panorama, one immediately available action. */
body.retreat-designed { --room-ink:#f4f0e4; --room-muted:#d4d8c9; --room-ground:#19251e; --retreat-paper:#f4f1e8; background:#eeeae1; color:#293c31; scrollbar-color:#8a9783 #eeeae1; }
.retreat-designed ::selection { background:#d0d7b8; color:#17271c; }
.retreat-designed input,.retreat-designed textarea { caret-color:#597148; }
.retreat-designed a { text-underline-offset:4px; }
.retreat-designed :focus-visible { outline:2px solid #8e9d71; outline-offset:5px; }
.retreat-designed .app-shell { position:relative; max-width:1800px; padding:0 40px; }
.retreat-designed .header { height:88px; border-bottom:1px solid #a6b09e50; padding:0 6px; }
.retreat-designed .brand>span { color:#293e31; font-size:36px; }
.retreat-designed .brand img { width:30px; height:30px; }
body.retreat-designed.stay-designed .header .sh-nav { border:0; background:transparent; border-radius:0; gap:14px; padding:5px; }
.retreat-designed .header .sh-nav button { min-height:44px; color:#53624c; font-size:14px; padding:11px 23px; background:none; box-shadow:none; border-radius:6px; }
.retreat-designed .header .sh-nav button[aria-current] { color:#263e2c; }
.retreat-designed .stay-nav-indicator { background:#61724b18; border-radius:6px; box-shadow:none; }
.retreat-designed .host-button { color:#344a37; background:none; border:1px solid #9cab9355; border-radius:6px; min-height:42px; }
.retreat-designed #sophia-home { display:block; padding:0; }
.retreat-designed #sophia-home[hidden],.retreat-designed #focus-page>.workspace { display:none!important; }
.retreat-designed .retreat-heading,.retreat-designed .retreat-checkin { display:none; }
/* The header belongs to the room; working pages retain a paper shell. */
body.retreat-designed.roomstage { background:var(--room-ground); color:var(--room-ink); }
.retreat-designed.roomstage .app-shell { max-width:1800px; padding:0; }
.retreat-designed.roomstage .header { position:absolute; inset:0 0 auto; z-index:12; height:100px; padding:0 5.4%; border:0; color:var(--room-ink); background:linear-gradient(#15241de8,#15241d20,transparent); }
.retreat-designed.roomstage .brand>span { color:var(--room-ink); font-size:38px; }
.retreat-designed.roomstage .header .sh-nav button { color:#eeeee0; }
.retreat-designed.roomstage .header .sh-nav button[aria-current] { color:#fff9e9; }
.retreat-designed.roomstage .stay-nav-indicator { background:#ecebdd1a; border:1px solid #f4f1d81c; }
.retreat-designed.roomstage .host-button { color:#f4f0e4; border-color:#eeeed455; background:#1a2b2166; }
.retreat-designed.roomstage :focus-visible { outline-color:#e5d6a9; }
.retreat-designed #sophia-home .sanctuary-home-scene { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; position:relative; isolation:isolate; min-height:clamp(700px,calc(100svh - 120px),960px); padding:340px 5.4% 58px; margin:0; border:0; border-radius:0; box-shadow:none; overflow:hidden; background:#19251e; }
.retreat-designed #sophia-home .sanctuary-home-scene .sh-window { position:absolute; inset:0; width:100%; height:100%; min-height:0; max-height:none; margin:0; border:0; border-radius:0; box-shadow:none; overflow:hidden; }
.retreat-designed #sophia-home .sh-scenery { width:100%; height:100%; object-fit:cover; object-position:50% 62%; transition:none; }
.retreat-designed #sophia-home .sh-veil { background:linear-gradient(0deg,#19251e 0%,#19251ed9 12%,#19251e85 30%,transparent 62%),linear-gradient(90deg,#15251d6b,transparent 67%); }
.retreat-designed #sophia-home .sh-next { position:relative; z-index:3; inset:auto; display:flex; flex-direction:column; width:min(560px,54%); max-width:none; min-height:0; padding:0; margin:0; border:0; border-radius:0; box-shadow:none; background:none; color:var(--room-ink); pointer-events:auto; }
.retreat-designed #sophia-home .sh-next h2 { font:400 clamp(36px,3.6vw,54px)/1.4 var(--sh-serif); letter-spacing:-.025em; color:#f6f1e2; margin:22px 0 14px; max-width:8em; text-wrap:balance; overflow-wrap:anywhere; }
.retreat-designed #sophia-home.has-long-intention .sh-next h2 { font-size:34px; line-height:1.5; }
.retreat-designed #sophia-home .sh-next #sh-step { font-size:14px; line-height:1.9; color:#d8dccd; margin:0; max-width:31em; }
.retreat-designed #sophia-home .sh-modes { position:relative; display:flex; align-self:flex-start; width:auto; gap:24px; border:0; border-radius:0; padding:0 0 8px; background:none; backdrop-filter:none; }
.retreat-designed #sophia-home .sh-modes button { background:transparent!important; color:#d1d6c8; padding:8px 2px; font-size:13px; border-radius:0; min-height:42px; box-shadow:none!important; }
.retreat-designed #sophia-home .sh-modes button[aria-pressed=true] { color:#fff8e6!important; }
.retreat-mode-line { position:absolute; bottom:1px; left:0; height:1px; width:30px; background:#ebdcb3; pointer-events:none; }
.retreat-designed #sophia-home .sh-start-row { display:flex; flex-direction:row-reverse; align-items:stretch; align-self:flex-start; gap:12px; width:min(368px,100%); margin-top:28px; border:0; border-radius:0; overflow:visible; }
.retreat-designed #sophia-home .sh-primary { flex:1; min-width:0; min-height:56px!important; padding:15px 24px; border:0; border-radius:8px; background:#eee8d5; color:#233629; font-size:14px; font-weight:600; box-shadow:0 5px 18px #0b130e33; transition:background .2s,transform .2s; }
.retreat-designed #sophia-home .sh-primary:hover { background:#fff7df; }
.retreat-designed #sophia-home .sh-primary:active { transform:translateY(1px) scale(.985); }
.retreat-designed .sh-duration { display:flex; align-items:center; justify-content:center; flex:none; border:1px solid #b9c2a967; border-radius:8px; padding:4px 13px; background:#1b2a22b3; color:#f1efde; }
.retreat-designed .sh-duration select { color:#f1efde; background:transparent; font-size:13px; padding-left:0; min-height:44px; }
.retreat-designed .sh-duration select option { color:#293c31; background:#f4f1e8; }
.retreat-designed #sh-task-duration { color:#f1efde; padding:14px 0; }
.retreat-designed .sh-unselect,.retreat-designed .stay-intention-toggle,.retreat-designed .stay-learning { align-self:flex-start; color:#d6deca; text-underline-offset:4px; }
.retreat-designed #sophia-home .sh-room-top { position:absolute; top:124px; left:auto; right:5.4%; margin:0; padding:12px 16px; display:flex; flex-direction:column; align-items:flex-end; gap:0; z-index:2; background:#19291fe8; border-radius:8px; }
.retreat-designed #sophia-home .sh-room-top>span { background:none; border:0; border-radius:0; padding:0; color:#fcf4de; font:400 19px/1.6 var(--sh-serif); text-shadow:0 2px 12px #101e15; }
.retreat-designed #sophia-home .sh-room-top [data-home=rooms] { display:inline-flex; align-items:center; background:none; border:0; border-radius:0; color:#f2efd9; min-height:44px; padding:5px 0 5px 16px; font-size:12px; text-shadow:0 1px 8px #102218; }
.retreat-designed #sophia-home .sh-bird-place { position:absolute; top:auto; left:auto; bottom:29%; right:19%; width:146px; padding:0; pointer-events:none; z-index:3; }
.retreat-designed #sophia-home .sh-room-bird { position:relative; display:block; pointer-events:auto; width:146px; height:117px; margin:auto; z-index:2; }
.retreat-designed #sophia-home .sh-room-bird img { filter:drop-shadow(0 7px 5px #10201442); }
.retreat-designed #sophia-home .sh-bird-place:after { content:''; position:absolute; width:62px; height:9px; left:28px; bottom:3px; background:#15221866; border-radius:50%; filter:blur(5px); pointer-events:none; }
.retreat-designed #sophia-home .sh-bird-place>p { position:absolute; bottom:calc(100% + 8px); right:0; width:190px; margin:0; padding:10px 15px; color:#f1efdc; background:#1c2d24ed; border:1px solid #d8d6b428; border-radius:12px 12px 3px 12px; font-size:12px; line-height:1.7; opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .28s ease,visibility .28s ease,transform .28s ease; pointer-events:none; box-shadow:0 10px 28px #0a161055; }
.retreat-designed #sophia-home .sh-bird-place:hover>p,.retreat-designed #sophia-home .sh-bird-place:focus-within>p,.retreat-designed #sophia-home .sh-bird-place.is-speaking>p { opacity:1; visibility:visible; transform:none; }
.retreat-designed #sophia-home .sh-bird-place>[data-home=memories] { display:inline-flex; align-items:center; justify-content:center; margin-top:8px; min-height:36px; padding:0; background:none; border:0; border-radius:0; color:#e4e7d4; font-size:11px; text-decoration:underline; text-underline-offset:4px; pointer-events:auto; opacity:.82; }
.retreat-designed #sophia-home .sh-bird-place>[data-home=memories]:hover { opacity:1; color:#fff6df; }
.retreat-designed #sophia-home .sh-room-bird img { transform-origin:60% 80%; }
.retreat-designed:not([data-calm=true]) #sophia-home .sanctuary-home-scene[data-live=false] .sh-room-bird img { animation:retreat-bird-breathe 5.6s ease-in-out infinite; }
@keyframes retreat-bird-breathe { 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-3px) } }
.retreat-designed #sophia-home .sh-room-bottom { position:absolute; left:auto; right:5.4%; bottom:60px; display:flex; padding:0; gap:0; z-index:5; }
.retreat-designed #sophia-home .sh-room-bottom>span { display:none; }
.retreat-designed #sophia-home .sh-room-bottom .sh-glass { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 0 8px 10px; background:none; border:0; border-radius:0; color:#e5e9d9; font-size:12px; }
.retreat-designed #sh-sound:before { content:''; width:18px; height:18px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6m4-10v14m4-16v18m4-16v14m4-10v6' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.retreat-designed #sh-sound[aria-pressed=true] { color:#f1dc9f!important; }
.retreat-designed #sophia-home .stay-room-rail { position:absolute; right:5.4%; left:auto; bottom:131px; top:auto; display:flex; gap:12px; width:auto; padding:0; margin:0; background:none; z-index:4; }
.retreat-designed #sophia-home .stay-room-rail button { position:relative; display:block; flex:none; width:76px; height:78px; min-height:78px!important; padding:4px; border:1px solid transparent; border-radius:8px; background:none; box-shadow:none; color:#d8dfce; overflow:visible; }
.retreat-designed #sophia-home .stay-room-rail button[aria-pressed=true] { border-color:#ded5b7; background:#d8d9bb14; color:#f7f2df; }
.retreat-designed #sophia-home .stay-room-rail img { display:block; width:100%; height:44px; border-radius:4px; object-fit:cover; opacity:.8; }
.retreat-designed #sophia-home .stay-room-rail button[aria-pressed=true] img,.retreat-designed #sophia-home .stay-room-rail button:hover img { opacity:1; }
.retreat-designed #sophia-home .stay-room-rail span { position:static; display:block; padding:5px 0 0; font-size:11px; background:none; color:inherit; }
.retreat-designed .stay-room-rail i,.retreat-designed .stay-room-rail button:before { display:none; }
.retreat-designed .stay-daybar { margin:0; padding:28px 5.4%; background:linear-gradient(180deg,#1c2a21,#19251e); border:0; border-top:1px solid #b4bda728; border-radius:0; color:#eeeedd; gap:28px; align-items:stretch; }
.retreat-designed .stay-daybar .daily-entry { width:min(340px,38%); min-height:64px; color:#eff0df; border:1px solid #c5cfb538; border-radius:10px; padding:14px 18px; background:#24352be0; }
.retreat-designed .stay-daybar .daily-entry:hover { border-color:#e4dcb855; background:#2a3d31; }
.retreat-designed .stay-daybar .daily-entry strong { color:#f1eedf; font-size:17px; font-family:var(--sh-serif); font-weight:400; }
.retreat-designed .stay-daybar .daily-entry small { color:#c1cbb5; font-size:12px; margin-top:7px; display:block; }
.retreat-designed #stay-plan-preview { gap:20px; }
.retreat-designed #stay-plan-preview button { border-color:#8596765c; color:#e4e8d5; }
.retreat-designed #stay-plan-preview small { color:#bccab0; }
.retreat-designed .stay-ribbon { padding:19px 5.4%; background:#19251e; color:#c4cdb8; border-top:1px solid #b4bda728; }
.retreat-designed .stay-ribbon button,.retreat-designed .stay-ribbon p { color:#c4cdb8; }
.retreat-designed.roomstage footer { margin:0; padding:22px 5.4%; border-color:#8c9b7630; color:#b1bda7; background:#19251e; }
.retreat-designed.roomstage footer button,.retreat-designed.roomstage footer a { color:#b8c3ad; }
/* Same room and original engine throughout a stay. */
.retreat-designed #sophia-home .sanctuary-home-scene[data-live=true] { min-height:clamp(790px,calc(100svh - 66px),980px); padding:135px 5.4% 70px; justify-content:center; }
.retreat-designed .sanctuary-home-scene[data-live=true] .sh-next,.retreat-designed .sanctuary-home-scene[data-live=true] .stay-room-rail,.retreat-designed .sanctuary-home-scene[data-live=false] #activity { display:none!important; }
.retreat-designed #sophia-home .sanctuary-home-scene[data-live=true] .sh-veil { background:linear-gradient(90deg,#14261bea,#14261bd9 30%,#14261b28 80%),linear-gradient(0deg,#19251e,transparent 40%); }
.retreat-designed #sophia-home .sanctuary-home-scene[data-live=true] .sh-bird-place { bottom:29%; right:19%; }
.retreat-designed #sophia-home #activity { position:relative; inset:auto; display:block; z-index:3; width:52%; height:auto; min-height:0; max-height:none; overflow:visible; margin:0; padding:0; transform:none; backdrop-filter:none; filter:none; background:none; border:0; border-radius:0; box-shadow:none; text-align:left; color:#f3efde; pointer-events:none; }
.retreat-designed #activity :is(button,input,textarea,select,label,a,summary,h2,h3,p,details) { pointer-events:auto; }
.retreat-designed #activity .eyebrow { color:#c9d3bc; font-size:12px; letter-spacing:.07em; margin-bottom:20px; }
.retreat-designed #activity h2 { color:#f1eddd; font:400 32px/1.55 var(--sh-serif); margin:8px 0; max-width:18em; }
.retreat-designed #activity .session-top { color:#e1e5d5; font-size:16px; max-width:28em; }
.retreat-designed #activity .stay-time-orbit { width:auto; height:auto; min-height:160px; margin:26px 0 8px; display:flex; align-items:flex-start; justify-content:center; flex-direction:column; }
.retreat-designed #activity .stay-time-orbit svg { display:none; }
.retreat-designed #activity .clock { font:400 88px/1.2 var(--sh-serif); color:#f2eddb; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.retreat-designed #activity .clock-toggle { display:block; text-align:left; margin:0 0 28px; color:#cbd4bd; }
.retreat-designed #activity .focus-buttons { justify-content:flex-start; }
.retreat-designed #activity .focus-buttons button { border-radius:8px; min-height:48px; }
.retreat-designed #activity .focus-step { color:#d5dfc7; }
.retreat-designed #activity .focus-heading { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.retreat-designed #activity .end-link { display:block; text-align:left; color:#d0d8c5; }
.retreat-designed #activity .immersive-button { display:none; }
.retreat-designed #sophia-home[data-live=true]>.stay-daybar,.retreat-designed #sophia-home[data-live=true]>.stay-ribbon { display:none; }
.retreat-designed #sophia-home.plan-open { padding-top:30px; }
.retreat-designed #sophia-home.plan-open .sanctuary-home-scene,.retreat-designed #sophia-home.plan-open>.stay-daybar,.retreat-designed #sophia-home.plan-open>.stay-ribbon { display:none; }
.retreat-designed .daily-desk { border-radius:12px!important; border:0; grid-template-columns:minmax(240px,.65fr) minmax(0,1.4fr); overflow:hidden; }
.retreat-designed .daily-welcome { border-radius:0; background:linear-gradient(180deg,#223c2dcf,#172e20e6),var(--retreat-room-image,url('assets/forest-room.png')) center/cover; }
.retreat-designed .daily-content { padding:42px; }
.retreat-designed .daily-input-wrap { border-radius:8px; border:1px solid #b8c1ab; background:#faf9f2; }
.retreat-designed .daily-primary { border-radius:8px; }
.retreat-designed .daily-highlight { border-radius:0; background:transparent; border-bottom:1px solid #c9d1bd; padding-block:20px; }
.retreat-designed .time-actions { position:static; }
/* Explicit room preview and tuning. */
.retreat-designed #sh-rooms { width:min(1060px,calc(100vw - 48px)); max-width:1060px; padding:0; border-radius:14px; background:#f1eee3; color:#273c2e; border:0; overflow:hidden; box-shadow:0 24px 90px #07140f55; }
.retreat-designed #sh-rooms[open] { display:grid; grid-template-columns:1.3fr 1fr; }
.retreat-designed .sanctuary-view { min-height:630px; }
.retreat-designed .sanctuary-service { padding:55px 30px 24px; }
.retreat-designed .sanctuary-service h3 { font:400 27px/1.55 var(--sh-serif); }
.retreat-designed .sanctuary-choices { position:relative; display:flex; flex-direction:column; gap:0; isolation:isolate; }
.retreat-designed .room-selection-band { position:absolute; top:0; left:0; z-index:-1; pointer-events:none; background:#dce2cf; border:0; border-radius:7px; }
.retreat-designed .sanctuary-choices button { position:relative; display:flex; align-items:center; gap:16px; border:0; border-bottom:1px solid #c2cbb570; background:none; border-radius:7px; color:#3d533a; min-height:68px; padding:12px; text-align:left; overflow:hidden; }
.retreat-designed .sanctuary-choices button img { display:block; width:56px; height:38px; border-radius:4px; object-fit:cover; }
.retreat-designed .sanctuary-choices button:before { display:none; }
.retreat-designed .sanctuary-choices button[aria-pressed=true] { color:#263e2a; background:transparent; border-color:transparent; }
.retreat-designed .sanctuary-choices button span { position:relative; z-index:1; padding:0; }
.retreat-designed .sanctuary-light { margin-top:22px; }
.retreat-designed .sanctuary-sound { margin-top:18px; padding-top:14px; }
.retreat-designed .sanctuary-sound p { font-size:12px; line-height:1.7; }
.retreat-designed #sanctuary-apply { border-radius:8px; background:#2c4735; min-height:49px; }
.retreat-designed #sh-rooms .dialog-close { z-index:9; color:#263d2d; background:#e6eadc; }
.retreat-designed .retreat-image-ghost { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover; pointer-events:none; z-index:1; border-radius:inherit; }
.retreat-designed .sh-window .retreat-image-ghost { z-index:-2; }
.retreat-designed .sanctuary-view-copy,.retreat-designed .sanctuary-bird { z-index:3; }
.retreat-designed .sanctuary-shade { z-index:2; pointer-events:none; }
.retreat-transition-ghost { position:fixed; z-index:40; pointer-events:none; overflow:hidden; object-fit:cover; margin:0; }
@media(min-width:761px) and (max-width:1100px) {
 .retreat-designed .header .sh-nav button { padding-inline:17px; }
 .retreat-designed #sophia-home .sh-next { width:60%; }
 .retreat-designed #sophia-home .sh-next h2 { font-size:40px; }
 .retreat-designed #sophia-home .sh-bird-place { right:17%; bottom:35%; }
 .retreat-designed #sophia-home .stay-room-rail { gap:7px; }
 .retreat-designed #sophia-home .stay-room-rail button { width:65px; }
 .retreat-designed #sophia-home #activity { width:62%; }
}
@media(max-width:760px) {
 .retreat-designed .app-shell { padding:0 16px; }
 .retreat-designed .header { height:70px; }
 .retreat-designed .brand>span,.retreat-designed.roomstage .brand>span { font-size:30px; }
 .retreat-designed .brand img { width:26px; height:26px; }
 .retreat-designed .host-button { font-size:11px; padding:7px 12px; }
 .retreat-designed.roomstage .header { height:78px; padding:0 23px; }
 body.retreat-designed.stay-designed .header .sh-nav { position:fixed; bottom:14px; left:50%; transform:translateX(-50%); top:auto; width:calc(100% - 40px); max-width:420px; display:flex; justify-content:space-between; gap:0; padding:6px; background:#f2f0e5f7; border:1px solid #c6ccba; border-radius:12px; backdrop-filter:blur(15px); box-shadow:0 8px 30px #0c1f1630; }
 .retreat-designed .header .sh-nav button,.retreat-designed.roomstage .header .sh-nav button { flex:1; min-height:44px; padding:8px 18px; color:#55634d; font-size:13px; }
 .retreat-designed .header .sh-nav button[aria-current],.retreat-designed.roomstage .header .sh-nav button[aria-current] { color:#243b2b; }
 .retreat-designed.roomstage .stay-nav-indicator,.retreat-designed .stay-nav-indicator { background:#425c2e14; border:0; border-radius:7px; }
 .retreat-designed #sophia-home .sanctuary-home-scene { min-height:0; padding:340px 26px 28px; justify-content:flex-start; }
 .retreat-designed #sophia-home .sanctuary-home-scene .sh-window { inset:0; height:100%; width:100%; border-radius:0; }
 .retreat-designed #sophia-home .sh-scenery { height:450px; object-position:62% center; }
 .retreat-designed #sophia-home .sh-veil { background:linear-gradient(180deg,#19251e08 150px,#19251e10 250px,#19251e99 340px,#19251e 450px); }
 .retreat-designed #sophia-home .sh-next { width:100%; padding:0; min-height:0; }
 .retreat-designed #sophia-home .sh-next h2 { font-size:34px; line-height:1.4; margin:16px 0 10px; max-width:8em; }
 .retreat-designed #sophia-home.has-long-intention .sh-next h2 { font-size:28px; line-height:1.45; }
 .retreat-designed #sophia-home .sh-next #sh-step { font-size:12px; line-height:1.8; }
 .retreat-designed #sophia-home .sh-modes { gap:25px; padding-bottom:4px; }
 .retreat-designed #sophia-home .sh-modes button { min-height:44px; }
 .retreat-designed #sophia-home .sh-start-row { width:100%; margin-top:24px; gap:10px; }
 .retreat-designed #sophia-home .sh-primary { min-height:54px!important; }
 .retreat-designed #sophia-home .sh-room-top { top:102px; left:26px; right:auto; align-items:flex-start; gap:1px; padding:8px 12px; }
 .retreat-designed #sophia-home .sh-room-top>span { font-size:17px; }
 .retreat-designed #sophia-home .sh-room-top [data-home=rooms] { display:inline-flex; padding:4px 0; font-size:12px; }
 .retreat-designed #sophia-home .sh-bird-place { top:237px; bottom:auto; right:15%; width:118px; }
 .retreat-designed #sophia-home .sh-room-bird { width:118px; height:98px; }
 .retreat-designed #sophia-home .sh-bird-place>p { width:165px; font-size:11px; }
 .retreat-designed #sophia-home .sh-room-bottom { top:102px; right:26px; bottom:auto; }
 .retreat-designed #sophia-home .sh-room-bottom .sh-glass { min-height:44px; padding:9px 12px; font-size:11px; background:#19291fe8; border-radius:8px; backdrop-filter:none; }
 .retreat-designed #sophia-home .stay-room-rail { display:none; }
 .retreat-designed .stay-daybar { padding:23px 26px; gap:15px; }
 .retreat-designed .stay-daybar .daily-entry { width:100%; }
 .retreat-designed .stay-daybar .daily-entry strong { font-size:16px; }
 .retreat-designed .stay-ribbon { padding:18px 26px; gap:12px 15px; }
 .retreat-designed.roomstage footer { padding:22px 26px 108px; }
 .retreat-designed #sophia-home .sanctuary-home-scene[data-live=true] { min-height:max(780px,calc(100svh - 50px)); padding:320px 26px 110px; justify-content:flex-start; }
 .retreat-designed #sophia-home .sanctuary-home-scene[data-live=true] .sh-scenery { height:400px; }
 .retreat-designed #sophia-home .sanctuary-home-scene[data-live=true] .sh-veil { background:linear-gradient(180deg,#19251e08 120px,#19251e33 260px,#19251ef5 340px,#19251e 400px); }
 .retreat-designed #sophia-home .sanctuary-home-scene[data-live=true] .sh-bird-place { right:15%; top:205px; bottom:auto; }
 .retreat-designed #sophia-home #activity { width:100%; padding:0; min-height:0; }
 .retreat-designed #activity .eyebrow { margin-bottom:10px; }
 .retreat-designed #activity h2 { font-size:25px; }
 .retreat-designed #activity .session-top { font-size:14px; }
 .retreat-designed #activity .stay-time-orbit { min-height:116px; margin:17px 0 7px; }
 .retreat-designed #activity .clock { font-size:70px; }
 .retreat-designed #activity .clock-toggle { text-align:left; margin:0 0 20px; }
 .retreat-designed #activity .focus-buttons { justify-content:flex-start; }
 .retreat-designed .daily-desk { display:block; }
 .retreat-designed .daily-welcome { padding:65px 25px 27px; }
 .retreat-designed .daily-content { padding:25px; }
 .retreat-designed .daily-title-line h2 { font-size:27px; }
 .retreat-designed .daily-companion { margin-top:15px; }
 .retreat-designed #sh-rooms { width:calc(100vw - 24px); max-height:calc(100dvh - 28px); overflow:auto; border-radius:12px; }
 .retreat-designed #sh-rooms[open] { display:block; }
 .retreat-designed .sanctuary-view { height:225px; min-height:225px; }
 .retreat-designed .sanctuary-view-copy { padding:24px; }
 .retreat-designed .sanctuary-view-copy h2 { font-size:25px; }
 .retreat-designed .sanctuary-view-copy p,.retreat-designed .sanctuary-bird { display:none; }
 .retreat-designed .sanctuary-service { padding:23px; }
 .retreat-designed .sanctuary-service h3 { font-size:22px; }
 .retreat-designed .sanctuary-choices { flex-direction:row; }
 .retreat-designed .sanctuary-choices button { flex:1; flex-direction:column; gap:7px; padding:10px 4px; min-width:0; font-size:11px; }
 .retreat-designed .sanctuary-choices button img { width:100%; height:44px; }
}
@media(max-width:360px) { .retreat-designed #sophia-home .sh-next h2 { font-size:32px; }.retreat-designed #sophia-home .sh-room-bottom { right:18px; }.retreat-designed #sophia-home .sh-primary { padding-inline:14px; }.retreat-designed.roomstage .header { padding-inline:19px; } }
@media(prefers-reduced-motion:reduce) { .retreat-designed *, .retreat-transition-ghost { scroll-behavior:auto!important; transition:none!important; } }

/* Guided stay walkthrough (real rooms/timer/bird — not a toy shell). */
.retreat-demo-veil { position:fixed; inset:0; z-index:80; pointer-events:none; background:radial-gradient(ellipse at var(--demo-x,70%) var(--demo-y,55%), transparent 0 14%, #0d1a1488 42%, #0a1512d0 100%); opacity:0; transition:opacity .35s ease; }
.retreat-demo-veil.is-on { opacity:1; pointer-events:auto; }
.retreat-demo-card { position:fixed; z-index:81; width:min(360px,calc(100vw - 32px)); padding:22px 22px 18px; border-radius:14px; background:#f4f1e8f5; color:#24392d; border:1px solid #c9d2b8; box-shadow:0 22px 60px #07140f55; pointer-events:auto; }
.retreat-demo-card[hidden] { display:none!important; }
.retreat-demo-card .eyebrow { font-size:11px; letter-spacing:.08em; color:#62735f; margin:0 0 10px; }
.retreat-demo-card h2 { font:400 22px/1.5 var(--sh-serif); margin:0 0 10px; color:#24392d; }
.retreat-demo-card p { font-size:13px; line-height:1.85; color:#4d5f50; margin:0 0 16px; }
.retreat-demo-card .demo-actions { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; }
.retreat-demo-card .demo-actions button { min-height:44px; border-radius:8px; padding:8px 16px; font-size:13px; }
.retreat-demo-card .demo-primary { background:#2c4735; color:#f4f1e8; border:0; }
.retreat-demo-card .demo-ghost { background:none; border:0; color:#4d5f50; text-decoration:underline; text-underline-offset:4px; }
.retreat-demo-target { outline:2px solid #ebdcb3; outline-offset:6px; border-radius:10px; position:relative; z-index:82; }
/* Hide legacy studio chrome when retreat owns the page — avoids stacked half-finished panels. */
.retreat-designed.roomstage .workspace .world,
.retreat-designed.roomstage #home-collection,
.retreat-designed.roomstage .desk-preview,
.retreat-designed.roomstage .mobile-start { display:none!important; }
.retreat-designed .stay-active-stages { display:none!important; }
@media(prefers-reduced-motion:reduce) {
  .retreat-designed #sophia-home .sh-room-bird img { animation:none!important; }
  .retreat-demo-veil { transition:none; }
}

/* Optional check-in settle — tangible vs skip */
.sophia-settle{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#132018e6;backdrop-filter:blur(10px)}
.sophia-settle-card{width:min(420px,100%);padding:32px 28px;border-radius:16px;background:#f4f1e8;color:#24382c;box-shadow:0 18px 50px #0a140f55}
.sophia-settle-card .eyebrow{font-size:11px;letter-spacing:.08em;color:#5a6b57;margin:0 0 12px}
.sophia-settle-card h2{font:400 28px/1.45 var(--sh-serif,Georgia,serif);margin:0 0 10px}
.sophia-settle-card>p{font-size:13px;line-height:1.85;color:#4d6050;margin:0 0 18px}
.sophia-settle-dial{display:grid;place-items:center;width:140px;height:140px;margin:8px auto 18px;border-radius:50%;border:1px solid #c5d0b8;background:#e8ede0}
.sophia-settle-dial strong{font:48px/1 Georgia,serif;font-variant-numeric:tabular-nums}
.sophia-settle-dial span{font-size:11px;color:#5a6b57;margin-top:6px}
.sophia-settle-actions{display:flex;flex-direction:column;gap:8px}
.sophia-settle-actions .sh-primary{min-height:48px;border:0;border-radius:8px;background:#20372f;color:#f4f1e4}
.sophia-settle-actions .sh-text{min-height:44px;color:#4d6050;text-decoration:underline;text-underline-offset:4px}
body.is-settling #sophia-home .sh-room-bird img{filter:brightness(.92) drop-shadow(0 7px 5px #10201442)}
@media(prefers-reduced-motion:reduce){.sophia-settle{backdrop-filter:none}}

/* Main-path quiet: soften leftover studio chrome when retreat is live */
.retreat-designed.roomstage .desk-preview,
.retreat-designed.roomstage .home-collection,
.retreat-designed.roomstage .mobile-start{display:none!important}
.retreat-designed .stay-settle-offer{margin-top:22px}
.retreat-designed .stay-settle-tip{margin:0 0 12px;padding:14px 16px;border-radius:12px;background:#1c2c24cc;border:1px solid #d8d6b428;color:#e8ead9;max-width:28em}
.retreat-designed .stay-settle-tip strong{display:block;font:400 16px/1.5 var(--sh-serif);margin-bottom:4px}
.retreat-designed .stay-settle-tip span{font-size:12px;line-height:1.8;color:#c5ceb6}
.retreat-designed .stay-keep{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;color:#f1efde;text-decoration:underline;text-underline-offset:5px;font-size:14px;background:none;border:0}

/* ===== r3-pivot · 今夜入住 home theater (≤5s readable) ===== */
.suite-door{
  position:absolute; z-index:6; right:5.4%; top:118px;
  display:flex; align-items:center; gap:14px;
  min-height:72px; max-width:min(340px,46vw);
  padding:12px 14px 12px 12px;
  border:1px solid #c9b27a88; border-radius:14px;
  background:linear-gradient(135deg,#1a2a21f2,#152019ee);
  color:#f4efd8; text-align:left; cursor:pointer;
  box-shadow:0 12px 36px #0a140f55, inset 0 1px 0 #f0e2b818;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.suite-door:hover{ transform:translateY(-2px); border-color:#e2d09a; box-shadow:0 16px 40px #0a140f66; }
.suite-door:active{ transform:scale(.985); }
.suite-door-brass{
  flex:none; width:44px; height:44px; border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%,#f3e6c0,#b8964a 55%,#7a5e2a);
  box-shadow:inset 0 1px 2px #fff6,#00000040 0 2px 4px;
  position:relative;
}
.suite-door-brass:after{
  content:''; position:absolute; inset:14px; border-radius:50%;
  border:1.5px solid #5c451888; background:#2a211288;
}
.suite-door-copy{ display:grid; gap:2px; min-width:0; flex:1; }
.suite-door-copy small{
  font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:#c9d3b9; opacity:.85;
}
.suite-door-copy strong{
  font:500 16px/1.35 var(--sh-serif,Georgia,serif); color:#fff6df;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.suite-door-copy em{
  font-style:normal; font-size:11px; color:#d5c48a; letter-spacing:.02em;
}
.suite-door-key{
  flex:none; font-size:11px; letter-spacing:.08em;
  padding:8px 10px; border-radius:999px;
  background:#c9b27a22; border:1px solid #c9b27a66; color:#f0e2b8;
}
body.suite-open .suite-door{ display:none!important; }
body.suite-locked .sanctuary-home-scene:after{
  content:''; pointer-events:none; position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg, transparent 55%, #0d181455 100%);
}
/* Soft dim second beat on Free home — suggests a deeper suite beyond */
body.suite-locked.retreat-designed #sophia-home .sh-bird-place{ filter:saturate(.92); }
body.suite-locked.retreat-designed #sophia-home .stay-room-rail{ opacity:.55; }

.suite-demo{
  position:fixed; inset:0; z-index:90; display:grid;
  grid-template-columns:1.1fr .9fr; background:#0d1612f2;
}
.suite-demo-stage{ position:relative; overflow:hidden; }
.suite-demo-room{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.72); transition:filter .8s ease; }
.suite-demo-bird{
  position:absolute; right:18%; bottom:22%; width:min(220px,36%);
  filter:drop-shadow(0 12px 18px #0008); transform-origin:60% 80%;
  transition:transform .7s ease, filter .7s ease;
}
.suite-demo-veil{
  position:absolute; inset:0;
  background:linear-gradient(90deg,#0d1612cc,transparent 50%),linear-gradient(0deg,#0d1612aa,transparent 40%);
  transition:opacity .8s ease;
}
.suite-demo[data-beat="1"] .suite-demo-room,
.suite-demo[data-beat="2"] .suite-demo-room{ filter:brightness(.42) saturate(.85); }
.suite-demo[data-beat="1"] .suite-demo-bird,
.suite-demo[data-beat="2"] .suite-demo-bird{ transform:translateY(6px) scale(.96); filter:brightness(.9) drop-shadow(0 10px 14px #000a); }
.suite-demo-card{
  display:flex; flex-direction:column; justify-content:center;
  padding:48px 42px; color:#f4f1e8; background:#152019;
}
.suite-demo-card .eyebrow{ font-size:11px; letter-spacing:.12em; color:#c9b27a; margin:0 0 14px; }
.suite-demo-card h2{ font:400 30px/1.4 var(--sh-serif,Georgia,serif); margin:0 0 12px; color:#fff6df; }
.suite-demo-card>p{ font-size:14px; line-height:1.85; color:#c9d3bc; margin:0 0 22px; }
.suite-demo-card>p strong{ color:#f0e2b8; font-weight:500; }
.suite-demo-beats{ list-style:none; margin:0 0 18px; padding:0; display:grid; gap:8px; }
.suite-demo-beats li{
  font-size:13px; color:#7a8a76; padding:10px 14px; border-radius:10px;
  border:1px solid #3a4a40; background:#1a2620;
  transition:background .25s, color .25s, border-color .25s;
}
.suite-demo-beats li.is-on{ color:#f4f1e8; border-color:#c9b27a66; background:#24352c; }
.suite-demo-actions{ display:flex; flex-direction:column; gap:8px; margin-top:8px; }
.suite-demo-primary{
  min-height:48px; border:0; border-radius:10px; font-size:14px;
  background:#c9b27a; color:#1a2a21; font-weight:600;
}
.suite-demo-primary:disabled{ opacity:.45; cursor:wait; }
.suite-demo-ghost{
  min-height:44px; background:none; border:0; color:#c9d3bc;
  text-decoration:underline; text-underline-offset:4px; font-size:13px;
}
.suite-demo-fine{ font-size:11px; color:#7a8a76; margin:14px 0 0; line-height:1.7; }
#suite-demo-status{ font-size:12px; color:#d5c48a; min-height:1.5em; margin:0 0 8px; }
@media(max-width:860px){
  .suite-door{ right:18px; top:86px; max-width:calc(100vw - 36px); }
  .suite-demo{ grid-template-columns:1fr; }
  .suite-demo-stage{ min-height:220px; }
  .suite-demo-card{ padding:28px 22px 36px; }
  .suite-demo-card h2{ font-size:24px; }
}
@media(prefers-reduced-motion:reduce){
  .suite-door,.suite-demo-room,.suite-demo-bird,.suite-demo-beats li{ transition:none!important; }
}

/* Thin plan tip (replaces essay fence) */
.time-suite-tip{ margin:16px 0 8px; }
.time-suite-tip-btn{
  width:100%; display:flex; align-items:center; gap:14px; text-align:left;
  padding:14px 16px; border-radius:12px; border:1px solid #c9b27a55;
  background:#20372f; color:#f4f1e4; min-height:64px;
}
.time-suite-tip-brass{
  width:36px; height:36px; border-radius:50%; flex:none;
  background:radial-gradient(circle at 35% 30%,#f3e6c0,#b8964a 55%,#7a5e2a);
}
.time-suite-tip-btn small{ display:block; font-size:10px; letter-spacing:.1em; color:#c9b27a; margin-bottom:2px; }
.time-suite-tip-btn strong{ display:block; font:500 15px/1.4 var(--sh-serif,serif); }
.time-suite-tip-btn em{ display:block; font-style:normal; font-size:12px; color:#c5ceb6; margin-top:2px; }
.time-pro-fence{ display:none!important; } /* kill old essay cards if residual */

/* Pro settle — bird+room state IS the product */
body.suite-settling #sophia-home .sanctuary-home-scene .sh-scenery,
body.suite-settling .workspace .room-image{ filter:brightness(.55) saturate(.88); transition:filter .9s ease; }
body.suite-settling #sophia-home .sh-room-bird img,
body.suite-settling .companion-button img{ filter:brightness(.9) drop-shadow(0 8px 10px #10201455); }
.sophia-settle-card.suite-settle{ background:#f4f1e8; border:1px solid #c9b27a55; }
.sophia-settle-stage{ display:flex; align-items:center; justify-content:center; gap:18px; margin:8px 0 16px; }
.suite-settle-bird{ width:88px; height:auto; filter:drop-shadow(0 8px 12px #20372f33); }
.sophia-settle-card.suite-settle .eyebrow{ color:#8a7340; letter-spacing:.1em; }
@media(prefers-reduced-motion:reduce){
  body.suite-settling #sophia-home .sanctuary-home-scene .sh-scenery{ transition:none; }
}

/* Emotional Free vs Pro presence */
body.suite-locked.retreat-designed #sophia-home .sh-bird-place{
  opacity:.88; filter:saturate(.85) brightness(.96);
}
body.suite-locked.retreat-designed #sophia-home .sh-bird-place>p{
  opacity:0; /* quieter — Free bird less chatty until hover/speak */
}
body.suite-locked.retreat-designed #sophia-home .sh-bird-place.is-speaking>p,
body.suite-locked.retreat-designed #sophia-home .sh-bird-place:hover>p,
body.suite-locked.retreat-designed #sophia-home .sh-bird-place:focus-within>p{
  opacity:1;
}
body.suite-open.retreat-designed #sophia-home .sh-bird-place{
  opacity:1; filter:none;
}
#sh-sound.suite-sound-locked:after{
  content:'锁'; margin-left:8px; font-size:10px; letter-spacing:.06em;
  color:#c9b27a; border:1px solid #c9b27a66; border-radius:999px; padding:1px 6px;
}
.suite-demo-card h2{ letter-spacing:-.02em; }
