.listening-page{min-height:calc(100vh - 120px);background:radial-gradient(circle at top right,#f1f5f9 0,#f8fafc 100%);color:#0f172a;font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}.app-main:has(.listening-session-shell){max-width:none;padding:0;width:100%}.listening-shell{width:min(1160px,calc(100% - 32px));margin:0 auto;padding:40px 0 64px}.listening-session-shell{width:100%;max-width:none;margin:0;padding:0 28px 48px}.listening-hub-shell{padding-top:28px}.listening-hub-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.listening-hub-header h1{margin:10px 0 6px;color:#0f172a;font-size:34px;font-weight:950;letter-spacing:0;line-height:1.08}.listening-hub-header p{max-width:640px;margin:0;color:#64748b;font-size:15px;line-height:1.55}.listening-hub-mini-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.listening-hub-mini-stats span{display:inline-flex;align-items:center;min-height:30px;border:1px solid #dbe3ee;border-radius:999px;background:#ffffff;color:#475569;padding:0 10px;font-size:12px;font-weight:850}.listening-hub-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:stretch;margin-bottom:16px}.listening-atlas-card,.listening-custom-panel,.listening-hub-side-panel{border:1px solid #dbe3ee;border-radius:14px;background:#ffffff;box-shadow:0 12px 32px rgba(15,23,42,.05)}.listening-atlas-card{display:flex;flex-direction:column;gap:20px;padding:24px}.listening-atlas-main{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:start}.listening-atlas-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:14px;background:#eff6ff;color:#2563eb}.listening-atlas-eyebrow{margin:0 0 6px;color:#2563eb;font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.listening-atlas-card h2,.listening-custom-head h2{margin:0;color:#0f172a;font-size:24px;font-weight:950;letter-spacing:0}.listening-atlas-card p,.listening-custom-head p{margin:8px 0 0;color:#64748b;font-size:14px;line-height:1.55}.listening-atlas-chips{display:flex;flex-wrap:wrap;gap:8px}.listening-atlas-chips span{display:inline-flex;align-items:center;min-height:30px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:0 11px;font-size:12px;font-weight:900}.listening-atlas-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.listening-atlas-start-btn{min-width:190px}.listening-hub-side-panel{display:grid;gap:10px;padding:14px}.listening-side-stat{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #eef2f7;border-radius:10px;background:#f8fafc;padding:10px}.listening-side-stat span{color:#64748b;font-size:12px;font-weight:800}.listening-side-stat strong{color:#0f172a;font-size:16px;font-weight:950}.listening-custom-panel{margin-bottom:20px;padding:16px}.listening-custom-panel:not(.listening-custom-panel-open){box-shadow:none}.listening-custom-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.listening-custom-head h2{font-size:18px}.listening-custom-body{display:grid;gap:18px;margin-top:16px}.listening-level-grid-compact .listening-level-btn{padding:14px}.listening-custom-start-btn{justify-self:start}.listening-resume-compact{margin-bottom:16px}.dictation-v1-shell{display:grid;gap:20px;padding-top:28px}.dictation-v1-eyebrow{display:inline-flex;align-items:center;margin:0 0 7px;color:#1d4ed8;font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.dictation-ability-section,.dictation-atlas-hero,.dictation-manual-section{border:1px solid #dbe3ee;border-radius:14px;background:#ffffff;box-shadow:0 12px 32px rgba(15,23,42,.05)}.dictation-atlas-hero{display:grid;gap:18px;padding:26px;border-color:#bfdbfe;background:linear-gradient(135deg,#ffffff,#eff6ff)}.dictation-atlas-hero-main{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:start}.dictation-atlas-hero-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:14px;background:#dbeafe;color:#1d4ed8}.dictation-atlas-hero h1{margin:0;color:#0f172a;font-size:30px;font-weight:950;letter-spacing:0;line-height:1.12}.dictation-atlas-copy{max-width:720px;margin:8px 0 0;color:#475569;font-size:15px;line-height:1.55}.dictation-atlas-reasons{display:grid;gap:8px;max-width:820px}.dictation-atlas-reason{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;color:#334155;font-size:14px;line-height:1.5}.dictation-atlas-reason svg{margin-top:2px;color:#2563eb}.dictation-atlas-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.dictation-atlas-meta{display:flex;gap:8px;flex-wrap:wrap}.dictation-atlas-meta span,.dictation-summary-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid #bfdbfe;border-radius:999px;background:#ffffff;color:#1d4ed8;padding:0 11px;font-size:12px;font-weight:900}.dictation-summary-pill.is-source{border-color:#cbd5e1;color:#475569;font-weight:800}.dictation-atlas-cta{min-width:236px}.dictation-ability-section,.dictation-manual-section{display:grid;gap:16px;padding:20px}.dictation-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dictation-section-head h2{margin:0;color:#0f172a;font-size:22px;font-weight:950;letter-spacing:0}.dictation-ability-grid,.dictation-manual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dictation-ability-card,.dictation-manual-card{display:grid;gap:12px;min-width:0;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:14px}.dictation-ability-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dictation-part-label{color:#1d4ed8;font-size:12px;font-weight:950;text-transform:uppercase}.dictation-status-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:11px;font-weight:950;white-space:nowrap}.dictation-status-badge.is-empty{background:#f1f5f9;color:#64748b}.dictation-status-badge.is-foundation{background:#fef2f2;color:#b91c1c}.dictation-status-badge.is-building{background:#fff7ed;color:#c2410c}.dictation-status-badge.is-stable{background:#ecfeff;color:#0e7490}.dictation-status-badge.is-strong{background:#ecfdf5;color:#047857}.dictation-status-badge.is-exam{background:#eef2ff;color:#4338ca}.dictation-ability-score{color:#0f172a;font-size:24px;font-weight:950;line-height:1.1}.dictation-ability-card p,.dictation-manual-card p{margin:0;color:#64748b;font-size:13px;line-height:1.5}.dictation-ability-note{display:grid;gap:4px;border-top:1px solid #e2e8f0;padding-top:10px}.dictation-ability-note span,.dictation-advanced-panel span{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}.dictation-ability-note strong{color:#334155;font-size:12px;line-height:1.4}.dictation-weak-tags{display:flex;gap:5px;flex-wrap:wrap}.dictation-weak-tags span{display:inline-flex;align-items:center;min-height:23px;border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#c2410c;padding:3px 8px;font-size:10px;font-weight:900}.dictation-ability-card small{color:#64748b;font-size:12px;font-weight:750}.dictation-advanced-toggle,.dictation-manual-start{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dbe3ee;border-radius:999px;background:#ffffff;color:#1e293b;font-size:13px;font-weight:900}.dictation-advanced-toggle{min-height:34px;padding:0 12px}.dictation-advanced-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:12px}.dictation-level-segmented{display:inline-flex;gap:4px;border:1px solid #dbe3ee;border-radius:999px;background:#ffffff;padding:4px}.dictation-level-segmented button{min-height:28px;border:0;border-radius:999px;background:transparent;color:#475569;padding:0 11px;font-size:12px;font-weight:900}.dictation-level-segmented button.is-active{background:#1d4ed8;color:#ffffff}.dictation-manual-card{align-content:space-between;background:#ffffff}.dictation-manual-card h3{margin:6px 0;color:#0f172a;font-size:17px;font-weight:950;letter-spacing:0}.dictation-manual-start{width:100%;min-height:40px;padding:0 12px}.listening-history-compact{margin-top:22px}.listening-hero,.listening-session-header{margin-bottom:32px;display:flex;flex-direction:column;gap:12px}.listening-hero h1{margin:0;font-size:38px;font-weight:850;line-height:1.15;letter-spacing:-.025em;background:linear-gradient(135deg,#1e3a8a,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.listening-hero p{max-width:720px;margin:0;color:#475569;font-size:16px;line-height:1.6}.listening-kicker{display:inline-flex;width:fit-content;align-items:center;gap:6px;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:rgba(37,99,235,.08);padding:4px 10px;border-radius:9999px;border:1px solid rgba(37,99,235,.15)}.listening-resume-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(90deg,#fef3c7,#fffbeb);border:1px solid #fde68a;border-radius:12px;padding:16px 20px;margin-bottom:32px;box-shadow:0 4px 12px rgba(251,191,36,.08)}.listening-resume-banner strong{display:block;color:#92400e;font-size:14px;font-weight:700}.listening-resume-banner span{display:block;color:#b45309;font-size:13px;margin-top:2px}.listening-resume-btn{display:inline-flex;align-items:center;gap:6px;background:#d97706;color:#ffffff;padding:8px 16px;border-radius:8px;font-weight:700;font-size:13px;text-decoration:none;transition:all .2s ease}.listening-resume-btn:hover{background:#b45309;transform:translateY(-1px)}.listening-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.listening-stat-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;box-shadow:0 4px 6px -1px rgba(0,0,0,.02),0 2px 4px -1px rgba(0,0,0,.01);transition:all .25s ease}.listening-stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.05);border-color:#cbd5e1}.listening-stat-header{display:flex;align-items:center;gap:8px;color:#64748b;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;margin-bottom:8px}.listening-stat-value{font-size:26px;font-weight:800;color:#0f172a;line-height:1;margin-bottom:6px}.listening-stat-card p{margin:0;font-size:12px;color:#94a3b8}.listening-control-band{display:grid;gap:24px;margin-bottom:32px;padding:24px;border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,.02)}.listening-control-label{margin:0 0 12px;color:#1e293b;font-size:14px;font-weight:800;letter-spacing:-.01em}.listening-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.listening-level-btn{display:flex;flex-direction:column;padding:18px;border:1px solid #e2e8f0;border-radius:12px;background:#ffffff;color:#334155;text-align:left;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.listening-level-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px}.listening-level-btn strong{color:#0f172a;font-size:15px;font-weight:750}.listening-level-badge{font-size:10px;font-weight:800;color:#475569;background:#f1f5f9;padding:2px 6px;border-radius:6px;text-transform:uppercase}.listening-level-desc{color:#64748b;font-size:12px;line-height:1.45;margin-bottom:12px;flex-grow:1}.listening-level-bullets{display:flex;flex-direction:column;gap:4px;border-top:1px solid #f1f5f9;padding-top:10px;width:100%}.listening-level-bullets span{font-size:11px;color:#64748b;font-weight:550}.listening-level-btn:hover{border-color:#cbd5e1;background:#f8fafc}.listening-level-btn-active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}.listening-level-btn-active strong{color:#1d4ed8}.listening-level-btn-active .listening-level-badge{background:#dbeafe;color:#1d4ed8}.listening-level-btn-active .listening-level-bullets span{color:#2563eb}.listening-part-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.listening-part-tabs button{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px 8px;border:1px solid #e2e8f0;border-radius:10px;background:#ffffff;color:#475569;cursor:pointer;transition:all .2s ease}.listening-part-tabs button strong{font-size:14px;font-weight:750}.listening-part-tabs button span{font-size:9px;color:#94a3b8;margin-top:3px;text-align:center}.listening-part-tabs button:hover{background:#f8fafc;border-color:#cbd5e1}.listening-part-tabs .listening-part-tab-active{border-color:#2563eb;background:#2563eb;color:#ffffff}.listening-part-tabs .listening-part-tab-active span{color:#93c5fd}.listening-mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:40px}.listening-mode-card{position:relative;display:flex;flex-direction:column;padding:28px;border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;box-shadow:0 10px 30px rgba(15,23,42,.04);transition:all .25s ease}.listening-mode-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(15,23,42,.08)}.listening-mode-badge{position:absolute;top:24px;right:28px;font-size:11px;font-weight:800;color:#2563eb;background:#eff6ff;padding:4px 10px;border-radius:9999px}.listening-mode-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:12px;background:#eff6ff;color:#2563eb;margin-bottom:20px}.listening-mode-card h2{margin:0 0 10px;font-size:22px;font-weight:800;color:#0f172a}.listening-mode-card p{margin:0 0 24px;color:#64748b;font-size:14px;line-height:1.55;flex-grow:1}.listening-primary-btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;font-weight:750;font-size:14px;cursor:pointer;padding:0 20px;background:#2563eb;color:#ffffff;transition:all .2s ease;box-shadow:0 4px 12px rgba(37,99,235,.16)}.listening-primary-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px rgba(37,99,235,.24)}.listening-primary-btn:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.listening-icon-btn,.listening-secondary-link{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid #cbd5e1;border-radius:9px;font-weight:700;font-size:13px;cursor:pointer;padding:0 14px;background:#ffffff;color:#475569;transition:all .15s ease}.listening-icon-btn:hover:not(:disabled),.listening-secondary-link:hover{background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.listening-icon-btn:disabled{cursor:not-allowed;opacity:.6}.listening-history-section{margin-top:48px;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:24px}.listening-history-title{margin:0 0 20px;font-size:18px;font-weight:800;color:#1e293b;display:flex;align-items:center;gap:8px}.listening-history-list{display:flex;flex-direction:column;gap:12px}.listening-history-item{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;transition:border-color .2s ease}.listening-history-item:hover{border-color:#e2e8f0}.listening-history-info{display:flex;align-items:center;gap:16px}.listening-history-type .badge-dictation,.listening-history-type .badge-shadowing{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px}.listening-history-type .badge-dictation{background:#dbeafe;color:#1d4ed8}.listening-history-type .badge-shadowing{background:#f3e8ff;color:#7e22ce}.listening-history-details{font-size:13px;color:#475569;font-weight:650}.listening-history-time{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#94a3b8}.listening-history-result{display:flex;align-items:center;gap:20px}.listening-history-score{font-size:13px;color:#64748b}.listening-history-score strong{color:#0f172a;font-weight:750}.listening-history-pending{font-size:12px;font-weight:700;color:#d97706;background:#fffbeb;padding:3px 8px;border-radius:6px}.listening-history-link{display:inline-flex;align-items:center;gap:4px;color:#2563eb;font-size:13px;font-weight:700;text-decoration:none}.listening-history-link:hover{color:#1d4ed8}.listening-session-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;margin:0 -28px 22px;padding:8px 16px;background:#14213f;border-bottom:1px solid #1e3a8a;box-shadow:0 10px 28px rgba(15,23,42,.14)}.listening-session-topbar-actions,.listening-session-topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.listening-session-topbar-left{flex:1}.listening-topbar-back-button,.listening-topbar-icon-button,.listening-topbar-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border-radius:10px;font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap}.listening-topbar-back-button{max-width:170px;padding:0 11px;color:#ffffff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}.listening-topbar-back-button:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}.listening-topbar-count,.listening-topbar-pill,.listening-topbar-status{display:inline-flex;align-items:center;min-height:28px;border-radius:9px;padding:0 10px;font-size:12px;font-weight:900}.listening-topbar-status{color:#bfdbfe;background:rgba(37,99,235,.18);border:1px solid rgba(147,197,253,.35)}.listening-topbar-title{display:grid;gap:1px;min-width:0}.listening-topbar-title strong{overflow:hidden;color:#ffffff;font-size:13px;font-weight:950;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.listening-topbar-title span{overflow:hidden;color:#93a4bd;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.listening-topbar-count{color:rgba(255,255,255,.72)}.listening-topbar-pill{color:#dbeafe;background:rgba(255,255,255,.09)}.listening-topbar-icon-button{padding:0 10px;color:#dbeafe;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.listening-topbar-icon-button:hover{color:#ffffff;background:rgba(255,255,255,.14)}.listening-topbar-submit-button{padding:0 14px;color:#ffffff;background:#2563eb;border:1px solid #3b82f6;box-shadow:0 10px 20px -16px rgba(37,99,235,.9)}.listening-topbar-submit-button:hover:not(:disabled){background:#1d4ed8}.listening-topbar-submit-button:disabled{cursor:not-allowed;opacity:.7}.listening-session-error{margin:-8px 0 16px;padding:0 4px}.listening-atlas-session-plan{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-bottom:14px;border:1px solid #bfdbfe;border-radius:14px;background:linear-gradient(115deg,#eff6ff,#ffffff 72%);padding:13px 15px;box-shadow:0 8px 24px rgba(37,99,235,.06)}.listening-atlas-session-plan-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#2563eb;color:#ffffff}.listening-atlas-session-plan>div:nth-child(2){min-width:0;display:grid;gap:2px}.listening-atlas-session-plan>div:nth-child(2)>span{color:#2563eb;font-size:10px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.listening-atlas-session-plan strong{color:#0f172a;font-size:14px;font-weight:950}.listening-atlas-session-plan p{margin:0;color:#64748b;font-size:12px;font-weight:650;line-height:1.45}.listening-atlas-session-plan-chips{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.listening-atlas-session-plan-chips span{min-height:26px;display:inline-flex;align-items:center;border:1px solid #dbeafe;border-radius:999px;background:#ffffff;color:#1d4ed8;padding:4px 9px;font-size:10px;font-weight:900;white-space:nowrap}@media (max-width:700px){.listening-atlas-session-plan{grid-template-columns:auto minmax(0,1fr);padding:12px}.listening-atlas-session-plan-chips{grid-column:1/-1;justify-content:flex-start}}.listening-session-header{border-bottom:1px solid #e2e8f0;padding-bottom:24px;margin-bottom:28px}.listening-back-link{text-decoration:none;font-weight:800;color:#64748b;transition:color .15s ease}.listening-back-link:hover{color:#2563eb}.listening-utility-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff;border:1px solid #cbd5e1;color:#475569;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.listening-utility-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.listening-title-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px;flex-wrap:wrap;gap:12px}.listening-title-row h1{margin:0;font-size:26px;font-weight:800;color:#0f172a;letter-spacing:-.015em}.stats-indicator{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;background:#ffffff;border:1px solid #cbd5e1;border-radius:8px;padding:6px 12px;color:#334155;box-shadow:0 1px 2px rgba(0,0,0,.01)}.listening-info-alert{display:flex;align-items:flex-start;gap:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:14px 18px;margin-bottom:24px}.listening-info-alert code{background:#ffffff;border:1px solid #dbeafe;padding:1px 4px;border-radius:4px;font-family:Consolas,Monaco,monospace;font-weight:700}.listening-workspace{display:grid;grid-template-columns:60px 1fr;gap:20px;align-items:start}.listening-segment-nav{position:sticky;top:24px;display:flex;flex-direction:column;gap:8px}.listening-segment-dot{width:44px;height:44px;border:1px solid #cbd5e1;border-radius:10px;background:#ffffff;color:#475569;font-weight:800;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.listening-segment-dot-active{border-color:#2563eb;color:#1d4ed8;background:#eff6ff;box-shadow:0 0 0 3px rgba(37,99,235,.16);font-weight:900}.listening-segment-dot-done{background:#ecfdf5;border-color:#34d399;color:#065f46}.listening-segment-dot-done.listening-segment-dot-active{background:#d1fae5;border-color:#10b981}.listening-segment-card{padding:24px;border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;box-shadow:0 4px 12px rgba(15,23,42,.02)}.listening-segment-card-active{border-color:#93c5fd;box-shadow:0 10px 25px -5px rgba(37,99,235,.05),0 8px 10px -6px rgba(37,99,235,.05)}.listening-segment-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.turn-label{font-size:13px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.025em}.turn-part-label{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#0f172a;color:#ffffff;padding:0 10px;font-size:12px;font-weight:900}.speaker-label{font-size:13px;font-weight:800;color:#2563eb;background:#eff6ff;padding:2px 8px;border-radius:6px}.listening-segment-body{display:flex;flex-direction:column;gap:16px}.listening-action-row{display:flex;align-items:center;gap:8px}.listening-hint-pill{display:inline-flex;align-items:center;height:38px;padding:0 12px;border-radius:9px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:800}.listening-dictation-input{width:100%;min-height:110px;resize:vertical;border:1px solid #cbd5e1;border-radius:12px;padding:16px;color:#0f172a;font-size:15px;line-height:1.6;outline:none;transition:all .2s ease}.listening-dictation-input:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.1)}.listening-dictation-input:disabled{background:#f8fafc;color:#475569;cursor:not-allowed}.listening-check-btn{display:inline-flex;min-height:38px;align-items:center;padding:0 16px;background:#10b981;color:#ffffff;border:0;border-radius:9px;font-weight:700;font-size:13px;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px rgba(16,185,129,.15)}.listening-check-btn:hover:not(:disabled){background:#059669;transform:translateY(-.5px)}.listening-check-btn:disabled{opacity:.6;cursor:not-allowed}.listening-diff-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.listening-diff-header{font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.025em;margin-bottom:10px}.listening-diff-words{display:flex;flex-wrap:wrap;gap:6px}.diff-word-correct,.diff-word-extra,.diff-word-incorrect,.diff-word-missing{font-size:14.5px;padding:2px 6px;border-radius:6px;font-weight:600}.diff-word-correct{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.diff-word-incorrect{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;text-decoration:line-through;cursor:help}.diff-word-missing{color:#b45309;background:#fffbeb;border:1px solid #fde68a;font-size:12px;font-weight:850}.diff-word-extra{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;text-decoration:line-through}.listening-feedback{display:flex;flex-direction:column;gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.score-badge{display:inline-flex;padding:4px 10px;background:#dbeafe;color:#1d4ed8;border-radius:9999px;font-size:12px;font-weight:800}.transcript-box{border-top:1px solid #e2e8f0;padding-top:12px}.transcript-target{margin:0;font-size:15px;line-height:1.6;color:#0f172a;font-weight:550}.transcript-vietnamese{display:block;margin-top:3px;font-size:13px;color:#64748b;line-height:1.4;font-style:italic}.listening-blanks-hint{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#fffbeb;border:1px solid #fef3c7;border-radius:10px}.listening-blanks-hint strong{font-size:12px;color:#b45309}.listening-blanks-hint code{font-family:Consolas,Monaco,monospace;font-size:13.5px;font-weight:700;letter-spacing:.05em;color:#92400e;word-break:break-all}.listening-translation-hint-box{padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:13px;color:#475569}.listening-translation-hint-box strong{color:#1e293b}.listening-shadow-practice-panel{padding:20px;background:#faf5ff;border:1px solid #f3e8ff;border-radius:12px}.listening-shadow-target{margin:0;font-size:16px;line-height:1.6;color:#581c87;font-weight:650}.listening-shadow-vi{display:block;margin-top:8px;font-size:13.5px;color:#7e22ce;line-height:1.5;opacity:.85}.listening-rec-btn,.listening-rec-btn-active{display:inline-flex;min-height:38px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;border-radius:9px;cursor:pointer;transition:all .2s ease}.listening-rec-btn{background:#ffffff;border:1px solid #ec4899;color:#ec4899}.listening-rec-btn:hover{background:#fdf2f8}.listening-rec-btn-active{background:#db2777;border:1px solid #db2777;color:#ffffff;box-shadow:0 0 12px rgba(219,39,119,.35)}.listening-voice-player-row{margin-top:14px;padding-top:12px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:6px}.listening-btn-done{background:#ecfdf5!important;border-color:#34d399!important;color:#065f46!important}.listening-card-nav-row{display:flex;margin-top:24px;padding-top:16px;border-top:1px solid #f1f5f9}.listening-nav-card-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:0;font-size:13px;font-weight:800;color:#64748b;cursor:pointer;padding:6px 12px;border-radius:8px;transition:all .15s ease}.listening-nav-card-btn:hover:not(:disabled){background:#f1f5f9;color:#1e293b}.listening-nav-card-btn:disabled{opacity:.4;cursor:not-allowed}.listening-submit-bar{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:36px;padding:16px 0;background:linear-gradient(180deg,rgba(248,250,252,0),#f8fafc 40%);z-index:40}.listening-error{margin:0;color:#b91c1c;font-weight:700;font-size:13px}.dictation-access-gate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid rgba(245,158,11,.3);border-radius:20px;background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(239,246,255,.98));color:#172033;margin:18px 0;padding:18px}.dictation-access-gate-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:#fef3c7;color:#b45309}.dictation-access-gate h2,.dictation-access-gate p{margin:0}.dictation-access-gate h2{font-size:1rem}.dictation-access-gate p{margin-top:5px;color:#526077;font-size:.86rem;line-height:1.5}.dictation-access-gate .listening-primary-btn{white-space:nowrap;text-decoration:none}@media (max-width:720px){.dictation-access-gate{grid-template-columns:auto minmax(0,1fr)}.dictation-access-gate .listening-primary-btn{grid-column:1/-1;width:100%;justify-content:center}}.listening-spin{animation:listening-spin .8s linear infinite}@keyframes listening-spin{to{transform:rotate(1turn)}}.listening-empty,.listening-loading{display:flex;min-height:380px;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#64748b;font-weight:700;font-size:15px}.listening-empty p{margin:0 0 16px}@media (max-width:860px){.listening-shell{width:min(100% - 24px,1160px);padding:24px 0 48px}.listening-hub-shell{padding-top:18px}.listening-hub-header{align-items:flex-start;flex-direction:column;gap:12px}.listening-hub-header h1{font-size:28px}.listening-hub-mini-stats{justify-content:flex-start}.listening-hub-grid{grid-template-columns:1fr}.listening-atlas-card{padding:18px}.listening-atlas-main{grid-template-columns:44px minmax(0,1fr);gap:12px}.listening-atlas-icon{width:44px;height:44px;border-radius:12px}.listening-atlas-card h2{font-size:21px}.listening-atlas-actions,.listening-custom-head{align-items:stretch;flex-direction:column}.listening-atlas-actions .listening-secondary-link,.listening-atlas-start-btn,.listening-custom-head .listening-secondary-link,.listening-custom-start-btn{width:100%}.dictation-v1-shell{padding-top:18px}.dictation-ability-section,.dictation-atlas-hero,.dictation-manual-section{padding:18px}.dictation-atlas-hero-main{grid-template-columns:46px minmax(0,1fr);gap:12px}.dictation-atlas-hero-icon{width:46px;height:46px;border-radius:12px}.dictation-atlas-hero h1{font-size:24px}.dictation-advanced-panel,.dictation-atlas-footer,.dictation-section-head{align-items:stretch;flex-direction:column}.dictation-advanced-toggle,.dictation-atlas-cta{width:100%}.dictation-ability-grid,.dictation-manual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listening-session-shell{padding:0 14px 40px}.listening-session-topbar{margin:0 -14px 16px;padding:8px 10px;gap:8px}.listening-session-topbar-left{gap:7px}.listening-topbar-title{display:none}.listening-session-topbar-actions{gap:6px}.listening-topbar-icon-button span,.listening-topbar-submit-button span{display:none}.listening-topbar-icon-button,.listening-topbar-submit-button{width:34px;padding:0}.listening-hero h1{font-size:30px}.listening-level-grid,.listening-stats-grid{grid-template-columns:1fr}.listening-part-tabs{grid-template-columns:repeat(3,1fr)}.listening-mode-grid,.listening-workspace{grid-template-columns:1fr}.listening-segment-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch}.listening-segment-dot{flex-shrink:0}.listening-title-row{flex-direction:column;align-items:flex-start}.listening-session-stats{display:flex;gap:8px;width:100%}.stats-indicator{flex:1;justify-content:center}}@media (max-width:480px){.dictation-ability-grid,.dictation-manual-grid{grid-template-columns:1fr}.dictation-level-segmented{width:100%}.dictation-level-segmented button{flex:1}.listening-part-tabs{grid-template-columns:repeat(2,1fr)}}.listening-dictation-sentence-container{background:#ffffff;border:1px solid #cbd5e1;border-radius:12px;padding:24px;font-size:17px;line-height:2.3;color:#334155;display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;box-shadow:inset 0 2px 4px rgba(0,0,0,.01)}.listening-dictation-sentence-container.is-compact{gap:8px;padding:14px 16px}.listening-dictation-inline-speaker{color:#334155;font-size:14px}.listening-dictation-inline-number,.listening-dictation-inline-speaker{display:inline-flex;align-items:center;flex:0 0 auto;font-weight:950;line-height:1}.listening-dictation-inline-number{min-width:28px;min-height:28px;justify-content:center;border-radius:7px;color:#475569;padding:3px 5px;font-size:13px}.listening-dictation-inline-number.is-due{border:1px solid #f59e0b;background:#fef3c7;color:#92400e;box-shadow:0 0 0 2px rgba(245,158,11,.12);cursor:help}.listening-keyword-input{display:inline-block;height:30px;border:0;border-bottom:2px solid #94a3b8;background:#f8fafc;text-align:center;font-weight:700;color:#1e293b;font-size:15px;outline:none;padding:0 4px;border-radius:4px 4px 0 0;transition:all .2s ease;margin:0 2px}.listening-keyword-input:focus{background:#eff6ff;border-bottom-color:#2563eb;box-shadow:0 2px 4px rgba(37,99,235,.05)}.listening-keyword-input:disabled{cursor:not-allowed;background:#f1f5f9;border-bottom-color:#e2e8f0}.listening-keyword-input.keyword-correct{background:#ecfdf5;border-bottom-color:#10b981;color:#065f46}.listening-keyword-input.keyword-incorrect{background:#fee2e2;border-bottom-color:#ef4444;color:#991b1b}.listening-word-static{font-weight:500;color:#334155;display:inline-block}.listening-word-punctuation{color:#64748b;white-space:pre-wrap;display:inline-block}.listening-dictation-sentences-list{display:flex;flex-direction:column;gap:16px;background:#ffffff;border:1px solid #cbd5e1;border-radius:12px;padding:24px;box-shadow:inset 0 2px 4px rgba(0,0,0,.01)}.listening-dictation-sentences-list.is-compact{gap:10px;padding:14px 16px}.listening-dictation-sentences-list.is-compact .listening-sentence-row{align-items:center;gap:10px;padding-bottom:10px}.listening-dictation-sentence-container.is-compact .listening-sentence-play-btn,.listening-dictation-sentences-list.is-compact .listening-sentence-play-btn{min-height:32px;height:auto;margin-top:0;white-space:nowrap}.listening-sentence-row{display:flex;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px dashed #e2e8f0}.listening-sentence-row:last-child{padding-bottom:0;border-bottom:0}.listening-sentence-play-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:12px;font-weight:700;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-top:4px;flex-shrink:0}.listening-sentence-play-btn:hover{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.listening-sentence-tokens-box{flex:1;font-size:17px;line-height:2.3;color:#334155;display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}.listening-dictation-workspace{display:grid;grid-template-columns:172px minmax(0,1fr);gap:22px;align-items:start}.listening-dictation-main{min-width:0;display:grid;gap:18px}.listening-session-rail{position:sticky;top:58px;min-width:0;align-self:start}.listening-session-rail-card{border:1px solid #263854;border-radius:0;background:#162033;color:#e5eefb;min-height:calc(100dvh - 58px);overflow-y:auto;padding:14px 12px 18px;box-shadow:none}.listening-session-rail-heading{display:grid;gap:8px;margin-bottom:14px}.listening-session-rail-heading span,.listening-session-rail-section-title{color:#94a3b8;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.listening-session-rail-heading small{color:#ffffff;font-size:15px;font-weight:950}.listening-session-rail-section{display:grid;gap:7px}.listening-session-rail-section+.listening-session-rail-section{margin-top:14px}.listening-dictation-block{border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.listening-dictation-card-nav-row{display:flex;align-items:center;gap:12px}.listening-dictation-block-dots{display:flex;align-items:center;gap:6px}.listening-dictation-block-dots-rail{display:grid;grid-template-columns:repeat(4,28px);align-items:center;gap:6px}.listening-dictation-block-dot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(226,232,240,.28);border-radius:7px;background:#f8fafc;color:#0f172a;font-size:12px;font-weight:900;transition:border-color .15s ease,background .15s ease,color .15s ease}.listening-dictation-block-dot:hover{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}.listening-dictation-block-dot-active{border-color:#3b82f6;background:#2563eb;color:#ffffff}.listening-dictation-block-dot-done:not(.listening-dictation-block-dot-active){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.listening-dictation-card-nav-row{justify-content:space-between}.listening-dictation-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.listening-dictation-block-head h2{margin:4px 0 0;color:#0f172a;font-size:20px;line-height:1.2}.listening-dictation-block-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.listening-dictation-completion-count{color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}.listening-dictation-check-all-btn{min-height:32px;gap:6px;border-radius:999px;padding:6px 12px;white-space:nowrap}.listening-dictation-block-listen-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:6px 11px;font-size:12px;font-weight:850;white-space:nowrap}.listening-dictation-block-listen-btn-active{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.listening-dictation-block-score{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:1px solid #bfdbfe;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:6px 11px;font-size:12px;font-weight:900;white-space:nowrap}.listening-dictation-block-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px;align-items:start}.listening-dictation-block-grid-no-media{grid-template-columns:minmax(0,1fr)}.listening-dictation-media,.listening-dictation-media-placeholder{width:100%;aspect-ratio:4/3;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;object-fit:contain}.listening-dictation-media-placeholder{display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:900}.listening-dictation-rows{display:grid;gap:12px}.listening-dictation-text-row{border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff;padding:12px}.listening-dictation-text-row-label{display:flex;align-items:center;margin-bottom:8px}.listening-dictation-text-row-label span{border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:3px 8px;font-size:11px;font-weight:900}.listening-dictation-text-row .listening-segment-body{padding:0}.listening-dictation-option-card{border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff;padding:14px}.listening-dictation-option-row{border:1px solid #e2e8f0;border-radius:8px;background:#ffffff;padding:12px;box-shadow:0 1px 2px rgba(15,23,42,.03)}.listening-dictation-part2-card{display:grid;gap:16px}.listening-dictation-part2-rows{max-width:100%}.listening-dictation-option-row-due{border-color:#f59e0b;background:#fffbeb}.listening-dictation-part2-context-row{background:#f8fafc}.listening-dictation-part2-context-text{margin:0;color:#1e293b;font-size:15px;font-weight:650;line-height:1.6}.listening-dictation-part2-context-translation{color:#64748b;font-size:13px;line-height:1.5}.listening-dictation-option-main{display:grid;gap:10px}.listening-dictation-option-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.listening-dictation-option-actions,.listening-dictation-option-controls{display:inline-flex;align-items:center;gap:8px;min-width:0}.listening-dictation-option-actions{justify-content:flex-end;flex-wrap:wrap}.listening-dictation-option-token-line{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 4px;font-size:15px;line-height:2.15;padding-top:2px}.listening-dictation-option-listen-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1d4ed8;padding:6px 9px;font-size:12px;font-weight:850;white-space:nowrap}.listening-dictation-option-listen-btn-active{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.listening-dictation-option-check-btn{min-height:32px;padding:6px 10px;white-space:nowrap}.listening-dictation-option-feedback-panel{margin-top:12px;border-top:1px solid #eef2f7;padding-top:12px}.listening-dictation-option-review{display:grid;gap:10px}.listening-dictation-option-review-row,.listening-dictation-option-translation{min-width:0;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:10px 12px}.listening-dictation-option-review-row-correct{border-color:#bbf7d0;background:#f0fdf4}.listening-dictation-option-translation{border-color:#fde68a;background:#fffbeb}.listening-dictation-option-review-label{display:block;margin-bottom:5px;color:#64748b;font-size:10.5px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.listening-dictation-option-review-row p,.listening-dictation-option-translation p{margin:0;color:#0f172a;font-size:14px;font-weight:650;line-height:1.5}.listening-dictation-option-translation p{color:#713f12;font-weight:600}.listening-dictation-option-review .listening-diff-panel{border-radius:8px;padding:10px 12px}.listening-dictation-option-review .listening-diff-header{margin-bottom:8px;font-size:10.5px}.listening-dictation-option-review .diff-word-correct,.listening-dictation-option-review .diff-word-extra,.listening-dictation-option-review .diff-word-incorrect,.listening-dictation-option-review .diff-word-missing{font-size:13px}.listening-dictation-option-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.listening-dictation-option-key{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#0f172a;color:#ffffff;font-size:13px;font-weight:900}.listening-dictation-option-correct-badge,.listening-dictation-option-score{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:900}.listening-dictation-option-correct-badge{border:1px solid #bbf7d0;background:#dcfce7;color:#166534}.listening-dictation-option-score{border:1px solid #bfdbfe;background:#dbeafe;color:#1d4ed8;cursor:pointer}.listening-dictation-unit-workspace{align-items:start}.listening-dictation-unit-workspace.is-single-unit{grid-template-columns:minmax(0,1fr)}.listening-dictation-mixed-workspace{display:grid;gap:18px}.listening-dictation-unit-card{display:grid;gap:16px;border:1px solid #e2e8f0;border-radius:16px;background:#ffffff;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.listening-dictation-part34-card.is-minimal-practice{gap:12px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.listening-dictation-unit-card-due{border-color:#fbbf24;box-shadow:0 14px 34px rgba(217,119,6,.12)}.listening-dictation-unit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.listening-dictation-unit-head h2{margin:4px 0 0;color:#0f172a;font-size:20px;line-height:1.2}.listening-dictation-unit-badges{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.listening-dictation-due-badge{display:inline-flex;align-items:center;min-height:28px;border:1px solid #fbbf24;border-radius:999px;background:#fffbeb;color:#92400e;padding:4px 10px;font-size:11px;font-weight:950;white-space:nowrap}.listening-dictation-script,.listening-dictation-unit-rows{display:grid;gap:12px}.listening-dictation-unit-row{display:grid;gap:10px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff;padding:12px}.listening-dictation-unit-row-active{background:#ffffff}.listening-dictation-unit-row.is-compact-practice{gap:8px;padding:10px}.listening-dictation-unit-row-context{background:#f8fafc}.listening-dictation-unit-row-due{border-color:#f59e0b;background:#fffbeb}.listening-dictation-unit-row-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.listening-dictation-unit-row-label span{display:inline-flex;align-items:center;min-height:24px;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:3px 8px;font-size:11px;font-weight:950}.listening-dictation-unit-row-label strong{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;background:#f59e0b;color:#ffffff;padding:2px 8px;font-size:10px;font-weight:950}.listening-dictation-unit-context{display:grid;gap:8px}.listening-dictation-unit-context-actions{display:flex;justify-content:flex-start}.listening-dictation-unit-context p{margin:0;color:#1e293b;font-size:15px;line-height:1.65}.listening-dictation-unit-context .listening-dictation-unit-context-locked{border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;padding:12px 14px;font-size:13px;font-weight:750;line-height:1.45}.listening-dictation-part34-practice,.listening-dictation-part34-review{display:grid;gap:16px;align-items:start}.listening-dictation-part34-practice.has-graphic,.listening-dictation-part34-review.has-graphic{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}.listening-dictation-unit-graphic-card{position:sticky;top:82px;margin:0;overflow:hidden;border:1px solid #dbe3ee;border-radius:14px;background:#f8fafc}.listening-dictation-unit-graphic-card img{display:block;width:100%;max-height:360px;object-fit:contain;background:#ffffff}.listening-dictation-unit-graphic-card figcaption{border-top:1px solid #e2e8f0;color:#64748b;padding:9px 12px;font-size:11px;font-weight:800;text-align:center}.listening-dictation-turn-workspace{min-width:0;display:grid;gap:12px}.listening-dictation-focus-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.listening-dictation-focus-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.listening-dictation-focus-actions .listening-dictation-block-listen-btn{min-height:34px;padding:5px 10px}.listening-dictation-focus-head>div{min-width:0;display:grid;gap:2px}.listening-dictation-focus-head span{color:#64748b;font-size:11px;font-weight:850}.listening-dictation-focus-head strong{color:#0f172a;font-size:17px;line-height:1.2}.listening-dictation-view-toggle{min-height:34px;flex:0 0 auto;border:0;background:transparent;color:#2563eb;padding:4px 2px;font-size:12px;font-weight:900}.listening-dictation-view-toggle:focus-visible{border-radius:8px;outline:3px solid rgba(37,99,235,.2);outline-offset:2px}.listening-dictation-focus-progress{height:4px;overflow:hidden;border-radius:999px;background:#e2e8f0}.listening-dictation-focus-progress>span{display:block;height:100%;border-radius:inherit;background:#2563eb;transition:width .18s ease}.listening-dictation-turn-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.listening-dictation-turn-summary>div{display:grid;gap:2px}.listening-dictation-turn-summary small,.listening-dictation-turn-summary span{color:#64748b;font-size:11px;font-weight:850}.listening-dictation-turn-summary strong{color:#0f172a;font-size:17px}.listening-dictation-passage-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.listening-dictation-turn-nav{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;padding:7px 9px}.listening-dictation-turn-dots button,.listening-dictation-turn-nav>button{min-width:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:9px;background:#ffffff;color:#334155;font-size:12px;font-weight:900}.listening-dictation-turn-nav button:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.listening-dictation-turn-nav button:disabled{cursor:default;opacity:.42}.listening-dictation-turn-dots{min-width:0;display:flex;gap:6px;overflow-x:auto;padding:2px;scrollbar-width:thin}.listening-dictation-turn-dots button.is-active{border-color:#2563eb;background:#2563eb;color:#ffffff}.listening-dictation-turn-nav>span{margin-left:auto;color:#1e3a8a;font-size:12px;font-weight:950;white-space:nowrap}.listening-dictation-turn-nav>small{color:#64748b;font-size:10px;font-weight:800;white-space:nowrap}.listening-dictation-turn-nav-compact{justify-content:space-between;width:100%;margin-top:4px;border-color:#e2e8f0 transparent transparent;border-radius:0;background:transparent;padding:14px 0 0}.listening-dictation-turn-nav-compact>button{min-width:128px;min-height:40px;gap:6px;border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;padding:7px 12px}.listening-dictation-turn-nav-compact>button:not(:disabled):hover{border-color:#93c5fd;background:#dbeafe}.listening-dictation-turn-nav-compact>span{min-width:76px;display:grid;justify-items:center;gap:1px;margin:0}.listening-dictation-turn-nav-compact>span small{color:#94a3b8;font-size:9px;font-weight:800}.listening-dictation-passage-script{display:grid;gap:10px;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#ffffff)}.listening-dictation-passage-script.is-focused{background:transparent}.listening-dictation-passage-script.is-focused .listening-dictation-unit-row{border-color:#e2e8f0;border-radius:14px;box-shadow:0 6px 20px rgba(15,23,42,.04)}.listening-dictation-part34-card.is-minimal-practice .listening-dictation-passage-script.is-focused .listening-dictation-unit-row{border:0;border-radius:0;background:transparent;padding:4px 0;box-shadow:none}.listening-dictation-part34-card.is-minimal-practice .listening-dictation-passage-script.is-focused .listening-dictation-unit-row:focus-within{border-color:transparent;box-shadow:none}.listening-dictation-part34-card.is-minimal-practice .listening-dictation-sentence-container.is-compact,.listening-dictation-part34-card.is-minimal-practice .listening-dictation-sentences-list.is-compact{border:0;border-radius:0;background:transparent;padding:8px 0;box-shadow:none}.listening-dictation-passage-script .listening-dictation-unit-row{border-color:#dbeafe}.listening-dictation-passage-script .listening-dictation-unit-row:focus-within{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.1)}@media (max-width:860px){.listening-dictation-part34-practice.has-graphic,.listening-dictation-part34-review.has-graphic{grid-template-columns:1fr}.listening-dictation-unit-graphic-card{position:static}.listening-dictation-unit-graphic-card img{max-height:260px}}@media (max-width:520px){.listening-dictation-part34-card{gap:10px;padding:12px}.listening-dictation-focus-head{gap:8px}.listening-dictation-focus-head strong{font-size:16px}.listening-dictation-view-toggle{min-height:40px;font-size:11px}.listening-dictation-turn-summary{align-items:flex-start;flex-direction:column;gap:4px}.listening-dictation-turn-summary small{text-align:left}.listening-dictation-passage-actions>button{flex:0 1 auto;justify-content:center;min-height:40px}.listening-dictation-turn-nav{gap:6px;margin-inline:0;padding:0}.listening-dictation-turn-dots button,.listening-dictation-turn-nav-compact>button{min-width:0;min-height:44px;flex:1 1 0;padding-inline:8px}.listening-dictation-turn-nav-compact>span{min-width:58px}.listening-dictation-turn-nav>small{display:none}.listening-dictation-passage-script{gap:8px}.listening-dictation-passage-script .listening-dictation-unit-row{gap:8px;padding:10px 9px}}.listening-submit-confirm-backdrop{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;background:rgba(15,23,42,.58);padding:20px}.listening-submit-confirm-dialog{width:min(460px,100%);display:grid;grid-template-columns:auto 1fr;gap:14px;border:1px solid #dbeafe;border-radius:18px;background:#ffffff;box-shadow:0 24px 70px rgba(15,23,42,.28);padding:22px}.listening-submit-confirm-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eff6ff;color:#2563eb}.listening-submit-confirm-dialog h2{margin:0;color:#0f172a;font-size:19px;line-height:1.3}.listening-submit-confirm-dialog p{margin:8px 0 0;color:#64748b;font-size:14px;line-height:1.55}.listening-submit-confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px}@media (max-width:560px){.listening-submit-confirm-dialog{grid-template-columns:1fr;padding:18px}.listening-submit-confirm-actions{grid-column:auto;align-items:stretch;flex-direction:column}.listening-submit-confirm-actions>*{width:100%;justify-content:center}}.listening-dictation-unit-context small{color:#64748b;font-size:13px;line-height:1.5}.listening-dictation-toeic-questions{display:grid;gap:8px;border-top:1px solid #e2e8f0;padding-top:14px}.listening-dictation-toeic-questions>span{color:#64748b;font-size:11px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.listening-dictation-toeic-question{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:10px 12px}.listening-dictation-toeic-question strong{color:#1d4ed8;font-size:12px;font-weight:950}.listening-dictation-toeic-question p{margin:4px 0 0;color:#334155;font-size:14px;line-height:1.5}.listening-session-mobile-rail-trigger{display:none}.listening-session-rail-overlay{position:fixed;inset:0;z-index:70;display:flex;justify-content:flex-end;background:rgba(15,23,42,.45)}.listening-session-rail-drawer{width:min(320px,86vw);height:100%;background:#f8fafc;padding:14px;box-shadow:-18px 0 36px rgba(15,23,42,.22);overflow-y:auto}.listening-session-rail-drawer .listening-session-rail-card{min-height:auto}.listening-session-rail-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.listening-session-rail-drawer-head span{color:#0f172a;font-size:14px;font-weight:950}.listening-session-rail-drawer-head button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #dbe3ee;border-radius:10px;background:#ffffff;color:#475569;font-size:22px;line-height:1}.listening-result-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;border:1px solid #bbf7d0;border-radius:16px;background:linear-gradient(135deg,#f0fdf4,#ffffff 72%);color:#166534;padding:15px;width:min(100%,960px);margin:28px auto 0}.listening-result-panel>svg{margin-top:1px}.listening-result-panel>div>span,.listening-result-panel>div>strong{display:block}.listening-result-panel>div>strong{color:#14532d;font-size:15px;font-weight:950}.listening-result-panel>div>span{margin-top:4px;color:#4b5563;font-size:12px;line-height:1.5}.listening-result-actions{display:flex;flex-wrap:wrap;gap:10px;width:min(100%,960px);margin:14px auto 28px}.listening-result-primary-action{flex:1 1 100%;min-height:60px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #4338ca;border-radius:14px;background:linear-gradient(135deg,#4f46e5,#2563eb);color:#ffffff;padding:11px 18px;cursor:pointer;box-shadow:0 12px 28px rgba(79,70,229,.22);transition:box-shadow .16s ease,transform .16s ease}.listening-result-primary-action:hover:not(:disabled){box-shadow:0 15px 34px rgba(79,70,229,.3);transform:translateY(-1px)}.listening-result-primary-action:disabled{cursor:wait;opacity:.72}.listening-result-primary-action>span{display:grid;gap:2px;text-align:left}.listening-result-primary-action small,.listening-result-primary-action strong{display:block}.listening-result-primary-action strong{font-size:14px;font-weight:950}.listening-result-primary-action small{color:rgba(255,255,255,.82);font-size:11px;font-weight:750}.listening-dictation-coaching{display:grid;gap:12px;width:min(100%,960px);margin:14px auto 0;border:1px solid #c7d2fe;border-radius:16px;background:linear-gradient(135deg,#eef2ff,#ffffff 70%);padding:15px}.listening-dictation-coaching-head{display:flex;align-items:center;gap:10px}.listening-dictation-coaching-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#4f46e5;color:#ffffff}.listening-dictation-coaching-head>div:last-child{display:grid;gap:1px}.listening-dictation-coaching-head span{color:#4f46e5;font-size:10px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.listening-dictation-coaching-head strong{color:#0f172a;font-size:14px}.listening-dictation-coaching-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.listening-dictation-coaching-grid article{border:1px solid #e2e8f0;border-radius:12px;background:rgba(255,255,255,.92);padding:11px 12px}.listening-dictation-coaching-grid article.is-attention{border-color:#fed7aa}.listening-dictation-coaching-grid article.is-practice{border-color:#bfdbfe}.listening-dictation-coaching-grid article.is-success{border-color:#bbf7d0}.listening-dictation-coaching-grid strong{color:#1e293b;font-size:12px;font-weight:950}.listening-dictation-coaching-grid p{margin:5px 0 0;color:#64748b;font-size:11px;line-height:1.5}.listening-result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.listening-result-metrics div{border:1px solid #dbeafe;border-radius:12px;background:#ffffff;padding:10px 12px}.listening-result-metrics span{display:block;color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase}.listening-result-metrics strong{display:block;margin-top:4px;color:#0f172a;font-size:18px;font-weight:950}.listening-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #cbd5e1;border-radius:10px;background:#ffffff;color:#0f172a;padding:8px 12px;font-size:13px;font-weight:850;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}.listening-secondary-action:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc;transform:translateY(-1px)}.listening-secondary-action:disabled{cursor:not-allowed;opacity:.65}.listening-review-toolbar{width:min(100%,1180px);margin:16px auto 0;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #c7d2fe;border-radius:14px;background:linear-gradient(135deg,#eef2ff,#ffffff 74%);padding:12px 14px}.listening-review-toolbar>div{display:grid;gap:2px}.listening-review-toolbar span{color:#4f46e5;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.listening-review-toolbar strong{color:#0f172a;font-size:14px}@media (max-width:860px){.listening-dictation-workspace{grid-template-columns:1fr}.listening-session-rail{display:none}.listening-session-mobile-rail-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe3ee;border-radius:12px;background:#ffffff;color:#475569;padding:10px 12px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.listening-session-mobile-rail-trigger span{font-size:12px;font-weight:900;text-transform:uppercase}.listening-session-mobile-rail-trigger strong{color:#1d4ed8;font-size:13px;font-weight:950}.listening-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.listening-dictation-coaching-grid{grid-template-columns:1fr}.listening-dictation-block-dots-rail{display:flex;flex-wrap:wrap}.listening-dictation-block-grid{grid-template-columns:1fr}.listening-dictation-block{padding:16px}.listening-dictation-block-head{flex-direction:column}.listening-dictation-unit-card{padding:16px}.listening-dictation-unit-head{flex-direction:column}.listening-dictation-unit-badges{justify-content:flex-start}.listening-dictation-block-actions{width:100%;justify-content:space-between}.listening-dictation-option-toolbar{align-items:flex-start;flex-direction:column}.listening-dictation-option-actions{max-width:none;width:100%;justify-content:flex-start}}@media (max-width:520px){.listening-review-toolbar{align-items:stretch;flex-direction:column}.listening-review-toolbar>button{width:100%}}