.speaking-practice{--practice-ink:var(--language-color-ink,#0F172A);--practice-cobalt:var(--language-color-action,#2454BF);--practice-border:var(--language-color-border,#E2E8F0);max-width:1120px;margin:0 auto;padding:clamp(12px,2.5vw,24px);color:var(--practice-ink)}.speaking-practice>*+*{margin-top:1.25rem}.speaking-practice>header{display:grid;gap:10px;margin-bottom:8px;padding:clamp(20px,4vw,36px);border:1px solid var(--language-brand-200,#d6e1fa);border-radius:var(--language-radius-xl,24px);background:radial-gradient(120% 140% at 100% 0,var(--language-brand-100,#EEF3FD) 0,var(--language-color-surface,#fff) 60%)}.speaking-practice h1{margin:.2rem 0;font-size:clamp(2rem,4.5vw,3rem);font-weight:700;letter-spacing:-.04em;line-height:1.05}.speaking-practice h2,.speaking-practice h3{font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:650;letter-spacing:-.02em;line-height:1.3}.speaking-practice h4{font-weight:650}.speaking-practice p{line-height:1.65;color:var(--language-color-muted-ink,#475569);overflow-wrap:anywhere}.speaking-practice header p:first-child{color:var(--practice-cobalt);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.speaking-practice .speaking-panel{padding:clamp(1.25rem,4vw,2rem);background:var(--language-color-surface,#fff);border:1px solid var(--practice-border);border-radius:var(--language-radius-xl,24px);box-shadow:var(--language-shadow-md,0 8px 24px rgb(15 23 42/.08))}.speaking-practice .speaking-panel>*+*{margin-top:1.15rem}.speaking-practice label{display:block;line-height:1.6}.speaking-practice label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:.75rem;padding:14px 16px;border:1px solid var(--practice-border);border-radius:var(--language-radius-md,12px);background:var(--language-color-canvas,#F8FAFC);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.speaking-practice label:has(input[type=checkbox]:checked){border-color:var(--language-brand-300,#ADC3F4);background:var(--language-brand-50,#F3F6FE)}.speaking-practice input[type=checkbox]{flex:none;width:1.25rem;height:1.25rem;margin-top:.2rem;accent-color:var(--practice-cobalt)}.speaking-practice select{width:100%;overflow:hidden;text-overflow:ellipsis}.speaking-practice .speaking-download,.speaking-practice button{min-height:44px;padding:.6rem 1.1rem;border:1px solid var(--language-color-control-border,#94a3b8);border-radius:999px;background:var(--language-color-surface,#fff);color:var(--practice-ink);font-weight:600;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease;cursor:pointer}.speaking-practice .speaking-download:hover,.speaking-practice button:hover:not(:disabled){background:var(--language-color-subtle-surface,#F1F5F9)}.speaking-practice button.bg-primary{border-color:var(--practice-cobalt);background:var(--practice-cobalt);color:#fff;box-shadow:0 6px 16px rgb(36 84 191/.18)}.speaking-practice button.bg-primary:hover:not(:disabled){background:var(--language-color-action-hover,#1E4299)}.speaking-practice button:disabled{opacity:.5;cursor:default;box-shadow:none}.speaking-practice :focus-visible{outline:2px solid var(--practice-cobalt);outline-offset:2px}.speaking-practice audio[controls]:not([tabindex="-1"]){display:block;width:100%;margin-bottom:.75rem}.speaking-practice .speaking-actions{display:flex;flex-wrap:wrap;gap:.75rem}.speaking-practice [role=alert]{padding:1rem;border:1px solid var(--language-color-warning-border,#92400e);border-radius:var(--language-radius-md,12px);background:var(--language-color-warning-surface,#FFFBEB);color:var(--language-color-warning,#78350F)}.speaking-practice svg[role=img]{display:block;width:100%;height:auto;border-radius:.75rem;border:1px solid var(--practice-border)}.speaking-practice dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.speaking-practice dl dt{font-size:.85rem;color:var(--language-color-muted-ink,#475569)}.speaking-practice dl dd{margin:.25rem 0 0;font-weight:650}.speaking-practice ul{list-style:none;padding:0;margin:.75rem 0}.speaking-practice li{margin-top:.5rem}.speaking-practice .speaking-history li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:14px 16px;background:var(--language-color-surface,#fff);border:1px solid var(--practice-border);border-radius:var(--language-radius-md,12px)}.speaking-practice .speaking-drill{padding:1rem;border-radius:var(--language-radius-md,12px);background:var(--language-brand-50,#F3F6FE);border:1px solid var(--language-brand-200,#d6e1fa)}.speaking-practice .speaking-comparison dl>div{min-width:0}.speaking-practice .speaking-comparison blockquote{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.speaking-practice .speaking-eyebrow{margin:0 0 4px;color:var(--practice-cobalt);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.speaking-stepper{margin-top:0}.speaking-stepper-summary{display:none;margin:0 0 8px;font-size:.875rem}.speaking-stepper ol{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.speaking-practice .speaking-stepper li{position:relative;display:grid;justify-items:center;gap:6px;margin:0;text-align:center}.speaking-stepper li:before{content:"";position:absolute;top:13px;left:calc(-50% + 16px);right:calc(50% + 16px);height:2px;border-radius:2px;background:var(--practice-border)}.speaking-stepper li:first-child:before{display:none}.speaking-stepper li[data-state=current]:before,.speaking-stepper li[data-state=done]:before{background:var(--practice-cobalt)}.speaking-stepper-dot{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--practice-border);border-radius:999px;background:var(--language-color-surface,#fff);color:var(--language-color-subtle-ink,#526178);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.speaking-stepper li[data-state=done] .speaking-stepper-dot{border-color:var(--practice-cobalt);background:var(--practice-cobalt);color:#fff}.speaking-stepper li[data-state=current] .speaking-stepper-dot{border-color:var(--practice-cobalt);color:var(--practice-cobalt);box-shadow:0 0 0 4px var(--language-brand-100,#EEF3FD)}.speaking-stepper-label{color:var(--language-color-subtle-ink,#526178);font-size:.75rem;font-weight:600;line-height:1.25}.speaking-stepper li[data-state=current] .speaking-stepper-label{color:var(--practice-ink)}.speaking-practice .speaking-timer{display:flex;align-items:center;gap:clamp(16px,4vw,32px);padding:clamp(16px,3vw,24px);border:1px solid var(--language-brand-200,#d6e1fa);border-radius:var(--language-radius-lg,16px);background:var(--language-brand-50,#F3F6FE)}.speaking-practice .speaking-timer[data-kind=prepare],.speaking-practice .speaking-timer[data-kind=select]{border-color:#F5D9A8;background:#FFF8EB}.speaking-timer-copy{display:grid;gap:6px;min-width:0;flex:1 1 auto}.speaking-practice .speaking-timer-copy>p:first-child{margin:0;color:var(--practice-ink);font-size:1.05rem;font-weight:650}.speaking-practice .speaking-timer [role=timer].speaking-timer-text{margin:0;font-size:.875rem;font-weight:600;color:var(--language-color-muted-ink,#475569);font-variant-numeric:tabular-nums;letter-spacing:0}.speaking-practice .speaking-timer [role=timer] span{font-size:inherit}.speaking-practice .speaking-timer-ring svg{width:100%;height:100%;border:0;border-radius:0}.speaking-practice .speaking-meter-status{margin:0;font-size:.875rem;font-weight:600;color:var(--practice-ink)}.speaking-practice .speaking-grade{border-radius:var(--language-radius-xl,24px)}.speaking-feedback{display:grid;gap:16px}.speaking-summary{padding:16px;border:1px solid var(--practice-border);border-radius:var(--language-radius-lg,16px);background:var(--language-color-canvas,#F8FAFC)}.speaking-practice .speaking-summary-title{margin:0 0 10px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--language-color-muted-ink,#475569)}.speaking-practice .speaking-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.speaking-practice .speaking-chip{display:grid;gap:2px;margin:0;padding:10px 12px;border:1px solid var(--language-brand-200,#d6e1fa);border-radius:var(--language-radius-md,12px);background:var(--language-color-surface,#fff)}.speaking-chip[data-estimated=false]{border-style:dashed;border-color:var(--language-color-control-border,#94A3B8);background:transparent}.speaking-chip-label{color:var(--language-color-muted-ink,#475569);font-size:.75rem;font-weight:600}.speaking-chip-value{font-family:var(--language-font-mono,ui-monospace,monospace);font-size:1.05rem;font-weight:600;color:var(--practice-ink)}.speaking-chip[data-estimated=false] .speaking-chip-value{font-family:inherit;font-size:.9rem;color:var(--language-color-muted-ink,#475569)}.speaking-practice .speaking-summary-caveat{margin:10px 0 0;font-size:.8125rem}.speaking-drill-card,.speaking-priority{display:flex;gap:12px;padding:16px;border-radius:var(--language-radius-lg,16px)}.speaking-priority{border:1px solid #f5d9a8;background:#FFF8EB}.speaking-drill-icon,.speaking-priority-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px}.speaking-priority-icon{color:#B45309;background:#FEF3C7}.speaking-practice .speaking-drill-card h3,.speaking-practice .speaking-priority h3{margin:0 0 4px;font-size:1rem}.speaking-practice .speaking-drill-card p,.speaking-practice .speaking-priority p{margin:0;color:var(--practice-ink)}.speaking-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.speaking-dimension{display:grid;align-content:start;gap:10px;min-width:0;padding:16px;border:1px solid var(--practice-border);border-radius:var(--language-radius-lg,16px);background:var(--language-color-surface,#fff)}.speaking-dimension[data-estimated=false]{background:var(--language-color-canvas,#F8FAFC)}.speaking-dimension-head{display:grid;gap:4px}.speaking-practice .speaking-dimension h3{margin:0;font-size:1.05rem}.speaking-practice .speaking-dimension-range{margin:0;justify-self:start;padding:3px 10px;border-radius:999px;background:var(--language-brand-100,#EEF3FD);color:var(--language-brand-800,#1A3A88);font-size:.8125rem;font-weight:600}.speaking-dimension[data-estimated=false] .speaking-dimension-range{background:var(--language-color-subtle-surface,#F1F5F9);color:var(--language-color-muted-ink,#475569)}.speaking-practice .speaking-dimension-reason{margin:0;font-size:.9rem}.speaking-quotes{display:grid;gap:6px}.speaking-practice .speaking-quotes-label{display:flex;align-items:center;gap:6px;margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--language-color-subtle-ink,#526178)}.speaking-practice .speaking-quotes-label svg{width:13px;border:0}.speaking-quotes blockquote{margin:0;padding:8px 12px;border-left:3px solid var(--practice-cobalt);border-radius:0 8px 8px 0;background:var(--language-brand-50,#F3F6FE);color:var(--practice-ink);font-size:.875rem;line-height:1.55}.speaking-fix{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--practice-border)}.speaking-practice .speaking-fix p{margin:0;font-size:.875rem;color:var(--practice-ink)}.speaking-try{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;background:#F0FDF4}.speaking-practice button.speaking-copy{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;min-height:32px;padding:4px 10px;border-color:#BBF7D0;background:#fff;color:var(--language-color-success,#166534);font-size:.75rem}.speaking-practice .speaking-copy svg{width:14px;border:0}.speaking-model{border:1px solid var(--practice-border);border-radius:var(--language-radius-lg,16px);background:var(--language-color-surface,#fff)}.speaking-model>summary,.speaking-transcript>summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 16px;font-weight:650;cursor:pointer;list-style:none}.speaking-model>summary::-webkit-details-marker,.speaking-transcript>summary::-webkit-details-marker{display:none}.speaking-model>summary:after,.speaking-transcript>summary:after{content:"";width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.speaking-model[open]>summary:after,.speaking-transcript[open]>summary:after{transform:rotate(-135deg)}.speaking-model-body{display:grid;gap:8px;padding:0 16px 16px}.speaking-practice .speaking-model-body p:first-child{margin:0;color:var(--practice-ink)}.speaking-practice .speaking-model-note{margin:0;font-size:.8125rem}.speaking-drill-card{border:1px solid var(--language-brand-200,#d6e1fa);background:linear-gradient(180deg,var(--language-brand-50,#F3F6FE),var(--language-color-surface,#fff))}.speaking-drill-icon{color:var(--practice-cobalt);background:var(--language-brand-100,#EEF3FD)}.speaking-next-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:6px;font-weight:650;color:var(--practice-cobalt)}.speaking-practice .speaking-next-link svg{width:16px;border:0}.speaking-practice .speaking-delivery h3{margin:0 0 10px;font-size:1rem}.speaking-practice dl.speaking-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.speaking-practice dl.speaking-stats>div{padding:12px;border:1px solid var(--practice-border);border-radius:var(--language-radius-md,12px);background:var(--language-color-surface,#fff);min-width:0}.speaking-practice dl.speaking-stats dt{font-size:.75rem;font-weight:600;line-height:1.35}.speaking-practice dl.speaking-stats dd{font-family:var(--language-font-mono,ui-monospace,monospace);font-size:1.15rem;font-weight:600;color:var(--practice-ink);overflow-wrap:anywhere}.speaking-practice dl.speaking-stats dd[data-text]{font-family:inherit;font-size:.875rem;line-height:1.35;color:var(--language-color-muted-ink,#475569)}.speaking-practice .speaking-delivery-note{margin:8px 0 0;font-size:.8125rem}.speaking-transcript{border-top:1px solid var(--practice-border)}.speaking-transcript>summary{padding:0}.speaking-consent-card{margin:0}.speaking-callout--neutral{padding:12px 14px;border-radius:var(--language-radius-md,12px);background:var(--language-color-subtle-surface,#F1F5F9)}.speaking-practice .speaking-retry-card{padding:clamp(16px,3vw,22px);border:1px solid var(--language-brand-300,#adc3f4);border-radius:var(--language-radius-lg,16px);background:linear-gradient(180deg,var(--language-brand-50,#F3F6FE),var(--language-color-surface,#fff));box-shadow:var(--language-shadow-sm,0 1px 3px rgb(15 23 42/.06))}.speaking-practice .speaking-retry-card h3{margin-top:0}.speaking-badge{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;background:var(--language-color-subtle-surface,#F1F5F9);color:var(--language-color-muted-ink,#475569);font-size:.75rem;font-weight:600}.speaking-badge[data-state=saved]{background:#DCFCE7;color:var(--language-color-success,#166534)}@media (max-width:640px){.speaking-stepper-summary{display:block}.speaking-stepper-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.speaking-stepper-dot{width:24px;height:24px;font-size:.7rem}.speaking-stepper li:before{top:11px;left:calc(-50% + 13px);right:calc(50% + 13px)}.speaking-practice .speaking-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.speaking-dimensions{grid-template-columns:1fr}.speaking-practice dl.speaking-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.speaking-practice .speaking-actions>*{flex:1 1 100%}.speaking-practice .speaking-timer{flex-direction:column;text-align:center}.speaking-try{flex-direction:column}}@media (prefers-reduced-motion:reduce){.speaking-practice *,.speaking-practice :after,.speaking-practice :before{transition:none!important;scroll-behavior:auto!important}.speaking-meter-rec{animation:none}}html[data-language-reduce-motion=true] .speaking-meter-rec{animation:none}.speaking-exam-grade{display:grid;gap:16px;margin-top:20px;padding:clamp(16px,3vw,24px);border:1px solid var(--practice-border,#e2e8f0);border-radius:var(--language-radius-xl,20px);background:var(--language-color-surface,#fff);box-shadow:var(--language-shadow-sm,0 1px 3px rgb(15 23 42/.08))}.speaking-exam-grade-head{display:grid;gap:4px}.speaking-exam-grade-head p:last-child{margin:0;color:var(--language-color-muted-ink,#475569);font-size:.9rem}.speaking-exam-target{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:600}.speaking-exam-target select{min-height:44px;padding:8px 12px;border:1px solid var(--language-color-control-border,#94a3b8);border-radius:var(--language-radius-control,10px);background:var(--language-color-surface,#fff);font:inherit}.speaking-exam-grade .speaking-primary{justify-self:start}.speaking-exam-grade .speaking-chips{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.speaking-exam-grade .speaking-delivery h4,.speaking-exam-grade .speaking-dimension h4,.speaking-exam-grade .speaking-drill-card h4{margin:0 0 4px;font-size:1rem}.speaking-exam-grade .speaking-drill-card p{margin:0}.speaking-practice .speaking-exam-grade dl.speaking-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:640px){.speaking-practice .speaking-exam-grade dl.speaking-stats{grid-template-columns:1fr}}