:root{--primary: #2f67f6;--primary-dark: #244fc4;--primary-soft: #eef3ff;--ink: #14231d;--muted: #65736c;--muted-light: #99a39e;--border: #dfe5df;--bg: #f5f6f1;--card: #ffffff;--success: #16865b;--danger: #d64045;--warning: #b76a00;--green: #16865b;--red: #d64045;--yellow: #b76a00;--accent: #d9f772;--navy: #11271f;--radius: 16px;--radius-sm: 11px;--radius-lg: 22px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(20, 35, 29, .04);--shadow: 0 1px 2px rgba(20, 35, 29, .04), 0 10px 28px rgba(20, 35, 29, .05);--shadow-lg: 0 16px 44px rgba(20, 35, 29, .1);--shadow-xl: 0 26px 70px rgba(20, 35, 29, .15);--listening: #7452d6;--structure: #16856e;--reading: #2f67f6;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .12s ease;--transition: .2s ease;--transition-spring: .25s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{color-scheme:dark;--primary: #7fa2ff;--primary-dark: #9ab5ff;--primary-soft: #1c2d38;--ink: #f2f5ef;--muted: #a2aea7;--muted-light: #6e7b74;--border: #31433b;--bg: #101915;--card: #17231e;--navy: #0b1511;--accent: #cceb68;--green: #3ec98e;--red: #ff8a80;--yellow: #ffc247;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .25);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .3), 0 24px 48px rgba(0, 0, 0, .3)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;color:var(--ink)}h1{font-size:32px;font-weight:800;line-height:1.2;letter-spacing:-.02em}h2{font-size:24px;font-weight:800;line-height:1.3;letter-spacing:-.01em}h3{font-size:18px;font-weight:700;line-height:1.4}button{font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.test-secure{user-select:none;-webkit-user-select:none}.test-secure input,.test-secure textarea,.test-secure select{user-select:text;-webkit-user-select:text}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100%;left:16px;background:var(--primary);color:#fff;padding:10px 18px;border-radius:8px;font-weight:700;z-index:999;transition:top .2s}.skip-link:focus{top:16px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:color-mix(in srgb,var(--card) 92%,transparent);color:var(--ink);padding:0 24px;border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent);position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}[data-theme=dark] .topbar{background:color-mix(in srgb,var(--card) 90%,transparent);box-shadow:none}.topbar-inner{width:100%;max-width:1240px;min-height:68px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.topbar-primary,.topbar-actions{display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;color:var(--ink);letter-spacing:-.2px}.brand-mark{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:var(--navy);border-radius:11px}.brand-copy{display:inline-flex;align-items:center;gap:8px}.brand .badge{background:var(--primary-soft);border:1px solid var(--border);color:var(--primary);font-size:9px;padding:3px 7px;border-radius:var(--radius-full);font-weight:700;letter-spacing:.5px;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:4px;padding:4px;border-radius:12px}.nav-button,.icon-button{border:0;color:var(--muted);background:transparent;font:inherit}.nav-button{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:9px;font-size:13px;font-weight:650;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast)}.nav-button:hover,.nav-button.active{color:var(--ink);background:var(--bg)}.nav-button.active{box-shadow:inset 0 0 0 1px var(--border)}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:11px}.icon-button:hover{color:var(--ink);background:var(--bg)}.topbar-cta{border-radius:11px;box-shadow:none}.topbar-join{background:var(--primary-soft);border:1px solid var(--border);color:var(--primary);border-radius:11px}.topbar-join:hover{background:var(--primary);border-color:var(--primary);color:#fff}.mobile-bottom-nav{display:none}.container{width:100%;max-width:1180px;margin:0 auto;padding:34px 24px 72px}.page-enter{animation:pageIn .28s cubic-bezier(0,0,.2,1) both}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.card-interactive{transition:transform var(--transition-spring),box-shadow var(--transition);cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-glass{background:#ffffff14;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:16px;color:#fff}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);background:var(--card);color:var(--ink);font-weight:700;font-size:14px;padding:10px 18px;border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;position:relative}.btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.btn-lg{padding:14px 28px;font-size:16px;border-radius:12px;font-weight:700}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--primary-soft)}.btn-danger{background:color-mix(in srgb,var(--danger) 10%,var(--card));border-color:color-mix(in srgb,var(--danger) 25%,var(--border));color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 15%,var(--card));border-color:color-mix(in srgb,var(--danger) 35%,var(--border));color:var(--danger)}.btn-sm{padding:6px 14px;font-size:13px;border-radius:8px}.section-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.4px}.chip-listening{background:#f3e8ff;color:var(--listening)}.chip-structure{background:#ccfbf1;color:var(--structure)}.chip-reading{background:var(--primary-soft);color:var(--reading)}[data-theme=dark] .chip-listening{background:#7c3aed33}[data-theme=dark] .chip-structure{background:#0d948833}[data-theme=dark] .chip-reading{background:#2563eb33}.question-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;margin-bottom:18px;box-shadow:var(--shadow)}.q-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.q-number{font-weight:800;font-size:13px;color:var(--muted)}.passage-box{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--reading);border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:18px;font-size:14.5px;line-height:1.65;color:var(--ink);max-height:340px;overflow:auto}.passage-box h4{margin:0 0 8px;color:var(--reading)}.passage-pane{position:sticky;top:84px;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:4px}.passage-left{max-height:none;border-left-width:4px;font-size:15.5px;line-height:1.75;margin-bottom:0;padding:18px 20px}.passage-left h4{position:sticky;top:0;background:var(--bg);padding:4px 0 10px;z-index:1;font-size:15px}[data-theme=dark] .passage-left h4{background:var(--bg)}.reading-highlight{background:#fde047;color:#1f2937;border-radius:3px;padding:0 2px;font-weight:700}[data-theme=dark] .reading-highlight{background:#a16207;color:#fef9c3}.practice-passage .reading-highlight{background:#fde047;color:#1f2937}[data-theme=dark] .practice-passage .reading-highlight{background:#a16207;color:#fef9c3}.script-box{background:#faf5ff;border:1px dashed #d8b4fe;border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:12px;font-size:14.5px;line-height:1.6;color:#3b0764}[data-theme=dark] .script-box{background:#7c3aed1a;border-color:#7c3aed4d;color:#c4b5fd}.option{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);padding:13px 14px;margin-bottom:10px;transition:all var(--transition-fast);font-size:14.5px;line-height:1.4}.option:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);color:var(--ink)}.option.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--ink);box-shadow:0 0 0 3px #2563eb26}.option.correct{border-color:var(--success);background:#f0fdf4;animation:correctFlash .6s ease}.option.incorrect{border-color:var(--danger);background:#fef2f2;animation:shake .4s ease}.option .letter{flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:var(--bg);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;font-family:var(--font-mono)}.option.selected .letter{background:var(--primary);color:#fff}.option.correct .letter{background:var(--success);color:#fff}.option.incorrect .letter{background:var(--danger);color:#fff}.toefl-sentence{display:block;margin:0 0 14px;padding:12px 16px 14px;background:color-mix(in srgb,var(--bg) 55%,var(--card));border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:12px;font-size:16.5px;line-height:2.05;letter-spacing:-.005em}.toefl-direction{display:block;margin-bottom:4px;color:var(--muted);font-size:.78em;font-weight:800;letter-spacing:.03em}.toefl-plain{display:inline-block;vertical-align:top;padding-top:1px;white-space:pre-wrap}.toefl-segment{display:inline-flex;flex-direction:column;align-items:center;vertical-align:top;margin:0 4px;padding:1px 5px 0;color:inherit;background:transparent;border:1px solid transparent;border-radius:9px;font:inherit;text-align:center;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.toefl-segment:disabled{cursor:default}.toefl-underlined{display:block;padding-bottom:1px;border-bottom:1.5px solid color-mix(in srgb,var(--ink) 55%,transparent);line-height:1.5;transition:color var(--transition-fast),border-color var(--transition-fast)}.toefl-letter-row{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:3px}.toefl-letter{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:.6em;font-weight:800;line-height:1;transition:all var(--transition-fast)}.toefl-mark{font-size:.7em;font-weight:800;line-height:1}.toefl-segment:hover:not(:disabled){background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.toefl-segment:hover:not(:disabled) .toefl-underlined{color:var(--primary);border-color:var(--primary)}.toefl-segment:hover:not(:disabled) .toefl-letter{color:#fff;background:var(--primary);border-color:var(--primary)}.toefl-segment.selected{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.toefl-segment.selected .toefl-underlined{color:var(--primary);border-color:var(--primary)}.toefl-segment.selected .toefl-letter{color:#fff;background:var(--primary);border-color:var(--primary)}.toefl-segment.correct{background:color-mix(in srgb,var(--success) 9%,var(--card));border-color:color-mix(in srgb,var(--success) 55%,transparent)}.toefl-segment.correct .toefl-underlined{color:var(--success);border-color:var(--success)}.toefl-segment.correct .toefl-letter{color:#fff;background:var(--success);border-color:var(--success)}.toefl-segment.correct .toefl-mark{color:var(--success)}.toefl-segment.incorrect{background:color-mix(in srgb,var(--danger) 8%,var(--card));border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.toefl-segment.incorrect .toefl-underlined{color:var(--danger);border-color:var(--danger)}.toefl-segment.incorrect .toefl-letter{color:#fff;background:var(--danger);border-color:var(--danger)}.toefl-segment.incorrect .toefl-mark{color:var(--danger)}.toefl-inline-seg{white-space:nowrap}.toefl-inline-und{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.toefl-inline-letter{margin-left:1px;color:var(--muted);font-family:var(--font-mono);font-size:.68em;font-weight:800}.practice-toefl{max-width:740px;margin:25px 0 20px;font-size:19px}@keyframes correctFlash{0%{box-shadow:0 0 #16a34a66}50%{box-shadow:0 0 0 10px #16a34a00}to{box-shadow:0 0 #16a34a00}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.explanation{margin-top:10px;padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;font-size:13.5px;color:#713f12;line-height:1.55;animation:slideDown .25s ease both}[data-theme=dark] .explanation{background:#fbbf241a;border-color:#fbbf244d;color:#fde68a}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.timer{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:700;font-size:15px;padding:8px 16px;border-radius:var(--radius-sm);background:#fefce8;border:1px solid #fde047;color:#854d0e;transition:all var(--transition-fast)}.timer.warning{background:#fef2f2;border-color:#fca5a5;color:var(--danger);animation:timerPulse .8s ease-in-out infinite}@keyframes timerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.04)}}.nav-grid{display:flex;flex-wrap:wrap;gap:8px}.nav-dot{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--border);background:var(--card);font-size:12px;font-weight:700;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.nav-dot:hover:not(.current){border-color:var(--primary);color:var(--primary)}.nav-dot.current{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 0 0 3px #2563eb33}.nav-dot.answered{background:#dcfce7;border-color:#86efac;color:#166534}.nav-dot.current.answered{background:var(--primary);border-color:var(--primary);color:#fff}.nav-dot.review{background:#fef9c3;border-color:#fde047;color:#854d0e}[data-theme=dark] .nav-dot.answered{background:#16a34a33;border-color:#16a34a66;color:#4ade80}[data-theme=dark] .nav-dot.review{background:#facc1526;border-color:#facc1566;color:#fde047}.progress-track{height:8px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#60a5fa);border-radius:var(--radius-full);transition:width .4s cubic-bezier(0,0,.2,1)}.score-hero{text-align:center;padding:36px 20px 32px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#1e3a8a,#2563eb,#4f46e5);color:#fff;margin-bottom:24px;position:relative;overflow:hidden}.score-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.score-hero .total{font-size:72px;font-weight:800;line-height:1;margin:8px 0 4px;font-family:var(--font-mono);letter-spacing:-2px}.score-hero .sub{opacity:.85;font-size:15px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:18px 0}.stat-box{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 16px;text-align:center;box-shadow:var(--shadow);transition:transform var(--transition-spring),box-shadow var(--transition)}.stat-box:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-box .num{font-size:30px;font-weight:800;font-family:var(--font-mono)}.stat-box .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-weight:600}.bar-row{display:grid;grid-template-columns:130px 1fr 70px;align-items:center;gap:12px;margin-bottom:14px}.bar-label{font-size:13px;font-weight:700}.bar-scale{height:16px;background:var(--border);border-radius:var(--radius-full);overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(0,0,.2,1);min-width:4px}.bar-val{font-weight:800;font-size:14px;text-align:right;font-family:var(--font-mono)}.muted{color:var(--muted)}.small{font-size:13px}.bold{font-weight:700}.text-center{text-align:center}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.divider{height:1px;background:var(--border);margin:20px 0}.banner{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:12px;background:color-mix(in srgb,var(--primary) 10%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--card));color:var(--primary-dark);font-size:14px;line-height:1.55}.banner.warn{background:color-mix(in srgb,var(--warning) 10%,var(--card));border-color:color-mix(in srgb,var(--warning) 25%,var(--border));color:var(--warning)}[data-theme=dark] .banner{background:color-mix(in srgb,var(--primary) 15%,transparent);border-color:color-mix(in srgb,var(--primary) 30%,transparent);color:var(--primary)}[data-theme=dark] .banner.warn{background:color-mix(in srgb,var(--warning) 15%,transparent);border-color:color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:40px 20px;text-align:center;color:var(--muted);background:#f8fafc;transition:all var(--transition);cursor:pointer}.dropzone:hover,.dropzone.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}[data-theme=dark] .dropzone{background:#ffffff05}[data-theme=dark] .dropzone:hover{background:#2563eb14}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .15s ease}.modal{background:var(--card);border-radius:18px;width:100%;max-width:620px;max-height:88vh;overflow:auto;padding:28px;box-shadow:var(--shadow-xl);animation:modalIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--border) 25%,transparent 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.empty-state{text-align:center;padding:48px 24px;animation:floatUp .5s cubic-bezier(0,0,.2,1) both}.empty-state>*:nth-child(2){animation-delay:.1s}.empty-state>*:nth-child(3){animation-delay:.2s}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:14px;font-weight:600;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1);min-width:260px}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}.toast.info{border-left:3px solid var(--primary)}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.hidden{display:none}.spin{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.gap-8{gap:8px}.gap-12{gap:12px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}.table th{background:var(--bg);font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:700}.table tbody tr:hover td{background:var(--primary-soft)}.tabs{display:flex;gap:6px;background:var(--bg);padding:5px;border-radius:12px;border:1px solid var(--border);margin-bottom:20px;flex-wrap:wrap}.tab{padding:9px 18px;border-radius:9px;border:none;background:transparent;font-weight:600;font-size:14px;color:var(--muted);transition:all var(--transition-fast);cursor:pointer}.tab:hover{color:var(--ink)}.tab:focus-visible{outline-offset:-2px}.tab.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow)}.tab.reviewed{background:color-mix(in srgb,var(--warning) 10%,var(--card));color:var(--warning)}[data-theme=dark] .tab.reviewed{background:color-mix(in srgb,var(--warning) 20%,transparent);color:var(--warning)}.score-odometer{display:inline-block;font-family:var(--font-mono);font-weight:800}.bg-immersive-listening{background:linear-gradient(180deg,color-mix(in srgb,var(--listening) 6%,var(--bg)) 0%,var(--bg) 100%)}.bg-immersive-structure{background:linear-gradient(180deg,color-mix(in srgb,var(--structure) 6%,var(--bg)) 0%,var(--bg) 100%)}.bg-immersive-reading{background:linear-gradient(180deg,color-mix(in srgb,var(--reading) 6%,var(--bg)) 0%,var(--bg) 100%)}.paket-strip{margin-bottom:20px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm)}.paket-strip-head,.paket-manager-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.paket-strip-list,.paket-chip-list{display:flex;flex-wrap:wrap;gap:8px}.paket-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;transition:all var(--transition-fast);text-align:left}.paket-chip:hover{border-color:var(--primary)}.paket-chip.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #2563eb1f}.paket-chip-name{font-weight:700;font-size:13px;color:var(--ink)}.paket-chip.active .paket-chip-name{color:var(--primary)}.paket-chip-count{font-size:11px;font-weight:600;color:var(--muted);background:var(--bg);padding:2px 8px;border-radius:var(--radius-full)}.paket-manager{padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:18px;box-shadow:var(--shadow-sm)}.paket-create-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.auth-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px;color:var(--ink)}.auth-brand svg{color:var(--primary)}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-field{display:flex;align-items:center;gap:10px;border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--muted);transition:border-color var(--transition-fast)}.auth-field:focus-within{border-color:var(--primary)}.auth-field input{border:none;outline:none;flex:1;font-size:15px;background:transparent;color:var(--ink)}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin:14px 0 10px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f2937;border:1px solid #d1d5db}.auth-google:hover:not(:disabled){background:#f9fafb;border-color:#c7cdd4}[data-theme=dark] .auth-google{background:#1f2937;color:#f9fafb;border-color:#374151}[data-theme=dark] .auth-google:hover:not(:disabled){background:#111827}.google-g{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#4285f4;color:#fff;font-size:12px;font-weight:800}.auth-demo-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.auth-demo-buttons .btn{border-color:var(--border)}.auth-demo-buttons .btn:hover{border-color:var(--primary)}.user-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);color:var(--ink);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600}.user-chip .role-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:999px}.role-badge.admin{background:var(--warning);color:var(--card)}.role-badge.user{background:var(--success);color:var(--card)}[data-theme=dark] .role-badge.admin{background:var(--warning);color:var(--card)}[data-theme=dark] .role-badge.user{background:var(--success);color:var(--card)}.topbar-login{background:var(--primary);border:1px solid var(--primary);color:#fff;border-radius:11px}.topbar-login:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.role-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;background:var(--primary-soft);border:1px solid var(--border)}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:linear-gradient(160deg,var(--navy) 0%,color-mix(in srgb,var(--navy) 55%,var(--green)) 100%);display:flex;align-items:center;justify-content:center;padding:clamp(8px,2vh,20px);overflow:hidden;overscroll-behavior:contain;animation:fadeIn .3s ease}.onboarding-card{position:relative;width:100%;max-width:520px;background:var(--card);border-radius:20px;box-shadow:var(--shadow-xl);padding:clamp(20px,3.5vh,30px) 30px;animation:modalIn .4s cubic-bezier(.34,1.56,.64,1);max-height:calc(100dvh - clamp(16px,4vh,40px));overflow:hidden}.onboarding-progress{display:flex;gap:6px;margin-bottom:clamp(11px,2vh,17px);padding-right:72px}.onboarding-progress span{height:6px;border-radius:999px;background:var(--border);flex:1;transition:all .3s ease}.onboarding-progress span.active{background:var(--primary)}.onboarding-progress span.done{background:var(--success)}.onboarding-skip{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;padding:8px 10px;border-radius:8px}.onboarding-skip:hover{background:var(--bg);color:var(--ink)}.onboarding-step{text-align:center;animation:pageIn .3s cubic-bezier(0,0,.2,1) both}.onboarding-icon{width:clamp(48px,7vh,58px);height:clamp(48px,7vh,58px);border-radius:16px;margin:0 auto clamp(10px,1.8vh,15px);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--green),#0d5138);color:#fff}.onboarding-step h1{font-size:clamp(21px,3vh,24px);line-height:1.18;font-weight:800;margin:0 0 6px}.onboarding-sub{color:var(--muted);margin:0 0 clamp(12px,2vh,18px);font-size:13px;line-height:1.45}.onboarding-feature-list{display:flex;flex-direction:column;gap:8px;text-align:left;margin:0 auto clamp(15px,2.5vh,22px);max-width:340px}.onboarding-feature-list span{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ink)}.onboarding-feature-list span svg{color:var(--primary);flex:0 0 auto}.target-display{margin-bottom:7px}.target-display strong{display:block;font-size:clamp(48px,8vh,60px);font-weight:800;font-family:var(--font-mono);color:var(--primary);line-height:1.1}.target-display span{font-size:12px;color:var(--muted);font-weight:600}.target-slider{width:100%;accent-color:var(--primary);height:8px;cursor:pointer}.target-range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:600;margin-top:6px}.plan-options{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.plan-option{display:flex;align-items:center;gap:11px;text-align:left;padding:10px 13px;border:1.5px solid var(--border);border-radius:14px;background:var(--card);cursor:pointer;transition:all var(--transition-fast)}.plan-option:hover{border-color:var(--primary)}.plan-option.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #2563eb1f}.plan-icon{font-size:21px}.plan-copy{display:flex;flex-direction:column;gap:2px}.plan-copy strong{font-size:13px}.plan-copy strong small{font-size:11px;color:var(--primary);background:var(--primary-soft);padding:2px 8px;border-radius:999px;margin-left:6px}.plan-copy em{font-style:normal;font-size:11px;color:var(--muted)}.onboarding-name{display:flex;align-items:center;gap:10px;border:1.5px solid var(--border);border-radius:12px;padding:9px 12px;margin-bottom:13px;color:var(--muted)}.onboarding-name:focus-within{border-color:var(--primary)}.onboarding-name input{min-width:0;border:none;outline:none;flex:1;font-size:13px;background:transparent;color:var(--ink)}.onboarding-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}@media(max-width:560px){.onboarding-card{max-width:430px;padding-inline:20px;border-radius:17px}.onboarding-progress{padding-right:62px}.onboarding-skip{font-size:11px}.onboarding-feature-list span{font-size:12px}.plan-copy strong small{font-size:9px;padding:2px 6px}.onboarding-actions{flex-wrap:nowrap}.onboarding-actions .btn{min-width:0;padding-inline:13px}}@media(max-height:560px){.onboarding-backdrop{align-items:stretch}.onboarding-card{margin:auto;max-height:calc(100dvh - 12px);overflow-y:auto}.onboarding-icon{width:42px;height:42px;margin-bottom:7px}.onboarding-step h1{font-size:19px}.onboarding-sub{margin-bottom:9px}.plan-options{gap:5px;margin-bottom:8px}.plan-option{padding-block:7px}}@media print{.topbar,.mobile-bottom-nav,.btn,.skip-link,.dashboard-status-row,.paket-strip,.achievement-panel,.toast-container,.modal-backdrop{display:none!important}body{background:#fff;color:#000}.container{max-width:100%;padding:0}.score-hero{background:#1e3a8a!important;print-color-adjust:exact;-webkit-print-color-adjust:exact;break-inside:avoid}.card,.question-card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.option,.table th,.bar-scale,.stat-box{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.activity-status-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);font-size:11.5px;font-weight:700}.activity-card-body{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start}.heatmap-area{display:flex;flex-direction:column;gap:14px;min-width:0}.heatmap-container{display:flex;align-items:center;gap:10px}.heatmap-days{display:flex;flex-direction:column;justify-content:space-between;height:108px;padding:2px 0;font-size:9.5px;font-weight:700;color:var(--muted);-webkit-user-select:none;user-select:none;flex:0 0 auto}.heatmap-wrap{overflow-x:auto;min-width:0}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;width:max-content}.heatmap-cell{width:13px;height:13px;border-radius:3px;background:color-mix(in srgb,var(--primary) 0%,var(--border) 100%);border:1px solid var(--border);transition:opacity var(--transition-fast),transform var(--transition-fast)}.heatmap-cell:hover{opacity:.85;transform:scale(1.15);z-index:1}.heatmap-cell.l1{background:color-mix(in srgb,var(--primary) 20%,var(--primary-soft));border-color:color-mix(in srgb,var(--primary) 25%,var(--primary-soft))}.heatmap-cell.l2{background:color-mix(in srgb,var(--primary) 45%,var(--primary-soft));border-color:color-mix(in srgb,var(--primary) 45%,var(--primary-soft))}.heatmap-cell.l3{background:color-mix(in srgb,var(--primary) 72%,var(--primary-soft));border-color:color-mix(in srgb,var(--primary) 72%,var(--primary-soft))}.heatmap-cell.l4{background:var(--primary);border-color:var(--primary)}.heatmap-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px dashed var(--border);width:100%}.heatmap-legend{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--muted)}.heatmap-legend .heatmap-cell{width:11px;height:11px}.challenge-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:20px;box-shadow:var(--shadow-sm)}.challenge-strip .challenge-icon{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.challenge-strip .challenge-copy{flex:1;min-width:180px}.challenge-strip .challenge-copy strong{display:block;font-size:14px}.challenge-strip .challenge-copy small{color:var(--muted)}.listening-panel{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border:1px solid #e9d5ff;border-radius:var(--radius);padding:18px 20px;margin-bottom:16px}[data-theme=dark] .listening-panel{background:#7c3aed14;border-color:#7c3aed40}.waveform{display:flex;align-items:center;gap:3px;height:26px;margin-bottom:0}.listening-panel .waveform{margin-bottom:12px}.wf-bar{flex:1;min-width:2px;height:5px;border-radius:2px;background:linear-gradient(180deg,#a78bfa,#7c3aed);transition:height 80ms ease}[data-theme=dark] .wf-bar{background:linear-gradient(180deg,#8b5cf6,#c4b5fd)}.speed-popover{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;z-index:50;display:flex;flex-direction:column;gap:2px;min-width:84px;animation:popoverIn .18s cubic-bezier(.34,1.56,.64,1)}@keyframes popoverIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.speed-popover button{padding:8px 12px;border:none;background:transparent;border-radius:8px;font-weight:600;font-size:13px;color:var(--muted);cursor:pointer;transition:all var(--transition-fast)}.speed-popover button:hover{background:var(--primary-soft);color:var(--primary)}.speed-popover button.active{background:var(--primary);color:#fff}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px}.badge-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 12px;text-align:center;transition:transform var(--transition-spring),box-shadow var(--transition);position:relative;overflow:hidden}.badge-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.badge-card .badge-icon{width:48px;height:48px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-size:24px}.badge-card.unlocked .badge-icon{background:linear-gradient(135deg,#fef3c7,#fbbf24);box-shadow:0 0 0 4px #fbbf2433;animation:badgePop .5s cubic-bezier(.34,1.56,.64,1)}.badge-card.locked .badge-icon{background:var(--bg);filter:grayscale(1);opacity:.5}.badge-card .badge-name{font-size:12px;font-weight:700;margin-bottom:2px}.badge-card .badge-desc{font-size:11px;color:var(--muted);line-height:1.35}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}.streak-chip{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fff7ed,#fed7aa);border:1px solid #fdba74;color:#9a3412;font-weight:700;font-size:13px;padding:6px 14px;border-radius:var(--radius-full)}[data-theme=dark] .streak-chip{background:#fb923c26;border-color:#fb923c66;color:#fdba74}.streak-chip.week-done{background:linear-gradient(135deg,#ecfdf5,#a7f3d0);border-color:#6ee7b7;color:#047857}[data-theme=dark] .streak-chip.week-done{background:#10b98129;border-color:#34d39973;color:#34d399}.focus-chip{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;color:#4338ca;font-weight:700;font-size:12px;padding:5px 12px;border-radius:var(--radius-full)}[data-theme=dark] .focus-chip{background:#6366f129;border-color:#818cf873;color:#a5b4fc}.reading-size-sm .passage-box,.reading-size-sm .passage-left{font-size:13.5px;line-height:1.6}.reading-size-sm .practice-passage{font-size:13.5px}.reading-size-sm .practice-question-text{font-size:15px}.reading-size-lg .passage-box,.reading-size-lg .passage-left{font-size:17.5px;line-height:1.85}.reading-size-lg .practice-passage{font-size:17px;line-height:1.85}.reading-size-lg .practice-question-text{font-size:17px}.profile-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.toggle-pill{width:40px;height:22px;border-radius:999px;background:var(--border);position:relative;transition:background var(--transition-fast);flex:0 0 auto}.toggle-pill>span{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--transition-fast)}.profile-toggle strong{font-size:13px}.profile-seg button{padding:6px 14px}.insight-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:var(--primary-soft);border:1px solid var(--border);font-size:14px;line-height:1.55}.insight-card .insight-icon{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.backup-actions{display:flex;gap:10px;flex-wrap:wrap}.landing{background:var(--bg)}.landing-hero{padding:78px 24px 66px;background:radial-gradient(circle at 85% 10%,rgba(47,103,246,.11),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--card) 68%,var(--bg)),var(--bg));border-bottom:1px solid var(--border)}.landing-hero-grid,.landing-section,.proof-strip,.workflow-panel,.landing-footer{width:100%;max-width:1180px;margin:0 auto}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:76px}.eyebrow,.section-kicker,.dashboard-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.landing-hero h1{max-width:700px;margin:20px 0;color:var(--ink);font-size:clamp(43px,5.2vw,70px);line-height:.99;letter-spacing:-.055em;font-weight:850}.landing-hero h1 span{color:var(--primary)}.landing-lead{max-width:610px;margin:0;color:var(--muted);font-size:17px;line-height:1.72}.landing-actions{display:flex;align-items:center;gap:12px;margin-top:30px}.landing-primary-cta{padding-inline:24px}.landing-secondary-cta{background:transparent}.landing-assurances{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;color:var(--muted);font-size:12px;font-weight:650}.landing-assurances span{display:inline-flex;align-items:center;gap:6px}.landing-assurances svg{color:var(--success)}.score-preview{position:relative;min-height:500px;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:26px;box-shadow:20px 20px color-mix(in srgb,var(--accent) 72%,transparent),var(--shadow-xl);transform:rotate(1.4deg)}.score-preview:before{display:none}.preview-topline,.preview-score-row,.preview-meta,.preview-plan-title,.preview-section-row{display:flex;align-items:center}.preview-topline{justify-content:space-between;padding-bottom:20px;color:var(--muted);font-size:11px;font-weight:700;border-bottom:1px solid var(--border)}.preview-dots{display:flex;gap:5px}.preview-dots i{width:7px;height:7px;border-radius:50%;background:var(--border)}.preview-dots i:nth-child(1){background:#ff8275}.preview-dots i:nth-child(2){background:#f4bd52}.preview-dots i:nth-child(3){background:#65bd7d}.preview-live{display:inline-flex;align-items:center;gap:5px;color:var(--success)}.preview-live i{width:6px;height:6px;background:currentColor;border-radius:50%}.preview-score-row{justify-content:space-between;margin-top:28px}.preview-score-row>div:first-child{display:flex;flex-direction:column}.preview-label{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em}.preview-score-row strong{margin-top:3px;font-family:var(--font-mono);font-size:62px;line-height:1;letter-spacing:-.06em}.preview-ring{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--primary) 72%,var(--primary-soft) 0);position:relative}.preview-ring:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:var(--card)}.preview-ring span{z-index:1;font-family:var(--font-mono);font-weight:800;font-size:12px}.preview-progress{height:8px;margin-top:24px;background:var(--primary-soft);border-radius:999px;overflow:hidden}.preview-progress span{display:block;width:72%;height:100%;border-radius:inherit;background:var(--primary)}.preview-meta{justify-content:space-between;margin-top:10px;color:var(--muted);font-size:11px}.preview-meta strong{color:var(--ink);font-family:var(--font-mono)}.preview-divider{height:1px;margin:28px 0 22px;background:var(--border)}.preview-plan-title{justify-content:space-between}.preview-plan-title>div{display:flex;flex-direction:column;gap:4px}.preview-plan-title strong{font-size:15px}.preview-plan-title>span{color:var(--muted);font-family:var(--font-mono);font-size:12px;font-weight:700}.preview-section-list{display:grid;gap:10px;margin-top:16px}.preview-section-row{gap:12px;padding:13px;border:1px solid var(--border);border-radius:14px}.preview-section-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.preview-section-row.listening .preview-section-icon{color:var(--listening);background:color-mix(in srgb,var(--listening) 12%,var(--card))}.preview-section-row.structure .preview-section-icon{color:var(--structure);background:color-mix(in srgb,var(--structure) 12%,var(--card))}.preview-section-row>span:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column}.preview-section-row strong{font-size:12px}.preview-section-row small{margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-section-row b{color:var(--primary);font-size:10px}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:0 24px;background:var(--card);border:1px solid var(--border);border-top:0;border-radius:0 0 20px 20px}.proof-strip>div{padding:22px 28px;border-right:1px solid var(--border)}.proof-strip>div:last-child{border-right:0}.proof-strip strong{display:block;color:var(--ink);font-family:var(--font-mono);font-size:20px}.proof-strip span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.landing-section{padding:112px 24px}.landing-feature-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}.section-intro{position:sticky;top:110px}.section-intro h2,.section-heading-row h2,.workflow-copy h2{margin:14px 0 16px;font-size:clamp(33px,4vw,48px);line-height:1.08;letter-spacing:-.045em}.workflow-copy h2{color:#f7faf5}.section-intro p,.section-heading-row>p,.workflow-copy>p{color:var(--muted);font-size:15px;line-height:1.7}.section-intro p{max-width:390px}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.feature-card{min-height:260px;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:20px;position:relative;transition:transform var(--transition),border-color var(--transition)}.feature-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.feature-number{position:absolute;top:20px;right:22px;color:var(--muted-light);font-family:var(--font-mono);font-size:11px}.feature-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:12px}.feature-card h3{margin:48px 0 9px;font-size:18px}.feature-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.exam-section-block{padding-top:24px}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section-heading-row h2{margin-bottom:0}.section-heading-row>p{max-width:430px;margin:0}.exam-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.exam-card{--section-color: var(--primary);min-height:330px;padding:24px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:inset 0 3px 0 var(--section-color)}.exam-card.listening{--section-color: var(--listening)}.exam-card.structure{--section-color: var(--structure)}.exam-card.reading{--section-color: var(--reading)}.exam-card-top{display:flex;justify-content:space-between;align-items:center}.exam-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--section-color);background:color-mix(in srgb,var(--section-color) 11%,var(--card));border-radius:13px}.exam-index{color:var(--muted);font-family:var(--font-mono);font-size:12px}.exam-card h3{max-width:250px;margin:54px 0 10px;font-size:20px;line-height:1.25}.exam-card p{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.65}.exam-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:700}.exam-card-meta span{display:inline-flex;align-items:center;gap:5px}.workflow-wrap{padding:0 24px 112px}.workflow-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;padding:68px;color:#f7faf5;background:var(--navy);border-radius:28px;overflow:hidden;position:relative}.workflow-panel:after{content:"";position:absolute;width:320px;height:320px;right:-100px;bottom:-180px;border:60px solid rgba(217,247,114,.08);border-radius:50%}.workflow-panel .section-kicker{color:var(--accent)}.workflow-copy>p{color:#f7faf5a6;max-width:420px}.workflow-cta{margin-top:18px;color:var(--ink);background:var(--accent);border:0}.workflow-cta:hover:not(:disabled){color:var(--ink);background:#e4fb95}.workflow-steps{display:grid;gap:0;margin:0;padding:0;list-style:none;position:relative;z-index:1}.workflow-steps li{display:grid;grid-template-columns:46px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}.workflow-steps li:last-child{border-bottom:0}.workflow-steps li>span{color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:800}.workflow-steps strong{display:block;margin-bottom:5px;font-size:16px}.workflow-steps p{margin:0;color:#f7faf594;font-size:12px;line-height:1.6}.landing-footer{padding:28px 24px 38px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);color:var(--muted);font-size:11px}.landing-footer>span{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;font-weight:800}.landing-footer p{margin:0;text-align:center}.landing-footer button{display:inline-flex;align-items:center;gap:6px;padding:0;color:var(--primary);background:transparent;border:0;font:inherit;font-weight:800}.dashboard-page{display:grid;gap:22px}.dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:6px 0 8px}.dashboard-heading h1{max-width:680px;margin:8px 0 5px;font-size:clamp(27px,3vw,36px);line-height:1.15;letter-spacing:-.035em}.dashboard-heading p{margin:0;color:var(--muted);font-size:13px}.dashboard-status-row{display:flex;align-items:center;gap:8px}.delta-chip{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800}.delta-chip.positive{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--card))}.delta-chip.negative{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--card))}.dashboard-focus-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:16px}.focus-session-card{min-height:344px;padding:34px;display:flex;flex-direction:column;color:#f7faf5;background:var(--navy);border-radius:22px;position:relative;overflow:hidden}.focus-session-card:after{content:"";position:absolute;width:250px;height:250px;right:-100px;top:-90px;border:48px solid rgba(217,247,114,.09);border-radius:50%}.focus-card-copy{position:relative;z-index:1}.focus-label{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.focus-session-card h2{max-width:540px;margin:16px 0 10px;font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-.04em;color:#f7faf5}.focus-session-card p{max-width:590px;margin:0;color:#f7faf5a3;font-size:13px;line-height:1.65}.focus-actions{display:flex;gap:10px;margin-top:27px;position:relative;z-index:1}.focus-primary{color:var(--ink);background:var(--accent);border:0}.focus-primary svg:last-child{margin-left:5px}.focus-primary:hover:not(:disabled){color:var(--ink);background:#e4fb95}.focus-secondary{color:#f7faf5;background:#ffffff12;border-color:#ffffff29}.focus-secondary:hover:not(:disabled){color:#fff;background:#ffffff1f;border-color:#ffffff47}.focus-footnote{display:flex;align-items:center;gap:9px;margin-top:auto;color:#f7faf573;font-size:10px;font-weight:700}.focus-footnote i{width:3px;height:3px;border-radius:50%;background:currentColor}.workspace-card{padding:24px;background:var(--card);border:1px solid var(--border);border-radius:22px}.workspace-card-head{display:flex;align-items:start;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--border)}.workspace-card-head>div{display:flex;flex-direction:column;gap:5px}.workspace-card-head strong{font-size:18px}.workspace-card-head>svg{color:var(--primary)}.workspace-actions{display:grid;gap:2px;padding:8px 0}.workspace-actions button{width:100%;display:grid;grid-template-columns:20px 1fr 15px;align-items:center;gap:8px;padding:10px 7px;color:var(--ink);text-align:left;background:transparent;border:0;border-radius:10px}.workspace-actions button:hover{background:var(--bg)}.workspace-actions button>svg{color:var(--muted)}.workspace-actions button span{display:flex;flex-direction:column;font-size:12px;font-weight:750}.workspace-actions button small{margin-top:1px;color:var(--muted);font-size:9px;font-weight:500}.randomize-control{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 7px;border-top:1px solid var(--border);cursor:pointer}.randomize-control>span{display:flex;align-items:center;gap:9px}.randomize-control>span>svg{color:var(--muted)}.randomize-control>span>span{display:flex;flex-direction:column}.randomize-control strong{font-size:11px}.randomize-control small{color:var(--muted);font-size:9px}.randomize-control input{width:34px;height:19px;accent-color:var(--primary)}.data-actions{display:flex;gap:7px;margin-top:8px}.data-actions button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:9px;font:inherit;font-size:9px;font-weight:750}.data-actions button:hover{color:var(--ink)}.activity-stats{display:flex;flex-direction:column;border-left:1px solid var(--border);padding-left:24px;gap:0}.activity-stats-head{display:block;margin-bottom:12px;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.activity-stats-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.activity-stats-row+.activity-stats-row{border-top:1px solid var(--border)}.activity-stats-label{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--muted)}.activity-stats-label svg{color:var(--muted-light);flex:0 0 auto}.activity-stats-value{font-family:var(--font-mono);font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap;letter-spacing:-.02em}.activity-stats-value.week-done-text{color:var(--success)}.activity-week{padding:10px 0 2px;border-top:1px solid var(--border)}.activity-week-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.activity-week .progress-track{height:6px;border-radius:var(--radius-full)}@media(max-width:900px){.activity-card-body{grid-template-columns:1fr;gap:20px}.activity-stats{border-left:0;border-top:1px solid var(--border);padding:18px 0 0;min-width:0}}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-stat-grid article{min-height:138px;padding:19px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:16px}.dashboard-stat-grid article>span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dashboard-stat-grid article>span svg{color:var(--primary)}.dashboard-stat-grid strong{margin-top:18px;font-family:var(--font-mono);font-size:29px;line-height:1;letter-spacing:-.04em}.dashboard-stat-grid small{margin-top:auto;color:var(--muted);font-size:9px}.dashboard-insight{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;background:var(--card)}.dashboard-insight>div:nth-child(2){flex:1 1 auto;margin:0 24px 0 0;font-size:13px;line-height:1.5}.dashboard-insight span{color:var(--muted)}.dashboard-insight button{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;color:var(--primary);background:transparent;border:0;font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:6px 12px;border-radius:6px;transition:background .2s}.dashboard-insight button:hover{background:var(--primary-soft)}.first-result-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;padding:34px;background:var(--card);border:1px solid var(--border);border-radius:20px}.first-result-card h2{margin:10px 0;font-size:25px;line-height:1.15;letter-spacing:-.03em}.first-result-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.result-preview-list{display:grid;gap:8px}.result-preview-list>div{--section-color: var(--primary);display:grid;grid-template-columns:32px 1fr 80px;align-items:center;gap:10px;padding:12px;background:var(--bg);border-radius:12px}.result-preview-list>div.listening{--section-color: var(--listening)}.result-preview-list>div.structure{--section-color: var(--structure)}.result-preview-list>div.reading{--section-color: var(--reading)}.result-preview-list>div>span{color:var(--section-color);font-family:var(--font-mono);font-size:10px;font-weight:800}.result-preview-list>div>div{display:flex;flex-direction:column}.result-preview-list strong{font-size:11px}.result-preview-list small{color:var(--muted);font-size:8px}.result-preview-list i{height:5px;background:color-mix(in srgb,var(--section-color) 18%,var(--card));border-radius:999px;overflow:hidden}.result-preview-list i:after{content:"";display:block;width:62%;height:100%;background:var(--section-color);border-radius:inherit;opacity:.65}.analytics-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.analytics-card{min-height:300px}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.panel-heading h3{margin:4px 0 0;font-size:17px}.panel-heading h3 small{margin-left:6px;color:var(--muted);font-size:10px;font-weight:600}.panel-heading>svg{color:var(--muted)}.achievement-panel,.history-panel{margin-top:0}.achievement-panel .badge-grid{grid-template-columns:repeat(4,1fr);gap:8px}.achievement-panel .badge-card{min-width:0;padding:11px;display:flex;align-items:center;gap:10px;text-align:left;border-radius:12px}.achievement-panel .badge-card:hover{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}.achievement-panel .badge-card .badge-icon{width:34px;height:34px;flex:0 0 auto;margin:0;font-size:17px}.achievement-panel .badge-name{font-size:10px}.achievement-panel .badge-desc{margin-top:2px;font-size:8px}.table-scroll{overflow-x:auto}@media(max-width:980px){.main-nav{display:none}.app-shell.in-app{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.mobile-bottom-nav{position:fixed;z-index:50;left:50%;bottom:10px;transform:translate(-50%);width:min(calc(100% - 20px),520px);padding:6px;padding-bottom:max(6px,env(safe-area-inset-bottom));display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:3px;background:color-mix(in srgb,var(--card) 94%,transparent);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}.mobile-bottom-nav button{min-height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);background:transparent;border:0;border-radius:12px;font:inherit;font-size:9px;font-weight:750;white-space:nowrap;padding:2px 6px;min-width:0}.mobile-bottom-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav button.active{color:var(--primary);background:var(--primary-soft)}.landing-hero-grid{grid-template-columns:1fr;gap:58px}.landing-hero-copy{max-width:720px}.score-preview{width:min(100%,560px);justify-self:center}.landing-feature-layout{grid-template-columns:1fr;gap:38px}.section-intro{position:static}.section-intro p{max-width:620px}.exam-section-grid{grid-template-columns:1fr}.exam-card{min-height:250px}.exam-card h3{margin-top:34px}.workflow-panel{gap:50px;padding:48px}.dashboard-focus-grid{grid-template-columns:1fr}.workspace-card{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.workspace-card-head{grid-column:1 / -1}.data-actions{align-self:end}.dashboard-stat-grid,.achievement-panel .badge-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar{padding:0 14px}.topbar-inner{min-height:60px;gap:10px}.topbar-primary{min-width:0;gap:9px}.topbar-actions{min-width:0;flex:1;justify-content:flex-end;gap:6px}.brand-mark{width:34px;height:34px}.brand-copy{font-size:13px;white-space:nowrap}.brand .badge{display:none}.topbar-actions>.small{display:none}.topbar-join,.topbar-cta{width:36px;height:36px;justify-content:center;padding:0}.topbar-join span,.topbar-cta span{display:none}.user-chip{width:34px;height:34px;justify-content:center;padding:3px;background:transparent;border-color:transparent}.user-chip>span{display:none}.user-chip .icon-button{width:28px!important;height:28px!important}.container{padding:24px 16px 54px}.landing-hero{padding:58px 18px 48px}.landing-hero h1{font-size:clamp(39px,12vw,54px)}.landing-lead{font-size:15px}.landing-actions{align-items:stretch;flex-direction:column}.landing-actions .btn{width:100%}.landing-assurances{gap:10px 16px}.score-preview{min-height:450px;padding:18px;border-radius:21px;transform:none}.score-preview{box-shadow:10px 10px color-mix(in srgb,var(--accent) 62%,transparent),var(--shadow-lg)}.preview-score-row strong{font-size:50px}.preview-topline>span:nth-child(2){display:none}.proof-strip{width:calc(100% - 32px);grid-template-columns:repeat(2,1fr);padding:0}.proof-strip>div{padding:17px}.proof-strip>div:nth-child(2){border-right:0}.proof-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.proof-strip strong{font-size:17px}.proof-strip span{font-size:9px}.landing-section{padding:76px 18px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:220px}.feature-card h3{margin-top:38px}.section-heading-row{align-items:start;flex-direction:column}.workflow-wrap{padding:0 16px 76px}.workflow-panel{grid-template-columns:1fr;gap:30px;padding:34px 24px;border-radius:22px}.landing-footer{align-items:start;flex-direction:column;padding-inline:18px}.landing-footer p{text-align:left}.dashboard-heading{align-items:start;flex-direction:column}.dashboard-heading h1{font-size:28px}.focus-session-card{min-height:400px;padding:26px 22px}.focus-session-card h2{font-size:30px}.focus-actions{align-items:stretch;flex-direction:column}.focus-footnote{flex-wrap:wrap}.workspace-card{display:block}.dashboard-stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.dashboard-stat-grid article{min-height:126px;padding:15px}.dashboard-stat-grid article>span{align-items:start;font-size:8px}.dashboard-stat-grid strong{font-size:25px}.first-result-card{grid-template-columns:1fr;gap:26px;padding:24px}.analytics-grid{grid-template-columns:1fr}.dashboard-insight{align-items:start;flex-wrap:wrap;gap:12px}.dashboard-insight>div:nth-child(2){flex:1 1 calc(100% - 46px);margin-right:0}.dashboard-insight button{margin-left:46px}.achievement-panel{padding:18px}.achievement-panel .badge-grid{grid-template-columns:1fr}.achievement-panel .badge-card:nth-child(n+5){display:none}.modal{padding:20px}.table th,.table td{white-space:nowrap}}@media(max-width:340px){.brand-copy{display:none}.dashboard-stat-grid{grid-template-columns:1fr}.landing-assurances{flex-direction:column}}.subpage-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:6px 0 30px}.subpage-heading h1{margin:8px 0 7px;font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.045em}.subpage-heading p{max-width:650px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.practice-container,.practice-session-container{max-width:1180px}.practice-setup-card{min-height:266px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:38px;color:#f7faf5;background:var(--navy);border-radius:22px;position:relative;overflow:hidden}.practice-setup-card:after{content:"";position:absolute;width:270px;height:270px;right:-110px;bottom:-140px;border:48px solid rgba(217,247,114,.08);border-radius:50%}.practice-setup-copy,.practice-controls{position:relative;z-index:1}.practice-setup-copy>span{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.practice-setup-copy h2{max-width:480px;margin:16px 0 10px;font-size:clamp(27px,3.5vw,38px);line-height:1.1;letter-spacing:-.04em;color:#f7faf5}.practice-setup-copy p{max-width:500px;margin:0;color:#f7faf59e;font-size:12px;line-height:1.7}.practice-controls{display:grid;gap:16px}.practice-control-group{padding:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:15px}.practice-control-group>label{display:flex;align-items:center;gap:7px;margin-bottom:11px;color:#f7faf5b8;font-size:10px;font-weight:750}.size-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.size-selector button{min-height:38px;color:#f7faf5b3;background:transparent;border:1px solid rgba(255,255,255,.13);border-radius:9px;font:inherit;font-size:11px;font-weight:800}.size-selector button:hover{color:#fff;background:#ffffff14}.size-selector button.active{color:var(--ink);background:var(--accent);border-color:var(--accent)}.practice-shuffle-control{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:15px;cursor:pointer}.practice-shuffle-control>span{display:flex;align-items:center;gap:9px}.practice-shuffle-control>span>span{display:flex;flex-direction:column}.practice-shuffle-control strong{font-size:11px}.practice-shuffle-control small{margin-top:2px;color:#f7faf57a;font-size:9px}.practice-shuffle-control input{width:36px;height:20px;accent-color:var(--accent)}.practice-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:54px 0 20px}.practice-section-heading h2{margin:7px 0 0;font-size:25px;letter-spacing:-.03em}.practice-section-heading>p{max-width:430px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}.practice-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.practice-section-card{--section-color: var(--primary);min-height:auto;display:flex;flex-direction:column;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:inset 0 3px 0 var(--section-color)}.practice-section-card.listening{--section-color: var(--listening)}.practice-section-card.structure{--section-color: var(--structure)}.practice-section-card.reading{--section-color: var(--reading)}.practice-card-top{display:flex;align-items:center;justify-content:space-between}.practice-section-icon{width:44px;height:44px;display:grid;place-items:center;color:var(--section-color);background:color-mix(in srgb,var(--section-color) 11%,var(--card));border-radius:13px}.practice-section-number{color:var(--muted);font-family:var(--font-mono);font-size:11px}.practice-section-card h3{max-width:260px;margin:43px 0 9px;font-size:20px;line-height:1.22}.practice-section-card>p{margin:0;color:var(--muted);font-size:11px;line-height:1.65}.practice-card-meta{display:flex;align-items:center;gap:15px;margin-top:auto;padding:18px 0 14px;color:var(--muted);border-top:1px solid var(--border);font-size:9px;font-weight:750}.practice-card-meta span{display:inline-flex;align-items:center;gap:5px}.practice-section-card>button{width:100%;min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:var(--section-color);border:0;border-radius:11px;font:inherit;font-size:11px;font-weight:800}.practice-section-card>button svg:last-child{margin-left:auto}.practice-section-card>button:hover:not(:disabled){filter:brightness(.93)}.practice-section-card>button:disabled{opacity:.45;cursor:not-allowed}.practice-session-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:5px 0 22px}.practice-session-header .section-chip svg{width:14px;height:14px}.practice-session-header h1{margin:11px 0 0;font-size:clamp(27px,3.5vw,38px);letter-spacing:-.04em}.practice-progress-row{margin-bottom:18px;padding:12px 15px;background:var(--card);border:1px solid var(--border);border-radius:13px}.practice-progress-copy{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--muted);font-size:9px;font-weight:750}.practice-progress-row .progress-track{height:6px}.practice-session-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;align-items:start}.practice-question-card{margin:0;padding:30px;border-radius:20px;box-shadow:var(--shadow-sm)}.practice-question-topline{display:flex;justify-content:space-between;gap:16px;padding-bottom:17px;color:var(--muted);border-bottom:1px solid var(--border);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.practice-audio-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;padding:14px;background:color-mix(in srgb,var(--listening) 8%,var(--card));border:1px solid color-mix(in srgb,var(--listening) 22%,var(--border));border-radius:13px}.practice-audio-row>div:first-child{display:flex;align-items:center;gap:10px;color:var(--listening)}.practice-audio-row>div:first-child span{display:flex;flex-direction:column}.practice-audio-row strong{color:var(--ink);font-size:11px}.practice-audio-row small{color:var(--muted);font-size:9px}.practice-audio-row audio{max-width:230px;height:34px}.practice-transcript{margin:0 0 18px}.practice-transcript summary{cursor:pointer;font-size:11px;font-weight:750}.practice-transcript p{margin:10px 0 0}.practice-passage{max-height:300px;overflow:auto;margin:18px 0;padding:18px;background:var(--bg);border-left:3px solid var(--reading);border-radius:12px;font-size:15px;line-height:1.75}.practice-passage p{margin:7px 0 0}.practice-question-text{max-width:740px;margin:25px 0 20px;font-size:19px;line-height:1.5;letter-spacing:-.015em}.practice-option-list{display:grid;gap:9px}.practice-option-list .option{align-items:center;min-height:54px;margin:0;padding:12px 14px;font-size:13px}.practice-option-list .option:disabled{opacity:1;cursor:default}.practice-option-list .option>span:nth-child(2){flex:1}.practice-option-list .option.correct,.practice-option-list .option.incorrect{animation:none}.practice-option-list .option.correct{background:color-mix(in srgb,var(--success) 8%,var(--card))}.practice-option-list .option.incorrect{background:color-mix(in srgb,var(--danger) 7%,var(--card))}.practice-option-list .option.correct>svg{color:var(--success)}.practice-option-list .option.incorrect>svg{color:var(--danger)}.practice-feedback{margin-top:18px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid;border-radius:14px}.practice-feedback.correct{color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--card));border-color:color-mix(in srgb,var(--success) 32%,var(--border))}.practice-feedback.incorrect{color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--card));border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.practice-feedback-head{display:flex;align-items:flex-start;gap:10px}.practice-feedback-head>div{display:flex;flex-direction:column}.practice-feedback-head strong{font-size:12px}.practice-feedback-head span{max-width:550px;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.55}.practice-feedback .btn{flex:0 0 auto}.practice-session-sidebar{position:sticky;top:88px;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:18px}.practice-sidebar-head{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--border)}.practice-sidebar-head>svg{color:var(--primary)}.practice-sidebar-head>div{display:flex;flex-direction:column}.practice-sidebar-head span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.practice-sidebar-head strong{margin-top:2px;font-size:12px}.practice-live-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.practice-live-stats>div{padding:12px;background:var(--bg);border-radius:11px}.practice-live-stats span{display:block;color:var(--muted);font-size:8px;font-weight:750}.practice-live-stats strong{display:block;margin-top:6px;font-family:var(--font-mono);font-size:20px}.practice-live-stats small{color:var(--muted);font-size:9px}.practice-result-counts{display:grid;gap:8px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.practice-result-counts span{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:7px;color:var(--muted);font-size:9px;font-weight:700}.practice-result-counts span:first-child svg{color:var(--success)}.practice-result-counts span:last-child svg{color:var(--danger)}.practice-result-counts b{color:var(--ink);font-family:var(--font-mono)}.practice-tip{display:flex;align-items:flex-start;gap:8px;margin-top:15px;padding:11px;color:var(--primary);background:var(--primary-soft);border-radius:11px}.practice-tip svg{flex:0 0 auto;margin-top:2px}.practice-tip p{margin:0;color:var(--muted);font-size:8px;line-height:1.55}.practice-tip strong{display:block;margin-bottom:2px;color:var(--ink);font-size:9px}.practice-summary-container{max-width:1040px;padding-top:64px}.practice-summary-card{min-height:520px;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding:54px;color:#f7faf5;background:var(--navy);border-radius:26px;position:relative;overflow:hidden}.practice-summary-card:after{content:"";position:absolute;width:330px;height:330px;right:-110px;bottom:-170px;border:58px solid rgba(217,247,114,.08);border-radius:50%}.practice-summary-copy,.accuracy-card{position:relative;z-index:1}.summary-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.practice-summary-copy h1{max-width:580px;margin:18px 0 12px;font-size:clamp(36px,5vw,54px);line-height:1.02;letter-spacing:-.05em;color:#f7faf5}.practice-summary-copy>p{max-width:480px;margin:0;color:#f7faf59e;font-size:12px;line-height:1.65}.summary-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.summary-actions .btn:not(.btn-primary){color:#f7faf5;background:#ffffff0f;border-color:#ffffff24}.summary-actions .btn:not(.btn-primary):hover{color:#fff;background:#ffffff1a}.accuracy-card{padding:28px;background:#ffffff0f;border:1px solid rgba(255,255,255,.13);border-radius:20px}.accuracy-ring{width:190px;height:190px;display:grid;place-items:center;margin:0 auto;border-radius:50%;position:relative}.accuracy-ring:after{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;background:var(--navy);border-radius:50%}.accuracy-ring>span{z-index:1;display:flex;flex-direction:column;align-items:center}.accuracy-ring strong{font-family:var(--font-mono);font-size:38px}.accuracy-ring small{color:#f7faf580;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.accuracy-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:24px}.accuracy-breakdown span{display:grid;grid-template-columns:16px auto;gap:3px 7px;align-items:center;padding:11px;color:#f7faf58c;background:#ffffff0d;border-radius:10px;font-size:8px}.accuracy-breakdown b{grid-column:2;color:#fff;font-family:var(--font-mono);font-size:17px}.accuracy-breakdown span:first-child svg{color:var(--accent)}.accuracy-breakdown span:last-child svg{color:#ff9b9f}.bank-container{max-width:1240px}.bank-page-heading{margin-bottom:22px}.bank-heading-actions{display:flex;gap:8px}.bank-overview{display:grid;grid-template-columns:210px 1fr auto;gap:16px;align-items:center;padding:18px;background:var(--navy);border-radius:20px;margin-bottom:24px}.bank-overview-copy{padding:4px 8px;color:#f7faf5}.bank-overview-copy>span{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bank-overview-copy strong{display:block;margin-top:8px;font-family:var(--font-mono);font-size:21px}.bank-overview-copy p{margin:3px 0 0;color:#f7faf57a;font-size:8px}.bank-section-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.bank-section-tabs button{--section-color: var(--primary);min-height:66px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:9px 11px;color:#f7faf5ad;text-align:left;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;font:inherit}.bank-section-tabs button.listening{--section-color: var(--listening)}.bank-section-tabs button.structure{--section-color: #4fc5a6}.bank-section-tabs button.reading{--section-color: #7fa2ff}.bank-section-tabs button:hover{background:#ffffff17}.bank-section-tabs button.active{color:#fff;background:#ffffff1c;border-color:color-mix(in srgb,var(--section-color) 60%,transparent);box-shadow:inset 0 -2px 0 var(--section-color)}.bank-section-tabs button>span:first-child{width:32px;height:32px;display:grid;place-items:center;color:var(--section-color);background:#ffffff14;border-radius:9px}.bank-section-tabs button>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.bank-section-tabs strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.bank-section-tabs small{margin-top:2px;color:#f7faf566;font-size:7px}.bank-section-tabs b{color:var(--section-color);font-family:var(--font-mono);font-size:12px}.bank-reset-button{display:flex;align-items:center;gap:5px;padding:9px 11px;color:#f7faf59e;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:10px;font:inherit;font-size:8px;font-weight:750;white-space:nowrap}.bank-reset-button:hover{color:#fff;background:#ffffff12}.bank-reset-menu{position:relative;display:inline-flex}.bank-reset-dropdown{top:calc(100% + 8px);right:0;min-width:236px}.bank-reset-dropdown-title{padding:8px 12px 6px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bank-reset-item{gap:9px}.bank-reset-item>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}.bank-reset-item small{color:var(--muted);font-family:var(--font-mono);font-size:10px}.bank-reset-item.danger{color:var(--danger)}.bank-reset-item.danger svg{color:var(--danger)}.bank-reset-item.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--card))}.bank-reset-item.danger:hover svg{color:var(--danger)}.bank-reset-empty{padding:12px;color:var(--muted);font-size:12px}.dropdown-separator{height:1px;margin:5px 8px;background:var(--border)}.bank-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);gap:16px;align-items:start;margin-top:16px}.bank-list-panel,.bank-editor-panel{background:var(--card);border:1px solid var(--border);border-radius:20px}.bank-list-panel{min-width:0;padding:20px}.bank-list-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.bank-list-head>div{display:flex;align-items:center;gap:10px}.bank-list-head h2{margin:0;font-size:16px}.bank-list-head .section-chip{font-size:8px}.bank-list-head .section-chip svg{width:12px;height:12px}.bank-search{min-height:44px;display:flex;align-items:center;gap:9px;margin:17px 0;padding:0 13px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:11px}.bank-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.bank-search input{min-width:0;flex:1;padding:0;color:var(--ink);background:transparent;border:0;outline:0;font-size:11px}.bank-search button{width:26px;height:26px;display:grid;place-items:center;color:var(--muted);background:transparent;border:0;border-radius:7px}.bank-search button:hover{background:var(--card);color:var(--ink)}.bank-question-list{display:grid;gap:8px}.bank-question-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:14px;transition:border-color var(--transition-fast),background var(--transition-fast)}.bank-question-row:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.bank-question-row.editing{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.bank-question-index{display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:2px}.bank-question-index span{color:var(--primary);font-family:var(--font-mono);font-size:10px;font-weight:800}.bank-question-index small{color:var(--muted);font-size:7px}.bank-question-content{min-width:0}.bank-question-content h3{margin:0 0 10px;font-size:12px;line-height:1.5}.bank-option-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.bank-option-preview span{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:5px;padding:6px 8px;color:var(--muted);background:var(--bg);border:1px solid transparent;border-radius:8px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-option-preview span.correct{color:var(--success);background:color-mix(in srgb,var(--success) 7%,var(--card));border-color:color-mix(in srgb,var(--success) 22%,var(--border))}.bank-option-preview b{font-family:var(--font-mono)}.bank-question-content>p{display:flex;align-items:flex-start;gap:5px;margin:9px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.bank-question-content>p svg{flex:0 0 auto;color:var(--warning)}.bank-row-actions{display:flex;align-items:start;gap:5px}.bank-row-actions button{height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:8px;font:inherit;font-size:8px;font-weight:750}.bank-row-actions button:hover{color:var(--primary);border-color:var(--primary)}.bank-row-actions button.danger{width:30px;padding:0}.bank-row-actions button.danger:hover{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,var(--card))}.bank-empty-state{padding:65px 24px;text-align:center;color:var(--muted);background:var(--bg);border-radius:14px}.bank-empty-state svg{color:var(--muted-light)}.bank-empty-state h3{margin:13px 0 5px;color:var(--ink);font-size:15px}.bank-empty-state p{max-width:380px;margin:0 auto 17px;font-size:10px;line-height:1.55}.bank-editor-panel{position:sticky;top:86px;overflow:hidden;scroll-margin-top:84px}.bank-editor-head{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:19px 20px 15px;border-bottom:1px solid var(--border)}.bank-editor-head h2{margin:4px 0 0;font-size:17px}.bank-editor-head>button{width:30px;height:30px;display:grid;place-items:center;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:8px}.bank-editor-head>button:hover{color:var(--ink)}.bank-form{max-height:calc(100vh - 270px);overflow-y:auto;display:grid;gap:12px;padding:16px 20px}.bank-form-grid{display:grid;gap:12px}.bank-field{display:grid;gap:6px;color:var(--ink);font-size:9px;font-weight:750}.bank-field>span{display:flex;align-items:center;justify-content:space-between}.bank-field small,.bank-options-fieldset legend small{color:var(--muted);font-size:7px;font-weight:500}.bank-field input,.bank-field textarea,.bank-field select,.bank-option-field>input[type=text],.bank-option-field>input:not([type]){width:100%;padding:10px 11px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:9px;outline:0;resize:vertical;font:inherit;font-size:10px;font-weight:500;line-height:1.5}.bank-field input:focus,.bank-field textarea:focus,.bank-field select:focus,.bank-option-field>input:last-of-type:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.bank-options-fieldset{display:grid;gap:7px;margin:0;padding:0;border:0}.bank-options-fieldset legend{width:100%;margin-bottom:7px;font-size:9px;font-weight:750}.bank-option-field{min-height:44px;display:grid;grid-template-columns:17px 28px minmax(0,1fr) 15px;align-items:center;gap:6px;padding:5px 8px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.bank-option-field.correct{background:color-mix(in srgb,var(--success) 7%,var(--card));border-color:color-mix(in srgb,var(--success) 28%,var(--border))}.bank-option-field>input[type=radio]{accent-color:var(--success)}.bank-option-field>span{width:25px;height:25px;display:grid;place-items:center;color:var(--muted);background:var(--card);border-radius:7px;font-family:var(--font-mono);font-size:9px;font-weight:800}.bank-option-field>input:last-of-type{min-width:0;padding:7px 5px;color:var(--ink);background:transparent;border:0;outline:0;font:inherit;font-size:9px}.bank-option-field>svg{color:var(--success)}.bank-ei-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.bank-ei-toggle:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.bank-ei-toggle.active{background:color-mix(in srgb,var(--primary) 8%,var(--card));border:1.5px solid var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.bank-ei-toggle>span{display:flex;flex-direction:column;gap:4px;min-width:0}.bank-ei-toggle strong{font-size:14px;font-weight:700;color:var(--ink)}.bank-ei-toggle small{color:var(--ink-muted);font-size:12px;line-height:1.4}.switch-track{position:relative;display:inline-block;width:44px;height:24px;flex:0 0 44px}.switch-track input{opacity:0;width:0;height:0;position:absolute}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:background-color .2s ease;border-radius:24px}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:transform .2s cubic-bezier(.34,1.56,.64,1);border-radius:50%;box-shadow:0 1px 3px #0003}.switch-track input:checked+.switch-slider{background-color:var(--primary)}.switch-track input:checked+.switch-slider:before{transform:translate(20px)}.bank-ei-builder{display:grid;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}.bank-ei-preview{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:10px}.bank-ei-preview-label{color:var(--ink-muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bank-ei-preview-sentence{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.reading-passage-config{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.reading-passage-config-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.reading-passage-config-title{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:700}.passage-manage-list{display:flex;flex-direction:column;gap:16px;margin-top:8px}.passage-manage-card{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:border-color .2s ease,box-shadow .2s ease}.passage-manage-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.passage-manage-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.passage-number-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:color-mix(in srgb,var(--primary) 12%,var(--card));color:var(--primary);font-weight:700;font-size:13px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent)}.passage-range-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:color-mix(in srgb,#d97706 12%,var(--card));color:#b45309;font-weight:600;font-size:12px;border-radius:6px;border:1px solid color-mix(in srgb,#d97706 30%,transparent)}.passage-grid-inputs{display:grid;grid-template-columns:1fr 120px 120px;gap:12px;align-items:flex-end}@media(max-width:768px){.passage-grid-inputs{grid-template-columns:1fr}}.listening-config{display:grid;gap:12px;margin-top:16px;padding:16px 18px;background:var(--card);border:1px solid var(--border);border-radius:16px}.listening-config-head{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;color:var(--listening);flex-wrap:wrap}.listening-config-head>span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.listening-config-head small{color:var(--muted);font-size:9px;font-weight:600;margin-left:auto}.listening-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.listening-mode{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;background:var(--bg);border:1.5px solid var(--border);border-radius:11px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.listening-mode:hover{border-color:color-mix(in srgb,var(--listening) 45%,var(--border))}.listening-mode.active{border-color:var(--listening);background:color-mix(in srgb,var(--listening) 8%,var(--card))}.listening-mode input{margin-top:3px;flex:0 0 auto;accent-color:var(--listening)}.listening-mode>span{display:flex;flex-direction:column;gap:2px;min-width:0}.listening-mode strong{font-size:11px}.listening-mode small{color:var(--muted);font-size:9px;line-height:1.45}.listening-single-fields{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px 16px;align-items:end}.listening-seconds-field>span{white-space:nowrap}.listening-seconds-field input{max-width:220px}.part-intro{margin-bottom:14px;padding:12px 14px;background:color-mix(in srgb,var(--primary) 5%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-left:3px solid var(--primary);border-radius:12px}.part-intro-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.part-intro-head>span{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:11.5px;font-weight:800}.part-intro-text{margin:0;color:var(--muted);font-size:12px;line-height:1.6;white-space:pre-line}.part-intro-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:38px 26px;margin-bottom:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 7%,var(--card)),var(--card));border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-top:4px solid var(--primary);border-radius:18px;box-shadow:var(--shadow-sm)}.part-intro-step-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:color-mix(in srgb,var(--primary) 12%,var(--card));color:var(--primary);box-shadow:0 8px 20px -8px color-mix(in srgb,var(--primary) 50%,transparent)}.part-intro-step-head{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}.part-intro-step-title{margin:0;font-size:20px;line-height:1.3;color:var(--ink)}.part-intro-step .part-intro-text{max-width:640px;font-size:13.5px;line-height:1.8}.part-intro-step .btn{margin-top:6px;padding:12px 30px;font-size:14px}@media(max-width:520px){.part-intro-step{padding:28px 18px}.part-intro-step-title{font-size:17px}}.part-intro-editor{display:grid;gap:12px;margin-top:4px}.part-intro-row{display:grid;gap:6px}.part-intro-label{color:var(--muted);font-size:10px;font-weight:700}.part-intro-input-row{display:flex;gap:8px;align-items:flex-start}.part-intro-input-row textarea{flex:1;min-width:0;padding:9px 11px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:9px;font:inherit;font-size:12px;line-height:1.5;outline:0;resize:vertical}.part-intro-input-row textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.part-intro-input-row .btn{white-space:nowrap}.part-intro-save{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.part-intro-save .btn{white-space:nowrap}@media(max-width:520px){.part-intro-input-row{flex-direction:column}.part-intro-input-row .btn{align-self:flex-end}}.course-section{scroll-margin-top:84px}.course-section .section-heading-row{margin-bottom:22px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.course-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,border-color .4s ease,opacity var(--transition-fast);animation:courseIn .6s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 90ms)}.course-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.16) 50%,transparent 58%);transform:translate(-130%);transition:transform .8s cubic-bezier(.22,1,.36,1);pointer-events:none}.course-card:hover:after{transform:translate(130%)}@keyframes courseIn{0%{opacity:0;transform:translateY(22px) scale(.97)}60%{transform:translateY(-3px) scale(1.005)}to{opacity:1;transform:translateY(0) scale(1)}}.course-card:not(.locked):hover{transform:translateY(-6px);box-shadow:0 18px 34px -14px color-mix(in srgb,var(--primary) 45%,transparent);border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.course-card.locked{opacity:.82}.course-card.completed{box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 22%,var(--border)),var(--shadow-sm)}.course-card.completed:not(.locked):hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 40%,var(--border)),0 18px 34px -14px color-mix(in srgb,var(--success) 40%,transparent)}.course-accent{height:6px;flex:0 0 auto;transform-origin:left;animation:accentGrow .6s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--i, 0) * 90ms + .18s);transition:height .3s ease,filter .3s ease}.course-card:not(.locked):hover .course-accent{height:9px;filter:brightness(1.12)}@keyframes accentGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.course-card.completed .course-accent{background:linear-gradient(90deg,var(--success),var(--primary))!important}.course-num{transition:color .3s ease}.course-card:not(.locked):hover .course-num{color:var(--primary)}.course-status{animation:coursePop .5s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--i, 0) * 90ms + .22s)}@keyframes coursePop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.course-card.locked .course-status svg{animation:lockPulse 2.2s ease-in-out infinite}@keyframes lockPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}.course-diff{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.course-card:not(.locked):hover .course-diff{transform:scale(1.06)}.course-card-body{display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.course-num{color:var(--muted);font-family:var(--font-mono);font-size:12px;font-weight:800}.course-status{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.course-status.locked{color:var(--muted);background:var(--bg);border:1px solid var(--border)}.course-status.ready{color:var(--success);background:color-mix(in srgb,var(--success) 9%,var(--card));border:1px solid color-mix(in srgb,var(--success) 30%,var(--border))}.course-status.done{color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border))}.course-title{margin:0;font-size:16px;line-height:1.3;color:var(--ink)}.course-diff{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.course-diff:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.course-diff.diff-mudah{color:#059669;background:color-mix(in srgb,#059669 10%,var(--card));border:1px solid color-mix(in srgb,#059669 30%,var(--border))}.course-diff.diff-sedang{color:#d97706;background:color-mix(in srgb,#d97706 10%,var(--card));border:1px solid color-mix(in srgb,#d97706 30%,var(--border))}.course-diff.diff-sulit{color:#e11d48;background:color-mix(in srgb,#e11d48 10%,var(--card));border:1px solid color-mix(in srgb,#e11d48 30%,var(--border))}.course-desc{margin:0;color:var(--muted);font-size:11.5px;line-height:1.55}.course-paket{display:flex;align-items:center;gap:10px;padding:9px 11px;background:var(--bg);border:1px solid var(--border);border-radius:11px}.course-paket-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card));border-radius:9px}.course-paket-text{display:flex;flex-direction:column;gap:1px;min-width:0}.course-paket-text strong{font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-paket-text small{color:var(--muted);font-size:10px}.course-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:10.5px}.course-meta span{display:inline-flex;align-items:center;gap:5px}.course-sections{display:flex;flex-wrap:wrap;gap:6px}.course-sections span{padding:3px 8px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:7px;font-family:var(--font-mono);font-size:10px}.course-best{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 10px;color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--card));border:1px solid color-mix(in srgb,var(--success) 25%,var(--border));border-radius:999px;font-size:10.5px;font-weight:700}.course-best svg{flex:0 0 auto}.course-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.course-admin{display:flex;gap:4px}.course-admin .icon-button.danger:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.course-start{position:relative;overflow:hidden;margin-left:auto;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.course-start:before{content:"";position:absolute;top:0;left:-80%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-20deg);transition:left .55s ease;pointer-events:none}.course-start:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 16px -6px color-mix(in srgb,var(--primary) 55%,transparent)}.course-start:not(:disabled):hover:before{left:130%}.course-start:not(:disabled):active{transform:scale(.96)}.course-empty{display:grid;justify-items:center;gap:10px;padding:40px 20px;color:var(--muted);text-align:center;background:var(--card);border:1.5px dashed var(--border);border-radius:16px}.course-empty p{margin:0;font-size:13px}.course-empty svg{color:var(--primary);opacity:.7}.course-paket-icon{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.course-card:not(.locked):hover .course-paket-icon{transform:scale(1.12) rotate(-4deg)}.course-form{display:grid;gap:14px}.course-field{display:grid;gap:6px}.course-field>span{font-size:11px;font-weight:700;color:var(--muted)}.course-field input,.course-field select,.course-field textarea{width:100%;padding:10px 12px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:10px;font:inherit;font-size:13px;outline:0;resize:vertical}.course-field input:focus,.course-field select:focus,.course-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.course-field-hint{color:var(--muted);font-size:10px}.course-modal-row{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}.accent-picker{display:flex;align-items:center;gap:10px;padding-top:4px}.accent-dot{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.accent-dot:hover{transform:scale(1.12)}.accent-dot.active{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}@media(max-width:720px){.course-modal-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.course-card,.course-accent,.course-status,.course-start:before,.course-card:after{animation:none!important;transition:none!important}}.ai-panel{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:color-mix(in srgb,var(--primary) 7%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:0;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.ai-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;box-sizing:border-box}.ai-panel-head>span{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--primary);min-width:0}.ai-panel-body{display:flex;flex-direction:column;gap:12px;margin-top:4px;width:100%;max-width:100%;box-sizing:border-box}.ai-panel-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;max-width:100%;box-sizing:border-box}.ai-panel-field{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.ai-panel-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--primary);opacity:.85}.ai-panel select,.ai-panel input{width:100%;max-width:100%;padding:9px 12px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px;outline:0;box-sizing:border-box;min-width:0}.ai-panel select:focus,.ai-panel input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.ai-panel-submit{width:100%;max-width:100%;justify-content:center;gap:8px;height:40px;font-weight:600;margin-top:4px;box-sizing:border-box}.ai-panel .banner{width:100%;max-width:100%;box-sizing:border-box;word-break:break-word;overflow-wrap:anywhere}.ai-panel .banner span{word-break:break-word;overflow-wrap:anywhere;min-width:0}.ai-container{max-width:1080px}.once-audio{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.once-audio-play{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;color:#fff;background:var(--listening);border:0;border-radius:9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:all var(--transition-fast)}.once-audio-play:hover{filter:brightness(1.08)}.once-audio-playing{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:9px;font-size:12px;font-weight:700}.once-audio-playing:after{content:"";width:12px;height:12px;border:2px solid var(--muted-light);border-top-color:var(--primary);border-radius:50%;animation:onceSpin .8s linear infinite}.once-audio-done{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--card));border:1px solid color-mix(in srgb,var(--success) 30%,var(--border));border-radius:9px;font-size:12px;font-weight:800}.once-audio-error{color:var(--danger);font-size:12px;font-weight:700}@keyframes onceSpin{to{transform:rotate(360deg)}}.test-full-audio{margin-bottom:14px;padding:13px 15px;background:color-mix(in srgb,var(--listening) 9%,var(--card));border:1px solid color-mix(in srgb,var(--listening) 28%,var(--border));border-radius:13px}.test-full-audio-head{display:flex;align-items:center;gap:8px;color:var(--listening);font-size:11px;font-weight:800}.test-full-audio-clock{margin-left:auto;padding:2px 9px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:800}.test-full-audio-clock.warning{color:var(--danger);border-color:var(--danger)}.test-full-audio audio{width:100%;height:38px;margin-top:9px}.bank-editor-actions{display:flex;gap:7px;padding:14px 20px;background:var(--bg);border-top:1px solid var(--border)}.bank-editor-empty{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px;text-align:center}.bank-editor-empty>span{width:58px;height:58px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:17px}.bank-editor-empty h2{margin:18px 0 7px;font-size:18px}.bank-editor-empty p{max-width:260px;margin:0 0 18px;color:var(--muted);font-size:10px;line-height:1.55}@media(max-width:1000px){.practice-setup-card{gap:36px}.practice-section-grid{grid-template-columns:1fr}.practice-section-card{min-height:275px}.practice-section-card h3{margin-top:28px}.practice-session-grid{grid-template-columns:minmax(0,1fr) 230px}.bank-overview{grid-template-columns:1fr}.bank-overview-copy{display:flex;align-items:center;gap:12px}.bank-overview-copy strong{margin:0}.bank-overview-copy p{margin-left:auto}.bank-reset-menu{justify-self:end}.bank-workspace{grid-template-columns:1fr}.bank-editor-panel{position:static}.bank-form{max-height:none}}@media(max-width:720px){.app-shell:has(.practice-session-container){padding-bottom:0}.app-shell:has(.practice-session-container) .mobile-bottom-nav{display:none}.app-shell:has(.bank-editor-panel.active){padding-bottom:0}.app-shell:has(.bank-editor-panel.active) .mobile-bottom-nav{display:none}.subpage-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px}.subpage-heading h1{font-size:32px}.practice-setup-card{grid-template-columns:1fr;gap:28px;padding:27px 22px}.practice-setup-copy h2{font-size:29px}.practice-section-heading{align-items:flex-start;flex-direction:column;margin-top:40px}.practice-section-card{min-height:310px}.practice-session-header{align-items:flex-start;flex-direction:column}.practice-session-header h1{font-size:29px}.practice-session-grid{grid-template-columns:1fr}.practice-question-card{padding:20px 16px}.practice-audio-row{align-items:flex-start;flex-direction:column}.practice-audio-row audio{width:100%;max-width:100%}.practice-question-text{font-size:17px}.practice-feedback{align-items:stretch;flex-direction:column}.practice-feedback .btn{width:100%}.practice-session-sidebar{position:static}.practice-summary-container{padding-top:28px}.practice-summary-card{min-height:auto;grid-template-columns:1fr;gap:40px;padding:38px 22px}.practice-summary-copy h1{font-size:39px}.summary-actions{align-items:stretch;flex-direction:column}.summary-actions .btn{width:100%}.accuracy-card{grid-row:1}.bank-heading-actions{width:100%}.bank-heading-actions .btn{flex:1}.bank-overview{padding:14px}.bank-overview-copy{align-items:flex-start;flex-direction:column}.bank-overview-copy p{margin:0}.bank-section-tabs{grid-template-columns:1fr}.bank-reset-menu{width:100%}.bank-reset-button{width:100%;justify-content:center}.listening-config{padding:14px}.listening-config-head{flex-direction:column;align-items:flex-start}.listening-config-head small{margin-left:0}.listening-mode-row,.listening-single-fields{grid-template-columns:1fr}.listening-single-fields{gap:12px}.bank-list-panel{padding:14px}.bank-list-head{align-items:flex-start}.bank-list-head>div{align-items:flex-start;flex-direction:column;gap:6px}.bank-question-row{grid-template-columns:34px minmax(0,1fr);padding:13px 10px}.bank-row-actions{grid-column:2}.bank-option-preview{grid-template-columns:1fr}.bank-editor-panel{scroll-margin-top:70px}.bank-editor-panel.active{order:-1}.bank-editor-panel.empty{display:none}.bank-editor-empty{min-height:300px}}@media(max-width:480px){.listening-config{padding:12px}.listening-mode{padding:11px 12px}.listening-single-fields{gap:10px}}@media(max-width:390px){.size-selector{grid-template-columns:repeat(3,1fr)}.bank-heading-actions{flex-direction:column}.bank-option-field{grid-template-columns:17px 25px minmax(0,1fr) 14px;padding-inline:5px}}.test-grid{display:grid;grid-template-columns:1fr 280px;gap:20px;align-items:start}.test-grid.reading{grid-template-columns:380px minmax(0,1fr);gap:24px}.test-grid.no-nav{grid-template-columns:1fr}.test-rail{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow-y:auto}.user-chip .icon-button{color:var(--muted)}.user-chip .icon-button:hover{color:var(--danger);background:var(--bg)}[data-theme=dark] .timer{background:#facc1524;border-color:#facc1559;color:#fde047}[data-theme=dark] .timer.warning{background:#dc262624;border-color:#f8717166;color:#f87171}[data-theme=dark] .option{color:var(--ink)}[data-theme=dark] .option.selected{background:color-mix(in srgb,var(--primary) 22%,var(--card));border-color:var(--primary);color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent)}[data-theme=dark] .option.correct{background:color-mix(in srgb,var(--success) 15%,var(--card));border-color:color-mix(in srgb,var(--success) 42%,var(--border));color:var(--ink)}[data-theme=dark] .option.incorrect{background:color-mix(in srgb,var(--danger) 15%,var(--card));border-color:color-mix(in srgb,var(--danger) 42%,var(--border));color:var(--ink)}[data-theme=dark] .option .letter{background:color-mix(in srgb,var(--muted) 16%,var(--card));color:var(--ink)}[data-theme=dark] .btn-danger{background:#dc262624;border-color:#dc262652;color:#f87171}[data-theme=dark] .btn-danger:hover{background:#dc262638;border-color:#f8717180;color:#fca5a5}.bank-overview-copy>span{font-size:10px}.bank-overview-copy strong{font-size:24px}.bank-overview-copy p{font-size:10px}.bank-section-tabs strong{font-size:12px}.bank-section-tabs small{font-size:9px}.bank-section-tabs b{font-size:13px}.bank-reset-button,.bank-list-head .section-chip{font-size:10px}.bank-list-head .section-chip svg{width:13px;height:13px}.bank-question-index span{font-size:12px}.bank-question-index small{font-size:9px}.bank-question-content h3{font-size:13.5px}.bank-option-preview span{font-size:10px}.bank-question-content>p{font-size:10px}.bank-row-actions button{font-size:10px}.bank-field{font-size:11px}.bank-field small,.bank-options-fieldset legend small{font-size:9px}.bank-field input,.bank-field textarea,.bank-field select,.bank-option-field>input[type=text],.bank-option-field>input:not([type]){font-size:12px}.bank-options-fieldset legend{font-size:11px}.bank-option-field>input:last-of-type{font-size:11px}.bank-option-field>span{font-size:11px}.bank-empty-state h3{font-size:17px}.bank-empty-state p{font-size:12px}.dashboard-stat-grid article>span{font-size:11px}.dashboard-stat-grid small{font-size:11px}.workspace-actions button small,.randomize-control small{font-size:10px}.randomize-control strong{font-size:12px}.data-actions button{font-size:10px}.dashboard-status-row{flex-wrap:wrap}.dashboard-stat-grid article{transition:transform var(--transition-spring),box-shadow var(--transition)}.dashboard-stat-grid article:hover{transform:translateY(-2px);box-shadow:var(--shadow)}@media(max-width:980px){.test-grid,.test-grid.reading{grid-template-columns:1fr}.test-rail{position:static;max-height:none;overflow:visible}.passage-pane{position:static;max-height:none;overflow:visible;padding-right:0}.passage-left{max-height:40vh}}.topbar-menu{position:relative;display:inline-flex}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:6px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);z-index:80;animation:popoverIn .18s cubic-bezier(.34,1.56,.64,1)}.main-nav .dropdown-menu{left:0;right:auto;min-width:190px}.dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:600;text-align:left;white-space:nowrap;cursor:pointer}.dropdown-item:hover{background:var(--primary-soft);color:var(--primary)}.dropdown-item svg{flex:0 0 auto;color:var(--muted)}.dropdown-item:hover svg{color:var(--primary)}.dropdown-settings .dropdown-item>span{flex:1}.dropdown-settings{min-width:236px}.dropdown-group .dropdown-chev{margin-left:auto;color:var(--muted);opacity:.7}.dropdown-group:hover .dropdown-chev{color:var(--primary);opacity:1}.dropdown-subheader{display:flex;align-items:center;gap:8px;padding:4px 6px 10px;margin-bottom:6px;border-bottom:1px solid var(--border)}.dropdown-subheader>span{font-size:13px;font-weight:700;color:var(--ink)}.dropdown-back{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:8px;background:var(--bg);color:var(--muted);cursor:pointer}.dropdown-back:hover{background:var(--primary-soft);color:var(--primary)}.settings-profile-card{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow-sm)}.settings-profile-avatar{width:38px;height:38px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-weight:800;font-size:16px}.settings-profile-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-profile-meta strong{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-profile-meta>span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-profile-meta .role-badge{align-self:flex-start}.dropdown-seg{display:inline-flex;gap:4px}.dropdown-seg button{padding:4px 10px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.dropdown-seg button:hover{color:var(--ink);border-color:var(--primary)}.dropdown-seg button.active{background:var(--primary);border-color:var(--primary);color:#fff}.more-trigger{white-space:nowrap}.auth-backend-note{display:flex;align-items:center;gap:10px;margin-top:16px;padding:11px 13px;color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--card));border:1px solid color-mix(in srgb,var(--success) 25%,var(--border));border-radius:11px;font-size:10px}.auth-backend-note span{display:flex;flex-direction:column;color:var(--muted)}.auth-backend-note strong{color:var(--ink);font-size:11px}.sessions-container{max-width:1180px}.sessions-heading-actions{display:flex;gap:8px}.backend-status-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:17px;padding:16px 18px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.backend-status-card.connected{border-color:color-mix(in srgb,var(--success) 35%,var(--border))}.backend-status-card.schema-error,.backend-status-card.misconfigured,.backend-status-card.unreachable{border-color:color-mix(in srgb,var(--warning) 40%,var(--border))}.backend-status-icon{width:45px;height:45px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:13px}.backend-status-card.connected .backend-status-icon{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--card))}.backend-status-card.schema-error .backend-status-icon,.backend-status-card.misconfigured .backend-status-icon,.backend-status-card.unreachable .backend-status-icon{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,var(--card))}.backend-status-copy{min-width:0}.backend-status-copy>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.backend-status-copy strong{display:block;margin:3px 0 1px;font-size:13px}.backend-status-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.backend-status-meta{display:flex;align-items:center;gap:9px}.backend-status-meta>span{min-width:72px;display:flex;flex-direction:column;padding:8px 11px;background:var(--bg);border-radius:9px}.backend-status-meta small{color:var(--muted);font-size:7px;font-weight:700;text-transform:uppercase}.backend-status-meta strong{margin-top:1px;font-family:var(--font-mono);font-size:9px}.backend-status-meta button,.session-create-head>button{width:34px;height:34px;display:grid;place-items:center;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:9px}.backend-status-meta button:hover,.session-create-head>button:hover{color:var(--primary);border-color:var(--primary)}.sessions-error{display:flex;align-items:center;margin:0 0 17px}.sessions-error span{flex:1}.sessions-error button{display:grid;place-items:center;color:inherit;background:transparent;border:0}.sessions-notice{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px;padding:16px;color:var(--warning);background:color-mix(in srgb,var(--warning) 7%,var(--card));border:1px solid color-mix(in srgb,var(--warning) 25%,var(--border));border-radius:14px}.sessions-notice div{display:flex;flex-direction:column}.sessions-notice strong{color:var(--ink);font-size:12px}.sessions-notice span{margin-top:2px;color:var(--muted);font-size:10px}.sessions-overview{min-height:270px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:38px;color:#f7faf5;background:var(--navy);border-radius:22px;position:relative;overflow:hidden}.sessions-overview:after{content:"";position:absolute;width:310px;height:310px;right:-155px;top:-170px;border:50px solid rgba(217,247,114,.07);border-radius:50%}.sessions-overview-copy,.sessions-stat-grid{position:relative;z-index:1}.sessions-overview-copy>span{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sessions-overview-copy h2{max-width:490px;margin:15px 0 9px;font-size:clamp(27px,3.5vw,38px);line-height:1.08;letter-spacing:-.04em;color:#f7faf5}.sessions-overview-copy p{max-width:500px;margin:0 0 20px;color:#f7faf599;font-size:11px;line-height:1.65}.sessions-overview-copy button{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 17px;color:var(--ink);background:var(--accent);border:0;border-radius:11px;font:inherit;font-size:10px;font-weight:800}.sessions-overview-copy button:disabled{opacity:.42;cursor:not-allowed}.sessions-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sessions-stat-grid article{min-height:130px;display:flex;flex-direction:column;padding:15px;background:#ffffff0f;border:1px solid rgba(255,255,255,.11);border-radius:14px}.sessions-stat-grid span{color:#f7faf580;font-size:8px;font-weight:750;text-transform:uppercase}.sessions-stat-grid strong{margin:auto 0 2px;color:var(--accent);font-family:var(--font-mono);font-size:31px;line-height:1}.sessions-stat-grid small{color:#f7faf566;font-size:7px;line-height:1.35}.session-create-panel{margin-top:17px;padding:22px;background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);animation:modalIn .2s ease}.session-create-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.session-create-head span{color:var(--primary);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.session-create-head h2{margin:4px 0 0;font-size:18px;letter-spacing:-.025em}.session-form-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:12px;margin-top:17px}.session-advanced-grid{display:grid;grid-template-columns:.7fr .7fr 1fr 1fr;gap:10px;margin-top:12px}.session-package-field{margin-top:15px}.session-package-field>span{display:flex;align-items:center;gap:6px;margin-bottom:7px;font-size:9px;font-weight:750}.session-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.session-package-grid button{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:11px;text-align:left;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:10px;font:inherit}.session-package-grid button>span{overflow:hidden;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.session-package-grid button small{color:var(--muted);font-size:8px}.session-package-grid button svg{grid-column:2;grid-row:1 / 3;align-self:center;color:transparent}.session-package-grid button.active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}.session-package-grid button.active svg{color:var(--primary)}.session-randomize{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px;background:var(--bg);border-radius:10px;cursor:pointer}.session-randomize input{accent-color:var(--primary)}.session-randomize>span{display:flex;flex-direction:column}.session-randomize strong{font-size:10px}.session-randomize small{color:var(--muted);font-size:8px}.session-create-actions{display:flex;gap:7px;margin-top:16px}.sessions-list-section{margin-top:48px}.sessions-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:15px}.sessions-section-head h2{margin:5px 0 0;font-size:24px;letter-spacing:-.035em}.sessions-section-head>span{color:var(--muted);font-size:9px;font-weight:700}.sessions-loading,.sessions-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:18px}.sessions-loading{gap:10px;font-size:10px}.sessions-empty svg{color:var(--muted-light)}.sessions-empty h3{margin:13px 0 4px;color:var(--ink);font-size:15px}.sessions-empty p{max-width:410px;margin:0 0 16px;font-size:10px;line-height:1.55}.session-card-list{display:grid;gap:9px}.session-card{overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow-sm)}.session-card-main{min-height:88px;display:grid;grid-template-columns:58px minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px}.session-card-state{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-right:1px solid var(--border)}.session-card-state>span{width:8px;height:8px;background:var(--success);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 12%,transparent)}.session-card.closed .session-card-state>span{background:var(--muted-light);box-shadow:none}.session-card.scheduled .session-card-state>span{background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.session-card.expired .session-card-state>span{background:var(--warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--warning) 12%,transparent)}.session-card-state small{color:var(--muted);font-size:7px;font-weight:800;text-transform:uppercase}.session-card-copy{min-width:0}.session-card-copy h3{overflow:hidden;margin:0 0 4px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.session-card-copy p{margin:0;color:var(--muted);font-size:8px;line-height:1.5}.session-token{display:flex;align-items:center;gap:7px;min-height:37px;padding:0 11px;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:9px;font:inherit}.session-token span{font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.08em}.session-card-actions{display:flex;gap:5px}.session-card-actions button{min-height:34px;display:flex;align-items:center;gap:5px;padding:0 9px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:8px;font:inherit;font-size:8px;font-weight:750}.session-card-actions button:hover{color:var(--primary);border-color:var(--primary)}.session-card-actions button.danger{width:34px;padding:0;justify-content:center}.session-card-actions button.danger:hover{color:var(--danger);border-color:var(--danger)}.session-results-panel{padding:16px 20px 20px;background:var(--bg);border-top:1px solid var(--border)}.session-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.session-results-head>div{display:flex;flex-direction:column}.session-results-head>div:last-child{align-items:center;flex-direction:row;gap:8px}.session-results-head span{color:var(--muted);font-size:8px;font-weight:750;text-transform:uppercase}.session-results-head strong{font-size:11px}.session-results-scroll{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:11px}.session-results-scroll .table{margin:0}.session-results-scroll td{font-size:9px;white-space:nowrap}.session-score{font-family:var(--font-mono)}.integrity-badge{display:inline-flex;padding:3px 7px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:7px;font-weight:800;text-transform:uppercase}.integrity-badge.server{color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--card));border-color:color-mix(in srgb,var(--success) 25%,var(--border))}.session-results-empty{margin:0;padding:18px;color:var(--muted);background:var(--card);border-radius:10px;font-size:10px}.session-answer-review{margin-top:16px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.session-answer-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.session-answer-review-head>div{display:flex;flex-direction:column;gap:3px}.session-answer-review-head span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.session-answer-review-head strong{font-size:14px}.session-answer-review-head button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--muted);cursor:pointer}.session-answer-sections{display:grid;gap:16px}.session-answer-sections section{display:grid;gap:6px}.session-answer-sections h4{margin:0 0 2px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.session-answer-row{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:9px 10px;border-radius:9px;background:var(--card)}.session-answer-row>span{min-width:0;display:flex;flex-direction:column;gap:3px}.session-answer-row strong{overflow:hidden;color:var(--ink);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.session-answer-row small{color:var(--muted);font-family:var(--font-mono);font-size:10px}.session-answer-row.correct>svg{color:var(--success)}.session-answer-row.incorrect>svg{color:var(--danger)}.session-answer-row.unanswered>svg{color:var(--muted)}.sessions-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:32px;overflow:hidden;background:var(--border);border:1px solid var(--border);border-radius:16px}.sessions-flow>div{min-height:95px;display:grid;grid-template-columns:auto 1fr;align-content:center;column-gap:11px;padding:17px;background:var(--card)}.sessions-flow span{grid-row:1 / 3;align-self:center;color:var(--muted);font-family:var(--font-mono);font-size:12px}.sessions-flow strong{font-size:11px}.sessions-flow small{color:var(--muted);font-size:8px}@media(max-width:980px){.sessions-overview{grid-template-columns:1fr;gap:28px}.session-card-main{grid-template-columns:45px minmax(180px,1fr) auto}.session-card-actions{grid-column:2 / 4}}@media(max-width:720px){.sessions-heading-actions{width:100%}.sessions-heading-actions .btn{flex:1}.backend-status-card{grid-template-columns:auto minmax(0,1fr);padding:14px}.backend-status-meta{grid-column:1 / 3}.backend-status-meta>span{flex:1}.sessions-overview{padding:27px 22px}.sessions-overview-copy h2{font-size:29px}.sessions-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sessions-stat-grid article{min-height:112px;padding:11px}.sessions-stat-grid strong{font-size:25px}.session-form-grid,.session-package-grid,.session-advanced-grid{grid-template-columns:1fr}.session-create-actions .btn{flex:1}.sessions-section-head{align-items:flex-start;flex-direction:column}.session-card-main{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:13px}.session-card-state{grid-row:1 / 3}.session-token{grid-column:2;justify-self:start}.session-card-actions{grid-column:1 / 3;display:grid;grid-template-columns:repeat(3,1fr) 34px}.session-card-actions button{justify-content:center}.session-results-panel{padding:13px}.sessions-flow{grid-template-columns:1fr}}@media(max-width:390px){.sessions-stat-grid{grid-template-columns:1fr}.sessions-stat-grid article{min-height:82px}.session-card-actions{grid-template-columns:repeat(2,1fr)}.session-card-actions button.danger{width:auto}}.brand .badge,.user-chip .role-badge,.mobile-bottom-nav button,.focus-label,.practice-setup-copy>span,.summary-kicker,.bank-overview-copy>span,.backend-status-copy>span,.backend-status-meta small,.sessions-overview-copy>span,.sessions-stat-grid span,.sessions-stat-grid small,.session-create-head span,.session-package-grid button small,.session-card-state small,.session-results-head span,.integrity-badge{font-size:11px}.onboarding-skip,.plan-copy strong small,.plan-copy em,.auth-backend-note,.auth-backend-note strong{font-size:12px}.preview-section-row small,.preview-section-row b,.proof-strip span,.exam-card-meta,.landing-footer,.focus-footnote,.workspace-actions button small,.randomize-control small,.data-actions button,.dashboard-stat-grid article>span,.dashboard-stat-grid small,.result-preview-list>div>span,.result-preview-list small,.panel-heading h3 small,.achievement-panel .badge-name,.achievement-panel .badge-desc,.practice-control-group>label,.practice-shuffle-control small,.practice-card-meta,.practice-progress-copy,.practice-question-topline,.practice-audio-row small,.practice-feedback-head span,.practice-sidebar-head span,.practice-live-stats span,.practice-live-stats small,.practice-result-counts span,.practice-tip strong,.accuracy-ring small,.accuracy-breakdown span,.bank-overview-copy p,.bank-section-tabs small,.bank-reset-button,.bank-list-head .section-chip,.bank-question-index small,.bank-option-preview span,.bank-question-content>p,.bank-editor-empty p,.bank-row-actions button,.bank-field,.bank-field small,.bank-options-fieldset legend,.bank-options-fieldset legend small,.backend-status-copy p,.backend-status-meta strong,.sessions-notice span,.session-package-field>span,.session-package-grid button>span,.session-randomize small,.sessions-section-head>span,.sessions-loading,.session-card-copy p,.session-card-actions button,.session-results-scroll td,.session-results-empty,.session-answer-sections h4,.session-answer-row small,.sessions-flow small{font-size:12px}.workspace-actions button span,.randomize-control strong,.result-preview-list strong,.practice-shuffle-control strong,.practice-section-heading>p,.practice-section-card>p,.practice-section-card>button,.practice-audio-row strong,.practice-transcript summary,.practice-feedback-head strong,.practice-tip p,.practice-summary-copy>p,.bank-search input,.bank-field input,.bank-field textarea,.bank-field select,.bank-option-field>input[type=text],.bank-option-field>input:not([type]),.bank-option-field>input:last-of-type,.sessions-overview-copy p,.sessions-empty p,.session-randomize strong,.session-results-head strong,.sessions-flow strong{font-size:13px}.sessions-overview-copy button{font-size:12px}.dashboard-page>*{min-width:0}.sessions-stat-grid article{min-height:138px}.session-card-main{min-height:98px}.session-card-copy h3{font-size:15px}.session-answer-row strong{font-size:13px}@media(max-width:720px){.proof-strip span,.dashboard-stat-grid article>span{font-size:11px}.sessions-stat-grid article{min-height:92px}}.confirm-overlay{position:fixed;z-index:999;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:16px}.confirm-modal{max-width:420px;width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 28px 20px}.confirm-title{margin-top:0;font-size:18px;font-weight:700}.confirm-message{color:var(--muted);font-size:14px;line-height:1.6;margin:8px 0 20px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-actions .btn{min-width:80px}.profile-settings-modal{max-width:520px;width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.profile-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);flex:0 0 auto}.profile-settings-head h2{margin:0;font-size:22px;font-weight:800}.profile-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;flex:0 0 auto}.profile-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.profile-tab:hover{color:var(--ink)}.profile-tab.active{color:var(--primary);background:var(--card);border-color:var(--border);box-shadow:var(--shadow-sm)}.profile-tab-content{overflow-y:auto;flex:1;min-height:0;padding-right:2px}.profile-tab-pane{display:flex;flex-direction:column;gap:6px}.profile-section{padding:14px 0;border-top:1px solid var(--border)}.profile-section:first-of-type{border-top:0;padding-top:2px}.profile-section h3{display:flex;align-items:center;gap:7px;margin:0 0 2px;font-size:15px;font-weight:700;color:var(--ink)}.profile-section h3 svg{color:var(--muted)}.profile-hint{margin:0 0 10px;font-size:12.5px;color:var(--muted);line-height:1.55}.profile-row{display:flex;gap:10px;align-items:flex-end}.profile-row .profile-field{flex:1;min-width:0}.profile-row .btn{height:40px;min-height:40px}.profile-field{display:grid;gap:5px}.profile-field>span{font-size:11px;font-weight:700;color:var(--muted)}.profile-field input{width:100%;min-height:40px;padding:9px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;font-size:14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.profile-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.profile-field input[aria-invalid=true]{border-color:var(--danger)}.profile-error{display:block;margin-top:6px;font-size:12px;font-weight:600;color:var(--danger)}.profile-target-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.profile-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.profile-actions .btn{min-height:40px}.profile-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.profile-setting-row+.profile-setting-row{border-top:1px dashed var(--border)}.profile-setting-row strong{font-size:13.5px;display:block}.profile-setting-row .profile-hint{margin:2px 0 0;max-width:320px}.profile-pw-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:8px}.profile-pw-grid .profile-field:first-child{grid-column:1 / -1}.profile-toggle{display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto}.profile-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-pill{width:42px;height:24px;border-radius:999px;background:var(--border);position:relative;transition:background var(--transition-fast);flex:0 0 auto}.toggle-pill>span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--transition-fast)}.toggle-pill.on{background:var(--success)}.toggle-pill.on>span{transform:translate(18px)}.profile-seg{display:inline-flex}.profile-seg button{padding:8px 14px;min-height:38px;font-size:12px}@media(max-width:520px){.profile-tabs{grid-template-columns:1fr;gap:2px}.profile-target-grid,.profile-pw-grid{grid-template-columns:1fr}.profile-pw-grid .profile-field:first-child{grid-column:auto}.profile-row{flex-direction:column;align-items:stretch}.profile-setting-row{flex-direction:column;align-items:flex-start}}.google-auth-modal{max-width:520px;width:100%;padding:28px}.google-auth-header{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.google-auth-header h3{margin:0;font-size:17px;font-weight:700}.google-auth-section{margin-bottom:18px}.google-auth-section h4{margin:0 0 4px;font-size:13px;font-weight:700}.google-auth-uri-row{display:flex;gap:8px;align-items:center;margin-top:8px;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.google-auth-uri{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-cert{border-color:var(--primary)!important;color:var(--primary)!important;background:var(--primary-soft)!important}.btn-cert:hover{background:var(--primary)!important;color:#fff!important}.auto-run-bubble{position:fixed;left:20px;bottom:24px;z-index:950;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;border:none;box-shadow:var(--shadow);cursor:pointer;transition:transform var(--transition-fast)}.auto-run-bubble:hover{transform:scale(1.06)}.auto-run-bubble.active{background:var(--success)}.auto-run-dot{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#f43f5e;border:2px solid #fff;animation:auto-pulse 1.2s infinite}@keyframes auto-pulse{0%,to{opacity:1}50%{opacity:.4}}.auto-run-panel{position:fixed;left:20px;bottom:86px;z-index:951;width:300px;padding:16px}.auto-run-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:700;font-size:14px}.auto-run-head span{display:inline-flex;align-items:center;gap:6px}.auto-run-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12.5px}.auto-run-row .dropdown-seg button{display:inline-flex;align-items:center;gap:4px}.auto-run-status{display:flex;align-items:center;gap:6px;padding:8px 10px;margin-bottom:10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--muted)}.auto-run-status b{margin-left:auto;color:var(--primary)}.auto-run-toggle{width:100%;justify-content:center}.auto-run-toggle.stop{background:var(--danger);border-color:var(--danger)}@media(max-width:720px){.auto-run-bubble{bottom:78px}.auto-run-panel{bottom:138px}}.cert-settings-modal,.cert-preview-modal,.cert-history-modal{max-width:540px;width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.cert-settings-body{display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1;min-height:0;padding-right:2px}.cert-settings-logo-section{display:flex;flex-direction:column;gap:6px}.cert-settings-logo{display:flex;align-items:flex-start;gap:14px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.cert-settings-logo img,.cert-settings-logo-empty{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:contain;border:1px solid var(--border);background:var(--card);display:grid;place-items:center;flex:0 0 auto}.cert-logo-actions{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.cert-accent-selector{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap}.cert-preset-colors{display:flex;align-items:center;gap:8px}.cert-color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast);padding:0;outline:none}.cert-color-swatch:hover{transform:scale(1.1)}.cert-color-swatch.active{border-color:var(--ink);transform:scale(1.15);box-shadow:0 0 0 2px var(--card)}.cert-settings-accent{display:flex;align-items:center;gap:8px}.cert-settings-accent input[type=color]{width:36px;height:32px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--card);cursor:pointer}.cert-settings-accent code{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--muted)}.cert-preview-modal{max-width:720px}.cert-preview-image{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg);margin-bottom:10px}.cert-preview-image img{display:block;width:100%;height:auto}.cert-preview-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.cert-validate-input{display:flex;gap:8px;margin:12px 0}.cert-validate-input input{flex:1;min-width:0;padding:10px 12px;font-family:var(--font-mono);font-size:13px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--ink);outline:0}.cert-validate-result{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin-top:14px;border-radius:12px;border:1px solid}.cert-validate-result strong{display:block;font-size:14px}.cert-validate-result span{font-size:12.5px;color:var(--muted);line-height:1.6}.cert-validate-result.valid{background:color-mix(in srgb,var(--green) 8%,var(--card));border-color:color-mix(in srgb,var(--green) 30%,var(--border));color:var(--green)}.cert-validate-result.invalid{background:color-mix(in srgb,var(--red) 8%,var(--card));border-color:color-mix(in srgb,var(--red) 30%,var(--border));color:var(--red)}.cert-validate-result.warning{background:color-mix(in srgb,var(--yellow) 10%,var(--card));border-color:color-mix(in srgb,var(--yellow) 40%,var(--border));color:var(--yellow)}.cert-validate-table{margin-top:10px;border-collapse:collapse;width:100%;font-size:12.5px}.cert-validate-table td{padding:4px 8px 4px 0;color:var(--muted)}.cert-validate-table td b{color:var(--ink)}.cert-history-modal{max-width:640px;max-height:70vh;display:flex;flex-direction:column}.cert-history-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px}.cert-history-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.cert-history-copy{display:flex;flex-direction:column;min-width:0}.cert-history-copy strong{font-size:13.5px}.cert-history-actions{display:flex;gap:6px}.dropdown-divider{height:1px;background:var(--border);margin:6px 8px}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:380px;width:calc(100% - 48px);pointer-events:none}.toast{pointer-events:auto;padding:12px 18px;border-radius:var(--radius);font-size:14px;font-weight:500;line-height:1.5;box-shadow:var(--shadow);animation:toast-in .25s ease-out;cursor:pointer}.toast-success{background:var(--green);color:#fff}.toast-error{background:var(--red);color:#fff}.toast-info{background:var(--ink);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.role-badge.tutor,[data-theme=dark] .role-badge.tutor{background:var(--listening);color:#fff}.users-container{max-width:1000px}.users-stat-hot{color:var(--accent)!important}.users-pending-section{margin:28px 0 4px}.users-pending-list{display:flex;flex-direction:column;gap:10px}.users-pending-card{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--warning);border-radius:14px;box-shadow:var(--shadow-sm)}.users-pending-avatar,.users-cell-avatar{width:40px;height:40px;flex:0 0 auto;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:var(--primary);background:var(--primary-soft)}.users-pending-copy{flex:1;min-width:0}.users-pending-copy>strong{display:block;font-size:14px}.users-pending-copy p{margin:5px 0 3px;font-size:13px;line-height:1.55;color:var(--ink)}.users-pending-actions{display:flex;gap:8px;flex:0 0 auto}.users-pending-actions .btn{min-height:38px}.users-list-section{margin:38px 0 8px}.users-cell-user{display:flex;align-items:center;gap:11px;min-width:0}.users-cell-user>span:last-child{min-width:0;display:flex;flex-direction:column;gap:1px}.users-cell-user small{color:var(--muted);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.users-container .table td{vertical-align:middle}.tutor-status-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.tutor-status-chip.pending{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 9%,var(--card))}.tutor-status-chip.approved{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 9%,var(--card))}.tutor-status-chip.rejected{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 9%,var(--card))}.profile-tutor-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:14px;font-weight:700}.profile-tutor-badge.approved{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 9%,var(--card))}.profile-tutor-badge.pending{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 9%,var(--card))}.profile-field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;font-size:13px;line-height:1.55;resize:vertical}.profile-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}@media(max-width:720px){.users-pending-card{flex-direction:column}.users-pending-actions{width:100%}.users-pending-actions .btn{flex:1}}.ai-container{max-width:1180px}.ai-bulk-card{display:flex;flex-direction:column;gap:20px;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm)}.ai-bulk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--border)}.ai-bulk-head>span{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--ink)}.ai-bulk-head small{color:var(--muted);font-size:12px}.ai-mode-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);align-self:flex-start}.ai-mode-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.ai-mode-tab:hover{color:var(--ink)}.ai-mode-tab.active{color:var(--primary);background:var(--card);box-shadow:var(--shadow-sm)}.ai-bulk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end}.ai-bulk-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--ink)}.ai-bulk-field>span{color:var(--muted);font-size:12px;font-weight:600}.ai-bulk-field select,.ai-bulk-field input{width:100%;height:42px;padding:0 12px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:13px;outline:0;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ai-bulk-field select:focus,.ai-bulk-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ai-bulk-topic{grid-column:span 1}.ai-bulk-actions{display:flex;gap:10px;grid-column:1 / -1;margin-top:4px}.ai-bulk-actions .btn{height:42px}.ai-bulk-actions-row{display:flex;gap:12px;width:100%}.ai-bulk-actions-row .btn{flex:1}.ai-bulk-progress{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:var(--radius-sm);color:var(--primary);font-size:13.5px;font-weight:600;line-height:1.4;grid-column:1 / -1}.ai-bulk-progress svg{color:var(--primary);flex:0 0 auto;width:18px;height:18px}.ai-bulk-ok{color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--card));border-color:color-mix(in srgb,var(--success) 30%,var(--border))}.ai-bulk-results{display:flex;flex-direction:column;gap:14px;margin-top:24px}.ai-bulk-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;background:var(--card);border:1px solid var(--border);border-radius:16px}.ai-bulk-results-head>span{font-size:13px;color:var(--muted)}.ai-bulk-results-head strong{color:var(--ink);font-size:16px}.ai-bulk-item{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:14px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.ai-bulk-item:hover{box-shadow:var(--shadow-sm)}.ai-bulk-index{color:var(--primary);font-family:var(--font-mono);font-size:14px;font-weight:800;padding-top:2px}.ai-bulk-body{display:flex;flex-direction:column;gap:10px;min-width:0}.ai-bulk-body>strong{font-size:15px;line-height:1.5;color:var(--ink)}.ai-bulk-script{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.ai-bulk-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-bulk-options span{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:10px 14px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px}.ai-bulk-options span.correct{color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--card));border-color:color-mix(in srgb,var(--success) 30%,var(--border));font-weight:600}.ai-bulk-options b{font-family:var(--font-mono)}.ai-bulk-expl{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.ai-bulk-expl svg{flex:0 0 auto;color:var(--warning);margin-top:2px}.ai-bulk-badge{align-self:flex-start;padding:4px 10px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:999px;font-size:11px;font-weight:700}.ai-bulk-answer{color:var(--muted);font-size:12px}.ai-bulk-answer b{color:var(--success);font-family:var(--font-mono);font-weight:800}.ai-bulk-passage{border:1px dashed var(--border);border-radius:12px;padding:12px 14px;background:var(--bg)}.ai-bulk-passage summary{cursor:pointer;color:var(--primary);font-size:13px;font-weight:700}.ai-bulk-passage p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.ai-bulk-results-actions{display:flex;gap:8px;flex-wrap:wrap}.ai-bulk-item-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ai-bulk-item-actions .btn{font-size:12px}.ai-bulk-guide{margin-top:28px;padding:20px 24px;background:var(--card);border:1px solid var(--border);border-radius:16px}.ai-bulk-guide h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:15px;font-weight:700;color:var(--ink)}.ai-bulk-guide h3 svg{color:var(--primary)}.ai-bulk-guide ul{margin:0;padding-left:20px;display:grid;gap:8px}.ai-bulk-guide li{color:var(--muted);font-size:13px;line-height:1.6}.ai-bulk-guide strong{color:var(--ink)}.ai-paste{display:flex;flex-direction:column;gap:16px}.ai-paste-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ai-paste-field{display:flex;flex-direction:column;gap:6px}.ai-paste-field>span{color:var(--muted);font-size:12px;font-weight:600}.ai-paste-textarea{width:100%;padding:14px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-family:var(--font-mono);font-size:13px;line-height:1.6;outline:0;resize:vertical;min-height:180px}.ai-paste-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ai-dup{font-style:normal;color:var(--danger)}.ai-edit-form{display:grid;gap:12px;padding:16px;background:color-mix(in srgb,var(--primary) 4%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:14px}.ai-edit-title{font-size:13px;font-weight:800;color:var(--primary)}.ai-edit-field{display:grid;gap:6px}.ai-edit-field>span{color:var(--muted);font-size:12px;font-weight:600}.ai-edit-field input,.ai-edit-field textarea{width:100%;padding:10px 12px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:99;font:inherit;font-size:13px;outline:0;resize:vertical}.ai-edit-field input:focus,.ai-edit-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ai-edit-opt{display:flex;gap:8px}.ai-edit-opt input{flex:1}.ai-edit-opt .btn{white-space:nowrap}.ai-mark-answer{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.ai-edit-note{margin:0;color:var(--muted);font-size:12px}.ai-edit-actions{display:flex;justify-content:flex-end;gap:10px}.ai-new-paket{display:flex;gap:10px;align-items:center;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.ai-new-paket input{flex:1;min-width:0;height:42px;padding:0 14px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:13px;outline:0}.ai-new-paket input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ai-new-paket .btn{white-space:nowrap;height:42px}@media(max-width:900px){.ai-bulk-grid{grid-template-columns:1fr 1fr}.ai-bulk-topic,.ai-bulk-actions{grid-column:1 / -1}.ai-paste-row{grid-template-columns:1fr 1fr}}@media(max-width:720px){.ai-bulk-grid{grid-template-columns:1fr}.ai-bulk-topic{grid-column:auto}.ai-paste-row,.ai-bulk-options{grid-template-columns:1fr}.ai-bulk-actions-row{flex-direction:column}.ai-bulk-actions-row .btn{width:100%}.ai-new-paket{flex-wrap:wrap}.ai-new-paket input{flex:1 1 100%}}
