.rf-voice-feature{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(125deg,#172f35 0%,#1f4a4d 55%,#326c66 100%);color:#fff;overflow:hidden}
.rf-voice-feature h3,.rf-voice-feature p{color:#fff;margin:.2rem 0}.rf-voice-feature p{max-width:760px;opacity:.88}
.rf-voice-visual{display:flex;align-items:center;gap:22px}.rf-voice-feature-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.rf-wave{display:flex;align-items:center;justify-content:center;gap:4px;width:116px;height:76px;border-radius:22px;background:rgba(255,255,255,.1)}
.rf-wave i{display:block;width:5px;border-radius:9px;background:#87f0cb;animation:rf-wave 1.25s ease-in-out infinite}.rf-wave i:nth-child(1),.rf-wave i:nth-child(7){height:14px}.rf-wave i:nth-child(2),.rf-wave i:nth-child(6){height:28px;animation-delay:.1s}.rf-wave i:nth-child(3),.rf-wave i:nth-child(5){height:44px;animation-delay:.2s}.rf-wave i:nth-child(4){height:58px;animation-delay:.3s}
@keyframes rf-wave{0%,100%{transform:scaleY(.55);opacity:.65}50%{transform:scaleY(1);opacity:1}}
.rf-assessment-science{display:grid;gap:4px;margin:16px auto 0;max-width:620px;padding:14px 16px;border:1px solid #d8e9e4;background:#f4fbf8;border-radius:14px;text-align:left}.rf-assessment-science small{color:#667572}
.rf-preference-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rf-preference-options button{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #d8dfdd;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.rf-preference-options button:hover{border-color:#1d7c6b;background:#f4fbf8}.rf-preference-options button span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e3f3ee;color:#126353;font-weight:800}
.rf-support-result{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.rf-support-result>div{display:grid;grid-template-columns:48px 1fr;gap:2px 12px;padding:18px;border:1px solid #dce7e4;border-radius:16px;background:#f8fbfa}.rf-support-result>div>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#163e42;color:#9af1d6;font-size:22px}.rf-support-result small{color:#63716e}
.rf-voice-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin:12px 0 20px}.rf-voice-layout section{padding:18px;border:1px solid #dce5e3;border-radius:18px;background:#fbfcfc}
.rf-accent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.rf-accent-grid button{display:grid;gap:2px;padding:12px 6px;border:1px solid #d7dfdd;border-radius:13px;background:#fff;cursor:pointer}.rf-accent-grid button>span{font-size:24px}.rf-accent-grid button small{color:#70807c}.rf-accent-grid button.selected,.rf-gender-toggle button.selected{border-color:#1c7a68;background:#e8f7f1;color:#125d50;box-shadow:0 0 0 2px rgba(28,122,104,.09)}
.rf-gender-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rf-gender-toggle button{padding:10px;border:1px solid #d7dfdd;border-radius:11px;background:#fff;cursor:pointer}
.rf-context-summary{display:grid;gap:8px;margin:12px 0}.rf-context-summary>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e6ecea}.rf-context-summary small{color:#6f7c79}.rf-context-summary strong{text-align:right}
.rf-practice-builder{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.rf-practice-builder label{display:grid;gap:5px;color:#52635f;font-size:12px;font-weight:750}.rf-practice-builder label:last-child{grid-column:1/-1}.rf-practice-builder label>span{font-weight:500;color:#7c8986}.rf-practice-builder .input{width:100%;font:inherit;background:#fff;resize:vertical}
.rf-support-chips,.rf-key-terms{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.rf-support-chips span,.rf-key-terms span{padding:6px 9px;border-radius:999px;background:#e7f4f0;color:#175f53;font-size:12px;font-weight:700}
.rf-voice-drill{margin:18px 0;padding:22px;border-radius:18px;background:linear-gradient(180deg,#f8fbfa,#fff);border:1px solid #dce7e4}.rf-voice-drill blockquote{margin:18px 0;padding:18px 20px;border-left:5px solid #2b907d;border-radius:0 14px 14px 0;background:#edf8f4;font-size:21px;line-height:1.45;font-weight:700;color:#183e3f}
.rf-scene-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.rf-scene-flow>div{position:relative;display:grid;gap:6px;padding:12px;border-radius:13px;background:#173f43;color:#fff;min-height:82px}.rf-scene-flow>div:not(:last-child):after{content:'›';position:absolute;right:-8px;top:27px;z-index:2;display:grid;place-items:center;width:16px;height:24px;border-radius:7px;background:#84ddc0;color:#16453f;font-weight:900}.rf-scene-flow span{color:#8ce7cb}.rf-scene-flow strong{font-size:12px;line-height:1.3}
.rf-drill-actions{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.rf-record-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-height:44px;padding:12px;border:1px dashed #c9d9d5;border-radius:12px;color:#52635f}.rf-record-status>span:not(.rf-live-dot){font-size:12px}
.rf-live-dot{width:10px;height:10px;border-radius:50%;background:#e44;box-shadow:0 0 0 6px rgba(220,60,60,.13);animation:rf-pulse 1s infinite}@keyframes rf-pulse{50%{box-shadow:0 0 0 11px rgba(220,60,60,0)}}
.rf-coach-tips{display:grid;gap:6px;margin-top:14px}.rf-coach-tips span{font-size:13px;color:#40534f}
@media(max-width:900px){.rf-voice-feature,.rf-voice-visual{align-items:flex-start;flex-direction:column}.rf-voice-feature-actions{justify-content:flex-start}.rf-voice-layout{grid-template-columns:1fr}.rf-scene-flow{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rf-preference-options,.rf-support-result,.rf-practice-builder{grid-template-columns:1fr}.rf-practice-builder label:last-child{grid-column:auto}.rf-accent-grid{grid-template-columns:1fr 1fr}.rf-wave{width:84px}.rf-voice-drill blockquote{font-size:18px}}
@media(prefers-reduced-motion:reduce){.rf-wave i,.rf-live-dot{animation:none}}

.rf-consent{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:9px;width:100%;margin:10px 0;padding:12px;border-radius:12px;background:#fff7df;color:#4f4528;font-size:13px;line-height:1.35}.rf-consent input{width:18px;height:18px;margin:0;accent-color:#187462}
.rf-score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.rf-score-grid>div{display:grid;gap:5px;padding:12px;border:1px solid #d9e6e2;border-radius:13px;background:#fff}.rf-score-grid span{font-size:11px;color:#667672}.rf-score-grid strong{font-size:25px;color:#173f43}.rf-score-grid i{height:5px;border-radius:9px;background:#e4ecea;overflow:hidden}.rf-score-grid b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#37a98f,#83dfbd)}
.rf-word-feedback{display:flex;gap:6px;flex-wrap:wrap;padding:14px;border-radius:13px;background:#f5f8f7}.rf-word-feedback>span{padding:6px 8px;border-radius:8px;font-weight:700}.rf-word-feedback small{font-size:10px;opacity:.75}.rf-word-feedback .strong{background:#dcf5e8;color:#175e45}.rf-word-feedback .developing{background:#fff1c9;color:#725812}.rf-word-feedback .focus{background:#ffe1df;color:#8a302a}
@media(max-width:560px){.rf-score-grid{grid-template-columns:1fr 1fr}}

/* The learner's own scenarios and German compound words must wrap on phones. */
.rf-voice-feature>div,.rf-voice-layout section,.rf-context-summary strong,.rf-voice-drill blockquote,.rf-scene-flow strong,.rf-score-grid>div,.rf-word-feedback>span{min-width:0;overflow-wrap:anywhere}
.rf-preference-options,.rf-support-result,.rf-voice-layout,.rf-practice-builder,.rf-score-grid{min-width:0}
@media(max-width:560px){
  .rf-voice-feature,.rf-voice-drill{padding:16px}
  .rf-voice-drill blockquote{padding:12px;margin:14px 0}
  .rf-context-summary>div{flex-wrap:wrap}
  .rf-drill-actions .btn,.rf-voice-feature-actions .btn{white-space:normal;min-height:44px}
  .rf-scene-flow>div{min-width:0}
}
