@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Poppins:wght@500;600;700&display=swap");:root{color-scheme:dark;--brand-navy:#0a1730;--brand-navy-deep:#060f1e;--brand-cyan:#20d0ff;--brand-cyan-bright:#58dcff;--brand-lime:#b0f040;--brand-lime-bright:#c6f76a;--bg:#08111f;--bg-subtle:#0b1626;--surface:#102134;--surface-raised:#19293f;--surface-sunken:#060e1a;--overlay-bg:rgba(3,8,17,.62);--border:hsla(0,0%,100%,.08);--border-hover:hsla(0,0%,100%,.16);--border-strong:hsla(0,0%,100%,.26);--text-primary:#eaf1f8;--text-secondary:#a4b6cb;--text-muted:#6c8097;--text-inverse:#0a1730;--accent:#20d0ff;--accent-hover:#58dcff;--accent-press:#11b6e6;--accent-contrast:#04222e;--accent-soft:rgba(32,208,255,.14);--accent-soft-hover:rgba(32,208,255,.22);--accent-soft-border:rgba(32,208,255,.42);--accent-ring:rgba(32,208,255,.4);--lime:#b0f040;--lime-hover:#c6f76a;--lime-contrast:#15240a;--lime-ink:#c6f76a;--lime-soft:rgba(176,240,64,.14);--lime-soft-border:rgba(176,240,64,.42);--again:#c0392b;--hard:#e67e22;--good:#27ae60;--easy:#2f8fd6;--again-text:#e57373;--hard-text:#f0a060;--good-text:#5dbb8a;--easy-text:#6fc0ea;--again-soft:rgba(192,57,43,.14);--hard-soft:rgba(230,126,34,.14);--good-soft:rgba(39,174,96,.14);--easy-soft:rgba(47,143,214,.14);--voice-bg:rgba(32,208,255,.12);--voice-border:rgba(32,208,255,.4);--voice-text:#bdecff;--recording:#e74c3c;--recording-soft:rgba(231,76,60,.16);--font-display:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",ui-monospace,monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:21px;--text-2xl:24px;--text-3xl:30px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-normal:0;--tracking-wide:0.06em;--tracking-caps:0.09em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(4,10,20,.3);--shadow-sm:0 2px 8px rgba(4,10,20,.3);--shadow-md:0 10px 28px rgba(4,10,20,.42);--shadow-lg:0 22px 56px rgba(4,10,20,.5);--shadow-glow-cyan:0 0 0 4px rgba(32,208,255,.18);--z-base:1;--z-controls:2;--z-backdrop:30;--z-overlay:31;--ease-out:cubic-bezier(0.22,0.61,0.36,1);--dur-fast:0.12s;--dur-base:0.16s;--dur-slow:0.28s;--tap-target:44px;--container-md:680px}:root[data-theme=light]{color-scheme:light;--bg:#eef3f9;--bg-subtle:#e6edf6;--surface:#fff;--surface-raised:#f1f5fa;--surface-sunken:#e4ebf4;--overlay-bg:rgba(10,23,48,.42);--border:rgba(10,23,48,.12);--border-hover:rgba(10,23,48,.22);--border-strong:rgba(10,23,48,.34);--text-primary:#0a1730;--text-secondary:#3e4f66;--text-muted:#6a7d94;--text-inverse:#fff;--accent:#0c97c4;--accent-hover:#0a7ea6;--accent-press:#086a8c;--accent-contrast:#fff;--accent-soft:rgba(12,151,196,.1);--accent-soft-hover:rgba(12,151,196,.16);--accent-soft-border:rgba(12,151,196,.34);--accent-ring:rgba(12,151,196,.36);--lime-ink:#5f8a12;--lime-soft:rgba(124,174,28,.14);--lime-soft-border:rgba(124,174,28,.4);--again-text:#b42318;--hard-text:#984d00;--good-text:#117a43;--easy-text:#1261a6;--again-soft:rgba(192,57,43,.1);--hard-soft:rgba(230,126,34,.12);--good-soft:rgba(39,174,96,.1);--easy-soft:rgba(47,143,214,.1);--voice-bg:rgba(12,151,196,.09);--voice-border:rgba(12,151,196,.32);--voice-text:#0a5f7d;--shadow-xs:0 1px 2px rgba(10,23,48,.06);--shadow-sm:0 2px 8px rgba(10,23,48,.08);--shadow-md:0 12px 30px rgba(10,23,48,.12);--shadow-lg:0 22px 56px rgba(10,23,48,.16)}*{box-sizing:border-box}body,html{min-height:100%;background:var(--bg)}body{margin:0;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}button{min-height:var(--tap-target);border:.5px solid var(--border-hover);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}button:hover{border-color:var(--border-strong);background:var(--surface)}button:active{transform:translateY(1px)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--shadow-glow-cyan)}input,select{min-height:var(--tap-target);border:.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);padding:0 14px}dl,h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-display);letter-spacing:var(--tracking-normal)}.skip-link{position:fixed;left:16px;top:16px;z-index:120;transform:translateY(-150%);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);padding:10px 14px;font-weight:var(--weight-semibold)}.skip-link:focus{transform:translateY(0)}.review-shell{position:relative;min-height:100svh;overflow-x:hidden;padding:22px 24px calc(var(--bottom-controls-h, 76px) + var(--space-5))}.ambient-glow{position:fixed;left:50%;top:52%;z-index:1;width:min(860px,132vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 64%,transparent),transparent 56%),radial-gradient(circle at 55% 42%,color-mix(in srgb,var(--lime) 34%,transparent),transparent 42%);filter:blur(22px);pointer-events:none;transition:opacity .08s linear,transform .08s linear}:root[data-theme=light] .ambient-glow{background:radial-gradient(circle,color-mix(in srgb,var(--accent) 88%,transparent),transparent 54%),radial-gradient(circle at 55% 42%,color-mix(in srgb,var(--lime) 58%,transparent),transparent 42%);filter:blur(18px) saturate(1.18)}.global-theme-toggle{position:fixed;top:22px;right:24px;z-index:90;width:44px;min-height:44px;padding:0;border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}.global-theme-toggle:hover{color:var(--text-primary)}.app-header,.app-workspace{position:relative;z-index:var(--z-base)}.bottom-controls{z-index:var(--z-controls)}.overlay-backdrop{position:fixed;inset:0;z-index:var(--z-backdrop);background:var(--overlay-bg);opacity:0;animation:overlay-backdrop-in var(--dur-base) var(--ease-out) forwards}.floating-panel,.support-drawer{z-index:var(--z-overlay)}@keyframes overlay-backdrop-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.overlay-backdrop{animation-duration:.01ms}}.app-header{justify-content:space-between;gap:18px;width:min(100%,var(--container-md));margin:0 auto 18px;border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:12px 16px;box-shadow:var(--shadow-sm)}.app-header,.brand-lockup{display:flex;align-items:center}.brand-lockup{gap:12px;min-width:0}.app-mark{width:42px;height:42px;border:.5px solid var(--border-hover);border-radius:var(--radius-md);background:var(--surface-raised);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.app-mark img{height:30px;width:auto;object-fit:contain}.eyebrow{margin:0 0 3px;color:var(--text-muted);font-size:var(--text-sm);letter-spacing:var(--tracking-caps);line-height:1.2;text-transform:uppercase}.eyebrow,h1{font-weight:var(--weight-semibold)}h1{margin-bottom:0;color:var(--text-primary);font-size:var(--text-xl);line-height:var(--leading-tight)}.drawer-info,.session-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.drawer-info span,.session-stats span{border:.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-secondary);padding:7px 11px;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.app-workspace{display:grid;grid-gap:14px;gap:14px;width:min(100%,var(--container-md));margin:0 auto}.floating-panel,.rail-panel,.session-card,.support-drawer{border:.5px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md)}.session-card{border-radius:var(--radius-lg);padding:20px;min-width:0;box-shadow:var(--shadow-md),0 0 var(--ambient-shadow-size,14px) var(--ambient-shadow-color,transparent)}:root[data-theme=light] .session-card{box-shadow:var(--shadow-md),0 0 calc(var(--ambient-shadow-size, 14px) * 1.25) rgb(0 156 206/calc(var(--ambient-shadow-opacity, 0) * 1.35)),0 0 calc(var(--ambient-shadow-size, 14px) * .62) rgb(124 174 28/calc(var(--ambient-shadow-opacity, 0) * .58))}.panel-header,.rail-heading,.session-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.rail-heading{margin-bottom:12px}.session-card h2{margin:0;color:var(--text-primary);font-size:var(--text-2xl);line-height:var(--leading-tight);overflow-wrap:anywhere}.session-card h2,.voice-state{font-weight:var(--weight-semibold)}.voice-state{min-height:34px;display:inline-flex;align-items:center;gap:8px;border:.5px solid var(--voice-border);border-radius:var(--radius-pill);background:var(--voice-bg);color:var(--voice-text);padding:6px 11px;flex:0 0 auto;font-size:var(--text-sm)}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px var(--good-soft)}.status-dot.muted{background:var(--again);box-shadow:0 0 0 4px var(--again-soft)}.progress-track{height:2px;overflow:hidden;border-radius:var(--radius-pill);background:var(--border);margin:18px 0 20px}.progress-track span{display:block;min-width:2px;height:100%;border-radius:inherit;background:var(--accent);transition:width var(--dur-slow) var(--ease-out)}.flashcard{position:relative;min-height:260px;border:.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);padding:48px 40px 32px;display:grid;grid-template-rows:1fr auto;grid-gap:24px;gap:24px;text-align:center}.answer-panel span,.card-deck,.card-kicker{color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);line-height:1.2;text-transform:uppercase}.card-kicker{left:20px}.card-deck,.card-kicker{position:absolute;top:16px}.card-deck{right:20px;max-width:42%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.question-panel{min-height:132px;display:grid;place-items:center}.card-prompt{max-width:46ch;margin:0 auto;align-self:center;color:var(--text-primary);font-size:clamp(21px,4vw,30px);font-weight:var(--weight-regular);line-height:var(--leading-snug);overflow-wrap:anywhere}.answer-panel code,.caption-strip code,.card-prompt code,.transcript-log code{border-radius:4px;background:hsla(0,0%,100%,.08);color:var(--lime-ink);font-family:var(--font-mono);font-size:.9em;padding:1px 5px}.answer-panel{min-height:76px;border-top:.5px solid var(--border);padding-top:16px;color:var(--text-secondary);text-align:left}.answer-panel p{margin-bottom:0;font-size:var(--text-base);line-height:var(--leading-relaxed)}.review-feedback{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.notice,.rating-notice{margin-bottom:0;border:.5px solid var(--accent-soft-border);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--voice-text);padding:10px 12px;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.notice{display:flex;align-items:center;justify-content:space-between;gap:12px}.notice-retry{flex:0 0 auto;min-height:28px;border-color:var(--accent-soft-border);background:transparent;color:var(--voice-text);padding:0 12px;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.notice-retry:hover{border-color:var(--accent);background:var(--accent-soft-hover)}.caption-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.caption-strip p{min-width:0;margin:0;border:.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);padding:14px 16px}.caption-strip strong,.transcript-log strong{display:block;margin-bottom:5px;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.caption-strip span{color:var(--text-secondary);line-height:var(--leading-relaxed);overflow-wrap:anywhere}.session-support{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.rail-panel{border-radius:var(--radius-md);padding:16px}.floating-panel h2,.rail-panel h2,.support-drawer h2{margin:0;color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.metric-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:0}.metric-list div{border:.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);padding:10px;text-align:center}.metric-list dt{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.metric-list dd,.metric-list dt{font-weight:var(--weight-semibold)}.metric-list dd{margin:4px 0 0;color:var(--text-primary);font-size:var(--text-lg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.command-list{display:grid;grid-gap:8px;gap:8px;margin:14px 0 0;padding:0;list-style:none}.command-list li{border:.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-secondary);padding:8px 10px;font-size:var(--text-sm)}.command-list.full{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-controls{position:fixed;left:50%;bottom:18px;display:grid;grid-template-columns:repeat(5,minmax(84px,1fr));grid-gap:8px;gap:8px;width:min(680px,calc(100vw - 24px));transform:translateX(-50%);border:.5px solid var(--border-hover);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 94%,transparent);padding:8px;box-shadow:var(--shadow-lg)}.control-button,.danger-button,.icon-button,.primary-control,.quick-actions button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.control-button{width:100%;min-width:0;padding:0 10px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.control-button.primary,.primary-control{border-color:transparent;background:var(--accent);color:var(--accent-contrast);font-weight:var(--weight-bold)}.control-button.primary:hover,.primary-control:hover{background:var(--accent-hover)}.control-button.primary:active,.primary-control:active{background:var(--accent-press)}.control-button.danger,.danger-button{border-color:rgba(192,57,43,.4);background:transparent;color:var(--again-text)}.control-button.danger:hover,.danger-button:hover{border-color:var(--again);background:var(--again-soft)}.control-button[aria-pressed=true]{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-hover)}.control-button:disabled{cursor:not-allowed;opacity:.78}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}.secondary-button{min-height:40px;padding:0 13px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.icon-button{width:36px;min-height:36px;padding:0;flex:0 0 auto;border-radius:var(--radius-sm)}.floating-panel{position:fixed;right:max(24px,calc((100vw - 680px) / 2));top:94px;width:min(380px,calc(100vw - 32px));border-radius:var(--radius-md);padding:16px}.settings-grid{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.deck-switcher label,.settings-grid label,.text-form label{display:grid;grid-gap:7px;gap:7px;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.settings-grid label span{color:var(--text-muted)}.support-drawer{position:fixed;left:50%;bottom:92px;display:grid;width:min(680px,calc(100vw - 32px));max-height:min(74svh,620px);transform:translateX(-50%);grid-template-rows:auto auto auto auto minmax(120px,1fr) auto;grid-gap:13px;gap:13px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:18px;overflow:auto}.deck-switcher{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.deck-switcher label,.deck-switcher p{grid-column:1/-1}.deck-switcher p{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.quick-actions button{min-width:0;padding:0 10px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.quick-actions button:first-child{border-color:rgba(192,57,43,.4);color:var(--again-text)}.quick-actions button:first-child:hover{background:var(--again-soft);border-color:var(--again)}.quick-actions button:nth-child(2){border-color:rgba(230,126,34,.4);color:var(--hard-text)}.quick-actions button:nth-child(2):hover{background:var(--hard-soft);border-color:var(--hard)}.quick-actions button:nth-child(3){border-color:rgba(39,174,96,.4);color:var(--good-text)}.quick-actions button:nth-child(3):hover{background:var(--good-soft);border-color:var(--good)}.quick-actions button:nth-child(4){border-color:rgba(47,143,214,.4);color:var(--easy-text)}.quick-actions button:nth-child(4):hover{background:var(--easy-soft);border-color:var(--easy)}.transcript-log{min-height:120px;overflow:auto;border:.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);padding:14px 16px}.transcript-log p{display:grid;grid-gap:2px;gap:2px;margin:0 0 12px}.transcript-log p:last-child{margin-bottom:0}.user-line span{color:var(--text-primary);font-style:italic}.agent-line span{color:var(--text-secondary)}.text-form{display:grid;grid-gap:7px;gap:7px}.text-form div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:760px){.review-shell{padding:72px 12px calc(var(--bottom-controls-h, 92px) + var(--space-5))}.global-theme-toggle{top:16px;right:12px}.app-header{display:grid;align-items:start}.session-stats{justify-content:flex-start}.session-card{padding:14px}.panel-header,.session-card-header,.session-support{grid-template-columns:1fr}.panel-header,.session-card-header{display:grid}.voice-state{justify-self:start}.flashcard{min-height:228px;padding:46px 20px 24px}.card-deck{max-width:48%}.caption-strip,.command-list.full,.deck-switcher,.text-form div{grid-template-columns:1fr}.metric-list{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-controls{bottom:10px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px}.control-button{min-height:50px;padding:6px;flex-direction:column;gap:3px;font-size:var(--text-2xs)}.floating-panel{left:12px;right:12px;top:82px;width:auto}.support-drawer{bottom:82px;width:calc(100vw - 16px);max-height:76svh;padding:12px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.metric-list{grid-template-columns:1fr}.card-deck{display:none}}