.sofa-scene{position:relative;isolation:isolate;overflow:hidden;background:#111315;color:#f5f1eb;color-scheme:dark}
.sofa-scene-visual{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#111315}
.sofa-scene-image{width:100%;height:100%;object-fit:cover;object-position:54% 30%;transform-origin:54% 36%;will-change:transform;filter:brightness(.79)}
.sofa-scene-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#080b0e78,transparent 25%,#0b0d1030 43%,#0b0d10e6 72%,#0b0d10 100%)}
.sofa-scene-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 36%,transparent 5%,#09090d 80%);opacity:0}
.sofa-scene-header{display:flex;align-items:center;gap:10px;padding:max(14px,env(safe-area-inset-top)) 14px 0;flex-shrink:0;z-index:3}
.sofa-scene-header button{min-width:44px;min-height:44px;background:#12151855;color:#f3eee6;border-radius:50%;display:grid;place-items:center}
.sofa-scene-header .icon{width:21px;height:21px}
.sofa-scene-header div{display:flex;flex-direction:column;gap:5px;flex:1;text-shadow:0 1px 8px #000}
.sofa-scene-header small{font-size:10px;letter-spacing:1.8px;color:#e0d9cf}
.sofa-scene-header span{font-size:14px;letter-spacing:2px}
.sofa-scene-header .sofa-history-toggle{border-radius:20px;font-size:12px;padding:0 14px}
.sofa-scene-space{flex:1;min-height:65px;pointer-events:none}
.sofa-caption{padding:28px 28px 8px;flex-shrink:0;max-height:43%;overflow-y:auto;scrollbar-width:thin}
.sofa-caption-speaker{display:block;font-size:11px;letter-spacing:2px;color:#d0c4b4;margin-bottom:13px}
.sofa-caption-text{font-family:var(--serif);font-size:19px;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere;min-height:3.7em;margin:0;text-shadow:0 2px 12px #000}
.sofa-scene[data-caption-kind=narration] .sofa-caption-text{font-size:16px;line-height:1.95;color:#e1d9cf}
.sofa-scene-controls{position:relative;flex-shrink:0;padding:14px 24px max(18px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#0b0d10 35%)}
.sofa-play-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sofa-play{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;color:#f5e8d4;font-size:13px}
.sofa-play>span:first-child{font-size:15px;width:21px;text-align:center}
.sofa-clock{font-size:11px;font-variant-numeric:tabular-nums;color:#c8c3bc;white-space:nowrap}
.sofa-seek{display:block;width:100%;height:28px;accent-color:#d6c4a9;cursor:pointer;margin:0}
.sofa-secondary{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sofa-secondary button{background:transparent;color:#d6caba;font-size:12px;min-height:44px;padding:0 4px}
.sofa-status{color:#b8b3ad;font-size:10px;text-align:center}
.sofa-scene button:active{opacity:.65}
.sofa-scene button:focus-visible,.sofa-scene input:focus-visible{outline:2px solid #f2d9b4;outline-offset:3px}
.sofa-history{position:absolute;inset:80px 14px 160px;z-index:2;background:#121518f5;border:1px solid #ffffff20;border-radius:14px;padding:20px 20px 0;display:flex;flex-direction:column;box-shadow:0 15px 50px #0008}
.sofa-history[hidden]{display:none}
.sofa-history-copy{overflow-y:auto;flex:1;white-space:pre-line;font:15px/1.9 var(--serif);color:#c6bfb4}
.sofa-history-copy p{margin:0 0 22px}.sofa-history-copy .speech{color:#f5e8d4}
.sofa-history-close{background:none;color:#eee2d0;min-height:48px;flex-shrink:0}
#phone[data-text-size=large] .sofa-caption-text{font-size:22px}
#phone[data-text-size=large] .sofa-scene[data-caption-kind=narration] .sofa-caption-text{font-size:19px}
@media(max-height:660px){.sofa-caption{max-height:40%;padding:14px 24px 4px}.sofa-caption-text{font-size:17px;line-height:1.7}.sofa-caption-speaker{margin-bottom:6px}.sofa-scene-controls{padding-top:4px;padding-bottom:env(safe-area-inset-bottom,0px)}.sofa-scene-header{padding-top:4px}.sofa-scene-space{min-height:20px}}
@media(max-height:450px) and (orientation:landscape){.sofa-scene-image{object-position:65% 25%}.sofa-caption{margin-left:38%;max-height:40%;padding-top:0}.sofa-scene-controls{margin-left:38%}.sofa-history{inset:60px 14px 20px}.sofa-scene-visual:after{background:linear-gradient(90deg,transparent,#0b0d10dd 60%,#0b0d10)}.sofa-caption-text{min-height:0}}
@media(prefers-reduced-motion:reduce){.sofa-scene-image{will-change:auto;transform:none!important}}

.departure-scene .sofa-scene-image{object-position:50% 23%;filter:brightness(.78)}
