@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,600&family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--font-sans:"Be Vietnam Pro", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Be Vietnam Pro", "Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-app:#f8fafc;--bg-card:#fff;--bg-elevated:#fff;--bg-subtle:#f1f5f9;--bg-hover:#e2e8f0;--border-color:#e2e8f0;--border-focus:#0284c7;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--primary:#0284c7;--primary-hover:#0369a1;--primary-light:#e0f2fe;--primary-glow:#0284c726;--accent-red:#f43f5e;--accent-green:#10b981;--accent-green-light:#ecfdf5;--accent-amber:#f59e0b;--accent-purple:#8b5cf6;--baby-blue:#e0f2fe;--baby-blue-text:#0284c7;--baby-blue-border:#bae6fd;--baby-pink:#ffe4e6;--baby-pink-text:#e11d48;--baby-pink-border:#fecdd3;--baby-mint:#dcfce7;--baby-mint-text:#059669;--baby-mint-border:#bbf7d0;--baby-lavender:#f3e8ff;--baby-lavender-text:#7c3aed;--baby-lavender-border:#e9d5ff;--baby-peach:#ffedd5;--baby-peach-text:#ea580c;--baby-peach-border:#fed7aa;--cbt-header-bg:#fffffff0;--cbt-header-text:#0f172a;--cbt-nav-bg:#f8fafc;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 14px -2px #94a3b81f;--shadow-lg:0 12px 28px -6px #94a3b829;--shadow-xl:0 20px 40px -10px #94a3b833;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--highlight-yellow:#fef08a;--highlight-green:#bbf7d0;--highlight-pink:#fbcfe8}body[data-theme=cbt-official]{--bg-app:#f4f4f4;--bg-card:#fff;--bg-elevated:#fff;--bg-subtle:#e9ecef;--bg-hover:#dee2e6;--border-color:#ced4da;--border-focus:#069;--text-primary:#212529;--text-secondary:#495057;--text-muted:#6c757d;--primary:#069;--primary-hover:#004c73;--primary-light:#e6f0f5;--cbt-header-bg:#069;--cbt-nav-bg:#004c73}body[data-theme=cbt-yellow-black]{--bg-app:#000;--bg-card:#121212;--bg-elevated:#1e1e1e;--bg-subtle:#242424;--bg-hover:#333;--border-color:#ffeb3b;--border-focus:#ffeb3b;--text-primary:#ffeb3b;--text-secondary:#fff59d;--text-muted:#fbc02d;--text-inverse:#000;--primary:#ffeb3b;--primary-hover:#fdd835;--primary-light:#26240f;--primary-glow:#ffeb3b33;--cbt-header-bg:#111;--cbt-nav-bg:#000}body[data-theme=dark]{--bg-app:#0b0f19;--bg-card:#111827;--bg-elevated:#1f2937;--bg-subtle:#1e293b;--bg-hover:#334155;--border-color:#374151;--border-focus:#3b82f6;--text-primary:#f9fafb;--text-secondary:#cbd5e1;--text-muted:#64748b;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#172554;--primary-glow:#3b82f633;--cbt-header-bg:#0f172a;--cbt-nav-bg:#020617}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}button{cursor:pointer;background:0 0;border:none;font-family:inherit;transition:all .15s ease-in-out}input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-subtle)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 10px #2563eb00}}.animate-fade-in{animation:.25s ease-out forwards fadeIn}.hl-yellow{background-color:var(--highlight-yellow);color:#000;border-radius:3px;padding:1px 3px}.hl-green{background-color:var(--highlight-green);color:#000;border-radius:3px;padding:1px 3px}.hl-pink{background-color:var(--highlight-pink);color:#000;border-radius:3px;padding:1px 3px}.evidence-pulse{border-bottom:2px solid #ca8a04;border-radius:4px;padding:2px 4px;font-weight:600;animation:.4s ease-in fadeIn;color:#1e293b!important;background:#fde047!important}.cbt-app-container{background-color:var(--bg-app);box-sizing:border-box;flex-direction:column;width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden!important}.cbt-main-content{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;width:100%;display:flex}.font-size-large{font-size:1.1rem}.font-size-large .passage-paragraph{font-size:1.15rem;line-height:1.8}.cbt-header{color:#0f172a;z-index:100;-webkit-backdrop-filter:blur(20px);box-sizing:border-box;background:#fffffff0;border-bottom:1px solid #e2e8f0d9;justify-content:center;align-items:center;width:100%;height:64px;padding:0;display:flex;position:sticky;top:0;box-shadow:0 4px 20px -2px #0f172a0a}.header-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:1.25rem;width:100%;max-width:100%;height:100%;padding:0 1.75rem;display:flex}.header-left{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.header-center{flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-right{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.65rem;display:flex}.brand-logo{color:#0f172a;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.75rem;padding:0;display:flex}.logo-badge{color:#fff;letter-spacing:.05em;background:linear-gradient(135deg,#0284c7,#00c2a8);border-radius:8px;padding:.28rem .6rem;font-size:.92rem;font-weight:850;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #0284c740}.brand-logo:hover .logo-badge{transform:scale(1.05);box-shadow:0 6px 16px #0284c759}.brand-title{font-family:var(--font-heading);letter-spacing:.02em;color:#0f172a;font-size:1.08rem;font-weight:850;line-height:1.2;display:block}.brand-sub{color:#64748b;letter-spacing:.03em;font-size:.68rem;font-weight:550;display:block}.test-meta-pill{color:#0f172a;border-radius:var(--radius-full);white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.85rem;display:flex}.pill-title{font-weight:600}.pill-type{color:#334155;background:#e2e8f0;border-radius:4px;padding:.1rem .4rem;font-size:.75rem}.exam-timer{border-radius:var(--radius-md);font-family:var(--font-mono);white-space:nowrap;color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;align-items:center;gap:.5rem;padding:.35rem .85rem;display:flex}.time-display{letter-spacing:.05em;font-size:1.25rem;font-weight:700}.time-label{text-transform:uppercase;color:#64748b;font-size:.75rem}.timer-normal{color:#0f172a}.timer-warning{color:#d97706;background:#fefce8;border-color:#fcd34d}.timer-critical{color:#dc2626;background:#fef2f2;border-color:#fca5a5;animation:1s infinite pulseGlow}.timer-pause-btn{color:inherit;opacity:.8;cursor:pointer;background:0 0;border:none;padding:2px}.timer-pause-btn:hover{opacity:1}.nav-actions{flex-wrap:nowrap;align-items:center;gap:.25rem;display:flex}.nav-btn{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;height:36px;padding:0 .75rem;font-family:inherit;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;white-space:nowrap!important}.nav-btn:hover{color:#0f172a;background:#f1f5f9}.nav-btn.active{color:#0284c7;background:#e0f2fe;border-color:#bae6fd;font-weight:750}.nav-btn.primary-action{color:#fff;background:linear-gradient(135deg,#0284c7,#00c2a8);border:none;box-shadow:0 2px 8px #0284c740}.nav-btn.primary-action:hover{background:linear-gradient(135deg,#0369a1,#0d9488)}.nav-btn.admin-action-btn{color:#7e22ce;background:#f3e8ff;border:1px solid #e9d5ff;font-weight:700}.nav-btn.admin-action-btn:hover{color:#6b21a8;background:#ede9fe}.nav-badge-pill{letter-spacing:.02em;border-radius:9999px;padding:.12rem .42rem;font-size:.65rem;font-weight:800;line-height:1}.nav-badge-pill.purple{color:#7c3aed;background:#ede9fe;border:1px solid #ddd6fe}.nav-badge-pill.blue{color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd}.nav-btn.streak-pill-btn{color:#ea580c;background:#fff7ed;border:1px solid #fed7aa;font-weight:700}.nav-btn.streak-pill-btn:hover{color:#c2410c;background:#ffedd5}.nav-btn.streak-pill-btn.completed{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.header-auth-group{align-items:center;gap:.4rem;display:flex}.header-auth-btn{cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;height:35px;padding:0 .9rem;font-family:inherit;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex}.header-auth-btn.secondary{color:#334155;background:#f8fafc;border:1.5px solid #e2e8f0}.header-auth-btn.secondary:hover{color:#0f172a;background:#f1f5f9}.header-auth-btn.primary{color:#fff;background:linear-gradient(135deg,#0284c7,#2563eb);border:none;box-shadow:0 4px 12px #0284c74d}.header-auth-btn.primary:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8)}.utility-controls{border-left:1px solid #e2e8f0;align-items:center;gap:.35rem;padding-left:.65rem;display:flex}.icon-btn{color:#64748b;border-radius:8px;justify-content:center;align-items:center;padding:.45rem;display:flex}.icon-btn:hover{color:#0f172a;background:#f1f5f9}.font-size-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:2px;display:flex}.size-btn{color:#64748b;opacity:.8;border-radius:6px;padding:.2rem .5rem;font-size:.8rem;font-weight:600}.size-btn.active{color:#0f172a;opacity:1;background:#fff;box-shadow:0 1px 3px #00000014}.theme-selector-wrapper{position:relative}.theme-dropdown-menu{background:var(--bg-card);width:260px;color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);z-index:100;margin-top:.5rem;padding:.5rem;position:absolute;top:100%;right:0}.dropdown-label{text-transform:uppercase;color:var(--text-muted);padding:.35rem .5rem;font-size:.75rem;font-weight:700}.theme-option{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:left;align-items:center;gap:.6rem;padding:.5rem;font-size:.85rem;display:flex}.theme-option:hover{background:var(--bg-subtle)}.theme-option.selected{background:var(--primary-light);color:var(--primary);font-weight:600}.theme-swatch{border:1px solid #0003;border-radius:50%;width:14px;height:14px}.standard-swatch{background:#2563eb}.cbt-swatch{background:#069}.yellow-swatch{background:#ffeb3b;border-color:#000}.dark-swatch{background:#0f172a}@media (width<=1200px){.brand-sub{display:none}.header-inner{gap:.75rem;padding:0 1rem}.header-left{gap:.75rem}.nav-btn{padding:0 .55rem;font-size:.8rem}}@media (width<=992px){.header-inner{padding:0 .75rem}.nav-actions.main-nav{scrollbar-width:none;overflow-x:auto}.nav-actions.main-nav::-webkit-scrollbar{display:none}}.catalog-container{box-sizing:border-box;width:100%;max-width:1240px;margin:0 auto;padding:1.75rem 1.25rem 3.5rem}.catalog-hero{color:#0f172a;background:radial-gradient(circle at 15% 15%,#e0f2fed9 0%,#0000 55%),radial-gradient(circle at 85% 20%,#fef3c7bf 0%,#0000 50%),radial-gradient(circle at 75% 85%,#f3e8ffbf 0%,#0000 55%),linear-gradient(135deg,#f8fbff 0%,#f0f7ff 50%,#faf5ff 100%);border-radius:24px;grid-template-columns:1fr 340px;gap:2rem;margin-bottom:2rem;padding:2.5rem;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 40px -12px #bae6fd66,0 0 0 1px #e2e8f0d9}.hero-badge{color:#0284c7;letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0284c714;border:1px solid #0284c733;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:1.1rem;padding:.35rem .9rem;font-size:.78rem;font-weight:700;display:inline-flex}.hero-title{font-family:var(--font-heading);letter-spacing:-.015em;color:#0f172a;margin-bottom:.9rem;font-size:2.15rem;font-weight:850;line-height:1.28}.text-gradient{background:linear-gradient(135deg,#0284c7 0%,#6366f1 50%,#ec4899 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-desc{color:#475569;max-width:620px;margin-bottom:1.85rem;font-size:.96rem;line-height:1.65}.hero-stats{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #e2e8f0e6;border-radius:16px;align-items:center;gap:1.75rem;width:fit-content;padding:.85rem 1.4rem;display:flex;box-shadow:0 4px 15px #00000008}.stat-item{flex-direction:column;display:flex}.stat-number{font-family:var(--font-heading);color:#0f172a;font-size:1.65rem;font-weight:850;line-height:1.1}.stat-label{color:#64748b;margin-top:.2rem;font-size:.76rem;font-weight:550}.stat-divider{background:#e2e8f0;width:1px;height:32px}.hero-cta-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;justify-content:space-between;padding:1.75rem 1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px -8px #bae6fd59}.hero-cta-card:before{content:"";background:linear-gradient(90deg,#38bdf8,#818cf8,#f472b6);height:3px;position:absolute;top:0;left:0;right:0}.cta-icon-wrapper{color:#0284c7;background:#e0f2fe;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:.85rem;display:flex}.hero-cta-card h3{color:#0f172a;margin-bottom:.4rem;font-size:1.18rem;font-weight:750}.hero-cta-card p{color:#64748b;margin-bottom:1.25rem;font-size:.84rem;line-height:1.55}.cta-action-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1.1rem;font-size:.88rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 6px 18px #0284c74d}.cta-action-btn:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 24px #0284c766}.catalog-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:2rem;display:flex}.search-box{flex:1;align-items:center;min-width:320px;display:flex;position:relative}.search-icon{color:#94a3b8;position:absolute;left:1.1rem}.search-box input{color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:999px;width:100%;padding:.78rem 2.5rem .78rem 2.85rem;font-size:.9rem;transition:all .2s;box-shadow:0 2px 8px #00000008}.search-box input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf833}.clear-search{color:#94a3b8;cursor:pointer;background:0 0;border:none;position:absolute;right:1.1rem}.filter-group{align-items:center;gap:1rem;display:flex}.pill-tabs{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:4px;display:flex}.pill-tab{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem 1.1rem;font-size:.84rem;font-weight:600;transition:all .15s;display:flex}.pill-tab.active{color:#0284c7;background:#fff;font-weight:750;box-shadow:0 2px 8px #00000014}.select-wrapper{color:#475569;background:#fff;border:1.5px solid #e2e8f0;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem 1.1rem;display:flex;box-shadow:0 2px 8px #00000008}.select-wrapper select{color:#0f172a;cursor:pointer;background:0 0;border:none;outline:none;font-size:.85rem;font-weight:600}.tests-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.6rem;display:grid}.test-card{background:#fff;border:1.5px solid #eef2f6;border-radius:20px;flex-direction:column;padding:1.65rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px -2px #94a3b81f}.test-card:hover{border-color:#bae6fd;transform:translateY(-4px);box-shadow:0 16px 36px -8px #38bdf838}.test-card-top{justify-content:space-between;align-items:center;margin-bottom:.95rem;display:flex}.skill-indicator{border-radius:var(--radius-full);align-items:center;gap:.45rem;padding:.28rem .75rem;font-size:.8rem;font-weight:750;display:flex}.skill-indicator.reading{color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd}.skill-indicator.listening{color:#db2777;background:#fce7f3;border:1px solid #fbcfe8}.series-pill{color:#6d28d9;background:#f3e8ff;border:1px solid #e9d5ff;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.test-card-title{font-family:var(--font-heading);color:#0f172a;margin-bottom:.85rem;font-size:1.18rem;font-weight:750;line-height:1.4}.test-meta-info{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1.25rem;display:flex}.meta-badge{color:#475569;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.8rem;display:flex}.passages-preview{background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;flex:1;margin-bottom:1.35rem;padding:.95rem}.preview-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.45rem;font-size:.74rem;font-weight:750}.passages-list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.passages-list li{color:#475569;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.passages-list .dot{background:#0284c7;border-radius:50%;width:6px;height:6px}.passage-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.more-passages{color:#94a3b8;font-size:.75rem;font-style:italic}.test-card-actions{align-items:center;gap:.55rem;display:flex}.start-exam-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.68rem .95rem;font-size:.86rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #0284c747}.start-exam-btn:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 18px #0284c766}.practice-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;padding:.68rem .95rem;font-size:.86rem;font-weight:650;transition:all .15s}.practice-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.review-btn{color:#b45309;cursor:pointer;background:#fef3c7;border:1.5px solid #fde68a;border-radius:12px;align-items:center;gap:.35rem;padding:.68rem .95rem;font-size:.86rem;font-weight:700;transition:all .15s;display:flex}.review-btn:hover{background:#fde68a}.delete-test-btn{color:var(--text-muted);border-radius:var(--radius-sm);padding:.65rem}.delete-test-btn:hover{color:var(--accent-red);background:#fee2e2}.exam-workspace-layout{flex-direction:column;height:calc(100vh - 60px);display:flex;overflow:hidden}.section-tabs-strip{background:var(--cbt-nav-bg);color:#fff;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:44px;padding:0 1rem;display:flex}.section-tabs-list{gap:.5rem;height:100%;display:flex}.section-tab-btn{color:#ffffffb3;border-bottom:3px solid #0000;align-items:center;gap:.5rem;height:100%;padding:0 1rem;font-size:.85rem;display:flex}.section-tab-btn:hover{color:#fff}.section-tab-btn.active{color:#fff;background:#ffffff0d;border-bottom-color:#38bdf8;font-weight:600}.tab-pill{background:#ffffff26;border-radius:3px;padding:.1rem .4rem;font-size:.75rem}.exam-badge{color:#000;border-radius:var(--radius-full);text-transform:uppercase;background:#22c55e;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.practice-badge{color:#000;border-radius:var(--radius-full);text-transform:uppercase;background:#f59e0b;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.audio-player-strip{background:var(--bg-card);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1.5rem;height:52px;padding:0 1.25rem;display:flex}.audio-left{align-items:center;gap:.85rem;min-width:250px;display:flex}.audio-play-trigger{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.audio-play-trigger.playing{background:#ef4444}.audio-track-info .track-title{color:var(--text-primary);align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.audio-track-info .track-time{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.audio-center{flex:1}.audio-seeker{width:100%;accent-color:var(--primary);cursor:pointer}.audio-right{align-items:center;gap:1rem;display:flex}.speed-buttons{background:var(--bg-subtle);border-radius:4px;padding:2px;display:flex}.speed-pill{color:var(--text-secondary);border-radius:3px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.speed-pill.active{background:var(--primary);color:#fff}.volume-control{align-items:center;gap:.4rem;display:flex}.vol-btn{color:var(--text-secondary)}.vol-slider{width:70px;accent-color:var(--primary)}.audio-jump-btn{background:var(--bg-subtle);width:32px;height:32px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.audio-jump-btn:hover{background:var(--bg-card);color:var(--primary);border-color:var(--primary)}.audio-jump-btn .jump-label{margin-top:-1px;font-size:.58rem;font-weight:700;line-height:1}.transcript-toggle-btn{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.transcript-toggle-btn:hover,.transcript-toggle-btn.active{background:var(--primary-light,#e0f2fe);color:var(--primary);border-color:var(--primary)}.audio-script-accordion{background:var(--bg-card);border-bottom:2px solid var(--primary);flex-direction:column;max-height:280px;display:flex;box-shadow:0 4px 16px #00000014}.audio-script-accordion .script-header{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.65rem 1.25rem;display:flex}.audio-script-accordion .script-title{color:var(--primary);align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;display:flex}.audio-script-accordion .script-close-btn{width:24px;height:24px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.audio-script-accordion .script-close-btn:hover{background:var(--bg-card);color:var(--text-primary)}.audio-script-accordion .script-body{padding:.85rem 1.25rem;font-size:.88rem;line-height:1.6;overflow-y:auto}.audio-script-accordion .script-line{color:var(--text-secondary);margin-bottom:.45rem}.audio-script-accordion .script-line.highlighted-answer{color:var(--text-primary);background:#eab3081f;border-left:3px solid #eab308;border-radius:0 4px 4px 0;padding:.25rem .5rem;font-weight:500}.exam-split-workspace{flex:1;display:flex;position:relative;overflow:hidden}.workspace-left-pane{border-right:1px solid var(--border-color);background:var(--bg-card);height:100%;overflow-y:auto}.workspace-divider{background:var(--bg-subtle);cursor:col-resize;justify-content:center;align-items:center;width:8px;display:flex}.divider-handle{background:var(--text-muted);width:2px;height:24px}.workspace-right-pane{background:var(--bg-app);height:100%;overflow-y:auto}.passage-viewer{padding:2rem;position:relative}.passage-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.passage-main-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:.35rem;font-size:1.5rem;font-weight:700}.passage-subtitle{color:var(--text-secondary);font-size:.9rem;font-style:italic}.quick-search{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.8rem;display:flex}.quick-search input{font-size:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;width:140px}.passage-body{color:var(--text-primary);font-size:1rem;line-height:1.75}.passage-paragraph{text-align:justify;margin-bottom:1.25rem}.highlight-toolbar{color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:40;background:#1e293b;align-items:center;gap:6px;padding:4px 8px;display:flex;position:absolute}.hl-btn{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex}.hl-yellow-btn{color:#000;background:#fef08a}.hl-green-btn{color:#000;background:#bbf7d0}.hl-pink-btn{color:#000;background:#fbcfe8}.toolbar-divider{background:#fff3;width:1px;height:18px}.note-btn{color:#fff;align-items:center;gap:4px;padding:0 6px;font-size:.75rem;font-weight:600;display:flex}.inline-note-dialog{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);border-radius:var(--radius-md);z-index:50;margin-bottom:1rem;padding:1rem;position:sticky;top:10px}.note-quote{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem;font-style:italic}.inline-note-dialog textarea{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-subtle);width:100%;height:70px;color:var(--text-primary);resize:none;margin-bottom:.75rem;padding:.5rem}.note-dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.candidate-notes-strip{color:#78350f;border-radius:var(--radius-sm);background:#fef3c7;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.6rem 1rem;display:flex}.notes-count{font-size:.8rem;font-weight:700}.notes-list{flex-wrap:wrap;gap:.4rem;display:flex}.note-chip{box-shadow:var(--shadow-sm);background:#fff;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.75rem;display:flex}.del-note{color:#991b1b;font-size:.7rem}.question-pane{padding:2rem}.question-group-block{margin-bottom:2.5rem}.group-instruction-banner{background:var(--bg-card);border-left:4px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1rem}.instruction-badge{text-transform:uppercase;color:var(--primary);letter-spacing:.05em;margin-bottom:.25rem;font-size:.7rem;font-weight:700;display:inline-block}.instruction-text{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.5}.group-questions-list{flex-direction:column;gap:1.25rem;display:flex}.question-item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem;transition:all .15s ease-in-out}.question-item-card:hover{border-color:var(--border-focus)}.question-item-card.active-focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.question-card-header{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.q-number-badge{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.85rem;font-weight:700;display:flex}.q-prompt-text{color:var(--text-primary);font-size:1rem;font-weight:500;line-height:1.5}.cbt-text-input{background:var(--bg-subtle);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);width:100%;max-width:450px;color:var(--text-primary);padding:.65rem .85rem;font-size:.95rem}.cbt-text-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow);background:#fff;outline:none}.mc-options-list{flex-direction:column;gap:.5rem;display:flex}.mc-option-card{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .15s;display:flex}.mc-option-card:hover{background:var(--bg-hover)}.mc-option-card.selected{background:var(--primary-light);border-color:var(--primary)}.mc-radio-circle{border:2px solid var(--border-color);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.mc-option-card.selected .mc-radio-circle{border-color:var(--primary);background:var(--primary);color:#fff}.mc-letter{font-size:.8rem;font-weight:700}.mc-option-text{color:var(--text-primary);font-size:.95rem}.tfng-options-grid{flex-wrap:wrap;gap:.75rem;display:flex}.tfng-btn{background:var(--bg-subtle);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);padding:.6rem 1.25rem;font-size:.85rem;font-weight:700}.tfng-btn:hover{border-color:var(--primary);color:var(--primary)}.tfng-btn.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.matching-select{background:var(--bg-subtle);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);width:100%;max-width:480px;color:var(--text-primary);padding:.65rem .85rem;font-size:.9rem}.practice-mode-feedback{border-top:1px dashed var(--border-color);margin-top:1rem;padding-top:.75rem}.toggle-answer-btn{color:var(--primary);align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.revealed-explanation{background:var(--bg-subtle);border-radius:var(--radius-sm);margin-top:.5rem;padding:.85rem}.revealed-correct-ans{margin-bottom:.4rem;font-size:.9rem}.ans-tag{color:#15803d;background:#dcfce7;border-radius:4px;padding:.15rem .5rem;font-weight:700}.cbt-navigator-bar{background:var(--cbt-nav-bg);color:#fff;z-index:40;border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;height:64px;padding:0 1.25rem;display:flex}.nav-bar-left{align-items:center;gap:1.5rem;min-width:280px;display:flex}.flag-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.flag-toggle-label input[type=checkbox]{display:none}.flag-icon{color:#94a3b8}.flag-icon.flagged{color:#facc15;fill:#facc15}.answered-stats{color:#94a3b8;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.check-icon{color:#4ade80}.nav-bar-center{flex:1;max-width:800px;padding:0 1rem;overflow-x:auto}.questions-bubbles-scroll{justify-content:center;align-items:center;gap:.4rem;display:flex}.q-bubble{color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex;position:relative}.q-bubble:hover{background:#ffffff40}.q-bubble.active{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf8}.q-bubble.answered{background:#3b82f6;border-color:#3b82f6}.q-bubble.flagged .bubble-flag-dot{background:#facc15;border:1.5px solid #000;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;right:-3px}.nav-bar-right{align-items:center;gap:.6rem;display:flex}.cbt-nav-btn{color:#fff;border-radius:var(--radius-sm);background:#ffffff1f;align-items:center;gap:.3rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;display:flex}.cbt-nav-btn:hover:not(:disabled){background:#ffffff40}.cbt-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cbt-submit-btn{color:#fff;border-radius:var(--radius-sm);background:#ef4444;align-items:center;gap:.4rem;padding:.55rem 1.15rem;font-size:.9rem;font-weight:700;display:flex}.cbt-submit-btn:hover{background:#dc2626;transform:translateY(-1px)}.explanation-view-layout{width:100%;max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.score-hero-card{color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);background:linear-gradient(135deg,#1e293b,#0f172a);justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;padding:2.5rem;display:flex}.test-badge{color:#38bdf8;border-radius:var(--radius-full);background:#ffffff1a;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.3rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.result-title{font-family:var(--font-heading);margin-bottom:.5rem;font-size:1.85rem;font-weight:800}.candidate-meta{color:#94a3b8;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.9rem;display:flex}.band-descriptor-box{border-radius:var(--radius-md);background:#ffffff12;border:1px solid #ffffff1f;max-width:600px;padding:1rem}.descriptor-level{color:#facc15;align-items:center;gap:.4rem;margin-bottom:.35rem;font-weight:700;display:flex}.descriptor-text{color:#cbd5e1;font-size:.85rem;line-height:1.5}.giant-band-circle{text-align:center;background:radial-gradient(circle,#3b82f6,#1d4ed8);border:6px solid #fff3;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:170px;height:170px;display:flex;box-shadow:0 0 35px #3b82f680}.band-label{letter-spacing:.1em;opacity:.9;font-size:.75rem;font-weight:700}.band-value{font-family:var(--font-heading);font-size:3.5rem;font-weight:900;line-height:1}.raw-ratio{opacity:.85;font-size:.8rem}.results-metrics-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem;display:grid}.metric-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:1rem;padding:1.25rem;display:flex}.metric-box.correct-box .icon-metric{color:#16a34a}.metric-box.incorrect-box .icon-metric{color:#dc2626}.metric-box.unanswered-box .icon-metric{color:#eab308}.metric-box.accuracy-box .icon-metric{color:#2563eb}.metric-number{font-family:var(--font-heading);color:var(--text-primary);font-size:1.7rem;font-weight:800;line-height:1.1}.metric-label{color:var(--text-secondary);font-size:.8rem}.band-spectrum-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:2.5rem;padding:1.5rem}.spectrum-header{justify-content:space-between;margin-bottom:1.5rem;font-size:.85rem;font-weight:600;display:flex}.spectrum-title{color:var(--text-primary)}.spectrum-target{color:var(--primary)}.spectrum-bar{border-radius:var(--radius-full);height:16px;margin-bottom:.75rem;position:relative}.bar-gradient{border-radius:var(--radius-full);background:linear-gradient(90deg,#ef4444 0%,#f97316 25%,#eab308 50%,#22c55e 75%,#3b82f6 100%);width:100%;height:100%}.spectrum-indicator{flex-direction:column;align-items:center;transition:left .5s ease-out;display:flex;position:absolute;top:-28px;transform:translate(-50%)}.indicator-tooltip{color:#fff;white-space:nowrap;background:#0f172a;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.indicator-marker{border-top:6px solid #0f172a;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0}.spectrum-ticks{color:var(--text-muted);justify-content:space-between;font-size:.75rem;display:flex}.results-actions-bar{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.results-actions-bar h2{font-family:var(--font-heading);color:var(--text-primary);font-size:1.4rem;font-weight:700}.actions-right{gap:.75rem;display:flex}.results-filters-strip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.65rem 1rem;display:flex}.status-tabs{gap:.5rem;display:flex}.status-tab{border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-secondary);align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.85rem;font-weight:600;display:flex}.status-tab.active{background:var(--primary);color:#fff}.status-tab.green-tab.active{background:#16a34a}.status-tab.red-tab.active{background:#dc2626}.status-tab.gray-tab.active{background:#64748b}.filter-options-right{align-items:center;gap:.75rem;display:flex}.section-filter-select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-primary);outline:none;padding:.4rem .75rem;font-size:.85rem}.text-action-btn{color:var(--primary);font-size:.8rem;font-weight:600}.question-reviews-list{flex-direction:column;gap:1.25rem;display:flex}.question-review-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.question-review-card.card-correct{border-left:5px solid #16a34a}.question-review-card.card-incorrect{border-left:5px solid #dc2626}.question-review-card.card-unanswered{border-left:5px solid #eab308}.review-card-top{background:var(--bg-card);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.review-card-top:hover{background:var(--bg-subtle)}.top-left-info{align-items:center;gap:.75rem;display:flex}.q-status-badge{border-radius:var(--radius-full);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.85rem;font-weight:700;display:flex}.badge-correct{color:#15803d;background:#dcfce7}.badge-incorrect{color:#b91c1c;background:#fee2e2}.badge-unanswered{color:#854d0e;background:#fef9c3}.q-section-name{color:var(--text-muted);font-size:.85rem}.top-right-toggle{color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.q-status-text{font-size:.85rem;font-weight:600}.review-card-body{border-top:1px solid var(--border-color);background:var(--bg-app);padding:1.25rem}.review-prompt{color:var(--text-primary);margin-bottom:1.25rem;font-size:1.05rem;font-weight:600;line-height:1.5}.answers-comparison-strip{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.user-answer-box,.correct-answer-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.ans-label{text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:700}.ans-val{font-size:1.05rem;font-weight:700}.val-correct{color:#16a34a}.val-incorrect{color:#dc2626;text-decoration:line-through}.val-key{color:var(--primary)}.accepted-alt{color:var(--text-secondary);font-size:.85rem;font-weight:400}.explanation-deep-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1.25rem}.evidence-quote-box{border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#f8fafc;border-left:3px solid #f59e0b;margin-bottom:1.25rem;padding:.85rem 1rem}.evidence-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.evidence-title{color:#b45309;font-size:.8rem;font-weight:700}.view-passage-link-btn{color:var(--primary);align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;display:flex}.view-passage-link-btn:hover{text-decoration:underline}.evidence-text{color:#334155;font-size:.95rem;font-style:italic;line-height:1.6}.explanation-vi-box{margin-bottom:1.25rem}.vi-label{color:var(--primary);margin-bottom:.3rem;font-size:.8rem;font-weight:700;display:block}.vi-text{color:var(--text-primary);font-size:.95rem;line-height:1.6}.paraphrase-table-wrapper{margin-top:1rem}.table-caption{color:var(--text-muted);margin-bottom:.4rem;font-size:.8rem;font-weight:700;display:block}.paraphrase-table{border-collapse:collapse;width:100%;font-size:.85rem}.paraphrase-table th,.paraphrase-table td{border:1px solid var(--border-color);text-align:left;padding:.6rem .85rem}.paraphrase-table th{background:var(--bg-subtle);color:var(--text-secondary);font-weight:700}.kw-question{color:#b91c1c;font-weight:600}.kw-passage{color:#15803d;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex;position:fixed;top:0;left:0}.modal-window{background:var(--bg-card);color:var(--text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:650px;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.close-btn{color:var(--text-muted);border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:1.2rem}.close-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.primary-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.primary-btn:hover:not(:disabled){background:var(--primary-hover)}.secondary-btn{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.secondary-btn:hover{background:var(--bg-hover)}.submission-summary-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.summary-stat-box{background:var(--bg-subtle);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;padding:1rem;display:flex}.answered-box{border-top:3px solid #16a34a}.unanswered-box{border-top:3px solid #dc2626}.flagged-box{border-top:3px solid #facc15}.box-num{font-family:var(--font-heading);color:var(--text-primary);font-size:1.8rem;font-weight:800}.box-label{color:var(--text-muted);font-size:.75rem}.warning-notice{color:#991b1b;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fef2f2;border-left:4px solid #ef4444;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.success-notice{color:#166534;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#f0fdf4;border-left:4px solid #22c55e;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.confirm-text{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.importer-modal{max-width:720px}.importer-tabs{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);display:flex}.importer-tab{color:var(--text-secondary);border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-size:.9rem;font-weight:600;display:flex}.importer-tab.active{color:var(--primary);background:var(--bg-card);border-bottom-color:var(--primary)}.crawler-hint{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9rem;line-height:1.5}.input-with-button{gap:.75rem;margin-bottom:1.5rem;display:flex}.url-input{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text-primary);flex:1;padding:.75rem 1rem;font-size:.95rem}.url-input:focus{border-color:var(--border-focus);outline:none}.url-suggestions{background:var(--bg-subtle);border-radius:var(--radius-md);padding:1rem}.sugg-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:block}.sugg-pills{flex-direction:column;gap:.4rem;display:flex}.sugg-pill{text-align:left;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--primary);padding:.5rem .85rem;font-size:.82rem;font-weight:500}.sugg-pill:hover{background:var(--primary-light)}.json-textarea{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;height:240px;font-family:var(--font-mono);color:var(--text-primary);resize:vertical;margin-bottom:1rem;padding:.75rem;font-size:.85rem}.json-tools-bar{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem;display:flex}.use-template-btn{color:var(--primary);font-weight:600}.status-alert-box{border-radius:var(--radius-sm);align-items:center;gap:.6rem;margin-top:1.25rem;padding:.85rem 1rem;font-size:.9rem;font-weight:500;display:flex}.status-alert-box.success{color:#15803d;background:#dcfce7}.status-alert-box.error{color:#b91c1c;background:#fee2e2}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.history-view-container{width:100%;max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem}.history-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:.4rem;font-size:1.85rem;font-weight:800}.history-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.history-stats-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.stat-icon-wrap{border-radius:var(--radius-md);justify-content:center;align-items:center;width:52px;height:52px;display:flex}.band-accent{color:#2563eb;background:#dbeafe}.avg-accent{color:#16a34a;background:#dcfce7}.tests-accent{color:#d97706;background:#fef3c7}.stat-value{font-family:var(--font-heading);color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1.1;display:block}.stat-name{color:var(--text-muted);font-size:.8rem}.submissions-list-section .list-title{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:1.25rem;font-size:1.25rem;font-weight:700}.submissions-cards-list{flex-direction:column;gap:1rem;display:flex}.submission-row-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.submission-row-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sub-left{align-items:center;gap:1.5rem;display:flex}.sub-band-badge{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#2563eb,#1d4ed8);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.badge-sub-label{opacity:.8;font-size:.65rem;font-weight:700}.badge-sub-num{font-family:var(--font-heading);font-size:1.4rem;font-weight:800;line-height:1}.sub-title-row{align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.sub-skill-pill{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:flex}.sub-skill-pill.reading{color:#2563eb;background:#eff6ff}.sub-skill-pill.listening{color:#db2777;background:#fdf2f8}.sub-test-title{color:var(--text-primary);font-size:1.05rem;font-weight:700}.sub-meta-row{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.view-sub-btn{background:var(--bg-subtle);color:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;display:flex}.view-sub-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.empty-history-box{background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;display:flex}.empty-icon{color:var(--text-muted)}.global-loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;z-index:9999;background:#0006;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;font-weight:600;display:flex;position:fixed;top:0;left:0}.loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}.passage-inspector-modal{max-width:900px;height:80vh}.inspector-body{flex-direction:column;gap:1rem;display:flex;overflow:hidden}.evidence-callout{color:#92400e;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fef3c7;border-left:4px solid #f59e0b;padding:.85rem 1rem;font-size:.95rem}.full-passage-scrollable{background:var(--bg-subtle);border-radius:var(--radius-md);flex:1;padding:1rem;font-size:.95rem;line-height:1.7;overflow-y:auto}.inspector-paragraph{margin-bottom:1.25rem}.nav-badge-pill{background:var(--primary);color:#fff;border-radius:var(--radius-full);margin-left:.25rem;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.vocab-toolbar-btn{color:var(--text-primary);background:0 0;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .45rem;font-size:.78rem;font-weight:600;display:flex}.vocab-toolbar-btn:hover{color:var(--primary);background:#2563eb1f}.review-audio-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin:1.25rem 2rem;overflow:hidden;box-shadow:0 2px 8px #0000000a}.review-audio-tabs{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.audio-tabs-label{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.part-pills{gap:.4rem;display:flex}.part-pill{border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);padding:.25rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s}.part-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.kw-passage-flex{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.kw-save-btn{color:var(--primary);background:var(--primary-light,#eff6ff);border:1px solid var(--primary);cursor:pointer;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.kw-save-btn:hover{background:var(--primary);color:#fff}.vocab-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.vocab-modal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:520px;overflow:hidden;box-shadow:0 10px 30px #0003}.vocab-modal-header{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.vocab-header-title{color:var(--primary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.vocab-icon-highlight{color:var(--primary)}.vocab-close-btn{color:var(--text-muted)}.vocab-close-btn:hover{color:var(--text-primary)}.vocab-form{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.vocab-field-row{gap:1rem;display:flex}.vocab-field{flex-direction:column;gap:.35rem;display:flex}.vocab-field label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.vocab-field input,.vocab-field select,.vocab-field textarea{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);padding:.55rem .75rem;font-size:.9rem}.vocab-input-with-audio{align-items:center;gap:.4rem;display:flex}.vocab-input-with-audio input{flex:1}.pronounce-btn{border-radius:var(--radius-sm);background:var(--bg-subtle);width:36px;height:36px;color:var(--primary);border:1px solid var(--border-color);justify-content:center;align-items:center;display:flex}.pronounce-btn:hover{background:var(--primary);color:#fff}.vocab-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.85rem;display:flex}.vocab-source-tag{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.75rem;overflow:hidden}.vocab-footer-btns{gap:.5rem;display:flex}.btn-save-vocab{background:var(--primary);color:#fff;border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.55rem 1.25rem;font-size:.88rem;font-weight:600;display:flex}.btn-save-vocab:hover{filter:brightness(1.1)}.vocab-saved-success{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem;display:flex}.success-icon-wrap{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.vocab-notebook-page{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 3rem}.vocab-hero-strip{color:#fff;border-radius:var(--radius-lg);background:linear-gradient(135deg,#1e3a8a 0%,#3b82f6 100%);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem 2rem;display:flex;box-shadow:0 4px 16px #2563eb33}.vocab-hero-left{flex-direction:column;gap:.75rem;display:flex}.vocab-hero-left .back-btn{color:#ffffffd9;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;display:inline-flex}.vocab-hero-left .back-btn:hover{color:#fff}.vocab-title-wrap{align-items:center;gap:1rem;display:flex}.vocab-main-icon{color:#fde047}.vocab-title-wrap h2{margin:0;font-size:1.5rem;font-weight:800}.vocab-title-wrap p{color:#ffffffd9;margin:.2rem 0 0;font-size:.9rem}.vocab-stats-pills{gap:1rem;display:flex}.v-stat{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-md);background:#ffffff26;flex-direction:column;align-items:center;padding:.75rem 1.25rem;display:flex}.v-stat.highlight{background:#fde04733;border:1px solid #fde04766}.v-stat .v-num{font-size:1.4rem;font-weight:800}.v-stat .v-lbl{opacity:.9;font-size:.75rem}.vocab-nav-bar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.vocab-tab-group{gap:.5rem;display:flex}.v-tab-btn{border-radius:var(--radius-md);color:var(--text-secondary);background:0 0;align-items:center;gap:.45rem;padding:.6rem 1.1rem;font-size:.88rem;font-weight:600;transition:all .15s;display:flex}.v-tab-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.v-tab-btn.active{background:var(--primary);color:#fff}.vocab-data-actions{gap:.5rem;display:flex}.v-action-btn{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;display:flex}.v-action-btn:hover{background:var(--bg-card);color:var(--primary);border-color:var(--primary)}.vocab-filter-bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.vocab-search-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex:1;align-items:center;gap:.5rem;max-width:450px;padding:.5rem .75rem;display:flex}.vocab-search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.88rem}.vocab-source-filter{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.vocab-source-filter select{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);padding:.45rem .75rem;font-size:.85rem}.vocab-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.vocab-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:.6rem;padding:1.25rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 6px #00000008}.vocab-card:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000000f}.card-top{justify-content:space-between;align-items:center;display:flex}.word-heading{align-items:center;gap:.5rem;display:flex}.word-text{color:var(--primary);margin:0;font-size:1.15rem;font-weight:800}.audio-icon-btn{color:var(--text-muted)}.audio-icon-btn:hover{color:var(--primary)}.pos-badge{border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-secondary);text-transform:uppercase;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.word-ipa{font-family:var(--font-mono);color:var(--text-muted);font-size:.82rem}.word-meaning{color:var(--text-primary);font-size:.92rem;line-height:1.4}.word-example{color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.82rem;line-height:1.4}.card-bottom{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem;display:flex}.source-label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.72rem;overflow:hidden}.card-actions{align-items:center;gap:.5rem;display:flex}.stage-badge{color:#475569;background:#f1f5f9;border-radius:4px;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.stage-badge.stage-4,.stage-badge.stage-5{color:#16a34a;background:#dcfce7}.del-word-btn{color:var(--text-muted)}.del-word-btn:hover{color:#ef4444}.flashcard-practice-box{flex-direction:column;gap:1.5rem;max-width:600px;margin:2rem auto;display:flex}.flashcard-progress-bar{color:var(--text-secondary);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.progress-track{background:var(--bg-subtle);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .25s}.flashcard-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:320px;padding:2.5rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 10px 25px #00000014}.flashcard-card:hover{border-color:var(--primary);transform:translateY(-3px)}.flashcard-hint{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;position:absolute;top:1rem}.front-word-wrap{align-items:baseline;gap:.65rem;margin-bottom:.5rem;display:flex}.front-word{color:var(--primary);font-size:2.2rem;font-weight:800}.front-pos{color:var(--text-muted);font-size:.9rem;font-weight:600}.front-ipa{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem}.flashcard-sound-btn{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.flashcard-sound-btn:hover{background:var(--primary);color:#fff}.flashcard-back{flex-direction:column;align-items:center;gap:1rem;display:flex}.back-meaning{color:var(--text-primary);font-size:1.4rem;font-weight:700}.back-example{background:var(--bg-subtle);border-radius:var(--radius-md);color:var(--text-secondary);padding:.85rem 1.25rem;font-size:.95rem;line-height:1.5}.back-meta{color:var(--text-muted);gap:1.5rem;font-size:.8rem;display:flex}.flashcard-actions{gap:1rem;display:flex}.btn-review-again{border-radius:var(--radius-md);color:#dc2626;background:#fef2f2;border:1px solid #fecaca;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-size:.95rem;font-weight:700;display:flex}.btn-review-again:hover{background:#fee2e2}.btn-review-good{border-radius:var(--radius-md);color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-size:.95rem;font-weight:700;display:flex}.btn-review-good:hover{background:#dcfce7}.add-word-form-container{max-width:650px;margin:1.5rem auto}.add-form-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 4px 16px #0000000d}.add-form-card h3{color:var(--primary);margin-top:0;margin-bottom:1.25rem;font-size:1.25rem;font-weight:700}.add-form-card form{flex-direction:column;gap:1rem;display:flex}.add-form-card .form-group{flex-direction:column;gap:.35rem;display:flex}.add-form-card .form-group label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.add-form-card .form-group input,.add-form-card .form-group select,.add-form-card .form-group textarea{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);padding:.6rem .85rem;font-size:.9rem}.add-form-card .form-row{gap:1rem;display:flex}.add-form-card .form-buttons{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.btn-submit-add{background:var(--primary);color:#fff;border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.65rem 1.5rem;font-size:.9rem;font-weight:600;display:flex}.vocab-learning-hub{max-width:1360px;margin:0 auto;padding:1.5rem 2rem 3.5rem}.vocab-topics-scroll{scrollbar-width:thin;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.vocab-topics-scroll::-webkit-scrollbar{height:5px}.vocab-topics-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.topic-chip{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;cursor:pointer;border-radius:20px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.topic-chip:hover{border-color:var(--primary);color:var(--text-primary);background:var(--bg-subtle)}.topic-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #2563eb40}.chip-count{background:#00000014;border-radius:10px;padding:.1rem .4rem;font-size:.7rem}.topic-chip.active .chip-count{color:#fff;background:#ffffff40}.filter-controls-group{align-items:center;gap:1.25rem;display:flex}.results-counter{color:var(--text-secondary);white-space:nowrap;font-size:.85rem}.clear-search-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.1rem .3rem;font-size:.85rem}.clear-search-btn:hover{color:var(--text-primary)}.modern-vocab-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:.65rem;padding:1.25rem;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex;position:relative}.modern-vocab-card:hover{border-color:#3b82f666;transform:translateY(-3px);box-shadow:0 8px 20px #00000014}.save-bookmark-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;transition:all .15s}.save-bookmark-btn:hover{color:var(--primary);background:var(--bg-subtle)}.save-bookmark-btn.saved{color:#16a34a}.topic-badge-pill{background:var(--bg-subtle);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:170px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;overflow:hidden}.band-badge-pill{color:#1d4ed8;background:#dbeafe;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.vocab-pagination{border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:1.5rem;margin-top:2.25rem;padding-top:1.5rem;display:flex}.page-nav-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.page-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--bg-subtle)}.page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.page-indicator{color:var(--text-secondary);font-size:.88rem}.vocab-loading-state{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;font-weight:600;display:flex}.spin-icon{color:var(--primary);animation:1s linear infinite spin}.empty-vocab-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.empty-vocab-state h3{color:var(--text-primary);margin:0;font-size:1.2rem}.empty-vocab-state p{max-width:400px;margin:0;font-size:.9rem}.pattern-filter-strip{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.pattern-chip{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.pattern-chip:hover{color:var(--text-primary);border-color:#8b5cf6}.pattern-chip.active{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 2px 8px #7c3aed40}.pattern-chip .chip-badge{background:#00000014;border-radius:10px;padding:.05rem .35rem;font-size:.7rem}.pattern-chip.active .chip-badge{color:#fff;background:#ffffff40}.verb-action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.irregular-tip-box{color:var(--primary);background:#2563eb14;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.84rem;font-weight:500;display:flex}.irregular-tip-box .tip-icon{color:#f59e0b;flex-shrink:0}.table-responsive-wrapper{border:1px solid var(--border-color);background:var(--bg-card);border-radius:12px;overflow-x:auto;box-shadow:0 2px 8px #00000008}.irregular-verbs-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.irregular-verbs-table th{background:var(--bg-subtle);border-bottom:2px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;padding:.85rem 1rem;font-weight:700}.irregular-verbs-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.75rem 1rem}.irregular-verbs-table tr:hover{background:var(--bg-subtle)}.irregular-verbs-table tr:last-child td{border-bottom:none}.row-index{color:var(--text-muted);text-align:center;font-size:.8rem;font-weight:600}.verb-cell{white-space:nowrap}.verb-item{align-items:center;gap:.4rem;display:flex}.v-word{color:var(--text-primary);font-size:.95rem;font-weight:700}.v1-cell .v-word{color:#2563eb}.v2-cell .v-word{color:#7c3aed}.v3-cell .v-word{color:#059669}.verb-audio-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem}.verb-audio-btn:hover{color:var(--primary);background:var(--bg-subtle)}.v-ipa{font-family:var(--font-mono);color:var(--text-muted);margin-top:.15rem;font-size:.75rem;display:block}.v-meaning{color:var(--text-primary);font-weight:600}.pattern-tag{color:#7c3aed;white-space:nowrap;background:#f3e8ff;border-radius:4px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.v-example{color:var(--text-secondary);font-size:.8rem;font-style:italic;line-height:1.4}.quiz-header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.quiz-mode-switch{gap:.5rem;display:flex}.mode-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.mode-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.mode-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #2563eb33}.streak-badge{color:#c2410c;background:#ffedd5;border-radius:20px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.85rem;font-weight:700;display:flex}.flame-icon{color:#ea580c}.score-badge{color:#0369a1;background:#e0f2fe;border-radius:20px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.85rem;font-weight:700;display:flex}.trophy-icon{color:#0284c7}.restart-quiz-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;display:flex}.restart-quiz-btn:hover{border-color:var(--primary);color:var(--primary)}.quiz-play-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;max-width:760px;margin:1.5rem auto 2.5rem;padding:2rem;box-shadow:0 10px 30px #0000000f}.quiz-progress-line{color:var(--text-muted);border-bottom:1px solid var(--border-color);justify-content:space-between;margin-bottom:.85rem;padding-bottom:.5rem;font-size:.82rem;font-weight:600;display:flex}.quiz-prompt-box{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.prompt-text{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:800;line-height:1.4}.prompt-audio-btn{color:var(--primary);cursor:pointer;background:#2563eb1a;border:none;border-radius:8px;flex-shrink:0;padding:.5rem}.prompt-audio-btn:hover{background:#2563eb33}.quiz-options-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}@media (width<=640px){.quiz-options-grid{grid-template-columns:1fr}}.quiz-option-btn{border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:.75rem;padding:.85rem 1.1rem;font-size:.92rem;font-weight:600;transition:all .15s;display:flex}.quiz-option-btn:hover:not(:disabled){border-color:var(--primary);background:var(--bg-subtle)}.quiz-option-btn.selected{border-color:var(--primary);background:#2563eb0f}.quiz-option-btn.correct{color:#15803d!important;background:#dcfce7!important;border-color:#22c55e!important}.quiz-option-btn.wrong{color:#b91c1c!important;background:#fee2e2!important;border-color:#ef4444!important}.option-label{background:var(--bg-subtle);width:26px;height:26px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.option-content{flex:1}.status-icon{flex-shrink:0}.correct-icon{color:#16a34a}.wrong-icon{color:#dc2626}.quiz-explanation-box{background:var(--bg-subtle);border-left:4px solid var(--primary);border-radius:10px;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding:1.1rem 1.25rem;display:flex}.explanation-title{font-size:.95rem;font-weight:700}.text-success{color:#16a34a}.text-danger{color:#dc2626}.verb-forms-recap{color:var(--text-primary);flex-wrap:wrap;gap:1.5rem;padding:.4rem 0;font-size:.88rem;display:flex}.verb-forms-recap .form-item strong{color:var(--primary)}.quiz-example-line{color:var(--text-secondary);font-size:.82rem;font-style:italic}.quiz-card-footer{justify-content:flex-end;margin-top:1.75rem;display:flex}.quiz-action-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.92rem;font-weight:700;transition:all .15s;display:inline-flex}.quiz-action-btn.primary{background:var(--primary);color:#fff}.quiz-action-btn.primary:disabled{opacity:.5;cursor:not-allowed}.quiz-action-btn.next{color:#fff;background:#16a34a}.quiz-action-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.quiz-summary-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.85rem;max-width:550px;margin:2rem auto;padding:2.5rem 2rem;display:flex;box-shadow:0 10px 30px #00000014}.summary-icon-wrap{background:#fef9c3;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:.5rem;display:flex}.summary-score-line{color:var(--text-primary);margin:0;font-size:1.15rem}.summary-streak-line{color:#ea580c;margin:0;font-size:.92rem;font-weight:600}.summary-actions{gap:.75rem;margin-top:1rem;display:flex}.quiz-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;display:inline-flex}.quiz-btn.primary{background:var(--primary);color:#fff}.quiz-btn.secondary{background:var(--bg-subtle);color:var(--text-primary);border:1px solid var(--border-color)}.deck-selector-bar{color:var(--text-secondary);align-items:center;gap:1rem;margin-bottom:1.5rem;font-size:.88rem;font-weight:600;display:flex}.deck-options{gap:.5rem;display:flex}.deck-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.45rem .95rem;font-size:.84rem;font-weight:600}.deck-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.card-audio-btn{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--primary);cursor:pointer;border-radius:20px;align-items:center;gap:.45rem;margin-top:1.25rem;padding:.5rem 1.2rem;font-size:.85rem;font-weight:600;display:inline-flex}.card-audio-btn:hover{background:#2563eb1a}.flashcard-controls{justify-content:center;gap:1rem;margin-top:1rem;display:flex}.sm2-btn{cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.92rem;font-weight:700;transition:transform .15s}.sm2-btn:hover{transform:translateY(-2px)}.sm2-btn.forget{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.sm2-btn.remember{color:#16a34a;background:#dcfce7;border:1px solid #86efac}body.theme-cbt-yellow-black .topic-chip.active,body.theme-cbt-yellow-black .pattern-chip.active,body.theme-cbt-yellow-black .mode-btn.active,body.theme-cbt-yellow-black .deck-btn.active,body.theme-cbt-yellow-black .v-tab-btn.active{color:#000!important;background:#ffeb3b!important;border-color:#ffeb3b!important}body.theme-cbt-yellow-black .band-badge-pill{color:#000!important;background:#ffeb3b!important}body.theme-cbt-yellow-black .pattern-tag{color:#ffeb3b!important;background:#333!important}body.theme-cbt-yellow-black .v1-cell .v-word,body.theme-cbt-yellow-black .v2-cell .v-word,body.theme-cbt-yellow-black .v3-cell .v-word{color:#ffeb3b!important}.daily-mission-home-card{cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#fff7edf2 0%,#fef3c7e6 100%);border:1px solid #f9731640;border-radius:16px;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.1rem 1.6rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 16px #f9731614}.daily-mission-home-card:hover{border-color:#f9731673;transform:translateY(-2px);box-shadow:0 8px 24px #f9731629}.dm-left{align-items:center;gap:1.1rem;display:flex}.dm-fire-icon{color:#fff;background:linear-gradient(135deg,#ea580c,#f97316);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 12px #ea580c4d}.dm-text{flex-direction:column;gap:.25rem;display:flex}.dm-text strong{color:#1e293b;font-size:1.02rem;font-weight:750}.dm-text span{color:#64748b;font-size:.84rem;font-weight:500}.dm-cta-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ea580c,#f97316);border:none;border-radius:10px;align-items:center;gap:.45rem;padding:.65rem 1.35rem;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #ea580c40}.dm-cta-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ea580c61}.header-user-btn{color:#f8fafc;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:.45rem;height:35px;padding:0 .8rem;font-size:.82rem;font-weight:650;transition:all .15s;display:inline-flex}.header-user-btn:hover{background:#ffffff24;border-color:#60a5fa66}.header-user-avatar{font-size:1.05rem;line-height:1}.header-user-name{text-overflow:ellipsis;white-space:nowrap;color:#f1f5f9;max-width:100px;overflow:hidden}.header-user-streak{color:#fdba74;background:#f9731633;border:1px solid #f9731659;border-radius:999px;padding:.1rem .45rem;font-size:.72rem;font-weight:750}.header-daily-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);border:none;border-radius:20px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #ea580c4d}.header-daily-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ea580c66}.header-daily-btn.completed{background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 2px 8px #0596694d}.user-profile-modal{width:92%;max-width:660px;padding:1.75rem}.user-modal-title{align-items:center;gap:.5rem;display:flex}.modal-title-icon{color:var(--primary)}.user-modal-tabs{border-bottom:1px solid var(--border-color);gap:.5rem;margin:1.25rem 0 1.5rem;padding-bottom:.5rem;display:flex}.um-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;display:inline-flex}.um-tab-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.um-tab-btn.active{background:var(--primary);color:#fff}.user-identity-card{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:1.25rem;margin-bottom:1.25rem;padding:1.25rem;display:flex}.user-avatar-badge{background:var(--bg-card);border:2px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;font-size:2.2rem;display:flex;box-shadow:0 4px 12px #0000000f}.user-info-wrap{flex-direction:column;flex:1;gap:.4rem;display:flex}.user-name-row{justify-content:space-between;align-items:center;display:flex}.user-name-row h4{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:800}.edit-profile-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.78rem;display:inline-flex}.edit-profile-btn:hover{border-color:var(--primary);color:var(--primary)}.user-badges-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.target-band-tag{color:#1d4ed8;background:#dbeafe;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.user-xp-tag{color:#a16207;background:#fef9c3;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.user-streak-tag{color:#c2410c;background:#ffedd5;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.user-metrics-grid{grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1.25rem;display:grid}.metric-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.metric-label{color:var(--text-muted);font-size:.78rem;font-weight:600}.metric-val{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:800;display:flex}.days-left-pill{color:#dc2626;background:#fee2e2;border-radius:10px;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.streak-calendar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.streak-cal-title{justify-content:space-between;align-items:center;margin-bottom:.85rem;font-size:.88rem;display:flex}.title-left{align-items:center;gap:.4rem;display:flex}.flame-cal-icon{color:#ea580c}.streak-cal-count{color:#ea580c;font-size:.8rem;font-weight:700}.cal-days-row{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.cal-day-cell{background:var(--bg-subtle);border-radius:8px;flex-direction:column;align-items:center;gap:.3rem;padding:.45rem .25rem;display:flex;position:relative}.cal-day-cell.current{border:1px solid var(--primary)}.day-name{color:var(--text-muted);font-size:.7rem;font-weight:600}.day-circle{background:var(--bg-card);border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.cal-day-cell.completed .day-circle{color:#fff;background:#22c55e;border-color:#22c55e}.today-dot{color:var(--primary);font-size:.6rem;line-height:1}.modal-bottom-actions{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:flex}.switch-guide-text{color:var(--text-secondary);margin-top:0;margin-bottom:1rem;font-size:.88rem}.users-list-grid{flex-direction:column;gap:.65rem;max-height:320px;display:flex;overflow-y:auto}.user-card-selectable{background:var(--bg-card);border:2px solid var(--border-color);cursor:pointer;border-radius:10px;align-items:center;gap:.85rem;padding:.85rem 1rem;transition:all .15s;display:flex}.user-card-selectable:hover{border-color:var(--primary);background:var(--bg-subtle)}.user-card-selectable.selected{border-color:var(--primary);background:#2563eb0d}.u-avatar{font-size:1.6rem}.u-details{flex-direction:column;flex:1;gap:.2rem;display:flex}.u-name-line{align-items:center;gap:.5rem;font-size:.95rem;display:flex}.active-badge{color:#16a34a;background:#dcfce7;border-radius:10px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.u-sub-line{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.del-user-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.35rem}.del-user-btn:hover{color:#dc2626;background:#fee2e2}.avatar-picker-grid{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.avatar-choice-btn{border:2px solid var(--border-color);background:var(--bg-card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.3rem;transition:transform .15s,border-color .15s;display:flex}.avatar-choice-btn:hover{border-color:var(--primary);transform:scale(1.1)}.avatar-choice-btn.selected{border-color:var(--primary);background:#2563eb1f;transform:scale(1.15)}.daily-workout-container{max-width:1100px;margin:0 auto;padding:1.5rem 2rem 3.5rem}.daily-workout-hero{color:#fff;background:linear-gradient(135deg,#ea580c 0%,#f97316 60%,#fb923c 100%);border-radius:16px;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:2rem 2.5rem;display:flex;box-shadow:0 8px 24px #ea580c40}.workout-badge-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-transform:uppercase;letter-spacing:.5px;background:#ffffff38;border-radius:20px;align-items:center;gap:.4rem;margin-bottom:.65rem;padding:.3rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.daily-workout-hero h2{margin:0 0 .35rem;font-size:1.8rem;font-weight:800}.daily-workout-hero p{opacity:.92;margin:0;font-size:.95rem}.hero-streak-indicator{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border:1px solid #ffffff4d;border-radius:14px;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex}.streak-fire-circle{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.flame-icon-pulse{color:#ea580c;animation:1.5s infinite pulse}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.streak-stats{flex-direction:column;display:flex}.streak-big-num{font-size:1.45rem;font-weight:800;line-height:1.2}.streak-status-lbl{opacity:.95;font-size:.78rem}.preview-header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.preview-header-bar h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.35rem;font-weight:800}.preview-header-bar p{color:var(--text-secondary);margin:0;font-size:.9rem}.start-drills-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.6rem;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #2563eb40}.start-drills-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb59}.start-drills-btn.large{padding:1rem 2.2rem;font-size:1.05rem}.preview-bottom-actions{justify-content:center;margin-top:2rem;display:flex}.daily-words-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.daily-word-chip{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;justify-content:space-between;gap:.65rem;padding:1.1rem;transition:transform .15s,border-color .15s;display:flex}.daily-word-chip:hover{border-color:var(--primary);transform:translateY(-2px)}.word-name-row{align-items:center;gap:.45rem;display:flex}.word-name-row strong{color:var(--text-primary);font-size:1.15rem}.chip-type-tag{background:var(--bg-subtle);color:var(--text-secondary);text-transform:uppercase;border-radius:6px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.chip-type-tag.verb{color:#7c3aed;background:#f3e8ff}.chip-audio-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem}.chip-audio-btn:hover{color:var(--primary)}.chip-ipa{font-family:var(--font-mono);color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.chip-meaning{color:var(--text-primary);margin-top:.35rem;font-size:.92rem;font-weight:600}.chip-verb-forms{border-top:1px dashed var(--border-color);color:var(--text-secondary);gap:.85rem;padding-top:.5rem;font-size:.8rem;display:flex}.chip-verb-forms strong{color:#7c3aed}.workout-drill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;max-width:800px;margin:1.5rem auto 3rem;padding:2.25rem 2.5rem;box-shadow:0 10px 30px #0000000f}.drill-progress-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.drill-step-indicator{align-items:center;gap:.65rem;display:flex}.drill-category-badge{background:var(--bg-subtle);color:var(--primary);border-radius:6px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.drill-combo-box{align-items:center;gap:.6rem;display:flex}.live-combo-badge{color:#c2410c;background:#ffedd5;border-radius:14px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.live-score-badge{color:#0369a1;background:#e0f2fe;border-radius:14px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.drill-progress-track{background:var(--bg-subtle);border-radius:3px;height:6px;margin-bottom:1.75rem;overflow:hidden}.drill-progress-fill{background:linear-gradient(90deg,#ea580c,#f97316);height:100%;transition:width .3s}.drill-question-box{margin-bottom:1.75rem}.question-prompt-line{justify-content:space-between;align-items:center;gap:1rem;display:flex}.drill-context-sentence{color:var(--text-primary);background:var(--bg-subtle);border-left:3px solid var(--primary);border-radius:8px;margin:1rem 0;padding:.85rem 1.15rem;font-size:1.05rem;font-style:italic}.drill-hint-line{color:var(--text-muted);align-items:center;gap:.4rem;margin-top:.65rem;font-size:.82rem;display:flex}@media (width<=640px){.drill-options-grid{grid-template-columns:1fr}}.drill-opt-btn{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;padding:.9rem 1.15rem;font-size:.95rem;font-weight:600;transition:all .15s;display:flex}.drill-opt-btn:hover:not(:disabled){border-color:var(--primary);background:var(--bg-subtle)}.drill-opt-btn.selected{border-color:var(--primary);background:#2563eb14}.drill-opt-btn.correct{color:#15803d!important;background:#dcfce7!important;border-color:#22c55e!important}.opt-key{background:var(--bg-subtle);width:26px;height:26px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.drill-feedback-box{background:var(--bg-subtle);border-left:4px solid var(--primary);border-radius:10px;flex-direction:column;gap:.45rem;margin-top:1.5rem;padding:1.1rem 1.25rem;display:flex}.feedback-verb-table{color:var(--text-primary);gap:1.5rem;font-size:.88rem;display:flex}.feedback-example{color:var(--text-secondary);font-size:.85rem;font-style:italic}.drill-card-footer{justify-content:flex-end;margin-top:1.75rem;display:flex}.btn-drill-action{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.8rem 1.8rem;font-size:.95rem;font-weight:700;transition:transform .15s;display:inline-flex}.btn-drill-action.check{background:var(--primary);color:#fff}.btn-drill-action.check:disabled{opacity:.5;cursor:not-allowed}.btn-drill-action.next{color:#fff;background:#16a34a}.btn-drill-action:hover:not(:disabled){transform:translateY(-1px)}.workout-completed-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:20px;flex-direction:column;align-items:center;max-width:650px;margin:2rem auto;padding:3rem 2.5rem;display:flex;box-shadow:0 12px 35px #00000014}.celebration-badge-wrap{background:#fef9c3;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:1.25rem;display:flex}.celebration-trophy{color:#eab308;animation:1s infinite alternate bounce}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.workout-completed-card h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.6rem;font-weight:800}.completed-desc{color:var(--text-secondary);margin:0 0 1.75rem;font-size:1rem}.rewards-unlocked-grid{grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;margin-bottom:2rem;display:grid}@media (width<=600px){.rewards-unlocked-grid{grid-template-columns:1fr}}.reward-item{border:1px solid var(--border-color);background:var(--bg-subtle);border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;display:flex}.reward-item.xp .reward-icon{color:#eab308}.reward-item.streak .reward-icon{color:#ea580c}.reward-item.words .reward-icon{color:#2563eb}.reward-val{color:var(--text-primary);font-size:1.2rem;font-weight:800;display:block}.reward-lbl{color:var(--text-muted);font-size:.75rem}.completed-actions-row{justify-content:center;gap:1rem;width:100%;display:flex}.sentence-patterns-hub{flex-direction:column;gap:1.5rem;max-width:1320px;margin:0 auto;padding:1.5rem 1.25rem 4rem;animation:.3s fadeIn;display:flex}.patterns-hero-strip{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0369a1 40%,#1e1b4b 100%);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem 2.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0284c733}.patterns-hero-strip:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff26 0%,#0000 70%);width:320px;height:320px;position:absolute;top:-50%;right:-10%}.patterns-hero-left{z-index:1;max-width:680px;position:relative}.patterns-hero-badge{border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;background:#ffffff2e;border:1px solid #ffffff4d;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.3rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.patterns-hero-left h1{color:#fff;margin:0 0 .5rem;font-size:1.85rem;font-weight:800;line-height:1.25}.patterns-hero-left p{opacity:.92;margin:0;font-size:.95rem;line-height:1.6}.patterns-hero-actions{z-index:1;gap:.75rem;display:flex;position:relative}.patterns-hero-btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.patterns-hero-btn.primary{color:#0369a1;background:#fff;box-shadow:0 4px 14px #00000026}.patterns-hero-btn.primary:hover{background:#f0f9ff;transform:translateY(-2px);box-shadow:0 6px 18px #0003}.patterns-hero-btn.secondary{color:#fff;background:#ffffff26;border:1px solid #ffffff4d}.patterns-hero-btn.secondary:hover{background:#ffffff40}.patterns-main-tabs{border-bottom:2px solid var(--border-color);gap:.5rem;padding-bottom:.25rem;display:flex}.patterns-tab-btn{border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex;position:relative}.patterns-tab-btn:hover{color:var(--text-primary);background:var(--bg-subtle)}.patterns-tab-btn.active{color:var(--primary);background:var(--bg-subtle);font-weight:700}.patterns-tab-btn.active:after{content:"";background:var(--primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-2px;left:0;right:0}.tab-badge{background:var(--primary);color:#fff;border-radius:var(--radius-full);padding:.1rem .5rem;font-size:.7rem;font-weight:700}.tab-badge.highlight{background:#ea580c;animation:1.5s infinite pulse}.patterns-explorer-pane{flex-direction:column;gap:1.25rem;display:flex}.patterns-filter-toolbar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem;display:flex}.search-box-pill{align-items:center;width:100%;display:flex;position:relative}.p-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:1rem}.p-search-input{border:1px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-subtle);width:100%;color:var(--text-primary);outline:none;padding:.7rem 2.5rem .7rem 2.6rem;font-size:.95rem;transition:all .2s}.p-search-input:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 3px #2563eb1f}.p-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;display:flex;position:absolute;right:.75rem}.cat-pill-scroll{scrollbar-width:thin;align-items:center;gap:.5rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.cat-pill{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap;cursor:pointer;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.cat-pill:hover{border-color:var(--primary);color:var(--text-primary)}.cat-pill.active{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 2px 6px #0284c740}.cat-count{opacity:.85;font-size:.72rem}.patterns-meta-bar{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.88rem;display:flex}.patterns-meta-left strong{color:var(--text-primary)}.level-select-wrap{align-items:center;gap:.5rem;display:flex}.p-level-select{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);cursor:pointer;outline:none;padding:.4rem .8rem;font-size:.85rem}.patterns-card-grid{grid-template-columns:repeat(auto-fill,minmax(390px,1fr));gap:1.25rem;display:grid}@media (width<=640px){.patterns-card-grid{grid-template-columns:1fr}}.pattern-master-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:.85rem;padding:1.35rem 1.4rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.pattern-master-card:hover{border-color:#0284c7;transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.p-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.p-header-left{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.p-band-badge{border-radius:var(--radius-sm);text-transform:uppercase;padding:.2rem .55rem;font-size:.72rem;font-weight:800}.band-b2{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.band-c1{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.band-c2{color:#7c3aed;background:#faf5ff;border:1px solid #ddd6fe}.p-cat-tag{color:var(--text-muted);background:var(--bg-subtle);border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.75rem}.p-copy-btn{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.75rem;transition:all .2s;display:flex}.p-copy-btn:hover{color:var(--primary);border-color:var(--primary)}.p-card-title{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.p-title-text{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700;line-height:1.35}.p-audio-btn{background:var(--bg-subtle);border:1px solid var(--border-color);color:#0284c7;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.p-audio-btn:hover{color:#fff;background:#0284c7;border-color:#0284c7;transform:scale(1.05)}.p-formula-box{background:var(--bg-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:3px solid #0284c7;flex-direction:column;gap:.2rem;padding:.55rem .75rem;display:flex}.p-formula-lbl{color:#0284c7;text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:700}.p-formula-code{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;font-weight:600;line-height:1.4}.p-explanation-box{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.p-meaning-box{color:var(--text-muted);margin:0;font-size:.82rem;font-style:italic}.p-examples-list{border-top:1px dashed var(--border-color);flex-direction:column;gap:.6rem;padding-top:.75rem;display:flex}.p-example-item{flex-direction:column;gap:.2rem;display:flex}.p-example-en{color:var(--text-primary);font-size:.9rem;font-weight:500;line-height:1.4}.p-example-vi{color:var(--text-muted);font-size:.8rem;line-height:1.35}.p-tips-box{color:#854d0e;border-radius:var(--radius-sm);background:#fefce8;border:1px solid #fef08a;padding:.45rem .65rem;font-size:.78rem;line-height:1.4}.patterns-workout-pane{flex-direction:column;gap:1.5rem;display:flex}.workout-hud-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.hud-stat-chip{color:var(--text-primary);align-items:center;gap:.45rem;font-size:.88rem;font-weight:700;display:inline-flex}.hud-stat-chip.streak{color:#ea580c}.workout-progress-bar-wrap{background:var(--bg-subtle);border-radius:var(--radius-full);flex:1;min-width:140px;height:8px;overflow:hidden}.workout-progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#0284c7,#2563eb);height:100%;transition:width .3s}.workout-arena-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;gap:1.5rem;width:100%;max-width:840px;margin:0 auto;padding:2.25rem;display:flex;box-shadow:0 10px 30px #0000000d}@media (width<=600px){.workout-arena-card{padding:1.25rem}}.arena-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.85rem;display:flex}.workout-type-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);color:#0369a1;background:#e0f2fe;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.arena-instruction{color:var(--text-secondary);font-size:.85rem}.drill-prompt-box{background:var(--bg-subtle);border-radius:var(--radius-md);border-left:4px solid var(--primary);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.drill-prompt-meaning{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700;line-height:1.45}.drill-sentence-en{color:var(--text-primary);margin:0;font-size:1.05rem;line-height:1.5}.drill-context-tag{color:var(--text-muted);background:var(--bg-card);border-radius:var(--radius-sm);align-self:flex-start;padding:.2rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.target-pattern-hint{color:var(--text-secondary);font-size:.85rem}.target-formula{background:var(--bg-subtle);border-radius:var(--radius-sm);color:#0284c7;padding:.2rem .5rem;font-family:monospace;font-weight:600}.unscramble-container{flex-direction:column;gap:1.25rem;display:flex}.constructed-sentence-box{background:var(--bg-subtle);border:2px dashed var(--border-color);border-radius:var(--radius-lg);flex-wrap:wrap;align-content:flex-start;align-items:center;gap:.5rem;min-height:90px;padding:1rem;transition:all .2s;display:flex}.constructed-sentence-box:hover{border-color:#0284c7}.unscramble-placeholder{color:var(--text-muted);margin:auto;font-size:.9rem;font-style:italic}.constructed-hint{width:100%;color:var(--text-muted);text-align:right;margin-top:.25rem;font-size:.75rem}.word-pool-box{flex-direction:column;gap:.6rem;display:flex}.pool-chips-wrap{flex-wrap:wrap;gap:.55rem;display:flex}.word-chip{border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border-color);padding:.55rem .95rem;font-size:.95rem;font-weight:600;transition:all .15s}.word-chip.available{background:var(--bg-card);color:var(--text-primary);box-shadow:0 2px 4px #0000000d}.word-chip.available:hover{color:#fff;background:#0284c7;border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 10px #0284c74d}.word-chip.placed{opacity:.3;cursor:not-allowed;background:var(--bg-subtle);color:var(--text-muted);border-style:dashed}.constructed-word-chip{color:#fff;background:#0284c7;border:1px solid #0369a1;animation:.2s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 2px 6px #0284c740}.constructed-word-chip:hover{background:#e11d48;border-color:#be123c}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.unscramble-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.btn-unscramble-reset{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-unscramble-reset:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.btn-unscramble-check{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#0284c7;border:none;align-items:center;gap:.5rem;padding:.6rem 1.5rem;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0284c740}.btn-unscramble-check:hover:not(:disabled){background:#0369a1;transform:translateY(-1px)}.btn-unscramble-check:disabled,.btn-unscramble-reset:disabled{opacity:.5;cursor:not-allowed}.options-grid-workout{grid-template-columns:1fr;gap:.75rem;display:grid}.workout-option-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);text-align:left;cursor:pointer;align-items:center;gap:.85rem;padding:1rem 1.25rem;font-size:.95rem;transition:all .2s;display:flex}.workout-option-btn:hover:not(:disabled){background:var(--bg-subtle);border-color:#0284c7}.workout-option-btn.selected{background:#f0f9ff;border-color:#0284c7;font-weight:600}.workout-option-btn.correct{color:#065f46;background:#ecfdf5;border-color:#10b981;font-weight:600}.workout-option-btn.wrong{color:#991b1b;background:#fef2f2;border-color:#ef4444}.opt-radio-circle{border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:all .2s;display:inline-block}.workout-option-btn.selected .opt-radio-circle{background:#0284c7;border-color:#0284c7;box-shadow:inset 0 0 0 3px #fff}.workout-feedback-banner{border-radius:var(--radius-md);flex-direction:column;gap:.5rem;padding:1.1rem 1.25rem;animation:.25s slideUp;display:flex}.workout-feedback-banner.correct{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.workout-feedback-banner.wrong{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.workout-banner-header{justify-content:space-between;align-items:center;display:flex}.workout-banner-header strong{font-size:1rem}.workout-banner-header span{font-size:.85rem;font-weight:700}.workout-banner-explanation{margin:0;font-size:.9rem;line-height:1.5}.workout-arena-footer{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:1.25rem;display:flex}.workout-summary-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:20px;flex-direction:column;align-items:center;max-width:600px;margin:2rem auto;padding:3rem 2rem;display:flex;box-shadow:0 12px 35px #00000014}.workout-summary-card h2{margin:.75rem 0 .25rem;font-size:1.7rem;font-weight:800}.summary-sub{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.workout-summary-stats{grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;margin-bottom:2rem;display:grid}.workout-stat-box{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:.25rem;padding:1rem;display:flex}.stat-box-val{color:var(--text-primary);font-size:1.35rem;font-weight:800}.stat-box-lbl{color:var(--text-muted);font-size:.75rem}.back-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.35rem .75rem;font-size:.8rem;transition:all .2s;display:inline-flex}.back-btn:hover{background:#ffffff40}.patterns-title-wrap{align-items:flex-start;gap:1rem;display:flex}.patterns-main-icon{color:#bae6fd;flex-shrink:0;margin-top:.2rem}.patterns-stats-pills{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.p-stat{border-radius:var(--radius-md);background:#ffffff1f;border:1px solid #fff3;flex-direction:column;align-items:center;min-width:90px;padding:.5rem 1rem;display:flex}.p-stat.highlight{background:#f59e0b40;border-color:#f59e0b66}.p-stat .p-num{color:#fff;font-size:1.25rem;font-weight:800}.p-stat .p-lbl{color:#ffffffd9;font-size:.72rem}.p-title-wrap h4{color:var(--text-primary);margin:0 0 .25rem;font-size:1.15rem;font-weight:700}.p-category-tag{color:var(--text-muted);font-size:.75rem}.p-badges-wrap{align-items:center;gap:.4rem;display:flex}.p-level-pill{border-radius:var(--radius-sm);text-transform:uppercase;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.p-level-pill.basic{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.p-level-pill.intermediate{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.p-level-pill.advanced{color:#7c3aed;background:#faf5ff;border:1px solid #ddd6fe}.p-band-pill{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);padding:.15rem .45rem;font-size:.72rem;font-weight:700}.p-formula-box{background:var(--bg-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:3px solid #0284c7;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .85rem;display:flex}.formula-code code{color:#0284c7;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;font-weight:600;line-height:1.4}.copy-formula-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:.25rem;transition:all .15s;display:flex}.copy-formula-btn:hover{color:var(--primary);transform:scale(1.1)}.p-meaning-row{color:var(--text-primary);font-size:.9rem;line-height:1.4}.p-meaning-row strong{color:#0284c7}.p-explanation-text{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.p-examples-section{border-top:1px dashed var(--border-color);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.examples-header-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.example-item-box{background:var(--bg-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:.2rem;padding:.5rem .7rem;display:flex}.ex-en-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.ex-en{color:var(--text-primary);font-size:.9rem;font-weight:600;line-height:1.4}.ex-vi{color:var(--text-muted);font-size:.8rem;line-height:1.35}.ex-audio-btn{color:#0284c7;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:.15rem;display:flex}.ex-audio-btn:hover{color:#0369a1;transform:scale(1.1)}.p-card-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:.75rem}.practice-this-btn{border-radius:var(--radius-md);color:#0369a1;cursor:pointer;background:#f0f9ff;border:1px solid #bae6fd;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.practice-this-btn:hover{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 4px 10px #0284c733}.tab-pane-workout{flex-direction:column;gap:1.5rem;display:flex}.quiz-header-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.quiz-mode-switch{align-items:center;gap:.5rem;display:flex}.mode-label{color:var(--text-secondary);font-size:.88rem;font-weight:600}.workout-cat-select{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-subtle);color:var(--text-primary);cursor:pointer;outline:none;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.quiz-scoreboard{align-items:center;gap:.75rem;display:flex}.streak-badge{color:#ea580c;border-radius:var(--radius-full);background:#fff7ed;border:1px solid #fed7aa;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.82rem;font-weight:700;display:inline-flex}.score-badge{color:#a16207;border-radius:var(--radius-full);background:#fefce8;border:1px solid #fef08a;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.82rem;font-weight:700;display:inline-flex}.restart-quiz-btn{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.restart-quiz-btn:hover{background:var(--bg-card);color:var(--text-primary)}.workout-drill-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;gap:1.5rem;width:100%;max-width:820px;margin:0 auto;padding:2rem;display:flex;box-shadow:0 10px 30px #0000000d}.drill-progress-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.drill-step-indicator{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.step-count{color:var(--text-primary);font-size:.85rem;font-weight:700}.drill-category-badge{color:#0369a1;border-radius:var(--radius-sm);text-transform:uppercase;background:#e0f2fe;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.pattern-sub-badge{color:var(--text-muted);background:var(--bg-subtle);border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.75rem}.live-combo-badge{color:#fff;border-radius:var(--radius-full);background:#ea580c;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:800;display:inline-flex}.drill-progress-track{background:var(--bg-subtle);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.drill-progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,#0284c7,#2563eb);height:100%;transition:width .3s}.drill-question-box{background:var(--bg-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:4px solid #0284c7;flex-direction:column;gap:.5rem;padding:1.15rem 1.25rem;display:flex}.question-prompt-line h4{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700;line-height:1.45}.drill-context-sentence{color:var(--text-secondary);font-size:.95rem;font-style:italic}.drill-hint-line{color:#0284c7;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.constructed-sentence-box{background:var(--bg-subtle);border-radius:var(--radius-lg);border:2px dashed #93c5fd;flex-direction:column;gap:.75rem;min-height:100px;padding:1.25rem;display:flex}.area-hint{color:var(--text-muted);font-size:.8rem;font-weight:600}.constructed-chips-row{flex-wrap:wrap;align-items:center;gap:.5rem;min-height:42px;display:flex}.empty-sentence-placeholder{color:var(--text-muted);font-size:.88rem;font-style:italic}.reset-chips-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;display:inline-flex}.reset-chips-btn:hover{color:#ef4444}.available-words-pool{flex-direction:column;gap:.5rem;display:flex}.pool-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.available-chips-row{flex-wrap:wrap;gap:.5rem;display:flex}.drill-options-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.drill-opt-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);text-align:left;cursor:pointer;align-items:center;gap:.85rem;width:100%;padding:.9rem 1.15rem;font-size:.95rem;transition:all .2s;display:flex}.drill-opt-btn:hover:not(:disabled){background:var(--bg-subtle);border-color:#0284c7}.drill-opt-btn.selected{background:#f0f9ff;border-color:#0284c7;font-weight:600}.drill-opt-btn.correct{color:#065f46;background:#ecfdf5;border-color:#10b981;font-weight:600}.drill-opt-btn.wrong{color:#991b1b;background:#fef2f2;border-color:#ef4444}.opt-key{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.78rem;font-weight:700;display:flex}.drill-opt-btn.selected .opt-key{color:#fff;background:#0284c7;border-color:#0284c7}.opt-text{flex:1}.opt-status-icon.correct{color:#10b981}.opt-status-icon.wrong{color:#ef4444}.drill-feedback-box{background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-direction:column;gap:.65rem;padding:1.15rem 1.25rem;display:flex}.feedback-status{font-size:.95rem;font-weight:700}.status-success{color:#059669}.status-error{color:#dc2626}.correct-sentence-callout{color:var(--text-primary);background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-color);align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.95rem;display:flex}.audio-inline-btn{color:#0284c7;cursor:pointer;background:0 0;border:none;align-items:center;padding:.2rem;display:flex}.audio-inline-btn:hover{color:#0369a1;transform:scale(1.1)}.feedback-example{color:var(--text-secondary);font-size:.85rem;line-height:1.45}.drill-card-footer{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:1.25rem;display:flex}.tab-pane-cheatsheet{flex-direction:column;gap:1.5rem;display:flex}.cheatsheet-intro{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);border-left:4px solid #7c3aed;padding:1.25rem 1.5rem}.cheatsheet-intro h3{color:var(--text-primary);margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.cheatsheet-intro p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.cs-card-header{flex-direction:column;gap:.35rem;display:flex}.cs-tag{color:#4338ca;border-radius:var(--radius-sm);text-transform:uppercase;background:#e0e7ff;align-self:flex-start;padding:.15rem .5rem;font-size:.72rem;font-weight:800}.cs-tag.highlight{color:#b45309;background:#fef3c7}.cs-card-header h4{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.cs-formulas-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.cs-formulas-list li{flex-direction:column;gap:.25rem;display:flex}.cs-formulas-list code{color:#0284c7;background:var(--bg-subtle);border-radius:var(--radius-sm);word-break:break-word;padding:.45rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;font-weight:600;line-height:1.4}.cs-formulas-list span{color:var(--text-muted);font-size:.82rem;line-height:1.4}.header-login-btn{color:#fff;border-radius:var(--radius-full);cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;align-items:center;gap:.45rem;padding:.45rem 1rem;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #2563eb40}.header-login-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 14px #2563eb59}.auth-modal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;width:100%;max-width:520px;max-height:92vh;padding:2.25rem;animation:.25s cubic-bezier(.16,1,.3,1) popIn;position:relative;overflow-y:auto;box-shadow:0 20px 50px #00000029}.auth-modal-close{background:var(--bg-subtle);cursor:pointer;width:34px;height:34px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.auth-modal-close:hover{background:var(--border-color);color:var(--text-primary);transform:rotate(90deg)}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-brand-badge{color:#2563eb;border-radius:var(--radius-full);letter-spacing:.05em;background:#eff6ff;border:1px solid #bfdbfe;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.25rem .75rem;font-size:.72rem;font-weight:800;display:inline-flex}.auth-header h2{color:var(--text-primary);margin:0 0 .35rem;font-size:1.45rem;font-weight:800}.auth-header p{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.88rem;line-height:1.45}.auth-tab-switch{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-full);gap:.25rem;padding:.25rem;display:flex}.auth-tab-btn{border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.auth-tab-btn.active{color:#2563eb;background:#fff;box-shadow:0 2px 6px #00000014}.auth-alert{border-radius:var(--radius-md);align-items:center;gap:.6rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.4;display:flex}.auth-alert.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.auth-alert.success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.auth-form{flex-direction:column;gap:1.15rem;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-field label{color:var(--text-primary);font-size:.82rem;font-weight:700}.field-label-row{justify-content:space-between;align-items:center;display:flex}.field-tip{color:var(--text-muted);font-size:.72rem}.auth-input-wrap{align-items:center;display:flex;position:relative}.field-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.9rem}.auth-input-wrap input{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-subtle);width:100%;color:var(--text-primary);outline:none;padding:.7rem 2.5rem .7rem 2.6rem;font-size:.92rem;transition:all .2s}.auth-input-wrap input:focus{background:var(--bg-card);border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.pwd-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;display:flex;position:absolute;right:.75rem}.pwd-toggle-btn:hover{color:var(--text-primary)}.auth-row-2col{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.auth-row-3col{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=540px){.auth-row-2col,.auth-row-3col{grid-template-columns:1fr}}.auth-select,.auth-date-input{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-subtle);width:100%;color:var(--text-primary);outline:none;padding:.65rem .85rem;font-size:.88rem}.auth-select:focus,.auth-date-input:focus{border-color:#2563eb}.avatar-selection-grid{grid-template-columns:repeat(6,1fr);gap:.4rem;display:grid}.avatar-choice-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-subtle);cursor:pointer;justify-content:center;align-items:center;padding:.45rem .2rem;font-size:1.35rem;transition:all .15s;display:flex}.avatar-choice-btn:hover{background:var(--bg-card);transform:scale(1.1)}.avatar-choice-btn.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.auth-submit-btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8rem 1.25rem;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex}.auth-submit-btn.primary{color:#fff;background:#2563eb;box-shadow:0 4px 12px #2563eb40}.auth-submit-btn.primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.auth-submit-btn.register{color:#fff;background:#16a34a;box-shadow:0 4px 12px #16a34a40}.auth-submit-btn.register:hover:not(:disabled){background:#15803d;transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-demo-section{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.demo-divider{text-align:center;color:var(--text-muted);align-items:center;font-size:.75rem;display:flex}.demo-divider:before,.demo-divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.demo-divider span{padding:0 .5rem}.demo-users-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.demo-user-chip{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-subtle);cursor:pointer;text-align:left;align-items:center;gap:.55rem;padding:.6rem .75rem;transition:all .2s;display:flex}.demo-user-chip:hover:not(:disabled){background:#eff6ff;border-color:#2563eb;transform:translateY(-1px)}.demo-avatar{font-size:1.4rem}.demo-info{flex-direction:column;display:flex;overflow:hidden}.demo-info strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.demo-info span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.auth-admin-toggle-row{text-align:center;margin-top:.75rem}.auth-admin-trigger-link{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.75rem;transition:all .2s;display:inline-flex}.auth-admin-trigger-link:hover{color:#2563eb;background:var(--bg-subtle);text-decoration:underline}.auth-footer-prompt{color:var(--text-secondary);border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:.4rem;padding-top:1rem;font-size:.85rem;display:flex}.link-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:700}.link-btn:hover{text-decoration:underline}.profile-modal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:24px;width:100%;max-width:840px;max-height:90vh;padding:2rem;animation:.25s cubic-bezier(.16,1,.3,1) popIn;position:relative;overflow-y:auto;box-shadow:0 25px 60px #0003}.profile-modal-close{cursor:pointer;color:#fff;z-index:10;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.profile-modal-close:hover{background:#ffffff59;transform:rotate(90deg)}.profile-hero-banner{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 50%,#4338ca 100%);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.85rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px #2563eb40}.profile-identity{align-items:center;gap:1.25rem;display:flex}.profile-avatar-large{background:#fff3;border:3px solid #ffffff80;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:2.4rem;display:flex;position:relative}.profile-level-badge{color:#fff;border-radius:var(--radius-full);background:#f59e0b;border:2px solid #fff;padding:.1rem .45rem;font-size:.68rem;font-weight:800;position:absolute;bottom:-4px;right:-4px}.profile-text-info{flex-direction:column;gap:.25rem;display:flex}.profile-name-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.profile-name-row h3{color:#fff;margin:0;font-size:1.35rem;font-weight:800}.profile-rank-chip{border-radius:var(--radius-full);background:#fff3;border:1px solid #ffffff59;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.profile-email-text{opacity:.85;margin:0 0 .4rem;font-size:.85rem}.profile-target-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.p-target-pill,.p-exam-pill{border-radius:var(--radius-full);background:#ffffff26;border:1px solid #ffffff40;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;display:inline-flex}.profile-hero-actions{align-items:center;gap:.65rem;display:flex}.btn-profile-action{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.5rem .95rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-profile-action.secondary{color:#fff;background:#fff3;border:1px solid #ffffff4d}.btn-profile-action.secondary:hover{background:#ffffff4d}.btn-profile-action.logout{color:#fee2e2;background:#ef44444d;border:1px solid #ef444466}.btn-profile-action.logout:hover{color:#fff;background:#ef444480}.profile-nav-tabs{border-bottom:2px solid var(--border-color);gap:.5rem;margin-bottom:1.5rem;display:flex}.profile-tab-item{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;border:none;align-items:center;gap:.45rem;padding:.65rem 1.15rem;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex;position:relative}.profile-tab-item:hover{color:var(--text-primary);background:var(--bg-subtle)}.profile-tab-item.active{color:#2563eb;background:var(--bg-subtle)}.profile-tab-item.active:after{content:"";background:#2563eb;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-2px;left:0;right:0}.profile-dashboard-content{flex-direction:column;gap:1.5rem;display:flex}.profile-kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=768px){.profile-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.profile-kpi-grid{grid-template-columns:1fr}}.kpi-metric-card{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:.65rem;padding:1.25rem;transition:all .2s;display:flex}.kpi-metric-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000d}.kpi-icon-wrap{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kpi-metric-card.streak .kpi-icon-wrap{color:#ea580c;background:#fff7ed}.kpi-metric-card.xp .kpi-icon-wrap{color:#ca8a04;background:#fefce8}.kpi-metric-card.tests .kpi-icon-wrap{color:#2563eb;background:#eff6ff}.kpi-metric-card.vocab .kpi-icon-wrap{color:#7c3aed;background:#faf5ff}.kpi-body{flex-direction:column;gap:.25rem;display:flex}.kpi-num{color:var(--text-primary);font-size:1.25rem;font-weight:800}.kpi-lbl{color:var(--text-muted);font-size:.75rem;line-height:1.35}.kpi-progress-bar{background:var(--border-color);border-radius:var(--radius-full);width:100%;height:6px;margin:.25rem 0;overflow:hidden}.kpi-progress-fill{border-radius:var(--radius-full);background:#ca8a04;height:100%;transition:width .3s}.profile-section-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:1rem;padding:1.35rem 1.5rem;display:flex}.section-card-header{flex-direction:column;gap:.2rem;display:flex}.section-card-header h4{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.section-sub-tip{color:var(--text-muted);font-size:.78rem}.week-streak-grid{grid-template-columns:repeat(7,1fr);gap:.65rem;display:grid}.week-day-box{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .5rem;display:flex}.week-day-box.completed{color:#16a34a;background:#f0fdf4;border-color:#86efac}.day-name{text-transform:uppercase;font-size:.72rem;font-weight:700}.day-status-indicator{justify-content:center;align-items:center;height:24px;font-size:1rem;font-weight:800;display:flex}.day-date{color:var(--text-muted);font-size:.68rem}.recent-tests-table-wrap{overflow-x:auto}.recent-tests-table{border-collapse:collapse;width:100%;font-size:.88rem}.recent-tests-table th{text-align:left;background:var(--bg-subtle);color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-color);padding:.65rem .85rem;font-size:.78rem;font-weight:700}.recent-tests-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:.75rem .85rem}.skill-tag-pill{border-radius:var(--radius-sm);text-transform:uppercase;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.skill-tag-pill.listening{color:#2563eb;background:#eff6ff}.skill-tag-pill.reading{color:#db2777;background:#fdf2f8}.band-score-badge{color:#16a34a;border-radius:var(--radius-sm);background:#f0fdf4;padding:.2rem .5rem;font-weight:800}.empty-profile-tests{text-align:center;color:var(--text-muted);padding:1.5rem;font-size:.9rem}.profile-edit-pane,.profile-security-pane{flex-direction:column;gap:1.25rem;display:flex}.security-intro-box{background:var(--bg-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:4px solid #2563eb;align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem;display:flex}.security-icon{color:#2563eb;flex-shrink:0;margin-top:.2rem}.security-intro-box h4{margin:0 0 .25rem;font-size:1rem;font-weight:700}.security-intro-box p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.45}.profile-form-footer{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:1.25rem;display:flex}.nav-btn.admin-action-btn{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:1px solid #fff3;font-weight:700;animation:3s ease-in-out infinite adminPulse;box-shadow:0 2px 10px #6366f159;color:#fff!important}.nav-btn.admin-action-btn:hover{background:linear-gradient(135deg,#4338ca 0%,#6d28d9 100%);transform:translateY(-1px);box-shadow:0 4px 14px #6366f180}@keyframes adminPulse{0%,to{box-shadow:0 2px 10px #6366f159}50%{box-shadow:0 2px 18px #7c3aed99}}.demo-user-chip.admin-demo-chip{background:linear-gradient(135deg,#6366f114 0%,#8b5cf61f 100%);border-color:#818cf8}.demo-user-chip.admin-demo-chip:hover{background:#6366f126;border-color:#6366f1}.demo-user-chip.admin-demo-chip strong{color:#4f46e5}.profile-role-badge.admin{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:12px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #4f46e54d}.admin-modal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;width:95%;max-width:1080px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000038}.admin-modal-header{color:#fff;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.admin-header-title{align-items:center;gap:1rem;display:flex}.admin-shield-icon{color:#a5b4fc;background:#ffffff26;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.admin-badge-top{letter-spacing:.08em;color:#c7d2fe;text-transform:uppercase;margin-bottom:.2rem;font-size:.72rem;font-weight:800}.admin-header-title h2{color:#fff;margin:0;font-size:1.35rem;font-weight:800}.admin-modal-close{color:#e0e7ff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.admin-modal-close:hover{color:#fff;background:#ffffff40;transform:rotate(90deg)}.admin-tabs-bar{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);align-items:center;gap:.35rem;padding:.75rem 1.75rem;display:flex;overflow-x:auto}.admin-tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.admin-tab-btn:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-color)}.admin-tab-btn.active{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 2px 8px #4f46e540}.admin-alert{align-items:center;gap:.65rem;padding:.85rem 1.75rem;font-size:.9rem;font-weight:600;display:flex}.admin-alert.success{color:#166534;background:#f0fdf4;border-bottom:1px solid #bbf7d0}.admin-alert.error{color:#991b1b;background:#fef2f2;border-bottom:1px solid #fecaca}.admin-modal-body{flex:1;padding:1.75rem;overflow-y:auto}.admin-tab-content{flex-direction:column;gap:1.5rem;display:flex}.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:1rem;padding:1.15rem 1.25rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #0000000a}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.kpi-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kpi-card.accent-blue .kpi-icon-wrap{color:#2563eb;background:#eff6ff}.kpi-card.accent-purple .kpi-icon-wrap{color:#7c3aed;background:#faf5ff}.kpi-card.accent-sky .kpi-icon-wrap{color:#0284c7;background:#f0f9ff}.kpi-card.accent-amber .kpi-icon-wrap{color:#d97706;background:#fffbeb}.kpi-card.accent-emerald .kpi-icon-wrap{color:#059669;background:#ecfdf5}.kpi-card.accent-rose .kpi-icon-wrap{color:#e11d48;background:#fff1f2}.kpi-text{flex-direction:column;display:flex}.kpi-value{color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1.1}.kpi-label{color:var(--text-muted);margin-top:.2rem;font-size:.78rem;font-weight:600}.admin-section-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem}.section-box-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.section-box-header h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.section-box-header p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.85rem}.admin-btn-outline{border:1px solid var(--border-color);background:var(--bg-subtle);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.admin-btn-outline:hover{color:#4f46e5;border-color:#4f46e5}.admin-table-wrap{border:1px solid var(--border-color);border-radius:10px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table th{text-align:left;background:var(--bg-subtle);color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.75rem 1rem;font-size:.78rem;font-weight:700}.admin-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:.85rem 1rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr.row-admin{background:#4f46e50a}.user-td-cell{align-items:center;gap:.65rem;display:flex}.user-td-avatar{font-size:1.3rem;line-height:1}.badge-role{border-radius:6px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-role.admin{color:#6d28d9;background:#ede9fe}.badge-role.student{color:#0369a1;background:#e0f2fe}.skill-tag{border-radius:6px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.skill-tag.listening{color:#1e40af;background:#dbeafe}.skill-tag.reading{color:#9d174d;background:#fce7f3}.test-src-label{color:var(--text-muted);font-size:.78rem}.btn-admin-del{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-admin-del:hover{background:#fee2e2;border-color:#ef4444}.admin-actions-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-search-input{border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;align-items:center;gap:.5rem;min-width:300px;padding:.55rem .95rem;display:flex}.admin-search-input input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.88rem}.admin-btn-primary{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.88rem;font-weight:700;transition:all .15s;display:inline-flex}.admin-btn-primary:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e559}.admin-btn-primary.large{padding:.85rem 2rem;font-size:.95rem}.admin-btn-primary:disabled{opacity:.6;cursor:not-allowed}.admin-form-intro{margin-bottom:.5rem}.admin-form-intro h3{color:var(--text-primary);margin:0;font-size:1.2rem;font-weight:800}.admin-form-intro p{color:var(--text-secondary);margin:.35rem 0 0;font-size:.88rem}.admin-card-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.form-grid-2col{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-grid-3col{grid-template-columns:1fr 1fr 1fr;gap:1.25rem;display:grid}@media (width<=768px){.form-grid-2col,.form-grid-3col{grid-template-columns:1fr}}.admin-field{flex-direction:column;gap:.45rem;display:flex}.admin-field label{color:var(--text-primary);font-size:.85rem;font-weight:700}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--border-color);background:var(--bg-subtle);color:var(--text-primary);border-radius:8px;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{background:var(--bg-card);border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51f}.admin-field textarea{resize:vertical}.admin-form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;padding-top:.75rem;display:flex}.btn-profile-action.admin-hub-action{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none}.btn-profile-action.admin-hub-action:hover{background:linear-gradient(135deg,#4338ca 0%,#6d28d9 100%);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e559}.landing-page-root{background:var(--bg-main);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex;overflow-x:hidden}.landing-container{width:100%;max-width:1240px;margin:0 auto;padding:0 1.5rem}.landing-container.max-w-3xl{max-width:860px}.landing-hero-section{background:radial-gradient(circle at 50% 20%,#2563eb14 0%,#0000 70%);padding:4.5rem 0 5rem;position:relative;overflow:hidden}.hero-glow-sphere{filter:blur(85px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.hero-glow-sphere.sphere-1{background:radial-gradient(circle,#3b82f638 0%,#2563eb0d 70%,#0000 100%);width:520px;height:520px;animation:14s ease-in-out infinite alternate floatOrb1;top:-100px;left:-80px}.hero-glow-sphere.sphere-2{background:radial-gradient(circle,#7c3aed33 0%,#9333ea0a 70%,#0000 100%);width:460px;height:460px;animation:16s ease-in-out infinite alternate floatOrb2;bottom:-40px;right:-60px}@keyframes floatOrb1{0%{transform:translate(0)scale(1)}50%{transform:translate(35px,25px)scale(1.1)}to{transform:translate(-20px,40px)scale(.95)}}@keyframes floatOrb2{0%{transform:translate(0)scale(1)}50%{transform:translate(-30px,-20px)scale(1.08)}to{transform:translate(25px,-35px)scale(.92)}}.hero-layout-grid{z-index:1;grid-template-columns:1.15fr .95fr;align-items:center;gap:3.5rem;display:grid;position:relative}.hero-pill-badge{color:#2563eb;letter-spacing:.04em;background:linear-gradient(135deg,#2563eb1f 0%,#7c3aed1f 100%);border:1px solid #3b82f64d;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.35rem .9rem;font-size:.76rem;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #2563eb1a}.hero-pill-badge .sparkle-icon{color:#f59e0b}.hero-main-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;margin:0 0 1.25rem;font-size:2.85rem;font-weight:850;line-height:1.18}.gradient-highlight-text{background:linear-gradient(135deg,#2563eb 0%,#7c3aed 50%,#06b6d4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-sub-description{color:var(--text-secondary);max-width:580px;margin:0 0 2rem;font-size:1.05rem;line-height:1.65}.hero-sub-description strong{color:var(--text-primary);font-weight:700}.hero-cta-group{flex-wrap:wrap;gap:.85rem;margin-bottom:2.5rem;display:flex}.landing-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1.45rem;font-family:inherit;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .22s cubic-bezier(.4,0,.2,1);display:inline-flex}.landing-btn.lg{border-radius:14px;padding:1rem 1.85rem;font-size:1.02rem}.landing-btn.btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 4px 14px #2563eb59}.landing-btn.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-2px);box-shadow:0 6px 20px #2563eb73}.landing-btn.btn-primary.pulse-btn{position:relative;overflow:hidden}.landing-btn.btn-primary.pulse-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:100%;animation:3.5s infinite shine-sweep;position:absolute;top:0;left:-100%}@keyframes shine-sweep{0%{left:-100%}25%{left:100%}to{left:100%}}.landing-btn.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 2px 6px #0000000d}.landing-btn.btn-secondary:hover{background:var(--bg-subtle);color:#2563eb;border-color:#2563eb;transform:translateY(-2px)}.landing-btn.btn-outline{color:var(--text-secondary);border:1px dashed var(--border-color);background:0 0}.landing-btn.btn-outline:hover{background:var(--bg-subtle);border-color:var(--text-primary);color:var(--text-primary)}.landing-btn.btn-streak{color:#fff;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);box-shadow:0 4px 14px #ea580c4d}.landing-btn.btn-streak:hover{transform:translateY(-2px);box-shadow:0 6px 18px #ea580c6b}.hero-kpi-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;align-items:center;gap:1.5rem;padding:1.25rem 1.6rem;display:flex;box-shadow:0 4px 18px #0000000a}.kpi-unit{flex-direction:column;display:flex}.kpi-unit-num{font-family:var(--font-heading);color:#2563eb;font-size:1.45rem;font-weight:800}.kpi-unit-num.text-success{color:#10b981}.kpi-unit-lbl{color:var(--text-muted);font-size:.75rem;font-weight:600}.kpi-divider{background:var(--border-color);width:1px;height:32px}.hero-visual-card{position:relative}.visual-card-glass{background:var(--bg-card);border:1px solid #fff3;border-radius:22px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s;position:relative;overflow:hidden;box-shadow:0 25px 60px -15px #2563eb33,0 0 0 1px #2563eb14}.visual-card-glass:hover{transform:translateY(-6px);box-shadow:0 30px 70px -15px #2563eb4d,0 0 0 1px #2563eb38}.cbt-mock-header{color:#f8fafc;background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:.75rem 1.15rem;display:flex}.mock-window-dots{gap:.35rem;display:flex}.mock-window-dots span{background:#475569;border-radius:50%;width:10px;height:10px}.mock-window-dots span:first-child{background:#ef4444}.mock-window-dots span:nth-child(2){background:#f59e0b}.mock-window-dots span:nth-child(3){background:#10b981}.mock-exam-tag{color:#94a3b8;align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.mock-timer-chip{color:#fca5a5;background:#ef444433;border:1px solid #ef444466;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:flex}.mock-split-preview{background:var(--bg-card);grid-template-columns:1fr 1fr;min-height:290px;display:grid}.mock-left-pane{border-right:2px solid var(--border-color);background:var(--bg-subtle);padding:1.15rem;position:relative}.mock-right-pane{padding:1.15rem;position:relative}.mock-pane-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.4rem;margin-bottom:.65rem;font-size:.75rem;font-weight:800;display:flex}.mock-text-snippet{color:var(--text-primary);margin-bottom:.85rem;font-size:.82rem;line-height:1.55}.mock-interactive-word{color:#854d0e;background:#fef08a;border-bottom:2px solid #ca8a04;border-radius:4px;padding:.1rem .35rem;font-weight:700}.mock-dict-tooltip{background:#fff;border:1px solid #bfdbfe;border-radius:10px;flex-direction:column;gap:.2rem;padding:.65rem .85rem;animation:3s infinite bounce-subtle;display:flex;box-shadow:0 8px 20px #2563eb26}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mock-dict-tooltip .tt-word{color:#1e40af;font-size:.84rem;font-weight:800}.mock-dict-tooltip .tt-ipa{color:#64748b;font-family:monospace;font-size:.7rem}.mock-dict-tooltip .tt-def{color:#1e293b;font-size:.74rem;font-weight:600}.mock-dict-tooltip .tt-save{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:6px;margin-top:.3rem;padding:.25rem .5rem;font-size:.68rem;font-weight:700}.mock-q-card{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:10px;margin-bottom:.85rem;padding:.85rem}.mock-q-title{color:var(--text-primary);margin-bottom:.65rem;font-size:.8rem;font-weight:700;line-height:1.4;display:block}.mock-radios{flex-direction:column;gap:.35rem;display:flex}.mock-radio{color:var(--text-secondary);border:1px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .55rem;font-size:.75rem;display:flex}.mock-radio.checked{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-weight:600}.mock-radio .dot-active{background:#2563eb;border-radius:50%;width:10px;height:10px}.mock-score-pill-floating{color:#f9fafb;background:#111827;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.6rem;padding:.6rem .9rem;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 8px 24px #00000040}.mock-score-pill-floating strong{color:#fbbf24;font-size:.92rem;display:block}.mock-score-pill-floating span{color:#9ca3af;font-size:.68rem}.trophy-gold{color:#fbbf24}.cbt-mock-footer{background:var(--bg-subtle);border-top:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem;padding:.75rem 1.15rem;display:flex}.pill-feat{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:9999px;padding:.25rem .65rem;font-size:.72rem;font-weight:700}.landing-section{padding:5.5rem 0;position:relative}.landing-section.bg-section-subtle{background:var(--bg-subtle);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.section-head-center{text-align:center;max-width:760px;margin:0 auto 3.5rem}.section-eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem;font-size:.75rem;font-weight:800;display:inline-block}.section-heading{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.015em;margin:0 0 1rem;font-size:2.25rem;font-weight:850;line-height:1.25}.section-subtext{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.65}.pillars-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.pillar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;padding:1.85rem 1.55rem;transition:all .28s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;box-shadow:0 4px 18px #0000000a}.pillar-card:hover{border-color:#93c5fd;transform:translateY(-6px);box-shadow:0 16px 36px -10px #2563eb29}.pillar-card:hover .pillar-icon-wrap{transform:scale(1.1)rotate(3deg)}.pillar-card.highlight-card{border-color:#7c3aed;box-shadow:0 8px 24px #7c3aed1f}.pillar-card.highlight-card:hover{box-shadow:0 16px 36px -8px #7c3aed40}.pillar-badge-popular{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);border-radius:9999px;padding:.2rem .6rem;font-size:.68rem;font-weight:800;position:absolute;top:-11px;right:18px;box-shadow:0 2px 6px #7c3aed4d}.pillar-icon-wrap{border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:1.25rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex}.icon-blue{color:#2563eb;background:#eff6ff}.icon-purple{color:#7c3aed;background:#f5f3ff}.icon-emerald{color:#059669;background:#ecfdf5}.icon-amber{color:#d97706;background:#fffbeb}.pillar-card h3{color:var(--text-primary);margin:0 0 .75rem;font-size:1.15rem;font-weight:800;line-height:1.35}.pillar-card p{color:var(--text-secondary);flex:1;margin:0 0 1.25rem;font-size:.88rem;line-height:1.55}.pillar-checklist{border-top:1px solid var(--border-color);flex-direction:column;gap:.5rem;margin:0;padding:1rem 0 0;list-style:none;display:flex}.pillar-checklist li{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;display:flex}.pillar-checklist li svg{color:#10b981;flex-shrink:0}.guide-stepper-tabs{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.stepper-tab-btn{border:1px solid var(--border-color);background:var(--bg-card);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:.85rem;padding:1.1rem 1.25rem;font-family:inherit;transition:all .2s;display:flex}.stepper-tab-btn:hover{background:var(--bg-subtle);border-color:#93c5fd}.stepper-tab-btn.active{background:#fff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 8px 24px #2563eb26}.step-num-circle{background:var(--bg-subtle);width:36px;height:36px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex}.stepper-tab-btn.active .step-num-circle{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)}.step-btn-info{flex-direction:column;display:flex;overflow:hidden}.step-btn-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.stepper-tab-btn.active .step-btn-tag{color:#2563eb}.step-btn-info strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:750;overflow:hidden}.guide-showcase-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;padding:3rem;display:grid;box-shadow:0 10px 30px #0000000d}.guide-badge-pill{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;margin-bottom:.85rem;padding:.25rem .75rem;font-size:.74rem;font-weight:800;display:inline-block}.showcase-left-pane h3{font-family:var(--font-heading);color:var(--text-primary);margin:0 0 1rem;font-size:1.75rem;font-weight:800}.showcase-desc{color:var(--text-secondary);margin:0 0 1.75rem;font-size:.95rem;line-height:1.65}.showcase-features-list{flex-direction:column;gap:.85rem;margin-bottom:2rem;display:flex}.showcase-item{color:var(--text-primary);align-items:center;gap:.65rem;font-size:.9rem;font-weight:600;display:flex}.showcase-item .check-icon{color:#10b981;flex-shrink:0}.showcase-action-row{align-items:center;gap:1rem;display:flex}.btn-next-step{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.86rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-next-step:hover{color:#2563eb;background:var(--bg-subtle)}.preview-label-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem;font-size:.75rem;font-weight:700}.guide-mockup-inner{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #0000000f}.mockup-header-bar{color:#94a3b8;background:#1e293b;align-items:center;gap:.45rem;padding:.65rem 1rem;font-size:.74rem;font-weight:700;display:flex}.mockup-header-bar .dot{border-radius:50%;width:9px;height:9px}.mockup-header-bar .dot.red{background:#ef4444}.mockup-header-bar .dot.yellow{background:#f59e0b}.mockup-header-bar .dot.green{background:#10b981}.mockup-title-text{flex:1;margin-left:.35rem}.mockup-timer-badge{color:#fff;background:#ef4444;border-radius:4px;padding:.15rem .45rem;font-size:.68rem}.mockup-body-box{padding:1.5rem}.mockup-user-card{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.mockup-avatar{font-size:2.2rem}.mockup-user-card h4{color:var(--text-primary);margin:0 0 .25rem;font-size:1.05rem}.mockup-user-card p{color:var(--text-secondary);margin:0;font-size:.82rem}.mockup-stats-row{gap:.75rem;display:flex}.m-stat-pill{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.45rem .85rem;font-size:.78rem;font-weight:700}.mockup-vocab-popup{padding:1.5rem}.m-vocab-head{align-items:baseline;gap:.65rem;margin-bottom:.65rem;display:flex}.m-v-word{color:#2563eb;font-size:1.25rem;font-weight:800}.m-v-ipa{color:var(--text-muted);font-family:monospace;font-size:.82rem}.m-v-pos{background:var(--bg-card);border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-style:italic}.m-v-vi{color:var(--text-primary);margin:0 0 .65rem;font-size:.88rem;font-weight:600}.m-v-ctx{color:var(--text-secondary);background:var(--bg-card);border-left:3px solid #2563eb;border-radius:8px;margin-bottom:1rem;padding:.65rem .85rem;font-size:.78rem;line-height:1.45}.m-save-btn{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;width:100%;padding:.65rem;font-size:.82rem;font-weight:750}.mockup-score-banner{color:#fff;background:#111827;align-items:center;gap:1.25rem;padding:1.25rem;display:flex}.m-score-circle{background:#1f2937;border:3px solid #fbbf24;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.m-band-val{color:#fbbf24;font-size:1.35rem;font-weight:850;line-height:1}.m-band-lbl{text-transform:uppercase;color:#9ca3af;font-size:.55rem}.m-score-meta strong{margin-bottom:.25rem;font-size:.95rem;display:block}.m-score-meta p{color:#9ca3af;margin:0;font-size:.76rem}.mockup-expl-box{padding:1.25rem}.m-expl-tag{color:#2563eb;margin-bottom:.35rem;font-size:.72rem;font-weight:800;display:block}.m-expl-quote{color:var(--text-primary);margin:0 0 .65rem;font-size:.82rem;font-style:italic}.m-expl-paraphrase{color:#059669;background:#ecfdf5;border-radius:6px;padding:.45rem .75rem;font-size:.76rem;font-weight:700;display:block}.social-cards-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem;display:grid}.social-channel-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;transition:all .28s cubic-bezier(.34,1.56,.64,1);display:flex;overflow:hidden;box-shadow:0 6px 20px #0000000a}.social-channel-card:hover{border-color:#2563eb59;transform:translateY(-6px);box-shadow:0 18px 36px -8px #0000001f}.social-channel-card:hover .social-icon-circle{transform:scale(1.1)rotate(4deg)}.social-badge-top{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.74rem;font-weight:750;display:flex}.status-pill.upcoming{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:9999px;padding:.15rem .55rem;font-size:.65rem;font-weight:800}.social-card-body{flex-direction:column;flex:1;padding:1.75rem;display:flex}.social-icon-circle{color:#fff;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:1.15rem;font-size:1.6rem;font-weight:900;display:flex}.icon-yt{background:#ef4444}.icon-tt{background:#111827}.icon-fb{background:#1877f2}.social-card-body h3{color:var(--text-primary);margin:0 0 .65rem;font-size:1.2rem;font-weight:800}.social-card-body p{color:var(--text-secondary);flex:1;margin:0 0 1.35rem;font-size:.88rem;line-height:1.55}.social-content-preview{background:var(--bg-subtle);border-radius:12px;flex-direction:column;gap:.55rem;margin-bottom:1.5rem;padding:.9rem;display:flex}.content-bullet{color:var(--text-primary);align-items:center;gap:.55rem;font-size:.78rem;font-weight:600;display:flex}.bullet-dot{background:#2563eb;border-radius:50%;flex-shrink:0;width:6px;height:6px}.social-action-btn.disabled{background:var(--bg-subtle);border:1px dashed var(--border-color);color:var(--text-muted);cursor:not-allowed;border-radius:10px;justify-content:center;align-items:center;padding:.75rem;font-size:.82rem;font-weight:700;display:flex}.modules-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.module-feature-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:18px;flex-direction:column;padding:1.85rem 1.55rem;transition:all .28s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 18px #0000000a}.module-feature-card:before{content:"";background:0 0;height:3px;transition:all .28s;position:absolute;top:0;left:0;right:0}.module-feature-card:hover{border-color:#2563eb73;transform:translateY(-6px);box-shadow:0 16px 36px -10px #2563eb33}.module-feature-card:hover:before{background:linear-gradient(90deg,#2563eb,#7c3aed,#06b6d4)}.module-feature-card:hover .mod-icon-box{transform:scale(1.1)rotate(3deg)}.mod-icon-box{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.mod-card-top{justify-content:space-between;align-items:center;margin-bottom:1.15rem;display:flex}.mod-icon-box{border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.mod-icon-box.blue{color:#2563eb;background:#eff6ff}.mod-icon-box.purple{color:#7c3aed;background:#f5f3ff}.mod-icon-box.cyan{color:#0891b2;background:#ecfeff}.mod-icon-box.amber{color:#d97706;background:#fffbeb}.mod-badge{color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:9999px;padding:.2rem .55rem;font-size:.7rem;font-weight:800}.module-feature-card h3{color:var(--text-primary);margin:0 0 .65rem;font-size:1.12rem;font-weight:800}.module-feature-card p{color:var(--text-secondary);flex:1;margin:0 0 1.25rem;font-size:.85rem;line-height:1.55}.mod-footer-link{color:#2563eb;align-items:center;gap:.4rem;font-size:.82rem;font-weight:750;display:flex}.faq-accordion-list{flex-direction:column;gap:1rem;display:flex}.faq-item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;transition:all .2s;overflow:hidden}.faq-item-card.open{border-color:#93c5fd;box-shadow:0 4px 16px #2563eb14}.faq-question-btn{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;font-family:inherit;display:flex}.faq-q-text{color:var(--text-primary);font-size:1.02rem;font-weight:750}.faq-toggle-icon{color:#2563eb;flex-shrink:0}.faq-answer-body{border-top:1px solid var(--border-color);padding:1rem 1.5rem 1.35rem}.faq-answer-body p{color:var(--text-secondary);margin:0;font-size:.92rem;line-height:1.65}.landing-final-cta{padding:5rem 0}.final-cta-card{color:#fff;text-align:center;background:linear-gradient(135deg,#1e3a8a 0%,#1e1b4b 100%);border-radius:24px;padding:4rem 3rem;position:relative;overflow:hidden;box-shadow:0 20px 48px #1e3a8a4d}.cta-glow-bg{filter:blur(60px);pointer-events:none;background:radial-gradient(circle,#3b82f673 0%,#0000 70%);width:600px;height:300px;position:absolute;top:-50%;left:50%;transform:translate(-50%)}.cta-badge{color:#bfdbfe;letter-spacing:.06em;background:#ffffff26;border:1px solid #ffffff4d;border-radius:9999px;margin-bottom:1.25rem;padding:.3rem .85rem;font-size:.75rem;font-weight:800;display:inline-block}.final-cta-card h2{font-family:var(--font-heading);margin:0 0 1rem;font-size:2.4rem;font-weight:850}.final-cta-card p{color:#cbd5e1;max-width:640px;margin:0 auto 2.25rem;font-size:1.05rem;line-height:1.65}.cta-btn-group{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.landing-footer{color:#94a3b8;background:#0f172a;border-top:1px solid #1e293b;padding:4.5rem 0 3rem}.footer-layout{grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:3rem;display:grid}.brand-logo-footer{align-items:center;gap:.65rem;margin-bottom:1.15rem;display:inline-flex}.brand-logo-footer .logo-badge{color:#fff;background:#2563eb;border-radius:8px;padding:.35rem .65rem;font-size:1.1rem;font-weight:900}.brand-logo-footer .brand-title{font-family:var(--font-heading);color:#f8fafc;font-size:1.15rem;font-weight:850;display:block}.brand-logo-footer .brand-sub{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;display:block}.footer-about-text{color:#94a3b8;max-width:380px;margin:0 0 1.5rem;font-size:.86rem;line-height:1.6}.footer-copyright{color:#64748b;font-size:.76rem}.footer-nav-col h4{color:#f1f5f9;text-transform:uppercase;letter-spacing:.04em;margin:0 0 1.25rem;font-size:.92rem;font-weight:800}.footer-nav-col ul{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.footer-nav-col li button{color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem;transition:color .2s}.footer-nav-col li button:hover{color:#38bdf8}.footer-status-link{color:#64748b;font-size:.82rem;font-weight:600}@media (width<=1024px){.hero-layout-grid{grid-template-columns:1fr;gap:3rem}.pillars-grid,.modules-grid{grid-template-columns:repeat(2,1fr)}.guide-showcase-card{grid-template-columns:1fr}.guide-stepper-tabs{grid-template-columns:repeat(2,1fr)}.social-cards-grid{grid-template-columns:1fr}.footer-layout{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.landing-hero-section{padding:3rem 0}.hero-main-title{font-size:2.1rem}.hero-kpi-bar{flex-direction:column;align-items:flex-start;gap:.75rem}.kpi-divider{display:none}.pillars-grid,.modules-grid,.guide-stepper-tabs{grid-template-columns:1fr}.guide-showcase-card{padding:1.5rem}.final-cta-card{padding:2.5rem 1.5rem}.final-cta-card h2{font-size:1.85rem}.footer-layout,.mock-split-preview{grid-template-columns:1fr}.mock-left-pane{border-right:none;border-bottom:2px solid var(--border-color)}}.grammar-hub-container,.grammar-lesson-container{box-sizing:border-box;width:100%;max-width:1240px;margin:0 auto;padding:1.75rem 1.25rem 3.5rem;animation:.25s ease-out fadeIn}.grammar-hero-card{color:#0f172a;background:radial-gradient(circle at 15% 15%,#e0f2fed9 0%,#0000 55%),radial-gradient(circle at 85% 20%,#fef3c7bf 0%,#0000 50%),radial-gradient(circle at 75% 85%,#f3e8ffbf 0%,#0000 55%),linear-gradient(135deg,#f8fbff 0%,#f0fdf4 50%,#faf5ff 100%);border-radius:24px;grid-template-columns:1fr 340px;gap:2rem;margin-bottom:2rem;padding:2.25rem 2.5rem;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 40px -12px #bae6fd59,0 0 0 1px #e2e8f0d9}.grammar-badge-pill{color:#0f766e;background:#0d94881a;border:1px solid #0d948840;border-radius:9999px;align-items:center;gap:.45rem;margin-bottom:1rem;padding:.35rem .85rem;font-size:.82rem;font-weight:750;display:inline-flex}.grammar-hero-title{letter-spacing:-.025em;color:#0f172a;margin-bottom:.85rem;font-size:2.25rem;font-weight:900;line-height:1.25}.grammar-hero-title .highlight-text{background:linear-gradient(135deg,#0284c7,#0d9488);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.grammar-hero-desc{color:#475569;max-width:620px;margin-bottom:1.5rem;font-size:1rem;line-height:1.65}.grammar-metrics-row{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.metric-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #e2e8f0e6;border-radius:12px;flex-direction:column;padding:.5rem 1rem;display:flex;box-shadow:0 4px 12px #0f172a08}.metric-num{color:#0284c7;font-size:1.15rem;font-weight:850}.metric-lbl{color:#64748b;font-size:.75rem;font-weight:600}.grammar-progress-box{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1.5px solid #e2e8f0f2;border-radius:20px;flex-direction:column;justify-content:center;padding:1.5rem;display:flex;box-shadow:0 12px 32px -8px #0f172a0f}.progress-box-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.box-title-group{color:#0f172a;align-items:center;gap:.5rem;display:flex}.icon-award{color:#0284c7}.box-title{font-size:.95rem;font-weight:750}.progress-percentage{color:#0284c7;font-size:1.25rem;font-weight:900}.grammar-progress-bar-bg{background:#f1f5f9;border-radius:9999px;width:100%;height:8px;margin-bottom:1.25rem;overflow:hidden}.grammar-progress-bar-fill{background:linear-gradient(90deg,#0284c7,#10b981);border-radius:9999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-stats-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.sub-stat{background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;flex-direction:column;padding:.5rem .25rem;display:flex}.sub-stat-num{color:#0f172a;font-size:1.1rem;font-weight:800}.sub-stat-lbl{color:#64748b;margin-top:2px;font-size:.68rem;font-weight:600}.grammar-login-cta-btn{color:#0284c7;cursor:pointer;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;margin-top:1rem;padding:.5rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s;display:flex}.grammar-login-cta-btn:hover{background:#e0f2fe}.grammar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.75rem;display:flex}.grammar-level-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:.45rem;padding:.35rem;display:flex;box-shadow:0 2px 8px #0f172a08}.level-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.45rem;height:38px;padding:0 1rem;font-size:.85rem;font-weight:650;transition:all .15s;display:inline-flex}.level-tab-btn:hover{color:#0f172a;background:#f8fafc}.level-tab-btn.active{color:#fff;background:#0f172a}.level-dot{border-radius:50%;width:8px;height:8px}.level-dot.teal{background:#0d9488}.level-dot.blue{background:#0284c7}.level-dot.purple{background:#7c3aed}.grammar-search-wrapper{flex:1;align-items:center;min-width:320px;max-width:440px;display:flex;position:relative}.grammar-search-input{color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;width:100%;height:44px;padding:0 2.25rem 0 2.5rem;font-size:.88rem;transition:border-color .2s,box-shadow .2s;box-shadow:0 2px 8px #0f172a08}.grammar-search-input:focus{border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0284c71f}.grammar-search-wrapper .search-icon{color:#94a3b8;pointer-events:none;position:absolute;left:.9rem}.clear-search-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.25rem;position:absolute;right:.75rem}.grammar-cards-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.35rem;display:grid}.grammar-topic-card{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;flex-direction:column;padding:1.5rem;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s;display:flex;position:relative;box-shadow:0 4px 16px -4px #0f172a0a}.grammar-topic-card:hover{border-color:#cbd5e1;transform:translateY(-3px);box-shadow:0 16px 32px -8px #0f172a14}.grammar-topic-card.foundation:hover{border-color:#99f6e4}.grammar-topic-card.intermediate:hover{border-color:#bae6fd}.grammar-topic-card.advanced:hover{border-color:#ddd6fe}.grammar-topic-card.completed-card{background:#fbfdfc;border-color:#a7f3d0}.card-top-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.badges-group{align-items:center;gap:.4rem;display:flex}.level-pill-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:750}.level-pill-badge.foundation{color:#0f766e;background:#ccfbf1}.level-pill-badge.intermediate{color:#0369a1;background:#e0f2fe}.level-pill-badge.advanced{color:#6d28d9;background:#ede9fe}.band-pill-badge{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:800}.status-badge-pill{border-radius:9999px;align-items:center;gap:.35rem;padding:.22rem .6rem;font-size:.72rem;font-weight:750;display:inline-flex}.status-badge-pill.completed{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.status-badge-pill.in-progress{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.status-badge-pill.unstarted{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.card-header-row{align-items:flex-start;gap:.85rem;margin-bottom:.85rem;display:flex}.topic-icon-box{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.topic-icon-box.foundation{color:#0d9488;background:#f0fdfa;border:1px solid #ccfbf1}.topic-icon-box.intermediate{color:#0284c7;background:#f0f9ff;border:1px solid #e0f2fe}.topic-icon-box.advanced{color:#7c3aed;background:#f5f3ff;border:1px solid #ede9fe}.topic-titles{flex:1}.topic-title-en{color:#0f172a;margin-bottom:.2rem;font-size:1.05rem;font-weight:800;line-height:1.35}.topic-title-vi{color:#64748b;font-size:.82rem;font-weight:550}.topic-summary-text{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.86rem;line-height:1.55;display:-webkit-box;overflow:hidden}.topic-formula-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.45rem;margin-bottom:1.25rem;padding:.55rem .75rem;display:flex;overflow:hidden}.formula-label{color:#64748b;flex-shrink:0;font-size:.72rem;font-weight:700}.formula-code{font-family:var(--font-mono,monospace);color:#0369a1;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:650;overflow:hidden}.card-footer-row{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.85rem;display:flex}.category-tag{color:#94a3b8;font-size:.75rem;font-weight:600}.card-action-link{color:#0284c7;align-items:center;gap:.35rem;font-size:.82rem;font-weight:750;transition:gap .15s;display:inline-flex}.grammar-topic-card:hover .card-action-link{gap:.55rem}.lesson-top-bar{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;margin-bottom:2rem;padding:1.75rem 2rem 1.25rem;box-shadow:0 4px 16px -4px #0f172a08}.lesson-back-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;margin-bottom:1rem;padding:0;font-size:.85rem;font-weight:700;transition:color .15s;display:inline-flex}.lesson-back-btn:hover{color:#0284c7}.lesson-header-meta{margin-bottom:1.5rem}.lesson-badges{align-items:center;gap:.45rem;margin-bottom:.65rem;display:flex}.category-pill-badge{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.lesson-main-title{color:#0f172a;margin-bottom:.35rem;font-size:1.85rem;font-weight:900;line-height:1.3}.lesson-sub-title{color:#64748b;font-size:1rem;font-weight:550}.lesson-tabs-nav{border-top:1px solid #f1f5f9;align-items:center;gap:.5rem;padding-top:1rem;display:flex}.lesson-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:.45rem;height:40px;padding:0 1.25rem;font-size:.88rem;font-weight:700;transition:all .15s;display:inline-flex}.lesson-tab-btn:hover{color:#0f172a;background:#f8fafc}.lesson-tab-btn.active{color:#fff;background:#0284c7}.tab-score-badge{border-radius:9999px;margin-left:.3rem;padding:.12rem .45rem;font-size:.72rem;font-weight:800}.tab-score-badge.pass{color:#fff;background:#10b981}.tab-score-badge.fail{color:#fff;background:#f59e0b}.lesson-formula-banner{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1.5px solid #bae6fd;border-radius:18px;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.75rem;padding:1.5rem 2rem;display:flex}.formula-banner-left{flex:1}.formula-banner-tag{color:#0284c7;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem;font-size:.75rem;font-weight:800;display:block}.formula-banner-code{font-family:var(--font-mono,monospace);color:#0c4a6e;margin-bottom:.45rem;font-size:1.15rem;font-weight:800;line-height:1.4;display:block}.formula-banner-desc{color:#334155;margin:0;font-size:.88rem}.copy-formula-btn{color:#0284c7;cursor:pointer;background:#fff;border:1.5px solid #bae6fd;border-radius:10px;flex-shrink:0;align-items:center;gap:.4rem;padding:.55rem .95rem;font-size:.82rem;font-weight:750;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #0284c714}.copy-formula-btn:hover{background:#f8fafc;border-color:#7dd3fc}.theory-section-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;margin-bottom:1.75rem;padding:1.75rem 2rem;box-shadow:0 4px 16px -4px #0f172a08}.section-card-title{color:#0f172a;border-bottom:1px solid #f1f5f9;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding-bottom:.85rem;font-size:1.25rem;font-weight:850;display:flex}.section-title-icon{color:#0284c7}.section-card-title.warning .section-title-icon{color:#dc2626}.section-card-title.tips .section-title-icon{color:#0d9488}.core-rules-list{flex-direction:column;gap:1.25rem;display:flex}.core-rule-item{align-items:flex-start;gap:1rem;display:flex}.rule-badge-num{color:#0284c7;background:#e0f2fe;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.92rem;font-weight:850;display:flex}.rule-content-box{flex:1}.rule-heading{color:#0f172a;margin-bottom:.35rem;font-size:1.02rem;font-weight:750}.rule-text{color:#475569;margin:0;font-size:.92rem;line-height:1.65}.upgrade-cards-list{flex-direction:column;gap:1.5rem;display:flex}.upgrade-card-box{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;padding:1.5rem}.upgrade-row{margin-bottom:.75rem}.grade-tag{border-radius:6px;margin-bottom:.4rem;padding:.2rem .6rem;font-size:.72rem;font-weight:800;display:inline-block}.grade-tag.band6{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}.grade-tag.band8{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.upgrade-sentence{color:#334155;margin:0;font-size:.98rem;line-height:1.55}.upgrade-sentence.highlight{color:#0f172a;font-weight:700}.upgrade-divider{text-align:center;margin:.5rem 0}.upgrade-arrow{color:#0284c7;letter-spacing:.05em;background:#e0f2fe;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:800}.upgrade-analysis-box{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:1rem;padding:.85rem 1rem;font-size:.86rem;line-height:1.55}.pitfalls-list,.exam-tips-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.pitfall-item,.tip-item{align-items:flex-start;gap:.65rem;font-size:.92rem;line-height:1.6;display:flex}.pitfall-bullet{color:#dc2626;flex-shrink:0;font-weight:900}.tip-bullet{color:#0d9488;flex-shrink:0;font-weight:900}.theory-bottom-cta{background:linear-gradient(135deg,#f8fafc 0%,#f0fdf4 100%);border:1.5px solid #bbf7d0;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem;display:flex}.cta-text h3{color:#0f172a;margin-bottom:.25rem;font-size:1.15rem;font-weight:850}.cta-text p{color:#475569;margin:0;font-size:.88rem}.cta-practice-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#10b981);border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.92rem;font-weight:750;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 16px #0284c740}.cta-practice-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0284c759}.practice-header-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem 2rem;display:flex}.practice-title-group{align-items:center;gap:.65rem;margin-bottom:.25rem;display:flex}.practice-title-group h2{color:#0f172a;margin:0;font-size:1.25rem;font-weight:850}.icon-practice{color:#0284c7}.practice-sub-desc{color:#64748b;margin:0;font-size:.88rem}.practice-header-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.reward-badge-pill{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:9999px;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.78rem;font-weight:800;display:inline-flex}.score-result-pill{border-radius:9999px;padding:.4rem .85rem;font-size:.82rem;font-weight:800}.score-result-pill.pass{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.score-result-pill.fail{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.result-banner-box{border-radius:20px;align-items:center;gap:1.5rem;margin-bottom:1.75rem;padding:1.75rem 2rem;display:flex;box-shadow:0 4px 16px -4px #0f172a0a}.result-banner-box.passed-banner{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border:1.5px solid #a7f3d0}.result-banner-box.retry-banner{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1.5px solid #fde68a}.result-banner-icon{flex-shrink:0}.result-banner-text{flex:1}.result-banner-text h3{color:#0f172a;margin-bottom:.3rem;font-size:1.25rem;font-weight:850}.result-banner-text p{color:#475569;margin:0;font-size:.92rem;line-height:1.55}.retry-practice-btn{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:750;display:inline-flex}.exercises-container{flex-direction:column;gap:1.5rem;display:flex}.exercise-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:1.75rem 2rem;transition:border-color .2s;box-shadow:0 4px 16px -4px #0f172a08}.exercise-card.evaluated-correct{background:#fbfdfc;border-color:#a7f3d0}.exercise-card.evaluated-wrong{background:snow;border-color:#fca5a5}.exercise-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.ex-num-group{align-items:center;gap:.6rem;display:flex}.ex-index{color:#0284c7;font-size:.85rem;font-weight:850}.ex-type-badge{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.2rem .55rem;font-size:.72rem;font-weight:750}.ex-status-pill{border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.ex-status-pill.correct{color:#059669;background:#ecfdf5}.ex-status-pill.wrong{color:#dc2626;background:#fef2f2}.exercise-prompt-text{color:#0f172a;margin-bottom:1.25rem;font-size:1.05rem;font-weight:750;line-height:1.5}.options-radio-list{flex-direction:column;gap:.65rem;margin-bottom:1rem;display:flex}.option-radio-label{cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;align-items:center;gap:.85rem;padding:.85rem 1.2rem;transition:all .15s;display:flex}.option-radio-label:hover{background:#f1f5f9;border-color:#cbd5e1}.option-radio-label.selected{background:#f0f9ff;border-color:#0284c7}.option-radio-label.correct-opt{color:#065f46;font-weight:700;background:#ecfdf5!important;border-color:#10b981!important}.option-radio-label.wrong-opt{color:#991b1b;background:#fef2f2!important;border-color:#ef4444!important}.option-radio-label input[type=radio]{display:none}.option-marker{color:#475569;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.82rem;font-weight:800;transition:all .15s;display:flex}.option-radio-label.selected .option-marker{color:#fff;background:#0284c7;border-color:#0284c7}.option-radio-label.correct-opt .option-marker{color:#fff;background:#10b981;border-color:#10b981}.option-radio-label.wrong-opt .option-marker{color:#fff;background:#ef4444;border-color:#ef4444}.option-text{color:inherit;font-size:.95rem;line-height:1.45}.error-correction-input-group,.gap-fill-input-group{margin-bottom:1rem}.input-instruction-label{color:#64748b;margin-bottom:.5rem;font-size:.82rem;font-weight:650}.text-answer-input{color:#0f172a;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;width:100%;max-width:500px;height:44px;padding:0 1rem;font-size:.95rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.text-answer-input:focus{border-color:#0284c7;outline:none;box-shadow:0 0 0 3px #0284c71f}.text-answer-input.correct{background:#ecfdf5;border-color:#10b981}.text-answer-input.wrong{background:#fef2f2;border-color:#ef4444}.expected-answer-hint{color:#475569;margin-top:.6rem;font-size:.86rem}.wrong-strike{color:#dc2626;text-decoration:line-through}.exercise-explanation-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:1rem;padding:1.15rem 1.35rem}.explanation-title{color:#0284c7;align-items:center;gap:.45rem;margin-bottom:.4rem;font-size:.85rem;font-weight:800;display:flex}.explanation-body{color:#334155;margin:0;font-size:.9rem;line-height:1.6}.full-sentence-example{color:#0f172a;border-top:1px dashed #cbd5e1;margin-top:.6rem;padding-top:.6rem;font-size:.86rem}.practice-submit-bar{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;justify-content:space-between;align-items:center;margin-top:2rem;padding:1.25rem 2rem;display:flex;box-shadow:0 4px 16px -4px #0f172a0a}.submit-bar-info{color:#475569;font-size:.9rem;font-weight:700}.submit-practice-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#2563eb);border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.8rem 1.85rem;font-size:.95rem;font-weight:750;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #0284c747}.submit-practice-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0284c761}.submit-practice-btn:disabled{opacity:.6;cursor:not-allowed}.practice-post-actions-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.85rem;margin-top:2rem;display:flex}.practice-post-actions-bar .action-btn{cursor:pointer;border-radius:12px;align-items:center;gap:.45rem;height:42px;padding:0 1.25rem;font-size:.88rem;font-weight:750;transition:all .15s;display:inline-flex}.practice-post-actions-bar .action-btn.secondary{color:#334155;background:#f8fafc;border:1.5px solid #cbd5e1}.practice-post-actions-bar .action-btn.primary{color:#0284c7;background:#e0f2fe;border:1.5px solid #bae6fd}.practice-post-actions-bar .action-btn.highlight{color:#fff;background:linear-gradient(135deg,#0284c7,#0d9488);border:none;box-shadow:0 4px 12px #0284c740}.cheatsheet-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:2.25rem;box-shadow:0 4px 20px -4px #0f172a0a}.cheatsheet-header{border-bottom:1px solid #f1f5f9;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.cheatsheet-icon{color:#0284c7;flex-shrink:0;margin-top:.2rem}.cheatsheet-header h2{color:#0f172a;margin-bottom:.25rem;font-size:1.35rem;font-weight:850}.cheatsheet-header p{color:#64748b;margin:0;font-size:.88rem}.cheatsheet-body{flex-direction:column;gap:1.25rem;margin-bottom:2rem;display:flex}.cs-box{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;padding:1.25rem}.cs-box-title{color:#0284c7;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.78rem;font-weight:800;display:block}.cs-box-title.warning{color:#dc2626}.cs-code{font-family:var(--font-mono,monospace);color:#0c4a6e;font-size:1.05rem;font-weight:800;display:block}.cs-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.cs-list{color:#334155;margin:0;padding-left:1.25rem;font-size:.88rem;line-height:1.6;list-style:square}.cs-list.warning{color:#dc2626}.cheatsheet-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:1.25rem;display:flex}.cs-print-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;padding:.6rem 1.2rem;font-size:.85rem;font-weight:700}.cs-start-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#10b981);border:none;border-radius:10px;padding:.65rem 1.4rem;font-size:.88rem;font-weight:750}@media (width<=992px){.grammar-hero-card{grid-template-columns:1fr;padding:1.75rem}.grammar-cards-grid,.cs-grid{grid-template-columns:1fr}.grammar-toolbar{flex-direction:column;align-items:stretch}.grammar-search-wrapper{max-width:100%}.lesson-tabs-nav{flex-wrap:wrap}}body[data-theme=default]{--cbt-nav-bg:#1e3a5f}.cbt-header .header-left{flex:auto;min-width:0}.cbt-header .header-right{flex-shrink:0}.cbt-header .main-nav{gap:.15rem}.cbt-header .nav-btn{padding:0 .65rem;font-size:.85rem}.cbt-header .icon-btn.active{background:var(--bg-subtle,#f1f5f9);color:var(--text-primary,#0f172a)}.cbt-header .utility-controls{gap:.4rem}.cbt-header .header-user-btn{color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;max-width:190px}.cbt-header .header-user-btn:hover{background:#e2e8f0}.cbt-header .header-user-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.mobile-menu-btn{display:none!important}.theme-dropdown-menu{z-index:200;width:270px}.theme-dropdown-menu .theme-option svg{flex-shrink:0}.dropdown-divider{background:var(--border-color);height:1px;margin:.4rem .25rem}.settings-row{gap:4px;margin:.15rem .5rem .5rem;display:flex}.settings-row .size-btn{flex:1;padding:.35rem .5rem;font-size:.85rem}.size-btn-hint{opacity:.75;margin-left:2px;font-size:.72rem;font-weight:500}@media (width<=1280px){.cbt-header .brand-sub{display:none}.cbt-header .nav-btn{padding:0 .5rem;font-size:.82rem}}@media (width<=1180px){.mobile-menu-btn{display:flex!important}.cbt-header .main-nav{display:none}.cbt-header .main-nav.mobile-open{background:var(--bg-card,#fff);border-bottom:1px solid var(--border-color);z-index:150;flex-direction:column;align-items:stretch;gap:.25rem;max-height:calc(100vh - 64px);padding:.75rem 1rem 1rem;display:flex;position:fixed;top:64px;left:0;right:0;overflow-y:auto;box-shadow:0 16px 32px -12px #0f172a40}.cbt-header .main-nav.mobile-open .nav-btn{justify-content:flex-start;height:44px;padding:0 .85rem;font-size:.95rem}.cbt-header .admin-tools .nav-btn span{display:none}}@media (width<=640px){.cbt-header .header-inner{gap:.5rem;padding:0 .75rem}.cbt-header .brand-text,.cbt-header .header-auth-btn.secondary span{display:none}.cbt-header .header-auth-btn{padding:0 .6rem}.cbt-header .header-user-streak{display:none}.cbt-header .utility-controls{border-left:none;padding-left:0}.cbt-header .test-meta-pill{display:none}}@media (width<=900px){.catalog-hero{gap:1.25rem;grid-template-columns:1fr!important;padding:1.5rem!important}.catalog-hero .hero-content,.catalog-hero .hero-cta-card{width:auto;min-width:0}.catalog-hero .hero-title{overflow-wrap:anywhere;font-size:clamp(1.5rem,6vw,2.1rem)}.catalog-hero .hero-stats{flex-wrap:wrap;gap:1rem}.tests-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))!important}.catalog-controls .filter-group{flex-wrap:wrap;max-width:100%}.catalog-controls>*{min-width:0;max-width:100%}}.mode-tag .exam-badge,.mode-tag .practice-badge{white-space:nowrap;padding:.25rem .7rem;font-size:.75rem}.section-tabs-strip{gap:.75rem}.section-tabs-list{scrollbar-width:none;min-width:0;overflow-x:auto}.section-tabs-list::-webkit-scrollbar{display:none}.section-tab-btn{flex-shrink:0;max-width:300px}.section-tab-btn .tab-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.draft-restored-bar{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.draft-bar-btn{color:#92400e;background:0 0;border:1px solid #f59e0b;border-radius:6px;margin-left:auto;padding:.25rem .7rem;font-size:.8rem;font-weight:600}.draft-bar-btn:hover{background:#fef3c7}.draft-bar-close{color:#92400e;border-radius:4px;padding:.2rem;display:flex}body[data-theme=dark] .draft-restored-bar,body[data-theme=cbt-yellow-black] .draft-restored-bar{color:#fcd34d;background:#1f1300;border-color:#78350f}body[data-theme=dark] .draft-bar-btn,body[data-theme=dark] .draft-bar-close,body[data-theme=cbt-yellow-black] .draft-bar-btn,body[data-theme=cbt-yellow-black] .draft-bar-close{color:#fcd34d}.exam-workspace-layout{min-width:0;max-width:100%;height:calc(100dvh - 64px)}.exam-workspace-layout>*{min-width:0}.mobile-pane-switch{display:none}@media (width<=768px) and (orientation:portrait){.exam-split-workspace{display:block;position:relative}.exam-split-workspace .workspace-left-pane,.exam-split-workspace .workspace-right-pane{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-right:none;height:auto;position:absolute;inset:0;width:100%!important}.exam-split-workspace.show-passage .workspace-right-pane,.exam-split-workspace.show-questions .workspace-left-pane,.exam-split-workspace.no-passage .workspace-left-pane{visibility:hidden;pointer-events:none}.exam-split-workspace .workspace-divider{display:none}body:has(.exam-workspace-layout) .cbt-header{height:52px;transition:transform .22s}.exam-workspace-layout{z-index:90;background:var(--bg-app);height:auto;transition:top .22s;position:fixed;inset:52px 0 0}body.exam-chrome-hidden .cbt-header{transform:translateY(-100%)}body.exam-chrome-hidden .exam-workspace-layout{top:0}.exam-workspace-layout .section-tabs-strip{display:none}.mobile-pane-switch{box-sizing:border-box;background:var(--bg-subtle,#f1f5f9);border:1px solid var(--border-color);border-radius:12px;flex-shrink:0;gap:4px;width:calc(100% - 16px);max-width:560px;margin:6px auto;padding:4px;display:flex}.mobile-pane-switch button{min-width:0;height:36px;color:var(--text-secondary);white-space:nowrap;background:0 0;border-radius:9px;flex:1 1 0;justify-content:center;align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:inline-flex}.mobile-pane-switch{max-height:60px;transition:max-height .22s,margin .22s,padding .22s,opacity .22s;overflow:hidden}body.exam-chrome-hidden .mobile-pane-switch{opacity:0;border-width:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.q-prompt-text{font-size:.93rem;line-height:1.45}.mc-options-list{gap:.4rem}.mc-option-card{gap:.6rem;padding:.55rem .75rem}.mc-radio-circle{width:22px;height:22px}.mc-option-text{font-size:.9rem;line-height:1.4}.q-number-badge{min-width:24px;height:24px;font-size:.78rem}.instruction-badge{font-size:.65rem}.instruction-text{font-size:.85rem;line-height:1.45}.passage-viewer:not(.font-size-large) .passage-paragraph{margin-bottom:.9rem;font-size:.95rem;line-height:1.65}.passage-main-title{font-size:1.02rem!important}.tfng-btn{padding:.5rem .9rem;font-size:.88rem}.mobile-pane-switch button.active{background:var(--bg-card,#fff);color:var(--primary,#0284c7);box-shadow:0 1px 3px #0f172a1f}.pane-switch-count{background:var(--bg-subtle,#f1f5f9);color:var(--text-secondary);border-radius:999px;padding:.05rem .45rem;font-size:.72rem;font-weight:700}.mobile-pane-switch button.active .pane-switch-count{background:var(--primary-light,#e0f2fe);color:var(--primary,#0284c7)}}@media (width<=768px),(height<=520px){.exam-split-workspace.no-passage .workspace-left-pane{display:none}.exam-split-workspace.no-passage .workspace-right-pane{width:100%!important}.passage-viewer{padding:.9rem 1rem 1.5rem}.passage-header{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:.9rem;padding-bottom:.75rem}.passage-main-title{margin-bottom:.2rem;line-height:1.35;font-size:1.1rem!important}.passage-subtitle{font-size:.82rem;line-height:1.45}.passage-tools .quick-search{box-sizing:border-box;width:100%}.passage-tools .quick-search input{flex:1;width:auto;min-width:0;font-size:16px}.passage-body,.passage-body p,.passage-paragraph{text-align:left;-webkit-hyphens:auto;hyphens:auto}.question-pane{padding:.9rem .85rem 1.5rem}.question-group-block{margin-bottom:1.5rem}.group-instruction-banner{margin-bottom:.9rem;padding:.7rem .85rem}.instruction-text{font-size:.9rem}.group-questions-list{gap:.8rem}.question-item-card{padding:.9rem}.question-card-header{gap:.6rem;margin-bottom:.7rem}.question-pane input[type=text],.question-pane textarea,.question-pane select{font-size:16px}.listening-exam-panel{padding:1rem}.listening-exam-panel .listening-panel-tips,.mode-tag{display:none}.section-tabs-strip{padding:0 .5rem}.section-tab-btn{max-width:70vw;padding:0 .7rem}.cbt-header .header-center{flex:0 auto;min-width:0;position:static;transform:none}.cbt-header .exam-timer{gap:.35rem;padding:.3rem .6rem}.cbt-header .exam-timer .time-label{display:none}.cbt-navigator-bar .nav-bar-center{scrollbar-width:none}.cbt-navigator-bar .nav-bar-center::-webkit-scrollbar{display:none}}@media (height<=520px){.cbt-header{height:48px}.exam-workspace-layout{height:calc(100dvh - 48px)}.cbt-header .main-nav.mobile-open{max-height:calc(100dvh - 48px);top:48px}.exam-workspace-layout .section-tabs-strip{display:none}.passage-viewer{padding-top:.6rem}.passage-header{gap:.35rem;margin-bottom:.6rem;padding-bottom:.5rem}.cbt-navigator-bar{height:48px!important}.cbt-navigator-bar .q-bubble{min-width:28px;height:28px}.first-time-tip.above-navigator{bottom:60px}}.workspace-divider{touch-action:none;flex-shrink:0;transition:background .15s}.workspace-divider:hover,.workspace-divider:focus-visible,body.is-resizing-panes .workspace-divider{background:var(--primary-light,#e0f2fe);outline:none}.workspace-divider .divider-handle{border-radius:2px;height:40px}body.is-resizing-panes{cursor:col-resize;-webkit-user-select:none;user-select:none}.listening-exam-panel{color:var(--text-secondary);padding:2rem 1.75rem;line-height:1.65}.listening-exam-panel h3{color:var(--text-primary);margin:.9rem 0 .6rem;font-size:1.15rem}.listening-panel-icon{background:var(--primary-light,#e0f2fe);width:56px;height:56px;color:var(--primary,#0284c7);border-radius:14px;justify-content:center;align-items:center;display:flex}.listening-panel-tips{gap:.5rem;margin:1.25rem 0 0;padding-left:1.1rem;font-size:.92rem;display:grid}.passage-mark{color:inherit;border-radius:3px;padding:0 1px}.passage-mark.hl-yellow{cursor:pointer;background:#fde047}.passage-mark.hl-green{cursor:pointer;background:#86efac}.passage-mark.hl-pink{cursor:pointer;background:#f9a8d4}.passage-mark.search-hit{background-color:#f9731633;box-shadow:inset 0 -2px #f97316}body[data-theme=dark] .passage-mark.hl-yellow,body[data-theme=dark] .passage-mark.hl-green,body[data-theme=dark] .passage-mark.hl-pink,body[data-theme=cbt-yellow-black] .passage-mark{color:#000}.quick-search .search-count{text-align:center;background:var(--bg-subtle);min-width:1.4rem;color:var(--text-secondary);border-radius:999px;padding:0 .3rem;font-size:.72rem;font-weight:700}.transcript-line{grid-template-columns:1fr;gap:.1rem;margin:0 0 .85rem;line-height:1.7;display:grid}.transcript-line.has-speaker{grid-template-columns:7.5rem 1fr;gap:.75rem}.transcript-speaker{letter-spacing:.04em;text-transform:uppercase;color:var(--primary,#0284c7);overflow-wrap:anywhere;padding-top:.3rem;font-size:.72rem;font-weight:800}.transcript-q-cue{vertical-align:.1em;color:#047857;background:#dcfce7;border:1px solid #86efac;border-radius:999px;margin:0 .25rem;padding:0 .4rem;font-size:.7rem;font-weight:800;line-height:1.5;display:inline-block}@media (width<=640px){.transcript-line.has-speaker{grid-template-columns:1fr;gap:0}}.level-filter{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.level-chip{--chip:#64748b;border:1px solid var(--border-color,#e2e8f0);background:var(--bg-card,#fff);color:var(--text-secondary,#475569);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.level-chip:hover:not(:disabled){border-color:var(--chip);color:var(--text-primary,#0f172a)}.level-chip:disabled{opacity:.45;cursor:not-allowed}.level-chip.level-mint{--chip:#059669}.level-chip.level-teal{--chip:#0d9488}.level-chip.level-blue{--chip:#2563eb}.level-chip.level-purple{--chip:#7c3aed}.level-chip.level-rose{--chip:#e11d48}.level-chip-dot{background:var(--chip);border-radius:50%;width:8px;height:8px}.level-chip-band{opacity:.75;font-weight:500}.level-chip-count{background:var(--bg-subtle,#f1f5f9);border-radius:999px;padding:0 .4rem;font-size:.72rem}.level-chip-you{color:#92400e;background:#fef3c7;border-radius:999px;padding:.05rem .4rem;font-size:.68rem;font-weight:800}.level-chip.active{background:var(--chip);border-color:var(--chip);color:#fff}.level-chip.active .level-chip-dot{background:#fff}.level-chip.active .level-chip-count{color:#fff;background:#ffffff40}.level-pill-badge.starter,.p-level-pill.starter{color:#047857;background:#dcfce7}.level-pill-badge.foundation,.p-level-pill.foundation{color:#0f766e;background:#ccfbf1}.level-pill-badge.intermediate,.p-level-pill.intermediate{color:#1d4ed8;background:#dbeafe}.level-pill-badge.upper,.p-level-pill.upper{color:#6d28d9;background:#ede9fe}.level-pill-badge.advanced,.p-level-pill.advanced{color:#be123c;background:#ffe4e6}.p-formula-box{min-width:0}.p-formula-box .formula-code{min-width:0;overflow:hidden}.p-formula-box .formula-code code{white-space:normal;overflow-wrap:anywhere;text-align:left;line-height:1.55;display:block}.p-usage-note{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.35rem;margin:.25rem 0 .9rem;padding:.6rem .75rem;font-size:.85rem;line-height:1.55;display:flex}.p-usage-skill{text-transform:uppercase;letter-spacing:.03em;color:#78350f;white-space:nowrap;background:#fde68a;border-radius:999px;flex-shrink:0;padding:.15rem .5rem;font-size:.7rem;font-weight:800}body[data-theme=dark] .p-usage-note,body[data-theme=cbt-yellow-black] .p-usage-note{color:#fcd34d;background:#1f1300;border-color:#78350f}body[data-theme=dark] .p-usage-skill,body[data-theme=cbt-yellow-black] .p-usage-skill{color:#fef3c7;background:#78350f}.focus-pattern-chip{background:var(--primary-light,#e0f2fe);color:var(--primary,#0284c7);border-radius:999px;align-items:center;gap:.4rem;max-width:100%;margin-left:.6rem;padding:.3rem .4rem .3rem .75rem;font-size:.82rem;display:inline-flex}.focus-pattern-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.focus-pattern-chip button{color:inherit;background:0 0;border:1px solid;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700}.review-done-state h3{margin-top:.75rem}.cbt-navigator-bar{gap:1rem;padding:0 1rem}.cbt-navigator-bar .nav-bar-left{flex-shrink:0;min-width:0}.cbt-navigator-bar .flag-toggle-label{white-space:nowrap;border:1px solid #ffffff40;border-radius:6px;padding:.4rem .7rem}.cbt-navigator-bar .flag-toggle-label.is-flagged{background:#facc151f;border-color:#facc15}.cbt-navigator-bar .nav-bar-center{scrollbar-width:thin;flex:auto;align-items:center;gap:.5rem;min-width:0;max-width:none;padding:0 .25rem;display:flex;overflow-x:auto}.nav-part{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.nav-part.active{padding-right:.5rem}.nav-part-label{color:#ffffffd9;white-space:nowrap;background:#ffffff0f;border:1px solid #fff3;border-radius:6px;align-items:center;gap:.4rem;height:32px;padding:0 .7rem;font-size:.8rem;font-weight:700;display:inline-flex}.nav-part-label:hover{color:#fff;background:#ffffff29}.nav-part.active .nav-part-label{color:#fff;background:0 0;border-color:#0000;padding-left:.2rem}.nav-part-progress{opacity:.75;font-size:.75rem;font-weight:600}.cbt-navigator-bar .questions-bubbles-scroll{flex-wrap:nowrap;justify-content:flex-start;gap:.3rem}.cbt-navigator-bar .q-bubble{min-width:30px;height:30px}.cbt-navigator-bar .nav-bar-right{flex-shrink:0;gap:.45rem}.cbt-navigator-bar .answered-stats{color:#ffffffbf;white-space:nowrap;margin-right:.25rem;font-size:.85rem}.cbt-navigator-bar .answered-stats strong{color:#fff}.cbt-navigator-bar .cbt-nav-btn{padding:.45rem .55rem}@media (width<=900px){.cbt-navigator-bar{gap:.5rem;padding:0 .5rem}.cbt-navigator-bar .flag-toggle-label span,.cbt-navigator-bar .answered-stats,.cbt-navigator-bar .cbt-submit-btn span{display:none}}.placement-page{max-width:920px;margin:0 auto;padding:2rem 1rem 4rem}.placement-card{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:18px;padding:2rem;box-shadow:0 10px 30px -18px #0f172a40}.placement-intro{text-align:center}.placement-icon{background:var(--primary-light,#e0f2fe);width:64px;height:64px;color:var(--primary,#0284c7);border-radius:18px;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.placement-card h1{color:var(--text-primary);margin:0 0 .75rem;font-size:1.7rem}.placement-lead{color:var(--text-secondary);max-width:680px;margin:0 auto 1.25rem;line-height:1.7}.placement-facts{text-align:left;max-width:560px;color:var(--text-secondary);gap:.55rem;margin:0 auto 1.25rem;padding:0;font-size:.92rem;list-style:none;display:grid}.placement-facts li{align-items:flex-start;gap:.6rem;display:flex}.placement-facts svg{color:var(--primary,#0284c7);flex-shrink:0;margin-top:3px}.placement-levels-preview{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:1.5rem;display:flex}.placement-level-tag{background:var(--bg-subtle);color:var(--text-secondary);border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.placement-level-tag.level-mint{color:#047857;background:#dcfce7}.placement-level-tag.level-teal{color:#0f766e;background:#ccfbf1}.placement-level-tag.level-blue{color:#1d4ed8;background:#dbeafe}.placement-level-tag.level-purple{color:#6d28d9;background:#ede9fe}.placement-level-tag.level-rose{color:#be123c;background:#ffe4e6}.placement-primary-btn{background:var(--primary,#0284c7);color:#fff;cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.8rem 1.4rem;font-size:.95rem;font-weight:700;display:inline-flex}.placement-primary-btn:disabled{opacity:.5;cursor:not-allowed}.placement-primary-btn:not(:disabled):hover{filter:brightness(1.08)}.placement-note{color:var(--text-muted,#94a3b8);margin-top:1rem;font-size:.85rem}.placement-error{color:#b91c1c;margin:.75rem 0;font-weight:600}.placement-progress{grid-template-columns:repeat(5,1fr);gap:.4rem;margin-bottom:1rem;display:grid}.placement-step{color:var(--text-muted,#94a3b8);flex-direction:column;gap:.3rem;font-size:.72rem;font-weight:600;display:flex}.placement-step-bar{background:var(--bg-subtle,#e2e8f0);border-radius:999px;height:6px}.placement-step.done .placement-step-bar{background:#10b981}.placement-step.current .placement-step-bar{background:var(--primary,#0284c7)}.placement-step.current{color:var(--text-primary)}.placement-block-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.placement-block-head h2{color:var(--text-primary);margin:0;font-size:1.25rem}.placement-block-count{color:var(--text-muted,#94a3b8);font-size:.85rem}.placement-question{border:none;margin:0 0 1.4rem;padding:0}.placement-question legend{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.65rem;font-weight:600;line-height:1.5;display:flex}.placement-q-num{background:var(--primary,#0284c7);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;display:inline-flex}.placement-q-section{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#94a3b8);font-size:.7rem;font-weight:800}.placement-q-prompt{flex-basis:100%;font-size:1rem}.placement-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.placement-option{border:1.5px solid var(--border-color,#e2e8f0);cursor:pointer;color:var(--text-primary);background:var(--bg-card,#fff);border-radius:10px;align-items:center;gap:.55rem;padding:.65rem .8rem;font-size:.92rem;display:flex}.placement-option:hover{border-color:var(--primary,#0284c7)}.placement-option.selected{border-color:var(--primary,#0284c7);background:var(--primary-light,#e0f2fe)}.placement-option.dont-know{color:var(--text-muted,#64748b);font-style:italic}.placement-option input{accent-color:var(--primary,#0284c7)}.placement-reading{border-top:1px dashed var(--border-color,#e2e8f0);grid-template-columns:1.1fr 1fr;gap:1.5rem;margin-top:.5rem;padding-top:1.25rem;display:grid}.placement-passage{background:var(--bg-subtle,#f8fafc);border-radius:12px;align-self:start;padding:1rem 1.2rem}.placement-passage h3{color:var(--text-primary);margin:0 0 .6rem;font-size:.92rem}.placement-passage p{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.75}.placement-reading .placement-options{grid-template-columns:1fr}.placement-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.placement-hint{color:var(--text-muted,#94a3b8);font-size:.85rem}.placement-result{text-align:center}.placement-result-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#94a3b8);font-size:.8rem;font-weight:800}.placement-result-level{border:2px solid;border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;margin:.75rem auto 1rem;padding:1rem 2rem;display:inline-flex}.placement-result-level.level-mint{color:#047857;background:#ecfdf5}.placement-result-level.level-teal{color:#0f766e;background:#f0fdfa}.placement-result-level.level-blue{color:#1d4ed8;background:#eff6ff}.placement-result-level.level-purple{color:#6d28d9;background:#f5f3ff}.placement-result-level.level-rose{color:#be123c;background:#fff1f2}.placement-result-name{font-size:1.8rem;font-weight:800}.placement-result-band{font-size:.9rem;font-weight:600}.placement-breakdown{text-align:left;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0;display:grid}.placement-breakdown h3,.placement-next-title{color:var(--text-primary);margin:0 0 .75rem;font-size:.95rem}.placement-bar-row{color:var(--text-secondary);grid-template-columns:90px 1fr 48px;align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.85rem;display:grid}.placement-bar-track{background:var(--bg-subtle,#e2e8f0);border-radius:999px;height:10px;overflow:hidden}.placement-bar-fill{border-radius:999px;height:100%;display:block}.placement-bar-fill.passed{background:#10b981}.placement-bar-fill.failed{background:#f59e0b}.placement-bar-fill.neutral{background:var(--primary,#0284c7)}.placement-bar-value{text-align:right;color:var(--text-primary);font-weight:700}.placement-next-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.25rem;display:grid}.placement-next-grid button{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-card,#fff);color:var(--text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem;font-weight:700;display:flex}.placement-next-grid button:hover{border-color:var(--primary,#0284c7);color:var(--primary,#0284c7)}.placement-saved{color:#047857;align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.placement-guest-cta{background:var(--bg-subtle,#f8fafc);border-radius:12px;margin-bottom:1rem;padding:1rem}.placement-guest-cta p{color:var(--text-secondary);margin:0 0 .75rem}.placement-review{text-align:left;margin:1rem 0}.placement-review ul{gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.placement-review li{background:var(--bg-subtle,#f8fafc);border-radius:10px;gap:.25rem;padding:.7rem .9rem;font-size:.9rem;display:grid}.placement-review-prompt{color:var(--text-primary);font-weight:600}.placement-review-answer{align-items:center;gap:.35rem;display:inline-flex}.placement-review-answer.wrong{color:#b91c1c}.placement-review-answer.right{color:#047857}.placement-review-explain{color:var(--text-secondary,#475569);flex-basis:100%;font-size:.85rem;line-height:1.45;display:block}.placement-link-btn{color:var(--primary,#0284c7);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-top:.75rem;font-size:.9rem;font-weight:700;display:inline-flex}.auth-placement-link{text-align:left;color:var(--primary,#0284c7);cursor:pointer;background:0 0;border:none;margin-top:.35rem;padding:0;font-size:.78rem;font-weight:600;text-decoration:underline}.auth-placement-note{color:#047857;margin-top:.35rem;font-size:.78rem;font-weight:600;display:block}.hero-placement-link{border:1px dashed var(--primary,#0284c7);color:var(--primary,#0284c7);cursor:pointer;background:#0284c70f;border-radius:999px;align-items:center;gap:.5rem;margin:.25rem 0 1.25rem;padding:.55rem .9rem;font-size:.88rem;display:inline-flex}.hero-placement-link:hover{background:#0284c71f}@media (width<=720px){.placement-card{padding:1.25rem}.placement-reading,.placement-breakdown,.placement-next-grid{grid-template-columns:1fr}.placement-step-label{display:none}}.grammar-visual-tabs{background:#f1f5f9;border-radius:999px;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:inline-flex}.grammar-visual-tab{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem 1rem;font-size:.92rem;font-weight:700}.grammar-visual-tab.active{color:#0369a1;background:#fff;box-shadow:0 1px 4px #0f172a1f}.grammar-figure{max-width:680px;margin:0 auto 1.25rem}.grammar-figure-btn{cursor:zoom-in;background:0 0;border:0;border-radius:18px;width:100%;padding:0;display:block}.grammar-figure-btn:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}.grammar-figure img{background:#fff;border-radius:18px;width:100%;height:auto;display:block;box-shadow:0 4px 18px -6px #0f172a2e}.grammar-figure figcaption{text-align:center;color:#64748b;margin-top:.6rem;font-size:.9rem}.grammar-zoom-overlay{z-index:2000;cursor:zoom-out;background:#0f172ad1;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow:auto}.grammar-zoom-overlay img{cursor:default;background:#fff;border-radius:16px;max-width:min(100%,900px);height:auto;max-height:100%}.grammar-zoom-close{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:999px;padding:.35rem;position:fixed;top:.75rem;right:.75rem}.grammar-figure-hint{display:none}@media (width<=640px){.grammar-lesson-container .theory-section-card{padding:1.1rem .75rem}.grammar-figure img{border-radius:12px}.grammar-figure-hint{text-align:center;color:#0369a1;margin-top:.25rem;font-size:.8rem;display:block}.grammar-zoom-overlay{justify-content:flex-start;align-items:flex-start;padding:3.5rem .5rem 1rem}.grammar-zoom-overlay img{width:760px;max-width:none;max-height:none}}.q-prompt-text,.review-prompt{white-space:pre-line}.translation-box{margin-top:.5rem}.section-instruction-text{color:var(--text-secondary,#475569);font-style:italic}.sentence-diagram-list{gap:1rem;display:grid}.sentence-diagram{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0;padding:1rem}.sentence-diagram-parts{flex-wrap:wrap;align-items:stretch;gap:.4rem;display:flex}.sd-part{background:#fff;border-bottom:3px solid;border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;max-width:100%;padding:.35rem .6rem;display:inline-flex}.sd-text{color:#0f172a;text-align:center;overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.35}.sd-role{letter-spacing:.01em;white-space:nowrap;font-size:.72rem;font-weight:700}.sd-translation{color:#334155;margin:.75rem 0 0;font-style:italic}.sd-note{color:#475569;margin-top:.35rem;font-size:.92rem}.sd-S,.sd-Head{color:#1d4ed8;background:#eff6ff}.sd-V{color:#b91c1c;background:#fef2f2}.sd-O,.sd-Oi,.sd-Od{color:#047857;background:#ecfdf5}.sd-Oi{color:#0f766e;background:#f0fdfa}.sd-C{color:#c2410c;background:#fff7ed}.sd-A{color:#92400e;background:#fffbeb}.sd-Conj{color:#0e7490;background:#ecfeff}.sd-MC{color:#1e40af;background:#eef2ff}.sd-SC{color:#6d28d9;background:#f5f3ff}.sd-Mod,.sd-Post{color:#475569;background:#f1f5f9}.sd-Det{color:#4d7c0f;background:#f7fee7}.sd-Adj{color:#be185d;background:#fdf2f8}.sd-NMod{color:#0f766e;background:#f0fdfa}.ex-mark{color:inherit;background:#fef08a;border-radius:3px;padding:0 .15em;font-weight:700}@media (width<=640px){.sentence-diagram{padding:.75rem}.sd-text{font-size:.95rem}}.weak-topics-card{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;margin:1rem 0;padding:1rem 1.25rem}.weak-topics-card h3{color:#92400e;margin:0 0 .5rem;font-size:1.05rem}.weak-topics-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.weak-topics-list li{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.weak-topics-list a{color:#1d4ed8;font-weight:600;text-decoration:underline}.weak-topic-count{color:#92400e;font-size:.9rem}.review-options{gap:.35rem;margin:.75rem 0;padding:0;list-style:none;display:grid}.review-option{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:baseline;gap:.6rem;padding:.45rem .7rem;display:flex}.review-option.is-key{background:#ecfdf5;border-color:#6ee7b7}.review-option.is-wrong{background:#fef2f2;border-color:#fca5a5}.review-option-letter{min-width:1.2rem;font-weight:700}.hero-guide-link{color:#6d28d9;background:#7c3aed0f;border-color:#7c3aed;margin-top:-.5rem}.hero-guide-link:hover{background:#7c3aed1f}.whats-new-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width>=1100px){.whats-new-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=560px){.whats-new-grid{grid-template-columns:1fr}}.whats-new-card{text-align:left;cursor:pointer;font:inherit;color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem;transition:transform .15s,box-shadow .15s;display:flex}.whats-new-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.whats-new-card:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.whats-new-card h3{color:#0f172a;margin:.15rem 0 0;font-size:1.05rem}.whats-new-card p{color:#475569;flex:1;margin:0;font-size:.93rem;line-height:1.5}.wn-icon{border-radius:12px;padding:.55rem;display:inline-flex}.wn-icon.blue{color:#2563eb;background:#eff6ff}.wn-icon.teal{color:#0f766e;background:#f0fdfa}.wn-icon.purple{color:#7c3aed;background:#f5f3ff}.wn-icon.amber{color:#b45309;background:#fffbeb}.wn-tag{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:800}.wn-link{color:#1d4ed8;align-items:center;gap:.3rem;font-size:.88rem;font-weight:700;display:inline-flex}.guide-full-link-row{justify-content:center;margin-top:1.5rem;display:flex}.guide-page{max-width:1100px;margin:0 auto;padding:2rem 1rem 3rem}.guide-hero{text-align:center;margin-bottom:2rem}.guide-eyebrow{letter-spacing:.05em;color:#6d28d9;text-transform:uppercase;align-items:center;gap:.35rem;font-size:.8rem;font-weight:800;display:inline-flex}.guide-hero h1{color:#0f172a;margin:.5rem 0;font-size:clamp(1.6rem,4vw,2.2rem)}.guide-hero p{color:#475569;max-width:680px;margin:0 auto;line-height:1.6}.guide-quickstart{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #dbeafe;border-radius:18px;margin-bottom:2.5rem;padding:1.5rem}.guide-quickstart h2,.guide-section-title{color:#0f172a;margin:0 0 1rem;font-size:1.3rem}.guide-steps{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.guide-step{background:#fff;border-radius:14px;align-items:flex-start;gap:.9rem;padding:.9rem 1rem;display:flex}.guide-step h3{color:#0f172a;margin:0 0 .2rem;font-size:1rem}.guide-step p{color:#475569;margin:0;font-size:.94rem;line-height:1.5}.guide-step-num{color:#fff;background:#2563eb;border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-weight:800;display:grid}.guide-quick-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.guide-btn{color:#0f172a;cursor:pointer;font-weight:700;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:.4rem;padding:.6rem 1rem;display:inline-flex}.guide-btn.primary{color:#fff;background:#2563eb;border-color:#2563eb}.guide-feature-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.guide-feature-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:.5rem;padding:1.25rem;scroll-margin-top:90px;display:flex}.guide-feature-card.is-focused{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.guide-feature-card h3{color:#0f172a;margin:0;font-size:1.08rem}.guide-feature-summary{color:#475569;margin:0;font-size:.93rem}.guide-feature-card ul{flex:1;gap:.4rem;margin:.25rem 0 .5rem;padding:0;list-style:none;display:grid}.guide-feature-card li{color:#334155;align-items:flex-start;gap:.45rem;font-size:.92rem;line-height:1.45;display:flex}.guide-feature-card li svg{color:#16a34a;flex:none;margin-top:.15rem}.guide-open-btn{color:#1d4ed8;cursor:pointer;font-weight:700;font:inherit;background:#eff6ff;border:0;border-radius:999px;align-self:flex-start;align-items:center;gap:.35rem;padding:.5rem .9rem;display:inline-flex}.guide-reset{border:1px dashed #cbd5e1;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:2.5rem;padding:1rem 1.25rem;display:flex}.guide-reset p{color:#475569;flex:280px;margin:0}.first-time-tip{z-index:1200;color:#1f2937;background:#fffbeb;border:2px solid #fbbf24;border-radius:16px;width:min(340px,100vw - 32px);padding:1rem 1.1rem .85rem;animation:.35s ease-out ftt-pop;position:fixed;bottom:20px;right:20px;transform:rotate(-1deg);box-shadow:0 14px 34px #0f172a38}.first-time-tip.above-navigator{bottom:96px}@keyframes ftt-pop{0%{opacity:0;transform:translateY(12px)rotate(-1deg)scale(.96)}to{opacity:1;transform:rotate(-1deg)}}@media (prefers-reduced-motion:reduce){.first-time-tip{animation:none}}.ftt-close{color:#92400e;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;position:absolute;top:8px;right:8px}.ftt-head{align-items:center;gap:.4rem;display:flex}.ftt-icon{color:#92400e;background:#fde68a;border-radius:8px;padding:.3rem;display:inline-flex}.ftt-label{letter-spacing:.06em;text-transform:uppercase;color:#92400e;font-size:.72rem;font-weight:800}.ftt-title{color:#1f2937;margin:.5rem 0 .25rem;padding-right:1.25rem;font-size:1.02rem}.ftt-text{color:#374151;margin:0;font-size:.92rem;line-height:1.5}.ftt-actions{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.ftt-btn{color:#92400e;cursor:pointer;background:#fff;border:1px solid #f59e0b;border-radius:999px;padding:.45rem .8rem;font-family:inherit;font-size:.85rem;font-weight:700}.ftt-btn.primary{color:#fff;background:#f59e0b}.ftt-off{color:#78716c;cursor:pointer;background:0 0;border:0;margin-top:.55rem;padding:0;font-family:inherit;font-size:.78rem;text-decoration:underline;display:block}.tip-target-glow{outline-offset:3px;border-radius:10px;animation:1.6s ease-in-out infinite tip-glow;outline:3px solid #fbbf24!important}@keyframes tip-glow{0%,to{box-shadow:0 0 #fbbf248c}50%{box-shadow:0 0 0 8px #fbbf2400}}@media (prefers-reduced-motion:reduce){.tip-target-glow{animation:none}}@media (width<=640px){.first-time-tip{width:auto;bottom:16px;left:16px;right:16px;transform:none}.first-time-tip.above-navigator{bottom:120px}.guide-feature-grid{grid-template-columns:1fr}}body[data-theme=dark] .first-time-tip{color:#f5f5f4;background:#292524;border-color:#f59e0b}body[data-theme=dark] .ftt-title{color:#fef3c7}body[data-theme=dark] .ftt-text{color:#e7e5e4}body[data-theme=dark] .ftt-btn{color:#fcd34d;background:#1c1917}body[data-theme=dark] .ftt-btn.primary{color:#1c1917;background:#f59e0b}.cbt-main-content>*{box-sizing:border-box;width:100%;min-width:0}.grammar-cards-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.grammar-cards-grid>*{min-width:0}.grammar-topic-card .formula-code,.grammar-topic-card code{white-space:normal;overflow-wrap:anywhere}@media (width<=1100px){.vocab-tab-group,.patterns-main-tabs,.pill-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.vocab-tab-group::-webkit-scrollbar{display:none}.patterns-main-tabs::-webkit-scrollbar{display:none}.pill-tabs::-webkit-scrollbar{display:none}.vocab-tab-group>*,.patterns-main-tabs>*,.pill-tabs>*{white-space:nowrap;flex:none}}.test-card-actions{flex-wrap:wrap}.test-card-actions>button{white-space:nowrap;flex:auto}@media (width<=640px){.grammar-cards-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}.filter-controls-group,.vocab-filter-bar,.patterns-filter-toolbar{flex-wrap:wrap;gap:.6rem}.vocab-search-box,.search-box-pill{flex:100%;width:100%;max-width:100%}.vocab-stats-pills,.patterns-stats-pills{flex-wrap:wrap;gap:.5rem}.filter-group{flex-wrap:wrap;gap:.6rem;width:100%}.filter-group>*,.select-wrapper select{max-width:100%}.stepper-tab-btn{min-width:0;max-width:100%}}@media (width<=900px){.vocab-hero-strip,.daily-workout-hero,.patterns-hero-strip{flex-direction:column;align-items:stretch;gap:1rem}.grammar-hero-card{grid-template-columns:minmax(0,1fr);gap:1rem}.vocab-stats-pills,.patterns-stats-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.vocab-stats-pills>*,.patterns-stats-pills>*{min-width:0}}@media (width<=640px){.vocab-hero-strip,.daily-workout-hero,.patterns-hero-strip,.grammar-hero-card{padding:1.1rem}.vocab-hero-strip h2,.patterns-hero-strip h2,.daily-workout-hero h2,.grammar-hero-title{font-size:1.35rem;line-height:1.25}.vocab-title-wrap,.patterns-title-wrap{gap:.6rem}.vocab-stats-pills,.patterns-stats-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.vocab-stats-pills>*,.patterns-stats-pills>*{text-align:center;min-width:0;padding:.6rem .5rem}.vocab-learning-hub,.sentence-patterns-hub,.grammar-hub-container,.daily-workout-container,.history-view-container{padding-left:12px;padding-right:12px}.score-hero-card{flex-direction:column-reverse;align-items:stretch;gap:1rem;padding:1.25rem}.score-hero-right{justify-content:center;display:flex}.giant-band-circle{width:132px;height:132px}.score-hero-left h1,.score-hero-left h2{font-size:1.35rem;line-height:1.3}.results-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.results-actions-bar,.results-filters-strip{flex-wrap:wrap;gap:.6rem}.results-actions-bar h2{font-size:1.1rem}.status-tabs{flex-wrap:wrap}.modal-backdrop{padding:8px}.profile-modal-card{border-radius:18px;min-width:0;max-height:94vh;padding:.9rem}.profile-modal-card>*{min-width:0}.profile-hero-banner{flex-direction:column;align-items:stretch;gap:1rem;padding:1.1rem}.profile-identity{flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0}.profile-text-info{min-width:0;max-width:100%}.profile-name-row{flex-wrap:wrap}.profile-email-text{overflow-wrap:anywhere}.profile-hero-actions{flex-wrap:wrap}.profile-nav-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.profile-nav-tabs::-webkit-scrollbar{display:none}.profile-tab-item{white-space:nowrap;flex:none}.profile-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.week-streak-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.week-day-box{min-width:0;padding:.4rem .1rem}.week-day-box .day-name,.week-day-box .day-date{font-size:.68rem}.profile-section-card{padding:.9rem}.auth-row-2col,.auth-row-3col{grid-template-columns:minmax(0,1fr)}.avatar-selection-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}}@media (width<=900px),(height<=520px){.profile-modal-card .profile-modal-close{float:right;color:#fff;background:#0f172a8c;margin:0 0 -34px auto;position:sticky;top:0}}@media (height<=520px){.modal-backdrop{padding:8px}.profile-modal-card{max-height:calc(100dvh - 16px)}}@media (width<=640px){.audio-player-strip{grid-template-columns:32px 36px 32px minmax(0,1fr);grid-template-areas:"back play fwd right""time time time seek";align-items:center;gap:.35rem .5rem;height:auto;padding:.5rem .75rem .45rem;display:grid}.audio-player-strip .audio-left,.audio-player-strip .audio-track-info{display:contents}.audio-player-strip .audio-left>:first-child{grid-area:back}.audio-player-strip .audio-left>:nth-child(2){grid-area:play}.audio-player-strip .audio-left>:nth-child(3){grid-area:fwd}.audio-player-strip .track-time{white-space:nowrap;grid-area:time;font-size:.72rem}.audio-player-strip .audio-center{grid-area:seek;min-width:0;display:flex}.audio-player-strip .audio-right{grid-area:right;justify-content:flex-end;gap:.5rem;min-width:0}.audio-player-strip .track-title,.audio-player-strip .volume-control,.audio-player-strip .transcript-toggle-btn{display:none}.audio-player-strip .speed-pill{padding:.3rem .45rem}}@media (height<=520px){.audio-player-strip{gap:.75rem;height:44px;padding:0 .75rem}.audio-player-strip .audio-left{min-width:0}.audio-player-strip .track-title,.audio-player-strip .volume-control{display:none}}@media (width<=640px){.grammar-metrics-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.grammar-metrics-row .metric-pill{text-align:center;justify-content:center;align-items:center;min-width:0;padding:.55rem .4rem}.grammar-metrics-row .metric-num{font-size:1rem;line-height:1.25}.grammar-metrics-row .metric-lbl{font-size:.68rem;line-height:1.3}.hero-kpi-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.9rem 1rem;padding:1rem 1.1rem;display:grid}.hero-kpi-bar .kpi-divider{display:none}.hero-kpi-bar .kpi-unit{min-width:0}.hero-kpi-bar .kpi-unit-num{font-size:1.3rem}.history-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.history-stats-grid .stat-card{flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0;padding:.75rem .7rem}.history-stats-grid .stat-icon-wrap{width:30px;height:30px}.history-stats-grid .stat-icon-wrap svg{width:16px;height:16px}.history-stats-grid .stat-value{font-size:1.3rem}.history-stats-grid .stat-name{font-size:.7rem;line-height:1.3}.lesson-formula-banner{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.formula-banner-code{overflow-wrap:anywhere;font-size:.95rem}}
