/* Request Coach v4: a short lesson and three clearly grouped feedback sections. */
:root{--radius:18px;--shadow:0 6px 22px #243e3208}
.shell{max-width:820px}.shell.choose-shell{max-width:900px}
.ja-inline{font-size:.88rem!important;line-height:1.75!important;color:#52665f;margin-top:6px!important;letter-spacing:0}
.welcome-lesson{background:#edf4eb;border:1px solid #c7dcca;border-radius:20px;margin:20px 0 26px;padding:0 24px}
.welcome-lesson>summary{padding:18px 0;font-size:1.1rem;font-weight:650;cursor:pointer;min-height:56px}
.welcome-lesson>summary small{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin:4px 0 0 20px}
.welcome-content{padding:6px 0 24px}.welcome-content h2{font-size:1.7rem;margin-bottom:14px}
.needs-grid,.perspective-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}
.needs-grid>div{background:#fffefa;border-radius:14px;padding:20px;border:1px solid #dbe6d5}
.needs-grid .icon{color:var(--green);margin-bottom:12px;width:26px;height:26px}
.needs-grid h3,.perspective-grid h3{line-height:1.4;margin-bottom:8px}.needs-grid p{font-size:.95rem}
.lesson-takeaway{font-weight:600}.situation-card{border-radius:17px;padding:20px 23px}
.situation-task{font-size:1rem;line-height:1.5;margin-top:14px}
.situation-progress{margin-top:12px;padding-top:10px}.situation-cards{gap:14px}
.perspective-prompt{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 2px 20px;margin:24px 0}
.perspective-grid p{font-size:.95rem}.perspective-question{font-weight:600}
.feedback-section{margin:30px 0 36px;min-width:0}
.feedback-section-heading{display:flex;align-items:center;gap:13px;margin:0 0 16px}
.feedback-section-heading h2{font-size:1.6rem;line-height:1.3}
.feedback-section-heading .ja-inline{margin-top:2px!important}
.section-number{flex:0 0 38px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--deep);color:white;font-weight:650}
.feedback-section:nth-of-type(2) .section-number{background:#6c6595}
.feedback-section:nth-of-type(3) .section-number{background:#846021}
.result{background:#edf4eb;color:var(--ink);box-shadow:none;border:1px solid #cedfcf;padding:22px;border-radius:16px}
.result:before,.result:after{display:none}.result h1{font-size:1.65rem;line-height:1.3}
.result .eyebrow{color:var(--green)}.overall-advice p{color:var(--ink)}.overall-advice .ja-inline{color:#52665f}
.rating-summary{font-size:.96rem;line-height:1.6;margin:8px 0}.meter-block .metric{margin-bottom:10px}
.meter-panel .meter-block{padding-bottom:14px;border-bottom:1px solid var(--line)}.meter-panel .meter-block:last-of-type{border:0;padding-bottom:0}
.meter-panel .fill{transition:width .3s}.meter-panel .suitable .fill{background:#52768c}.meter-panel .clear .fill{background:#79679b}
.listener-reaction{display:flex;align-items:flex-start;gap:18px;margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid #d8dfe7}
.listener-reaction img{flex:0 0 84px;width:84px;height:84px}
.listener-reaction h3{font-size:1.2rem;line-height:1.4}.listener-reaction p{font-size:.95rem;margin-top:8px}
.listener-reaction small{display:block;color:var(--muted);font-size:.8rem;line-height:1.5;margin-top:12px}
.understanding{background:#f0f4f6}.understanding .literal{margin-top:12px}.understanding h2{font-size:1.1rem}
.strategy-count{margin:14px 0;padding:12px 14px;background:#f0f3e9;border-radius:10px}
.strategy-count strong,.strategy-count span{display:block}.strategy-count span{font-size:.86rem;margin-top:5px}
.explorer{padding:12px 10px}.explorer-heading h2{font-size:1.3rem}
.strategy-row.recommended{border:2px solid #b69239;background:#fffbed}
.strengths{flex-direction:row;flex-wrap:wrap;gap:8px}.strengths button.strength{font-size:.83rem;padding:7px 10px;min-height:40px}
.next-move .panel-top h2{font-size:1.12rem}.next-move h3{line-height:1.4}
.next-example{padding:16px 0 0}.next-example h3{font-size:1rem}.next-example .example-phrase{font-size:1.06rem}
.understanding-check{min-width:0;margin:26px 0 20px;border:1px solid #dbcfae;border-radius:14px;padding:16px}
.understanding-check legend{font-weight:650;font-size:1rem;padding:0 7px}
.check-choice{display:flex;align-items:flex-start;gap:11px;border:1px solid #d6dccc;background:#fffefa;padding:13px;border-radius:10px;margin-top:10px;cursor:pointer;font-size:.94rem}
.check-choice input{accent-color:var(--deep);width:19px;height:19px;margin:3px 0;flex:0 0 19px}
.check-choice:has(input:checked){border-color:var(--green);background:#eef5e9}
.check-choice:focus-within{outline:2px solid var(--purple);outline-offset:2px}
.check-explanation{padding:15px;background:#ecf2e4;border-radius:10px;margin-top:15px}.check-explanation .small{font-size:.82rem}
.revision-editor{border-top:1px solid #dbcfae;padding-top:22px}.revision-editor h3{font-size:1.22rem}
.revision-editor p{text-align:left}.revision-editor textarea{margin-top:16px}.revision-editor .input-meta{margin-bottom:18px}
.revision-comparison{margin:20px 0}.revision-comparison>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;color:var(--green)}
.comparison{text-align:left}.history summary{font-weight:600}
.review-part{border:1px dashed #a5b6a8;border-radius:13px;padding:8px;margin:12px 0;background:transparent}
.part-review-note{padding:2px 4px 7px;line-height:1.4}.part-review-note strong{font-size:10px;letter-spacing:.025em}
.part-review-note span{display:none}.review-subpart{margin:8px 0}.review-part>.panel{border-radius:13px}
.feedback-section>.review-part{margin-bottom:14px}.review-enabled .fixed-action .part-review-note{max-width:772px}
.fixed-action{background:#f8f6eff5;backdrop-filter:blur(12px)}
.fixed-action>.button{max-width:772px}
.model-error-code{font-size:.78rem}
@media(min-width:700px){.choose-shell .situation-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.situation-card{padding:20px 16px;display:flex;flex-direction:column}.situation-card-top{gap:9px;align-items:flex-start}.situation-number{width:28px;height:28px;border-radius:8px;font-size:.85rem;flex:0 0 28px}.situation-card-top h2{font-size:1.2rem;line-height:1.4}.situation-card-top>.icon{display:none}.situation-card-top p{font-size:.8rem}.situation-task{margin-top:16px}.situation-card .ja-inline{margin-bottom:14px}.situation-progress{margin-top:auto;width:100%}.choose-shell .welcome-content>p{max-width:700px}}
@media(max-width:600px){.needs-grid,.perspective-grid{grid-template-columns:1fr;gap:12px}.needs-grid>div{padding:16px}.welcome-lesson{padding:0 18px}.welcome-content h2{font-size:1.5rem}.feedback-section-heading h2{font-size:1.3rem}.feedback-section{margin:26px 0}.listener-reaction{gap:12px}.listener-reaction img{width:62px;height:62px;flex-basis:62px}.listener-reaction h3{font-size:1.08rem}.listener-reaction .ja-inline{font-size:.8rem!important}.understanding-check{padding:12px}.check-choice{padding:11px}.panel{padding:18px}.brand small{display:none}.feedback-section-heading .ja-inline{font-size:.8rem!important}.section-number{flex-basis:32px;width:32px;height:32px;border-radius:9px}.review-part{padding:6px}.strengths button.strength{font-size:.8rem}.situation-card-top h2{font-size:1.3rem}}
@media print{html,body,.shell,.result,.panel,.welcome-lesson,.next-move,.understanding,.review-part{background:#fff!important;color:#163c30!important;box-shadow:none!important}.fixed-action,.back-link,.masthead button,.revision-cta .button{display:none!important}.shell,.shell.feedback-shell{max-width:none!important;padding:0!important}.result p,.overall-advice p,.ja-inline{color:#163c30!important}.review-part{break-inside:auto}.feedback-section-heading,.panel h2,.panel h3{break-after:avoid}.listener-reaction,.check-choice{break-inside:avoid}textarea{height:auto!important;overflow:visible!important}.part-review-note{color:#555!important}}
/* Japanese help opens independently of the page or an existing strategy sheet. */
.ja-wrap{margin:8px 0 12px}
.ja-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:7px 12px;border:1px solid #cddbd1;border-radius:10px;background:#f5f8f0;color:var(--green);font-size:.82rem;font-weight:600}
.ja-toggle .icon{width:17px;height:17px}
#translation-sheet{max-width:480px;width:calc(100% - 32px);margin:auto;border-radius:20px;max-height:80dvh}
#translation-sheet .translation-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:1rem}
.situation-select{display:flex;flex-direction:column;flex:1;width:100%;padding:0;text-align:left;background:transparent}
.situation-select .situation-progress{margin-top:auto;padding-top:18px}
.situation-card>.ja-wrap{margin-bottom:0}
.check-choice{flex-wrap:wrap;cursor:default}
.check-choice>label{display:flex;align-items:flex-start;gap:11px;flex:1 1 230px;cursor:pointer}
.check-choice>.ja-wrap{margin:0 0 0 auto}
.check-choice .ja-toggle{white-space:nowrap}
@media print{.ja-wrap,#translation-sheet{display:none!important}}
.listener-portrait{width:108px;height:108px;flex:0 0 108px;border-radius:18px;background-color:#f4f1e6;background-image:url('./assets/listener-portraits.webp');background-size:300% 300%;background-repeat:no-repeat;box-shadow:inset 0 0 0 1px #184f460d}
.listener-portrait.R1{--portrait-y:0%}.listener-portrait.R2{--portrait-y:50%}.listener-portrait.R3{--portrait-y:100%}
.listener-portrait.positive{background-position:0% var(--portrait-y)}.listener-portrait.hesitant{background-position:50% var(--portrait-y)}.listener-portrait.uncomfortable{background-position:100% var(--portrait-y)}
@media(max-width:600px){.listener-portrait{width:86px;height:86px;flex-basis:86px;border-radius:14px}}
