:root{--oral-navy:#0d3b66;--oral-blue:#1f4e8c;--oral-teal:#087e8b;--oral-coral:#d94f5c;--oral-gold:#f0b84b;--oral-green:#218c74;--oral-ink:#203040;--oral-muted:#607386;--oral-soft:#f3f8fb;--oral-line:rgba(13,59,102,.14);--oral-shadow:0 22px 55px rgba(13,59,102,.13)}
*{box-sizing:border-box}
.oral-mock-page{background:var(--oral-soft);color:var(--oral-ink);overflow-x:hidden}
.oral-mock-hero .lesson-hero-image img{object-position:center 42%}
.oral-outcomes{width:min(1180px,calc(100% - 2rem));margin:-1.4rem auto 0;position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.oral-outcomes article{min-width:0;display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;border-radius:17px;background:#fff;border:1px solid var(--oral-line);box-shadow:0 14px 34px rgba(13,59,102,.09)}
.oral-outcomes i{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:13px;background:#e6f5f6;color:var(--oral-teal);font-size:1.25rem}
.oral-outcomes div{min-width:0}.oral-outcomes strong,.oral-outcomes span{display:block}.oral-outcomes strong{color:var(--oral-navy)}.oral-outcomes span{margin-top:.16rem;color:var(--oral-muted);font-size:.82rem;line-height:1.35}
.oral-mock-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2.2rem 0 4.5rem}
.oral-mock-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:1.1rem;align-items:start}
.oral-main-card,.oral-sidebar section{min-width:0;background:#fff;border:1px solid rgba(13,59,102,.08);border-radius:20px;box-shadow:var(--oral-shadow)}
.oral-main-card{padding:clamp(1rem,3vw,2rem)}
.oral-sidebar{display:grid;gap:1rem}.oral-sidebar section{padding:1.2rem}.oral-sidebar h2,.oral-sidebar h3{margin:.2rem 0 .7rem;color:var(--oral-navy)}.oral-sidebar p:not(.oral-kicker){margin:0;color:var(--oral-muted);line-height:1.58;font-size:.92rem}
.oral-kicker{margin:0 0 .4rem;color:var(--oral-coral);font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.oral-onboarding h2,.interview-panel h2,.oral-summary h2{color:var(--oral-navy);margin:.2rem 0 .7rem}.oral-onboarding>p:not(.oral-kicker){max-width:760px;color:var(--oral-muted);line-height:1.65}
.oral-steps{list-style:none;margin:1.25rem 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.oral-steps li{min-width:0;display:flex;gap:.7rem;align-items:center;padding:.8rem;border-radius:14px;background:#f5f9fc;border:1px solid rgba(13,59,102,.08)}
.oral-steps li>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:var(--oral-navy);color:#fff;font-weight:900}.oral-steps div{min-width:0}.oral-steps strong,.oral-steps small{display:block}.oral-steps strong{color:var(--oral-navy)}.oral-steps small{margin-top:.15rem;color:var(--oral-muted);line-height:1.35}
.microphone-check{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;border-radius:16px;background:linear-gradient(135deg,#e6f5f6,#fff7e3);border:1px solid rgba(8,126,139,.15)}
.microphone-check>div{min-width:0}.microphone-check strong{color:var(--oral-navy)}.microphone-check p{margin:.28rem 0 0;color:var(--oral-muted);line-height:1.45;font-size:.88rem}
.oral-start-actions,.summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.2rem}.resume-note{padding:.75rem;border-radius:12px;background:#fff7e3;color:#6f5520;font-weight:800}
.oral-button{min-height:46px;border:0;border-radius:999px;padding:.72rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;font:inherit;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.oral-button:hover{transform:translateY(-1px)}.oral-button.primary{background:linear-gradient(135deg,var(--oral-blue),var(--oral-navy));color:#fff;box-shadow:0 12px 26px rgba(31,78,140,.2)}.oral-button.secondary{background:#e6f5f6;color:var(--oral-navy);border:1px solid rgba(8,126,139,.16)}.oral-button.stop{background:var(--oral-coral);color:#fff}.oral-button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.oral-text-button{border:0;background:transparent;color:var(--oral-blue);padding:.45rem;font:inherit;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
[hidden]{display:none!important}
.interview-progress-header{display:grid;gap:.55rem;margin-bottom:1rem}.interview-progress-header>div:first-child{display:flex;justify-content:space-between;gap:1rem}.interview-progress-header span{color:var(--oral-coral);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.interview-progress-header strong{color:var(--oral-navy);text-align:right}.interview-progress-track{height:9px;border-radius:999px;background:#e4ecf2;overflow:hidden}.interview-progress-track i{display:block;width:20%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--oral-teal),var(--oral-green));transition:width .3s ease}
.interviewer-card{padding:1.15rem;border-radius:18px;background:linear-gradient(145deg,#e8f5fa 0%,#fff 55%,#fff5de 100%);border:1px solid rgba(13,59,102,.11)}
.interviewer-identity{display:flex;align-items:center;gap:.65rem}.interviewer-identity>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--oral-navy);color:#fff;font-size:1.35rem}.interviewer-identity strong,.interviewer-identity small{display:block}.interviewer-identity strong{color:var(--oral-navy)}.interviewer-identity small{color:var(--oral-muted)}
.interviewer-status{margin:.8rem 0 .2rem;color:var(--oral-teal);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.interviewer-card h2{font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.25}
.interviewer-audio-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem}.question-play-button{min-height:48px;border:0;border-radius:999px;padding:.72rem 1rem;display:inline-flex;align-items:center;gap:.45rem;background:var(--oral-navy);color:#fff;font:inherit;font-weight:900;cursor:pointer}.question-play-button i{font-size:1.2rem}.speed-control{display:flex;align-items:center;gap:.35rem;padding:.3rem;border-radius:999px;background:#fff;border:1px solid var(--oral-line)}.speed-control span{padding:0 .35rem;color:var(--oral-muted);font-size:.76rem;font-weight:900}.speed-control button{min-width:58px;min-height:36px;border:0;border-radius:999px;background:transparent;color:var(--oral-navy);font-weight:900;cursor:pointer}.speed-control button.is-active{background:#e6f5f6;color:var(--oral-teal)}
.oral-map{margin:1rem 0 0;border-radius:16px;overflow:hidden;border:1px solid var(--oral-line);background:#fff}.oral-map img{width:100%;height:auto;display:block;object-fit:contain}.oral-map figcaption{padding:.75rem 1rem;color:var(--oral-muted);font-size:.88rem;line-height:1.45}.oral-map figcaption strong{color:var(--oral-coral)}
.answer-support{margin-top:1rem;padding:1rem;border-radius:16px;background:#f7fafc;border:1px solid var(--oral-line)}.answer-support-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.answer-support h3{margin:.1rem 0;color:var(--oral-navy)}.support-reminder{margin:.45rem 0 .8rem;color:var(--oral-muted);font-size:.88rem;line-height:1.45}.answer-frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.answer-frame{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.85rem;border:1px solid var(--oral-line);border-radius:14px;background:#fff;color:var(--oral-ink);text-align:left;font:inherit;cursor:pointer}.answer-frame:hover,.answer-frame.is-selected{border-color:var(--oral-teal);box-shadow:0 0 0 3px rgba(8,126,139,.09)}.answer-frame>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e6f5f6;color:var(--oral-teal);font-weight:900}.answer-frame strong,.answer-frame small{display:block}.answer-frame strong{color:var(--oral-navy)}.answer-frame small{margin-top:.25rem;color:var(--oral-muted);line-height:1.5;font-size:.86rem;overflow-wrap:anywhere}.show-help-button{margin-top:1rem}
.language-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.75rem}.language-support-grid>section{min-width:0;padding:.8rem;border-radius:13px;background:#fff;border:1px solid var(--oral-line)}.vocabulary-bank{display:flex;flex-wrap:wrap;gap:.35rem}.vocabulary-bank span{display:inline-flex;padding:.38rem .58rem;border-radius:999px;background:#e6f5f6;color:var(--oral-teal);font-size:.78rem;font-weight:900}.grammar-clue{margin:0;color:var(--oral-muted);font-size:.86rem;line-height:1.5}.grammar-clue strong{color:var(--oral-navy)}
.answer-recorder{margin-top:1rem;padding:1.1rem;border:2px dashed rgba(8,126,139,.25);border-radius:18px;text-align:center}.oral-microphone-picker{display:grid;gap:.35rem;max-width:620px;margin:0 auto 1rem;text-align:left;color:var(--oral-navy);font-weight:900}.oral-microphone-picker select{width:100%;min-height:48px;padding:.65rem .8rem;border:1px solid rgba(13,59,102,.22);border-radius:11px;background:#fff;color:var(--oral-navy);font-size:1rem}.oral-level-meter{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;max-width:620px;margin:0 auto 1rem;color:var(--oral-muted);font-size:.78rem;font-weight:800}.oral-level-meter>div{height:10px;border-radius:999px;background:#e3eaf0;overflow:hidden}.oral-level-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--oral-green),var(--oral-gold),var(--oral-coral));transition:width .1s}.oral-level-meter b{min-width:88px;color:var(--oral-navy)}
.oral-mic-button{width:86px;height:86px;border:0;border-radius:50%;display:grid;place-items:center;margin:0 auto .8rem;background:linear-gradient(135deg,var(--oral-coral),#b73549);color:#fff;font-size:2rem;box-shadow:0 16px 30px rgba(217,79,92,.25);cursor:pointer}.oral-mic-button.is-recording{animation:oral-pulse 1.25s infinite}.oral-mic-button:disabled{opacity:.48;box-shadow:none}.oral-record-status{margin:0;color:var(--oral-navy);font-weight:900}.oral-record-help{margin:.3rem 0 0;color:var(--oral-muted);font-size:.88rem}.oral-timer{display:inline-flex;margin-top:.7rem;padding:.3rem .65rem;border-radius:999px;background:#e6f5f6;color:var(--oral-navy);font-weight:900;font-variant-numeric:tabular-nums}.oral-recorder-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-top:1rem}.oral-transcript{min-height:58px;margin-top:1rem;padding:.9rem;border-radius:12px;background:#f5f9fc;color:var(--oral-muted);text-align:left;line-height:1.55;overflow-wrap:anywhere}.oral-transcript.has-text{color:var(--oral-ink);border-left:4px solid var(--oral-teal)}#studentAudio{display:block;width:100%;max-width:100%;margin-top:.8rem}.oral-feedback{margin-top:1rem;text-align:left}.feedback-checks{display:flex;flex-wrap:wrap;gap:.45rem}.feedback-check{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border-radius:999px;background:#eff3f6;color:var(--oral-muted);font-size:.78rem;font-weight:900}.feedback-check.is-met{background:#dcf6ec;color:#14634c}.feedback-message{margin:.7rem 0 0;padding:.8rem;border-radius:12px;background:#fff6dc;border-left:4px solid var(--oral-gold);color:#695124;line-height:1.5}.feedback-note{margin:.55rem 0 0;color:var(--oral-muted);font-size:.78rem}.mic-unsupported{margin-top:1rem;padding:1rem;border-radius:14px;background:#ffe7e9;color:#8e1f2a;text-align:left;font-weight:700;line-height:1.5}.question-navigation{display:flex;justify-content:flex-end;margin-top:1rem}.question-navigation .oral-button{min-width:190px}
.coverage-list{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.5rem}.coverage-list li{display:flex;align-items:center;gap:.6rem;padding:.6rem;border-radius:11px;background:#f5f9fc;color:var(--oral-navy);font-size:.88rem;font-weight:900}.coverage-list i{color:var(--oral-teal)}
.summary-celebration{text-align:center;padding:1rem}.summary-celebration>i{font-size:3.5rem;color:var(--oral-green)}.summary-celebration>p:not(.oral-kicker){margin:.4rem auto 0;max-width:650px;color:var(--oral-muted);line-height:1.55}.summary-answers{display:grid;gap:.7rem;margin-top:1rem}.summary-answer{padding:1rem;border-radius:14px;background:#f6f9fc;border:1px solid var(--oral-line)}.summary-answer header{display:flex;justify-content:space-between;gap:1rem}.summary-answer h3{margin:0;color:var(--oral-navy);font-size:1rem}.summary-answer span{color:var(--oral-teal);font-size:.76rem;font-weight:900}.summary-answer blockquote{margin:.6rem 0 0;padding:.65rem .8rem;border-left:4px solid var(--oral-teal);background:#fff;color:var(--oral-ink);line-height:1.5}.summary-answer p{margin:.55rem 0 0;color:var(--oral-muted);font-size:.84rem;line-height:1.45}.summary-actions{justify-content:center;margin-top:1.2rem}
.readiness-report{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2rem;align-items:center;padding:1.15rem;border-radius:18px;background:linear-gradient(135deg,#e6f5f6,#fff7e3);border:1px solid rgba(8,126,139,.16)}.readiness-score{--score:0;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--oral-green) calc(var(--score)*1%),#dbe6ec 0);position:relative}.readiness-score:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}.readiness-score div{position:relative;text-align:center}.readiness-score strong{display:block;color:var(--oral-navy);font-size:2.35rem;line-height:1}.readiness-score span{display:block;margin-top:.18rem;color:var(--oral-muted);font-size:.72rem;font-weight:900}.readiness-copy h3{margin:.15rem 0 .45rem;color:var(--oral-navy);font-size:clamp(1.3rem,3vw,1.85rem)}.readiness-copy>p:not(.oral-kicker){margin:0;color:var(--oral-muted);line-height:1.5}.readiness-copy small{display:block;margin-top:.55rem;color:#765a22;font-weight:800}
.summary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1rem}.summary-metric{min-width:0;padding:.85rem;border-radius:14px;background:#f5f9fc;border:1px solid var(--oral-line)}.summary-metric header{display:flex;justify-content:space-between;gap:.4rem;align-items:baseline}.summary-metric strong{color:var(--oral-navy);font-size:1.35rem}.summary-metric span{color:var(--oral-muted);font-size:.72rem;font-weight:900}.summary-metric p{margin:.35rem 0 0;color:var(--oral-muted);font-size:.75rem;line-height:1.35}.summary-metric-bar{height:7px;margin-top:.55rem;border-radius:999px;background:#dfe8ee;overflow:hidden}.summary-metric-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--oral-teal),var(--oral-green))}
.summary-guidance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.summary-guidance-grid>section,.summary-word-practice,.attempt-history-panel{padding:1rem;border-radius:15px;background:#f8fbfd;border:1px solid var(--oral-line)}.summary-guidance-grid h3,.summary-word-practice h3,.attempt-history-panel h3,.summary-section-heading h3{margin:.15rem 0 .65rem;color:var(--oral-navy)}.summary-guidance-grid ul{margin:0;padding-left:1.15rem;color:var(--oral-muted);line-height:1.55;font-size:.88rem}.summary-guidance-grid li+li{margin-top:.35rem}
.summary-word-practice,.attempt-history-panel{margin-top:1rem}.word-practice-list{display:flex;flex-wrap:wrap;gap:.45rem}.word-practice-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.48rem .68rem;border-radius:999px;background:#fff0dc;color:#7a4e14;border:1px solid rgba(240,184,75,.28);font-weight:900;font-size:.84rem}.word-practice-chip small{color:#9a6d2e}.word-practice-clear{margin:0;color:var(--oral-green);font-weight:900}.confidence-disclaimer{display:flex;gap:.45rem;align-items:flex-start;margin:.75rem 0 0;color:var(--oral-muted);font-size:.78rem;line-height:1.45}.confidence-disclaimer i{color:var(--oral-teal);margin-top:.12rem}
.attempt-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:.5rem}.attempt-card{display:grid;gap:.12rem;padding:.7rem;border-radius:12px;background:#fff;border:1px solid var(--oral-line);text-align:center}.attempt-card.is-current{border-color:var(--oral-green);box-shadow:0 0 0 3px rgba(33,140,116,.08)}.attempt-card small{color:var(--oral-muted);font-size:.68rem}.attempt-card strong{color:var(--oral-navy);font-size:1.35rem}.attempt-card span{color:var(--oral-teal);font-size:.68rem;font-weight:900}.summary-section-heading{margin-top:1.2rem}
.summary-answer{overflow:hidden}.summary-answer-score{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:.38rem .55rem;border-radius:999px;background:#e6f5f6;color:var(--oral-teal)!important}.answer-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:.7rem}.answer-mini-metric{padding:.55rem .4rem;border-radius:10px;background:#fff;text-align:center}.answer-mini-metric strong{display:block;color:var(--oral-navy);font-size:1rem}.answer-mini-metric small{display:block;color:var(--oral-muted);font-size:.64rem}.answer-word-review{margin-top:.65rem;padding:.65rem;border-radius:10px;background:#fff8e8;color:#70531d;font-size:.8rem;line-height:1.45}.answer-word-review strong{color:#5f4413}.answer-model{margin-top:.65rem;padding:.7rem;border-radius:10px;background:#eaf6f7;color:var(--oral-muted);font-size:.82rem;line-height:1.5}.answer-model strong{display:block;color:var(--oral-navy);margin-bottom:.2rem}
@keyframes oral-pulse{0%,100%{box-shadow:0 0 0 0 rgba(217,79,92,.4)}50%{box-shadow:0 0 0 17px rgba(217,79,92,0)}}
@media(max-width:980px){.oral-mock-layout{grid-template-columns:1fr}.oral-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.oral-mock-shell{padding-top:1.5rem}}
@media(max-width:760px){.oral-outcomes{grid-template-columns:1fr;margin-top:1rem}.oral-sidebar{grid-template-columns:1fr}.oral-steps,.answer-frame-grid,.language-support-grid{grid-template-columns:1fr}.microphone-check{align-items:stretch;flex-direction:column}.oral-mock-hero .lesson-hero-image img{height:270px}.interviewer-audio-controls{align-items:stretch;flex-direction:column}.question-play-button,.speed-control{width:100%;justify-content:center}.speed-control button{flex:1}.answer-support-heading{align-items:start}.oral-main-card{border-radius:16px}.oral-start-actions,.summary-actions{display:grid;grid-template-columns:1fr}.oral-start-actions .oral-button,.summary-actions .oral-button{width:100%}.summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-guidance-grid{grid-template-columns:1fr}}
@media(max-width:520px){.oral-mock-shell,.oral-outcomes{width:min(100% - 1rem,1180px)}.oral-main-card{padding:.8rem}.interview-progress-header>div:first-child{display:grid}.interview-progress-header strong{text-align:left}.interviewer-card,.answer-support,.answer-recorder{padding:.85rem}.oral-microphone-picker select{font-size:16px}.oral-level-meter{grid-template-columns:1fr;text-align:left}.oral-level-meter b{min-width:0}.oral-recorder-actions{display:grid;grid-template-columns:1fr}.oral-recorder-actions .oral-button,.question-navigation .oral-button{width:100%}.question-navigation{display:block}.oral-map figcaption{font-size:.8rem}.answer-support-heading{display:grid}.answer-support-heading .oral-text-button{justify-self:start;padding-left:0}.summary-answer header{display:grid;gap:.25rem}.readiness-report{grid-template-columns:1fr;text-align:center}.readiness-score{margin:0 auto}.summary-metrics,.answer-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attempt-history{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
