@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/quicksand-latin-400-normal-Brw4NP73.woff2)format("woff2"),url(/assets/quicksand-latin-400-normal-B1bXoAxe.woff)format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/quicksand-latin-500-normal-BKohNur2.woff2)format("woff2"),url(/assets/quicksand-latin-500-normal-4DqwRnyy.woff)format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-600-normal-Dl5Mb99p.woff2)format("woff2"),url(/assets/quicksand-latin-600-normal-C2FmwqVG.woff)format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-latin-700-normal-DNRMnynu.woff2)format("woff2"),url(/assets/quicksand-latin-700-normal-CmeU3reP.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}:root{--navy-900:#122647;--navy-800:#16305e;--navy-700:#1e3a6e;--blue-600:#2563eb;--blue-500:#3b82f6;--blue-400:#60a5fa;--blue-100:#dbe4f5;--blue-50:#eef2fa;--white:#fff;--ink-muted:#8a97b1;--ink-body:#425170;--surface-page:var(--blue-50);--surface-card:var(--white);--surface-footer:var(--navy-900);--text-heading:var(--navy-800);--text-body:var(--ink-body);--text-muted:var(--ink-muted);--text-on-dark:var(--white);--action-primary:var(--blue-600);--action-primary-hover:#1d4fd7;--icon-accent:var(--blue-500);--cta-classroom-face:var(--blue-100);--cta-classroom-hover:#cdd9ee;--cta-classroom-border:#b7c6de;--cta-classroom-border-strong:#a8b9d4;--cta-classroom-pressed:#c3d0e8;--cta-classroom-ink:var(--navy-800);--border-subtle:#e3e9f4;--focus-ring:#2563eb59;--status-success:#1a9e6c;--status-warning:#d98a12;--status-danger:#d64545;--shadow-card:0 4px 16px #16305e0f, 0 1px 3px #16305e0d;--shadow-float:0 12px 32px #16305e1a, 0 2px 6px #16305e0f;--shadow-composer-field:0 3px 8px #16305e0e, 0 1px 2px #16305e09;--shadow-header:0 2px 12px #16305e0d;--gradient-page:linear-gradient(180deg, #f2f5fb 0%, #e8edf8 60%, #dfe6f4 100%);--transition-fast:.12s ease;--transition-base:.2s ease;--font-display:"Quicksand", ui-rounded, "Segoe UI", sans-serif;--font-body:"Quicksand", ui-rounded, "Segoe UI", sans-serif;--text-hero:clamp(40px, 5vw, 64px);--text-h1:44px;--text-h2:32px;--text-h3:22px;--text-lg:19px;--text-md:16px;--text-sm:14px;--text-xs:12px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.1;--leading-normal:1.5;--tracking-tight:-.02em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--container-max:1200px;--brand-orange:var(--blue-600);--brand-orange-hover:var(--action-primary-hover);--brand-orange-pressed:#173fbb;--brand-orange-soft:var(--blue-50);--brand-orange-softer:#f5f8fe;--admin-action-blue:#009fdf;--admin-action-blue-hover:#0088c0;--admin-action-blue-pressed:#0071a1;--gray-0:#fff;--gray-25:#fcfcfd;--gray-50:#f7f8f9;--gray-100:#eef0f2;--gray-200:#e2e5e9;--gray-300:#cbd0d6;--gray-400:#9aa1ab;--gray-500:#6b7280;--gray-700:#3f4651;--gray-900:#1a1d22;--fg-1:var(--text-heading);--fg-2:var(--text-body);--fg-3:var(--text-muted);--fg-4:var(--gray-400);--fg-on-brand:#fff;--fg-link:var(--action-primary);--bg-app:transparent;--bg-sidebar:var(--surface-card);--bg-elevated:var(--gray-0);--bg-input:var(--blue-50);--bg-composer-field:#fff;--bg-bubble-user:var(--surface-card);--bg-bubble-assistant:transparent;--bg-row-hover:var(--blue-50);--bg-row-selected:var(--blue-50);--border-default:var(--border-subtle);--border-strong:var(--gray-300);--border-focus:var(--blue-600);--border-composer-field:transparent;--status-error:#c0301c;--status-error-bg:#fce9e5;--status-info:#1e5fa6;--status-info-bg:#e5f0fb;--font-sans:var(--font-body);--font-math:"KaTeX_Main", "Latin Modern Math", "Cambria Math", serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--text-xl:20px;--text-2xl:24px;--text-3xl:32px;--lh-xs:1rem;--lh-sm:1.25rem;--lh-base:1.5rem;--lh-lg:1.75rem;--lh-xl:1.75rem;--lh-2xl:2rem;--lh-3xl:2.5rem;--space-0:0;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--sidebar-width:280px;--sidebar-collapsed-width:60px;--chat-max-width:760px;--input-max-width:760px;--public-header-logo-height:114px;--public-header-logo-height-mobile:96px;--subject-header-logo-height:57px;--subject-header-logo-height-mobile:48px;--subject-chat-composer-footer-gap:4px;--public-nav-font-size:22px;--public-nav-gap:32px;--subject-nav-font-size:var(--text-md);--subject-nav-gap:var(--space-4);--public-header-subject-title-size:clamp(22px, 2.2vw, 28px);--header-height:56px;--row-height-chat:40px;--row-height-nav:48px;--text-base:16px;--text-xs-chat:12px;--weight-semibold-chat:600;--radius-xs:6px;--radius-xl:20px;--radius-2xl:24px;--shadow-xs:0 1px 2px #16305e0d;--shadow-sm:0 1px 3px #16305e14, 0 1px 2px #16305e0a;--shadow-md:0 4px 12px #16305e14;--shadow-lg:var(--shadow-float);--shadow-focus:0 0 0 3px var(--focus-ring);--duration-instant:80ms;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--math-blue:var(--navy-700);--math-green:#1f8a4c;--math-purple:#6b3fa0;--math-teal:#0f7f87;--status-success-bg:#e8f5ee;--status-warning-bg:#fff4e0}html{background:var(--surface-footer)}body{font-family:var(--font-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}a{color:var(--action-primary);text-decoration:none}a:hover{color:var(--action-primary-hover)}::placeholder{color:var(--text-muted)}:where(button,select,a,summary,input,textarea):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%}body{overflow-x:hidden}#root{min-height:100vh}.route-loading{min-height:100vh;color:var(--text-body);background:var(--gradient-page);place-items:center;display:grid}#root:has(.app){height:calc(100vh - var(--math-keyboard-height,0px));max-height:calc(100vh - var(--math-keyboard-height,0px));overflow:hidden}.app{height:100%;min-height:0;max-height:100%;overflow:hidden}.canvas{min-height:0;overflow:hidden}.chat-canvas{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.thread{overscroll-behavior:contain;flex:1;min-height:0;overflow:hidden auto}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--fg-1);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}.chat-row:hover,[role=button].chat-row:hover{background:var(--bg-row-hover)}.chat-row.is-selected:hover{background:var(--bg-row-selected)}.chat-row:hover .chat-row-action,.chat-row:focus-within .chat-row-action{opacity:1}.chat-row .chat-row-action{opacity:.55}.chat-row-action:hover{background:var(--gray-100);color:var(--fg-1);opacity:1!important}.chat-row-delete:hover{background:var(--gray-100);color:var(--status-error);opacity:1!important}.msg{min-width:0;max-width:100%}.msg:hover .msg-delete,.msg:focus-within .msg-delete{opacity:1}.msg-delete:hover{background:var(--gray-100);color:var(--status-error)}.nav-item:hover{background:var(--bg-row-hover)}.nav-item.is-primary:hover{background:var(--brand-orange-hover)!important}.nav-item.is-primary:active{background:var(--brand-orange-pressed)!important}.nav-item.is-admin{color:var(--fg-on-brand);background:var(--admin-action-blue);box-shadow:var(--shadow-xs)}.nav-item.is-admin:hover{background:var(--admin-action-blue-hover)!important}.nav-item.is-admin:active{background:var(--admin-action-blue-pressed)!important}.app-header{min-height:var(--row-height-nav);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border-default);background:var(--bg-app);flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.app-header-spacer{flex:1}.app-auth-btn{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-standard)}.app-auth-btn:hover{background:var(--bg-row-hover);color:var(--fg-1)}.send-btn:hover:not(:disabled){background:var(--brand-orange-hover)!important}.send-btn:active:not(:disabled){transform:scale(.96);background:var(--brand-orange-pressed)!important}.composer-field:focus,.composer-field:focus-within{border-color:var(--border-focus)!important}.composer-field-shell{border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-composer-field);transition:box-shadow var(--duration-fast) var(--ease-standard)}:is(.composer-field-shell:has(.composer-field:focus),.composer-field-shell:has(.composer-field:focus-within)){box-shadow:var(--shadow-composer-field), var(--shadow-focus)}.composer-field::-webkit-scrollbar{width:0;height:0}.composer-field{align-items:center;display:flex;position:relative;overflow:hidden}.composer-editable{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;outline:none;flex:auto;width:100%;min-width:0;max-width:100%;min-height:24px;overflow-x:hidden}.composer-editable:focus,.composer-editable:focus-visible{box-shadow:none;outline:none}.composer-paragraph{margin:0}.composer-placeholder{top:50%;left:var(--space-5);color:var(--fg-3);pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;right:104px;transform:translateY(-50%)}.inline-math-host{vertical-align:baseline;display:inline}.composer-field math-field{vertical-align:middle;width:auto;min-width:1.25em;max-width:100%;box-shadow:none;min-height:0;font-size:inherit;line-height:inherit;color:inherit;background:0 0;border:none;display:inline-block}.composer-field math-field::part(container){align-items:baseline;width:auto;min-height:0;padding:0;display:inline-flex}.composer-field math-field::part(content){width:auto;padding:0 1px}.composer-field math-field::part(menu-toggle),.composer-field math-field::part(virtual-keyboard-toggle){display:none!important}.composer-field math-field:focus-within{border-radius:var(--radius-xs);outline:1px solid var(--border-focus);outline-offset:1px;box-shadow:var(--shadow-focus)}.composer-row{grid-template-columns:1fr minmax(0, var(--input-max-width)) 1fr;align-items:center;column-gap:var(--space-3);width:100%;display:grid}.composer-inner{grid-column:2}.reply-speed-control{margin-right:var(--space-5);font-size:var(--text-sm);color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;grid-column:3;justify-self:start;align-items:center;gap:2px;line-height:1.15;display:inline-flex}.reply-speed-toggle{flex-shrink:0;width:3em;height:1.5em;display:inline-block;position:relative;transform:translateY(-3px)}.reply-speed-toggle:has(.reply-speed-range:focus-visible){border-radius:var(--radius-pill);box-shadow:var(--shadow-focus)}.reply-speed-track{border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--navy-800);pointer-events:none;background:#75ff6b;position:absolute;inset:0}.reply-speed-thumb{background:var(--gray-900);width:1.5em;height:1.5em;box-shadow:0 0 0 1px var(--navy-800);transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:0;left:0}.reply-speed-thumb.is-right{transform:translate(1.5em)}.reply-speed-range{opacity:0;cursor:pointer;appearance:none;background:0 0;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.reply-speed-range:focus-visible{box-shadow:none;outline:none}.reply-speed-label{text-align:center;min-width:3em}.inline-math-skeleton{min-width:1.25em;color:var(--fg-3);vertical-align:baseline;display:inline-block}.math-btn:hover:not(:disabled){background:var(--bg-row-hover);color:var(--fg-1)}.math-btn:focus-visible{box-shadow:var(--shadow-focus)}.assistant-body{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.assistant-formatted,.assistant-html{width:100%;min-width:0}.assistant-body p{margin:0 0 var(--space-3)}.assistant-body p:last-child{margin-bottom:0}.assistant-body ol,.assistant-body ul{padding-left:var(--space-6);margin:var(--space-2) 0 var(--space-3)}.assistant-body li{margin-bottom:var(--space-2)}.assistant-body strong{font-weight:var(--weight-semibold)}.assistant-body h1,.assistant-body h2,.assistant-body h3,.assistant-body h4{font-weight:var(--weight-semibold);color:var(--math-blue);font-size:var(--text-sm);letter-spacing:.04em;margin:var(--space-4) 0 var(--space-1)}.assistant-body h1:first-child,.assistant-body h2:first-child,.assistant-body h3:first-child,.assistant-body h4:first-child{margin-top:0}.assistant-body .katex-display{background:var(--brand-orange-softer);border-left:3px solid var(--brand-orange);padding:var(--space-3) var(--space-5);margin:var(--space-3) 0;border-radius:var(--radius-sm);overflow-x:auto}.assistant-body .katex-display>.katex{font-size:1.1em}.assistant-body code{font-family:var(--font-mono);background:var(--gray-50);border-radius:var(--radius-xs);padding:.1em .35em;font-size:.92em}.assistant-body pre{background:var(--gray-50);padding:var(--space-3);border-radius:var(--radius-sm);margin:var(--space-3) 0;overflow-x:auto}.assistant-body pre code{background:0 0;padding:0}.assistant-body pre:has(>code.language-plot){display:none}.assistant-body table{border-collapse:collapse;width:100%;margin:var(--space-3) 0;font-size:.95em}.assistant-body thead{background:var(--blue-50)}.assistant-body th,.assistant-body td{padding:var(--space-2) var(--space-3);text-align:center;border:1px solid var(--border-default);vertical-align:middle}.assistant-body th{color:var(--navy-800);font-weight:var(--weight-semibold)}.assistant-body tbody th{background:var(--blue-50)}:is(.assistant-body:has(.wm-plot),.assistant-body:has(.wm-plot-placeholder)){width:100%}.wm-plot-placeholder{width:100%;min-width:0;margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);text-align:center;color:var(--fg-3);font-size:var(--text-sm);font-weight:var(--weight-medium);background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:var(--radius-lg);display:block}.wm-plot{width:100%;min-width:0;margin:var(--space-4) 0;padding:var(--space-3) var(--space-4) var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:block}.wm-plot-canvas{width:100%;min-width:0;display:block}.wm-plot-sr-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wm-plot figcaption{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-2);text-align:center}.wm-plot-legend{gap:var(--space-1) var(--space-4);margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--fg-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.wm-plot-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.wm-plot-swatch{border-top:3px solid;flex-shrink:0;width:14px;height:0}.wm-plot-swatch[data-line-style=dashed]{border-top-style:dashed}.wm-plot-swatch[data-line-style=dotted]{border-top-style:dotted}.wm-plot-swatch[data-line-style=dash-dot]{border:0;height:3px;position:relative}.wm-plot-swatch[data-line-style=dash-dot]:before,.wm-plot-swatch[data-line-style=dash-dot]:after{content:"";background:currentColor;height:3px;position:absolute;top:0}.wm-plot-swatch[data-line-style=dash-dot]:before{width:8px;left:0}.wm-plot-swatch[data-line-style=dash-dot]:after{border-radius:var(--radius-pill);width:3px;right:0}.wm-plot-swatch[data-line-style=point]{border-radius:var(--radius-pill);background:currentColor;border:0;width:8px;height:8px}.wm-plot-fallback{margin:var(--space-3) 0;color:var(--fg-3);font-style:italic}.wm-plot-canvas svg{pointer-events:none;max-width:100%;height:auto;display:block}.wm-plot-canvas svg .tick line{stroke:var(--gray-100)}.wm-plot-canvas svg .tick text{fill:var(--fg-3);font-size:11px}.wm-plot-canvas svg .x.axis .domain,.wm-plot-canvas svg .y.axis .domain{stroke:var(--gray-200)}.wm-plot-canvas svg .content .x.origin,.wm-plot-canvas svg .content .y.origin{stroke:var(--gray-300);stroke-width:1px}.wm-plot-canvas svg .graph path{stroke-width:2.25px}.wm-plot-canvas svg .top-right-legend{display:none}.wm-plot-canvas svg .wm-plot-slope-segment{stroke:var(--gray-500);stroke-width:1.25px}.wm-plot-canvas svg .wm-plot-solution-curve,.wm-plot-canvas svg .wm-plot-tangent,.wm-plot-canvas svg .wm-plot-secant{fill:none;stroke-width:2px}.wm-plot-canvas svg .wm-plot-area{stroke-width:1px}.wm-plot-canvas svg .wm-plot-asymptote{stroke:var(--gray-500);stroke-width:1.25px}.wm-plot-canvas svg .wm-plot-hole{stroke-width:1.5px}.wm-plot-canvas svg .wm-plot-statistics{width:100%;height:auto;display:block}.wm-plot-canvas svg .wm-plot-stat-axis-line{stroke:var(--gray-200);stroke-width:1px}.wm-plot-canvas svg .wm-plot-stat-grid{stroke:var(--gray-100);stroke-width:1px}.wm-plot-canvas svg .wm-plot-stat-tick{fill:var(--fg-3);font-size:11px}.wm-plot-canvas svg .wm-plot-stat-box,.wm-plot-canvas svg .wm-plot-stat-histogram-bar,.wm-plot-canvas svg .wm-plot-stat-bar{stroke-width:1.5px}.wm-plot-canvas svg .wm-plot-stat-whisker,.wm-plot-canvas svg .wm-plot-stat-median,.wm-plot-canvas svg .wm-plot-stat-sumkurve,.wm-plot-canvas svg .wm-plot-stat-regression{stroke-width:2px;fill:none}.wm-plot-canvas svg .wm-plot-stat-point{stroke:var(--gray-700);stroke-width:1px}.wm-plot-canvas svg .wm-plot-geometry{width:100%;height:auto;display:block}.wm-plot-canvas svg .wm-plot-geo-axis-line{stroke:var(--gray-200);stroke-width:1px}.wm-plot-canvas svg .wm-plot-geo-grid{stroke:var(--gray-100);stroke-width:1px}.wm-plot-canvas svg .wm-plot-geo-vector-line,.wm-plot-canvas svg .wm-plot-geo-parametric,.wm-plot-canvas svg .wm-plot-geo-outline{stroke-width:2px;fill:none}.wm-plot-canvas svg .wm-plot-polar{fill:none;stroke-width:2px}.wm-plot-canvas svg .wm-plot-region{stroke-width:1px}.wm-cursor{vertical-align:-.15em;background:var(--brand-orange);border-radius:1px;width:.5em;height:1em;margin-left:2px;animation:1s steps(2,end) infinite wm-blink;display:inline-block}@keyframes wm-blink{50%{opacity:0}}.wm-streaming-text{white-space:pre-wrap;word-break:break-word;font:inherit;color:inherit;margin:0}.assistant-body .wm-thinking{color:var(--fg-3);font-style:italic}.assistant-body .wm-delayed{color:var(--status-info);background:var(--status-info-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border-left:3px solid var(--status-info);font-style:italic}.assistant-body .wm-stuck{align-items:flex-start;gap:var(--space-3);color:var(--status-warning);background:var(--status-warning-bg);padding:var(--space-3);border-radius:var(--radius-sm);border-left:3px solid var(--status-warning);flex-direction:column;display:flex}.assistant-body .wm-stuck-text{margin:0}.assistant-body .wm-stuck-hint{font-size:var(--text-sm);color:var(--fg-2);margin:0}.assistant-body .wm-error{color:var(--status-error);background:var(--status-error-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border-left:3px solid var(--status-error)}.wm-retry-btn{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-app);color:var(--fg-1);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}.wm-retry-btn:hover:not(:disabled){background:var(--bg-input);border-color:var(--border-strong)}.wm-retry-btn:disabled{color:var(--fg-4);border-color:var(--gray-300);cursor:not-allowed}.classroom-activate-btn{border-radius:var(--radius-md);background:var(--blue-600);color:var(--fg-on-brand);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;font-weight:600}.classroom-activate-btn:hover:not(:disabled){background:var(--brand-orange-hover)!important}.classroom-activate-btn:active:not(:disabled){transform:scale(.96);background:var(--brand-orange-pressed)!important}.classroom-activate-btn:disabled{background:var(--blue-100);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.wm-unavailable{text-align:center;color:var(--fg-2);font-size:var(--text-sm);padding:var(--space-8) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-input)}.wm-unavailable-text{margin:0 0 var(--space-4)}.wm-welcome{font-size:var(--text-sm);color:var(--fg-3);margin:0 0 var(--space-8)}.katex{font-size:1em}.assistant-body .katex:not(.katex-display){margin-inline:.12em}.teacher-admin-view{overscroll-behavior:contain;min-height:0;padding:var(--space-6) var(--space-8);flex:1;overflow-y:auto}.teacher-admin-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.teacher-admin-default-picker{max-width:var(--chat-max-width);margin-bottom:var(--space-6)}.teacher-admin-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--fg-1);margin:0}.teacher-admin-primary-btn{height:var(--row-height-nav);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--admin-action-blue);color:var(--fg-on-brand);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--duration-fast) var(--ease-standard);border:0;font-family:inherit}.teacher-admin-primary-btn:hover{background:var(--admin-action-blue-hover)}.teacher-admin-primary-btn:active{background:var(--admin-action-blue-pressed)}.teacher-admin-secondary-btn{height:var(--row-height-nav);padding:0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-app);color:var(--fg-2);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);font-family:inherit}.teacher-admin-secondary-btn:hover{background:var(--gray-50)}.teacher-admin-destructive-btn{height:var(--row-height-nav);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--status-error);color:var(--fg-on-brand);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:filter var(--duration-fast) var(--ease-standard);border:0;font-family:inherit}.teacher-admin-destructive-btn:hover{filter:brightness(.95)}.teacher-admin-destructive-btn:disabled{opacity:.6;cursor:not-allowed}.teacher-admin-list{gap:var(--space-1);max-width:var(--chat-max-width);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.teacher-admin-list .teacher-admin-row{background:var(--surface-card);border:1px solid var(--border-subtle)}.teacher-admin-list .teacher-admin-row:hover{background:var(--blue-50)}.teacher-admin-row:focus-within .chat-row-action{opacity:1}.teacher-admin-row-edit-btn{height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--admin-action-blue);color:var(--fg-on-brand);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);border:0;flex-shrink:0}.teacher-admin-row-edit-btn:hover{background:var(--admin-action-blue-hover)}.teacher-admin-row-edit-btn:active{background:var(--admin-action-blue-pressed)}.teacher-admin-rename-input{min-width:0;height:28px;padding:0 var(--space-2);border:1px solid var(--border-focus);border-radius:var(--radius-sm);background:var(--bg-app);color:var(--fg-1);font:inherit;box-shadow:var(--shadow-focus);outline:none;flex:1}.teacher-admin-empty{max-width:var(--chat-max-width);padding:var(--space-8) var(--space-4);text-align:center;color:var(--fg-3);font-size:var(--text-sm);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background:var(--bg-input)}.teacher-admin-empty-text{margin:0 0 var(--space-2);color:var(--fg-2)}.teacher-admin-empty-hint{margin:0}.teacher-admin-loading{margin:var(--space-6) 0 0;color:var(--fg-2);font-size:var(--text-sm)}.teacher-admin-list-error{margin-top:var(--space-6);padding:var(--space-4);border-radius:var(--radius-md);background:var(--gray-50);text-align:center}.teacher-admin-list-error-text{margin:0 0 var(--space-3);color:var(--fg-2);font-size:var(--text-sm)}.admin-login-overlay{z-index:1000;padding:var(--space-4);background:#0f172a73;place-items:center;display:grid;position:fixed;inset:0}.admin-login-dialog{width:min(100%,420px);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg)}.admin-login-dialog:focus-within .teacher-admin-input:focus-visible{box-shadow:none;outline:none}.admin-login-title{margin:0 0 var(--space-2);color:var(--fg-1);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.admin-login-lead{margin:0 0 var(--space-5);color:var(--fg-3);font-size:var(--text-sm)}.admin-login-form{gap:var(--space-4);flex-direction:column;display:flex}.admin-login-error{color:var(--fg-2);font-size:var(--text-sm);margin:0}.admin-login-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.teacher-admin-status-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--gray-100);color:var(--fg-3);font-size:var(--text-xs);font-weight:var(--weight-medium);flex-shrink:0}.teacher-admin-form{gap:var(--space-5);flex-direction:column;max-width:560px;display:flex}.teacher-admin-form-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--status-error-bg);color:var(--status-error);font-size:var(--text-sm);margin:0}.teacher-admin-field{gap:var(--space-2);flex-direction:column;display:flex}.teacher-admin-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-2)}.teacher-admin-input,.teacher-admin-textarea,.teacher-admin-select{width:100%;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-input);color:var(--fg-1);font:inherit;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard);outline:none}.teacher-admin-input:focus,.teacher-admin-textarea:focus,.teacher-admin-select:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.teacher-admin-textarea{resize:vertical;min-height:80px}.teacher-admin-field-hint{font-size:var(--text-xs);color:var(--fg-3)}.teacher-admin-form-actions{align-items:center;gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.teacher-admin-form-actions-primary{gap:var(--space-3);flex-wrap:wrap;display:flex}.teacher-admin-form-actions-danger{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-inline-start:auto;display:flex}.teacher-admin-delete-warning{color:var(--status-error);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:end;flex-basis:100%;margin:0}@media (width<=520px){.teacher-admin-form-actions,.teacher-admin-form-actions-primary,.teacher-admin-form-actions-danger{width:100%}.teacher-admin-form-actions-danger{justify-content:flex-start;margin-inline-start:0}.teacher-admin-delete-warning{text-align:start}}.teacher-admin-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.teacher-admin-file-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.teacher-admin-file-list{margin:var(--space-2) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.teacher-admin-file-name{font-size:var(--text-sm);color:var(--fg-2)}.teacher-admin-link-btn{font-size:var(--text-sm);color:var(--admin-action-blue);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.teacher-admin-link-btn:hover{color:var(--admin-action-blue-hover)}.teacher-admin-link-btn:disabled{opacity:.5;cursor:not-allowed}.teacher-admin-checkbox-field{align-items:center;gap:var(--space-2);flex-direction:row}.teacher-admin-checkbox{width:1rem;height:1rem;accent-color:var(--admin-action-blue);margin:0}.teacher-admin-checkbox-label{font-size:var(--text-sm);color:var(--fg-1)}.teacher-admin-checkbox-hint{margin-top:calc(-1 * var(--space-2))}.teacher-admin-row-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--fg-3);font-size:var(--text-xs);margin-top:2px;overflow:hidden}.subject-card:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.public-header-wrap{margin-inline:6px!important}.public-header{padding:18px 36px}.public-nav{gap:var(--public-nav-gap);flex-wrap:wrap;align-items:center;display:flex}.public-brand{line-height:0;display:flex}.public-brand-logo{height:var(--public-header-logo-height);width:auto;display:block}.public-header--subject{grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center!important;display:grid!important}.public-header--subject>.public-brand{justify-self:start}.public-header--subject>.public-nav{justify-self:end}.public-nav-classroom-cta{border:1px solid var(--cta-classroom-border);border-radius:var(--radius-xs);color:var(--cta-classroom-ink);background:var(--cta-classroom-face);font-size:var(--public-nav-font-size);box-shadow:none;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;padding:6px 14px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.public-nav-text{font-size:var(--public-nav-font-size);font-weight:600;line-height:1.2;text-decoration:none}.public-nav button.public-nav-text{cursor:pointer;font-family:var(--font-body);background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.public-nav-classroom-cta:hover{color:var(--cta-classroom-ink);background:var(--cta-classroom-hover);border-color:var(--cta-classroom-border-strong)}.public-nav-classroom-cta:active{background:var(--cta-classroom-pressed)}.public-nav-classroom-cta[aria-current=page]{background:var(--cta-classroom-hover);border-color:var(--cta-classroom-border-strong)}.public-nav-classroom-cta:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.public-header-subject-title{color:var(--text-heading);font-size:var(--public-header-subject-title-size);text-underline-offset:.12em;place-self:center;margin:0;font-weight:600;line-height:1.15;text-decoration:underline}.public-nav .public-nav-classroom-cta{font-weight:600}.public-footer{background:var(--surface-footer);min-height:92px;color:var(--text-on-dark);font-family:var(--font-body);justify-content:flex-end;align-items:center;padding:34px 40px;font-size:16px;font-weight:500;line-height:1;display:flex}.public-footer-link{color:var(--text-on-dark);font-size:inherit;font-weight:inherit;line-height:inherit;text-underline-offset:4px;text-decoration:underline}.public-footer--with-company{justify-content:space-between;gap:24px}.public-footer-company ul{margin:0;padding:0;line-height:1.5;list-style:none}.public-footer-company li{margin:0}.home-hero{min-height:600px;padding-top:79px!important}.home-title{margin-bottom:28px!important}.home-composer{box-sizing:border-box;border:2px solid #0000;width:min(870px,100%)!important;padding-block:10px!important}.home-composer:focus-within{border-color:var(--blue-500)}.home-composer input:focus-visible{box-shadow:none}.home-composer>button{width:58px!important;height:58px!important}.subject-grid{width:min(1068px,100%)!important;margin-top:61px!important}.subject-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:148px!important;padding:28px 20px 22px!important;display:flex!important}.subject-card>div:first-child{margin-bottom:14px!important}.subject-card>div:last-child{font-size:18px!important}.content-page{padding-top:62px!important}.content-card{width:min(1024px,100%)!important}.content-copy li{margin-block:2px}.content-copy strong{color:var(--navy-800)}.privacy-table-wrap{margin:6px 0;overflow-x:auto}.privacy-table{border-collapse:collapse;width:100%;min-width:480px;font-size:15px}.privacy-table thead{background:var(--blue-50)}.privacy-table th,.privacy-table td{text-align:left;padding:12px 16px}.privacy-table th{color:var(--navy-800);font-weight:var(--weight-bold)}.privacy-table tbody tr:not(:last-child){border-bottom:1px solid var(--blue-50)}.subject-chat-layout{height:calc(100vh - var(--math-keyboard-height,0px));max-height:calc(100vh - var(--math-keyboard-height,0px));background:var(--gradient-page);font-family:var(--font-body);font-size:var(--text-base);flex-direction:column;line-height:1.5;display:flex;overflow:hidden}.subject-chat-app{gap:20px;width:100%;position:relative;grid-template-columns:minmax(0,1fr) minmax(0,3fr)!important}.subject-chat-content{padding-inline:0!important}.subject-chat-frame{padding-top:13px!important}.subject-chat-app>.sidebar{width:100%;min-width:0}.mobile-sidebar-toggle,.mobile-sidebar-close,.mobile-sidebar-backdrop{display:none}.subject-chat-main,.subject-chat-main .chat-canvas{background:0 0}.subject-chat-main .thread{padding-top:8px!important;padding-bottom:24px!important}.subject-chat-main .thread-inner{gap:22px!important}.subject-chat-main .chat-canvas:has(.empty-view){justify-content:center}.subject-chat-main .empty-view{margin-top:0;transform:none;flex:0 auto!important;padding-top:0!important}.subject-chat-main .empty-view h1{color:var(--navy-800)!important;font-size:var(--public-header-subject-title-size)!important;line-height:1.15!important}.subject-chat-main .empty-view>div[aria-hidden=true],.subject-chat-main .empty-view .wm-welcome{display:none}.subject-chat-layout .public-header{padding:0 36px}.subject-chat-layout .public-brand-logo{height:var(--subject-header-logo-height)}.subject-chat-layout .public-nav{gap:var(--subject-nav-gap)}.subject-chat-layout .public-nav-text,.subject-chat-layout .public-nav-classroom-cta{font-size:var(--subject-nav-font-size)}.subject-chat-layout .public-footer{min-height:3em;padding-block:1em;padding-inline:40px;font-size:15px}.subject-chat-footer-wrap{margin-top:var(--subject-chat-composer-footer-gap,4px)}.subject-chat-main .empty-composer-dock{width:100%!important;max-width:none!important;margin:var(--space-6) auto 0!important;padding:0 var(--space-6)!important;flex:none!important;transform:none!important}.subject-chat-main .empty-composer-dock .composer{padding-block:var(--space-3)!important}.subject-chat-main .empty-composer-dock .composer-inner{max-width:790px}.subject-chat-main .empty-composer-dock,.subject-chat-main .thread-composer-dock,.subject-chat-main .composer,.subject-chat-main .composer-field-shell{overflow:visible}.subject-chat-main .composer-field-shell{box-shadow:var(--shadow-composer-field)}:is(.subject-chat-main .composer-field-shell:has(.composer-field:focus),.subject-chat-main .composer-field-shell:has(.composer-field:focus-within)){box-shadow:var(--shadow-composer-field), var(--shadow-focus)}.subject-chat-main .empty-composer-dock .composer-field,.subject-chat-main .composer-field{height:calc(var(--space-2) * 2 + 40px);min-height:unset!important;padding-block:var(--space-2)!important}.subject-chat-main .empty-composer-dock .send-btn,.subject-chat-main .empty-composer-dock .math-btn,.subject-chat-main .send-btn,.subject-chat-main .math-btn{top:var(--space-2)!important}.subject-chat-main .composer{padding:var(--space-3) 0!important;background:0 0!important}.subject-chat-main .composer-hint{display:none}.subject-chat-main .composer-field{font-family:var(--font-body)!important;font-size:var(--text-md)!important;color:var(--text-heading)!important;padding-inline:var(--space-5) 104px!important;border-color:#0000!important;line-height:1.45!important}.subject-chat-main .bubble,.subject-chat-main .assistant-body{font-size:var(--text-md)!important;line-height:1.5!important}.subject-chat-main .composer-field:focus,.subject-chat-main .composer-field:focus-within{border-color:var(--blue-600)!important}.subject-chat-main .composer-scrim{background:linear-gradient(#0000,#e8edf8)!important}.subject-chat-main .send-btn:hover:not(:disabled){background:var(--action-primary-hover)!important}.subject-chat-main .send-btn:disabled{opacity:.72;background:var(--blue-600)!important;color:var(--white)!important}.subject-chat-main .math-btn{font-family:var(--font-body)!important}.subject-chat-main .bubble{color:var(--text-body)!important}.subject-chat-main .is-user .bubble{color:var(--text-heading)!important}.subject-chat-main .assistant-body .katex-display{text-align:center;background:#f5f8fe;border-left:0}.sidebar .nav-item.is-primary:hover{background:var(--action-primary-hover)!important}.sidebar-search:focus-within{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm)}.teacher-admin-layout{background:var(--gradient-page)!important}.teacher-sidebar{box-shadow:var(--shadow-card);background:var(--surface-card)!important;border-right:0!important}.teacher-main{background:0 0}.teacher-main>.app-header{background:var(--surface-card);border-bottom-color:var(--border-subtle);min-height:62px}.teacher-main .teacher-admin-view{color:var(--text-body)}.teacher-main .teacher-admin-title{color:var(--navy-800)}.teacher-main .teacher-admin-input,.teacher-main .teacher-admin-textarea,.teacher-main .teacher-admin-select{background:var(--surface-card)}@media (width<=768px){.public-header{flex-wrap:nowrap!important;align-items:center!important;padding:14px 18px!important}.subject-chat-layout .public-header{padding:0 18px!important}.public-brand-logo{height:var(--public-header-logo-height-mobile)!important}.subject-chat-layout .public-brand-logo{height:var(--subject-header-logo-height-mobile)!important}.public-header .public-nav{gap:18px!important}.subject-chat-layout .public-nav{gap:var(--space-3)!important}.public-header-subject-title{display:none}.public-header--subject{grid-template-columns:1fr auto}.public-nav button,.public-nav>a{font-size:18px!important}.subject-chat-layout .public-nav button,.subject-chat-layout .public-nav>a{font-size:var(--subject-nav-font-size)!important}.public-footer{min-height:72px;padding:24px 20px!important;font-size:14px!important}.subject-chat-layout .public-footer{min-height:3em;padding-block:1em;padding-inline:20px!important;font-size:14px!important}.home-hero{min-height:auto;padding:52px 18px 48px!important}.home-title{margin-bottom:22px!important}.home-composer{padding-left:20px!important}.home-composer>button{width:48px!important;height:48px!important}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:36px!important}.subject-card{min-height:132px!important}.content-page{padding:32px 14px 56px!important}.content-card{padding:36px 22px!important}.subject-chat-app{grid-template-columns:minmax(0,1fr)!important}.subject-chat-app>.sidebar{z-index:52;visibility:hidden;width:min(342px,100% - 42px);transition:transform var(--transition-base), visibility 0s linear var(--transition-base);position:absolute;inset:0 auto 0 0;transform:translate(calc(-100% - 18px));display:flex!important}.subject-chat-app>.sidebar.is-mobile-open{visibility:visible;transition-delay:0s;transform:translate(0)}.mobile-sidebar-toggle{z-index:30;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card);min-height:40px;box-shadow:var(--shadow-sm);color:var(--text-heading);font:600 14px/1 var(--font-body);cursor:pointer;justify-content:center;align-items:center;padding:0 16px;display:inline-flex;position:absolute;top:12px;left:14px}.mobile-sidebar-close{z-index:2;background:var(--blue-50);width:36px;height:36px;color:var(--text-heading);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:14px;right:14px}.mobile-sidebar-backdrop{z-index:50;cursor:pointer;background:#12264747;border:0;padding:0;display:block;position:absolute;inset:0}.subject-chat-frame{padding-top:12px!important}.subject-chat-content{padding-inline:0!important}.subject-chat-main .thread,.subject-chat-main .composer{padding-inline:14px!important}.subject-chat-main .empty-composer-dock{max-width:100%!important;padding-inline:14px!important}.composer-row{flex-wrap:wrap;grid-template-columns:none;column-gap:0;display:flex}.composer-inner{grid-column:auto}.reply-speed-control{width:100%;margin-left:auto;margin-right:var(--space-5);flex-direction:column;flex:0 0 100%;grid-column:auto;justify-content:flex-start;justify-self:auto;align-items:flex-end;display:flex}.teacher-admin-layout{grid-template-rows:auto minmax(0,1fr);height:100%;grid-template-columns:minmax(0,1fr)!important}.teacher-sidebar{border-bottom:1px solid var(--border-subtle);align-items:center;width:100%;min-height:0;flex-direction:row!important;gap:10px!important;padding:10px 14px!important;display:flex!important}.teacher-sidebar>a{flex-shrink:0;padding:4px!important}.teacher-sidebar>div{flex:1;justify-content:flex-end;flex-direction:row!important}.teacher-sidebar .nav-item{min-width:0;width:auto!important}.teacher-main>.app-header{min-height:48px;padding:6px 14px}.teacher-admin-view{padding:24px 16px}}@media (width<=430px){.public-header-wrap{margin-inline:0!important}.public-header{border-radius:0 0 18px 18px!important}.public-nav>a{white-space:nowrap}.public-subject-menu{left:auto!important;right:0!important}.subject-grid{grid-template-columns:1fr 1fr!important}.subject-card{padding-inline:12px!important}.teacher-brand-label,.teacher-sidebar .nav-item svg{display:none}.teacher-sidebar .nav-item{padding-inline:10px!important;font-size:13px!important}}
