/* One centred consultation stage, shared by every question and viewport. */
html,body{background:#f5f4ed}
.quest-layout{display:block;min-height:0}
.passport{min-height:0;padding:0;border:0;background:#fff7e7}
.progress-panel{padding:10px 24px 9px;border:0;border-bottom:1px solid #dfd2ba}
.progress-row{max-width:360px;gap:18px}.progress-track{max-width:360px;margin-top:5px}
.stamp-path{gap:24px}.stamp-stop{flex-direction:row;justify-content:center;gap:7px}
.stamp-stop:not(:last-child):after{display:none}.stamp-stop>b{margin:0;font-size:11px}
.stamp{width:28px;height:28px}.stamp>svg{width:17px;height:17px}#completion-count{font-size:15px}
.consultation-stage{height:280px;position:relative;overflow:hidden;isolation:isolate;background:#c5b395}
.consultation-room{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;filter:blur(5px) brightness(.85);z-index:-2}
.consultation-stage:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#7e60303b,transparent 65%)}
.therapist-portrait{position:absolute;height:100%;aspect-ratio:1;bottom:0;left:50%;transform:translateX(-50%);overflow:hidden}
.therapist-portrait img{display:block;width:300%;max-width:none;height:auto;image-rendering:pixelated;transform:translateX(0)}
.consultation-stage[data-talking="true"] .therapist-portrait img{animation:therapist-speaking .54s steps(1,end) infinite}
.consultation-stage[data-expression="recommend"][data-talking="false"] .therapist-portrait img{transform:translateX(-66.666667%)}
.consultation-logo{position:absolute;top:15px;right:5%;width:17%;max-width:104px;height:auto;filter:drop-shadow(0 1px 2px #fff);opacity:.95}
.quest-content{padding:0 20px 17px;background:#fffaf0}
.consultation-dialogue{position:relative;padding:13px 18px 15px;background:#fffaf0;border:2px solid #17314f;box-shadow:0 4px 0 #17314f24;margin:-6px 0 0;z-index:1;color:#17314f}
.speaker-line{display:flex;align-items:center;gap:10px;margin-bottom:5px;min-height:23px}
.speaker-line>span{font-size:12px;font-weight:800;letter-spacing:.13em;color:#8a652f}
.speaker-line .multi-help{font-size:10px;padding:1px 7px;margin:0;border:0;background:#e8f0f7;color:#426786;box-shadow:none}
.finish-dialogue{margin-left:auto;font-size:10px;padding:3px 0;background:transparent;color:#6b726e;min-height:24px}
.consultation-dialogue .question-title{position:relative;margin:0;font-size:23px;line-height:1.5;white-space:normal;letter-spacing:0;font-weight:750}
.speech-measure{visibility:hidden;display:block}.speech-text{position:absolute;inset:0}
.question-choices{transition:opacity .2s ease}
.question-choices[data-ready="false"]{visibility:hidden;opacity:0;pointer-events:none}
.options{margin-top:16px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}
.body-options{grid-template-columns:repeat(5,minmax(0,1fr))}
.options .option,.body-options .option{min-height:60px;padding:10px;gap:5px}
.body-options .option{flex-direction:row}.body-icon{width:25px;height:25px}
.option strong,.body-options .option strong{font-size:14px}
.body-options .option-check{top:4px;right:4px}.option-text{padding:0}
.question-nav{margin-top:12px;padding-top:10px}.question-nav:has(.back-button:disabled){display:none}.next-button{min-height:46px;padding:10px 20px}
.back-button:disabled{visibility:hidden}.recommendation-dialogue{margin-bottom:15px}
.showing-result .consultation-stage{display:none}
@keyframes therapist-speaking{0%,100%{transform:translateX(0)}45%{transform:translateX(-33.333333%)}}
@media(max-width:620px){
 .progress-panel{padding:8px 16px}.progress-row{gap:12px}.stamp{width:24px;height:24px}.stamp>svg{width:15px;height:15px}
 .consultation-stage{height:210px}.consultation-logo{top:12px;width:18%}
 .quest-content{padding:0 12px 12px}
 .consultation-dialogue{padding:9px 12px 11px}.consultation-dialogue .question-title{font-size:18px;line-height:1.5}
 .speaker-line{margin-bottom:3px}.options{gap:8px;margin-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.body-options{grid-template-columns:repeat(3,minmax(0,1fr))}
 .options .option,.body-options .option,.options:not(.body-options) .option{min-height:49px;padding:8px 10px;gap:5px}
 .body-options .option{flex-direction:row}.body-icon{width:22px;height:22px}.body-options .option strong,.option strong{font-size:13px}
 .question-nav{margin-top:10px;padding-top:7px}.next-button{min-height:44px}.back-button{min-height:44px}
}
@media(max-width:350px){.consultation-stage{height:170px}.consultation-dialogue .question-title{font-size:16px}.options .option{padding-inline:7px}.body-icon{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.therapist-portrait img{animation:none!important}.question-choices{transition:none}}
