.home-page{margin:0 auto;max-width:1200px}.hero{grid-gap:var(--spacing-2xl);display:grid;gap:var(--spacing-2xl);grid-template-columns:1fr 1fr;min-height:500px;padding:var(--spacing-2xl) 0}.hero-badge{background:rgba(15,118,110,.12);border:1px solid rgba(15,118,110,.35);display:inline-block;font-size:.85rem;padding:6px 16px}.hero h1,.hero-badge{margin-bottom:var(--spacing-md)}.hero h1{font-family:var(--font-display);font-size:2.75rem;line-height:1.2}.gradient-text{background:none;color:var(--primary-dark)}.hero-desc{font-size:1.05rem;line-height:1.8;margin-bottom:var(--spacing-lg)}.hero-actions{margin-bottom:var(--spacing-lg)}.hero-actions,.hero-devices{display:flex;gap:var(--spacing-md)}.hero-devices{align-items:center;color:var(--text-secondary);font-size:.85rem}.hero-devices span{align-items:center;display:flex;gap:4px}.hero-visual{align-items:center;display:flex;justify-content:center}.hero-card-stack{height:350px;position:relative;width:350px}.hero-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;font-size:.9rem;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);position:absolute;white-space:nowrap}.hc-1{animation-delay:0s;left:0;top:20px}.hc-2{animation-delay:1s;left:40px;top:130px}.hc-3{animation-delay:2s;left:10px;top:240px}.hc-icon{font-size:1.5rem}.features-section,.majors-section,.tech-section{padding:var(--spacing-2xl) 0}.features-section h2,.majors-section h2,.tech-section h2{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-sm);text-align:center}.section-desc{color:var(--text-secondary);margin-bottom:var(--spacing-xl);text-align:center}.features-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.feature-card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-lg)}.feature-card:hover{border-color:var(--accent,var(--primary));box-shadow:var(--shadow-lg);transform:none}.usage-section{padding:var(--spacing-xl) 0 var(--spacing-2xl)}.usage-heading{align-items:end;display:flex;gap:24px;justify-content:space-between;margin-bottom:18px}.usage-heading span{color:#0f766e;font-size:.75rem;font-weight:900;letter-spacing:0}.usage-heading h2{color:#0f172a;font-size:1.75rem;margin-top:4px}.usage-heading p{color:#475569;line-height:1.55;max-width:520px;text-align:right}.usage-summary-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.usage-summary-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 20px rgba(15,23,42,.06);overflow:hidden;padding:18px;position:relative}.usage-summary-card:before{background:#14b8a6;content:"";inset:0 auto 0 0;position:absolute;width:5px}.usage-summary-card.testing-today:before,.usage-summary-card.testing:before{background:#6366f1}.usage-summary-card small,.usage-summary-card span{color:#64748b;display:block}.usage-summary-card span{font-size:.82rem;font-weight:700}.usage-summary-card strong{color:#0f172a;display:block;font-size:2rem;margin:4px 0 1px}.usage-summary-card small{font-size:.72rem}.usage-chart-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 10px 28px rgba(15,23,42,.07);padding:20px 20px 12px}.usage-chart-title{color:#0f172a;display:flex;justify-content:space-between;margin-bottom:10px}.usage-chart-title span{color:#64748b;font-size:.8rem}.usage-chart{height:320px;width:100%}.usage-error,.usage-loading{background:#f8fafc;border:1px dashed #94a3b8;color:#475569;display:grid;min-height:180px;place-items:center}.usage-error{background:#fff7ed;border-color:#fecaca;color:#9a3412}.feature-icon{font-size:1.75rem;margin-bottom:var(--spacing-md)}.feature-card h3{font-size:1.1rem;font-weight:600;margin-bottom:2px}.feature-en{color:var(--text-muted);font-size:.8rem}.feature-card p{font-size:.9rem;line-height:1.6;margin-top:var(--spacing-sm)}.majors-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:var(--spacing-lg)}.major-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg)}.major-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:none}.major-icon{font-size:2.5rem}.major-card h3{font-size:1.2rem;font-weight:600}.major-stats{color:var(--text-muted);display:flex;font-size:.85rem;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.major-arrow{color:var(--text-muted);font-size:1.25rem;margin-left:auto}.tech-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:var(--spacing-lg)}.tech-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);text-align:center}.tech-icon{font-size:2rem}.tech-item strong{font-size:.9rem}.tech-item span{color:var(--text-muted);font-size:.8rem}@media (max-width:768px){.hero{grid-template-columns:1fr;padding:var(--spacing-lg) 0;text-align:center}.hero h1{font-size:1.75rem}.hero-actions,.hero-devices{flex-wrap:wrap;justify-content:center}.hero-visual{display:none}.majors-grid{grid-template-columns:1fr}.usage-heading{align-items:flex-start;flex-direction:column}.usage-heading p{text-align:left}.usage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-chart-card{padding-left:8px;padding-right:8px}.usage-chart{height:280px}.usage-chart-title{align-items:flex-start;flex-direction:column;gap:3px}}.auth-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 128px);padding:var(--spacing-lg)}.auth-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:480px;padding:var(--spacing-xl);width:100%}.auth-header{margin-bottom:var(--spacing-xl);text-align:center}.auth-header h1{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-xs)}.auth-header p{color:var(--text-secondary);font-size:.9rem}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.auth-footer{color:var(--text-secondary);font-size:.9rem;margin-top:var(--spacing-lg);text-align:center}.auth-demo{border-top:1px solid var(--border-color);margin-top:var(--spacing-md);padding-top:var(--spacing-md);text-align:center}@media (max-width:768px){.form-row{grid-template-columns:1fr}.auth-card{padding:var(--spacing-lg)}}.auth-consent{align-items:flex-start;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;gap:9px;line-height:1.55;margin:4px 0 16px}.auth-consent input{accent-color:var(--primary);flex:0 0 auto;height:16px;margin-top:2px;width:16px}.courses-page .courses-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.search-box{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);min-width:280px;position:relative}.search-box .search-icon{color:var(--text-muted);left:12px;position:absolute}.filter-group{align-items:center;display:flex;gap:var(--spacing-sm)}.filter-group .form-input{min-width:130px;width:auto}.course-card{color:inherit;display:flex;flex-direction:column;overflow:hidden;padding:0;text-decoration:none}.course-cover{align-items:center;display:flex;height:160px;justify-content:center;position:relative}.course-cover-placeholder{font-size:3.5rem;opacity:.6}.course-difficulty{position:absolute;right:var(--spacing-sm);top:var(--spacing-sm)}.course-info{display:flex;flex:1 1;flex-direction:column;padding:var(--spacing-md)}.course-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.85rem;line-height:1.5;margin:var(--spacing-sm) 0;overflow:hidden}.course-meta{color:var(--text-muted);flex-wrap:wrap;font-size:.8rem;gap:var(--spacing-sm);margin-top:auto;padding-top:var(--spacing-sm)}.course-meta,.course-meta span{align-items:center;display:flex}.course-meta span{gap:4px}.course-progress{display:flex;flex-direction:column;gap:4px;margin-top:var(--spacing-sm)}@media (max-width:768px){.courses-filters{flex-direction:column}.filter-group{flex-wrap:wrap}}.course-detail-hero{color:#fff;margin-bottom:var(--spacing-lg)}.course-detail-hero h1{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:4px}.course-detail-description,.course-detail-meta,.course-detail-subtitle{color:#e2e8f0}.course-detail-subtitle{margin-bottom:12px}.course-detail-description{margin-bottom:16px}.course-detail-meta{font-size:.85rem;gap:16px}.course-detail-layout{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:minmax(0,1fr) 320px}@media (max-width:768px){.course-detail-layout{grid-template-columns:1fr}.course-detail-hero{padding:var(--spacing-md)}}.video-player-page{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 420px;margin:0 auto;max-width:1400px}.video-main{display:flex;flex-direction:column}.video-container{aspect-ratio:16/9;background:#1f2937;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;position:relative;width:100%}.video-element{height:100%;object-fit:contain;width:100%}.video-placeholder{align-items:center;cursor:pointer;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.vp-content{text-align:center}.vp-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.8;transition:transform .2s}.video-placeholder:hover .vp-icon{transform:none}.vp-content h3{color:#fff;font-size:1.1rem;font-weight:600}.vp-content p{color:hsla(0,0%,100%,.6);font-size:.9rem}.video-subtitle{bottom:40px;left:50%;max-width:80%;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%)}.subtitle-en{background:rgba(17,24,39,.78);font-size:1rem;line-height:1.5;margin-bottom:4px;padding:6px 16px}.subtitle-cn,.subtitle-en{border-radius:4px;display:inline-block}.subtitle-cn{background:rgba(17,24,39,.62);color:hsla(0,0%,100%,.85);font-size:.85rem;padding:4px 12px}.video-controls{flex-wrap:wrap;padding:var(--spacing-sm) 0}.progress-slider,.video-controls{align-items:center;display:flex;gap:var(--spacing-sm)}.progress-slider{flex:1 1;min-width:200px}.slider{-webkit-appearance:none;background:var(--border-color);border-radius:2px;flex:1 1;height:4px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);border-radius:50%;cursor:pointer;height:14px;width:14px}.time-display{color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem;white-space:nowrap}.speed-control,.subtitle-control{border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;gap:2px;padding:2px}.speed-btn,.subtitle-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);font-size:.75rem;padding:4px 8px;transition:background-color .15s ease,color .15s ease,transform .12s ease-out}.speed-btn.active,.subtitle-btn.active{color:#fff}.speed-btn:hover,.subtitle-btn:hover{color:var(--text-primary)}.video-info{padding:var(--spacing-md) 0}.video-info h1{font-size:1.25rem;font-weight:600}.video-info p{color:var(--text-secondary);font-size:.85rem;margin:4px 0 var(--spacing-sm)}.video-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.video-sidebar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;max-height:calc(100vh - 100px);position:sticky;top:80px}.video-sidebar .tabs{flex-shrink:0;margin-bottom:0;padding:0 var(--spacing-sm)}.sidebar-content{flex:1 1;overflow-y:auto;padding:var(--spacing-md)}@media (max-width:1024px){.video-player-page{grid-template-columns:1fr}.video-sidebar{max-height:500px;position:static}}@media (max-width:768px){.video-controls{align-items:stretch;flex-direction:column}.speed-control,.subtitle-control{justify-content:center}}.term-graph-panel{padding:20px}.term-graph-canvas{background:#fbfcfd;border:1px solid var(--border-color);border-radius:var(--radius-md);min-height:360px;overflow:hidden}.term-graph-canvas svg{display:block;height:380px;min-width:620px;width:100%}.term-graph-edge line{stroke:#8aa7a3;stroke-width:2}.term-graph-edge path{fill:#6f928d}.term-graph-edge text{fill:var(--text-muted);stroke:#fbfcfd;stroke-width:4px;stroke-linejoin:round;font-size:12px;paint-order:stroke}.term-graph-node circle{fill:#fff;stroke:#8aa7a3;stroke-width:2}.term-graph-node text{fill:var(--text-primary);font-size:12px;font-weight:700;max-width:80px;pointer-events:none}.term-graph-node .term-graph-node-cn{fill:var(--text-muted);font-size:10px;font-weight:500}.term-graph-node.is-focus circle{fill:#e9f5f3;stroke:var(--primary);stroke-width:3}.compact-graph-empty{min-height:220px}@media (hover:hover) and (pointer:fine){.term-graph-node circle{transition:fill .16s ease,stroke-width .16s ease}.term-graph-node:hover circle{fill:#f0f8f7;stroke-width:3}}@media (max-width:720px){.term-graph-canvas{overflow-x:auto}}@media (prefers-reduced-motion:reduce){.term-graph-node circle{transition:none}}.personal-vocabulary{margin-bottom:20px}.vocabulary-heading{align-items:flex-start}.vocabulary-heading h2{align-items:center;display:flex;gap:8px}.vocabulary-stat-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.vocabulary-stat{background:var(--surface);border:1px solid var(--border-light);border-radius:8px;padding:12px}.vocabulary-stat span{color:var(--text-secondary);font-size:.75rem;font-weight:700}.vocabulary-stat strong{font-feature-settings:"tnum";color:var(--text-primary);display:block;font-size:1.35rem;font-variant-numeric:tabular-nums;margin-top:4px}.vocabulary-workspace{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(280px,.72fr) minmax(0,1.5fr)}.vocabulary-form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.vocabulary-deck-picker label,.vocabulary-form-grid label{color:var(--text-secondary);font-size:.76rem;font-weight:700}.vocabulary-form-grid label>span{display:block;margin-bottom:5px}.vocabulary-form-grid .is-wide{grid-column:1/-1}.vocabulary-deck-picker{border:1px solid var(--border-light);border-radius:6px;margin:12px 0;padding:10px}.vocabulary-deck-picker legend{color:var(--text-secondary);font-size:.75rem;font-weight:700;padding:0 4px}.vocabulary-deck-picker label{align-items:center;display:flex;gap:7px;margin-top:6px}.vocabulary-filters{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(180px,1fr) minmax(130px,.45fr) auto}.vocabulary-search{position:relative}.vocabulary-search>svg{color:var(--text-muted);left:10px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.vocabulary-search .form-input{padding-left:34px}.vocabulary-due-toggle{align-items:center;color:var(--text-secondary);display:flex;font-size:.78rem;font-weight:700;gap:6px;white-space:nowrap}.vocabulary-list{grid-gap:8px;display:grid;gap:8px;margin-top:12px}.vocabulary-row{grid-gap:12px;align-items:start;background:#f8f9fb;border:1px solid var(--border-light);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px;transition:border-color .16s ease,background-color .16s ease}.vocabulary-meta,.vocabulary-review-actions,.vocabulary-source-actions,.vocabulary-term-line{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.vocabulary-term-line h3{color:var(--text-primary);font-size:1rem;margin:0}.vocabulary-term-line>span:not(.badge){color:var(--text-secondary);font-size:.8rem}.vocabulary-row blockquote,.vocabulary-row-main>p{color:var(--text-secondary);line-height:1.55;margin:7px 0 0}.vocabulary-row blockquote{border-left:2px solid var(--primary);font-size:.8rem;padding-left:9px}.vocabulary-meta{color:var(--text-muted);margin-top:8px}.vocabulary-meta span{align-items:center;display:inline-flex;gap:4px}.vocabulary-source-actions{margin-top:8px}.vocabulary-review-actions{justify-content:flex-end;max-width:220px}.vocabulary-review-actions .btn{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s var(--ease-out)}.vocabulary-review-actions .btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.vocabulary-row:hover{background:#fbfcfd;border-color:#9ebbb7}}@media (max-width:980px){.vocabulary-workspace{grid-template-columns:1fr}}@media (max-width:680px){.vocabulary-form-grid,.vocabulary-stat-grid{grid-template-columns:1fr 1fr}.vocabulary-filters,.vocabulary-row{grid-template-columns:1fr}.vocabulary-review-actions{justify-content:flex-start;max-width:none}}@media (max-width:440px){.vocabulary-form-grid,.vocabulary-stat-grid{grid-template-columns:1fr}.vocabulary-form-grid .is-wide{grid-column:auto}}@media (prefers-reduced-motion:reduce){.vocabulary-review-actions .btn,.vocabulary-row{transform:none!important;transition:none}}.vocabulary-audio{height:32px;width:min(230px,100%)}.flashcards-page .page-header p{color:var(--text-secondary)}.flashcards-page .card>h2,.flashcards-page .card>h3{color:var(--text-primary)}.flashcard-source-hint{background:var(--primary-bg);border-left:3px solid var(--primary);border-radius:4px;color:var(--text-secondary);font-weight:500;line-height:1.55;margin-top:8px;padding:9px 11px}.flashcard-study-surface{border:1px solid #475569;box-shadow:0 14px 30px rgba(15,23,42,.24)}.flashcard-study-surface:before{background:transparent;content:"";inset:0;pointer-events:none;position:absolute}.flashcard-study-content{position:relative;z-index:1}.flashcard-source-badge{border:1px solid #5eead4;color:#ecfeff;font-size:.76rem;margin-top:8px;padding:4px 10px}.flashcard-flip-hint{color:#bae6fd;letter-spacing:0}.flashcard-main-text{line-height:1.4;margin-top:8px;text-shadow:0 1px 2px rgba(0,0,0,.38)}.flashcard-phonetic{color:#a5f3fc;margin-top:6px}.flashcard-context{color:#e2e8f0;font-weight:500;margin:12px auto 0}.flashcard-study-surface .btn-secondary{background:#f8fafc;border-color:#fff;color:#0f172a;font-weight:700}@media (hover:hover) and (pointer:fine){.flashcard-study-surface .btn-secondary:hover{background:#e7f5f2;border-color:#8dd8cf}}@media (max-width:560px){.flashcard-study-surface{min-height:280px}.flashcard-main-text{font-size:1.35rem}}.oral-practice-page{margin:0 auto;width:min(1180px,100%)}.oral-page-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;max-width:none}.oral-dialogue-layout,.oral-start-layout{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr)}.oral-answer-composer,.oral-session-list,.oral-start-form,.oral-summary,.oral-turn,.oral-vocabulary-suggestions{grid-gap:10px;display:grid;gap:10px}.oral-session-row{align-items:center;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:11px 12px;text-align:left;transition:border-color .15s ease,background-color .15s ease;width:100%}.oral-session-row span{display:grid}.oral-session-row small{color:var(--text-muted)}.oral-avatar-panel{align-self:start;display:grid;justify-items:center;text-align:center}.oral-avatar{display:grid;height:150px;margin:6px 0 16px;place-items:center;position:relative;width:132px}.avatar-face{background:#f1c9a7;border:2px solid #315d59;border-radius:46% 46% 42% 42%;height:116px;position:relative;width:104px}.avatar-hair{background:#22343c;border-radius:52px 52px 20px 18px;height:52px;position:absolute;top:9px;width:112px;z-index:2}.avatar-eye{background:#182230;border-radius:50%;height:9px;position:absolute;top:49px;width:9px}.avatar-eye.left{left:27px}.avatar-eye.right{right:27px}.avatar-mouth{background:#a9413b;border-radius:0 0 12px 12px;bottom:25px;height:7px;left:50%;position:absolute;transform:translateX(-50%);transition:height .12s ease,border-radius .12s ease;width:24px}.oral-avatar.is-speaking .avatar-mouth{animation:oral-mouth .42s ease-in-out infinite alternate;border-radius:50%;height:18px}@keyframes oral-mouth{0%{height:7px}to{height:20px}}.oral-current-question{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin:10px 0 16px}.oral-conversation-panel{min-width:0}.oral-turn-list{grid-gap:14px;display:grid;gap:14px;max-height:540px;overflow-y:auto}.oral-turn{gap:8px}.learner-bubble,.oral-feedback,.tutor-bubble{border-radius:var(--radius-md);max-width:88%;padding:11px 13px}.learner-bubble{background:var(--primary);color:#fff;justify-self:end}.tutor-bubble{background:#f6f8fa;border:1px solid var(--border-color);justify-self:start}.oral-feedback{background:var(--primary-bg);border:1px solid #c8dedb;color:var(--text-secondary);justify-self:end}.learner-bubble span,.tutor-bubble span{display:block;font-size:.72rem;font-weight:800;margin-bottom:3px;opacity:.76}.learner-bubble p,.oral-feedback p,.tutor-bubble p{line-height:1.65}.tutor-bubble .btn{margin-top:8px}.oral-answer-composer{border-top:1px solid var(--border-light);margin-top:16px;padding-top:16px}.oral-answer-composer textarea{resize:vertical}.oral-recorder{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-height:44px}.oral-recorder audio{height:38px;width:min(320px,100%)}.oral-summary>p{color:var(--text-secondary);line-height:1.75}.oral-dimension-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.oral-dimension-grid div{grid-gap:4px;background:#f8fafb;border:1px solid var(--border-light);border-radius:var(--radius-sm);display:grid;gap:4px;padding:11px}.oral-dimension-grid strong{color:var(--primary-dark);font-size:.76rem;text-transform:capitalize}.oral-dimension-grid span{color:var(--text-secondary);font-size:.82rem}@media(hover:hover) and (pointer:fine){.oral-session-row:hover{background:var(--bg-hover);border-color:#9ebbb7}}@media(max-width:800px){.oral-dialogue-layout,.oral-start-layout{grid-template-columns:1fr}.oral-avatar-panel{position:static}}@media(max-width:560px){.oral-page-title{flex-direction:column}.learner-bubble,.oral-feedback,.tutor-bubble{max-width:96%}.oral-dimension-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.oral-avatar.is-speaking .avatar-mouth{animation:none;height:13px}.avatar-mouth,.oral-session-row{transition:none}}.learning-recommendations{margin-bottom:16px}.recommendation-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.recommendation-card{grid-gap:10px;align-items:start;background:#fbfcfd;border:1px solid var(--border-color);border-radius:var(--radius-md);display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);min-height:142px;padding:14px}.recommendation-rank{background:var(--primary-bg);border-radius:var(--radius-sm);color:var(--primary-dark);display:grid;font-size:.75rem;font-weight:800;height:30px;place-items:center;width:30px}.recommendation-card p{color:var(--text-secondary);font-size:.82rem;line-height:1.6;margin-top:5px}.recommendation-card .btn{grid-column:2;justify-self:start}@media(hover:hover) and (pointer:fine){.recommendation-card{transition:border-color .16s ease,box-shadow .16s ease}.recommendation-card:hover{border-color:#9ebbb7;box-shadow:var(--shadow-sm)}}@media(max-width:560px){.recommendation-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.recommendation-card{transition:none}}.privacy-center{margin-top:16px}.policy-summary{background:#f8fafb;border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 14px}.policy-summary summary{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.86rem;font-weight:700;gap:7px}.policy-summary p{color:var(--text-secondary);font-size:.82rem;line-height:1.7;margin-top:10px}.consent-list{grid-gap:8px;display:grid;gap:8px;margin-bottom:14px}.consent-row{align-items:center;border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:16px;justify-content:space-between;min-height:62px;padding:11px 13px}.consent-row span{grid-gap:3px;display:grid;gap:3px}.consent-row small{color:var(--text-muted);line-height:1.5}.consent-row input{accent-color:var(--primary);flex:0 0 auto;height:18px;width:18px}.privacy-actions{margin-bottom:16px}.privacy-request-form{grid-gap:10px;align-items:end;border-top:1px solid var(--border-light);display:grid;gap:10px;grid-template-columns:190px minmax(0,1fr) auto;padding-top:16px}.privacy-request-form textarea{min-height:44px;resize:vertical}.privacy-request-list{border-top:1px solid var(--border-light);display:grid;margin-top:16px}.privacy-request-row{grid-gap:10px;align-items:center;border-bottom:1px solid var(--border-light);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding:11px 0}.privacy-request-row>div{display:grid}.privacy-request-row p,.privacy-request-row small{color:var(--text-muted);font-size:.78rem}.privacy-request-row p{grid-column:1/-1}@media (max-width:720px){.privacy-request-form,.privacy-request-row{align-items:start;grid-template-columns:1fr}.privacy-request-row p{grid-column:auto}}@media (prefers-reduced-motion:reduce){.consent-row,.policy-summary summary{scroll-behavior:auto}}.listening-tests-page{margin:0 auto;max-width:1180px;padding-bottom:48px}.listening-tests-header{grid-gap:28px;align-items:stretch;border:1px solid #cbd5e1;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) 260px;margin:28px 0;padding:30px}.listening-tests-eyebrow{color:#0f766e;font-size:.78rem;font-weight:800;letter-spacing:0}.listening-tests-header h1{color:#0f172a;font-size:clamp(2rem,4vw,3rem);margin:8px 0 10px}.listening-tests-header p{color:#334155;line-height:1.75;max-width:760px}.listening-rule-card{background:#0f172a;border-radius:8px;color:#e2e8f0;display:flex;flex-direction:column;gap:9px;justify-content:center;padding:22px}.listening-rule-card strong{color:#fff;font-size:1.08rem;margin-bottom:3px}.listening-rule-card span:before{color:#5eead4;content:"✓";font-weight:800;margin-right:8px}.listening-test-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.listening-test-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.08);padding:24px}.listening-test-card-top{align-items:center;display:flex;justify-content:space-between}.question-count,.test-kind{border-radius:8px;display:inline-flex;font-size:.78rem;font-weight:800;padding:5px 10px}.test-kind-standard{background:#ccfbf1;color:#115e59}.test-kind-colloquial{background:#ede9fe;color:#5b21b6}.question-count{background:#e2e8f0;color:#334155}.listening-test-card h2{color:#0f172a;font-size:1.4rem;margin:18px 0 3px}.test-title-en{color:#475569;font-weight:600}.listening-test-card>p{color:#475569;line-height:1.65;margin:14px 0 18px;min-height:50px}.score-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.score-grid div{background:#f8fafc;border-radius:8px;padding:11px 8px;text-align:center}.score-grid span,.score-grid strong{display:block}.score-grid span{color:#64748b;font-size:.75rem}.score-grid strong{color:#0f172a;font-size:.95rem;margin-top:4px}.listening-start-button{width:100%}.listening-history{margin-top:38px}.listening-section-title h2{color:#0f172a;margin-bottom:4px}.listening-section-title p{color:#475569;margin-bottom:16px}.history-table-wrap{background:#fff;border:1px solid #cbd5e1;overflow-x:auto}.history-table{border-collapse:collapse;min-width:760px;width:100%}.history-table td,.history-table th{border-bottom:1px solid #e2e8f0;color:#334155;padding:14px 16px;text-align:left}.history-table th{background:#f8fafc;color:#475569;font-size:.8rem}.history-table td:first-child span{color:#64748b;display:block;font-size:.78rem}.history-table tbody tr:last-child td{border-bottom:0}.history-table b{color:#0f766e;font-size:1.05rem}.listening-empty-history{border:1px dashed #94a3b8;border-radius:8px;color:#475569;padding:34px;text-align:center}@media (max-width:768px){.listening-tests-header{padding:22px}.listening-test-grid,.listening-tests-header{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.listening-attempt-page{margin:0 auto;max-width:1220px;padding:24px 0 52px}.attempt-header{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.attempt-back-link{color:#0f766e;display:inline-block;font-weight:700;margin-bottom:8px}.attempt-header h1{color:#0f172a;margin:0 0 5px}.attempt-header p{color:#475569}.attempt-mode-badge{border-radius:8px;flex:0 0 auto;font-size:.82rem;font-weight:800;padding:8px 14px}.attempt-mode-badge.testing{background:#fef3c7;color:#92400e}.attempt-mode-badge.review{background:#ccfbf1;color:#115e59}.result-summary{grid-gap:12px;align-items:center;border:1px solid #99f6e4;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin-bottom:20px;padding:18px}.result-summary>div{background:hsla(0,0%,100%,.78);border-radius:8px;min-height:78px;padding:12px}.result-summary span{color:#475569;display:block;font-size:.78rem}.result-summary strong{color:#0f172a;font-size:2rem}.result-summary small{color:#64748b;margin-left:4px}.attempt-workspace{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 390px}.attempt-media-column,.question-panel,.review-guide{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 10px 26px rgba(15,23,42,.07)}.attempt-media-column{overflow:hidden}.attempt-video-shell{aspect-ratio:16/9;background:#020617;overflow:hidden;position:relative}.attempt-video-shell video{height:100%;object-fit:contain;width:100%}.review-subtitle-overlay{bottom:13%;left:4%;pointer-events:none;position:absolute;right:4%;text-align:center;text-shadow:0 2px 5px #000,0 0 2px #000}.subtitle-en{color:#fff;font-size:clamp(1rem,2vw,1.35rem);font-weight:800}.subtitle-cn{color:#fde68a;font-size:clamp(.95rem,1.8vw,1.2rem);font-weight:800;margin-top:4px}.test-play-controls{align-items:center;display:flex;gap:14px;padding:16px}.play-limit{color:#334155;font-size:.9rem}.play-limit span{color:#64748b;display:block;font-size:.78rem;margin-top:2px}.test-security-note{background:#f8fafc;border-top:1px solid #e2e8f0;color:#475569;display:flex;font-size:.8rem;gap:12px;justify-content:space-between;padding:12px 16px}.test-security-note strong{color:#0f172a}.subtitle-toolbar{align-items:center;display:flex;gap:8px;padding:13px 16px}.subtitle-toolbar>span{color:#334155;font-weight:800;margin-right:auto}.subtitle-toolbar button{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;padding:6px 10px}.subtitle-toolbar button.active{background:#0f766e;border-color:#0f766e;color:#fff}.question-panel,.review-guide{padding:20px}.question-progress-row{color:#475569;display:flex;font-size:.82rem;justify-content:space-between}.question-progress-row strong{color:#0f766e}.question-progress-track{background:#e2e8f0;border-radius:8px;height:7px;margin:9px 0 20px;overflow:hidden}.question-progress-track span{background:var(--primary);border-radius:inherit;display:block;height:100%}.question-panel h2{color:#0f172a;font-size:1.15rem;line-height:1.55}.answer-options{grid-gap:9px;display:grid;gap:9px;margin-top:16px}.answer-options button{grid-gap:10px;align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;cursor:pointer;display:grid;gap:10px;grid-template-columns:34px minmax(0,1fr);padding:11px;text-align:left;width:100%}.answer-options button:hover{background:#f0fdfa;border-color:#0f766e}.answer-options button.selected{background:#ccfbf1;border-color:#0f766e}.answer-options button b{background:#e2e8f0;border-radius:50%;color:#0f172a;display:grid;height:30px;place-items:center;width:30px}.answer-options button.selected b{background:#0f766e;color:#fff}.question-navigation{display:flex;justify-content:space-between;margin:18px 0 12px}.question-number-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(8,1fr)}.question-number-grid button{aspect-ratio:1;background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#475569;cursor:pointer}.question-number-grid button.answered{background:#ccfbf1;border-color:#5eead4;color:#115e59}.question-number-grid button.current{outline:2px solid #4f46e5;outline-offset:1px}.submit-test-button{margin-top:16px;width:100%}.review-guide h2{color:#0f172a}.review-guide p{color:#475569;line-height:1.65;margin:9px 0 18px}.review-guide-links{grid-gap:8px;display:grid;gap:8px}.review-guide-links a{background:#f1f5f9;border-radius:8px;color:#0f766e;font-weight:700;padding:10px 12px}.keyword-review-section,.question-review-section{margin-top:34px;scroll-margin-top:80px}.review-section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:14px}.review-section-heading span{color:#0f766e;font-size:.72rem;font-weight:900;letter-spacing:0}.review-section-heading h2{color:#0f172a;margin-top:3px}.review-section-heading>strong{color:#334155;font-size:1.2rem}.review-question-list{grid-gap:14px;display:grid;gap:14px}.review-question-card{background:#fff;border:1px solid #cbd5e1;border-left-width:5px;border-radius:8px;padding:20px}.review-question-card.correct{border-left-color:#10b981}.review-question-card.wrong{border-left-color:#ef4444}.review-question-top{display:flex;font-size:.8rem;justify-content:space-between}.review-question-card.correct .review-question-top strong{color:#047857}.review-question-card.wrong .review-question-top strong{color:#b91c1c}.review-question-card h3{color:#0f172a;line-height:1.5;margin:10px 0}.review-answer-lines{color:#475569;display:flex;flex-wrap:wrap;gap:10px 24px}.review-answer-lines b{color:#0f172a}.review-explanation{background:#f8fafc;border-radius:9px;color:#334155;margin-top:12px;padding:12px}.review-explanation p{line-height:1.65;margin-top:5px}.review-question-card blockquote{background:#f0f9ff;border-left:3px solid #38bdf8;color:#334155;font-style:italic;margin:12px 0 0;padding:10px 13px}.review-card-actions{display:flex;gap:9px;margin-top:13px}.keyword-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.keyword-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;display:flex;flex-direction:column;padding:17px}.keyword-card h3{color:#0f766e;font-size:1.2rem}.keyword-card p{line-height:1.55}.keyword-en{color:#334155;margin-top:8px}.keyword-cn{color:#64748b;margin:7px 0 14px}.keyword-card>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.listening-load-error{background:#fff;border:1px solid #fecaca;border-radius:8px;margin:80px auto;max-width:560px;padding:30px;text-align:center}.listening-load-error h1{color:#991b1b}.listening-load-error p{color:#475569;margin:10px 0 18px}@media (max-width:900px){.attempt-workspace{grid-template-columns:1fr}.question-panel,.review-guide{order:2}.keyword-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.listening-attempt-page{padding-top:14px}.attempt-header{align-items:flex-start}.attempt-header h1{font-size:1.45rem}.result-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.result-summary .btn{grid-column:1/-1}.result-summary strong{font-size:1.4rem}.test-play-controls{align-items:stretch}.test-play-controls,.test-security-note{flex-direction:column}.subtitle-toolbar{flex-wrap:wrap}.subtitle-toolbar>span{width:100%}.question-number-grid{grid-template-columns:repeat(5,1fr)}.keyword-card-grid{grid-template-columns:1fr}.review-answer-lines{display:block}.review-card-actions{flex-wrap:wrap}}.content-governance-page{margin:0 auto;width:min(1180px,100%)}.governance-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;max-width:none}.content-governance-page>.card{padding:20px}.panel-heading h2{align-items:center;display:flex;gap:8px}.governance-form{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.governance-form label{grid-gap:5px;color:var(--text-secondary);display:grid;font-size:.78rem;font-weight:700;gap:5px}.governance-form .is-wide{grid-column:span 2}.governance-form textarea{min-height:68px;resize:vertical}.governance-form .btn{align-self:end}.governance-list{border-top:1px solid var(--border-light);display:grid}.governance-row{grid-gap:14px;align-items:center;border-bottom:1px solid var(--border-light);display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto auto;min-width:0;padding:13px 0}.governance-row:last-child{border-bottom:0}.governance-row p,.governance-row strong{overflow-wrap:anywhere}.governance-row p{color:var(--text-secondary);font-size:.84rem;margin-top:3px}.proof-upload-field span,.rights-record-actions{align-items:center;display:flex;gap:8px}.rights-record-actions{flex-wrap:wrap;justify-content:flex-end}.candidate-grid{grid-gap:12px;display:grid;gap:12px}.candidate-card{background:#fbfcfd;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.candidate-evidence{grid-gap:6px 10px;align-items:center;display:grid;gap:6px 10px;grid-template-columns:auto 1fr;margin-bottom:12px}.candidate-evidence p,.candidate-evidence small{grid-column:1/-1}.candidate-evidence p{background:#fff;border-left:3px solid var(--primary);color:var(--text-secondary);line-height:1.65;padding:10px 12px}.candidate-evidence small{color:var(--text-muted)}.candidate-editor{margin-bottom:12px}.compact-empty{margin-top:12px;min-height:110px}@media (hover:hover) and (pointer:fine){.candidate-card{transition:border-color .16s ease,box-shadow .16s ease}.candidate-card:hover{border-color:#9ebbb7;box-shadow:var(--shadow-sm)}}.ai-relation-tool{grid-gap:12px;align-items:end;background:#f7faf9;border:1px solid var(--border-color);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr) auto;margin-bottom:14px;padding:14px}.ai-relation-tool strong{align-items:center;display:flex;gap:7px}.ai-relation-tool p{margin-top:4px}@media (max-width:900px){.governance-form{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-relation-tool{grid-template-columns:1fr 1fr}.ai-relation-tool>div{grid-column:1/-1}}@media (max-width:640px){.governance-title{flex-direction:column}.ai-relation-tool,.governance-form{grid-template-columns:1fr}.ai-relation-tool>div,.governance-form .is-wide{grid-column:auto}.governance-row{align-items:start;grid-template-columns:1fr}.candidate-card{padding:13px}.action-row .btn{flex:1 1 132px}}@media (prefers-reduced-motion:reduce){.candidate-card{transition:none}}.privacy-management-page{margin:0 auto;width:min(1120px,100%)}.privacy-management-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;max-width:none}.privacy-status-filter{width:160px}.audit-log-list,.privacy-admin-card,.privacy-admin-list{grid-gap:10px;display:grid;gap:10px}.privacy-admin-card{background:#fbfcfd;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px}.privacy-admin-summary{display:flex;gap:12px;justify-content:space-between}.privacy-admin-summary p,.privacy-result-note,.privacy-user-reason{color:var(--text-secondary);font-size:.82rem}.privacy-result-note,.privacy-user-reason{background:#fff;border-left:3px solid var(--primary);padding:9px 11px}.privacy-result-note{align-items:flex-start;border-left-color:var(--success);display:flex;gap:7px}.privacy-admin-card textarea{resize:vertical}.audit-log-list{max-height:520px;overflow-y:auto}.audit-log-row{grid-gap:5px 12px;border-bottom:1px solid var(--border-light);display:grid;gap:5px 12px;grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.audit-log-row p,.audit-log-row time{color:var(--text-muted);font-size:.78rem}.audit-log-row>p{grid-column:1/-1}@media (hover:hover) and (pointer:fine){.privacy-admin-card{transition:border-color .16s ease,box-shadow .16s ease}.privacy-admin-card:hover{border-color:#9ebbb7;box-shadow:var(--shadow-sm)}}@media (max-width:640px){.privacy-admin-summary,.privacy-management-title{flex-direction:column}.privacy-status-filter{width:100%}.audit-log-row{grid-template-columns:1fr}.audit-log-row>p{grid-column:auto}}@media (prefers-reduced-motion:reduce){.privacy-admin-card{transition:none}}.experiment-management-page,.feedback-management-page,.feedback-page,.survey-page{margin:0 auto;width:min(1120px,100%)}.feedback-form{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:180px 180px minmax(0,1fr)}.feedback-form .is-wide{grid-column:3;grid-row:1/3}.feedback-admin-list,.feedback-history{grid-gap:10px;display:grid;gap:10px;margin-top:16px}.feedback-admin-list article,.feedback-history article,.feedback-theme-grid article{background:#fbfcfd;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px}.feedback-history article>div{display:flex;gap:10px;justify-content:space-between}.feedback-admin-list p,.feedback-history p,.feedback-theme-grid p{color:var(--text-secondary);line-height:1.6;margin-top:6px}.feedback-history blockquote{background:#fff;border-left:3px solid var(--success);color:var(--text-secondary);margin-top:8px;padding:8px 10px}.experiment-form-grid,.feedback-task-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-link-list{grid-gap:7px;display:grid;gap:7px}.feedback-link-list a{align-items:center;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.feedback-link-list span{display:grid}.feedback-link-list small{color:var(--text-muted)}.survey-form{grid-gap:18px;display:grid;gap:18px}.survey-question{border:0;border-bottom:1px solid var(--border-light);padding:0 0 18px}.survey-question legend{font-weight:700;margin-bottom:10px}.survey-options{display:flex;flex-wrap:wrap;gap:8px}.survey-options.vertical{display:grid}.survey-options label{align-items:center;border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:7px;padding:8px 10px}.management-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;max-width:none}.feedback-filter-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:160px 160px auto;margin-bottom:14px}.feedback-admin-editor{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:160px minmax(0,1fr) auto;margin-top:10px}.feedback-theme-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feedback-theme-grid article{grid-gap:5px;display:grid;gap:5px}.feedback-theme-grid small,.feedback-theme-grid span{color:var(--text-muted);font-size:.78rem}.survey-publish-list{border-top:1px solid var(--border-light);display:grid}.survey-publish-list article{grid-gap:12px;align-items:center;border-bottom:1px solid var(--border-light);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto auto;padding:12px 0}.survey-publish-list article:last-child{border-bottom:0}.survey-publish-list p{margin-top:3px}.survey-builder-row{grid-gap:8px;border:1px solid var(--border-light);border-radius:var(--radius-sm);display:grid;gap:8px;grid-template-columns:140px minmax(0,1fr);padding:10px}.survey-builder-row textarea{grid-column:1/-1}.experiment-select{width:min(320px,100%)}.experiment-ops-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:.7fr 1.3fr}.experiment-ops-grid form{grid-gap:8px;border:1px solid var(--border-light);border-radius:var(--radius-sm);display:grid;gap:8px;padding:12px}.research-chart-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.research-chart-card{background:#fbfcfd;border:1px solid var(--border-light);border-radius:var(--radius-sm);min-width:0;padding:12px}.research-chart-card h3{font-size:.9rem;margin-bottom:10px}.research-export-button{justify-self:start}.research-table-wrap{overflow-x:auto}.research-table-wrap table{border-collapse:collapse;width:100%}.research-table-wrap td,.research-table-wrap th{border-bottom:1px solid var(--border-light);font-size:.82rem;padding:9px 10px;text-align:left}.research-table-wrap th{background:#f2f4f6}.auth-consent input,.survey-options input{accent-color:var(--primary)}@media(hover:hover) and (pointer:fine){.feedback-link-list a:hover{background:var(--bg-hover);border-color:#9ebbb7}}@media(max-width:800px){.research-chart-grid{grid-template-columns:1fr}.feedback-form{grid-template-columns:1fr 1fr}.feedback-form .is-wide{grid-column:1/-1;grid-row:auto}.experiment-form-grid,.experiment-ops-grid,.feedback-admin-editor,.feedback-task-grid{grid-template-columns:1fr}}@media(max-width:640px){.survey-publish-list article{align-items:start;grid-template-columns:1fr}}@media(max-width:560px){.management-title{flex-direction:column}.feedback-filter-row,.feedback-form{grid-template-columns:1fr}.feedback-form .is-wide{grid-column:auto}.survey-builder-row{grid-template-columns:1fr}.survey-builder-row textarea{grid-column:auto}}.user-management-page{margin:0 auto;width:min(1180px,100%)}.user-search-panel{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(260px,1fr) auto}.user-admin-list{grid-gap:14px;display:grid;gap:14px}.user-admin-card{padding:18px}.user-admin-heading{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.user-admin-heading p{color:var(--text-muted);font-size:.84rem;margin-top:4px}.user-account-controls{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:180px 180px auto;margin:15px 0}.user-account-controls label{grid-gap:5px;display:grid;gap:5px}.user-account-controls label>span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.permission-grid{border:0;padding:0}.permission-grid legend{align-items:center;display:flex;font-weight:700;gap:7px;margin-bottom:9px}.permission-grid>label{align-items:center;background:#fbfcfd;border:1px solid var(--border-light);border-radius:var(--radius-sm);display:flex;gap:9px;padding:10px 12px}.permission-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.permission-grid>label.is-active{background:#f0f8f7;border-color:#8ab2ac}.permission-grid input{accent-color:var(--primary)}.permission-grid span{display:grid}.permission-grid small{color:var(--text-muted);margin-top:2px}.learning-summary-panel{bottom:16px;box-shadow:var(--shadow-lg);position:sticky}.learning-summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.learning-summary-grid>div{background:#fbfcfd;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px}.learning-summary-grid small,.learning-summary-grid strong{display:block}.learning-summary-grid small{color:var(--text-muted)}.learning-summary-grid strong{font-size:1.15rem;margin-top:5px}@media(max-width:900px){.permission-grid{grid-template-columns:1fr}.learning-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.user-account-controls,.user-search-panel{grid-template-columns:1fr}.user-admin-heading{flex-direction:column}.learning-summary-grid{grid-template-columns:1fr}.learning-summary-panel{position:static}}:root{--primary:#0f766e;--primary-dark:#115e59;--primary-light:#14b8a6;--primary-bg:#ccfbf1;--warning:#b45309;--danger:#b91c1c;--info:#1d4ed8;--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#6b7280;--shadow-sm:0 1px 2px rgba(40,30,20,.08);--shadow-md:0 8px 18px rgba(35,25,15,.12);--shadow-lg:0 14px 28px rgba(35,25,15,.16);--shadow-xl:0 22px 46px rgba(35,25,15,.2);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-sans);--font-mono:"JetBrains Mono","Fira Code",monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);line-height:1.6}a{color:#14b8a6;color:var(--primary-light);text-decoration:none;transition:color .2s}a:hover{color:#0f766e;color:var(--primary)}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1400px;padding:24px;padding:var(--spacing-lg)}.page-header{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.page-header h1{color:#1f2937;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-weight:700;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.page-header p{color:#4b5563;font-size:.95rem}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #d8dde6;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:0 24px;padding:0 var(--spacing-lg);position:sticky;top:0;z-index:100}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:1.25rem;font-weight:700;gap:8px;gap:var(--spacing-sm)}.navbar-brand .logo-icon{align-items:center;background:#0f766e;border-radius:6px;border-radius:var(--radius-sm);display:flex;font-size:1.2rem;justify-content:center}.navbar-nav{align-items:center;display:flex;gap:4px;gap:var(--spacing-xs);list-style:none}.navbar-nav a,.navbar-nav button{background:none;border:none;border-radius:var(--radius-sm);color:#4b5563;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .12s ease-out}.navbar-nav a.active,.navbar-nav a:hover,.navbar-nav button:hover{background:#edf4f3;background:var(--bg-hover);color:#1f2937;color:var(--text-primary)}.navbar-user{gap:16px;gap:var(--spacing-md)}.navbar-avatar,.navbar-user{align-items:center;display:flex}.navbar-avatar{background:#0f766e;background:var(--primary);border-radius:50%;color:#fff;font-size:.85rem;font-weight:600;justify-content:center}.nav-toggle{background:none;border:none;color:#1f2937;color:var(--text-primary);cursor:pointer;display:none;font-size:1.5rem}.card{border:1px solid #d8dde6;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px;padding:var(--spacing-lg);transition:transform .16s ease-out,box-shadow .16s ease,border-color .16s ease}.card:hover{border-color:#0f766e;border-color:var(--primary);box-shadow:0 8px 18px rgba(35,25,15,.12);box-shadow:var(--shadow-md)}.card-grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--spacing-md)}.card-title{color:#1f2937;font-size:1.1rem;font-weight:600}.card-subtitle{color:#4b5563;color:var(--text-secondary);font-size:.85rem;margin-top:2px}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.9rem;font-weight:500;gap:8px;gap:var(--spacing-sm);justify-content:center;padding:10px 20px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .12s ease-out;white-space:nowrap}.btn-primary{background:#0f766e}.btn-secondary{color:#1f2937}.btn-secondary:hover{background:#f0f2f5}.btn-outline{background:transparent;border-color:#0f766e;border-color:var(--primary);color:#115e59}.btn-outline:hover{background:#0f766e;background:var(--primary);color:#fff}.btn-success{color:#fff}.btn-danger{background:#b91c1c;color:#fff}.btn-sm{font-size:.8rem;padding:6px 12px}.btn-lg{font-size:1rem;padding:14px 28px}.btn-icon{border-radius:50%}.form-group{margin-bottom:16px;margin-bottom:var(--spacing-md)}.form-label{color:#4b5563;color:var(--text-secondary);display:block;font-size:.85rem;font-weight:500;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.form-input{background:#fffef9;border:1px solid #d8dde6;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.9rem;padding:10px 14px;transition:border-color .2s;width:100%}.form-input:focus{border-color:#0f766e;box-shadow:0 0 0 3px rgba(20,184,166,.16);outline:none}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2394a3b8' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.badge{align-items:center;border-radius:5px;display:inline-flex;font-size:.75rem;font-weight:600;padding:3px 10px}.badge-primary{background:#ccfbf1;color:#115e59}.badge-success{background:rgba(21,128,61,.14);color:#15803d;color:var(--success)}.badge-warning{background:rgba(180,83,9,.14);color:#b45309;color:var(--warning)}.badge-danger{background:rgba(185,28,28,.14);color:#b91c1c;color:var(--danger)}.badge-info{background:rgba(29,78,216,.14);color:#1d4ed8;color:var(--info)}.progress-bar{border-radius:3px;overflow:hidden}.progress-bar-fill{background:#0f766e;background:var(--primary);border-radius:3px;height:100%;transition:width .22s cubic-bezier(.23,1,.32,1)}.score-ring{align-items:center;display:inline-flex;justify-content:center;position:relative}.score-ring svg{transform:rotate(-90deg)}.score-ring .score-value{color:#1f2937;color:var(--text-primary);font-size:1.25rem;font-weight:700;position:absolute}.tabs{border-bottom:1px solid #d8dde6;border-bottom:1px solid var(--border-color);display:flex;gap:2px;margin-bottom:24px;margin-bottom:var(--spacing-lg);overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .12s ease-out;white-space:nowrap}.tab:hover{color:#1f2937;color:var(--text-primary)}.tab.active{border-bottom-color:#0f766e;border-bottom-color:var(--primary);color:#14b8a6;color:var(--primary-light)}.empty-state{color:#6b7280;color:var(--text-muted);padding:48px;padding:var(--spacing-2xl);text-align:center}.empty-state .empty-icon{font-size:3rem;margin-bottom:16px;margin-bottom:var(--spacing-md);opacity:.5}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #d8dde6;border-top-color:#0f766e;border:3px solid var(--border-color);border-radius:50%;display:inline-block;height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.loading-container{align-items:center;color:#4b5563;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;gap:var(--spacing-md);justify-content:center;padding:48px;padding:var(--spacing-2xl)}@media (max-width:1024px){.main-content{padding:16px;padding:var(--spacing-md)}.card-grid{gap:16px;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.page-header h1{font-size:1.5rem}}@media (max-width:768px){.navbar{padding:0 16px;padding:0 var(--spacing-md)}.navbar-nav{background:#f0f2f5;background:var(--bg-secondary);border-bottom:1px solid #d8dde6;border-bottom:1px solid var(--border-color);display:none;flex-direction:column;left:0;padding:16px;padding:var(--spacing-md);position:absolute;right:0;top:64px}.navbar-nav.show{display:flex}.nav-toggle{display:block}.main-content{padding:8px;padding:var(--spacing-sm)}.card-grid{grid-template-columns:1fr}.tabs{gap:0}.tab{font-size:.8rem;padding:8px;padding:var(--spacing-sm) var(--spacing-sm)}.btn-lg{font-size:.9rem;padding:12px 20px}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#eef1f4}::-webkit-scrollbar-thumb{background:#b7bec9;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#98a2b3}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:8px;gap:var(--spacing-sm)}.gap-md{gap:16px;gap:var(--spacing-md)}.gap-lg{gap:24px;gap:var(--spacing-lg)}.text-center{text-align:center}.text-sm{font-size:.85rem}.text-muted{color:#6b7280;color:var(--text-muted)}.text-success{color:#15803d;color:var(--success)}.text-warning{color:#b45309;color:var(--warning)}.text-danger{color:#b91c1c;color:var(--danger)}.mt-md{margin-top:16px;margin-top:var(--spacing-md)}.mb-md{margin-bottom:16px;margin-bottom:var(--spacing-md)}.w-full{width:100%}.management-dashboard-grid,.management-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.management-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.management-row{border-bottom:1px solid #d8dde6;border-bottom:1px solid var(--border-color);display:flex;gap:12px;justify-content:space-between;padding:8px 0}@media (max-width:768px){.management-dashboard-grid,.management-form-grid{grid-template-columns:1fr}}.auth-required-notice{background:rgba(180,83,9,.08);border:1px solid #b45309;border:1px solid var(--warning);border-radius:6px;border-radius:var(--radius-sm);color:#4b5563;color:var(--text-secondary);margin-bottom:10px;padding:10px 12px}.speaking-score-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}@media (max-width:560px){.speaking-score-grid{grid-template-columns:1fr}}.accent-modal-backdrop{background:rgba(15,23,42,.7);display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:1000}.accent-modal{max-height:75vh;overflow-y:auto;width:min(560px,100%)}.accent-video-item{background:transparent;border:0;border-bottom:1px solid #d8dde6;border-bottom:1px solid var(--border-color);color:#1f2937;color:var(--text-primary);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px;text-align:left;width:100%}.accent-video-item span:first-child{display:flex;flex-direction:column}:root{--primary:#0b7a72;--primary-dark:#075e58;--primary-light:#12958a;--primary-bg:#e7f5f2;--success:#15803d;--warning:#a15c07;--danger:#b42318;--info:#3159c6;--accent-indigo:#4f46e5;--accent-amber:#b7791f;--accent-blue:#2563eb;--bg-primary:#fff;--bg-secondary:#f0f2f5;--bg-card:#fff;--bg-hover:#edf4f3;--bg-page:#f6f7f9;--text-primary:#182230;--text-secondary:#475467;--text-muted:#667085;--border-color:#d8dde6;--border-light:#e7eaf0;--shadow-sm:0 1px 2px rgba(16,24,40,.05);--shadow-md:0 8px 20px rgba(16,24,40,.08);--shadow-lg:0 16px 36px rgba(16,24,40,.12);--shadow-xl:0 24px 52px rgba(16,24,40,.15);--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--radius-xl:8px;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1)}body,html{background:#f6f7f9;background:var(--bg-page);min-width:320px}body{color:#182230;color:var(--text-primary)}body,button,input,select,textarea{letter-spacing:0}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:#075e58;color:var(--primary-dark);transition:color .15s ease}:focus-visible{outline:3px solid rgba(79,70,229,.28);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.main-content{max-width:1328px;padding:28px 24px 56px;width:100%}.page-header{margin:4px 0 24px;max-width:760px}.page-header h1{font-family:var(--font-sans);font-size:1.75rem;line-height:1.3;margin:0 0 5px}.page-header p{color:#475467;color:var(--text-secondary);line-height:1.6}.listening-tests-eyebrow,.review-section-heading span,.section-kicker,.usage-heading>div>span{color:#075e58;color:var(--primary-dark);display:block;font-size:.75rem;font-weight:800;letter-spacing:0}.navbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:hsla(0,0%,100%,.96);border-color:#e7eaf0;border-color:var(--border-light);height:64px;padding:0}.navbar-inner{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:auto minmax(0,1fr) auto;height:100%;margin:0 auto;max-width:1328px;padding:0 24px;width:100%}.navbar-brand{color:#182230;color:var(--text-primary);gap:10px;min-width:max-content}.navbar-brand .logo-icon{background:#0b7a72;background:var(--primary);border-radius:7px;color:#fff;font-size:1.05rem;height:36px;width:36px}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:.98rem}.brand-copy small{color:#667085;color:var(--text-muted);font-size:.68rem;font-weight:600;margin-top:3px}.navbar-nav{gap:2px;justify-content:center;min-width:0}.navbar-nav a,.navbar-nav button{align-items:center;border-radius:6px;color:#475467;color:var(--text-secondary);display:inline-flex;font-size:.8rem;gap:6px;height:36px;padding:0 10px;transition:color .15s ease,background-color .15s ease,transform .12s cubic-bezier(.23,1,.32,1);transition:color .15s ease,background-color .15s ease,transform .12s var(--ease-out)}.navbar-nav a svg{height:15px;width:15px}.navbar-nav a.active{background:#e7f5f2;background:var(--primary-bg);color:#075e58;color:var(--primary-dark);font-weight:700}.navbar-user{gap:6px;min-width:max-content}.navbar-avatar{background:#e7f5f2;background:var(--primary-bg);border:1px solid #b7d8d3;border-radius:7px;color:#075e58;color:var(--primary-dark);height:36px;width:36px}.nav-toggle{height:40px;padding:0;place-items:center;transition:background-color .15s ease,transform .12s cubic-bezier(.23,1,.32,1);transition:background-color .15s ease,transform .12s var(--ease-out);width:40px}.btn,.nav-toggle{border-radius:6px}.btn{font-size:.88rem;font-weight:700;line-height:1;min-height:40px;padding:9px 16px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s cubic-bezier(.23,1,.32,1),opacity .15s ease;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s var(--ease-out),opacity .15s ease}.ai-assistant-trigger:active,.answer-options button:active,.btn:active:not(:disabled),.nav-toggle:active,.question-number-grid button:active,.speed-btn:active,.subtitle-btn:active,button:active:not(:disabled){transform:scale(.97)}.btn:disabled,button:disabled{cursor:not-allowed;opacity:.48}.btn-primary{background:#0b7a72;background:var(--primary);border-color:#0b7a72;border-color:var(--primary);color:#fff}.btn-primary:hover{background:#075e58;background:var(--primary-dark);border-color:#075e58;border-color:var(--primary-dark);box-shadow:none}.btn-secondary{background:#fff;border-color:#d8dde6;border-color:var(--border-color);color:#182230;color:var(--text-primary)}.btn-quiet:hover,.btn-secondary:hover{background:#f0f2f5;background:var(--bg-secondary);border-color:#b8c0cd}.btn-quiet{background:transparent;border-color:transparent;color:#475467;color:var(--text-secondary)}.btn-outline{background:hsla(0,0%,100%,.74);border-color:#92bcb7}.btn-outline,.btn-outline:hover{color:#075e58;color:var(--primary-dark)}.btn-outline:hover{background:#e7f5f2;background:var(--primary-bg);border-color:#0b7a72;border-color:var(--primary)}.btn-success{background:#15803d;background:var(--success);border-color:#15803d;border-color:var(--success)}.btn-danger{background:#b42318;background:var(--danger);border-color:#b42318;border-color:var(--danger)}.btn-sm{font-size:.78rem;min-height:34px;padding:7px 11px}.btn-lg{font-size:.9rem;min-height:46px;padding:11px 18px}.btn-icon{border-radius:6px;height:40px;min-height:40px;min-width:40px;padding:0;width:40px}.form-label{color:#344054;font-size:.82rem;font-weight:700;margin-bottom:6px}.form-input{background:#fff;border-color:#cfd5df;border-radius:6px;color:#182230;color:var(--text-primary);min-height:42px;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.form-input::placeholder{color:#98a2b3}.form-input:focus{border-color:#0b7a72;border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,122,114,.13)}.form-input:disabled{background:#f0f2f5;color:#667085;color:var(--text-muted)}textarea.form-input{line-height:1.6;resize:vertical}.card{background:#fff;background:var(--bg-card);border-color:#d8dde6;border-color:var(--border-color);border-radius:8px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.23,1,.32,1);transition:border-color .16s ease,box-shadow .16s ease,transform .16s var(--ease-out)}.card,.card:hover{box-shadow:0 1px 2px rgba(16,24,40,.05);box-shadow:var(--shadow-sm)}.card:hover{border-color:#d8dde6;border-color:var(--border-color);transform:none}.card-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card-title{color:#182230;color:var(--text-primary);font-size:1rem;line-height:1.4}.card-subtitle{color:#667085;color:var(--text-muted)}.attempt-mode-badge,.badge,.question-count,.test-kind{border-radius:5px;font-size:.72rem;line-height:1.2;min-height:24px;padding:3px 8px}.badge-primary{background:#e7f5f2;background:var(--primary-bg);color:#075e58;color:var(--primary-dark)}.badge-success{background:#eaf6ed;color:#146c2e}.badge-warning{background:#fff2dd;color:#8b4a05}.badge-danger{background:#ffebe9;color:#9c1d15}.badge-info{background:#eaf0ff;color:#2f50aa}.progress-bar{background:#e2e6ec;height:6px}.progress-bar-fill,.question-progress-track span{background:#0b7a72;background:var(--primary);transition:width .22s cubic-bezier(.23,1,.32,1);transition:width .22s var(--ease-out)}.tabs{border-color:#e7eaf0;border-color:var(--border-light);gap:0}.tab{color:#667085;color:var(--text-muted);min-height:42px;padding:8px 12px;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .12s cubic-bezier(.23,1,.32,1);transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .12s var(--ease-out)}.tab.active{border-color:#0b7a72;border-color:var(--primary);color:#075e58;color:var(--primary-dark)}.loading-container{min-height:180px}.loading-spinner{border-color:#0b7a72 #d8dde6 #d8dde6;border-top-color:var(--primary);height:28px;width:28px}.empty-state{grid-gap:8px;background:#fff;border:1px dashed #c4cad4;border-radius:8px;display:grid;gap:8px;min-height:220px;place-content:center}.empty-state .empty-icon{font-size:2rem;margin:0 auto 6px}.empty-state-actions{display:flex;gap:8px;justify-content:center;margin-top:12px}.inline-alert{border:1px solid;border-radius:6px;font-size:.84rem;margin-top:10px;padding:9px 11px}.inline-alert-danger{background:#fff3f2;border-color:#f3b6b1;color:#b42318;color:var(--danger)}.app-toast{background:#182230!important;border:1px solid #273548!important;border-radius:7px!important;box-shadow:0 16px 36px rgba(16,24,40,.12)!important;box-shadow:var(--shadow-lg)!important;color:#fff!important;font-size:.86rem!important}.home-page{max-width:1280px}.hero{align-items:center;background-color:#f8f9fa;background-image:url(/static/media/learning-lab-hero.53b1f1c8e835f0b5164b.png);background-position:50%;background-repeat:no-repeat;background-size:cover;border-bottom:1px solid #e7eaf0;border-bottom:1px solid var(--border-light);display:flex;min-height:470px;padding:52px 56px}.hero-content{width:min(540px,50%)}.hero-badge{background:hsla(0,0%,100%,.86);border:1px solid #a8cfca;border-radius:5px;color:#075e58;color:var(--primary-dark);font-size:.78rem;font-weight:700;margin-bottom:14px;padding:6px 10px}.hero h1{color:#182230;color:var(--text-primary);font-family:var(--font-sans);font-size:2.65rem;font-weight:800;line-height:1.14;margin-bottom:16px}.hero h1 span{color:#075e58;color:var(--primary-dark)}.hero-desc{color:#475467;color:var(--text-secondary);font-size:1rem;line-height:1.75;max-width:510px}.hero-actions,.hero-desc{margin-bottom:22px}.hero-proof{color:#344054;display:flex;flex-wrap:wrap;font-size:.78rem;font-weight:700;gap:8px 16px}.hero-proof span{align-items:center;display:inline-flex;gap:6px}.hero-proof svg{color:#0b7a72;color:var(--primary)}.features-section,.majors-section,.tech-section,.usage-section{padding:44px 8px}.features-section,.majors-section,.tech-section{border-top:1px solid #e7eaf0;border-top:1px solid var(--border-light)}.features-section h2,.majors-section h2,.tech-section h2,.usage-heading h2{color:#182230;color:var(--text-primary);font-family:var(--font-sans);font-size:1.55rem}.usage-heading{align-items:flex-start}.usage-heading p{color:#475467;color:var(--text-secondary)}.usage-summary-grid{gap:12px}.usage-chart-card,.usage-summary-card{border-color:#d8dde6;border-color:var(--border-color);border-radius:8px;box-shadow:0 1px 2px rgba(16,24,40,.05);box-shadow:var(--shadow-sm)}.usage-summary-card{padding:16px 16px 16px 18px}.usage-summary-card:before{background:#0b7a72;background:var(--primary);width:3px}.usage-summary-card.testing-today:before,.usage-summary-card.testing:before{background:#4f46e5;background:var(--accent-indigo)}.usage-summary-card strong{color:#182230;color:var(--text-primary);font-size:1.65rem}.usage-chart-card{padding:18px 18px 10px}.usage-error,.usage-loading{border-radius:8px;min-height:200px}.features-grid{gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.feature-card{background:#fff;border:1px solid #d8dde6;border:1px solid var(--border-color);border-radius:8px;min-height:210px;padding:20px;position:relative;transition:border-color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.23,1,.32,1);transition:border-color .16s ease,box-shadow .16s ease,transform .16s var(--ease-out)}.feature-icon{background:#e7f5f2;background:var(--primary-bg);border-radius:7px;color:#075e58;color:var(--primary-dark);display:grid;font-size:1.1rem;height:38px;margin-bottom:26px;place-items:center;width:38px}.feature-indigo .feature-icon{background:#edecff;color:#4f46e5;color:var(--accent-indigo)}.feature-amber .feature-icon{background:#fff2dd;color:#b7791f;color:var(--accent-amber)}.feature-blue .feature-icon{background:#eaf1ff;color:#2563eb;color:var(--accent-blue)}.feature-card p{color:#475467;color:var(--text-secondary)}.majors-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.major-card{border-color:#d8dde6;border-color:var(--border-color);border-radius:8px;gap:16px;padding:20px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.23,1,.32,1);transition:border-color .16s ease,box-shadow .16s ease,transform .16s var(--ease-out)}.major-icon{background:#eef1f4;border-radius:7px;color:#182230;color:var(--text-primary);display:grid;font-size:1.25rem;height:46px;place-items:center;width:46px}.major-arrow{align-items:center;color:#075e58;color:var(--primary-dark);display:inline-flex;font-size:.8rem;font-weight:700;gap:5px}.tech-grid{gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.tech-item{border-color:#e7eaf0;border-color:var(--border-light);border-radius:8px;padding:16px 10px}.tech-icon{color:#475467;color:var(--text-secondary);font-size:1.35rem}.courses-page .courses-filters{align-items:center;background:#fff;border:1px solid #d8dde6;border:1px solid var(--border-color);border-radius:8px;gap:12px;margin-bottom:20px;padding:12px}.search-box .form-input{padding-left:36px}.course-card{border-radius:8px}.course-card:hover{border-color:#d8dde6;border-color:var(--border-color);box-shadow:0 1px 2px rgba(16,24,40,.05);box-shadow:var(--shadow-sm);transform:none}.course-cover{background:#e9eef2;height:178px}.course-cover img{height:100%;object-fit:cover;width:100%}.course-cover-placeholder{align-items:center;color:#344054;display:flex;flex-direction:column;font-size:.82rem;font-weight:700;gap:9px;opacity:1}.course-cover-placeholder svg{color:#075e58;color:var(--primary-dark);font-size:1.8rem}.course-info{padding:16px}.auth-page{min-height:calc(100vh - 148px);padding:40px 20px}.auth-card{border-radius:8px;box-shadow:0 8px 20px rgba(16,24,40,.08);box-shadow:var(--shadow-md);max-width:460px;padding:28px}.auth-header{margin-bottom:24px;text-align:left}.auth-header h1{font-size:1.65rem}.auth-demo,.auth-footer{font-size:.84rem}.course-detail-hero{background:#182230;border-color:#253244;border-radius:8px;box-shadow:none;padding:24px}.course-detail-hero:hover{border-color:#253244;box-shadow:none}.course-detail-layout{gap:20px;grid-template-columns:minmax(0,1fr) 340px}.video-player-page{gap:20px;grid-template-columns:minmax(0,1fr) 400px}.video-container{background:#101828;border-radius:8px;box-shadow:0 1px 2px rgba(16,24,40,.05);box-shadow:var(--shadow-sm)}.video-placeholder{background:#182230}.vp-icon{transition:transform .16s cubic-bezier(.23,1,.32,1);transition:transform .16s var(--ease-out)}.speed-control,.subtitle-control{background:#eef1f4;border-color:#d8dde6;border-color:var(--border-color)}.speed-btn,.subtitle-btn{border-radius:4px;transition:background-color .15s ease,color .15s ease,transform .12s cubic-bezier(.23,1,.32,1);transition:background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}.speed-btn.active,.subtitle-btn.active{background:#0b7a72;background:var(--primary)}.video-sidebar{border-radius:8px;box-shadow:0 1px 2px rgba(16,24,40,.05);box-shadow:var(--shadow-sm)}.subtitle-cn,.subtitle-en{border-radius:5px}.listening-attempt-page,.listening-tests-page{max-width:1180px}.listening-tests-header{background:#fff;border-color:#d8dde6;border-color:var(--border-color);border-radius:8px;margin:4px 0 24px;padding:24px}.listening-tests-header h1{color:#182230;color:var(--text-primary);font-size:2rem}.listening-rule-card{background:#182230;border-radius:7px;padding:18px}.attempt-video-shell,.keyword-card,.listening-load-error,.listening-test-card,.question-panel,.review-question-card{border-color:#d8dde6;border-color:var(--border-color);border-radius:8px;box-shadow:0 1px 2px rgba(16,24,40,.05);box-shadow:var(--shadow-sm)}.score-grid div{background:#f1f3f6;border-radius:6px}.history-table-wrap{border-color:#d8dde6;border-color:var(--border-color);border-radius:8px}.history-table th{background:#f0f2f5}.result-summary{background:#edf7f4;border-radius:8px}.answer-options button,.attempt-mode-badge,.question-number-grid button,.subtitle-toolbar button{border-radius:6px}.answer-options button{transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .12s cubic-bezier(.23,1,.32,1);transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}.answer-options button.selected,.answer-options button:hover{background:#e7f5f2;background:var(--primary-bg);border-color:#0b7a72;border-color:var(--primary)}.flashcard-study-surface{border-color:#30445e;border-radius:8px!important;box-shadow:0 8px 20px rgba(16,24,40,.08);transition:border-color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.23,1,.32,1);transition:border-color .16s ease,box-shadow .16s ease,transform .16s var(--ease-out)}.content-grid,.dashboard-grid,.flashcards-layout,.speaking-layout{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stack{display:flex;flex-direction:column;gap:12px}.toolbar-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.action-row,.badge-row,.panel-heading,.section-header,.split-row{align-items:center;display:flex;gap:8px}.panel-heading,.section-header,.split-row{justify-content:space-between}.panel-heading{margin-bottom:12px}.panel-heading h2,.panel-heading h3{font-size:1rem;line-height:1.35}.action-row,.badge-row{flex-wrap:wrap}.metric-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metric-card{background:#fff;border:1px solid #d8dde6;border:1px solid var(--border-color);border-radius:8px;min-height:104px;padding:16px}.metric-card span{color:#667085;color:var(--text-muted);font-size:.78rem;font-weight:700}.metric-card strong{color:#182230;color:var(--text-primary);display:block;font-size:1.4rem;line-height:1.2;margin-top:9px}.chart-card{min-height:320px}.scroll-panel{max-height:420px;overflow-y:auto}.record-row{border-bottom:1px solid #e7eaf0;border-bottom:1px solid var(--border-light);padding:10px 0}.management-row:last-child,.record-row:last-child{border-bottom:0}.profile-shell{margin:0 auto;max-width:720px}.management-form{margin-bottom:20px}.management-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.management-row{padding:10px 0}.auth-required-notice{background:#fff7e9;border-color:#efc176}.ai-assistant-trigger{background:#0b7a72;background:var(--primary);border:1px solid #0b7a72;border:1px solid var(--primary);border-radius:50%;bottom:20px;box-shadow:0 8px 20px rgba(16,24,40,.08);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:grid;font-size:1.15rem;height:48px;place-items:center;position:fixed;right:20px;transition:background-color .15s ease,box-shadow .15s ease,transform .12s cubic-bezier(.23,1,.32,1);transition:background-color .15s ease,box-shadow .15s ease,transform .12s var(--ease-out);width:48px;z-index:1200}.ai-assistant-panel{background:#fff;border:1px solid #d8dde6;border:1px solid var(--border-color);border-radius:8px;bottom:78px;box-shadow:0 24px 52px rgba(16,24,40,.15);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:10px;max-height:min(620px,72vh);overflow:hidden;padding:16px;position:fixed;right:20px;transform-origin:bottom right;transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .2s cubic-bezier(.23,1,.32,1);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out);width:min(410px,calc(100vw - 30px));z-index:1200}@starting-style{.ai-assistant-panel{opacity:0;transform:translateY(8px) scale(.98)}}.ai-assistant-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.ai-assistant-header strong{display:block;margin-top:2px}.ai-assistant-submit{align-self:flex-end}.ai-assistant-answer{background:#f6f7f9;border:1px solid #e7eaf0;border:1px solid var(--border-light);border-radius:6px;color:#182230;color:var(--text-primary);font-family:var(--font-sans);font-size:.86rem;line-height:1.7;margin-top:2px;overflow-y:auto;padding:12px;white-space:pre-wrap}@media (hover:hover) and (pointer:fine){.course-card:hover,.feature-card:hover,.major-card:hover{border-color:#9ebbb7;box-shadow:0 8px 20px rgba(16,24,40,.08);box-shadow:var(--shadow-md);transform:translateY(-2px)}.navbar-nav a:hover{background:#f0f2f5;color:#182230;color:var(--text-primary)}.ai-assistant-trigger:hover{background:#075e58;background:var(--primary-dark);box-shadow:0 16px 36px rgba(16,24,40,.12);box-shadow:var(--shadow-lg)}}@media (max-width:1080px){.navbar-inner{gap:12px}.navbar-nav a{padding:0 8px}.navbar-nav a svg{display:none}.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.main-content{padding:16px 12px 48px}.navbar-inner{grid-template-columns:minmax(0,1fr) auto auto;padding:0 12px}.brand-copy small{display:none}.nav-toggle{display:grid;grid-column:2}.navbar-user{grid-column:3}.navbar-nav{align-items:stretch;background:#fff;border-bottom:1px solid #d8dde6;border-bottom:1px solid var(--border-color);box-shadow:0 8px 20px rgba(16,24,40,.08);box-shadow:var(--shadow-md);gap:3px;padding:10px 12px 14px;top:64px}.navbar-nav a{height:42px;justify-content:flex-start;padding:0 12px;width:100%}.navbar-nav a svg{display:block}.navbar-user .btn-quiet{font-size:0;min-width:38px;padding:0;width:38px}.navbar-user .btn-quiet svg{height:16px;width:16px}.page-header{margin-bottom:18px}.page-header h1{font-size:1.45rem}.hero{align-items:flex-end;background-position:60% 0;background-size:auto 270px;min-height:610px;padding:250px 20px 30px}.hero-content{width:100%}.hero h1{font-size:2rem}.hero-desc{font-size:.92rem}.hero-actions,.hero-proof{justify-content:flex-start}.features-section,.majors-section,.tech-section,.usage-section{padding:34px 0}.content-grid,.features-grid,.flashcards-layout,.majors-grid,.metric-grid,.speaking-layout,.usage-summary-grid{grid-template-columns:1fr}.usage-chart{height:250px}.feature-card{min-height:0}.feature-icon{margin-bottom:18px}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.courses-page .courses-filters{align-items:stretch}.filter-group,.filter-group .form-input,.search-box{min-width:0;width:100%}.filter-group{display:grid;grid-template-columns:1fr 1fr}.filter-group>svg{display:none}.course-detail-layout,.listening-test-grid,.listening-tests-header,.video-player-page{grid-template-columns:1fr}.history-table-wrap{border-radius:7px}.ai-assistant-trigger{bottom:14px;right:14px}.ai-assistant-panel{bottom:70px;max-height:68vh;right:10px;width:calc(100vw - 20px)}}@media (max-width:440px){.brand-copy strong{font-size:.88rem}.navbar-brand .logo-icon{height:34px;width:34px}.hero{min-height:640px}.hero h1{font-size:1.8rem}.hero-actions .btn{width:100%}.hero-proof{gap:8px 12px}.filter-group,.score-grid{grid-template-columns:1fr}.empty-state-actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.ai-assistant-panel,.btn,.card,.course-card,.feature-card,.major-card,button{transform:none!important}}.course-detail-page,.course-management-page,.flashcards-page,.page-shell,.speaking-page,.term-library-page{width:100%}.page-shell{margin:0 auto;max-width:1180px}.compact-empty{min-height:132px;padding:24px}.field-spaced{margin-top:10px}.filter-toolbar{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-sm);margin-bottom:28px;padding:12px}.search-field{display:block;position:relative}.search-field>svg{color:var(--text-muted);left:12px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.search-field .form-input{padding-left:36px}.section-header{margin-bottom:14px}.panel-heading h2,.panel-heading h3,.section-header h2{align-items:center;color:var(--text-primary);display:flex;gap:7px}.section-header h2{font-size:1.18rem;margin-top:3px}.panel-heading>svg,.speaking-intro>svg{color:var(--primary-dark);height:20px;width:20px}.metric-label{align-items:center;display:flex;gap:8px}.metric-label svg{color:var(--primary-dark);height:18px;width:18px}.management-metric-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.dashboard-accent-panel{margin-top:16px}.term-library-page{margin:0 auto;max-width:1180px}.term-filter-grid{grid-template-columns:minmax(240px,1.7fr) repeat(2,minmax(160px,.8fr)) auto}.term-results{margin-bottom:32px}.term-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.term-card{min-height:178px;padding:18px}.term-card h3{font-size:1.02rem;line-height:1.35;overflow-wrap:anywhere}.term-phonetic{color:var(--accent-indigo);font-family:var(--font-mono);margin-top:12px}.term-definition{line-height:1.65;margin-top:10px}.term-extraction{padding:22px}.term-extraction-action{margin-top:12px}.extracted-term-grid{grid-gap:8px;border-top:1px solid var(--border-light);display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-top:18px;padding-top:18px}.extracted-term-item{grid-gap:5px 10px;align-items:center;background:#f8f9fb;border:1px solid var(--border-light);border-radius:6px;display:grid;gap:5px 10px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:11px}.extracted-term-item strong{overflow-wrap:anywhere}.extracted-term-item .badge{grid-column:2;grid-row:1/span 2}.profile-identity{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:14px;margin-bottom:16px;padding:4px 2px 18px}.profile-avatar{background:var(--primary-bg);border:1px solid #add2cd;border-radius:8px;color:var(--primary-dark);display:grid;font-size:1.25rem;height:48px;place-items:center;width:48px}.profile-identity h2{font-size:1.2rem;margin-top:2px}.profile-form{padding:24px}.profile-form-grid{grid-gap:0 14px;display:grid;gap:0 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-wide{grid-column:1/-1}.profile-form .form-label{align-items:center;display:flex;gap:6px}.profile-form-actions{padding-top:2px}.course-detail-page{margin:0 auto;max-width:1100px}.course-detail-hero{grid-gap:30px;align-items:end;background:transparent;border:0;border-bottom:1px solid var(--border-color);border-radius:0;color:var(--text-primary);display:grid;gap:30px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:30px;padding:26px 0 24px}.course-detail-hero h1{color:var(--text-primary);font-size:1.9rem;line-height:1.25;margin:10px 0 3px}.course-detail-subtitle{color:var(--text-secondary);font-size:1rem;margin:0}.course-detail-description{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin:14px 0 0;max-width:720px}.course-detail-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:10px;justify-content:flex-end}.course-detail-meta>span:not(.badge){align-items:center;background:#fff;border:1px solid var(--border-light);border-radius:5px;display:inline-flex;gap:5px;padding:6px 8px}.course-section-heading{min-height:48px}.course-video-list{display:flex;flex-direction:column;gap:8px}.course-video-item{grid-gap:12px;align-items:center;color:inherit;display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr) auto;min-width:0;padding:13px;text-decoration:none}.course-video-index{background:var(--primary-bg);border:1px solid #b5d7d2;border-radius:7px;color:var(--primary-dark);display:grid;font-size:.8rem;font-weight:800;height:38px;place-items:center;width:38px}.course-video-copy{display:flex;flex-direction:column;min-width:0}.course-video-copy small,.course-video-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-video-copy strong{font-size:.9rem}.course-video-copy small{color:var(--text-muted);margin-top:2px}.course-video-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:10px}.course-video-meta span{align-items:center;display:inline-flex;gap:4px}.course-term-panel{overflow:hidden;padding:0}.course-term-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:10px;justify-content:space-between;min-width:0;padding:12px 14px}.course-term-row:last-child{border-bottom:0}.course-term-row>div{display:flex;flex-direction:column;min-width:0}.course-term-row span,.course-term-row strong{overflow-wrap:anywhere}.course-term-row strong{font-size:.86rem}.course-term-row>div span{color:var(--text-muted);font-size:.76rem}.course-term-empty{color:var(--text-muted);padding:28px 16px;text-align:center}.course-management-page{margin:0 auto;max-width:1180px}.management-form{padding:22px}.management-form-wide{grid-column:1/-1}.management-section-heading{margin-top:30px}.management-course-card{display:flex;flex-direction:column;min-height:265px}.management-course-description{line-height:1.6;min-height:48px}.management-course-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0 16px}.management-course-meta span{align-items:center;display:inline-flex;gap:5px}.management-card-actions{border-top:1px solid var(--border-light);margin-top:auto;padding-top:12px}.speaking-page{margin:0 auto;max-width:1180px}.speaking-layout{align-items:start;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}.speaking-intro{border-bottom:1px solid var(--border-light);min-height:68px;padding-bottom:12px}.speaking-intro h2{font-size:1.16rem;margin-top:2px}.speaking-history,.speaking-input-card,.speaking-result-card,.speaking-stats-card,.speaking-upload-card{padding:18px}.speaking-file-picker{cursor:pointer}.speaking-file-meta{background:#f8f9fb;border:1px solid var(--border-light);border-radius:6px;display:flex;gap:8px;justify-content:space-between;margin-top:10px;padding:9px 10px}.speaking-file-meta strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.speaking-audio-preview{margin-top:10px;width:100%}.speaking-submit{margin-top:10px}.speaking-score{background:#f8f9fb;border:1px solid var(--border-light);border-radius:7px;padding:11px}.speaking-score>span{color:var(--text-muted);font-size:.75rem;font-weight:700}.speaking-score>strong{display:block;font-size:1.2rem;margin:3px 0 7px}.speaking-score-info>strong{color:var(--info)}.speaking-score-success>strong{color:var(--success)}.speaking-score-warning>strong{color:var(--warning)}.speaking-score-info .progress-bar-fill{background:var(--info)}.speaking-score-success .progress-bar-fill{background:var(--success)}.speaking-score-warning .progress-bar-fill{background:var(--warning)}.speaking-recognition{background:#f3f2ff;border-left:3px solid var(--accent-indigo);margin-top:14px;padding:11px}.speaking-feedback-item p,.speaking-recognition p{color:var(--text-secondary);line-height:1.6;margin-top:3px}.speaking-feedback-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.speaking-feedback-item{border:1px solid var(--border-light);border-radius:6px;padding:10px}.speaking-sidebar{position:sticky;top:84px}.speaking-stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.speaking-stat{background:#f8f9fb;border:1px solid var(--border-light);border-radius:6px;min-width:0;padding:11px}.speaking-stat:first-child{grid-column:1/-1}.speaking-stat span{color:var(--text-muted);display:block;font-size:.72rem;font-weight:700}.speaking-stat strong{display:block;font-size:1.18rem;margin-top:4px}.speaking-record time{font-weight:700}.speaking-record p{line-height:1.5;margin:3px 0 8px}.speaking-record.is-legacy{opacity:.58}.flashcards-page{margin:0 auto;max-width:1180px}.flashcards-layout{align-items:start;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr)}.flashcard-deck-panel{padding:18px}.flashcard-deck-list{display:flex;flex-direction:column;gap:7px}.flashcard-deck-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) 34px}.flashcard-deck-select{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;gap:8px;justify-content:space-between;min-height:38px;min-width:0;padding:8px 10px;text-align:left;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}.flashcard-deck-select span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flashcard-deck-select small{color:var(--text-muted);white-space:nowrap}.flashcard-deck-select.is-active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary-dark)}.flashcard-study-panel{min-height:560px;padding:20px}.flashcard-study-surface{align-items:center;background:#182c44;border:1px solid #30445e;border-radius:8px;box-shadow:var(--shadow-md);color:#f8fafc;cursor:pointer;display:flex;justify-content:center;min-height:340px;overflow:hidden;padding:54px 24px 32px;position:relative;transition:border-color .16s ease,box-shadow .16s ease,transform .12s var(--ease-out)}.flashcard-study-content{text-align:center;width:min(100%,720px)}.flashcard-source-badge{background:#0b5f59;border:1px solid #66c9bd;border-radius:5px;color:#fff;display:inline-flex;font-size:.72rem;font-weight:800;margin-bottom:12px;padding:4px 8px}.flashcard-flip-hint{color:#a7d8f3;display:block;font-size:.75rem;font-weight:700}.flashcard-main-text{color:#fff;font-size:1.65rem;font-weight:800;line-height:1.45;margin-top:10px;overflow-wrap:anywhere;white-space:pre-line}.flashcard-phonetic{color:#9de5dd;font-family:var(--font-mono);font-weight:600;margin-top:7px}.flashcard-context{color:#d8e2ed;line-height:1.7;margin:14px auto 0;max-width:62ch}.flashcard-replay{margin-top:14px}.flashcard-delete-card{position:absolute;right:10px;top:10px}.flashcard-review-actions{display:flex;gap:10px;justify-content:center;margin-top:14px}.flashcard-navigation{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;margin-top:16px;min-height:46px;text-align:center}.flashcard-empty{min-height:440px}.listening-controls{gap:22px}.listening-control-section+.listening-control-section{border-top:1px solid var(--border-light);padding-top:18px}.accent-option-grid,.subtitle-option-grid{grid-gap:7px;display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.accent-option,.listening-option-row,.subtitle-option{background:#fff;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;min-width:0;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}.accent-option,.subtitle-option{display:flex;flex-direction:column;justify-content:center;min-height:82px;padding:10px;text-align:left}.accent-option.is-active,.listening-option-row.is-active,.subtitle-option.is-active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary-dark)}.accent-code{color:var(--accent-indigo);font-size:.7rem;font-weight:800}.accent-option strong,.subtitle-option strong{font-size:.8rem;margin-top:2px;overflow-wrap:anywhere}.accent-option small,.subtitle-option small{color:var(--text-muted);font-size:.68rem;line-height:1.4;margin-top:2px}.listening-option-list{display:flex;flex-direction:column;gap:4px}.listening-option-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-height:42px;padding:7px 9px;text-align:left}.listening-option-row>span:first-child{align-items:baseline;display:flex;gap:6px;min-width:0}.listening-option-row small{color:var(--text-muted);font-size:.7rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-plan-list{display:flex;flex-direction:column;gap:7px}.training-plan{background:#f8f9fb;border:1px solid var(--border-light);border-left-width:3px;border-radius:6px;display:flex;flex-direction:column;padding:9px 10px}.training-plan strong{font-size:.78rem}.training-plan span{color:var(--text-muted);font-size:.7rem;line-height:1.5;margin-top:2px}.training-plan-success{border-left-color:var(--success)}.training-plan-warning{border-left-color:var(--warning)}.training-plan-danger{border-left-color:var(--danger)}.accent-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.accent-modal{padding:18px;transform-origin:center}.accent-video-item{min-height:52px;transition:background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}@media (hover:hover) and (pointer:fine){.course-video-item:hover,.management-course-card:hover,.term-card:hover{border-color:#9ebbb7;box-shadow:var(--shadow-md)}.accent-option:hover,.flashcard-deck-select:hover,.listening-option-row:hover,.subtitle-option:hover{background:#f5f8f8;border-color:#9ebbb7}.flashcard-study-surface:hover{border-color:#53708f;box-shadow:var(--shadow-lg)}.accent-video-item:hover{background:var(--bg-hover)}}.accent-option:active,.accent-video-item:active,.flashcard-deck-select:active,.flashcard-study-surface:active,.listening-option-row:active,.subtitle-option:active{transform:scale(.97)}@media (max-width:1080px){.management-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flashcards-layout,.speaking-layout{grid-template-columns:1fr}.speaking-sidebar{position:static}}@media (max-width:768px){.course-detail-hero,.management-form-grid,.management-metric-grid,.profile-form-grid,.speaking-feedback-list,.term-filter-grid{grid-template-columns:1fr}.course-detail-hero{align-items:start;gap:18px}.course-detail-meta{justify-content:flex-start}.course-video-item{grid-template-columns:36px minmax(0,1fr)}.course-video-meta{grid-column:2;justify-content:flex-start}.management-form-wide,.profile-form-wide{grid-column:auto}.speaking-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flashcard-study-panel{min-height:500px}.flashcard-study-surface{min-height:300px}}@media (max-width:520px){.flashcard-study-panel,.management-form,.profile-form,.term-extraction{padding:16px}.accent-option-grid,.speaking-score-grid,.speaking-stats-grid,.subtitle-option-grid{grid-template-columns:1fr}.speaking-stat:first-child{grid-column:auto}.flashcard-study-surface{min-height:310px;padding:52px 16px 28px}.flashcard-main-text{font-size:1.28rem}.flashcard-navigation{grid-template-columns:1fr 1fr}.flashcard-navigation>span{grid-column:1/-1;grid-row:1}.flashcard-navigation .btn{width:100%}.flashcard-review-actions .btn{flex:1 1}}@media (prefers-reduced-motion:reduce){.accent-option,.accent-video-item,.flashcard-deck-select,.flashcard-study-surface,.listening-option-row,.subtitle-option{transform:none!important}}.speaking-recorder{background:#f8f9fb;border:1px solid var(--border-color);border-radius:8px;padding:14px}.speaking-recorder-status{align-items:center;display:flex;gap:8px;min-height:28px}.speaking-recorder-status strong{font-size:.84rem}.speaking-recorder-status time{font-feature-settings:"tnum";color:var(--text-secondary);font-family:var(--font-mono);font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:700;margin-left:auto}.speaking-status-indicator{background:var(--text-muted);border-radius:50%;box-shadow:0 0 0 3px rgba(116,128,146,.12);flex:0 0 auto;height:9px;transition:background-color .16s ease,box-shadow .16s ease;width:9px}.speaking-status-indicator.is-recording{background:var(--danger);box-shadow:0 0 0 3px rgba(207,61,61,.14)}.speaking-status-indicator.is-paused{background:var(--warning);box-shadow:0 0 0 3px rgba(197,130,24,.14)}.speaking-status-indicator.is-processing,.speaking-status-indicator.is-ready{background:var(--success);box-shadow:0 0 0 3px rgba(24,142,116,.14)}.speaking-recorder-warning{background:#fff8e8;border-left:3px solid var(--warning);border-radius:4px;color:var(--text-secondary);line-height:1.55;margin-top:10px;padding:9px 10px}.speaking-record-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.speaking-record-actions .btn{min-width:118px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s var(--ease-out)}.speaking-upload-divider{align-items:center;color:var(--text-muted);display:flex;font-size:.72rem;font-weight:700;gap:10px;margin:14px 0 10px}.speaking-upload-divider:after,.speaking-upload-divider:before{background:var(--border-light);content:"";flex:1 1;height:1px}.speaking-file-picker{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s var(--ease-out)}.speaking-file-picker.is-disabled{cursor:not-allowed;opacity:.55;pointer-events:none}@media (hover:hover) and (pointer:fine){.speaking-recorder:hover{border-color:#9ebbb7}}.speaking-file-picker:active,.speaking-record-actions .btn:active{transform:scale(.97)}@media (max-width:520px){.speaking-record-actions{display:grid;grid-template-columns:1fr 1fr}.speaking-record-actions .btn{min-width:0;width:100%}.speaking-file-meta{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){.speaking-file-picker,.speaking-record-actions .btn,.speaking-status-indicator{transform:none!important;transition:none}}.speaking-metrics{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.speaking-metric{background:#f8f9fb;border:1px solid var(--border-light);border-radius:6px;min-width:0;padding:10px}.speaking-metric span{color:var(--text-secondary);display:block;font-size:.72rem;font-weight:700}.speaking-metric strong{font-feature-settings:"tnum";color:var(--text-primary);display:block;font-size:1rem;font-variant-numeric:tabular-nums;margin-top:4px}.speaking-error-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.speaking-error-summary span{background:var(--surface);border:1px solid var(--border-light);border-radius:999px;color:var(--text-secondary);padding:5px 8px}@media (max-width:680px){.speaking-metrics{grid-template-columns:1fr 1fr}}.speaking-word-errors{margin-top:12px}.speaking-word-errors>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.speaking-word-errors .btn{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .12s var(--ease-out)}.speaking-word-errors .btn:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.speaking-word-errors .btn{transform:none!important;transition:none}}.transcript-help{margin-bottom:12px}.transcript-empty{border:1px dashed var(--border-color);border-radius:6px;line-height:1.6;padding:12px}.transcript-list{gap:4px}.transcript-cue,.transcript-list{display:flex;flex-direction:column}.transcript-cue{background:transparent;border:0;border-left:3px solid transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);padding:10px 12px;text-align:left;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .12s var(--ease-out);width:100%}.transcript-cue.is-active{background:var(--primary-bg);border-left-color:var(--primary);color:var(--text-primary)}.transcript-cue-meta{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:.72rem;gap:7px;margin-bottom:4px}.transcript-cue-meta svg{flex-shrink:0;height:11px;width:11px}.transcript-cue.is-active .transcript-cue-meta svg{color:var(--primary)}.transcript-text-cn,.transcript-text-en{line-height:1.6}.transcript-text-en{font-size:.86rem;font-weight:500}.transcript-text-cn{color:var(--text-muted);font-size:.78rem;margin-top:3px}.term-annotations{gap:12px}.term-annotation-list{display:flex;flex-direction:column;gap:7px;max-height:520px;overflow-y:auto}.term-annotation-card{background:#fff;border:1px solid var(--border-color);border-radius:7px;padding:11px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.term-annotation-card.is-active{background:var(--primary-bg);border-color:var(--primary)}.term-annotation-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;min-width:0}.term-annotation-title{display:flex;flex-direction:column;min-width:0}.term-annotation-title span,.term-annotation-title strong{overflow-wrap:anywhere}.term-annotation-title strong{font-size:.86rem}.term-annotation-title span{color:var(--text-muted);font-size:.75rem}.term-annotation-actions{flex-shrink:0;gap:5px}.term-annotation-phonetic{color:var(--accent-indigo);font-family:var(--font-mono);margin-top:7px}.term-annotation-definition{line-height:1.55;margin-top:6px}.legacy-video-catalog{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:20px}.legacy-video-card{min-width:0;padding:16px}.legacy-video-cover{background:#e9eef2;border-radius:7px;color:var(--primary-dark);display:grid;font-size:2rem;height:150px;margin-bottom:14px;place-items:center;position:relative}.legacy-video-cover .badge{position:absolute;right:8px;top:8px}.legacy-video-card h2{font-size:1rem}.legacy-video-card>p{margin:4px 0 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legacy-video-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:7px 10px}.legacy-video-meta>span{align-items:center;display:inline-flex;gap:4px}@media (hover:hover) and (pointer:fine){.transcript-cue:hover{background:#f0f2f5}.term-annotation-card:hover{border-color:#9ebbb7}}.transcript-cue:active{transform:scale(.97)}@media (max-width:520px){.term-annotation-top{flex-direction:column}.term-annotation-actions{width:100%}.term-annotation-actions .btn{flex:1 1}}@media (prefers-reduced-motion:reduce){.transcript-cue{transform:none!important}}.content-studio{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);margin:28px 0 34px;padding:22px 0 28px}.content-studio-header,.studio-job-heading,.transcript-toolbar,.transcript-version-meta{align-items:center;display:flex;gap:12px;justify-content:space-between}.content-studio-header h2{font-size:1.28rem;margin-top:3px}.studio-tabs{background:#eef2f5;border:1px solid var(--border-color);border-radius:7px;display:flex;gap:2px;margin:16px 0 20px;padding:3px;width:fit-content}.studio-tabs button{align-items:center;background:transparent;border:0;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:750;gap:6px;min-height:34px;padding:6px 10px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s var(--ease-out)}.studio-tabs button,.studio-tabs button>span{border-radius:5px;color:var(--text-secondary)}.studio-tabs button>span{background:#dce4e9;font-size:.68rem;min-width:20px;padding:1px 5px;text-align:center}.studio-tabs button.is-active{background:#fff;box-shadow:var(--shadow-sm);color:var(--primary-dark)}.studio-tabs button:disabled{cursor:not-allowed;opacity:.45}.studio-runtime-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.studio-upload{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:20px}.studio-upload input[type=file]{color:var(--text-secondary);font-size:.76rem;min-height:42px;padding:7px}.studio-upload input[type=file]::file-selector-button{background:#f6f8fa;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;font-weight:700;margin-right:9px;padding:5px 8px}.studio-job-list{border-top:1px solid var(--border-color)}.studio-job{border-bottom:1px solid var(--border-color);padding:16px 2px}.studio-job-heading>div{display:flex;flex-direction:column;min-width:0}.studio-job-heading span,.studio-job-heading strong{overflow-wrap:anywhere}.studio-job-heading>div>span{color:var(--text-muted);font-size:.72rem;margin-top:2px}.studio-job .progress-bar{height:7px;margin:12px 0 10px}.studio-job-error{background:#fff3f3;border-left:3px solid var(--danger);color:#7c2424;display:flex;flex-wrap:wrap;font-size:.76rem;gap:6px 10px;margin-bottom:10px;padding:9px 10px}.transcript-workspace{min-width:0}.transcript-toolbar{align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.transcript-toolbar>label{flex:1 1 280px;max-width:440px}.transcript-editor-layout{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}.transcript-preview{background:#fff;border:1px solid var(--border-color);border-radius:8px;min-width:0;padding:12px;position:sticky;top:84px}.transcript-preview video{aspect-ratio:16/9;background:#111820;border-radius:6px;display:block;width:100%}.transcript-version-meta{color:var(--text-muted);font-size:.74rem;margin-top:10px}.transcript-segment-list{background:#fff;border:1px solid var(--border-color);border-radius:8px;max-height:72vh;min-width:0;overflow:auto}.transcript-edit-row{grid-gap:7px;align-items:start;border-bottom:1px solid var(--border-light);display:grid;gap:7px;grid-template-columns:34px minmax(180px,.58fr) minmax(220px,1fr) minmax(180px,.8fr) 34px;min-width:0;padding:10px;transition:background-color .14s ease,border-color .14s ease}.transcript-edit-row:last-child{border-bottom:0}.transcript-edit-row.is-active{background:#eaf7f5;box-shadow:inset 3px 0 0 var(--primary)}.transcript-time-fields{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(2,minmax(0,1fr))}.transcript-edit-row textarea,.transcript-time-fields input{background:#fff;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);font:inherit;font-size:.76rem;min-width:0;transition:border-color .14s ease,box-shadow .14s ease;width:100%}.transcript-time-fields input{min-height:30px;padding:5px 6px}.transcript-time-fields input:last-child{grid-column:1/-1}.transcript-edit-row textarea{line-height:1.45;min-height:70px;padding:7px;resize:vertical}.transcript-edit-row textarea:focus,.transcript-time-fields input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(19,126,116,.12);outline:0}.transcript-row-actions{display:flex;flex-direction:column;gap:4px}.transcript-play,.transcript-row-actions .icon-button{height:30px;width:30px}@media (max-width:980px){.transcript-editor-layout{grid-template-columns:1fr}.transcript-preview{position:static}}@media (max-width:720px){.content-studio{padding-top:18px}.studio-upload{padding:14px}.studio-tabs{width:100%}.studio-tabs button{flex:1 1;justify-content:center}.transcript-toolbar .action-row{width:100%}.transcript-edit-row{grid-template-columns:32px minmax(0,1fr) 32px}.transcript-edit-row textarea,.transcript-time-fields{grid-column:2}.transcript-row-actions{grid-column:3;grid-row:1/span 3}}@media (prefers-reduced-motion:reduce){.studio-tabs button,.transcript-edit-row,.transcript-edit-row textarea,.transcript-time-fields input{transition-duration:.01ms}}.ai-usage-section{margin-top:28px;padding-top:2px}.ai-usage-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-daily-list,.ai-usage-table{background:#fff;border:1px solid var(--border-color);border-radius:8px;min-width:0}.ai-usage-table{overflow:hidden}.ai-usage-table-head,.ai-usage-table-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:minmax(190px,1.6fr) repeat(3,minmax(80px,.6fr))}.ai-usage-table-head{background:#f2f5f7;border-bottom:1px solid var(--border-color);color:var(--text-muted);font-size:.7rem;font-weight:800;min-height:38px;padding:8px 12px}.ai-usage-table-row{border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:.78rem;min-height:52px;padding:9px 12px}.ai-usage-table-row:last-child{border-bottom:0}.ai-usage-table-row>span:first-child{display:flex;flex-direction:column;min-width:0}.ai-usage-table-row small,.ai-usage-table-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-usage-table-row strong{color:var(--text-primary)}.ai-usage-table-row small{color:var(--text-muted);margin-top:2px}.ai-usage-empty{padding:18px 12px}.ai-daily-list{padding:16px}@media (max-width:840px){.ai-usage-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-usage-table{overflow-x:auto}.ai-usage-table-head,.ai-usage-table-row{min-width:620px}}@media (max-width:520px){.ai-usage-metric-grid{grid-template-columns:1fr}}.management-dashboard-header{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.dashboard-header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-command-center{margin:30px 0}.admin-command-heading{align-items:flex-end;display:flex;gap:20px;justify-content:space-between}.admin-command-heading p{color:var(--text-muted);font-size:.82rem;margin-top:5px}.dashboard-sync-state{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.76rem;gap:7px;white-space:nowrap}.sync-dot{background:var(--success);border-radius:50%;box-shadow:0 0 0 3px rgba(22,163,74,.11);height:7px;width:7px}.sync-dot.is-active{background:var(--primary);box-shadow:0 0 0 3px rgba(36,102,95,.12)}.admin-attention-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.admin-attention-card{grid-gap:12px;align-items:start;background:#fff;border:1px solid var(--border-color);border-radius:8px;border-top:3px solid #83909c;box-shadow:var(--shadow-sm);color:var(--text-primary);display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr) auto;min-height:126px;min-width:0;padding:16px;transition:transform .15s var(--ease-out),border-color .15s ease,box-shadow .15s ease}.admin-attention-card.tone-warning{border-top-color:var(--warning)}.admin-attention-card.tone-danger{border-top-color:var(--danger)}.admin-attention-card.tone-success{border-top-color:var(--success)}.admin-attention-icon{background:var(--primary-bg);border-radius:8px;color:var(--primary-dark);display:grid;height:38px;place-items:center;width:38px}.admin-attention-icon svg{height:18px;width:18px}.admin-attention-copy{display:flex;flex-direction:column;min-width:0}.admin-attention-copy>span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.admin-attention-copy strong{font-size:1.55rem;line-height:1.1;margin:5px 0 2px}.admin-attention-arrow,.admin-attention-copy small{color:var(--text-muted)}.admin-attention-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-attention-arrow{height:16px;margin-top:3px;width:16px}.admin-operations-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)}.admin-content-stack{grid-gap:16px;display:grid;gap:16px;min-width:0}.admin-operations-panel{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-sm);min-width:0;padding:18px}.admin-feedback-panel{min-height:100%}.admin-operations-panel .panel-heading{align-items:flex-start}.admin-operations-panel .panel-heading>div:first-child{min-width:0}.admin-operations-panel .panel-heading>div:first-child>span{display:block;margin-top:3px}.inline-action{align-items:center;color:var(--primary-dark);display:inline-flex;font-size:.78rem;font-weight:800;gap:5px;min-height:32px;transition:color .15s ease,transform .12s var(--ease-out);white-space:nowrap}.inline-action svg{height:14px;width:14px}.admin-feedback-list,.admin-status-list{border-top:1px solid var(--border-light)}.admin-feedback-row{border-bottom:1px solid var(--border-light);padding:14px 0}.admin-feedback-row:last-child,.admin-status-row:last-child{border-bottom:0}.admin-feedback-footer,.admin-feedback-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.74rem;gap:12px;justify-content:space-between}.admin-feedback-meta>span{align-items:center;display:inline-flex;gap:5px}.feedback-author{color:var(--text-secondary);font-weight:800;min-width:0}.feedback-avatar{background:#e8f1ef;border-radius:50%;color:var(--primary-dark);display:grid;flex:0 0 auto;font-size:.72rem;height:24px;place-items:center;width:24px}.admin-feedback-row p{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--text-primary);display:-webkit-box;font-size:.86rem;line-height:1.6;margin:9px 0;overflow:hidden;overflow-wrap:anywhere}.admin-feedback-footer>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-status-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:14px;justify-content:space-between;min-height:62px;padding:10px 0}.admin-status-row>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-status-row small,.admin-status-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-status-row strong{color:var(--text-primary);font-size:.82rem}.admin-status-row small{color:var(--text-muted);font-size:.72rem}.admin-status-meta{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:4px}.admin-panel-empty{grid-gap:7px;align-content:center;color:var(--text-muted);display:grid;gap:7px;min-height:180px;place-items:center;text-align:center}.admin-panel-empty svg{color:var(--success);height:26px;width:26px}.admin-panel-empty strong{color:var(--text-secondary)}.admin-panel-empty.compact{min-height:92px}.admin-panel-empty.compact svg{color:var(--text-muted)}.is-spinning{animation:dashboard-spin .7s linear infinite}@keyframes dashboard-spin{to{transform:rotate(1turn)}}@media (hover:hover) and (pointer:fine){.admin-attention-card:hover{border-color:#9ebbb7;box-shadow:var(--shadow-md);transform:translateY(-2px)}.inline-action:hover{color:var(--primary)}}.admin-attention-card:active,.inline-action:active{transform:scale(.97)}@media (max-width:980px){.admin-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-operations-grid{grid-template-columns:1fr}}@media (max-width:680px){.admin-command-heading,.management-dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header-actions{justify-content:flex-start;width:100%}.dashboard-header-actions .btn{flex:1 1 150px}.dashboard-sync-state{align-self:flex-start}}@media (max-width:520px){.admin-attention-grid{grid-template-columns:1fr}.admin-attention-card{min-height:108px}.admin-operations-panel{padding:15px}.admin-feedback-footer,.admin-feedback-meta{align-items:flex-start}.admin-feedback-meta>span:last-child{flex:0 0 auto}}@media (prefers-reduced-motion:reduce){.admin-attention-card,.inline-action{transition:none}.admin-attention-card:active,.admin-attention-card:hover,.inline-action:active{transform:none}.is-spinning{animation:none}}.test-management-page{margin:0 auto;max-width:1180px;width:100%}.test-import-panel{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-sm);padding:22px}.test-card-heading,.test-inventory-header,.test-management-heading{align-items:center;display:flex;gap:14px;justify-content:space-between}.test-management-heading{margin-bottom:18px}.test-edit-dialog h2,.test-management-heading h2{align-items:center;display:flex;font-size:1.18rem;gap:7px;margin-top:3px}.test-import-metadata{grid-gap:0 14px;display:grid;gap:0 14px;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(120px,.4fr)}.test-import-description{grid-column:1/span 2}.test-file-grid{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px}.test-file-field{grid-gap:12px;align-items:center;border-bottom:1px solid var(--border-light);display:grid;gap:12px;grid-template-columns:minmax(150px,.72fr) minmax(180px,1fr);min-width:0;padding:14px 16px 14px 0}.test-file-field:nth-child(odd){border-right:1px solid var(--border-light);padding-right:18px}.test-file-field:nth-child(2n){padding-left:18px;padding-right:0}.test-file-field:nth-last-child(-n+2){border-bottom:0}.test-file-label{align-items:center;display:flex;gap:9px;min-width:0}.test-file-label>span:last-child{display:flex;flex-direction:column;min-width:0}.test-file-label small,.test-file-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-file-label strong{font-size:.82rem}.test-file-label small{color:var(--text-muted);font-size:.7rem;margin-top:2px}.test-file-icon{background:#eaf7f5;border:1px solid #b8d8d3;border-radius:7px;color:var(--primary-dark);display:grid;flex:0 0 34px;height:34px;place-items:center;width:34px}.test-file-field input[type=file]{color:var(--text-secondary);font-size:.72rem;min-height:40px;min-width:0;padding:6px}.test-file-field input[type=file]::file-selector-button{background:#f5f7f9;border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;font:inherit;font-weight:700;margin-right:8px;padding:5px 8px;transition:background-color .15s ease,border-color .15s ease,transform .12s var(--ease-out)}.test-import-progress{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin-top:14px}.test-import-progress .progress-bar{height:7px}.test-import-progress>span{color:var(--text-secondary);font-size:.74rem;min-width:118px;text-align:right}.test-import-actions{margin-top:16px}.test-inventory{margin-top:30px}.test-inventory-header{margin-bottom:14px}.test-inventory-header h2{font-size:1.18rem;margin-top:3px}.test-status-filter{background:#edf1f4;border:1px solid var(--border-color);border-radius:7px;display:inline-flex;gap:2px;padding:3px}.test-status-filter button{background:transparent;border:0;border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:.76rem;font-weight:750;min-height:32px;padding:5px 10px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s var(--ease-out)}.test-status-filter button.is-active{background:#fff;box-shadow:var(--shadow-sm);color:var(--primary-dark)}.test-status-filter button:active{transform:scale(.97)}.test-management-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.test-management-card{display:flex;flex-direction:column;min-height:290px;min-width:0;padding:18px}.test-card-heading{align-items:flex-start}.test-card-heading>div{min-width:0}.test-card-heading h3,.test-card-heading small,.test-card-slug{overflow-wrap:anywhere}.test-card-heading h3{font-size:1.02rem;line-height:1.35;margin:3px 0 1px}.test-card-heading small{color:var(--text-muted);display:block;font-size:.74rem}.test-card-slug{color:#315e7d;font-family:var(--font-mono);font-size:.68rem;font-weight:700}.test-status{flex:0 0 auto}.test-status-draft{background:#fff7e6;border-color:#efd49f;color:#8a5600}.test-status-published{background:#edf9f0;border-color:#afd6ba;color:#176534}.test-status-archived{background:#f0f2f5;border-color:#cbd0d8;color:#596273}.test-card-description{color:var(--text-secondary);font-size:.8rem;line-height:1.55;margin:12px 0;min-height:46px}.test-card-stats{background:#f7f9fa;border:1px solid var(--border-light);border-radius:7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:58px}.test-card-stats>span{align-items:center;border-right:1px solid var(--border-light);display:flex;flex-direction:column;min-width:0;padding:8px}.test-card-stats>span:last-child{border-right:0}.test-card-stats small{color:var(--text-muted);font-size:.66rem}.test-card-stats strong{font-size:.92rem;margin-top:1px}.test-card-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.7rem;gap:6px 12px;margin-top:10px}.test-card-actions{border-top:1px solid var(--border-light);margin-top:auto;padding-top:13px}.test-management-empty{min-height:150px}.test-edit-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(22,31,42,.68);display:grid;inset:0;padding:18px;place-items:center;position:fixed;z-index:1000}.test-edit-dialog{max-height:calc(100vh - 36px);overflow-y:auto;padding:20px;transform-origin:center;width:min(680px,100%)}.test-edit-dialog .panel-heading{margin-bottom:16px}.test-edit-grid{grid-gap:0 14px;display:grid;gap:0 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.test-edit-wide{grid-column:1/-1}.test-edit-actions{border-top:1px solid var(--border-light);margin-top:4px;padding-top:14px}@media (hover:hover) and (pointer:fine){.test-management-card:hover{border-color:#9ebbb7;box-shadow:var(--shadow-md)}.test-file-field input[type=file]::file-selector-button:hover{background:#eef4f3;border-color:#9ebbb7}}@media (max-width:900px){.test-import-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.test-import-description{grid-column:1/-1}.test-file-field{grid-template-columns:1fr}}@media (max-width:720px){.test-import-panel{padding:16px}.test-inventory-header,.test-management-heading{align-items:flex-start;flex-direction:column}.test-edit-grid,.test-file-grid,.test-import-metadata,.test-management-grid{grid-template-columns:1fr}.test-edit-wide,.test-import-description{grid-column:auto}.test-file-field,.test-file-field:nth-child(2n),.test-file-field:nth-child(odd){border-bottom:1px solid var(--border-light);border-right:0;grid-template-columns:minmax(130px,.7fr) minmax(160px,1fr);padding:13px 0}.test-file-field:last-child{border-bottom:0}.test-status-filter{width:100%}.test-status-filter button{flex:1 1;padding-inline:6px}.test-card-actions .btn{flex:1 1 120px}}@media (max-width:480px){.test-file-field,.test-file-field:nth-child(2n),.test-file-field:nth-child(odd),.test-import-progress{grid-template-columns:1fr}.test-import-progress>span{text-align:left}.test-card-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.test-card-stats>span:nth-child(2){border-right:0}.test-card-stats>span:nth-child(-n+2){border-bottom:1px solid var(--border-light)}.test-edit-backdrop{padding:8px}.test-edit-dialog{max-height:calc(100vh - 16px);padding:16px}}@media (prefers-reduced-motion:reduce){.test-file-field input[type=file]::file-selector-button,.test-status-filter button{transition-duration:.01ms}}
/*# sourceMappingURL=main.29eb0bb7.css.map*/