/* Local immersive trial: scenery reaches the edges, controls stay readable. */
.persona-card .card-art{background:#173d43 url('assets/card-atmosphere-v7.jpg') center center/cover no-repeat}
.persona-card .card-art::before,.persona-card .card-orbit{display:none}
.persona-card .card-art::after{content:'';display:block;position:absolute;left:50%;right:auto;bottom:5px;width:148px;height:20px;border-radius:50%;background:#102c3a38;box-shadow:none;filter:blur(3px);opacity:1;transform:translateX(-50%);z-index:0}
.persona-card .card-art .personality-avatar{position:relative;top:18px;z-index:1;filter:drop-shadow(0 6px 3px #102c3a45)}
.showing-result .result-showcase{padding-bottom:8px}
.showing-result .quest-content{padding-bottom:0}
/* A transformed card does not expand the iframe's layout height. Reserve room
   before the summon begins, then release it when the card returns to rest. */
#result-panel[data-reveal-pending="true"] .result-showcase,#result-panel.is-revealing .result-showcase{padding-bottom:clamp(88px,11vw,120px)}
#sales-page .sales-scroll{height:44px;margin-bottom:0}
#sales-page .space-section{padding-top:16px}
body[data-screen="home"] .strong-press-home{width:100%;height:100dvh;min-height:600px;padding:0;position:relative;overflow:hidden;background:#342e26}
/* Hold a room-toned edge while the real indoor scene paints; the decorative
   banner is requested only after the entrance is ready. Both layers are
   absolute, so revealing the banner never changes the hero's geometry. */
body[data-screen="home"] .strong-press-home::before{content:'';position:absolute;inset:-25px;z-index:0;background:radial-gradient(ellipse at 48% 35%,#625a50 0%,#403a34 58%,#292623 100%)}
body[data-screen="home"] .strong-press-home::after{content:'';position:absolute;inset:-25px;z-index:0;pointer-events:none;opacity:0;filter:blur(8px) brightness(.55);background-position:center;background-size:cover;transition:opacity .35s ease}
body[data-screen="home"] .strong-press-home.ambient-banner-ready::after{background-image:url('assets/space-banner-q85.webp');opacity:1}
html[data-motion="paused"] body[data-screen="home"] .strong-press-home::after{transition:none}
body[data-screen="home"] .strong-press-home .scene-column{width:100%;height:100%;gap:0;justify-content:center;position:relative;z-index:1}
body[data-screen="home"] .strong-press-home .massage-scene{width:min(100vw,100dvh);height:min(100vw,100dvh);max-width:none;mask-image:none;aspect-ratio:1;margin:auto}
body[data-screen="home"] .strong-press-home .hero-controls{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px));z-index:10}
body[data-screen="home"] .strong-press-home .massage-start{min-height:72px;box-shadow:0 6px 0 #17314f,0 12px 30px #0005}
body[data-screen="home"] .strong-press-home .guest-dialogue{top:5%;left:5%;font-size:clamp(16px,2vw,21px)}
body[data-screen="home"] .experience-footer{position:absolute;bottom:0;right:12px;z-index:11;min-height:20px;color:white}
body[data-screen="game"] .game-screen{width:100%;max-width:none;margin:0}
body[data-screen="game"] .game-window{border:0;border-radius:0;box-shadow:none;overflow:visible}
body[data-screen="game"] .game-window iframe{width:100%;display:block}
/* --stage-viewport is supplied by parent, never based on the resizing iframe. */
body:not(.showing-result):has(.quest-layout){min-height:var(--stage-viewport,100dvh);background:#514b3b url('assets/space-banner-q85.webp') center/cover fixed}
body:not(.showing-result) .quest-layout{min-height:calc(var(--stage-viewport,100dvh) - 98px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(230px,1fr) auto;background:#15352e18}
body:not(.showing-result) .passport{background:#fff7e7ee}
body:not(.showing-result) .passport .progress-panel{max-width:840px}
body:not(.showing-result) .consultation-stage{height:auto;min-height:230px;background:transparent}
body:not(.showing-result) .consultation-room{filter:brightness(.95);object-position:center 48%;inset:0;width:100%;height:100%}
body:not(.showing-result) .therapist-portrait{height:calc(100% - 76px);max-height:560px;top:auto;bottom:76px}
body:not(.showing-result) .consultation-subtitles{background:#fffaf0}
body:not(.showing-result) .consultation-subtitles .consultation-dialogue{max-width:840px;margin:auto;border:0;background:transparent;min-height:85px}
body:not(.showing-result) .quest-content{background:#fffaf0ee;padding:0 max(20px,calc((100% - 800px)/2)) 16px}
body:not(.showing-result) .options{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px}
body:not(.showing-result) .options .option{min-height:64px}
body:not(.showing-result) .quiz-bottom-call{margin:12px auto 20px;min-height:66px;width:min(800px,calc(100% - 40px))}
@media(max-width:620px){
 body[data-screen="home"] .strong-press-home{min-height:520px}
 body[data-screen="home"] .strong-press-home .massage-scene{width:100vw;height:100vw;max-height:none;max-width:none;position:absolute;top:42%;left:0;transform:translateY(-42%)}
 body[data-screen="home"] .strong-press-home .guest-dialogue{left:4%;width:65%;top:3%;font-size:15px}
 body[data-screen="home"] .strong-press-home .scene-logo{right:4%;width:16%}
 body:not(.showing-result) .quest-layout{min-height:calc(var(--stage-viewport,100dvh) - 96px);grid-template-rows:auto minmax(240px,1fr) auto}
 body:not(.showing-result) .quest-content{padding:0 16px 10px}
 body:not(.showing-result) .options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body:not(.showing-result) .options .option{min-height:54px;padding:9px}
 body:not(.showing-result) .consultation-subtitles .question-title{font-size:21px}
 body:not(.showing-result) .quiz-bottom-call{width:calc(100% - 32px)}
}

/* Full cutout stays inside the card: source aspect ratios never dictate cropping. */
.persona-card .card-art{height:280px}
.persona-card .card-art .personality-avatar{height:100%;width:100%;max-width:100%;top:0;aspect-ratio:auto;object-fit:contain;object-position:center bottom;margin:0;filter:drop-shadow(0 3px 2px #34251a25)}
@media(max-width:620px){.persona-card .card-art{height:255px}}
