:root{--primary-hue:194;--primary:#00b4d8;--primary-light:#90e0ef;--primary-dark:#0077b6;--primary-rgb:0, 180, 216;--primary-text:#006d91;--on-primary:#07111f;--on-primary-muted:color-mix(in srgb, var(--on-primary) 82%, transparent);--accent-subtle:rgba(var(--primary-rgb), .06);--accent-soft:rgba(var(--primary-rgb), .11);--accent-medium:rgba(var(--primary-rgb), .2);--accent-border:rgba(var(--primary-rgb), .3);--bg:#f7fafe;--bg-alt:#eff6fc;--surface:#fff;--surface-2:#f1f6fb;--surface-3:#e7f1f9;--surface-raised:var(--surface);--surface-sunken:var(--bg-alt);--surface-glass:#f7fafee0;--surface-hover:color-mix(in srgb, var(--surface) 90%, var(--primary) 10%);--surface-selected:color-mix(in srgb, var(--surface) 84%, var(--primary) 16%);--scrim:#0f172a80;--blueprint-grid:rgba(var(--primary-rgb), .035);--blueprint-major:rgba(var(--primary-rgb), .055);--page-background:radial-gradient(circle at 84% -12%, rgba(var(--primary-rgb), .105), transparent 34rem), linear-gradient(var(--blueprint-grid) 1px, transparent 1px), linear-gradient(90deg, var(--blueprint-grid) 1px, transparent 1px), var(--bg);--page-background-size:auto, 32px 32px, 32px 32px, auto;--text:#122033;--text-secondary:#526176;--text-muted:#718096;--text-inverse:#fff;--success:#10b981;--success-text:#047857;--success-light:#d1fae5;--success-rgb:16, 185, 129;--error:#ef4444;--error-text:#b42318;--error-light:#fee2e2;--error-rgb:239, 68, 68;--warning:#f59e0b;--warning-text:#92400e;--warning-light:#fef3c7;--warning-rgb:245, 158, 11;--info:#3b82f6;--info-text:#1d4ed8;--info-light:#dbeafe;--info-rgb:59, 130, 246;--premium:#7c3aed;--premium-text:#6d28d9;--premium-light:#7c3aed21;--premium-rgb:124, 58, 237;--border:#dce6f0;--border-strong:#c8d6e5;--shadow-sm:0 1px 2px #1023380f, 0 1px 3px #1023380d;--shadow:0 8px 24px #10233812, 0 2px 6px #1023380a;--shadow-md:0 16px 40px #1023381a, 0 4px 12px #1023380d;--shadow-lg:0 28px 64px #10233824, 0 10px 24px #10233812;--neon-glow:0 0 14px rgba(var(--primary-rgb),.55), 0 0 40px rgba(var(--primary-rgb),.14);--neon-glow-strong:0 0 20px rgba(var(--primary-rgb),.8), 0 0 55px rgba(var(--primary-rgb),.28), 0 0 100px rgba(var(--primary-rgb),.11);--neon-glow-sm:0 0 8px rgba(var(--primary-rgb),.48);--card-shadow:0 8px 26px #1023380e, 0 1px 2px #1023380a;--card-shadow-hover:0 14px 38px rgba(var(--primary-rgb),.16), 0 6px 18px #10233814;--interactive-shadow:0 5px 18px rgba(var(--primary-rgb), .28);--focus-ring:0 0 0 3px rgba(var(--primary-rgb), .24);--focus-ring-error:0 0 0 3px rgba(var(--error-rgb), .18);--radius-sm:8px;--radius:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--font-heading:"Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--transition-fast:.15s cubic-bezier(.2,.8,.2,1);--transition:.24s cubic-bezier(.2,.8,.2,1);--transition-slow:.36s cubic-bezier(.2,.8,.2,1);--transition-bounce:.3s cubic-bezier(.34,1.56,.64,1);--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px;--container-max:1280px;--content-max:800px;--content-wide:1120px;--content-narrow:680px;--control-height:44px;--control-height-sm:36px;--page-gutter:clamp(16px, 2.2vw, 32px);--section-gap:clamp(28px, 4vw, 56px);--z-below:-1;--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-mobile-chrome:250;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600}:root[data-theme=dark]{--bg:#0a0f1c;--bg-alt:#0d1422;--surface:#131a2b;--surface-2:#1a2236;--surface-3:#232d47;--surface-glass:#0a0f1ce6;--surface-hover:color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);--surface-selected:color-mix(in srgb, var(--surface) 80%, var(--primary) 20%);--scrim:#000000ad;--blueprint-grid:rgba(var(--primary-rgb), .025);--blueprint-major:rgba(var(--primary-rgb), .05);--page-background:radial-gradient(circle at 82% -10%, rgba(var(--primary-rgb), .13), transparent 36rem), linear-gradient(var(--blueprint-grid) 1px, transparent 1px), linear-gradient(90deg, var(--blueprint-grid) 1px, transparent 1px), var(--bg);--exam-header-bg:#0d1422eb;--text:#e6edfa;--text-secondary:#aab6cd;--text-muted:#8290ac;--text-inverse:#0a0f1c;--primary-text:#74dcfb;--success-light:#10b9811f;--success-text:#6ee7b7;--error-light:#ef44441f;--error-text:#fca5a5;--warning-light:#f59e0b1f;--warning-text:#fcd34d;--info-light:#3b82f61f;--info-text:#93c5fd;--premium-text:#c4b5fd;--border:#232d47;--border-strong:#2e3a58;--shadow-sm:0 1px 3px #00000073;--shadow:0 4px 10px #00000080;--shadow-md:0 10px 25px #0009;--shadow-lg:0 20px 40px #000000b3;--card-shadow:0 2px 14px rgba(var(--primary-rgb),.16), 0 1px 3px #0000004d;--card-shadow-hover:0 8px 36px rgba(var(--primary-rgb),.35), 0 4px 12px #0006;--neon-glow:0 0 14px rgba(var(--primary-rgb),.68), 0 0 40px rgba(var(--primary-rgb),.2);--neon-glow-strong:0 0 22px rgba(var(--primary-rgb),.85), 0 0 55px rgba(var(--primary-rgb),.35), 0 0 100px rgba(var(--primary-rgb),.14);--neon-glow-sm:0 0 10px rgba(var(--primary-rgb),.6);--interactive-shadow:0 5px 20px rgba(var(--primary-rgb), .25);--focus-ring:0 0 0 3px rgba(var(--primary-rgb), .34);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-neon="0"]{--neon-glow:none;--neon-glow-strong:none;--neon-glow-sm:none;--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md);--interactive-shadow:var(--shadow-sm)}@media (width<=480px){:root{--bp:"xs"}}@media (width<=768px){:root{--bp:"sm"}}@media (width<=1024px){:root{--bp:"md"}}@media (width>=1025px){:root{--bp:"lg"}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-4));-webkit-text-size-adjust:100%;tab-size:2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg)}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background:var(--page-background);background-size:var(--page-background-size);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;min-height:100vh}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button,[role=button]{cursor:pointer}button,a,[role=button]{touch-action:manipulation}button:disabled,[role=button][aria-disabled=true]{cursor:not-allowed}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#app{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface-2);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:var(--radius-full);transition:background var(--transition)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}*{scrollbar-width:thin;scrollbar-color:var(--primary-light) var(--surface-2)}::selection{background-color:rgba(var(--primary-rgb), .2);color:var(--primary-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text);text-wrap:balance;letter-spacing:-.025em}:where(h1,h2,h3,h4,h5,h6,section)[id]{scroll-margin-top:calc(var(--header-height) + var(--space-4))}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:var(--font-semibold)}@media (width<=768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}}p{line-height:var(--leading-relaxed);color:var(--text-secondary);text-wrap:pretty}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-dark);text-decoration:underline}a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}ul,ol{list-style:none}strong,b{font-weight:var(--font-semibold)}em,i{font-style:italic}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--primary-dark);padding:2px 6px}pre{background:var(--text);color:var(--text-inverse);padding:var(--space-4);border-radius:var(--radius);overflow-x:auto}pre code{color:inherit;background:0 0;padding:0}hr{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{top:var(--space-3);left:var(--space-3);z-index:calc(var(--z-tooltip) + 1);min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--surface-raised);color:var(--primary-text);box-shadow:var(--shadow-md), var(--focus-ring);font-weight:var(--font-semibold);transform:translateY(calc(-100% - var(--space-5)));transition:transform var(--transition-fast);align-items:center;display:inline-flex;position:fixed}.skip-link:focus{text-decoration:none;transform:translateY(0)}.container{width:100%;max-width:var(--container-max);padding-left:var(--page-gutter);padding-right:var(--page-gutter);margin-left:auto;margin-right:auto}@media (width<=768px){.container{padding-left:var(--space-4);padding-right:var(--space-4)}}.hidden{display:none!important}.invisible{visibility:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-start{justify-content:flex-start;align-items:center;display:flex}.flex-end{justify-content:flex-end;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-2{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-primary{color:var(--primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-error{color:var(--error)}.text-warning{color:var(--warning)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.mt-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100dvh}.surface{background:var(--surface)}.rounded{border-radius:var(--radius)}.rounded-full{border-radius:var(--radius-full)}.overflow-hidden{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.cursor-pointer{cursor:pointer}.empty-state{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-6);text-align:center;flex-direction:column;display:flex}.empty-state,.fl-state-block{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow)}.empty-state__icon{border-radius:var(--radius-full);background:var(--surface-2);justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;display:flex}.empty-state__title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text)}.empty-state__description{font-size:var(--text-sm);color:var(--text-secondary);max-width:320px}.section{padding:var(--space-16) 0}@media (width<=768px){.section{padding:var(--space-10) 0}}.section__header{text-align:center;margin-bottom:var(--space-12)}.section__title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-3)}.section__subtitle{font-size:var(--text-lg);color:var(--text-secondary);max-width:560px;margin:0 auto}.page-header{margin-bottom:clamp(var(--space-6), 3vw, var(--space-10))}.page-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text);margin-bottom:var(--space-2)}.page-subtitle{font-size:var(--text-base);color:var(--text-secondary);max-width:68ch}@media (width<=480px){body{background-size:auto,24px 24px,24px 24px,auto}.page-title{font-size:clamp(1.65rem,8vw,2rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--page-background);background-size:var(--page-background-size);background-attachment:fixed;min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-width);background:color-mix(in srgb, var(--surface-raised) 96%, var(--primary) 4%);border-right:1px solid var(--border);height:100dvh;z-index:var(--z-sticky);transition:transform var(--transition), width var(--transition);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar--collapsed{width:var(--sidebar-collapsed)}.sidebar__logo{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5);border-bottom:1px solid var(--border);min-height:var(--header-height);text-decoration:none;display:flex}.sidebar__logo-icon{border-radius:var(--radius);background:var(--primary);width:36px;height:36px;box-shadow:var(--neon-glow-sm);color:var(--on-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.sidebar__logo-text{transition:opacity var(--transition), width var(--transition);flex-direction:column;display:flex;overflow:hidden}.sidebar__logo-title{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text);white-space:nowrap;line-height:1.2}.sidebar__logo-subtitle{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.sidebar--collapsed .sidebar__logo-text{opacity:0;pointer-events:none;width:0}.sidebar__nav{padding:var(--space-4) var(--space-3);flex:1;overflow:hidden auto}.sidebar__nav-section{margin-bottom:var(--space-6)}.sidebar__nav-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:0 var(--space-3);margin-bottom:var(--space-2);white-space:nowrap;transition:opacity var(--transition);overflow:hidden}.sidebar--collapsed .sidebar__nav-label{opacity:0}.sidebar__nav-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);min-height:var(--control-height);border-radius:var(--radius);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar__nav-link:hover{background:var(--surface-hover);color:var(--primary);text-decoration:none}.sidebar__nav-link.active{background:var(--surface-selected);color:var(--primary-text);font-weight:var(--font-semibold)}.sidebar__nav-link.active:before{content:"";background:var(--primary);border-radius:0 var(--radius-full) var(--radius-full) 0;width:3px;box-shadow:var(--neon-glow-sm);position:absolute;top:20%;bottom:20%;left:0}.sidebar__nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:18px;display:flex}.sidebar__nav-text{transition:opacity var(--transition), width var(--transition);overflow:hidden}.sidebar--collapsed .sidebar__nav-text{opacity:0;width:0}.sidebar__nav-badge{background:var(--primary);color:var(--on-primary);font-size:10px;font-weight:var(--font-bold);border-radius:var(--radius-full);transition:opacity var(--transition);flex-shrink:0;margin-left:auto;padding:2px 6px}.sidebar--collapsed .sidebar__nav-badge{opacity:0}.sidebar__nav-link--ai{color:var(--primary-text)}.sidebar__nav-link--ai:hover{background:rgba(var(--primary-rgb), .08);color:var(--primary-text)}.sidebar__nav-link--ai.active{background:rgba(var(--primary-rgb), .12)}.sidebar__nav-icon--ai{filter:drop-shadow(0 0 5px rgba(var(--primary-rgb), .55));color:var(--primary)}.sidebar__nav-text--ai{background:linear-gradient(90deg, var(--primary), var(--primary-light));-webkit-text-fill-color:transparent;font-weight:var(--font-semibold);letter-spacing:.02em;-webkit-background-clip:text;background-clip:text}.sidebar--collapsed .sidebar__nav-text--ai{opacity:0;width:0}.sidebar__nav-badge--new{font-size:9px;font-weight:var(--font-bold);border-radius:var(--radius-sm);background:rgba(var(--primary-rgb), .18);color:var(--primary-text);letter-spacing:.04em;transition:opacity var(--transition);flex-shrink:0;margin-left:auto;padding:2px 6px}.sidebar--collapsed .sidebar__nav-badge--new{display:none}.sidebar__footer{border-top:1px solid var(--border);padding:var(--space-2) 0}.sidebar__toggle{width:var(--control-height);height:var(--control-height);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;margin-left:auto;display:flex}.sidebar__toggle:hover{border-color:var(--primary);color:var(--primary);background:rgba(var(--primary-rgb), .06)}.main-wrapper{margin-left:var(--sidebar-width);min-width:0;transition:margin-left var(--transition);flex-direction:column;flex:1;display:flex}.main-wrapper--collapsed{margin-left:var(--sidebar-collapsed)}.app-header{height:var(--header-height);background:var(--surface-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(var(--primary-rgb), .04);padding:0 var(--space-6);align-items:center;gap:var(--space-4);z-index:var(--z-sticky);display:flex;position:relative;top:auto}.app-header__left{align-items:center;gap:var(--space-3);flex:1;display:flex}.app-header__hamburger{border-radius:var(--radius);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:none}.app-header__hamburger:hover{background:var(--surface-2);color:var(--primary)}.app-header__breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.app-header__breadcrumb-sep{color:var(--border-strong)}.app-header__breadcrumb-current{color:var(--text);font-weight:var(--font-medium)}.app-header__right{align-items:center;gap:var(--space-3);display:flex}.public-header{height:var(--header-height);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(18px)saturate(135%);border-bottom:1px solid var(--border);z-index:var(--z-sticky);position:sticky;top:0}.public-header__inner{height:100%;max-width:var(--container-max);padding:0 var(--space-6);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.public-header__logo{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.public-header__logo-icon{border-radius:var(--radius);background:var(--primary);width:36px;height:36px;color:var(--on-primary);box-shadow:var(--neon-glow-sm);justify-content:center;align-items:center;font-size:18px;display:flex}.public-header__logo-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text)}.public-header__nav{align-items:center;gap:var(--space-2);display:flex}.public-header__hamburger{cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;gap:5px;display:none}.public-header__hamburger span{background:var(--text);width:24px;height:2px;transition:opacity var(--transition), transform var(--transition);border-radius:2px;display:block}.main-content{padding:clamp(var(--space-6), 3vw, var(--space-10)) var(--page-gutter);flex:1}@media (width<=768px){.main-content{padding:var(--space-6) var(--space-4)}}.page-layout{min-height:100dvh;display:flex}.auth-layout{min-height:100dvh;padding:var(--space-6);background:var(--bg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-layout:before{content:"";background:radial-gradient(circle, rgba(var(--primary-rgb), .08) 0%, transparent 70%);pointer-events:none;width:600px;height:600px;position:absolute;top:-30%;right:-20%}.auth-layout:after{content:"";background:radial-gradient(circle, rgba(var(--primary-rgb), .05) 0%, transparent 70%);pointer-events:none;width:400px;height:400px;position:absolute;bottom:-20%;left:-10%}:root[data-theme=dark] .auth-layout:before{background:radial-gradient(circle, rgba(var(--primary-rgb), .14) 0%, transparent 70%)}:root[data-theme=dark] .auth-layout:after{background:radial-gradient(circle, rgba(var(--primary-rgb), .09) 0%, transparent 70%)}.auth-box{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:var(--space-10) var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--border);z-index:1;animation:.4s slideUp;position:relative}@media (width<=480px){.auth-box{padding:var(--space-8) var(--space-6)}.auth-layout{padding:var(--space-4);padding-top:var(--space-10);align-items:flex-start}}.dashboard-stats{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.dashboard-stats{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}}.dashboard-grid{gap:var(--space-6);grid-template-columns:1fr 340px;display:grid}@media (width<=1100px){.dashboard-grid{grid-template-columns:1fr}}.db-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.db-header__date{font-size:var(--text-xs);color:var(--text-muted);text-transform:capitalize;margin-bottom:var(--space-2)}.db-header__title{font-family:var(--font-heading);color:var(--text);margin:0 0 var(--space-2);letter-spacing:-.02em;font-size:1.75rem;font-weight:700;line-height:1.2}.db-header__sub{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.db-header__highlight{color:var(--primary-text);font-weight:700}.db-streak-badge{background:var(--warning-light);color:var(--warning);font-size:var(--text-xs);border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.db-header__actions{gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;display:flex}.db-onboarding{margin-bottom:var(--space-6);background:linear-gradient(135deg, rgba(var(--primary-rgb),.05), rgba(var(--primary-rgb),.14))!important;border:1px solid rgba(var(--primary-rgb),.3)!important}.db-onboarding__inner{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.db-onboarding__emoji{flex-shrink:0;font-size:48px}.db-onboarding__text{flex:1;min-width:200px}.db-onboarding__title{font-family:var(--font-heading);font-size:var(--text-xl);margin:0 0 var(--space-2);font-weight:700}.db-onboarding__desc{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.db-top-row{gap:var(--space-5);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.db-card-label{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-4);font-weight:600}.db-countdown{padding:var(--space-5)}.db-countdown__body{align-items:center;gap:var(--space-5);display:flex}.db-ring{--ring-size:110px;--ring-stroke:10px;--ring-color:var(--primary);--ring-bg:var(--surface-2);width:var(--ring-size);height:var(--ring-size);background:conic-gradient(var(--ring-color) calc(var(--ring-pct,0) * 1%), var(--ring-bg) 0);box-shadow:0 0 0 var(--ring-stroke) var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .4s;display:flex;position:relative}.db-ring__inner{width:calc(var(--ring-size) - var(--ring-stroke) * 3);height:calc(var(--ring-size) - var(--ring-stroke) * 3);background:var(--surface);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.db-ring__num{font-family:var(--font-heading);color:var(--text);letter-spacing:-.03em;font-size:1.6rem;font-weight:800;line-height:1}.db-ring__sub{color:var(--text-muted);margin-top:2px;font-size:10px}.db-countdown__info{gap:var(--space-1);flex-direction:column;display:flex}.db-countdown__date{font-size:var(--text-sm);color:var(--text);font-weight:600}.db-countdown__caption{font-size:var(--text-xs);color:var(--text-secondary)}.db-countdown__tip{font-size:var(--text-xs);color:var(--primary-text);margin-top:var(--space-2);font-weight:500}.db-progress-card{padding:var(--space-5)}.db-progress-card__stats{gap:var(--space-4);flex-direction:column;display:flex}.db-metric__value{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--text);letter-spacing:-.02em;font-weight:800;line-height:1}.db-metric__label{font-size:var(--text-xs);color:var(--text-secondary);margin:4px 0 6px}.db-metric__bar{background:var(--surface-2);border-radius:var(--radius-full);height:5px;overflow:hidden}.db-metric__fill{border-radius:var(--radius-full);min-width:2px;height:100%;transition:width .6s cubic-bezier(.25,.46,.45,.94)}.db-weak-card{padding:var(--space-5)}.db-weak-list{gap:var(--space-2);flex-direction:column;display:flex}.db-weak-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface-2);transition:background var(--transition-fast), transform var(--transition-fast);cursor:pointer;text-decoration:none;display:flex}.db-weak-item:hover{background:var(--surface-3);transform:translate(2px)}.db-weak-item__pct{border-radius:var(--radius);width:40px;height:40px;font-size:var(--text-xs);font-weight:700;font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;display:flex}.db-weak-item__name{font-size:var(--text-sm);color:var(--text);flex:1;line-height:1.35}.db-weak-item__arrow{color:var(--text-muted);font-size:1.2rem}.db-empty-hint{text-align:center;padding:var(--space-6) var(--space-4);font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-relaxed)}.db-bottom-row{gap:var(--space-5);grid-template-columns:1fr 300px;display:grid}.db-topics-card{padding:var(--space-5)}.db-topics-list{gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.db-topic-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-radius:var(--radius);transition:background var(--transition-fast);text-decoration:none;display:flex}.db-topic-row:hover{background:var(--surface-2)}.db-topic-row__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.db-topic-row__info{flex:1;min-width:0}.db-topic-row__name{font-size:var(--text-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;font-weight:500;overflow:hidden}.db-topic-row__bar{background:var(--surface-2);border-radius:var(--radius-full);height:5px;overflow:hidden}.db-topic-row__fill{border-radius:var(--radius-full);min-width:2px;height:100%;transition:width .5s}.db-topic-row__meta{text-align:right;flex-shrink:0}.db-topic-row__count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.db-side-col{gap:var(--space-4);flex-direction:column;display:flex}.db-actions-card{padding:var(--space-5)}.db-actions-list{gap:var(--space-2);flex-direction:column;display:flex}.db-action-btn{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface-2);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;text-decoration:none;display:flex}.db-action-btn:hover{background:var(--surface-3);border-color:var(--border);transform:translate(2px)}.db-action-btn--primary{background:rgba(var(--primary-rgb), .08);border-color:rgba(var(--primary-rgb), .2)}.db-action-btn--primary:hover{background:rgba(var(--primary-rgb), .14);border-color:rgba(var(--primary-rgb), .35)}.db-action-btn__icon{text-align:center;flex-shrink:0;width:24px;font-size:1.1rem}.db-action-btn__text{flex:1;min-width:0}.db-action-btn__label{font-size:var(--text-sm);color:var(--text);font-weight:500}.db-action-btn__hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:1px}.db-action-btn__arrow{color:var(--text-muted);flex-shrink:0;font-size:1.2rem}.db-streak-card{padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,#f59e0b0f,#f59e0b05)!important;border-color:#f59e0b33!important}.db-streak-card__header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.db-streak-card__icon{font-size:1.6rem}.db-streak-card__days{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text);font-weight:700;line-height:1}.db-streak-card__sub{font-size:var(--text-xs);color:var(--text-secondary)}.db-streak-dots{gap:var(--space-1);display:flex}.db-streak-dot{text-align:center;flex:1}.db-streak-dot__label{color:var(--text-muted);margin-bottom:4px;font-size:9px}.db-streak-dot__mark{border-radius:var(--radius-sm);background:var(--surface-2);height:26px;color:var(--text-muted);justify-content:center;align-items:center;font-size:10px;display:flex}.db-streak-dot--active .db-streak-dot__mark{background:var(--warning);color:#fff;font-size:11px}@media (width<=1100px){.db-top-row{grid-template-columns:1fr 1fr}.db-weak-card{grid-column:span 2}.db-bottom-row{grid-template-columns:1fr}.db-side-col{flex-flow:wrap}.db-actions-card,.db-streak-card{flex:1;min-width:220px}}@media (width<=768px){.db-header{flex-direction:column;align-items:flex-start}.db-header__title{font-size:1.4rem}.db-top-row{grid-template-columns:1fr}.db-weak-card{grid-column:span 1}.db-bottom-row{grid-template-columns:1fr}.db-side-col{flex-direction:column}.db-countdown__body{gap:var(--space-4)}.db-ring{--ring-size:90px;--ring-stroke:8px}.db-ring__num{font-size:1.3rem}}.topics-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.sidebar-overlay{z-index:calc(var(--z-sticky) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;animation:.2s fadeIn;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}@media (width<=768px){.sidebar{max-width:320px;box-shadow:var(--shadow-lg);z-index:1000;transform:translate(-100%);width:80vw!important}.sidebar.mobile-open{transform:translate(0)}.sidebar--collapsed{max-width:320px;width:80vw!important}.sidebar--collapsed .sidebar__nav-text,.sidebar--collapsed .sidebar__logo-text{opacity:1!important;display:block!important}.sidebar-overlay{z-index:999}.main-wrapper,.main-wrapper--collapsed{margin-left:0}.app-header__hamburger,.public-header__hamburger{display:flex}.public-header__nav{top:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-4);gap:var(--space-2);box-shadow:var(--shadow-md);flex-direction:column;display:none;position:absolute;left:0;right:0}.public-header__nav.open{display:flex}#sidebar-collapse-btn{display:none}}.no-sidebar-layout{flex-direction:column;min-height:100dvh;display:flex}.no-sidebar-layout .main-content{flex:1}.sidebar-tier-badge{letter-spacing:.05em;border-radius:999px;align-items:center;margin-top:2px;margin-bottom:1px;padding:1px 7px;font-size:10px;font-weight:800;line-height:1.6;display:inline-flex}.sidebar-tier-badge--pro{background:var(--primary);color:#fff}.sidebar-tier-badge--premium{background:linear-gradient(135deg, var(--primary), #9333ea);color:#fff}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);border-radius:var(--radius);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:10px 20px;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px;box-shadow:var(--focus-ring)}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn--sm{min-height:var(--control-height-sm);font-size:var(--text-xs);border-radius:var(--radius-sm);padding:6px 14px}.btn--lg{min-height:50px;font-size:var(--text-base);border-radius:var(--radius-md);padding:14px 28px}.btn--full{width:100%}.btn--icon{width:40px;height:40px;padding:0}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--interactive-shadow);border-color:#0000;transition:box-shadow .2s,transform .1s}.btn-primary:hover{box-shadow:0 6px 24px rgba(var(--primary-rgb), .65), var(--neon-glow);color:var(--on-primary);text-decoration:none;transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--neon-glow-sm);transform:scale(.98)}.btn-secondary{background:var(--surface);color:var(--primary);border-color:var(--primary)}.btn-secondary:hover{background:rgba(var(--primary-rgb), .06);box-shadow:var(--neon-glow-sm);color:var(--primary);text-decoration:none;transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong);text-decoration:none}.btn-danger{background:var(--error);color:#fff;box-shadow:0 2px 8px rgba(var(--error-rgb), .25);border-color:#0000}.btn-danger:hover{background:color-mix(in srgb, var(--error) 80%, #000);box-shadow:0 4px 16px rgba(var(--error-rgb), .4);color:#fff;text-decoration:none;transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff;border-color:#0000}.btn-success:hover{background:color-mix(in srgb, var(--success) 80%, #000);box-shadow:0 4px 16px rgba(var(--success-rgb), .35);color:#fff;text-decoration:none;transform:translateY(-1px)}.btn-google{background:var(--surface);color:var(--text);border:1.5px solid var(--border);gap:var(--space-3)}.btn-google:hover{background:var(--surface-2);border-color:var(--border-strong);box-shadow:var(--shadow);color:var(--text);text-decoration:none;transform:translateY(-1px)}.btn-google__icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:18px;height:18px}.btn--loading{color:#0000;pointer-events:none}.btn--loading:after{content:"";width:16px;height:16px;color:var(--on-primary);border:2px solid #0000;border-top-color:currentColor;border-top-color:var(--on-primary);border-radius:50%;animation:.7s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);padding:var(--space-6);box-shadow:var(--card-shadow);isolation:isolate;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition), background-color var(--transition);position:relative}.card--clickable:hover,a.card:hover,button.card:hover{border-color:var(--accent-border);background:var(--surface-hover);box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.card--neon:hover{box-shadow:var(--neon-glow), var(--card-shadow-hover)}.card--flat{box-shadow:none}.card--flat:hover{transform:none}.card--clickable{cursor:pointer}.card--glass{-webkit-backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(135deg,#ffffff0a,#ffffff04);border:1px solid #ffffff14;box-shadow:0 10px 30px #0006,inset 0 1px #ffffff0d}:root:not([data-theme=dark]) .card--glass{box-shadow:0 10px 30px rgba(var(--primary-rgb),.1), inset 0 1px 0 #fffc;background:linear-gradient(135deg,#ffffffd9,#ffffff8c);border:1px solid #ffffffe6}.topic-card{cursor:pointer}.topic-card:hover{box-shadow:0 12px 32px rgba(var(--primary-rgb), .15);transform:translateY(-4px)}.card--sm{padding:var(--space-4)}.card--lg{padding:var(--space-8)}.card__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card__title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text)}.card__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.stat-card{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);padding:var(--space-5);box-shadow:var(--card-shadow);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);gap:var(--space-3);flex-direction:column;display:flex}.stat-card:hover{border-color:rgba(var(--primary-rgb), .3);box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.stat-card__icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.stat-card__icon--primary{background:rgba(var(--primary-rgb), .1);color:var(--primary)}.stat-card__icon--success{background:var(--success-light);color:var(--success)}.stat-card__icon--warning{background:var(--warning-light);color:var(--warning)}.stat-card__icon--error{background:var(--error-light);color:var(--error)}.stat-card__value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text);line-height:1}.stat-card__label{font-size:var(--text-sm);color:var(--text-secondary)}.stat-card__trend{font-size:var(--text-xs);font-weight:var(--font-medium);align-items:center;gap:4px;display:inline-flex}.stat-card__trend--up{color:var(--success)}.stat-card__trend--down{color:var(--error)}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text)}.form-label .required{color:var(--error);margin-left:3px}.input-group{align-items:center;display:flex;position:relative}.input-group .input{padding-right:44px}.input-group__icon{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;right:14px}.input-group__icon--left{pointer-events:none;left:14px;right:auto}.input-group .input.has-left-icon{padding-left:44px}.input{width:100%;min-height:var(--control-height);background:var(--surface-raised);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);outline:2px solid #0000;padding:11px 16px;line-height:1.5}.input::placeholder{color:var(--text-muted)}.input:hover{border-color:var(--primary-light)}.input:focus-visible{border-color:var(--primary);box-shadow:var(--focus-ring)}.input--error{border-color:var(--error)}.input--error:focus-visible{box-shadow:var(--focus-ring-error)}.input--success{border-color:var(--success)}.form-hint{font-size:var(--text-xs);color:var(--text-muted)}.form-error{font-size:var(--text-xs);color:var(--error);align-items:center;gap:4px;display:flex}select.input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}select.input option{background:var(--surface-raised);color:var(--text)}textarea.input{resize:vertical;min-height:100px}.checkbox-group,.radio-group{gap:var(--space-2);flex-direction:column;display:flex}.checkbox-item,.radio-item{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.checkbox-item input[type=checkbox],.radio-item input[type=radio]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.checkbox-item__label,.radio-item__label{font-size:var(--text-sm);color:var(--text)}.modal-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(10px);z-index:var(--z-modal);padding:max(var(--space-4), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));overscroll-behavior:contain;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);overscroll-behavior:contain;width:100%;max-width:520px;max-height:min(90vh,90dvh);box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:.3s slideUp;overflow-y:auto}.modal--sm{max-width:380px}.modal--lg{max-width:720px}.modal__header{padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal__title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text)}.modal__close{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal__close:hover{background:var(--error-light);color:var(--error)}.modal__body{padding:var(--space-6)}.modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--border);display:flex}.modal__footer-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);width:100%;display:flex}@media (width<=480px){.modal__footer-actions{flex-direction:column-reverse}.modal__footer-actions .btn{width:100%}}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;line-height:1.4;display:inline-flex}.badge--primary{background:rgba(var(--primary-rgb),.12);color:var(--primary-dark)}.badge--success{background:var(--success-light);color:var(--success)}.badge--error{background:var(--error-light);color:var(--error)}.badge--warning{background:var(--warning-light);color:var(--warning)}.badge--neutral{background:var(--surface-2);color:var(--text-secondary)}.tag{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border);cursor:default;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);padding:4px 12px;display:inline-flex}.tag:hover{background:rgba(var(--primary-rgb),.08);border-color:var(--primary-light);color:var(--primary)}.tag--active{background:rgba(var(--primary-rgb),.12);border-color:var(--primary-light);color:var(--primary)}.progress-bar{background:var(--surface-2);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar--sm{height:4px}.progress-bar--lg{height:12px}.progress-bar__fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--primary-dark), var(--primary));height:100%;transition:width .8s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.progress-bar__fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:60%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}.progress-bar__fill--success{background:linear-gradient(90deg, color-mix(in srgb, var(--success) 75%, #000), var(--success))}.progress-bar__fill--warning{background:linear-gradient(90deg, color-mix(in srgb, var(--warning) 75%, #000), var(--warning))}.progress-bar__fill--error{background:linear-gradient(90deg, color-mix(in srgb, var(--error) 75%, #000), var(--error))}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius);font-size:var(--text-sm);line-height:var(--leading-normal);border:1px solid;display:flex}.alert__icon{flex-shrink:0;margin-top:1px;font-size:18px}.alert__content{flex:1}.alert__title{font-weight:var(--font-semibold);margin-bottom:4px}.alert-success{background:var(--success-light);border-color:rgba(var(--success-rgb), .3);color:var(--success)}.alert-error{background:var(--error-light);border-color:rgba(var(--error-rgb), .3);color:var(--error)}.alert-warning{background:var(--warning-light);border-color:rgba(var(--warning-rgb), .3);color:var(--warning)}.alert-info{background:var(--info-light);border-color:rgba(var(--info-rgb), .3);color:var(--info)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s infinite shimmer;display:block}.skeleton--text{border-radius:var(--radius-sm);height:16px}.skeleton--title{border-radius:var(--radius-sm);height:24px}.skeleton--circle{border-radius:50%}.skeleton--card{border-radius:var(--radius-md);height:200px}.avatar{border-radius:var(--radius-full);background:var(--primary);color:#fff;font-family:var(--font-heading);font-weight:var(--font-semibold);-webkit-user-select:none;user-select:none;text-overflow:clip;white-space:nowrap;text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex;overflow:hidden}.avatar__letter{text-align:center;white-space:nowrap;width:100%;display:block;overflow:hidden}.avatar--sm{width:28px;height:28px;font-size:var(--text-xs);min-width:28px}.avatar{width:36px;height:36px;font-size:var(--text-sm);min-width:36px}.avatar--md{width:44px;height:44px;font-size:var(--text-base);min-width:44px}.avatar--lg{width:64px;height:64px;font-size:var(--text-xl);min-width:64px}.avatar--xl{width:96px;height:96px;font-size:var(--text-3xl);min-width:96px}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar:not(:has(img)){white-space:nowrap;text-overflow:clip;line-height:1;overflow:hidden}.divider{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm);display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--text);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);padding:5px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tooltip]:before{content:"";border:5px solid #0000;border-top-color:var(--text);pointer-events:none;opacity:0;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1}.dropdown{display:inline-block;position:relative}.dropdown__menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:180px;padding:var(--space-2);z-index:var(--z-dropdown);animation:.2s slideUp;position:absolute;top:calc(100% + 8px);right:0}.dropdown__menu--left{left:0;right:auto}.dropdown__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;min-height:40px;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;width:100%;text-decoration:none;display:flex}.dropdown__item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.dropdown__item--danger:hover{background:var(--error-light);color:var(--error)}.dropdown__divider{border:none;border-top:1px solid var(--border);margin:var(--space-2) 0}.tabs{border-bottom:1px solid var(--border);margin-bottom:var(--space-6);gap:0;display:flex}.tab{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;min-height:var(--control-height);transition:border-color var(--transition-fast), color var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.tab:hover{color:var(--primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.question-nav{gap:var(--space-2);flex-wrap:wrap;display:flex}.question-nav__btn{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.question-nav__btn:hover{border-color:var(--primary-light);color:var(--primary);background:rgba(var(--primary-rgb),.06)}.question-nav__btn.current{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:var(--neon-glow-sm)}.question-nav__btn.answered{background:var(--success-light);border-color:rgba(var(--success-rgb),.4);color:var(--success)}.question-nav__btn.skipped{background:var(--warning-light);border-color:rgba(var(--warning-rgb),.4);color:var(--warning)}.result-item{align-items:start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius);border:1px solid var(--border);transition:border-color var(--transition-fast);grid-template-columns:auto 1fr auto;display:grid}.result-item:hover{border-color:var(--border-strong)}.result-item--correct{border-color:rgba(var(--success-rgb),.3);background:rgba(var(--success-rgb),.03)}.result-item--incorrect{border-color:rgba(var(--error-rgb),.3);background:rgba(var(--error-rgb),.03)}.spinner{border:3px solid rgba(var(--primary-rgb), .2);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin;display:inline-block}.spinner--sm{border-width:2px;width:16px;height:16px}.spinner--lg{border-width:4px;width:40px;height:40px}.loading-container{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-16);color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;display:flex}@media (width<=768px){.question-card{padding:var(--space-4) var(--space-4)!important;border-radius:var(--radius)!important}.question-card__images img{max-height:200px!important}.question-nav{flex-wrap:wrap;gap:6px!important}.question-nav__btn{min-width:40px!important;min-height:40px!important;font-size:var(--text-sm)!important}.topics-grid{gap:var(--space-4);grid-template-columns:1fr!important}.topic-card{padding:var(--space-4)!important}.section__title{font-size:var(--text-2xl)!important}.section__subtitle{font-size:var(--text-sm)!important}.page-title{font-size:var(--text-2xl)!important}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto;flex-wrap:nowrap!important}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;font-size:var(--text-xs);flex-shrink:0;padding:8px 14px}.card{padding:var(--space-4)}.hero-section{padding:var(--space-10) 0 var(--space-8)!important}.btn{min-height:44px;padding:10px 16px}.btn--sm{min-height:36px;padding:6px 12px}.auth-box{border-radius:var(--radius);box-shadow:var(--shadow)}.modal{margin:16px;width:calc(100vw - 32px)!important;max-width:none!important}.exam-header-sticky{padding:var(--space-2) 0!important}.progress-bar{height:6px}.input-group{max-width:none!important}.divider{font-size:var(--text-xs)}#google-btn-container{min-height:44px}}@media (width<=480px){.main-content{padding:var(--space-4) var(--space-3)!important}.hero-section h1{font-size:clamp(1.5rem,7vw,2.2rem)!important}.hero-stats{gap:var(--space-3)!important;grid-template-columns:repeat(2,1fr)!important}.timer-display{font-size:var(--text-xl)!important}.badge{padding:2px 8px;font-size:10px}.dashboard-stats{gap:var(--space-2)!important}}.notif-bell{align-items:center;display:inline-flex;position:relative}.notif-bell__btn{border-radius:var(--radius);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.notif-bell__btn:hover{background:var(--surface-2,#0000000d);color:var(--primary)}.notif-bell__badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:9999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;right:4px}.notif-bell__dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:320px;box-shadow:var(--shadow-md);z-index:var(--z-dropdown,100);animation:.15s slideUp;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-bell__list{max-height:340px;overflow-y:auto}.notif-bell__empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}.notif-bell__item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;border-bottom:1px solid var(--border);background:var(--surface-accent,rgba(var(--primary-rgb,59 130 246) / .04));transition:background var(--transition-fast);display:flex}.notif-bell__item:last-child{border-bottom:none}.notif-bell__item:hover{background:var(--surface-2,#0000000a)}.notif-bell__item:focus{outline:2px solid var(--primary);outline-offset:-2px}.notif-bell__item--read{background:var(--surface)}.notif-bell__item--read:hover{background:var(--surface-2,#0000000a)}.notif-bell__icon{color:var(--primary);flex-shrink:0;margin-top:2px}.notif-bell__content{flex:1;min-width:0}.notif-bell__title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);line-height:1.4}.notif-bell__body{font-size:var(--text-xs,12px);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.notif-bell__time{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;margin-top:2px;font-size:11px}.notif-bell__footer{padding:var(--space-2) var(--space-4);text-align:center;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary);border-top:1px solid var(--border);background:var(--surface);transition:background var(--transition-fast);text-decoration:none;display:block}.notif-bell__footer:hover{background:var(--surface-2,#0000000a)}.notif-page{max-width:640px;margin:0 auto}.notif-page__toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.notif-page__chips{gap:var(--space-2);display:flex}.chip{padding:var(--space-1) var(--space-3);border:1px solid var(--border);background:var(--surface);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;min-height:var(--control-height-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);white-space:nowrap;border-radius:9999px;align-items:center;display:inline-flex}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip--active{background:var(--primary);border-color:var(--primary);color:#fff}.chip--active:hover{opacity:.9;color:#fff}@media (pointer:coarse),(width<=768px){.btn--sm,.btn--icon,.modal__close,.dropdown__item,.question-nav__btn,.chip{min-width:var(--control-height);min-height:var(--control-height)}.input{font-size:var(--text-base)}}.notif-page__list{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:0;display:flex;overflow:hidden}.notif-page__empty{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12,48px) var(--space-4);color:var(--text-tertiary);font-size:var(--text-sm);text-align:center;border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex}.notif-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface-accent,rgba(var(--primary-rgb,59 130 246) / .04));border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--transition-fast);display:flex;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-2,#0000000a)}.notif-item--read{background:var(--surface)}.notif-item--read:hover{background:var(--surface-2,#0000000a)}.notif-item__icon{flex-shrink:0;margin-top:2px}.notif-item__body{flex:1;min-width:0}.notif-item__title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);line-height:1.4}.notif-item__desc{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notif-item__time{color:var(--text-tertiary);margin-top:var(--space-1);font-size:12px}.notif-item__dot{top:50%;right:var(--space-4);background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;position:absolute;transform:translateY(-50%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow{0%,to{box-shadow:0 0 12px rgba(var(--primary-rgb),.4), 0 0 28px rgba(var(--primary-rgb),.12)}50%{box-shadow:0 0 22px rgba(var(--primary-rgb),.8), 0 0 50px rgba(var(--primary-rgb),.28)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(1deg)}66%{transform:translateY(-6px)rotate(-1deg)}}@keyframes counterUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes progressFill{0%{width:0}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes neonPulse{0%,to{box-shadow:0 0 8px rgba(var(--primary-rgb),.55), 0 0 20px rgba(var(--primary-rgb),.28), 0 0 40px rgba(var(--primary-rgb),.11)}50%{box-shadow:0 0 14px rgba(var(--primary-rgb),.9), 0 0 35px rgba(var(--primary-rgb),.48), 0 0 65px rgba(var(--primary-rgb),.2)}}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.08)}70%{transform:scale(1)}to{transform:scale(1)}}@keyframes typing{0%,to{opacity:0}50%{opacity:1}}.animate-fade-in{animation:.3s both fadeIn}.animate-slide-up{animation:.4s both slideUp}.animate-slide-down{animation:.3s both slideDown}.animate-slide-in{animation:.3s both slideIn}.animate-scale-in{animation:.3s both scaleIn}.animate-pulse{animation:2s infinite pulse}.animate-bounce{animation:1s infinite bounce}.animate-glow{animation:2s infinite glow}.animate-float{animation:4s ease-in-out infinite float}.animate-neon-pulse{animation:2.5s infinite neonPulse}.animate-heartbeat{animation:1.4s infinite heartbeat}.animate-spin{animation:.7s linear infinite spin}.stagger-children>*{animation:.4s both slideUp}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:60ms}.stagger-children>:nth-child(3){animation-delay:.12s}.stagger-children>:nth-child(4){animation-delay:.18s}.stagger-children>:nth-child(5){animation-delay:.24s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.36s}.stagger-children>:nth-child(8){animation-delay:.42s}.page-enter{animation:.35s cubic-bezier(.25,.46,.45,.94) both pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-exit{animation:.2s both pageExit}@keyframes pageExit{0%{opacity:1}to{opacity:0}}.neon-hover{transition:box-shadow var(--transition), border-color var(--transition)}.neon-hover:hover{box-shadow:var(--neon-glow);border-color:rgba(var(--primary-rgb), .4)}.glow-text{color:var(--primary);text-shadow:0 0 20px rgba(var(--primary-rgb), .4)}.gradient-text{background:linear-gradient(135deg, var(--primary), var(--primary-dark));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.skeleton-shimmer{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 40%, var(--surface-2) 80%, var(--surface-2) 100%);background-size:300% 100%;animation:1.8s ease-in-out infinite shimmer}.ripple{position:relative;overflow:hidden}.ripple__circle{pointer-events:none;background:#ffffff4d;border-radius:50%;animation:.6s linear ripple;position:absolute;transform:scale(0)}.timer--warning{animation:1s infinite timerPulse;color:var(--error)!important}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.6}}.timer--urgent{color:#ef4444!important}.timer--critical{font-weight:700;animation:1s ease-in-out infinite timer-pulse;color:#ef4444!important}.progress-animated .progress-bar__fill{animation:.8s cubic-bezier(.25,.46,.45,.94) both progressFill}.hover-scale{transition:transform var(--transition)}.hover-scale:hover{transform:scale(1.03)}.hover-lift{transition:transform var(--transition), box-shadow var(--transition)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ai-bubble-content p,.qc-rendered p{margin:0 0 .55em;line-height:1.65}.ai-bubble-content p:last-child,.qc-rendered p:last-child{margin-bottom:0}.qc-inline-rendered p{line-height:inherit;margin:0;display:inline}.ai-bubble-content h1,.ai-bubble-content h2,.ai-bubble-content h3,.ai-bubble-content h4,.qc-rendered h1,.qc-rendered h2,.qc-rendered h3{font-family:var(--font-heading);font-weight:var(--font-semibold);color:var(--text);margin:.8em 0 .35em;line-height:1.3}.ai-bubble-content h1,.qc-rendered h1{font-size:1.15em}.ai-bubble-content h2,.qc-rendered h2{font-size:1.05em}.ai-bubble-content h3,.qc-rendered h3{font-size:.97em}.ai-bubble-content blockquote,.qc-rendered blockquote{border-left:3px solid rgba(var(--primary-rgb), .5);background:rgba(var(--primary-rgb), .05);color:var(--text-secondary);border-radius:0 6px 6px 0;margin:.6em 0;padding:8px 14px;font-size:.95em;font-style:italic;line-height:1.6}.ai-bubble-content blockquote p,.qc-rendered blockquote p{margin:0}.ai-bubble-content code,.qc-rendered code{font-family:var(--font-mono,"JetBrains Mono", monospace);background:rgba(var(--primary-rgb), .08);border:1px solid rgba(var(--primary-rgb), .15);color:var(--primary-text,var(--primary));word-break:break-word;border-radius:4px;padding:1px 5px;font-size:.875em}.ai-bubble-content pre,.qc-rendered pre{background:var(--surface-2,#0000001f);border:1px solid var(--border);border-radius:8px;margin:.6em 0;padding:12px 14px;font-size:.85em;line-height:1.5;overflow-x:auto}.ai-bubble-content pre code,.qc-rendered pre code{color:var(--text);font-size:inherit;background:0 0;border:none;padding:0}.ai-bubble-content ul,.ai-bubble-content ol,.qc-rendered ul,.qc-rendered ol{margin:.4em 0 .55em;padding-left:1.4em;list-style-position:outside}.ai-bubble-content ul,.qc-rendered ul{list-style-type:disc}.ai-bubble-content ol,.qc-rendered ol{list-style-type:decimal}.ai-bubble-content li,.qc-rendered li{margin-bottom:.25em;line-height:1.6}.ai-bubble-content ul li::marker{color:var(--primary)}.ai-bubble-content ol li::marker{color:var(--primary)}.qc-rendered ul li::marker{color:var(--primary)}.qc-rendered ol li::marker{color:var(--primary)}.ai-bubble-content strong,.qc-rendered strong{font-weight:var(--font-semibold,600);color:var(--text)}.ai-bubble-content em,.qc-rendered em{color:var(--text);font-style:italic}.ai-bubble-content hr,.qc-rendered hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.ai-bubble-content table,.qc-rendered table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:.9em;display:block;overflow-x:auto}.ai-bubble-content th,.ai-bubble-content td,.qc-rendered th,.qc-rendered td{border:1px solid var(--border);text-align:left;padding:6px 10px}.ai-bubble-content th,.qc-rendered th{background:rgba(var(--primary-rgb), .07);font-weight:var(--font-semibold,600);color:var(--text)}.ai-bubble-content .katex,.qc-rendered .katex{color:inherit;font-size:1.15em}.ai-bubble-content .katex-display,.qc-rendered .katex-display{text-align:center;margin:.5em 0;padding:6px 0;overflow:auto hidden}.ai-bubble-content .katex-display>.katex,.qc-rendered .katex-display>.katex{font-size:1.38em}.ai-bubble-content .katex-mathml,.qc-rendered .katex-mathml,.katex .katex-mathml{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}:root{--tab-h:env(safe-area-inset-bottom);--top-h:calc(56px + env(safe-area-inset-top))}@media (width<=900px){.btn,button.btn{min-height:44px}input,textarea,select{font-size:16px!important}.modal,.pre-exam-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;width:100%!important;max-width:100%!important;margin:0!important}.pre-exam-modal-overlay{align-items:flex-end!important}.ai-helper-panel{top:var(--top-h,56px)!important;border-left:none!important;border-top:1px solid var(--border)!important;width:100%!important}.ai-helper-trigger-wrap{bottom:calc(var(--tab-h) + 16px)!important}}body.app-shell-mobile .modal-overlay,body.app-shell-mobile .pre-exam-modal-overlay{padding-top:calc(var(--top-h) + var(--mobile-nudge-h,0px) + var(--space-4))!important;padding-bottom:calc(var(--tab-h) + var(--space-4))!important}body.app-shell-mobile .modal,body.app-shell-mobile .pre-exam-modal{max-height:calc(100vh - var(--top-h) - var(--mobile-nudge-h,0px) - var(--tab-h) - 32px)!important;max-height:calc(100dvh - var(--top-h) - var(--mobile-nudge-h,0px) - var(--tab-h) - 32px)!important;-webkit-overflow-scrolling:touch!important;overflow-y:auto!important}body.app-shell-mobile .main-content{overflow-x:hidden!important}@media (width<=900px){.db-header{flex-direction:column;align-items:flex-start}.db-header__title{font-size:1.4rem}}@media (width<=600px){.topics-grid{grid-template-columns:1fr!important}}@media (width<=900px){.practice-wrapper{grid-template-columns:1fr!important;padding:0!important}.practice-sticky-header{padding:var(--space-3) var(--space-4)!important}.question-card{padding:var(--space-4)!important}.exam-layout,.exam-body{flex-direction:column!important}.exam-header__inner{gap:var(--space-3)!important;flex-direction:column!important}.exam-timer{order:-1;align-self:center}.exam-nav-grid{grid-template-columns:repeat(5,1fr)!important}.result-breakdown-grid{grid-template-columns:1fr!important}.exam-result-hero{text-align:center!important;flex-direction:column!important}.profile-hero{text-align:center!important;flex-direction:column!important;align-items:center!important}.profile-heatmap{overflow-x:auto!important}.profile-stats-grid{grid-template-columns:repeat(2,1fr)!important}.settings-layout{gap:var(--space-4)!important;grid-template-columns:1fr!important}.settings-nav{gap:var(--space-2)!important;flex-wrap:wrap!important;display:flex!important;position:static!important}.settings-card{padding:var(--space-4)!important}}body.app-shell-mobile .ai-page-grid{grid-template-columns:1fr!important;height:100%!important;min-height:0!important}body.app-shell-mobile .ai-history-sidebar{display:none!important}body.app-shell-mobile .ai-history-sidebar.ai-sidebar-open{top:calc(var(--top-h) + 8px)!important;left:0!important;bottom:calc(var(--tab-h) + 8px)!important;width:min(92vw,390px)!important;max-width:none!important;z-index:calc(var(--z-overlay) + 2)!important;background:var(--surface)!important;box-shadow:0 24px 60px #0000003d, 0 0 0 1px rgba(var(--primary-rgb),.1)!important;border:1px solid var(--border)!important;-webkit-overflow-scrolling:touch!important;border-left:0!important;border-radius:0 18px 18px 0!important;flex-direction:column!important;animation:.25s slideInLeft!important;display:flex!important;position:fixed!important;overflow:hidden!important}body.app-shell-mobile .ai-history-mobile-head{border-bottom:1px solid var(--border)!important;background:linear-gradient(135deg, rgba(var(--primary-rgb),.14), transparent 72%), var(--surface)!important;flex-shrink:0!important;align-items:center!important;gap:12px!important;padding:14px 14px 12px!important;display:flex!important}body.app-shell-mobile .ai-history-mobile-head__mark{color:#fff!important;background:linear-gradient(135deg, var(--primary), var(--primary-dark))!important;width:38px!important;height:38px!important;box-shadow:var(--neon-glow-sm)!important;border-radius:10px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;display:flex!important}body.app-shell-mobile .ai-history-mobile-head__copy{flex:1!important;min-width:0!important}body.app-shell-mobile .ai-history-mobile-head__title{color:var(--text)!important;font-family:var(--font-heading)!important;font-size:16px!important;font-weight:750!important;line-height:1.15!important}body.app-shell-mobile .ai-history-mobile-head__subtitle{color:var(--text-muted)!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin-top:2px!important;font-size:12px!important;overflow:hidden!important}body.app-shell-mobile .ai-history-mobile-head__close{border:1px solid var(--border)!important;background:var(--surface-2)!important;width:38px!important;height:38px!important;color:var(--text-secondary)!important;border-radius:10px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}body.app-shell-mobile .ai-history-sidebar__top{border-bottom:1px solid var(--border)!important;flex-shrink:0!important;padding:12px 14px!important}body.app-shell-mobile .ai-new-chat-btn{border-radius:12px!important;min-height:46px!important;font-size:15px!important}body.app-shell-mobile .ai-search-bar{border-radius:12px!important;min-height:44px!important;margin-top:10px!important;padding:8px 10px!important}body.app-shell-mobile .ai-history-list{flex:1!important;min-height:0!important;padding:10px 10px 16px!important;overflow-y:auto!important}body.app-shell-mobile .ai-history-group__label{padding:12px 10px 6px!important}body.app-shell-mobile .ai-history-item{border-radius:12px!important;min-height:62px!important;margin-bottom:6px!important;padding:11px 44px 10px 12px!important}body.app-shell-mobile .ai-history-item__title{font-size:15px!important;line-height:1.25!important}body.app-shell-mobile .ai-history-item__time{margin-top:5px!important;font-size:12px!important}body.app-shell-mobile .ai-history-item__delete{opacity:1!important;background:var(--surface-2)!important;border-radius:10px!important;width:34px!important;height:34px!important;font-size:13px!important;right:7px!important}body.app-shell-mobile .ai-history-empty,body.app-shell-mobile .ai-history-empty--search{padding:28px 12px!important;font-size:14px!important}body.app-shell-mobile:not(.ai-sidebar-is-open) .ai-history-mobile-head{display:none!important}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}body.app-shell-mobile .ai-chat-area{grid-column:1!important;min-width:0!important;height:100%!important;overflow:hidden!important}body.app-shell-mobile.ai-page-active .main-content{overflow:hidden!important}body.app-shell-mobile .ai-thread,body.app-shell-mobile .ai-thread__header,body.app-shell-mobile .ai-thread__footer,body.app-shell-mobile .ai-messages-area,body.app-shell-mobile .ai-empty-state,body.app-shell-mobile .ai-empty-state__inner{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}body.app-shell-mobile .ai-thread__header{gap:10px!important;padding:12px 16px!important}body.app-shell-mobile .ai-thread__header>div:first-child,body.app-shell-mobile .ai-thread__header>div:first-child>div{min-width:0!important}body.app-shell-mobile .ai-thread__header>div:last-child{flex-shrink:0!important}body.app-shell-mobile .ai-thread__title,body.app-shell-mobile .ai-thread__meta{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}body.app-shell-mobile .ai-messages-area{padding:18px 12px!important;overflow-x:hidden!important}body.app-shell-mobile .ai-bubble-user__inner,body.app-shell-mobile .ai-bubble-assistant__body{box-sizing:border-box!important;min-width:0!important;max-width:min(100%,320px)!important;padding:12px 14px!important;font-size:15px!important;overflow:hidden!important}body.app-shell-mobile .ai-bubble-assistant__body{padding-top:42px!important}body.app-shell-mobile .ai-bubble-assistant__body:has(.ai-reasoning-badge){padding-top:12px!important}body.app-shell-mobile .ai-bubble-assistant{gap:8px!important}body.app-shell-mobile .ai-bubble-assistant .ai-sparkle-avatar{width:28px!important;height:28px!important}body.app-shell-mobile .ai-bubble-content{overflow-wrap:anywhere!important;word-break:break-word!important;min-width:0!important;max-width:100%!important;padding-right:0!important}body.app-shell-mobile .ai-bubble-content .katex-display,body.app-shell-mobile .ai-bubble-content pre,body.app-shell-mobile .ai-bubble-content table,body.app-shell-mobile .ai-formula-block{-webkit-overflow-scrolling:touch!important;max-width:100%!important;overflow-x:auto!important}body.app-shell-mobile .ai-bubble-content .katex-display{text-align:left!important}body.app-shell-mobile .ai-bubble-content .katex-display>.katex{font-size:.88em!important}body.app-shell-mobile .ai-thread__footer{padding:10px 12px calc(14px + env(safe-area-inset-bottom))!important;overflow:hidden!important}body.app-shell-mobile .ai-thread-composer,body.app-shell-mobile .ai-full-composer{box-sizing:border-box!important;gap:6px!important;width:100%!important;min-width:0!important;max-width:100%!important}body.app-shell-mobile .ai-thread-composer{padding:8px!important}body.app-shell-mobile .ai-thread-composer__input,body.app-shell-mobile .ai-full-composer__input{min-width:0!important}body.app-shell-mobile .ai-think-toggle{min-width:0!important;max-width:124px!important;padding:5px 8px!important}body.app-shell-mobile .ai-think-toggle__label{text-overflow:ellipsis!important;overflow:hidden!important}body.app-shell-mobile .ai-thread__model-line{gap:8px!important;min-width:0!important}body.app-shell-mobile .ai-thread__model-line>span{text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;overflow:hidden!important}body.app-shell-mobile .mobile-top-bar__right{align-items:center;gap:4px;display:flex}@media (width<=900px){.support-form,.support-wrapper{max-width:100%!important;padding:0!important}.bookmarks-grid{grid-template-columns:1fr!important}}.mobile-top-bar{height:var(--top-h);padding-top:env(safe-area-inset-top);background:rgba(var(--surface-rgb,255,255,255), .92);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:var(--z-mobile-chrome);box-sizing:border-box;justify-content:space-between;align-items:flex-end;padding-bottom:12px;padding-left:16px;padding-right:16px;display:flex;position:fixed;top:0;left:0;right:0}:root[data-theme=dark] .mobile-top-bar{background:#0a0f1ceb}.mobile-top-bar__left{flex:0 auto;justify-content:flex-start;align-items:center;gap:4px;min-width:44px;display:flex}.mobile-top-bar__center{text-align:center;min-width:0;font-family:var(--font-heading);color:var(--text);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:0 8px;font-size:16px;font-weight:700;overflow:hidden}.mobile-top-bar__right{flex:none;justify-content:flex-end;align-items:center;gap:4px;width:auto;min-width:44px;display:flex}#mobile-shell-notif-bell{align-items:center;display:inline-flex}.mobile-top-bar__btn{width:var(--control-height);height:var(--control-height);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.mobile-top-bar__btn:hover,.mobile-top-bar__btn:active{background:var(--surface-2);color:var(--primary)}body.app-shell-mobile .mobile-top-bar .notif-bell__dropdown{top:calc(var(--top-h) + var(--mobile-nudge-h,0px) + 8px);width:auto;max-height:calc(100vh - var(--top-h) - var(--mobile-nudge-h,0px) - var(--tab-h) - 16px);max-height:calc(100dvh - var(--top-h) - var(--mobile-nudge-h,0px) - var(--tab-h) - 16px);z-index:calc(var(--z-mobile-chrome) + 1);position:fixed;left:12px;right:12px}body.app-shell-mobile .mobile-top-bar .notif-bell__list{max-height:calc(100vh - var(--top-h) - var(--mobile-nudge-h,0px) - var(--tab-h) - 64px);max-height:calc(100dvh - var(--top-h) - var(--mobile-nudge-h,0px) - var(--tab-h) - 64px)}.ai-sidebar-overlay{top:calc(var(--top-h) + var(--mobile-nudge-h,0px));right:0;bottom:var(--tab-h);z-index:calc(var(--z-overlay) + 1);pointer-events:none;background:0 0;display:none;position:fixed;left:0}.ai-sidebar-overlay.visible{display:block}body.kb-open.app-shell-mobile .main-content{bottom:0!important}body.kb-open.app-shell-mobile .ai-helper-trigger-wrap{display:none!important}.migration-page{background:var(--page-background);background-size:var(--page-background-size);min-height:100dvh;color:var(--text);justify-content:center;align-items:center;padding:clamp(24px,5vw,72px);display:flex}.migration-page--center{text-align:center}.migration-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);width:min(760px,100%);box-shadow:var(--shadow-lg);padding:clamp(24px,4vw,40px)}.migration-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.migration-kicker{margin:0 0 var(--space-2);color:var(--primary-text);font-size:var(--text-sm);text-transform:uppercase;font-weight:700}.migration-panel h1{margin:0;font-size:clamp(30px,5vw,48px);line-height:1.05}.migration-badge{border:1px solid rgba(var(--primary-rgb), .35);color:var(--primary-text);background:rgba(var(--primary-rgb), .1);font-size:var(--text-xs);border-radius:999px;flex:none;padding:6px 10px;font-weight:700}.migration-copy{margin:0 0 var(--space-6);color:var(--text-secondary);font-size:var(--text-lg);line-height:1.65}.migration-details{gap:var(--space-3);margin:0 0 var(--space-6);display:grid}.migration-details div{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);grid-template-columns:minmax(120px,160px) 1fr;display:grid}.migration-details dt{color:var(--text-muted);font-size:var(--text-sm);font-weight:700}.migration-details dd{overflow-wrap:anywhere;min-width:0;color:var(--text);font-family:var(--font-mono);font-size:var(--text-sm);margin:0}.migration-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.migration-muted{color:var(--text-secondary)}.fl-toast-viewport{z-index:var(--z-toast);gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.fl-toast{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface-raised);box-shadow:var(--shadow-lg);font-size:var(--text-sm);padding:12px 14px}.fl-toast--success{border-color:#22c55e73}.fl-toast--error{border-color:#ef444480}.fl-toast--warning{border-color:#f59e0b8c}@media (width<=640px){.migration-page{align-items:stretch;padding:16px}.migration-header,.migration-details div{grid-template-columns:1fr}.migration-header{display:grid}.migration-badge{justify-self:start}}.cookie-consent{left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));max-height:calc(100dvh - max(32px, calc(env(safe-area-inset-top) + env(safe-area-inset-bottom))));overscroll-behavior:contain;z-index:12000;border:1px solid color-mix(in srgb, var(--primary) 28%, var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:0 18px 54px #00000052, 0 0 24px rgba(var(--primary-rgb), .16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid;position:fixed;overflow-y:auto}.cookie-consent__text{color:var(--text-secondary);font-size:var(--text-sm);gap:3px;display:grid}.cookie-consent__text strong{color:var(--primary-light)}.cookie-consent__text a{color:var(--primary-text);font-weight:var(--font-semibold)}.cookie-consent__text a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.cookie-consent__settings{flex-wrap:wrap;grid-column:1/-1;gap:12px;display:flex}.cookie-consent__settings label{font-size:var(--text-sm);color:var(--text-secondary);min-height:var(--control-height);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:7px;display:inline-flex}.cookie-consent__settings label:has(input:disabled){cursor:default}.cookie-consent__settings input{width:20px;height:20px;accent-color:var(--primary)}.cookie-consent__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=720px){.cookie-consent{grid-template-columns:1fr}.cookie-consent__actions{justify-content:stretch}.cookie-consent__actions .btn{flex:1}}@media (width<=400px){.cookie-consent__actions{grid-template-columns:minmax(0,1fr);display:grid}.cookie-consent__actions .btn{width:100%;min-width:0}}.subject-switcher{margin:0 var(--space-3) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.subject-switcher__option{min-width:0;min-height:var(--control-height);border-radius:calc(var(--radius) - 4px);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-weight:800;display:inline-flex}.subject-switcher__option:hover,.subject-switcher__option:focus-visible{color:var(--text);background:var(--accent-subtle)}.subject-switcher__option.is-active{color:var(--primary-text);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.subject-switcher__icon{display:inline-flex}.subject-switcher__compact{display:none}.sidebar--collapsed .subject-switcher{margin:var(--space-2) auto var(--space-3);background:0 0;border:0;justify-content:center;padding:0;display:flex}.sidebar--collapsed .subject-switcher__option{display:none}.sidebar--collapsed .subject-switcher__compact{border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-subtle);width:44px;height:44px;color:var(--primary-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;display:inline-flex;position:relative}.sidebar--collapsed .subject-switcher__compact:hover,.sidebar--collapsed .subject-switcher__compact:focus-visible{border-color:var(--primary);background:var(--accent-soft);box-shadow:var(--focus-ring)}.subject-switcher__compact-icon{display:inline-flex}.subject-switcher__compact-swap{background:var(--surface-raised);color:var(--primary);box-shadow:0 0 0 1px var(--border);border-radius:50%;padding:2px;display:inline-flex;position:absolute;bottom:3px;right:3px}.fl-app-shell--mobile .sidebar--collapsed .subject-switcher{margin:0 var(--space-3) var(--space-3);border:1px solid var(--border);background:var(--surface-sunken);grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;padding:4px;display:grid}.fl-app-shell--mobile .sidebar--collapsed .subject-switcher__option{display:inline-flex}.fl-app-shell--mobile .sidebar--collapsed .subject-switcher__compact{display:none}.subject-picker{z-index:var(--z-modal);padding:max(var(--space-4), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;background:#0a0f1c94;place-items:center;display:grid;position:fixed;inset:0}.subject-picker__dialog{width:min(620px,100%);padding:var(--space-6);border:1px solid var(--accent-border);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:var(--shadow-lg), var(--neon-glow-sm)}.subject-picker__head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.subject-picker__title{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.subject-picker__eyebrow{color:var(--primary);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-weight:900}.subject-picker__head h2{color:var(--text);font-family:var(--font-heading);font-size:var(--text-2xl);margin:0}.subject-picker__body>p{margin:0 0 var(--space-5);color:var(--text-secondary);line-height:1.55}.subject-picker__close{width:var(--control-height);height:var(--control-height);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-secondary);cursor:pointer;border-radius:50%;flex:none;font-size:22px}.subject-picker__grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.subject-picker__card{min-height:132px;padding:var(--space-4);align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-sunken);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:48px 1fr auto;text-decoration:none;display:grid}.subject-picker__card:hover,.subject-picker__card:focus-visible{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.subject-picker__card--math{background:linear-gradient(145deg, var(--premium-light), var(--surface-sunken))}.subject-picker__card--physics{background:linear-gradient(145deg, var(--accent-soft), var(--surface-sunken))}.subject-picker__card-icon{color:var(--primary);justify-content:center;display:inline-flex}.subject-picker__card--math .subject-picker__card-icon{color:var(--premium)}.subject-picker__card-copy{gap:6px;display:grid}.subject-picker__card-copy strong{font-family:var(--font-heading);font-size:var(--text-lg)}.subject-picker__card-copy small{color:var(--text-secondary);line-height:1.45}.subject-picker__arrow{color:var(--text-muted);display:inline-flex}@media (width<=620px){.subject-picker__dialog{padding:var(--space-5)}.subject-picker__grid{grid-template-columns:1fr}.subject-picker__card{min-height:104px}}@media (prefers-reduced-motion:reduce){.subject-picker__card{transition:none}}.fl-notification-bell .notif-bell__btn{width:44px;height:44px}.fl-notification-bell .notif-bell__empty,.fl-notification-bell .notif-bell__time{color:var(--text-secondary)}.fl-notification-bell .notif-bell__title{color:var(--text)}.fl-notification-bell .notif-bell__item:not(.notif-bell__item--read){background:var(--accent-subtle)}.fl-notification-bell .notif-bell__item[aria-disabled=true]{cursor:progress;opacity:.72}@media (width<=900px){.fl-notification-bell .notif-bell__dropdown{top:calc(var(--mobile-topbar-h,56px) + var(--mobile-nudge-h,0px) + 8px);width:auto;max-height:calc(100vh - var(--mobile-topbar-h,56px) - var(--mobile-nudge-h,0px) - 24px);max-height:calc(100dvh - var(--mobile-topbar-h,56px) - var(--mobile-nudge-h,0px) - 24px);position:fixed;left:12px;right:12px}.fl-notification-bell .notif-bell__list{max-height:calc(100vh - var(--mobile-topbar-h,56px) - var(--mobile-nudge-h,0px) - 72px);max-height:calc(100dvh - var(--mobile-topbar-h,56px) - var(--mobile-nudge-h,0px) - 72px)}}.fl-state-block{max-width:560px;margin:var(--space-12) auto;padding:var(--space-8);text-align:center;background:var(--surface-raised)}.fl-state-block__icon{width:52px;height:52px;margin-bottom:var(--space-4);background:rgba(var(--primary-rgb), .1);color:var(--primary);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.fl-state-block--error .fl-state-block__icon{background:var(--error-light);color:var(--error)}.fl-state-block__title{margin:0 0 var(--space-2);font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text)}.fl-state-block__body{max-width:440px;color:var(--text-secondary);font-size:var(--text-sm);margin:0 auto;line-height:1.6}.fl-state-block__action{margin-top:var(--space-5)}.fl-skeleton-page__title{width:180px;margin-bottom:10px}.fl-skeleton-page__text{width:260px;margin-bottom:var(--space-6)}.fl-skeleton-page__grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));display:grid}.fl-skeleton-page__card{min-height:220px}.fl-progress{border-radius:var(--radius-full);background:var(--surface-sunken);height:6px;overflow:hidden}.fl-progress__fill{border-radius:inherit;height:100%;transition:width .55s}.fl-progress-ring{flex-shrink:0;position:relative}.fl-progress-ring__value{filter:drop-shadow(0 0 4px rgba(var(--primary-rgb), .5));transition:stroke-dashoffset .9s cubic-bezier(.25,.46,.45,.94)}.fl-progress-ring__label{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.fl-progress-ring__main{font-family:var(--font-heading);color:var(--text);font-weight:800}.fl-progress-ring__sub{color:var(--text-muted);margin-top:4px;font-size:10px}.fl-avatar{background:var(--primary);color:var(--on-primary);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.fl-avatar--sm{width:34px;height:34px;font-size:12px}.fl-avatar--md{width:48px;height:48px;font-size:16px}.fl-avatar--lg{width:84px;height:84px;font-size:24px}.fl-avatar__img{object-fit:cover;width:100%;height:100%}.fl-tier-badge{letter-spacing:.04em;border-radius:999px;align-items:center;width:fit-content;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex}.fl-tier-badge--pro{background:rgba(var(--primary-rgb), .13);color:var(--primary-text)}.fl-tier-badge--premium{background:var(--premium-light);color:var(--premium)}.fl-segmented{border:1px solid var(--border);min-height:var(--control-height);background:var(--surface-sunken);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.fl-segmented__btn{color:var(--text-secondary);font:inherit;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:0;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:700}.fl-segmented__btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px;box-shadow:var(--focus-ring)}.fl-segmented__btn.is-active{background:var(--primary);color:var(--on-primary)}.fl-segmented--secondary .fl-segmented__btn.is-active{background:var(--surface-3);color:var(--text)}.fl-stat-card{padding:18px}.fl-stat-card__icon{width:36px;height:36px;color:var(--primary);background:rgba(var(--primary-rgb), .12);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.fl-stat-card__icon--success{color:var(--success);background:var(--success-light)}.fl-stat-card__icon--warning{color:var(--warning);background:var(--warning-light)}.fl-stat-card__icon--violet{color:var(--premium);background:var(--premium-light)}.fl-stat-card__value{font-family:var(--font-heading);color:var(--text);margin-top:14px;font-size:30px;font-weight:800;line-height:1.1}.fl-stat-card__label{color:var(--text-secondary);margin-top:2px;font-size:12px}.fl-stat-card__hint{color:var(--text-muted);margin-top:6px;font-size:11px}@media (width<=640px){.fl-segmented{width:100%}.fl-segmented__btn{flex:1 1 0;min-width:0;padding-inline:8px}}.fl-app-shell{min-height:100dvh;display:flex}.fl-app-shell .fl-main-wrapper,.fl-app-shell .fl-main-content{min-width:0}.fl-app-shell .fl-sidebar.sidebar--collapsed+.fl-main-wrapper{margin-left:var(--sidebar-collapsed)}.fl-app-shell .fl-app-header{display:flex}.fl-header-exam-link{align-items:center;gap:6px;display:inline-flex}.fl-app-shell .fl-mobile-top-bar,.fl-sidebar-mobile-close{display:none}.fl-sidebar-streak{align-items:center;gap:var(--space-3);margin:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid rgba(var(--primary-rgb), .25);border-radius:var(--radius);background:linear-gradient(135deg, rgba(var(--primary-rgb), .1), rgba(var(--primary-rgb), .02));display:flex}.fl-sidebar-streak__icon{font-size:20px}.fl-sidebar-streak__value{color:var(--text);font-size:var(--text-sm);font-weight:var(--font-semibold)}.fl-sidebar-streak__hint{color:var(--text-muted);font-size:var(--text-xs)}.fl-sidebar-separator{border-top:1px solid var(--border);margin:0 var(--space-3) var(--space-1)}.fl-sidebar-user{align-items:center;gap:var(--space-3);padding:0 var(--space-3) var(--space-2);display:flex;overflow:hidden}.fl-sidebar-user__text{flex:1;min-width:0;overflow:hidden}.fl-sidebar-user__name{color:var(--text);font-size:var(--text-sm);font-weight:500}.fl-sidebar-user__email{color:var(--text-muted);font-size:var(--text-xs)}.fl-sidebar-actions{padding:0 var(--space-3);justify-content:space-between;align-items:center;display:flex}.fl-sidebar-actions .sidebar__toggle{margin:0}#sidebar-logout{color:var(--error)}.fl-sidebar.sidebar--collapsed .sidebar__logo{justify-content:center;gap:0;padding-inline:0}.fl-sidebar.sidebar--collapsed .sidebar__logo-icon{width:44px;height:44px}.fl-sidebar.sidebar--collapsed .sidebar__nav{padding:var(--space-2) 14px;scrollbar-width:none}.fl-sidebar.sidebar--collapsed .sidebar__nav::-webkit-scrollbar{display:none}.fl-sidebar.sidebar--collapsed .sidebar__nav-section{margin-bottom:var(--space-2)}.fl-sidebar.sidebar--collapsed .sidebar__nav-label{display:none}.fl-sidebar.sidebar--collapsed .sidebar__nav-link{justify-content:center;gap:0;width:44px;min-height:44px;margin-inline:auto;padding:0}.fl-sidebar.sidebar--collapsed .sidebar__nav-link.active:before{top:9px;bottom:9px}.fl-sidebar.sidebar--collapsed .fl-sidebar-streak{width:44px;height:44px;margin:var(--space-2) auto;flex:0 0 44px;justify-content:center;gap:0;padding:0}.fl-sidebar.sidebar--collapsed .fl-sidebar-streak__icon{color:var(--primary);display:inline-flex}.fl-sidebar.sidebar--collapsed .fl-sidebar-separator{margin-inline:14px}.fl-sidebar.sidebar--collapsed>.sidebar__nav-link{margin-bottom:var(--space-2);flex:0 0 44px}.fl-sidebar.sidebar--collapsed .sidebar__footer{padding-block:var(--space-2)}.fl-sidebar.sidebar--collapsed .fl-sidebar-user{padding:0 0 var(--space-2);justify-content:center;gap:0}.fl-sidebar.sidebar--collapsed .fl-sidebar-user__text{flex:none;display:none}.fl-sidebar.sidebar--collapsed .fl-sidebar-user>.fl-avatar{margin-inline:auto}.fl-sidebar.sidebar--collapsed .fl-sidebar-actions{justify-content:center;gap:var(--space-2);flex-direction:column;padding:0 14px}.fl-sidebar.sidebar--collapsed .fl-sidebar-actions .sidebar__toggle{width:44px;height:44px}.fl-app-shell--mobile{display:block}.fl-app-shell--mobile .fl-app-header{display:none}.fl-app-shell--mobile .fl-mobile-top-bar{display:flex}.fl-app-shell--mobile .fl-main-wrapper{margin-left:0!important}.fl-app-shell--mobile .fl-main-content{padding-top:calc(var(--top-h,56px) + var(--space-5))!important}.fl-app-shell--mobile .fl-sidebar{max-width:320px;box-shadow:var(--shadow-lg);z-index:1000;transform:translate(-100%);width:min(86vw,320px)!important}.fl-app-shell--mobile .fl-sidebar .sidebar__logo{padding-right:calc(var(--control-height) + var(--space-6))}.fl-app-shell--mobile .fl-sidebar-mobile-close{top:max(10px, env(safe-area-inset-top));width:var(--control-height);height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);color:var(--text-secondary);z-index:1;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:10px}.fl-app-shell--mobile .fl-sidebar.mobile-open{transform:translate(0)}.fl-app-shell--mobile .fl-sidebar.sidebar--collapsed{max-width:320px;width:min(86vw,320px)!important}.fl-app-shell--mobile .fl-sidebar.sidebar--collapsed .sidebar__nav-text,.fl-app-shell--mobile .fl-sidebar.sidebar--collapsed .sidebar__logo-text{pointer-events:auto;opacity:1!important;width:auto!important;display:block!important}.fl-app-shell--mobile .fl-sidebar.sidebar--collapsed .sidebar__nav-label{opacity:1!important}.fl-app-shell--mobile .fl-sidebar #sidebar-collapse-btn{display:none}.fl-app-shell--mobile>.sidebar-overlay.visible{z-index:999;display:block}
