:root{color-scheme:light;--font-sans: "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", "Nirmala UI", "Noto Sans Devanagari", "Noto Sans Kannada", "Noto Sans Telugu", "Noto Sans Oriya", system-ui, -apple-system, Arial, sans-serif;--font-display: "Segoe UI Variable Display", "Segoe UI", Roboto, "Noto Sans", "Nirmala UI", system-ui, -apple-system, Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, "Roboto Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.375rem;--leading-tight: 1.25;--leading-normal: 1.55;--leading-relaxed: 1.7;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-0: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--space-9: 64px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--z-header: 20;--z-sidebar: 30;--z-dialog: 100;--z-popover: 150;--z-toast: 200;--header-h: 60px;--sidebar-w: 300px;--chat-max: 780px;--tap: 44px;--bg: #f6f5fa;--bg-tint: #efeaf9;--surface: #ffffff;--surface-2: #f3f1f8;--surface-3: #e9e5f2;--surface-raised: #ffffff;--border: #e4e0ee;--border-strong: #cdc6de;--text: #1b1730;--text-2: #4e4766;--text-3: #6a6383;--text-on-color: #ffffff;--brand: #6a3dcf;--brand-solid: #6a3dcf;--brand-solid-hover: #5a31b6;--brand-soft: #efe9fc;--brand-soft-2: #e2d8fa;--brand-soft-text: #4f27a3;--brand-ring: rgba(106, 61, 207, .35);--accent: #0d7470;--accent-soft: #e0f3f1;--accent-soft-text: #0a5b58;--success: #1d7a4d;--success-soft: #e4f4eb;--success-border: #bfe3cf;--danger: #b04848;--danger-soft: #fbeeed;--danger-border: #f0d2cf;--danger-solid: #c25a57;--danger-solid-hover: #ad4c49;--neutral-soft: #eeedf3;--overlay: rgba(22, 18, 38, .42);--scrollbar: rgba(80, 66, 120, .28);--shadow-1: 0 1px 2px rgba(27, 23, 48, .06), 0 1px 1px rgba(27, 23, 48, .04);--shadow-2: 0 2px 6px rgba(27, 23, 48, .06), 0 8px 24px rgba(27, 23, 48, .06);--shadow-3: 0 12px 40px rgba(27, 23, 48, .18), 0 2px 8px rgba(27, 23, 48, .08);--shadow-focus: 0 0 0 3px var(--brand-ring);--illu-bg: #ece6fb;--illu-a: #7c4fe0;--illu-b: #b9a2f2;--illu-c: #ffffff;--illu-d: #2f9e98;--illu-e: #d9d2ec;--illu-line: #3a2f63}html[data-theme=dark]{color-scheme:dark;--bg: #110f18;--bg-tint: #1a1529;--surface: #19161f;--surface-2: #211d2b;--surface-3: #2a2537;--surface-raised: #1f1b29;--border: #2d2839;--border-strong: #423b54;--text: #eeebf6;--text-2: #c4bed6;--text-3: #9d96b1;--text-on-color: #ffffff;--brand: #b39af7;--brand-solid: #7650dc;--brand-solid-hover: #8462e6;--brand-soft: #2a2340;--brand-soft-2: #352b52;--brand-soft-text: #d2c3ff;--brand-ring: rgba(179, 154, 247, .4);--accent: #6fd2c8;--accent-soft: #15302e;--accent-soft-text: #9be3db;--success: #78d4a3;--success-soft: #16291f;--success-border: #24493a;--danger: #ef9a95;--danger-soft: #2f1d1f;--danger-border: #553033;--danger-solid: #b85753;--danger-solid-hover: #c86460;--neutral-soft: #26222f;--overlay: rgba(4, 3, 8, .62);--scrollbar: rgba(200, 186, 240, .22);--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 2px 8px rgba(0, 0, 0, .35), 0 10px 28px rgba(0, 0, 0, .25);--shadow-3: 0 18px 50px rgba(0, 0, 0, .55), 0 2px 10px rgba(0, 0, 0, .3);--illu-bg: #251f38;--illu-a: #9874f0;--illu-b: #5b469c;--illu-c: #ece6fb;--illu-d: #45bdb3;--illu-e: #3a3350;--illu-line: #e3dbff}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0}img,svg,canvas{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:var(--brand);text-underline-offset:2px}:focus{outline:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-xs)}::placeholder{color:var(--text-3);opacity:1}::selection{background:var(--brand-soft-2);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:var(--scrollbar);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.hs-icon{flex-shrink:0}.tutor-avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:30%;color:#fff;background:linear-gradient(140deg,#8a5cf0,#6a3dcf 55%,#4f2ba8);box-shadow:inset 0 0 0 1px #ffffff24}.wordmark-accent{color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-weight:var(--weight-semibold);font-size:var(--text-sm);line-height:1.2;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast) var(--ease-out);user-select:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55}.btn--sm{min-height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs)}.btn--lg{min-height:48px;padding:0 var(--space-5);font-size:var(--text-md);border-radius:var(--radius-md)}.btn--block{display:flex;width:100%}.btn--primary{background:var(--brand-solid);color:var(--text-on-color)}.btn--primary:hover:not(:disabled){background:var(--brand-solid-hover)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn--secondary:hover:not(:disabled){background:var(--surface-2)}.btn--soft{background:var(--brand-soft);color:var(--brand-soft-text)}.btn--soft:hover:not(:disabled){background:var(--brand-soft-2)}.btn--ghost{background:transparent;color:var(--text-2)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn--danger{background:var(--danger-solid);color:#fff}.btn--danger:hover:not(:disabled){background:var(--danger-solid-hover)}.btn__label{overflow:hidden;text-overflow:ellipsis}.icon-btn{display:inline-grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);color:var(--text-2);transition:background var(--dur-fast),color var(--dur-fast)}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.45}.icon-btn.is-active{background:var(--brand-soft);color:var(--brand-soft-text)}.icon-btn--sm{width:32px;height:32px;border-radius:var(--radius-sm)}.icon-btn--lg{width:44px;height:44px}.icon-btn--outline{border:1px solid var(--border);background:var(--surface)}.icon-btn--danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.card--interactive{cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast) var(--ease-out)}.card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.chip:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.chip.is-selected{background:var(--brand-soft);border-color:transparent;color:var(--brand-soft-text);font-weight:var(--weight-semibold)}.chip:disabled{opacity:.5}.chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:pointer;min-height:var(--tap)}.switch-row--compact{min-height:32px;gap:var(--space-2)}.switch-row.is-disabled{opacity:.55;cursor:not-allowed}.switch-row__text{display:flex;flex-direction:column;min-width:0}.switch-row__label{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--text)}.switch-row--compact .switch-row__label{font-weight:var(--weight-medium);color:var(--text-2)}.switch-row__desc{font-size:var(--text-xs);color:var(--text-3)}.switch{position:relative;display:inline-flex;flex-shrink:0}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:inherit}.switch__track{width:40px;height:24px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-strong);display:flex;align-items:center;padding:2px;transition:background var(--dur) var(--ease-out),border-color var(--dur)}.switch__thumb{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform var(--dur) var(--ease-out)}.switch input:checked+.switch__track{background:var(--brand-solid);border-color:var(--brand-solid)}.switch input:checked+.switch__track .switch__thumb{transform:translate(16px)}.switch input:focus-visible+.switch__track{box-shadow:var(--shadow-focus)}.segmented{display:flex;padding:3px;gap:3px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border)}.segmented__item{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 var(--space-3);border-radius:9px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-2);transition:background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast)}.segmented__item:hover{color:var(--text)}.segmented__item.is-active{background:var(--surface-raised);color:var(--brand-soft-text);font-weight:var(--weight-semibold);box-shadow:var(--shadow-1),inset 0 0 0 1.5px var(--brand)}.progress{display:flex;flex-direction:column;gap:6px;width:100%}.progress__meta{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-3)}.progress__label{color:var(--text-2);font-weight:var(--weight-medium)}.progress__track{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.progress--sm .progress__track{height:5px}.progress__fill{display:block;height:100%;border-radius:inherit;background:var(--brand-solid);transition:width var(--dur-slow) var(--ease-out)}.progress--success .progress__fill{background:var(--success)}.progress--danger .progress__fill{background:var(--danger-solid)}.progress__track.is-indeterminate .progress__fill{width:40%;animation:progress-slide 1.3s var(--ease-in-out) infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.steps{list-style:none;display:flex;gap:0}.steps--vertical{flex-direction:column}.steps__item{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-5)}.steps--vertical .steps__item:not(:last-child):before{content:"";position:absolute;left:17px;top:38px;bottom:4px;width:2px;border-radius:2px;background:var(--border)}.steps--vertical .steps__item.is-done:not(:last-child):before{background:var(--brand-solid)}.steps__marker{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;flex-shrink:0;background:var(--surface-2);border:2px solid var(--border);color:var(--text-3);font-weight:var(--weight-bold);font-size:var(--text-sm)}.steps__item.is-current .steps__marker{border-color:var(--brand-solid);color:var(--brand);background:var(--brand-soft)}.steps__item.is-done .steps__marker{background:var(--brand-solid);border-color:var(--brand-solid);color:#fff}.steps__item.is-error .steps__marker{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.steps__text{display:flex;flex-direction:column;padding-top:6px;min-width:0}.steps__title{font-weight:var(--weight-semibold);color:var(--text);font-size:var(--text-sm)}.steps__item.is-upcoming .steps__title{color:var(--text-2)}.steps__meta{font-size:var(--text-xs);color:var(--text-3)}.steps--horizontal{flex-direction:row}.steps--horizontal .steps__item{flex:1;flex-direction:column;align-items:center;text-align:center;padding-bottom:0}.steps--horizontal .steps__item:not(:last-child):before{content:"";position:absolute;top:17px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;background:var(--border)}.steps--horizontal .steps__item.is-done:not(:last-child):before{background:var(--brand-solid)}.steps--horizontal .steps__text{padding-top:var(--space-2);align-items:center}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);max-width:440px;margin:0 auto}.empty-state--compact{padding:var(--space-5) var(--space-3)}.empty-state__art{margin-bottom:var(--space-2)}.empty-state--compact .empty-state__art svg{width:140px;height:auto}.empty-state__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.empty-state__text{color:var(--text-3);font-size:var(--text-sm)}.empty-state__action{margin-top:var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.illustration{max-width:100%;height:auto}.illu-bg{fill:var(--illu-bg)}.illu-a{fill:var(--illu-a)}.illu-b{fill:var(--illu-b)}.illu-c{fill:var(--illu-c)}.illu-d{fill:var(--illu-d)}.illu-e{fill:var(--illu-e)}.illu-white{fill:#fff}.illu-white-fill-soft{fill:var(--illu-c);opacity:.85}.illu-stroke{stroke:var(--illu-line);stroke-width:2.4;stroke-linejoin:round}.illu-line-soft{fill:none;stroke:var(--illu-b);stroke-width:4;stroke-linecap:round}.illu-line-strong{fill:none;stroke:var(--illu-line);stroke-width:4;stroke-linecap:round}.illu-line-dot{fill:var(--illu-line)}.illu-white-stroke{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.illu-a-stroke{fill:none;stroke:var(--illu-a);stroke-width:7}.illu-a-stroke-thick{fill:none;stroke:var(--illu-a);stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.spinner{display:inline-grid;place-items:center;color:currentColor}.spinner svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:var(--weight-semibold);white-space:nowrap;background:var(--neutral-soft);color:var(--text-2)}.badge--brand{background:var(--brand-soft);color:var(--brand-soft-text)}.badge--accent{background:var(--accent-soft);color:var(--accent-soft-text)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-2)}.input{width:100%;min-height:46px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:var(--text-md);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input:focus{border-color:var(--brand);box-shadow:var(--shadow-focus)}.field.has-error .input{border-color:var(--danger)}.field__hint{font-size:var(--text-xs);color:var(--text-3)}.field__error{font-size:var(--text-xs);color:var(--danger)}.callout{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);font-size:var(--text-sm)}.callout__icon{display:grid;place-items:center;margin-top:1px}.callout__body{flex:1;min-width:0}.callout__title{font-weight:var(--weight-semibold)}.callout__text{color:var(--text-2)}.callout--info{background:var(--brand-soft);border-color:transparent}.callout--info .callout__icon{color:var(--brand)}.callout--success{background:var(--success-soft);border-color:var(--success-border)}.callout--success .callout__icon,.callout--success .callout__title{color:var(--success)}.callout--danger{background:var(--danger-soft);border-color:var(--danger-border)}.callout--danger .callout__icon,.callout--danger .callout__title{color:var(--danger)}body.hs-scroll-lock{overflow:hidden}.dialog-root{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay);animation:fade-in var(--dur) var(--ease-out)}.dialog{position:relative;display:flex;flex-direction:column;width:100%;max-height:min(86vh,820px);background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);overflow:hidden;animation:dialog-in var(--dur-slow) var(--ease-out)}.dialog:focus{outline:none}.dialog--sm{max-width:400px}.dialog--md{max-width:520px}.dialog--lg{max-width:720px}.dialog--xl{max-width:960px}.dialog-root--side{justify-content:flex-end;padding:0}.dialog--side{height:100%;max-height:none;max-width:min(760px,58vw);border-radius:var(--radius-xl) 0 0 var(--radius-xl);border-right:0;animation:side-in var(--dur-slow) var(--ease-out)}.dialog__handle{display:none}.dialog__header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3)}.dialog__icon{display:grid;place-items:center;flex-shrink:0}.dialog__titles{flex:1;min-width:0;padding-top:6px}.dialog__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);overflow-wrap:anywhere}.dialog__desc{margin-top:4px;font-size:var(--text-sm);color:var(--text-3)}.dialog__header-actions{display:flex;align-items:center;gap:var(--space-1)}.dialog__close{margin:-2px -6px 0 0}.dialog__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) var(--space-5) var(--space-5)}.dialog__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-5);border-top:1px solid var(--border);background:var(--surface-raised)}.confirm-dialog__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand)}.confirm-dialog__icon--danger{background:var(--danger-soft);color:var(--danger)}.confirm-dialog__text{color:var(--text-2)}.confirm-dialog .dialog__footer{border-top:0;padding-top:0}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes side-in{0%{transform:translate(40px);opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media(max-width:639px){.dialog-root,.dialog-root--side{align-items:flex-end;justify-content:stretch;padding:0}.dialog,.dialog--side{max-width:none;max-height:92vh;max-height:92dvh;height:auto;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:0;border-right:0;border-bottom:0;animation:sheet-in var(--dur-slow) var(--ease-out);padding-bottom:env(safe-area-inset-bottom)}.dialog--side,.dialog--full{height:96vh;height:96dvh;max-height:none}.dialog__handle{display:block;width:40px;height:4px;margin:8px auto 0;border-radius:4px;background:var(--border-strong)}.dialog__header{padding:var(--space-3) var(--space-4) var(--space-2)}.dialog__body{padding:var(--space-2) var(--space-4) var(--space-5)}.dialog__footer{padding:var(--space-3) var(--space-4) var(--space-4)}.dialog__footer .btn{flex:1}}.toast-region{position:fixed;z-index:var(--z-toast);left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100vw - 32px),460px);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:10px 8px 10px 14px;border-radius:var(--radius-md);background:var(--text);color:var(--bg);box-shadow:var(--shadow-3);font-size:var(--text-sm);pointer-events:auto;animation:toast-in var(--dur-slow) var(--ease-out)}.toast__icon{display:grid;place-items:center}.toast--success .toast__icon{color:var(--success-border)}.toast--danger{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border)}.toast__text{flex:1;min-width:0}.toast__close{color:inherit;opacity:.75}.toast__close:hover:not(:disabled){background:transparent;color:inherit;opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@media(min-width:900px){.toast-region{left:auto;right:var(--space-6);bottom:var(--space-6);transform:none}}.menu,.select-content{z-index:var(--z-popover);min-width:220px;max-width:min(360px,calc(100vw - 24px));padding:6px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-3);animation:dialog-in var(--dur) var(--ease-out)}.select-content{max-height:min(var(--radix-select-content-available-height, 400px),420px);min-width:var(--radix-select-trigger-width);overflow:hidden}.select-viewport{padding:2px}.menu__item,.select-item{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text);cursor:pointer;user-select:none;outline:none}.menu__item[data-highlighted],.select-item[data-highlighted]{background:var(--surface-2)}.menu__item[data-disabled],.select-item[data-disabled]{opacity:.5;pointer-events:none}.menu__item .hs-icon{color:var(--text-3)}.menu__item--danger,.menu__item--danger .hs-icon{color:var(--danger)}.menu__separator{height:1px;margin:6px 4px;background:var(--border)}.menu__label{padding:6px 10px 4px;font-size:var(--text-xs);color:var(--text-3)}.select-item{padding-right:34px}.select-item__text{display:flex;flex-direction:column;min-width:0}.select-item__main{font-weight:var(--weight-medium)}.select-item__sub{font-size:var(--text-xs);color:var(--text-3)}.select-item__check{position:absolute;right:10px;color:var(--brand)}.select-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;transition:border-color var(--dur-fast)}.select-trigger:hover:not(:disabled){border-color:var(--border-strong)}.select-trigger:disabled{opacity:.6}.select-trigger[data-placeholder]{color:var(--text-3)}.select-trigger>.hs-icon:first-child{color:var(--brand)}.select-trigger__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-trigger__chev{color:var(--text-3)}.splash,.crash{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-6);color:var(--brand);text-align:center}.splash__mark{display:grid;place-items:center;width:84px;height:84px;border-radius:26px;background:var(--brand-soft)}.crash__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text)}.crash__text{color:var(--text-3);margin-top:calc(var(--space-3) * -1)}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.workspace{flex:1;min-height:0;display:flex}.chat-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}.app-header{position:relative;z-index:var(--z-header);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:var(--header-h);padding:0 var(--space-4);padding-top:env(safe-area-inset-top);box-sizing:content-box;background:var(--surface);border-bottom:1px solid var(--border)}.app-header__brand{display:flex;align-items:center;gap:10px;min-width:0}.app-header__logo,.auth__logo{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.app-header__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em;white-space:nowrap}.app-header__actions{display:flex;align-items:center;gap:var(--space-2)}.conn-status{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-3);background:var(--surface-2)}.conn-status__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.conn-status__icon{display:none}.conn-status--offline .conn-status__dot{background:var(--text-3);box-shadow:0 0 0 3px var(--neutral-soft)}.streak-pill{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px 0 8px;border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand-soft-text);font-weight:var(--weight-bold);font-size:var(--text-sm)}.header-btn{position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:var(--radius-md);color:var(--text-2);font-weight:var(--weight-semibold);font-size:var(--text-sm);transition:background var(--dur-fast),color var(--dur-fast)}.header-btn:hover{background:var(--surface-2);color:var(--text)}.header-btn__count{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--brand-solid);color:#fff;font-size:11px;line-height:20px;text-align:center}.account-trigger{display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 6px 0 4px;border-radius:var(--radius-pill);color:var(--text-3);transition:background var(--dur-fast)}.account-trigger:hover,.account-trigger[data-state=open]{background:var(--surface-2)}.avatar{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;overflow:hidden;background:linear-gradient(140deg,var(--brand-soft-2),var(--brand-soft));color:var(--brand-soft-text);font-weight:var(--weight-bold)}.avatar img{width:100%;height:100%;object-fit:cover}.account-menu{min-width:260px}.account-menu__summary{display:flex;align-items:center;gap:var(--space-3);padding:8px 10px}.account-menu__who{display:flex;flex-direction:column;min-width:0}.account-menu__name{font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__email{font-size:var(--text-xs);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand)}.dialog-badge--accent{background:var(--accent-soft);color:var(--accent)}.sidebar{width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);min-height:0}.sidebar__top{padding:var(--space-4) var(--space-4) var(--space-3)}.sidebar__scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-4) var(--space-6)}.sidebar__divider{height:1px;margin:var(--space-5) 0 var(--space-4);background:var(--border)}.filters{display:flex;flex-direction:column;gap:var(--space-5)}.filters__group{display:flex;flex-direction:column;gap:var(--space-2)}.filters__head{display:flex;align-items:center;justify-content:space-between}.filters__title{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.filters__note{font-size:var(--text-xs);color:var(--text-3)}.filters__subgroup{margin-top:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-3)}.filters__open{margin-top:var(--space-1)}.chip-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip-grid--levels .chip{min-width:56px;justify-content:center}.text-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;margin:-2px -4px;border-radius:var(--radius-xs);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--brand)}.text-btn:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.text-btn:disabled{opacity:.5}.sessions{display:flex;flex-direction:column;gap:var(--space-2)}.sessions__heading{margin-bottom:var(--space-1)}.sessions__list{list-style:none;display:flex;flex-direction:column;gap:2px}.sessions__new{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-4);margin-bottom:var(--space-2);border-radius:var(--radius-md);border:1.5px dashed var(--border-strong);color:var(--brand);font-weight:var(--weight-semibold)}.sessions__new:hover:not(:disabled){background:var(--brand-soft);border-color:transparent}.session{position:relative;display:flex;align-items:center;border-radius:var(--radius-md);transition:background var(--dur-fast)}.session:hover{background:var(--surface-2)}.session.is-active{background:var(--brand-soft)}.session__main{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:52px;padding:8px 10px;text-align:left;border-radius:var(--radius-md)}.session__icon{grid-row:span 2;color:var(--text-3)}.session.is-active .session__icon,.session.is-active .session__name{color:var(--brand-soft-text)}.session__name{font-size:var(--text-sm);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session__when{font-size:var(--text-xs);color:var(--text-3)}.session__actions{display:flex;gap:2px;padding-right:4px;opacity:0;transition:opacity var(--dur-fast)}.session:hover .session__actions,.session:focus-within .session__actions,.session.is-active .session__actions,.sessions--dialog .session__actions{opacity:1}.session__rename{flex:1;display:flex;align-items:center;gap:4px;padding:6px}.input--sm{min-height:36px;padding:0 10px;font-size:var(--text-sm)}@media(hover:none){.session__actions{opacity:1}}.context-bar{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) var(--space-4) 0;padding:8px 8px 8px 10px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);text-align:left;box-shadow:var(--shadow-1)}.context-bar__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);flex-shrink:0}.context-bar__text{flex:1;min-width:0;display:flex;flex-direction:column}.context-bar__title{font-weight:var(--weight-semibold);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-bar__meta{font-size:var(--text-xs);color:var(--text-3)}.context-bar__action{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.context-bar.is-empty{border-style:dashed;border-color:var(--border-strong);box-shadow:none}.conversation-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.conversation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.conversation__inner{max-width:var(--chat-max);margin:0 auto;padding:var(--space-6) var(--space-5) 60vh;display:flex;flex-direction:column;gap:var(--space-5)}.day-sep{display:flex;align-items:center;gap:var(--space-3);color:var(--text-3);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.day-sep:before,.day-sep:after{content:"";flex:1;height:1px;background:var(--border)}.jump-row{flex-shrink:0;display:flex;justify-content:center;padding:6px 0 2px}.jump-latest{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--border);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);box-shadow:var(--shadow-2);animation:toast-in var(--dur) var(--ease-out)}.msg{display:flex;gap:var(--space-3);min-width:0;animation:msg-in var(--dur-slow) var(--ease-out)}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}}.msg--user{justify-content:flex-end}.msg__bubble{max-width:min(84%,620px);padding:10px 16px;border-radius:20px 20px 6px;background:var(--brand-solid);color:var(--text-on-color)}.msg__plain{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--leading-normal)}.msg__avatar{margin-top:2px}.msg__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.msg__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-height:24px}.msg__name{font-weight:var(--weight-bold);font-size:var(--text-sm)}.msg__content{min-width:0;max-width:100%;font-size:var(--text-md);line-height:var(--leading-relaxed);overflow-wrap:anywhere}.msg__notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}.msg__notice-icon{display:grid;place-items:center;margin-top:2px;color:var(--text-3)}.msg--error .msg__notice{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.msg--error .msg__notice-icon{color:var(--danger)}.msg--offline .msg__notice{background:var(--brand-soft);border-color:transparent;color:var(--brand-soft-text)}.msg--offline .msg__notice-icon{color:var(--brand)}.msg__cut{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-3)}.stream-caret{display:inline-block;width:8px;height:1.05em;margin-left:2px;vertical-align:text-bottom;border-radius:2px;background:var(--brand);animation:caret-blink 1s steps(2,start) infinite}@keyframes caret-blink{to{visibility:hidden}}.typing{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text-3);font-size:var(--text-sm);min-height:28px}.typing__dots{display:inline-flex;gap:4px;padding:8px 12px;border-radius:var(--radius-pill);background:var(--surface-2)}.typing__dots i{width:7px;height:7px;border-radius:50%;background:var(--brand);opacity:.35;animation:typing-dot 1.2s infinite var(--ease-in-out)}.typing__dots i:nth-child(2){animation-delay:.15s}.typing__dots i:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.msg__actions{display:flex;flex-wrap:wrap;gap:4px;margin-left:-8px}.msg-action{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:var(--radius-sm);color:var(--text-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);transition:background var(--dur-fast),color var(--dur-fast)}.msg-action:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.msg-action.is-active{color:var(--brand)}.passages{display:flex;flex-direction:column;gap:var(--space-3)}.passage{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);line-height:var(--leading-relaxed)}.sources{display:flex;flex-direction:column;gap:var(--space-2)}.sources__title{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.sources__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--space-2)}.source-chip{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);text-align:left;transition:border-color var(--dur-fast),background var(--dur-fast)}.source-chip:hover{border-color:var(--accent);background:var(--accent-soft)}.source-chip__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex-shrink:0}.source-chip__text{flex:1;min-width:0;display:flex;flex-direction:column}.source-chip__book{font-size:var(--text-sm);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-chip__page{font-size:var(--text-xs);color:var(--accent-soft-text);font-weight:var(--weight-semibold)}.source-chip__go{color:var(--text-3)}.followups{display:flex;flex-direction:column;gap:var(--space-2);padding-left:44px;margin-top:calc(var(--space-2) * -1)}.followups__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-3)}.followups__list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.followup{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:38px;padding:7px 12px 7px 14px;border-radius:var(--radius-pill);border:1px solid var(--brand-soft-2);background:var(--surface);color:var(--brand-soft-text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;transition:background var(--dur-fast),border-color var(--dur-fast)}.followup:hover{background:var(--brand-soft);border-color:transparent}.followup__go{flex-shrink:0;opacity:.7}.chat-empty{max-width:640px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}.chat-empty__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.015em}.chat-empty__text{color:var(--text-3)}.chat-empty__examples{width:100%;margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.chat-empty__label{font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.example-card{display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);text-align:left;font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-1);transition:border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast) var(--ease-out)}.example-card:hover:not(:disabled){border-color:var(--brand-soft-2);box-shadow:var(--shadow-2);transform:translateY(-1px)}.example-card__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);flex-shrink:0}.example-card__text{flex:1}.example-card__go{color:var(--text-3)}.composer{position:relative;flex-shrink:0;padding:var(--space-2) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,var(--bg) 18px)}.composer__box{max-width:var(--chat-max);margin:0 auto;display:flex;flex-direction:column;border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--shadow-2);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.composer__box:focus-within{border-color:var(--brand);box-shadow:var(--shadow-2),var(--shadow-focus)}.composer__input{width:100%;min-height:52px;max-height:168px;padding:14px 18px 6px;border:0;outline:0;resize:none;background:transparent;font-size:var(--text-md);line-height:1.5}.composer__input:focus-visible{outline:none}.composer__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:4px 8px 8px 14px}.composer__tools{display:flex;align-items:center;gap:4px;min-width:0}.tool-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:var(--radius-pill);color:var(--text-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast)}.tool-btn:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-soft-text)}.tool-btn:disabled{opacity:.5}.composer__count{font-size:var(--text-xs);color:var(--text-3);padding:0 4px}.composer__count.is-over{color:var(--danger)}.send-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand-solid);color:#fff;flex-shrink:0;transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast)}.send-btn:hover:not(:disabled){background:var(--brand-solid-hover)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{background:var(--surface-3);color:var(--text-3)}.send-btn--stop{background:var(--text);color:var(--bg)}.send-btn--stop:hover:not(:disabled){background:var(--text-2)}.composer__hint{max-width:var(--chat-max);margin:6px auto 0;text-align:center;font-size:11.5px;color:var(--text-3)}.math-markdown>*+*{margin-top:.7em}.math-markdown h1,.math-markdown h2,.math-markdown h3,.math-markdown h4{font-family:var(--font-display);line-height:var(--leading-tight);margin-top:1.1em}.math-markdown h1{font-size:1.3em}.math-markdown h2{font-size:1.18em}.math-markdown h3,.math-markdown h4{font-size:1.05em}.math-markdown ul,.math-markdown ol{padding-left:1.4em}.math-markdown li+li{margin-top:.3em}.math-markdown li::marker{color:var(--brand)}.math-markdown strong{font-weight:var(--weight-bold)}.math-markdown a{color:var(--brand)}.math-markdown blockquote{margin:0;padding:.2em 0 .2em 1em;border-left:3px solid var(--brand-soft-2);color:var(--text-2)}.math-markdown table{width:100%;border-collapse:collapse;font-size:var(--text-sm);display:block;overflow-x:auto}.math-markdown th,.math-markdown td{padding:8px 10px;border:1px solid var(--border);text-align:left}.math-markdown th{background:var(--surface-2);font-weight:var(--weight-semibold)}.math-markdown hr{border:0;height:1px;background:var(--border)}.math-markdown .katex{font-size:1.06em}.math-markdown .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;margin:0;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border)}.math-markdown .katex-display>.katex{display:inline-block;min-width:max-content;max-width:none;text-align:left;white-space:nowrap}.huespark-math-block .katex-display{border:0;padding:0;background:none}.inline-code{padding:1px 6px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);font-size:.88em}.code-block-wrapper,.huespark-math-block-wrapper{max-width:100%;min-width:0;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 4px 12px;border-bottom:1px solid var(--border);font-size:var(--text-xs);color:var(--text-3)}.code-block-pre{margin:0;padding:12px 14px;overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.55}.huespark-math-block{max-width:100%;padding:14px 16px 6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.huespark-math-block .katex-display{margin:0;overflow:visible}.math-block-actions{display:flex;justify-content:flex-end;gap:4px;padding:0 6px 6px}.math-action-btn,.code-copy-btn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-2)}.math-action-btn:hover,.code-copy-btn:hover{background:var(--surface-3);color:var(--text)}.quiz-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1)}.quiz-card__art{flex-shrink:0}.quiz-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.quiz-card__title{font-weight:var(--weight-bold)}.quiz-card__meta{font-size:var(--text-sm);color:var(--text-3)}.quiz-q{display:flex;flex-direction:column;gap:var(--space-4)}.quiz-q__text{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.45}.quiz-q__options{display:flex;flex-direction:column;gap:var(--space-2)}.quiz-option{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:8px 14px 8px 8px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface);text-align:left;transition:border-color var(--dur-fast),background var(--dur-fast)}.quiz-option:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.quiz-option:disabled{cursor:default}.quiz-option__letter{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-weight:var(--weight-bold);flex-shrink:0}.quiz-option__text{flex:1}.quiz-option.is-correct{border-color:var(--success);background:var(--success-soft)}.quiz-option.is-correct .quiz-option__letter{background:var(--success);color:#fff}.quiz-option.is-correct .quiz-option__mark{color:var(--success)}.quiz-option.is-wrong{border-color:var(--danger-border);background:var(--danger-soft)}.quiz-option.is-wrong .quiz-option__letter{background:var(--danger-solid);color:#fff}.quiz-option.is-wrong .quiz-option__mark{color:var(--danger)}.quiz-option.is-dim{opacity:.6}.quiz-feedback{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);animation:toast-in var(--dur) var(--ease-out)}.quiz-feedback.is-correct{background:var(--success-soft)}.quiz-feedback.is-wrong{background:var(--danger-soft)}.quiz-feedback__title{font-weight:var(--weight-bold)}.quiz-feedback.is-correct .quiz-feedback__title{color:var(--success)}.quiz-feedback.is-wrong .quiz-feedback__title{color:var(--danger)}.quiz-feedback__text{margin-top:4px;color:var(--text-2);font-size:var(--text-sm)}.quiz-dialog .dialog__footer{justify-content:space-between}.quiz-result{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-2) 0}.quiz-result__score{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold)}.quiz-result__line{color:var(--text-3);margin-bottom:var(--space-3)}.note-list{display:flex;flex-direction:column;gap:var(--space-3)}.note-card{padding:var(--space-3) var(--space-4) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface)}.note-card__meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.note-card__date{flex:1;font-size:var(--text-xs);color:var(--text-3)}.note-card__content{line-height:var(--leading-relaxed)}.note-card__more{margin-top:var(--space-3)}.settings{display:flex;flex-direction:column;gap:var(--space-5)}.settings-section{display:flex;flex-direction:column;gap:var(--space-2)}.settings-section__title{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.settings-card{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.settings-streak{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-soft-text)}.settings-streak__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--brand)}.settings-streak strong{display:block}.settings-streak__sub{font-size:var(--text-xs);opacity:.85}.lang-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.lang-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:60px;padding:10px 12px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface);text-align:left;transition:border-color var(--dur-fast),background var(--dur-fast)}.lang-option:hover{border-color:var(--border-strong)}.lang-option.is-active{border-color:var(--brand);background:var(--brand-soft)}.lang-option__native{font-weight:var(--weight-semibold);font-size:var(--text-md)}.lang-option__name{font-size:var(--text-xs);color:var(--text-3)}.lang-option__check{position:absolute;top:8px;right:8px;color:var(--brand)}.source-viewer__body{display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface-2);padding-top:var(--space-4)}.source-viewer .dialog__header{border-bottom:1px solid var(--border);padding-bottom:var(--space-3)}.source-viewer__find{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-soft-text);font-size:var(--text-xs)}.page-canvas{position:relative;width:100%}.page-sheet{width:100%;max-width:100%;height:auto;margin:0 auto;border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-2)}.page-frame{width:100%;flex:1;min-height:70vh;border:0;border-radius:var(--radius-sm);background:#fff}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:320px;color:var(--text-3);font-size:var(--text-sm)}.page-loading .spinner{color:var(--brand)}.page-loading--over{position:absolute;inset:0;z-index:1;min-height:0;background:var(--surface-2);background:color-mix(in srgb,var(--surface-2) 70%,transparent);border-radius:var(--radius-sm)}.page-nav{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.page-nav__label{display:flex;flex-direction:column;align-items:center;font-weight:var(--weight-semibold);font-size:var(--text-sm)}.page-nav__sub{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--text-3)}@media(max-width:639px){.page-nav .btn{flex:0 0 auto}}body.login-body{background:var(--bg)}.auth{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(380px,46%) 1fr}.auth__showcase{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-7) var(--space-8);background:var(--bg-tint);border-right:1px solid var(--border)}.auth__brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-lg)}.auth__art{display:flex;justify-content:center;margin-top:var(--space-6)}.auth__headline{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.015em;max-width:420px}.auth__steps .steps__item.is-current .steps__marker{background:var(--surface)}.auth__main{display:flex;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-6) var(--space-6)}.auth__topbar{align-self:stretch;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.auth__brand--compact,.auth__art-phone{display:none}.auth__lang{width:auto;min-height:40px}.auth__card{width:100%;max-width:420px;margin:auto 0;padding:var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-4)}.auth__head{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-2)}.auth__back{align-self:flex-start;margin-bottom:var(--space-2)}.auth__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.015em;line-height:var(--leading-tight)}.auth__sub{color:var(--text-3)}.auth__google{gap:var(--space-3)}.auth__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-3);font-size:var(--text-xs)}.auth__divider:before,.auth__divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth__form{display:flex;flex-direction:column;gap:var(--space-4)}.auth__label-row{display:flex;align-items:center;justify-content:space-between;width:100%}.auth__form .field__label{display:flex}.input-wrap{position:relative}.input-wrap .input{padding-right:52px}.input-wrap__btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-sm);color:var(--text-3)}.input-wrap__btn:hover{background:var(--surface-2);color:var(--text)}.input-wrap__btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.input--code{letter-spacing:.3em;font-weight:var(--weight-semibold)}.auth__switch{text-align:center;color:var(--text-3);font-size:var(--text-sm)}.auth__foot{font-size:var(--text-xs);color:var(--text-3)}@media(max-width:899px){.auth{grid-template-columns:1fr}.auth__showcase{display:none}.auth__main{padding:var(--space-4) var(--space-4) var(--space-5)}.auth__topbar{justify-content:space-between}.auth__brand--compact{display:flex}.auth__art-phone{display:block;align-self:center}.auth__card{padding:var(--space-5) 0}}@media(max-width:899px){.app-header{--header-h: 56px;padding:0 var(--space-2) 0 var(--space-4);padding-top:env(safe-area-inset-top)}.header-btn__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.header-btn{width:40px;padding:0;justify-content:center}.header-btn__count{position:absolute;top:2px;right:0;min-width:17px;height:17px;line-height:17px;font-size:10px;padding:0 4px}.account-trigger__chev{display:none}.conversation__inner{padding:var(--space-4) var(--space-4) 50vh;gap:var(--space-4)}.chat-empty{padding:var(--space-5) var(--space-4) var(--space-4)}.chat-empty__title{font-size:var(--text-xl)}.chat-empty__art{width:150px;height:auto}.composer{padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom))}.composer__hint{display:none}.followups{padding-left:0}.msg__bubble{max-width:88%}.sources__list{grid-template-columns:1fr}}@media(max-width:520px){.app-header__name{font-size:var(--text-md)}.conn-status{width:34px;padding:0;justify-content:center;color:var(--accent);background:transparent}.conn-status--offline{color:var(--text-3)}.conn-status__dot{display:none}.conn-status__icon{display:grid}.conn-status__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.example-grid{grid-template-columns:1fr}.example-card{min-height:54px}.msg{gap:var(--space-2)}.msg--tutor .msg__avatar{width:26px!important;height:26px!important}.lang-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-card{flex-wrap:wrap}.quiz-card .btn{flex:1 1 100%}.tool-btn{padding:0 8px}}@media(max-width:380px){.tool-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}.math-fallback{font-family:var(--font-mono);font-size:.92em;white-space:pre-wrap;overflow-wrap:anywhere}.math-markdown .math-inline{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle}.answer-summary{margin-top:var(--space-1)}.answer-summary .callout__text>.math-markdown,.answer-summary .callout__text p{margin:0;color:var(--text)}.structure-card{margin:0;max-width:100%;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);overflow:hidden}.structure-card__draw{display:grid;place-items:center;padding:var(--space-3);overflow-x:auto}.structure-card__draw svg{width:100%;max-width:260px;height:auto;aspect-ratio:320 / 220}.structure-card__caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm)}.structure-card__name{font-weight:var(--weight-semibold)}.structure-card__smiles{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3);overflow-wrap:anywhere}.passage{min-width:0;overflow-wrap:anywhere}.passage-md>*+*{margin-top:.55em}.passage-md h1,.passage-md h2,.passage-md h3,.passage-md h4{font-size:var(--text-base);font-weight:var(--weight-bold);margin:0}.passage-md ul,.passage-md ol{margin:0;padding-left:1.3em}body.landing-body{background:var(--bg)}.lp{min-height:100vh;color:var(--text)}.lp-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-5);max-width:1160px;margin:0 auto;padding:var(--space-3) var(--space-5);background:var(--bg)}.lp-brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-lg)}.lp-brand__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--brand-soft);color:var(--brand)}.lp-nav__links{display:flex;gap:var(--space-5);margin-left:auto}.lp-nav__links a{color:var(--text-2);text-decoration:none;font-weight:var(--weight-medium);font-size:var(--text-sm)}.lp-nav__links a:hover{color:var(--text)}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:var(--radius-md);font-weight:var(--weight-semibold);text-decoration:none;border:1px solid transparent;transition:background var(--dur-fast),transform var(--dur-fast) var(--ease-out)}.lp-btn:active{transform:scale(.98)}.lp-btn--sm{min-height:40px;padding:0 16px;font-size:var(--text-sm)}.lp-btn--primary{background:var(--brand-solid);color:#fff}.lp-btn--primary:hover{background:var(--brand-solid-hover)}.lp-btn--ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.lp-btn--ghost:hover{background:var(--surface-2)}.lp-btn--light{background:#fff;color:#4f27a3}.lp-hero{max-width:1160px;margin:0 auto;padding:var(--space-8) var(--space-5) var(--space-8);display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:var(--space-7)}.lp-eyebrow{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--brand-soft-text);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase}.lp-hero h1{margin-top:var(--space-4);font-family:var(--font-display);font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.03em;font-weight:var(--weight-bold)}.lp-hero h1 span{display:block;color:var(--brand)}.lp-hero__sub{margin-top:var(--space-4);max-width:470px;font-size:var(--text-lg);color:var(--text-2)}.lp-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.lp-hint{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--text-3)}.lp-hero__facts{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-top:var(--space-6);color:var(--text-2);font-size:var(--text-sm);font-weight:var(--weight-medium)}.lp-hero__facts li{display:inline-flex;align-items:center;gap:8px}.lp-hero__facts .hs-icon{color:var(--accent)}.lp-hero__art{display:flex;justify-content:center}.lp-section{max-width:1160px;margin:0 auto;padding:var(--space-8) var(--space-5)}.lp-h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.02em;text-align:center;margin-bottom:var(--space-7)}.lp-timeline{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);position:relative}.lp-timeline:before{content:"";position:absolute;top:32px;left:12.5%;right:12.5%;height:2px;background:repeating-linear-gradient(90deg,var(--brand-soft-2) 0 8px,transparent 8px 14px)}.lp-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2)}.lp-step__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--surface);border:1px solid var(--border);color:var(--brand);box-shadow:var(--shadow-2);position:relative;z-index:1}.lp-step__num{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text-3);margin-top:var(--space-2)}.lp-step h3{font-size:var(--text-md)}.lp-step p{color:var(--text-3);font-size:var(--text-sm)}.lp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.lp-card{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.lp-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand);margin-bottom:var(--space-3)}.lp-card h3{font-size:var(--text-md)}.lp-card p{margin-top:4px;color:var(--text-3);font-size:var(--text-sm)}.lp-langs{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-6)}.lp-langs li{padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-2);font-weight:var(--weight-medium)}.lp-cta{max-width:1120px;margin:var(--space-6) auto var(--space-8);padding:var(--space-8) var(--space-5);border-radius:28px;background:linear-gradient(135deg,#6a3dcf,#4f2ba8);color:#fff;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);text-align:center}.lp-cta h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.02em}.lp-foot{padding:var(--space-6) var(--space-5) var(--space-7);text-align:center;color:var(--text-3);font-size:var(--text-sm)}@media(max-width:899px){.lp-nav__links{display:none}.lp-nav .lp-btn{margin-left:auto}.lp-hero{grid-template-columns:1fr;padding-top:var(--space-6);gap:var(--space-5)}.lp-hero__art{order:-1}.lp-hero__art svg{width:300px;height:auto}.lp-timeline{grid-template-columns:1fr;gap:var(--space-4)}.lp-timeline:before{inset:32px auto 32px 31px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--brand-soft-2) 0 8px,transparent 8px 14px)}.lp-step{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:var(--space-4);text-align:left;align-items:center}.lp-step__icon{grid-row:span 2}.lp-step__num{display:none}.lp-step h3{align-self:end}.lp-step p{align-self:start}.lp-grid{grid-template-columns:1fr}.lp-section{padding:var(--space-7) var(--space-4)}.lp-cta{margin:var(--space-4) var(--space-4) var(--space-7);border-radius:var(--radius-xl)}}
