.chat-page{display:flex;block-size:100%;inline-size:100%;overflow:hidden}.chat-page__main{flex:1;min-inline-size:0}.chat-page__main,.chat-rail{display:flex;flex-direction:column;block-size:100%;overflow:hidden}.chat-list,.chat-rail{min-block-size:0}.chat-list{display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden;gap:var(--space-8)}.chat-list__new-btn{flex-shrink:0;block-size:var(--space-control-height);color:var(--text-secondary);gap:var(--space-8)}.chat-list__widget-new{display:flex;justify-content:flex-end;padding-inline:var(--space-4);padding-block-start:var(--space-4)}.chat-list__search{display:flex;justify-content:flex-start;align-items:center;gap:var(--space-8);align-self:stretch;min-block-size:var(--space-control-height);padding-inline:var(--space-16);margin-inline:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background-color:transparent;color:var(--text-muted);font-weight:var(--font-weight-regular);text-align:start}.chat-list__search:hover{background-color:var(--surface-hover)}.chat-list__search:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.chat-list__search-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-reduced-motion:reduce){.chat-list__search{transition:none}}.chat-list-collapsed{display:flex;flex-direction:column;align-items:center;gap:var(--space-8);padding-block:var(--space-8)}.chat-list__section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-inline:var(--space-4)}.chat-list>.chat-list__section-head,.chat-list>.chat-projects-section{margin-block-start:var(--space-16)}.chat-list__section-toggle{display:inline-flex;align-items:center;gap:var(--space-12);min-inline-size:0;padding-inline:0;min-block-size:auto;padding-block:0;color:inherit;justify-content:flex-start;font-weight:inherit}.chat-list__section-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.chat-list__section-chevron{flex-shrink:0;inline-size:var(--space-12);block-size:var(--space-12);color:var(--text-muted);transform:rotate(-90deg);transition:transform var(--duration-fast) var(--ease-default)}.chat-list__section-chevron--open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.chat-list__section-chevron{transition:none}}.chat-list__section-tools{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;min-inline-size:0;opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.chat-list__section-head:focus-within .chat-list__section-tools,.chat-list__section-head:hover .chat-list__section-tools,.chat-list__section-tools:has([data-active=true]){opacity:1}@media (hover:none){.chat-list__section-tools{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-list__section-tools{transition:none}}.chat-list__filter-btn[data-active=true],.chat-list__section-tools [data-selected]{color:var(--accent-primary)}.thryve-icon-btn.chat-list__section-add{inline-size:var(--space-20);block-size:var(--space-20);color:var(--text-muted);flex-shrink:0}.chat-list__section-label{font-size:var(--text-caption);font-weight:var(--font-weight-regular);color:var(--text-muted);text-transform:none;letter-spacing:normal}.chat-list__section-label--sub{padding-block:var(--space-4);padding-inline:var(--space-8);font-size:var(--text-micro)}.chat-list__body{flex:1;overflow-y:auto;padding-block:var(--space-2);padding-inline:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.chat-list__error,.chat-list__loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text-secondary)}.chat-list__empty,.chat-list__error,.chat-list__loading{padding-block:var(--space-8);padding-inline:var(--space-4);text-align:center;font-size:var(--text-caption)}.chat-list__empty{display:block;color:var(--text-muted);font-weight:var(--font-weight-regular);margin:0}.chat-list__item{position:relative;border-radius:var(--radius-card)}.chat-list__item--archived{opacity:.6}.chat-list__row,.chat-projects-section__row{gap:var(--space-8);padding-block:0;padding-inline:var(--space-12);border-radius:var(--radius-pill);block-size:var(--space-control-height)}.chat-list__row[data-selected=true],.chat-projects-section__row[data-selected=true]{border-color:transparent}.chat-list__row .thryve-list-row__title,.chat-projects-section__row .thryve-list-row__title{font-size:var(--text-body);font-weight:400;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-projects-section__row .thryve-list-row__leading{color:var(--text-muted)}.chat-projects-section__row-toggle{display:grid;place-items:center;inline-size:var(--space-24);block-size:var(--space-24);padding:0;border:0;border-radius:var(--radius-sm);background:none;color:inherit}.chat-projects-section__row-toggle>*{grid-area:1/1}.chat-projects-section__row-chevron{opacity:0;transform:rotate(-90deg);transition:opacity var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.chat-projects-section__row-glyph{transition:opacity var(--duration-fast) var(--ease-default)}.chat-projects-section__row-toggle:focus-visible .chat-projects-section__row-chevron,.chat-projects-section__row:hover .chat-projects-section__row-chevron,.chat-projects-section__row[data-expanded] .chat-projects-section__row-chevron{opacity:1}.chat-projects-section__row-toggle:focus-visible .chat-projects-section__row-glyph,.chat-projects-section__row:hover .chat-projects-section__row-glyph,.chat-projects-section__row[data-expanded] .chat-projects-section__row-glyph{opacity:0}.chat-projects-section__row[data-expanded] .chat-projects-section__row-chevron{transform:rotate(0deg)}@media (hover:none){.chat-projects-section__row-chevron{opacity:1}.chat-projects-section__row-glyph{opacity:0}}@media (prefers-reduced-motion:reduce){.chat-projects-section__row-chevron,.chat-projects-section__row-glyph{transition:none}}.chat-projects-section__fanout{display:flex;flex-direction:column;gap:var(--space-2);margin-inline-start:var(--space-20);list-style:none;padding:0}.chat-projects-section__fanout-row{padding-inline:var(--space-8)}.chat-projects-section__fanout-empty{margin:0;padding-block:var(--space-6);padding-inline-start:var(--space-12);font-size:var(--text-micro);color:var(--text-muted)}.chat-list__row .thryve-list-row__meta{display:none}.chat-list__item-mode-icon{--mode-color:var(--accent-primary);display:inline-flex;align-items:center;justify-content:center;color:var(--mode-color);flex-shrink:0}.chat-list__item-mode-icon[data-mode=tutor]{--mode-color:var(--palette-purple)}.chat-list__item-mode-icon[data-mode=solve]{--mode-color:var(--palette-indigo)}.chat-list__item-mode-icon[data-mode=web_search]{--mode-color:var(--palette-teal)}.chat-list__item-mode-icon[data-mode=campus]{--mode-color:var(--palette-orange)}.chat-list__item-menu-trigger{opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.chat-list__item-menu-trigger[aria-expanded=true],.chat-list__item-menu-trigger[data-state=open],.chat-list__item:focus-within .chat-list__item-menu-trigger,.chat-list__item:hover .chat-list__item-menu-trigger,.chat-projects-section__row:focus-within .chat-list__item-menu-trigger,.chat-projects-section__row:hover .chat-list__item-menu-trigger{opacity:1}@media (hover:none){.chat-list__item-menu-trigger{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-list__item-menu-trigger{transition:none}}.chat-list__menu-item--destructive{color:var(--text-error)}.chat-list__rename{display:flex;align-items:center;gap:var(--space-4);padding-inline:var(--space-4);min-block-size:var(--space-40)}.chat-list__rename-field{flex:1;min-inline-size:0}.chat-list__load-more{display:flex;justify-content:center;padding-block:var(--space-2)}.chat-surface{display:flex;flex-direction:column;block-size:100%;overflow:hidden;position:relative}.chat-surface--error,.chat-surface--loading,.chat-surface--not-found{align-items:center;justify-content:center;gap:var(--space-12);color:var(--text-secondary)}.chat-surface__body{display:flex;flex-direction:column;flex:1 1 auto;min-inline-size:0;overflow:hidden}.chat-surface__artifacts-tab{position:absolute;inset-block-start:50%;inset-inline-end:0;transform:translateY(-50%);z-index:var(--z-sticky);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding-block:var(--space-12);padding-inline:var(--space-6);border:1px solid var(--border-default);border-inline-end:none;border-start-start-radius:var(--radius-container);border-end-start-radius:var(--radius-container);border-start-end-radius:0;border-end-end-radius:0;background:var(--surface-elevated);color:var(--text-muted);box-shadow:var(--shadow-1);cursor:pointer;transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.chat-surface__artifacts-tab:hover{color:var(--text-primary);background:var(--surface-hover);box-shadow:var(--shadow-2)}.chat-surface__artifacts-tab:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.chat-surface__artifacts-tab[data-open]{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--surface-elevated)}.chat-surface__artifacts-tab-count{font-size:var(--text-caption);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.chat-mode-selector{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-12)}.chat-mode-selector .chat-mode-selector__btn{--mode-color:var(--accent-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-block-size:var(--space-48);padding-block:var(--space-12);padding-inline:var(--space-20);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--mode-color) 28%,transparent);background-color:color-mix(in srgb,var(--mode-color) 14%,var(--surface-elevated));color:var(--mode-color);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--font-weight-medium);line-height:1;box-shadow:var(--shadow-1);transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.chat-mode-selector .chat-mode-selector__btn[data-mode=tutor]{--mode-color:var(--palette-purple)}.chat-mode-selector .chat-mode-selector__btn[data-mode=solve]{--mode-color:var(--palette-indigo)}.chat-mode-selector .chat-mode-selector__btn[data-mode=web_search]{--mode-color:var(--palette-teal)}.chat-mode-selector .chat-mode-selector__btn[data-mode=campus]{--mode-color:var(--palette-orange)}.chat-mode-selector .chat-mode-selector__btn:hover:not(:disabled):not(.chat-mode-selector__btn--selected){background-color:color-mix(in srgb,var(--mode-color) 22%,var(--surface-elevated));border-color:color-mix(in srgb,var(--mode-color) 45%,transparent);box-shadow:var(--shadow-2);transform:translateY(-1px)}.chat-mode-selector .chat-mode-selector__btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.chat-mode-selector .chat-mode-selector__btn:disabled{opacity:.5;cursor:not-allowed}.chat-mode-selector .chat-mode-selector__btn--selected,.chat-mode-selector .chat-mode-selector__btn--selected:hover:not(:disabled){background-color:color-mix(in srgb,var(--mode-color) 65%,var(--surface-elevated));border-color:var(--mode-color);color:var(--text-on-accent);box-shadow:var(--shadow-2),0 10px 28px color-mix(in srgb,var(--mode-color) 40%,transparent);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.chat-mode-selector .chat-mode-selector__btn{transition:none}.chat-mode-selector .chat-mode-selector__btn--selected,.chat-mode-selector .chat-mode-selector__btn--selected:hover:not(:disabled),.chat-mode-selector .chat-mode-selector__btn:hover:not(:disabled):not(.chat-mode-selector__btn--selected){transform:none}}.chat-mode-menu{--mode-color:var(--accent-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--space-6);min-inline-size:0;max-inline-size:100%;block-size:var(--space-32);padding-block:0;padding-inline:var(--space-8) var(--space-6);border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--mode-color) 28%,transparent);background-color:color-mix(in srgb,var(--mode-color) 14%,var(--surface-elevated));color:var(--mode-color);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--font-weight-medium);line-height:1}.chat-mode-menu[data-mode=tutor]{--mode-color:var(--palette-purple)}.chat-mode-menu[data-mode=solve]{--mode-color:var(--palette-indigo)}.chat-mode-menu[data-mode=web_search]{--mode-color:var(--palette-teal)}.chat-mode-menu[data-mode=campus]{--mode-color:var(--palette-orange)}.chat-mode-menu:hover,.chat-mode-menu[data-state=open]{background-color:color-mix(in srgb,var(--mode-color) 22%,var(--surface-elevated));border-color:color-mix(in srgb,var(--mode-color) 45%,transparent)}.chat-mode-menu:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.chat-mode-menu:disabled{opacity:.5;cursor:not-allowed}.chat-mode-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-mode-menu>.thryve-icon{flex-shrink:0}.chat-mode-menu__chevron{display:inline-flex;flex-shrink:0;color:inherit;transition:transform var(--duration-fast) var(--ease-default)}.chat-mode-menu[data-state=open] .chat-mode-menu__chevron{transform:rotate(180deg)}.thryve-menu__item.chat-mode-menu__item{--mode-color:var(--accent-primary);color:var(--mode-color)}.thryve-menu__item.chat-mode-menu__item[data-mode=tutor]{--mode-color:var(--palette-purple)}.thryve-menu__item.chat-mode-menu__item[data-mode=solve]{--mode-color:var(--palette-indigo)}.thryve-menu__item.chat-mode-menu__item[data-mode=web_search]{--mode-color:var(--palette-teal)}.thryve-menu__item.chat-mode-menu__item[data-mode=campus]{--mode-color:var(--palette-orange)}.thryve-menu__item.chat-mode-menu__item[data-highlighted]{background-color:color-mix(in srgb,var(--mode-color) 14%,transparent)}@media (prefers-reduced-motion:reduce){.chat-mode-menu__chevron{transition:none}.chat-mode-menu[data-state=open] .chat-mode-menu__chevron{transform:none}}.chat-surface__banner{display:flex;align-items:center;gap:var(--space-2);padding-block:var(--space-2);padding-inline:var(--space-4);font-size:var(--text-caption);flex-shrink:0}.chat-surface__banner--archived{background-color:var(--surface-sunken);color:var(--text-secondary)}.chat-surface__banner--trashed{background-color:color-mix(in srgb,var(--text-error) 12%,transparent);color:var(--text-error)}.chat-surface__send-error{padding-inline:var(--space-4);padding-block:var(--space-2)}.chat-surface__resume-error,.chat-surface__send-error{font-size:var(--text-caption);color:var(--text-error);flex-shrink:0}.chat-surface__resume-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-inline:var(--space-16);padding-block:var(--space-8);background-color:var(--surface-error)}.chat-surface__output-form-banner{display:flex;align-items:center;gap:var(--space-8)}.chat-surface__output-form-banner,.chat-surface__truncation-notice{padding-inline:var(--space-16);padding-block:var(--space-8);font-size:var(--text-caption);color:var(--text-secondary);background-color:var(--surface-info);flex-shrink:0}.chat-surface__input-area{flex-shrink:0;padding-block:var(--space-8) var(--space-24);padding-inline:var(--space-24)}.chat-surface__input-area .chat-input-composer{max-inline-size:48rem;margin-inline:auto}.chat-stream{flex:1;overflow-y:auto;padding-block:var(--space-24) var(--space-8);padding-inline:var(--space-24)}.chat-stream__column{display:flex;flex-direction:column;gap:var(--space-16);max-inline-size:48rem;margin-inline:auto}.chat-stream--empty{display:flex;align-items:center;justify-content:center}.chat-stream__empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-12);text-align:center;max-inline-size:24rem}.chat-stream__empty-icon{opacity:.4}.chat-stream__empty-title{font-size:var(--text-title);font-weight:600;color:var(--text-primary);margin:0}.chat-stream__empty-body{font-size:var(--text-caption);color:var(--text-secondary);margin:0}.chat-stream__load-older{display:flex;justify-content:center;padding-block:var(--space-2)}.chat-stream__bottom{block-size:1px}.chat-branched-from{display:flex;align-items:center;gap:var(--space-8);padding-block:var(--space-8);font-size:var(--text-caption);color:var(--text-secondary)}.chat-branched-from:after,.chat-branched-from:before{content:"";flex:1;border-block-start:1px solid var(--border-subtle)}.chat-branched-from__link{color:var(--text-secondary);text-decoration:none;border-block-end:1px solid transparent}.chat-branched-from__link:focus-visible,.chat-branched-from__link:hover{color:var(--accent-primary);border-block-end-color:currentcolor}.chat-branched-from--unavailable .chat-branched-from__label{font-style:italic}.chat-bubble--thinking .chat-bubble__thinking,.chat-bubble__thinking{display:flex;align-items:center;gap:var(--space-4);padding-block:var(--space-6);min-block-size:2rem}.chat-bubble__dot{inline-size:.5rem;block-size:.5rem;border-radius:var(--radius-pill);background-color:var(--text-muted);animation:chat-dot-bounce 1.2s ease-in-out infinite}.chat-bubble__dot:nth-child(2){animation-delay:.2s}.chat-bubble__dot:nth-child(3){animation-delay:.4s}@keyframes chat-dot-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-.375rem)}}@media (prefers-reduced-motion:reduce){.chat-bubble__dot{animation:none;opacity:.5}}.chat-bubble__sources-loading,.chat-bubble__sources-trigger{padding-inline:var(--space-2);font-size:var(--text-micro);color:var(--text-muted)}.chat-bubble__sources-loading{padding-block:var(--space-4)}.chat-responder{position:relative;display:inline-flex}.chat-responder__trigger,.school-picker__trigger{display:inline-flex;align-items:center;gap:var(--space-6);block-size:var(--space-32);padding-block:0;padding-inline:var(--space-8);border-radius:var(--radius-pill);border:1px solid transparent;background-color:var(--surface-sunken);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--font-weight-medium);line-height:1;color:var(--text-secondary);transition:background-color var(--duration-fast) var(--ease-default)}.chat-responder__trigger:hover,.chat-responder__trigger[aria-expanded=true],.school-picker__trigger:hover,.school-picker__trigger[aria-expanded=true],.school-picker__trigger[data-state=open]{background-color:var(--surface-hover);color:var(--text-secondary)}.chat-responder__trigger:focus-visible,.school-picker__trigger:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.chat-responder__trigger:disabled,.school-picker__trigger:disabled{opacity:var(--interaction-disabled);cursor:not-allowed}.chat-responder__logo{flex-shrink:0}.chat-responder__value{color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:9rem}.chat-responder__trigger{font-weight:var(--font-weight-regular)}.chat-responder__chevron{display:inline-flex;color:var(--text-muted);transition:transform .15s ease}.chat-responder__chevron[data-open]{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.chat-responder__chevron,.chat-responder__trigger,.school-picker__chevron,.school-picker__trigger{transition:none}}.chat-responder__backdrop{position:fixed;inset:0;z-index:calc(var(--z-toast) - 1);background:transparent}.chat-responder__popover{position:absolute;inset-block-start:100%;inset-inline-start:0;z-index:var(--z-toast);background-color:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-2);min-inline-size:15rem;max-inline-size:22rem;padding-block:var(--space-4);overflow:hidden}.chat-responder__step-label{padding-block:var(--space-4);padding-inline:var(--space-12);font-size:var(--text-caption);font-weight:var(--font-weight-medium);color:var(--text-muted)}.chat-responder__step-label--inline{padding-block:0;padding-inline:0;margin-block-end:var(--space-8)}.chat-responder__divider{margin-block:var(--space-6);margin-inline:var(--space-12);inline-size:auto;background-color:var(--border-subtle)}.chat-responder__effort{display:flex;flex-direction:column;padding-block:var(--space-8);padding-inline:var(--space-12);gap:var(--space-6)}.chat-responder__effort-slider{inline-size:100%}.chat-responder__effort-labels{display:flex;justify-content:space-between;font-size:var(--text-micro);color:var(--text-muted)}.chat-responder__resolved{margin-block-start:var(--space-4);padding-block:var(--space-8);padding-inline:var(--space-12);border-block-start:1px solid var(--border-subtle);font-size:var(--text-caption);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-align:center}.chat-responder__item{display:flex;align-items:center;gap:var(--space-12);inline-size:100%;padding-block:var(--space-12);padding-inline:var(--space-12);text-align:start;background:none;border:none;cursor:pointer;font-size:var(--text-body);color:var(--text-primary)}.chat-responder__item:hover{background-color:var(--surface-hover)}.chat-responder__item[aria-selected=true]{color:var(--accent-primary)}.chat-responder__item-logo{flex-shrink:0;color:var(--text-secondary)}.chat-responder__item[aria-selected=true] .chat-responder__item-logo{color:var(--accent-primary)}.chat-responder__item-text{display:flex;flex-direction:column;flex:1;min-inline-size:0}.chat-responder__item-name{font-size:var(--text-body);font-weight:var(--font-weight-medium)}.chat-responder__item-desc,.chat-responder__item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-responder__item-desc{font-size:var(--text-micro);color:var(--text-muted)}.chat-responder__item-check{flex-shrink:0;color:var(--accent-primary)}.chat-input .chat-responder__popover{inset-block-start:auto;inset-block-end:100%;margin-block-end:var(--space-2)}.chat-input__uim-popover{max-inline-size:min(22rem,90vw)}.chat-stream__cards{display:flex;flex-direction:column;gap:var(--space-8)}.chat-card{max-inline-size:min(42rem,100%);align-self:flex-start}.chat-card--creation{display:flex;flex-direction:column;gap:var(--space-4);padding-block:var(--space-8);padding-inline:var(--space-8);background-color:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card)}.chat-card__creation-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.chat-card__creation-title{font-size:var(--text-caption);font-weight:600;color:var(--text-primary)}.chat-input-composer{position:relative}.chat-input-composer__menu{position:absolute;inset-block-end:100%;inset-inline-start:0;inset-inline-end:0;z-index:var(--z-toast);margin-block-end:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-2);overflow:hidden}.chat-input,.chat-input-composer__menu{background-color:var(--surface-elevated)}.chat-input{display:flex;flex-direction:column;gap:var(--space-8);border:1px solid transparent;border-radius:var(--radius-card);box-shadow:var(--shadow-1);padding-block:var(--space-12);padding-inline:var(--space-16);transition:box-shadow .2s ease}.contrast .chat-input,.dark .chat-input{border-color:var(--border-subtle)}@media (prefers-reduced-motion:reduce){.chat-input{transition:none}}.chat-input:focus-within,.chat-input:hover{box-shadow:var(--shadow-2)}.chat-input__blocked{font-size:var(--text-micro);color:var(--text-secondary);margin-inline-end:var(--space-4)}.chat-input__controls{justify-content:space-between}.chat-input__controls,.chat-input__controls-start{display:flex;align-items:center;gap:var(--space-8)}.chat-input__controls-start{flex-wrap:wrap;min-inline-size:0}.chat-input__controls-end{display:flex;align-items:center;gap:var(--space-8);margin-inline-start:auto;flex-shrink:0}.chat-input__textarea{flex:1 1 auto;background:none;border:none;resize:none;font-size:var(--text-body);line-height:1.5;color:var(--text-primary);min-block-size:1.75rem;max-block-size:12rem;outline:none;font-family:inherit;overflow-y:auto}.chat-input__textarea::-moz-placeholder{color:var(--text-muted);opacity:1}.chat-input__textarea::placeholder{color:var(--text-muted);opacity:1}.chat-input__send{flex-shrink:0;inline-size:2.25rem;block-size:2.25rem;padding:0;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center}.chat-input__stop{animation:chat-stop-in var(--duration-fast) var(--ease-default)}@keyframes chat-stop-in{0%{transform:scale(.85)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.chat-input__stop{animation:none}}.chat-input__send-label{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes chat-spin{to{transform:rotate(1turn)}}.chat-input__spinner{animation:chat-spin 1s linear infinite}@media (prefers-reduced-motion:reduce){.chat-input__spinner{animation:none}}.chat-input__chips{display:flex;gap:var(--space-6);overflow-x:auto;padding-block-end:var(--space-2);scrollbar-width:thin}.chat-input__chips .thryve-attachment[data-density=chip]{flex:0 0 13.125rem;inline-size:13.125rem;min-inline-size:13.125rem;max-inline-size:13.125rem}.chat-bubble__attachments{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-6);margin-block-end:var(--space-6);inline-size:100%}.chat-bubble__blocked-chip{display:inline-flex;align-items:center;gap:var(--space-4);padding-block:var(--space-2);padding-inline:var(--space-8);margin-block-start:var(--space-6);border-radius:var(--radius-pill);background-color:var(--surface-warning);border:1px solid var(--border-warning);font-size:var(--text-caption);color:var(--text-warning);max-inline-size:24rem}.chat-bubble__blocked-chip-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-bubble__blocked-chip-tag{font-weight:600;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.chat-bubble__cost-tier{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);margin-block-start:var(--space-8);padding-block:var(--space-8);padding-inline:var(--space-12);border-radius:var(--radius-container);background-color:var(--surface-warning);border:1px solid var(--border-warning);font-size:var(--text-caption);color:var(--text-warning)}.chat-bubble__cost-tier-text{color:var(--text-primary)}.chat-bubble__cost-tier-actions{display:inline-flex;align-items:center;gap:var(--space-4);margin-inline-start:auto}.chat-bubble__approve-plan-row{display:block;margin-block-start:var(--space-4)}.chat-bubble__approve-plan{gap:var(--space-4);font-size:var(--text-caption);color:var(--text-secondary)}.chat-bubble__memory-updated-row{display:block;margin-block-start:var(--space-6)}.chat-bubble__memory-updated{gap:var(--space-4);font-size:var(--text-caption);color:var(--text-secondary)}.tutor-setup{display:flex;flex-direction:column;gap:var(--space-4);padding-block:var(--space-6);padding-inline:var(--space-6);max-inline-size:36rem;margin-inline:auto}.tutor-setup__title{font-size:var(--text-title-lg);font-weight:600;color:var(--text-primary);margin:0}.tutor-setup__field{display:flex;flex-direction:column;gap:var(--space-6)}.tutor-setup__type-field{border:none;padding:0;margin:0}.tutor-setup__type-label{font-size:var(--text-caption);font-weight:500;color:var(--text-primary)}.tutor-setup__type-options{display:flex;gap:var(--space-12);flex-wrap:wrap}.tutor-setup__type-option{flex:1;min-inline-size:10rem;display:flex;align-items:flex-start;gap:var(--space-8);padding-block:var(--space-12);padding-inline:var(--space-12);border-radius:var(--radius-control);border:1px solid var(--border-default);transition:border-color .15s ease,background-color .15s ease}.tutor-setup__type-tile-label{display:flex;flex-direction:column;gap:var(--space-2);cursor:pointer}@media (prefers-reduced-motion:reduce){.tutor-setup__type-option{transition:none}}.tutor-setup__type-option--selected{border-color:var(--accent-primary);background-color:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.tutor-setup__type-name{font-size:var(--text-caption);font-weight:600;color:var(--text-primary)}.tutor-setup__type-desc{font-size:var(--text-micro);color:var(--text-secondary)}.tutor-setup__error{font-size:var(--text-caption);color:var(--text-error);margin:0}.tutor-setup__actions{display:flex;gap:var(--space-2);justify-content:flex-end}.tutor-shell{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);padding-block:var(--space-8);padding-inline:var(--space-4);border-block-end:1px solid var(--border-default);flex-shrink:0}.tutor-shell__arc{flex:1 1 auto;min-inline-size:12rem}.tutor-shell__progress{gap:var(--space-4);font-size:var(--text-micro);color:var(--text-secondary)}.tutor-shell__move,.tutor-shell__progress{display:flex;align-items:center;flex-shrink:0}.tutor-shell__skip{flex-shrink:0}.school-picker__trigger--empty{border-color:var(--border-default);border-style:dashed;color:var(--text-muted)}.school-picker__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-inline-size:8.75rem}.school-picker__chevron{display:inline-flex;flex-shrink:0;color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-default)}.school-picker__trigger[aria-expanded=true] .school-picker__chevron,.school-picker__trigger[data-state=open] .school-picker__chevron{transform:rotate(180deg)}.school-picker__panel{display:flex;flex-direction:column;gap:var(--space-6);inline-size:min(22rem,90vw);padding:var(--space-8)}.school-picker__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}.school-picker__title{margin:0;font-size:var(--text-title);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.3}.school-picker__hint{font-size:var(--text-caption);color:var(--text-muted);margin:0;line-height:1.4}.school-picker__add-url{flex-shrink:0;color:var(--accent-primary);font-size:var(--text-body);font-weight:500;padding-block:var(--space-6);padding-inline:var(--space-8);block-size:auto;min-block-size:0}.school-picker__add-url:hover{color:var(--accent-primary);background-color:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.school-picker__divider{margin:0;background-color:var(--border-subtle)}.school-picker__missing{align-self:flex-start;color:var(--accent-primary);font-size:var(--text-caption);font-weight:500;padding-block:var(--space-4);padding-inline:0;block-size:auto;min-block-size:0}.school-picker__missing:hover{color:var(--accent-primary);background:transparent;text-decoration:underline}.school-picker__results{list-style:none;margin:0;padding:0;max-block-size:16rem;overflow-y:auto;margin-inline:calc(var(--space-8) * -1)}.school-picker__result{inline-size:100%;justify-content:flex-start;gap:var(--space-12);text-align:start;block-size:auto;padding-block:var(--space-8);padding-inline:var(--space-12);border-radius:0}.school-picker__result:hover{background-color:var(--surface-hover)}.school-picker__result--selected{background-color:var(--surface-sunken)}.school-picker__result--selected .school-picker__result-name{color:var(--accent-primary);font-weight:500}.school-picker__favicon-slot{display:inline-flex;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;flex-shrink:0}.school-picker__result-text{display:flex;flex-direction:column;gap:2px;flex:1;min-inline-size:0}.school-picker__result-name{font-size:var(--text-caption);color:var(--text-secondary)}.school-picker__result-detail,.school-picker__result-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.school-picker__result-detail{font-size:var(--text-micro);color:var(--text-muted)}.school-picker__result-check{flex-shrink:0;color:var(--accent-primary)}.school-picker__favicon{flex-shrink:0;border-radius:var(--radius-sm)}.school-picker__favicon--fallback{color:var(--text-muted)}.school-picker__error,.school-picker__status{font-size:var(--text-micro);color:var(--text-secondary);margin:0}.school-picker__error{color:var(--text-error)}.school-link-in{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-12);padding-inline:var(--space-12);background-color:var(--surface-sunken);border-radius:var(--radius-control);border:1px solid var(--border-default)}.school-link-in__title{font-size:var(--text-caption);font-weight:600;color:var(--text-primary);margin:0}.school-link-in__error{font-size:var(--text-micro);color:var(--text-error);margin:0}.school-link-in__actions{display:flex;gap:var(--space-2);justify-content:flex-end}.chat-branch-dialog__body,.chat-rename-dialog__field{font-size:var(--text-caption);color:var(--text-secondary);margin:0}.chat-branch-dialog__field,.chat-rename-dialog__field{display:flex;flex-direction:column;gap:var(--space-6)}.chat-branch-dialog__error{font-size:var(--text-caption);color:var(--text-error);margin:0}.chat-widget{position:fixed;inset-block:0;inset-inline-end:0;inline-size:min(calc(var(--space-40) * 10),100vw);display:flex;flex-direction:column;background:var(--shell-bg);padding-inline:0 var(--space-12);border-inline-start:1px solid var(--border-default);box-shadow:var(--shadow-2);z-index:var(--z-pip,45);overflow:hidden}.chat-widget__header{display:flex;align-items:center;gap:var(--space-2);padding-block:var(--space-8);padding-inline:var(--space-4);border-block-end:1px solid var(--border-default);flex-shrink:0}.chat-widget__title{flex:1;font-size:var(--text-caption);font-weight:600;color:var(--text-primary)}.chat-widget-panel{position:relative;display:flex;flex-direction:column;block-size:100%;overflow:hidden}.chat-widget-panel,.chat-widget-panel>.chat-solve{flex:1 1 auto;min-block-size:0}.chat-widget-panel__drawer{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;background:var(--shell-bg);overflow:auto}.chat-hero--widget,.chat-widget-panel .chat-hero{padding-inline:0;padding-block-end:0}.chat-widget-panel .chat-stream,.chat-widget-panel .chat-surface__input-area{padding-inline:0}.chat-widget-panel .chat-surface__input-area{padding-block-end:0}.chat-widget-panel .chat-input,.chat-widget-panel .chat-input:focus-within,.chat-widget-panel .chat-input:hover{box-shadow:none}.chat-widget .shell-right-panel__head{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-4);box-shadow:inset 0 -1px 0 var(--border-subtle);padding-inline:0 var(--space-12)}.chat-widget .shell-right-panel__mode,.chat-widget .shell-right-panel__title{flex:1 1 auto;min-inline-size:0}.chat-widget .shell-right-panel__title{font-size:var(--text-title)}.chat-widget .shell-right-panel__mode{display:flex;align-items:center}.chat-hero{flex-direction:column;align-items:center;block-size:100%;padding-inline:var(--space-24);padding-block:var(--space-16) var(--space-24);gap:0}.chat-hero,.chat-solve{display:flex;min-block-size:0}.chat-solve{align-self:stretch;flex:1 1 auto;flex-direction:column}.chat-solve--with-copy{flex:0 0 auto}.chat-solve>.solver{flex:1 1 auto;block-size:auto;min-block-size:0}.chat-hero__modes{flex-shrink:0;padding-block:var(--space-8);inline-size:100%}.chat-hero__copy,.chat-hero__modes{display:flex;justify-content:center}.chat-hero__copy{flex:1 1 auto;flex-direction:column;align-items:center;gap:var(--space-8);min-block-size:0;padding-block:var(--space-16)}.chat-hero__heading{font-size:calc(var(--text-title) + var(--space-2));font-weight:500;color:var(--text-secondary);text-align:center;margin:0}.chat-hero__features{--chat-feature-delay:0ms;display:flex;flex-direction:column;gap:var(--space-20);list-style:none;margin:var(--space-20) 0 0;padding:0;inline-size:100%;max-inline-size:30rem}.chat-hero__features[data-mode]{--mode-color:var(--accent-primary)}.chat-hero__features[data-mode=tutor]{--mode-color:var(--palette-purple)}.chat-hero__features[data-mode=solve]{--mode-color:var(--palette-indigo)}.chat-hero__features[data-mode=web_search]{--mode-color:var(--palette-teal)}.chat-hero__features[data-mode=campus]{--mode-color:var(--palette-orange)}.chat-hero__feature-item{display:flex;align-items:flex-start;gap:var(--space-12);animation:chat-feature-fan-down var(--duration-slow) var(--ease-spring) both;animation-delay:var(--chat-feature-delay,0s)}.chat-hero__feature-icon{flex-shrink:0;color:var(--mode-color);margin-block-start:2px}.chat-hero__feature-text{font-size:var(--text-body);color:var(--text-secondary);text-align:start;line-height:1.4}@keyframes chat-feature-fan-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.chat-hero__feature-item{animation:none}}.chat-hero__composer,.chat-hero__grounding{flex-shrink:0;inline-size:100%;max-inline-size:48rem}.chat-hero__grounding{display:flex;align-items:center;gap:var(--space-6);margin-block-end:var(--space-6);padding:var(--space-6) var(--space-8);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);color:var(--text-secondary);font-size:var(--text-caption)}.chat-hero__grounding-label{flex:1 1 auto;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-context-meter{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-micro);color:var(--text-secondary)}.chat-surface__input-area>.agent-context-meter{margin-inline:var(--space-4);margin-block-end:var(--space-8)}.agent-context-meter__bar{flex:1;block-size:.375rem;background-color:var(--surface-sunken);border-radius:var(--radius-pill);overflow:hidden}.agent-context-meter__fill{block-size:100%;background-color:var(--accent-primary);border-radius:var(--radius-pill);transition:width .2s ease}@media (prefers-reduced-motion:reduce){.agent-context-meter__fill{transition:none}}.agent-sources{margin-block-start:var(--space-4)}.agent-sources__toggle{font-size:var(--text-micro);color:var(--text-muted);cursor:pointer;padding:var(--space-4);border-radius:var(--radius-sm);list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.agent-sources__toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.agent-sources__body{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-2);padding-inline:var(--space-2);background-color:var(--surface-sunken);border-radius:var(--radius-control);margin-block-start:var(--space-4)}.agent-sources__section{display:flex;flex-direction:column;gap:var(--space-4)}.agent-sources__section-label{font-size:var(--text-micro);font-weight:600;color:var(--text-muted);margin:0}.agent-sources__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.agent-sources__item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-micro);color:var(--text-secondary)}.agent-sources__item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-sources__item-feedback{display:flex;gap:var(--space-4);flex-shrink:0}.agent-sources__item-feedback button{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:var(--text-micro);padding:var(--space-2);border-radius:var(--radius-sm)}.agent-sources__item-feedback button:hover{background-color:var(--surface-hover);color:var(--text-primary)}.agent-sources__item-feedback button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.agent-sources__reveal{background:none;border:none;cursor:pointer;font-size:var(--text-micro);color:var(--text-muted);padding:var(--space-4);border-radius:var(--radius-sm)}.agent-cant-fit{display:flex;flex-direction:column;gap:var(--space-12);padding-block:var(--space-12);padding-inline:var(--space-4);background-color:color-mix(in srgb,var(--text-warning) 12%,transparent);border:1px solid var(--text-warning);border-radius:var(--radius-control);margin-inline:var(--space-4);margin-block-end:var(--space-2)}.agent-cant-fit__message{font-size:var(--text-caption);color:var(--text-primary);margin:0}.agent-cant-fit__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.agent-chip{display:flex;flex-direction:column;gap:var(--space-8);padding-block:var(--space-12);padding-inline:var(--space-16);background-color:var(--surface-info);border:1px solid var(--border-info);border-radius:var(--radius-control);margin-block-start:var(--space-8)}.agent-chip__prompt{margin:0;font-size:var(--text-body);color:var(--text-primary)}.agent-chip__floor{margin:0;font-size:var(--text-micro);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.agent-chip__actions{display:flex;gap:var(--space-8)}.agent-plan{padding-block:var(--space-12);padding-inline:var(--space-16);background-color:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin-block-start:var(--space-8)}.agent-plan__heading{margin:0 0 var(--space-8) 0;font-size:var(--text-caption);font-weight:600;color:var(--text-secondary)}.agent-plan__steps{display:flex;flex-direction:column;gap:var(--space-6);margin:0;padding:0;list-style:none}.agent-plan__step{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-12);font-size:var(--text-caption)}.agent-plan__desc{color:var(--text-primary)}.agent-plan__status{flex-shrink:0;color:var(--text-muted)}.agent-plan__step[data-status=done] .agent-plan__status,.agent-plan__step[data-status=executed] .agent-plan__status{color:var(--text-success)}.agent-plan__step[data-status=failed] .agent-plan__status,.agent-plan__step[data-status=rejected] .agent-plan__status{color:var(--text-error)}.agent-plan__step[data-status=awaiting_confirmation] .agent-plan__status,.agent-plan__step[data-status=paused] .agent-plan__status{color:var(--text-warning)}.agent-disambiguation{display:flex;flex-direction:column;gap:var(--space-8);padding-block:var(--space-12);padding-inline:var(--space-16);background-color:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin-block-start:var(--space-8)}.agent-disambiguation__question{margin:0;font-size:var(--text-body);color:var(--text-primary)}.agent-disambiguation__candidates{display:flex;flex-direction:column;gap:var(--space-4)}.agent-disambiguation__candidate{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding-block:var(--space-8);padding-inline:var(--space-12);background-color:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;text-align:start;font:inherit;color:inherit}.agent-disambiguation__candidate:hover:not(:disabled){background-color:var(--surface-hover)}.agent-disambiguation__candidate:disabled{opacity:.6;cursor:not-allowed}.agent-disambiguation__candidate:focus-visible{outline:2px solid var(--border-accent);outline-offset:2px}.agent-disambiguation__candidate-title{font-size:var(--text-body);color:var(--text-primary)}.agent-disambiguation__candidate-meta{font-size:var(--text-micro);color:var(--text-muted)}.agent-mutation-receipt{display:flex;flex-direction:column;gap:var(--space-8);padding-block:var(--space-12);padding-inline:var(--space-16);background-color:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin-block-start:var(--space-8)}.agent-mutation-receipt__heading{margin:0;font-size:var(--text-caption);font-weight:600;color:var(--text-secondary)}.agent-mutation-receipt__empty{margin:0;font-size:var(--text-caption);color:var(--text-muted)}.agent-mutation-receipt__changes{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;list-style:none}.agent-mutation-receipt__change{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;font-size:var(--text-caption)}.agent-mutation-receipt__field{font-weight:600;color:var(--text-primary)}.agent-mutation-receipt__before{color:var(--text-muted);text-decoration:line-through}.agent-mutation-receipt__after{color:var(--text-primary)}.agent-mutation-receipt__actions{display:flex;gap:var(--space-8)}.agent-capability-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding-block:var(--space-8);padding-inline:var(--space-16);background-color:var(--surface-warning);border-block-start:1px solid var(--border-warning);flex-shrink:0}.agent-capability-chip__copy{margin:0;font-size:var(--text-caption);color:var(--text-primary)}.agent-capability-chip__actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.chat-projects-section{display:flex;flex-direction:column;gap:0;flex:0 0 auto;min-block-size:0}.chat-projects-section__body{display:flex;flex-direction:column;gap:var(--space-4);padding-inline:var(--space-4);padding-block-start:0}.chat-projects-section__list{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;list-style:none}.chat-projects-section__new{display:flex;justify-content:flex-start;align-items:center;gap:var(--space-8);inline-size:100%;min-block-size:var(--space-control-height);padding-inline:var(--space-12);border:none;border-radius:var(--radius-pill);background-color:transparent;color:var(--text-secondary);font-weight:var(--font-weight-regular);text-align:start}.chat-projects-section__new:hover{background-color:var(--surface-hover)}.chat-projects-section__new:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){.chat-projects-section__new{transition:none}}.chat-projects-section__skeletons{display:flex;flex-direction:column;gap:var(--space-4)}.chat-projects-section__error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);font-size:var(--text-caption);color:var(--text-muted)}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}