.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-inverse);font-weight:600;font-family:var(--font-body);flex-shrink:0;-webkit-user-select:none;user-select:none;object-fit:cover}.badge{display:inline-flex;align-items:center;font-family:var(--font-body);font-weight:500;border-radius:var(--radius-full);white-space:nowrap}.badge--sm{font-size:var(--text-xs);padding:2px var(--space-2)}.badge--md{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.badge--default{background:var(--surface-2);color:var(--ink-secondary)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--error{background:var(--error-soft);color:var(--error)}.badge--accent{background:var(--accent-soft);color:var(--accent)}.sidebar-section{display:flex;flex-direction:column}.sidebar-section__header-row{display:flex;align-items:center;gap:var(--space-1)}.sidebar-section__header{flex:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-family:var(--font-body);font-weight:600;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);white-space:nowrap;min-height:28px}.sidebar-section__header:hover{color:var(--ink-secondary)}.sidebar-section__header--compact{justify-content:center;padding:var(--space-2);color:var(--ink-secondary)}.sidebar-section__header--compact:hover{color:var(--ink-primary)}.sidebar-section__label{flex:1;text-align:left}.sidebar-section__chevron{opacity:.5;transition:transform var(--duration-normal) var(--ease-out)}.sidebar-section__action{display:inline-flex;align-items:center;opacity:.4;transition:opacity var(--duration-fast) var(--ease-out)}.sidebar-section__action:hover{opacity:1}.sidebar-section__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-normal) var(--ease-out)}.sidebar-section--open .sidebar-section__body{grid-template-rows:1fr}.sidebar-section__body-inner{overflow:hidden;display:flex;flex-direction:column;gap:var(--space-1);padding-left:var(--space-2)}.sidebar-section--open .sidebar-section__body-inner{padding-top:var(--space-1)}.dialog{width:94vw;margin:auto;border:none;border-radius:var(--radius-lg);padding:0;background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow-xl);color:var(--ink-primary);animation:slide-in-up var(--duration-slow) var(--ease-out)}.dialog::backdrop{background:#00000080;animation:fade-in var(--duration-normal) ease}.dialog__content{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}.dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.dialog__title{margin:0}.dialog__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--ink-tertiary);cursor:pointer;flex-shrink:0}.dialog__close:hover{background:var(--surface-2);color:var(--ink-primary)}.dialog__body{display:flex;flex-direction:column;gap:var(--space-4)}.input-field{display:flex;flex-direction:column;gap:var(--space-1)}.input-field__label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--ink-primary)}.input-field__wrapper{position:relative;display:flex;align-items:center}.input-field__icon{position:absolute;left:var(--space-3);display:flex;color:var(--ink-tertiary);pointer-events:none}.input-field__input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);color:var(--ink-primary);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input-field__input::placeholder{color:var(--ink-tertiary)}.input-field__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.input-field__input--with-icon{padding-left:var(--space-10)}.input-field__input--error{border-color:var(--error)}.input-field__input--error:focus{box-shadow:0 0 0 2px var(--error-soft)}.input-field__error{font-size:var(--text-xs);color:var(--error)}.input-field__hint{font-size:var(--text-xs);color:var(--ink-tertiary)}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__icon{animation:spin 1s linear infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:500;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);white-space:nowrap;letter-spacing:.02em}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{font-size:var(--text-sm);padding:var(--space-1) var(--space-3);min-height:32px}.btn--md{font-size:var(--text-sm);padding:var(--space-2) var(--space-4);min-height:36px}.btn--lg{font-size:var(--text-base);padding:var(--space-3) var(--space-6);min-height:44px}.btn--primary{background:var(--accent);color:var(--ink-inverse);border-color:var(--accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 20px var(--focus-ring)}.btn--secondary{background:var(--surface-1);color:var(--ink-primary);border-color:var(--border)}.btn--secondary:hover:not(:disabled){background:var(--surface-2);box-shadow:var(--shadow-xs)}.btn--ghost{background:transparent;color:var(--ink-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink-primary)}.btn--danger{background:var(--error);color:var(--ink-inverse);border-color:var(--error)}.btn--danger:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-sm)}.btn__label{display:inline-flex;align-items:center;gap:var(--space-2);line-height:1}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-0);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:var(--text-sm);color:var(--ink-primary);pointer-events:auto;animation:slide-in-right var(--duration-slow) var(--ease-out);min-width:280px;max-width:420px}.toast--success{border-left:3px solid var(--success)}.toast--success svg{color:var(--success)}.toast--error{border-left:3px solid var(--error)}.toast--error svg{color:var(--error)}.toast--info{border-left:3px solid var(--accent)}.toast--info svg{color:var(--accent)}.toast__message{flex:1}.toast__dismiss{display:flex;align-items:center;justify-content:center;padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--ink-tertiary);cursor:pointer;flex-shrink:0}.toast__dismiss:hover{background:var(--surface-2);color:var(--ink-primary)}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .32s cubic-bezier(.22,1,.36,1)}.app-shell--collapsed{grid-template-columns:76px 1fr}.app-shell--hover-expanded{grid-template-columns:260px 1fr}.app-shell__sidebar{display:flex;flex-direction:column;justify-content:space-between;background:var(--surface-1);border-right:1px solid var(--border);padding:var(--space-4);overflow-y:auto;overflow-x:hidden;z-index:50}.app-shell__sidebar-top{display:flex;flex-direction:column;gap:var(--space-3)}.app-shell__sidebar-bottom{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.app-shell__logo{padding:var(--space-1) 0}.app-shell__logo-img{height:52px;width:auto;object-fit:contain}.app-shell__logo-img--icon{height:32px;width:32px;object-fit:contain;object-position:left center}.app-shell__workspace{position:relative;padding:0}.app-shell__workspace-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);font-weight:500;color:var(--ink-primary);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);text-align:left}.app-shell__workspace-trigger:hover{border-color:var(--border-strong)}.app-shell__workspace-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.app-shell__workspace-chevron{opacity:.4;flex-shrink:0}.app-shell__workspace-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-1);box-shadow:var(--shadow-md);z-index:200;max-height:200px;overflow-y:auto;animation:slide-in-up var(--duration-normal) var(--ease-out) both}.app-shell__workspace-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);font-weight:500;color:var(--ink-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--duration-fast) var(--ease-out)}.app-shell__workspace-option:hover{background:var(--surface-3);color:var(--ink-primary)}.app-shell__workspace-option--active{color:var(--accent)}.app-shell__new-chat{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);font-weight:600;color:var(--ink-inverse);background:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);white-space:nowrap}.app-shell__new-chat:hover{background:var(--accent-hover)}.app-shell__new-chat--compact{width:auto;justify-content:center;padding:var(--space-2);border-radius:var(--radius-md)}.app-shell__nav{display:flex;flex-direction:column;gap:var(--space-2)}.app-shell__nav-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);font-family:var(--font-body);font-weight:500;color:var(--ink-secondary);text-decoration:none;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:28px}.app-shell__nav-item:hover{background:var(--surface-2);color:var(--ink-primary)}.app-shell__nav-item--active{background:var(--accent-soft);color:var(--accent)}.app-shell__nav-item--sub{padding-left:var(--space-3);font-size:var(--text-xs);font-weight:400}.app-shell__settings-label{display:inline-flex;align-items:center;gap:var(--space-2)}.app-shell__section-action{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.app-shell__section-action:hover{background:var(--surface-2);color:var(--accent)}.app-shell__nav-hint{font-size:var(--text-xs);color:var(--ink-tertiary);padding:var(--space-1) var(--space-2);font-style:italic}.app-shell__sidebar-divider{height:1px;background:var(--border);margin:var(--space-2) 0}.app-shell__theme-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);font-weight:500;color:var(--ink-tertiary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap}.app-shell__theme-btn:hover{background:var(--surface-2);color:var(--accent)}.app-shell__collapse-btn{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);font-weight:500;background:transparent;border:none;border-radius:var(--radius-md);color:var(--ink-tertiary);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease-out)}.app-shell__collapse-btn:hover{background:var(--surface-2);color:var(--ink-primary)}.app-shell--collapsed:not(.app-shell--hover-expanded) .app-shell__nav-item,.app-shell--collapsed:not(.app-shell--hover-expanded) .app-shell__theme-btn,.app-shell--collapsed:not(.app-shell--hover-expanded) .app-shell__collapse-btn{justify-content:center;padding:var(--space-2)}.app-shell--collapsed:not(.app-shell--hover-expanded) .app-shell__user-section{justify-content:center;padding:var(--space-2)}.app-shell__user-section{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);text-decoration:none}.app-shell__user-section--clickable{border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.app-shell__user-section--clickable:hover{background:var(--surface-2)}.app-shell__user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.app-shell__user-name{font-size:var(--text-sm);font-weight:500;color:var(--ink-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell__main{display:flex;flex-direction:column;min-height:100vh;overflow-x:visible;overflow-y:hidden}.app-shell__content{flex:1;overflow-y:auto}@media(max-width:1024px){.app-shell:not(.app-shell--collapsed){grid-template-columns:76px 1fr}.app-shell:not(.app-shell--collapsed) .app-shell__nav-item span,.app-shell:not(.app-shell--collapsed) .app-shell__user-info,.app-shell:not(.app-shell--collapsed) .app-shell__workspace,.app-shell:not(.app-shell--collapsed) .app-shell__logo-img:not(.app-shell__logo-img--icon),.app-shell:not(.app-shell--collapsed) .app-shell__theme-btn span,.app-shell:not(.app-shell--collapsed) .app-shell__new-chat span,.app-shell:not(.app-shell--collapsed) .sidebar-section__label,.app-shell:not(.app-shell--collapsed) .sidebar-section__body,.app-shell:not(.app-shell--collapsed) .sidebar-section__chevron,.app-shell:not(.app-shell--collapsed) .sidebar-section__action{display:none}.app-shell:not(.app-shell--collapsed) .app-shell__logo-img--icon{display:block}.app-shell:not(.app-shell--collapsed) .app-shell__new-chat{justify-content:center;padding:var(--space-2)}}.auth-layout{display:grid;grid-template-columns:55% 45%;min-height:100vh}.auth-layout__brand{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--space-16);background:#08090a;color:#f0ede8;overflow:hidden}.auth-layout__ambient{position:absolute;inset:0;pointer-events:none}.auth-layout__ambient:before,.auth-layout__ambient:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}.auth-layout__ambient:before{width:60%;height:50%;top:15%;left:-5%;background:radial-gradient(ellipse at center,rgba(201,168,76,.07) 0%,transparent 70%);animation:drift-a 14s ease-in-out infinite alternate}.auth-layout__ambient:after{width:50%;height:60%;bottom:5%;right:-10%;background:radial-gradient(ellipse at center,rgba(201,168,76,.05) 0%,transparent 70%);animation:drift-b 18s ease-in-out infinite alternate}.auth-layout__line{position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent 0%,rgba(201,168,76,0) 20%,rgba(201,168,76,.25) 50%,rgba(201,168,76,0) 80%,transparent 100%);animation:line-reveal 2s var(--ease-out-expo) .6s both}.auth-layout__line:after{content:"";position:absolute;inset:0;width:1px;background:linear-gradient(to bottom,transparent 0%,rgba(201,168,76,.35) 50%,transparent 100%);background-size:1px 40%;background-repeat:no-repeat;background-position:0 -40%;animation:line-shimmer 8s ease-in-out 2.5s infinite}@keyframes drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(10%,8%) scale(1.1)}}@keyframes drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-8%,-6%) scale(1.15)}}@keyframes line-reveal{0%{opacity:0}to{opacity:1}}@keyframes line-shimmer{0%{background-position:0 -40%;opacity:0}15%{opacity:1}85%{opacity:1}to{background-position:0 140%;opacity:0}}.auth-layout__brand-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.auth-layout__hero{display:flex;flex-direction:column;align-items:center;gap:0;margin:0}.auth-layout__hello{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;font-style:italic;letter-spacing:.08em;line-height:1;color:var(--accent);text-transform:lowercase;margin-bottom:-16px;margin-right:var(--space-4);position:relative;z-index:1;opacity:0;animation:hello-enter .8s var(--ease-out-expo) .3s both}.auth-layout__logo-img{height:clamp(52px,6vw,80px);width:auto;opacity:0;animation:logo-enter 1s var(--ease-out-expo) .5s both}@keyframes hello-enter{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes logo-enter{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-layout__form{display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--surface-0)}.auth-layout__form-inner{width:100%;max-width:420px}@media(max-width:768px){.auth-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-layout__brand{padding:var(--space-10) var(--space-6)}.auth-layout__hero{gap:0}.auth-layout__hello{font-size:var(--text-base)}.auth-layout__logo-img{height:44px}.auth-layout__form{padding:var(--space-6)}.auth-layout__line{display:none}}@media(prefers-reduced-motion:reduce){.auth-layout__ambient:before,.auth-layout__ambient:after{animation:none}.auth-layout__line:after{animation:none}.auth-layout__hello,.auth-layout__logo-img{animation-duration:.01ms}}.login-page{display:grid;grid-template-columns:minmax(0,1fr) 164px;gap:var(--space-8);width:100%;max-width:620px;align-items:start}.login-page__passport{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-2);opacity:0;animation:form-reveal .55s var(--ease-out-expo) .1s both}.login-page__passport--hint{padding:var(--space-5);border:1px solid color-mix(in oklch,var(--accent) 24%,var(--border));background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 88%,var(--accent) 12%),var(--surface-1)),var(--surface-1)}.login-page__eyebrow,.login-page__stage,.login-page__sidebar-label{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.login-page__eyebrow{color:var(--accent)}.login-page__stage,.login-page__sidebar-label{color:var(--ink-tertiary)}.login-page__heading{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-weight:600;line-height:.94;color:var(--ink-primary)}.login-page__subtext,.login-page__sidebar-copy p,.login-page__method-copy,.login-page__footnote,.login-page__note{margin:0;font-size:var(--text-sm);line-height:1.5;color:color-mix(in oklch,var(--ink-secondary) 82%,var(--accent) 18%)}.login-page__identity{margin:0;padding-top:var(--space-1);font-size:var(--text-sm);letter-spacing:.04em;color:var(--ink-primary)}.login-page__note{padding:var(--space-3) 0 0;border-top:1px solid color-mix(in oklch,var(--border) 75%,var(--accent) 25%)}.login-page__form,.login-page__oauth,.login-page__method-grid,.login-page__footer,.login-page__redirect-card,.login-page__sidebar,.login-page__error{opacity:0;animation:form-reveal .55s var(--ease-out-expo) .2s both}.login-page__form{display:flex;flex-direction:column;gap:var(--space-4)}.login-page__form .input-field__input,.login-page__method{transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out)}.login-page__form .input-field__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring),0 0 24px color-mix(in oklch,var(--accent) 18%,transparent)}.login-page__form .btn--primary,.login-page__oauth .btn,.login-page__passkey-actions .btn{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),background var(--duration-fast) var(--ease-out)}.login-page__form .btn--primary:hover:not(:disabled),.login-page__oauth .btn:hover:not(:disabled),.login-page__passkey-actions .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px color-mix(in oklch,var(--accent) 18%,transparent)}.login-page__oauth{display:flex;gap:var(--space-3)}.login-page__oauth>*{flex:1}.login-page__oauth--stack{flex-direction:column}.login-page__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--ink-tertiary);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.login-page__divider:before,.login-page__divider:after{content:"";flex:1;height:1px;background:color-mix(in oklch,var(--border) 82%,var(--accent) 18%)}.login-page__method-grid{display:grid;gap:var(--space-3)}.login-page__method{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4);border:1px solid color-mix(in oklch,var(--border) 82%,var(--accent) 18%);background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 96%,var(--accent) 4%),var(--surface-1));color:var(--ink-primary);text-align:left;cursor:pointer}.login-page__method:hover{transform:translateY(-2px);border-color:color-mix(in oklch,var(--accent) 38%,var(--border));box-shadow:var(--shadow-md)}.login-page__method-label{font-size:var(--text-base);color:var(--ink-primary)}.login-page__footer{display:flex;flex-direction:column;gap:var(--space-3)}.login-page__footer--inline{flex-direction:row;align-items:baseline;gap:var(--space-2)}.login-page__switch,.login-page__alt-link{padding:0;border:none;background:none;font-family:var(--font-body);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.login-page__switch{color:var(--ink-primary);font-size:var(--text-sm)}.login-page__alt-link{display:inline-flex;align-items:center;gap:var(--space-1);justify-self:start;color:var(--ink-secondary);font-size:var(--text-xs)}.login-page__switch:hover,.login-page__alt-link:hover{color:var(--accent)}.login-page__redirect-card,.login-page__sidebar{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border:1px solid color-mix(in oklch,var(--border) 74%,var(--accent) 26%);background:linear-gradient(180deg,color-mix(in oklch,var(--surface-1) 94%,var(--accent) 6%),var(--surface-1)),var(--surface-1)}.login-page__sidebar{gap:var(--space-5);position:relative}.login-page__sidebar:before{content:"";position:absolute;inset:var(--space-3);border-top:1px solid color-mix(in oklch,var(--accent) 40%,transparent);border-left:1px solid color-mix(in oklch,var(--accent) 24%,transparent);pointer-events:none}.login-page__sidebar-copy{display:flex;flex-direction:column;gap:var(--space-2);position:relative;z-index:1}.login-page__passkey-actions{display:flex;flex-direction:column;gap:var(--space-3)}.login-page__error{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--error-soft);color:var(--error);font-size:var(--text-sm)}@keyframes form-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.login-page{grid-template-columns:1fr;max-width:480px}.login-page__sidebar{order:-1}}@media(max-width:640px){.login-page__oauth{flex-direction:column}.login-page__footer--inline{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.login-page__passport,.login-page__form,.login-page__oauth,.login-page__method-grid,.login-page__footer,.login-page__redirect-card,.login-page__sidebar,.login-page__error{animation-duration:.01ms}.login-page__form .btn--primary:hover:not(:disabled),.login-page__oauth .btn:hover:not(:disabled),.login-page__passkey-actions .btn:hover:not(:disabled),.login-page__method:hover{transform:none}}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-12) var(--space-6)}.empty-state__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--surface-2);color:var(--ink-tertiary)}.empty-state__title{font-size:var(--text-lg);color:var(--ink-primary);margin:0}.empty-state__description{font-size:var(--text-sm);color:var(--ink-tertiary);max-width:360px;margin:0}.empty-state__action{margin-top:var(--space-2)}.home-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--space-8);position:relative}.home-page__hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-10);width:100%;max-width:640px;animation:fade-in var(--duration-slow) var(--ease-out) both}.home-page__drop-overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);border:2px dashed var(--accent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-0) 85%,var(--accent));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--accent);font-size:var(--text-base);font-weight:500;pointer-events:none;animation:drop-overlay-in .15s var(--ease-out) both}.home-page__heading-group{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.home-page__title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;color:var(--ink-primary);line-height:1.2;margin:0;text-align:center}.home-page__context{display:flex;align-items:center;gap:var(--space-2);position:relative}.home-page__context-label{font-family:var(--font-body);font-size:var(--text-lg);font-weight:400;color:var(--ink-tertiary)}.home-page__selector-trigger{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-lg);font-weight:500;color:var(--accent);background:none;border:none;border-bottom:1px solid var(--accent-soft);padding:0 var(--space-1) 2px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);white-space:nowrap}.home-page__selector-icon{opacity:.8}.home-page__selector-trigger:hover{border-bottom-color:var(--accent)}.home-page__selector-trigger--locked{border-bottom-color:transparent;color:var(--ink-secondary);cursor:default}.home-page__selector-trigger--locked:hover{border-bottom-color:transparent}.home-page__selector-chevron{opacity:.5;transition:transform var(--duration-fast) var(--ease-out)}.home-page__selector-dropdown{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:200px;max-height:280px;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-1);box-shadow:var(--shadow-lg);z-index:100;animation:slide-in-up var(--duration-normal) var(--ease-out) both}.home-page__selector-option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--duration-fast) var(--ease-out)}.home-page__selector-option:hover{background:var(--surface-3);color:var(--ink-primary)}.home-page__selector-option--active{color:var(--accent)}.home-page__gateway-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);width:100%;margin-top:calc(-1 * var(--space-6))}.home-page__gateway-field{display:flex;flex-direction:column;gap:var(--space-1)}.home-page__gateway-label{font-size:var(--text-xs);color:var(--ink-tertiary)}.home-page__gateway-select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);color:var(--ink-primary);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.home-page__gateway-select:focus{outline:none;border-color:var(--accent)}.home-page__files{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%;margin-top:calc(-1 * var(--space-8))}.home-page__file-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--ink-secondary);max-width:200px}.home-page__file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-page__file-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:var(--radius-full);color:var(--ink-tertiary);cursor:pointer;flex-shrink:0}.home-page__file-remove:hover{background:var(--surface-3);color:var(--ink-primary)}.home-page__file-input{display:none}.home-page__composer{display:flex;align-items:center;width:100%;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);transition:border-color var(--duration-fast) var(--ease-out)}.home-page__composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.home-page__textarea{flex:1;resize:none;border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-primary);line-height:1.5;padding:var(--space-1) var(--space-2);min-height:24px}.home-page__textarea::placeholder{color:var(--ink-tertiary)}.home-page__tool-btn{flex-shrink:0;width:42px;height:42px;border-radius:var(--radius-full);border:none;background:transparent;color:var(--ink-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.home-page__tool-btn>svg{width:28px;height:28px}.home-page__tool-btn:hover:not(:disabled){color:var(--ink-primary);background:var(--surface-2)}.home-page__tool-btn:disabled{opacity:.35;cursor:default}.home-page__tool-btn--active{color:var(--error);background:var(--error-soft, rgba(239, 68, 68, .1))}.home-page__tool-btn--active:hover:not(:disabled){color:var(--error);background:var(--error-soft, rgba(239, 68, 68, .15))}.home-page__send-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;border-radius:var(--radius-full);background:var(--accent);color:var(--ink-inverse);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast) var(--ease-out)}.home-page__send-btn>svg{width:28px;height:28px}.home-page__send-icon{stroke-width:2.4}.home-page__send-btn:hover:not(:disabled){background:var(--accent-hover)}.home-page__send-btn:disabled{background:var(--accent-soft);color:var(--accent);cursor:default}.chat-composer{border-top:1px solid var(--border);background:var(--surface-1);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.chat-composer__settings-anchor{position:relative;display:flex;align-items:center;margin-left:calc(-1 * var(--space-2))}.chat-composer__tool-btn--sm{width:32px;height:32px;border-radius:var(--radius-full);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.chat-composer__tool-btn--sm>svg{width:18px;height:18px}.chat-composer__tool-btn--open{color:var(--ink-primary);background:var(--surface-2);transform:rotate(45deg)}.chat-composer__settings-menu{position:fixed;top:0;left:0;transform:translate(-50%,-100%);z-index:500;min-width:200px;max-height:280px;overflow-y:auto;background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 -4px 24px #00000040;padding:var(--space-1);animation:settings-slide-in var(--duration-fast) var(--ease-out)}@keyframes settings-slide-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 4px))}to{opacity:1;transform:translate(-50%,-100%)}}.chat-composer__settings-heading{display:block;font-size:var(--text-xs);font-weight:600;color:var(--ink-tertiary);padding:var(--space-2) var(--space-3) var(--space-1);text-transform:uppercase;letter-spacing:.04em}.chat-composer__settings-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);color:var(--ink-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.chat-composer__settings-item:hover{background:var(--surface-2);color:var(--ink-primary)}.chat-composer__settings-item--active{color:var(--accent)}.chat-composer__settings-item--active:hover{color:var(--accent-hover)}.chat-composer__settings-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.chat-composer__settings-item-default{font-size:.7em;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);opacity:.7}.chat-composer__files{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-1)}.chat-composer__file-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--ink-secondary);max-width:200px}.chat-composer__file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-composer__file-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:var(--radius-full);color:var(--ink-tertiary);cursor:pointer;flex-shrink:0}.chat-composer__file-remove:hover{background:var(--surface-3);color:var(--ink-primary)}.chat-composer__file-input{display:none}.chat-composer__input-area{display:flex;align-items:center;gap:var(--space-2);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-2) var(--space-3);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.chat-composer__input-area:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.chat-composer__textarea{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--ink-primary);resize:none;padding:var(--space-1) 0;min-height:24px;max-height:144px}.chat-composer__textarea::placeholder{color:var(--ink-tertiary)}.chat-composer__textarea:disabled{opacity:.5;cursor:not-allowed}.chat-composer__tool-btn{flex-shrink:0;width:42px;height:42px;border-radius:var(--radius-full);border:none;background:transparent;color:var(--ink-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.chat-composer__tool-btn>svg{width:28px;height:28px}.chat-composer__tool-btn:hover:not(:disabled){color:var(--ink-primary);background:var(--surface-2)}.chat-composer__tool-btn:disabled{opacity:.35;cursor:default}.chat-composer__tool-btn--active{color:var(--error);background:var(--error-soft, rgba(239, 68, 68, .1))}.chat-composer__tool-btn--active:hover:not(:disabled){color:var(--error);background:var(--error-soft, rgba(239, 68, 68, .15))}.chat-composer__btn{flex-shrink:0;width:42px;height:42px;border-radius:var(--radius-full);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.chat-composer__btn>svg{width:28px;height:28px}.chat-composer__btn--send{background:var(--accent);color:var(--ink-inverse)}.chat-composer__btn--send:hover:not(:disabled){background:var(--accent-hover)}.chat-composer__btn--send:disabled{opacity:.35;cursor:default}.chat-composer__btn--stop{background:var(--error);color:var(--ink-inverse)}.chat-composer__btn--stop:hover{background:var(--error);opacity:.85}.confirm-dialog__description{color:var(--ink-secondary);font-size:var(--text-sm);margin:0}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2)}.dropdown{position:relative;display:inline-flex}.dropdown__menu{position:absolute;top:100%;right:0;z-index:100;margin-top:var(--space-1);min-width:180px;background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1);animation:slide-in-up var(--duration-fast) var(--ease-out)}.dropdown__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);color:var(--ink-primary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out)}.dropdown__item:hover{background:var(--surface-2)}.dropdown__item--danger{color:var(--error)}.dropdown__item--danger:hover{background:var(--error-soft)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-1) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite}.skeleton--text{height:1em;width:100%;border-radius:var(--radius-sm)}.skeleton--circle{width:40px;height:40px;border-radius:50%}.skeleton--rect{width:100%;height:80px;border-radius:var(--radius-md)}.project-page{display:grid;grid-template-columns:260px 1fr;min-height:100%;transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1)}.project-page--sidebar-collapsed{grid-template-columns:48px 1fr}.project-page__sidebar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-right:1px solid var(--border);background:var(--surface-0);overflow-y:auto;overflow-x:hidden;min-width:0}.project-page--sidebar-collapsed .project-page__sidebar{padding:var(--space-2);align-items:center;gap:var(--space-2)}.project-page__sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.project-page--sidebar-collapsed .project-page__sidebar-header{justify-content:center}.project-page__project-name{font-family:var(--font-body);font-size:var(--text-base);font-weight:600;color:var(--ink-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-page__sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-tertiary);cursor:pointer;flex-shrink:0;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.project-page__sidebar-toggle:hover{color:var(--ink-secondary);background:var(--surface-2)}.project-page--sidebar-collapsed .project-page__project-name,.project-page--sidebar-collapsed .project-page__session-list,.project-page--sidebar-collapsed .project-page__member-strip,.project-page--sidebar-collapsed .project-page__sidebar-header .dropdown-menu{display:none}.project-page--sidebar-collapsed .project-page__sidebar>.btn{width:32px;height:32px;padding:0;justify-content:center;overflow:hidden}.project-page--sidebar-collapsed .project-page__sidebar>.btn .btn__label{display:none}.project-page__session-list{display:flex;flex-direction:column;gap:var(--space-1);flex:1;overflow-y:auto}.project-page__session-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.project-page__session-item:hover{background:var(--surface-2)}.project-page__session-item--active{background:var(--accent-soft)}.project-page__session-item-info{display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--ink-secondary)}.project-page__session-item--active .project-page__session-item-info{color:var(--accent)}.project-page__session-item-id{font-size:var(--text-xs);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-page__session-item-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.project-page__session-item-date{font-size:10px;color:var(--ink-tertiary)}.project-page__empty-hint{font-size:var(--text-xs);color:var(--ink-tertiary);margin:0;padding:var(--space-2);font-style:italic}.project-page__archive-section{display:flex;flex-direction:column;gap:var(--space-1)}.project-page__archive-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink-tertiary);font-size:var(--text-xs);font-family:var(--font-body);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.project-page__archive-toggle:hover{color:var(--ink-secondary);background:var(--surface-2)}.project-page__session-item--archived .project-page__session-item-info{opacity:.6}.project-page--sidebar-collapsed .project-page__archive-section{display:none}.project-page__member-strip{margin-top:auto;border-top:1px solid var(--border);padding-top:var(--space-3)}.project-page__member-strip-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink-secondary);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.project-page__member-strip-btn:hover{background:var(--surface-2);color:var(--ink-primary)}.project-page__avatar-stack{display:flex;align-items:center}.project-page__avatar-stack-item{position:relative;margin-left:-8px;border-radius:50%;outline:2px solid var(--surface-0)}.project-page__avatar-stack-item:first-child{margin-left:0}.project-page__avatar-overflow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--surface-3);color:var(--ink-tertiary);font-size:10px;font-weight:600;font-family:var(--font-body)}.project-page__member-count{flex:1;text-align:left}.project-page__member-strip-btn .icon{color:var(--ink-tertiary);transition:transform var(--duration-fast) var(--ease-out)}.project-page__member-strip-btn:hover .icon{transform:translate(2px)}.project-page__member-strip-private{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--ink-tertiary);font-size:var(--text-xs);font-family:var(--font-body)}.project-page--sidebar-collapsed .project-page__member-strip{display:none}.project-page__main{display:flex;flex-direction:column;min-height:100%;overflow:hidden;position:relative}.project-page__drop-overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);border:2px dashed var(--accent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-0) 85%,var(--accent));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--accent);font-size:var(--text-base);font-weight:500;pointer-events:none;animation:drop-overlay-in .15s var(--ease-out) both}.project-page__landing{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--space-8)}.project-page__landing-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.project-page__landing-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--ink-primary);margin:0}.project-page__landing-description{font-size:var(--text-sm);color:var(--ink-tertiary);margin:0}.members-dialog__subtitle{margin:0;font-size:var(--text-sm);color:var(--ink-tertiary)}.members-dialog__list{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow-y:auto;margin:0 calc(-1 * var(--space-6));padding:0 var(--space-6)}.members-dialog__row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;font-family:var(--font-body);text-align:left;color:var(--ink-primary);transition:background var(--duration-fast) var(--ease-out)}.members-dialog__row:hover{background:var(--surface-2)}.members-dialog__row--active{background:var(--accent-soft)}.members-dialog__row--active:hover{background:color-mix(in srgb,var(--accent-soft) 80%,var(--surface-2))}.members-dialog__row-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.members-dialog__row-name{font-size:var(--text-sm);font-weight:500;color:var(--ink-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-dialog__row-email{font-size:var(--text-xs);color:var(--ink-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-dialog__row-role{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-tertiary);flex-shrink:0}.members-dialog__toggle{position:relative;width:36px;height:20px;border-radius:10px;background:var(--surface-3);flex-shrink:0;transition:background var(--duration-normal) var(--ease-out)}.members-dialog__toggle--on{background:var(--accent)}.members-dialog__toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ink-primary);transition:transform var(--duration-normal) var(--ease-out)}.members-dialog__toggle--on .members-dialog__toggle-thumb{transform:translate(16px);background:var(--ink-inverse)}.members-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border)}@media(max-width:768px){.project-page,.project-page--sidebar-collapsed{grid-template-columns:1fr}.project-page__sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:300px}.project-page__sidebar-toggle{display:none}}.chat-bubble{position:relative;margin-bottom:var(--space-3)}.chat-bubble__time{display:block;font-size:var(--text-xs);color:var(--ink-tertiary);margin-top:var(--space-1)}.chat-bubble--user-self{display:flex;flex-direction:column;align-items:flex-end;max-width:70%;margin-left:auto}.chat-bubble__sender{font-size:var(--text-xs);font-weight:600;color:var(--ink-tertiary);margin:0 0 var(--space-1) 0}.chat-bubble--user-self .chat-bubble__content{background:var(--accent-soft);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:var(--space-3) var(--space-4)}.chat-bubble--user-self .chat-bubble__text,.chat-bubble--user-other .chat-bubble__text{margin:0;font-size:var(--text-base);line-height:1.55;color:var(--ink-primary);white-space:pre-wrap;word-break:break-word}.chat-bubble--user-self .chat-bubble__time{text-align:right}.chat-bubble--user-other{display:flex;gap:var(--space-3);max-width:85%}.chat-bubble--user-other .chat-bubble__content{background:var(--accent-soft);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm);padding:var(--space-3) var(--space-4)}.chat-bubble--assistant{display:flex;gap:var(--space-3);max-width:85%}.chat-bubble__avatar{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-top:var(--space-1)}.chat-bubble__body{min-width:0;max-width:max-content}.chat-bubble__bubble{background:var(--surface-1);border-radius:var(--radius-sm) var(--radius-xl) var(--radius-xl) var(--radius-xl);padding:var(--space-3) var(--space-4);width:fit-content}.chat-bubble__markdown{font-size:var(--text-base);line-height:1.6;color:var(--ink-secondary);word-break:break-word;overflow-wrap:break-word}.chat-bubble__thinking{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-tertiary)}.chat-bubble__markdown p{margin:0 0 var(--space-2) 0}.chat-bubble__markdown p:last-child{margin-bottom:0}.chat-bubble__markdown h1,.chat-bubble__markdown h2,.chat-bubble__markdown h3,.chat-bubble__markdown h4{margin:var(--space-4) 0 var(--space-2) 0;color:var(--ink-primary);font-family:var(--font-body);font-weight:600}.chat-bubble__markdown h1:first-child,.chat-bubble__markdown h2:first-child,.chat-bubble__markdown h3:first-child{margin-top:0}.chat-bubble__markdown h1{font-size:var(--text-xl)}.chat-bubble__markdown h2{font-size:var(--text-lg)}.chat-bubble__markdown h3{font-size:var(--text-base)}.chat-bubble__markdown code{font-family:var(--font-mono);font-size:.875em;background:var(--surface-2);padding:1px 5px;border-radius:var(--radius-sm)}.chat-bubble__markdown pre{background:var(--surface-3);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-2) 0;overflow-x:auto}.chat-bubble__markdown pre code{background:none;padding:0;font-size:var(--text-sm);line-height:1.5}.chat-bubble__markdown ul,.chat-bubble__markdown ol{margin:var(--space-2) 0;padding-left:var(--space-6)}.chat-bubble__markdown li{margin-bottom:var(--space-1)}.chat-bubble__markdown blockquote{border-left:3px solid var(--border-strong);margin:var(--space-2) 0;padding-left:var(--space-3);color:var(--ink-tertiary)}.chat-bubble__markdown a{color:var(--accent);text-decoration:underline}.chat-bubble__markdown a:hover{color:var(--accent-hover)}.chat-bubble__image-gallery{margin-top:var(--space-3);display:grid;gap:var(--space-3)}.chat-bubble__image-card{margin:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-0)}.chat-bubble__image-preview{display:block;width:100%;max-height:280px;object-fit:contain;background:var(--surface-2);min-height:120px;opacity:0;animation:chat-image-reveal .2s ease-out forwards}@keyframes chat-image-reveal{to{opacity:1}}.chat-bubble__image-caption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink-secondary)}.chat-bubble__image-download{color:var(--accent);text-decoration:underline;font-weight:500}.chat-bubble__meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.chat-bubble__model{font-size:var(--text-xs);color:var(--ink-tertiary);opacity:.7;letter-spacing:.01em}.chat-bubble__meta .chat-bubble__time{margin-top:0}.chat-bubble__cursor{display:inline-block;width:2px;height:1.1em;background:var(--accent);vertical-align:text-bottom;margin-left:2px;animation:bubble-cursor-blink 1s step-end infinite}@keyframes bubble-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.chat-bubble--system{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-2) var(--space-4)}.chat-bubble__system-text{font-size:var(--text-sm);color:var(--ink-tertiary);background:var(--surface-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);max-width:80%;word-break:break-word}.chat-bubble--tool-call,.chat-bubble--tool-result{max-width:85%;width:fit-content;margin-left:44px}.chat-bubble__tool-header{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--ink-secondary);font-size:var(--text-sm);font-family:var(--font-body);text-align:left;transition:background var(--duration-fast) var(--ease-out)}.chat-bubble__tool-header:hover{background:var(--surface-1)}.chat-bubble__tool-chevron{margin-left:auto;color:var(--ink-tertiary)}.chat-bubble__tool-body{background:var(--surface-3);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);padding:var(--space-3);margin:0;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5;color:var(--ink-secondary);overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.chat-bubble--tool-error .chat-bubble__tool-header{border-color:var(--error-soft);border-left:3px solid var(--error)}.chat-bubble--tool-error .chat-bubble__tool-body{border-color:var(--error-soft);border-left:3px solid var(--error);background:var(--error-soft)}.todo-card{width:100%;max-width:420px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);overflow:hidden}.todo-card__header{padding:var(--space-3) var(--space-4) var(--space-2)}.todo-card__title-row{display:flex;align-items:center;gap:var(--space-2);color:var(--ink-secondary);margin-bottom:var(--space-2)}.todo-card__title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--ink-primary);letter-spacing:.01em;flex:1}.todo-card__count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-tertiary);font-weight:500}.todo-card__track{height:2px;background:var(--surface-3);border-radius:1px;overflow:hidden}.todo-card__fill{height:100%;background:var(--accent);border-radius:1px;transition:width var(--duration-slow) var(--ease-out-expo);min-width:0}.todo-card__list{list-style:none;margin:0;padding:0}.todo-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-4);transition:background var(--duration-fast) var(--ease-out);border-top:1px solid var(--border)}.todo-item:first-child{border-top:1px solid var(--border)}.todo-item__check{flex-shrink:0;width:18px;height:18px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all var(--duration-normal) var(--ease-out)}.todo-item__check--pending{border:1.5px solid var(--border-strong);background:transparent}.todo-item__check--active{border:1.5px solid var(--accent);background:var(--accent-soft);position:relative}.todo-item__check--active:after{content:"";position:absolute;width:8px;height:8px;border-radius:var(--radius-full);background:var(--accent);animation:todo-pulse 2s var(--ease-out) infinite}@keyframes todo-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.todo-item__check--done{border:1.5px solid var(--success);background:var(--success-soft);color:var(--success)}.todo-item__text{flex:1;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5;color:var(--ink-primary);transition:color var(--duration-normal) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.todo-item--completed .todo-item__text{color:var(--ink-tertiary);text-decoration:line-through;text-decoration-color:var(--ink-tertiary);text-decoration-thickness:1px;opacity:.7}.todo-item--in_progress .todo-item__text{color:var(--ink-primary);font-weight:500}.todo-item__priority{flex-shrink:0;width:6px;height:6px;border-radius:var(--radius-full);margin-top:7px;transition:background var(--duration-fast) var(--ease-out)}.todo-item__priority--high{background:var(--accent)}.todo-item__priority--medium{background:var(--ink-tertiary)}.todo-item__priority--low{background:var(--surface-3)}.todo-item--completed .todo-item__priority{opacity:.3}.todo-card__footer{display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-3);border-top:1px solid var(--border)}.todo-card__stat{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em}.todo-card__stat--active{color:var(--accent)}.todo-card__stat--pending{color:var(--ink-tertiary)}.tool-group{max-width:85%;width:fit-content;margin-left:44px;margin-bottom:var(--space-3)}.tool-group__summary{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--ink-secondary);font-size:var(--text-sm);font-family:var(--font-body);text-align:left;transition:background var(--duration-fast) var(--ease-out)}.tool-group__summary:hover{background:var(--surface-1)}.tool-group__summary--expanded{border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none}.tool-group__label{flex:1;font-weight:500}.tool-group__chevron{color:var(--ink-tertiary)}.tool-group__list{border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;min-width:100%}.tool-pair{border-bottom:1px solid var(--border)}.tool-pair:last-child{border-bottom:none}.tool-pair__header{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--ink-secondary);font-size:var(--text-sm);font-family:var(--font-mono);width:100%;text-align:left;transition:background var(--duration-fast) var(--ease-out)}.tool-pair__header:hover{background:var(--surface-1)}.tool-pair__header--error{border-left:3px solid var(--error)}.tool-pair__status--success{color:var(--success, #22c55e)}.tool-pair__status--error{color:var(--error)}.tool-pair__status--pending{color:var(--ink-tertiary);animation:tool-spin 1s linear infinite}@keyframes tool-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tool-pair__name{flex:1}.tool-pair__chevron{color:var(--ink-tertiary)}.tool-pair__details{background:var(--surface-1);border-top:1px solid var(--border);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.tool-pair__section-label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.tool-pair__code{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);margin:0;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.5;color:var(--ink-secondary);overflow-x:auto;max-height:240px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.tool-pair__code--error{border-color:var(--error-soft);border-left:3px solid var(--error);background:var(--error-soft)}.tool-group--single{display:inline-flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.tool-group--single .tool-pair{border-bottom:none}.tool-group--single .tool-pair__header{padding:var(--space-2) var(--space-3)}.tool-group--single:has(.tool-pair--todo){border:none;background:none}.tool-pair--todo{border-bottom:none}.tool-pair__todo-header{display:flex;align-items:center;gap:var(--space-2);padding:0 0 var(--space-2);color:var(--ink-tertiary);font-size:var(--text-xs);font-family:var(--font-mono)}.tool-pair__todo-header .tool-pair__name{flex:1}.tool-pair__raw-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;cursor:pointer;color:var(--ink-tertiary);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.tool-pair__raw-toggle:hover{color:var(--ink-secondary);background:var(--surface-2)}.tool-pair__todo-body{margin-top:0}.tool-pair--todo .tool-pair__details{margin-top:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md)}.chat-feed{position:relative;flex:1;overflow-y:auto;overscroll-behavior:contain}.chat-feed__messages{padding:var(--space-6) var(--space-6) var(--space-4) var(--space-6);display:flex;flex-direction:column}.chat-feed__anchor{height:1px;flex-shrink:0}.chat-feed__new-messages{position:sticky;bottom:var(--space-3);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-1);margin:0 auto;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--accent);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-full, 9999px);box-shadow:0 2px 8px #0000001f;cursor:pointer;z-index:10;animation:chat-feed-pill-in .15s ease-out}.chat-feed__new-messages:hover{background:var(--surface-1)}@keyframes chat-feed-pill-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.chat-feed--loading{display:flex;align-items:flex-start;justify-content:center}.chat-feed__skeletons{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8) var(--space-6);width:100%}.chat-feed--empty{display:flex;align-items:center;justify-content:center}.segmented-control{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--surface-2);border-radius:var(--radius-full)}.segmented-control__option{padding:var(--space-1) var(--space-4);font-size:var(--text-sm);font-weight:500;font-family:var(--font-body);background:transparent;border:none;border-radius:var(--radius-full);color:var(--ink-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.segmented-control__option:hover:not(.segmented-control__option--active){color:var(--ink-secondary)}.segmented-control__option--active{background:var(--accent-soft);color:var(--accent);box-shadow:var(--shadow-xs)}.file-tree{display:flex;flex-direction:column;font-size:var(--text-sm)}.file-tree__row{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--ink-secondary);font-size:var(--text-sm);font-family:var(--font-body);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out)}.file-tree__row:hover{background:var(--surface-2);color:var(--ink-primary)}.file-tree__row--selected{background:var(--accent-soft);color:var(--accent)}.file-tree__row--selected:hover{background:var(--accent-soft)}.file-tree__spacer{display:inline-block;width:16px;flex-shrink:0}.file-tree__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree__tag{margin-left:auto;padding:0 var(--space-2);border-radius:999px;background:var(--surface-2);color:var(--ink-secondary);font-size:var(--text-xs);line-height:1.5;text-transform:uppercase;letter-spacing:.03em}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.code-editor{display:flex;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}.code-editor__gutter{display:flex;flex-direction:column;padding:var(--space-3) 0;background:var(--surface-2);border-right:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0}.code-editor__line-number{padding:0 var(--space-3);color:var(--ink-tertiary);text-align:right;min-width:40px;font-size:var(--text-xs);line-height:1.6}.code-editor__textarea{flex:1;padding:var(--space-3);background:transparent;border:none;color:var(--ink-primary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;resize:none;min-height:200px;outline:none;tab-size:2;white-space:pre;overflow-x:auto}.code-editor__textarea::placeholder{color:var(--ink-tertiary)}.file-pane{display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--surface-0);overflow:hidden;min-width:0}.file-pane--collapsed{align-items:center}.file-pane--collapsed .file-pane__body{display:none}.file-pane__expand-strip{display:none;padding-top:var(--space-3)}.file-pane--collapsed .file-pane__expand-strip{display:flex;align-items:flex-start;justify-content:center;flex:1}.file-pane__expand-btn{background:none;border:none;cursor:pointer;color:var(--ink-tertiary);padding:var(--space-2);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.file-pane__expand-btn:hover{color:var(--ink-secondary);background:var(--surface-2)}.file-pane__body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.file-pane__header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border);flex-shrink:0}.file-pane__header .segmented-control{flex:1}.file-pane__collapse-btn{background:none;border:none;cursor:pointer;color:var(--ink-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration-fast) var(--ease-out)}.file-pane__collapse-btn:hover{color:var(--ink-secondary)}.file-pane__tree{flex-shrink:0;max-height:40%;overflow-y:auto;border-bottom:1px solid var(--border)}.file-pane__editor{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.file-pane__editor-path{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-secondary);background:var(--surface-1);border-bottom:1px solid var(--border);flex-shrink:0;min-width:0}.file-pane__editor-path span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-pane__path-close-btn{margin-left:auto;border:none;background:transparent;color:var(--ink-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.file-pane__path-close-btn:hover{color:var(--ink-secondary);background:var(--surface-2)}.file-pane__editor-content{flex:1;min-height:0;overflow:auto}.file-pane__editor-content .code-editor{min-height:100%}.file-pane__preview{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--space-4);overflow:auto}.file-pane__preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.file-pane__preview-pdf{flex:1;width:100%;border:none}.file-pane__preview--binary{gap:var(--space-3);color:var(--ink-tertiary);text-align:center}.file-pane__preview-filename{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-secondary);word-break:break-all;margin:0}.file-pane__preview-hint{font-size:var(--text-sm);margin:0}.file-pane__editor-actions{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--border);flex-shrink:0}.file-pane__promote{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border);flex-shrink:0}.file-pane__promote .input-wrapper{margin-bottom:0}@media(max-width:767px){.file-pane:not(.file-pane--collapsed){position:fixed;inset:64px 0 0;z-index:100;width:100%;border-left:none;box-shadow:var(--shadow-xl)}}.session-page{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 320px;height:100dvh;gap:0;overflow-x:visible;overflow-y:hidden;position:relative;transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1)}.session-page--files-collapsed{grid-template-columns:1fr 44px}.session-page__header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-0);min-height:48px;flex-shrink:0}.session-page__header-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.session-page__header-right{display:flex;align-items:center;gap:var(--space-2)}.session-page__session-title{font-size:var(--text-sm);color:var(--ink-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.session-page__title-display{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.session-page__title-editor{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0}.session-page__title-input{min-width:180px;max-width:min(440px,55vw);border:1px solid var(--border);background:var(--surface-1);color:var(--ink-primary);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.session-page__drop-overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);border:2px dashed var(--accent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-0) 85%,var(--accent));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--accent);font-size:var(--text-base);font-weight:500;pointer-events:none;animation:drop-overlay-in .15s var(--ease-out) both}@keyframes drop-overlay-in{0%{opacity:0}to{opacity:1}}.session-page__chat{grid-column:1;grid-row:2;overflow:hidden;display:flex;flex-direction:column;min-height:0}.session-page__automation-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-muted);background:var(--surface-1);color:var(--ink-secondary);font-size:var(--text-sm)}.session-page__composer{grid-column:1;grid-row:3}.session-page__stream-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--error-soft);color:var(--error);font-size:var(--text-sm)}.session-page__files{grid-column:2;grid-row:2 / 4;overflow:hidden;display:flex;min-height:0}.session-page__files .file-pane{width:100%}@media(max-width:1023px){.session-page{grid-template-columns:1fr 44px}}@media(max-width:767px){.session-page{grid-template-columns:1fr}.session-page__files{grid-column:1;grid-row:2 / 4}.session-page__session-title{display:none}}.select-field{display:flex;flex-direction:column;gap:var(--space-1)}.select-field__label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--ink-primary)}.select-field__wrapper{position:relative;display:flex;align-items:center}.select-field__select{width:100%;padding:var(--space-2) var(--space-10) var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);color:var(--ink-primary);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);appearance:none;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.select-field__select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.select-field__select--error{border-color:var(--error)}.select-field__chevron{position:absolute;right:var(--space-3);display:flex;color:var(--ink-tertiary);pointer-events:none}.select-field__error{font-size:var(--text-xs);color:var(--error)}.select-field__hint{font-size:var(--text-xs);color:var(--ink-tertiary)}.textarea-field{display:flex;flex-direction:column;gap:var(--space-1)}.textarea-field__label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--ink-primary)}.textarea-field__textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-body);color:var(--ink-primary);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);resize:vertical;min-height:80px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.textarea-field__textarea::placeholder{color:var(--ink-tertiary)}.textarea-field__textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.textarea-field__textarea--error{border-color:var(--error)}.textarea-field__error{font-size:var(--text-xs);color:var(--error)}.textarea-field__hint{font-size:var(--text-xs);color:var(--ink-tertiary)}.automations-page{display:grid;grid-template-columns:280px 1fr;min-height:100%}.automations-page--loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--ink-secondary)}.automations-page__loading-icon{animation:spin 1.1s linear infinite}.automations-page__sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;padding:var(--space-5) 0 var(--space-4)}.automations-page__sidebar-title{margin:0;padding:0 var(--space-5);font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;color:var(--ink-primary);letter-spacing:-.01em}.automations-page__sidebar-items{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:2px}.automations-page__sidebar-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out);border-left:3px solid transparent}.automations-page__sidebar-item:hover{background:var(--surface-1)}.automations-page__sidebar-item--active{background:var(--surface-1);border-left-color:var(--accent)}.automations-page__sidebar-item-trigger{color:var(--ink-tertiary);display:flex;align-items:center}.automations-page__sidebar-item-body{min-width:0}.automations-page__sidebar-item-name{font-size:var(--text-sm);font-weight:500;color:var(--ink-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.automations-page__sidebar-item-meta{font-size:var(--text-xs);color:var(--ink-tertiary);margin-top:2px}.automations-page__sidebar-status{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.automations-page__sidebar-status--active{background:var(--success)}.automations-page__sidebar-status--paused{background:var(--warning)}.automations-page__sidebar-new{margin:0 var(--space-3);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border)}.automations-page__global-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16);text-align:center}.automations-page__global-empty-icon{color:var(--ink-tertiary);opacity:.5}.automations-page__global-empty h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--ink-primary)}.automations-page__global-empty p{margin:0;color:var(--ink-secondary);font-size:var(--text-sm);max-width:360px;line-height:1.6}.automations-page__editor{display:flex;flex-direction:column;min-height:0;overflow:hidden}.automations-page__editor-header{padding:var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.automations-page__editor-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--ink-primary);border:none;background:transparent;outline:none;padding:0;margin:0;width:100%;min-width:0;letter-spacing:-.01em}.automations-page__editor-name::placeholder{color:var(--ink-tertiary)}.automations-page__editor-actions{display:flex;gap:var(--space-2);flex-shrink:0}.automations-page__tabs{display:flex;gap:var(--space-1);padding:0 var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0}.automations-page__tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--ink-tertiary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);margin-bottom:-1px}.automations-page__tab:hover{color:var(--ink-secondary)}.automations-page__tab--active{color:var(--ink-primary);border-bottom-color:var(--accent)}.automations-page__tab-content{flex:1;overflow-y:auto;padding:var(--space-6)}.automations-page__section{margin-bottom:var(--space-8)}.automations-page__section:last-child{margin-bottom:0}.automations-page__section-label{font-size:var(--text-xs);font-weight:600;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--space-4)}.automations-page__field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.automations-page__field-row:last-child{margin-bottom:0}.automations-page__trigger-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.automations-page__trigger-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--ink-secondary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.automations-page__trigger-card:hover{border-color:var(--border-strong);background:var(--surface-1)}.automations-page__trigger-card--active{border-color:var(--accent);background:var(--accent-soft);color:var(--ink-primary)}.automations-page__trigger-card-label{font-size:var(--text-xs);font-weight:500}.automations-page__trigger-detail{margin-top:var(--space-3);display:grid;gap:var(--space-3)}.automations-page__advanced-toggle{display:flex;align-items:center;gap:var(--space-2);padding:0;margin:0 0 var(--space-4);border:none;background:none;color:var(--ink-tertiary);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.automations-page__advanced-toggle:hover{color:var(--ink-secondary)}.automations-page__advanced-toggle svg,.automations-page__mermaid-toggle svg{transition:transform var(--duration-fast) var(--ease-out)}.automations-page__advanced-toggle--open svg{transform:rotate(90deg)}.automations-page__checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-primary);cursor:pointer}.automations-page__checkbox input{width:16px;height:16px}.automations-page__advanced-body{display:grid;gap:var(--space-4)}.automations-page__danger{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--border)}.automations-page__danger-link{background:none;border:none;padding:0;color:var(--error);font-size:var(--text-sm);cursor:pointer;opacity:.7;transition:opacity var(--duration-fast) var(--ease-out)}.automations-page__danger-link:hover{opacity:1}.automations-page__goal{margin-bottom:var(--space-6)}.automations-page__timeline{position:relative;padding-left:var(--space-8)}.automations-page__timeline:before{content:"";position:absolute;left:11px;top:12px;bottom:52px;width:2px;background:var(--border)}.automations-page__timeline-step{position:relative;padding-bottom:var(--space-4)}.automations-page__timeline-step:last-child{padding-bottom:0}.automations-page__timeline-dot{position:absolute;left:calc(-1 * var(--space-8) + 4px);top:var(--space-3);width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;z-index:1}.automations-page__timeline-dot--action{background:var(--accent)}.automations-page__timeline-dot--review{background:var(--surface-0);border:2px solid var(--warning)}.automations-page__timeline-dot-num{font-size:9px;font-weight:700;color:var(--ink-inverse);line-height:1}.automations-page__timeline-dot--review .automations-page__timeline-dot-num{color:var(--warning);font-size:8px}.automations-page__step-card{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.automations-page__step-card--action{border-left:3px solid color-mix(in oklab,var(--accent) 40%,transparent)}.automations-page__step-card--review{border-left:3px solid color-mix(in oklab,var(--warning) 40%,transparent)}.automations-page__step-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);gap:var(--space-3)}.automations-page__step-card-header-left{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.automations-page__step-kind-badge{font-size:var(--text-xs);font-weight:500;padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.automations-page__step-kind-badge--action{background:var(--accent-soft);color:var(--accent)}.automations-page__step-kind-badge--review{background:var(--warning-soft);color:var(--warning)}.automations-page__step-title-input{border:none;background:transparent;font-size:var(--text-sm);font-weight:500;color:var(--ink-primary);padding:0;outline:none;min-width:0;flex:1}.automations-page__step-title-input::placeholder{color:var(--ink-tertiary)}.automations-page__step-card-body{padding:0 var(--space-4) var(--space-4);display:grid;gap:var(--space-3)}.automations-page__step-delete{opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.automations-page__step-card:hover .automations-page__step-delete{opacity:1}.automations-page__add-step{position:relative;padding-left:var(--space-8);margin-top:var(--space-2)}.automations-page__add-step-buttons{display:flex;gap:var(--space-2)}.automations-page__permissions{margin-top:var(--space-8)}.automations-page__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.automations-page__chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:transparent;color:var(--ink-secondary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none}.automations-page__chip:hover{border-color:var(--border-strong)}.automations-page__chip--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.automations-page__chip--skill{font-family:var(--font-mono);font-size:11px}.automations-page__chip-check{width:12px;height:12px}.automations-page__mermaid{margin-top:var(--space-8)}.automations-page__mermaid-toggle{display:flex;align-items:center;gap:var(--space-2);padding:0;border:none;background:none;color:var(--ink-tertiary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.automations-page__mermaid-toggle:hover{color:var(--ink-secondary)}.automations-page__mermaid-body{margin-top:var(--space-3)}.automations-page__mermaid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.automations-page__mermaid-code{margin:0;padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;max-height:240px;overflow:auto}.automations-page__runs-list{display:flex;flex-direction:column}.automations-page__run-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);margin:0 calc(-1 * var(--space-2));padding-left:var(--space-2);padding-right:var(--space-2);border-radius:var(--radius-sm)}.automations-page__run-row:last-child{border-bottom:none}.automations-page__run-row:hover{background:var(--surface-1)}.automations-page__run-status{display:flex;align-items:center;gap:var(--space-2)}.automations-page__run-status-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.automations-page__run-status-dot--completed{background:var(--success)}.automations-page__run-status-dot--running{background:var(--accent)}.automations-page__run-status-dot--awaiting_user_input{background:var(--warning)}.automations-page__run-status-dot--failed{background:var(--error)}.automations-page__run-status-dot--queued{background:var(--ink-tertiary)}.automations-page__run-status-label{font-size:var(--text-xs);font-weight:500;color:var(--ink-primary)}.automations-page__run-info{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--ink-secondary);min-width:0}.automations-page__run-info span{white-space:nowrap}.automations-page__run-time{font-size:var(--text-xs);color:var(--ink-tertiary);white-space:nowrap}.automations-page__run-link{color:var(--ink-tertiary);transition:color var(--duration-fast) var(--ease-out)}.automations-page__run-row:hover .automations-page__run-link{color:var(--accent)}.automations-page__runs-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--ink-tertiary)}.automations-page__runs-empty p{margin:var(--space-2) 0 0;font-size:var(--text-sm);max-width:280px;margin-left:auto;margin-right:auto;line-height:1.6}.automations-page__blank{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--ink-tertiary);padding:var(--space-16);text-align:center;flex:1}.automations-page__blank h3{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;color:var(--ink-secondary)}.automations-page__blank p{margin:0;font-size:var(--text-sm)}@media(max-width:960px){.automations-page{grid-template-columns:1fr}.automations-page__sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:240px}.automations-page__field-row,.automations-page__trigger-cards{grid-template-columns:1fr}.automations-page__run-row{grid-template-columns:auto 1fr auto}.automations-page__run-time{display:none}}.panel-component{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.panel-component--sm{padding:var(--space-3)}.panel-component--md{padding:var(--space-5)}.panel-component--lg{padding:var(--space-8)}.skills-page{display:flex;flex-direction:column;gap:var(--space-6)}.skills-page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.skills-page__title{font-size:var(--text-2xl);font-weight:600;color:var(--ink-primary);margin:0}.skills-page__ide{display:grid;grid-template-columns:30% 70%;gap:var(--space-4);min-height:500px}@media(max-width:768px){.skills-page__ide{grid-template-columns:1fr}}.skills-page__navigator,.skills-page__editor{display:flex;flex-direction:column;gap:var(--space-3)}.skills-page__editor-path{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-tertiary);padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm)}.skills-page__readonly-note{font-size:var(--text-sm);color:var(--ink-secondary);padding:var(--space-2) var(--space-3);background:var(--surface-2);border-radius:var(--radius-sm)}.skills-page__editor-actions{display:flex;gap:var(--space-2)}.skills-page__dialog-form{display:flex;flex-direction:column;gap:var(--space-4)}.users-page{display:flex;flex-direction:column;gap:var(--space-6)}.users-page__title{font-size:var(--text-2xl);font-weight:600;color:var(--ink-primary);margin:0 0 var(--space-4)}.users-page__invite-form{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.users-page__invite-form>*:first-child{flex:1;min-width:200px}.users-page__invite-form>*:nth-child(2){width:140px}.users-page__section-title{font-size:var(--text-lg);font-weight:600;color:var(--ink-primary);margin:0 0 var(--space-4)}.users-page__member-list{display:flex;flex-direction:column;gap:var(--space-1)}.users-page__member-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-out)}.users-page__member-row:hover{background:var(--surface-2)}.users-page__member-info{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.users-page__member-name{font-size:var(--text-sm);color:var(--ink-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-page__member-actions{display:flex;align-items:center;gap:var(--space-2)}.users-page__invitation-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md)}.users-page__invitation-row:hover{background:var(--surface-2)}.users-page__invitation-info{display:flex;align-items:center;gap:var(--space-3)}.users-page__invitation-email{font-size:var(--text-sm);color:var(--ink-secondary)}.int-page{display:flex;flex-direction:column;gap:var(--space-8);max-width:820px}.int-page__header{display:grid;gap:var(--space-1)}.int-page__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;color:var(--ink-primary);margin:0;line-height:1.1}.int-page__subtitle{font-size:var(--text-sm);color:var(--ink-secondary);margin:0}.int-categories{display:flex;flex-direction:column;gap:var(--space-10)}.int-category__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--ink-secondary)}.int-category__title{font-size:var(--text-xs);font-weight:600;color:var(--ink-secondary);margin:0;letter-spacing:.06em;text-transform:uppercase}.int-category__count{font-size:var(--text-xs);color:var(--ink-tertiary);margin-left:auto}.int-category__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.int-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-1);border:none;cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out);min-height:68px}.int-card:hover{background:var(--surface-2)}.int-card--skeleton{cursor:default;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.int-card__text{display:grid;gap:2px;min-width:0;flex:1}.int-card__name{font-size:var(--text-sm);font-weight:500;color:var(--ink-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.int-card__desc{font-size:var(--text-xs);color:var(--ink-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.int-card__arrow{color:var(--ink-tertiary);flex-shrink:0;opacity:0;transform:translate(-4px);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.int-card:hover .int-card__arrow{opacity:1;transform:translate(0)}.int-avatar{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;flex-shrink:0;letter-spacing:0}.int-back{display:inline-flex;align-items:center;gap:var(--space-2);background:none;border:none;color:var(--ink-secondary);font-size:var(--text-sm);cursor:pointer;padding:var(--space-1) 0;transition:color var(--duration-fast) var(--ease-out)}.int-back:hover{color:var(--ink-primary)}.int-detail{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-8);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg)}.int-detail__header{display:flex;align-items:center;gap:var(--space-4)}.int-detail__header .int-avatar{width:48px;height:48px;font-size:var(--text-lg);border-radius:var(--radius-lg)}.int-detail__header-text{display:grid;gap:var(--space-1)}.int-detail__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--ink-primary);margin:0;line-height:1.15}.int-detail__desc{font-size:var(--text-sm);color:var(--ink-secondary);margin:0}.int-detail__coming-soon{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-0)}.int-detail__coming-soon-badge{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);width:fit-content}.int-detail__coming-soon-text{font-size:var(--text-sm);color:var(--ink-secondary);margin:0;line-height:1.6}.int-detail__coming-soon-category{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-tertiary)}.int-detail__config{display:flex;flex-direction:column;gap:var(--space-4)}.int-detail__badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.int-detail__actions{display:flex;gap:var(--space-3)}.int-detail__status{font-size:var(--text-xs);color:var(--ink-tertiary);margin:0}.int-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}@media(max-width:540px){.int-category__grid{grid-template-columns:1fr}.int-detail{padding:var(--space-5)}.int-detail__header{flex-direction:column;align-items:flex-start}}.profile-page{display:grid;gap:var(--space-10);max-width:640px}.profile-header{display:flex;align-items:center;gap:var(--space-6)}.profile-header__avatar{width:72px;height:72px;font-size:1.6rem;flex-shrink:0}.profile-header__info{display:grid;gap:var(--space-1);min-width:0}.profile-header__name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--ink-primary);margin:0;line-height:1.15}.profile-header__email{font-size:var(--text-sm);color:var(--ink-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-header__meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.profile-section{display:grid;gap:var(--space-5)}.profile-section__header{display:grid;gap:var(--space-1)}.profile-section__title{font-size:var(--text-base);font-weight:600;color:var(--ink-primary);margin:0;letter-spacing:.02em;text-transform:uppercase;font-size:var(--text-xs)}.profile-section__description{font-size:var(--text-sm);color:var(--ink-tertiary);margin:0;line-height:1.5}.profile-section__divider{height:1px;background:var(--border);border:none;margin:0}.profile-form{display:grid;gap:var(--space-4)}.profile-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.profile-form__actions{display:flex;gap:var(--space-3);align-items:center;padding-top:var(--space-1)}.profile-invitations{display:grid;gap:var(--space-3)}.profile-invitations__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-0)}.profile-invitations__details{display:grid;gap:var(--space-1);min-width:0}.profile-invitations__workspace{margin:0;color:var(--ink-primary);font-size:var(--text-sm);font-weight:600}.profile-invitations__meta{display:flex;align-items:center;gap:var(--space-2);min-width:0}.profile-invitations__inviter{font-size:var(--text-xs);color:var(--ink-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-static-field{display:grid;gap:var(--space-1)}.profile-static-field__label{font-size:var(--text-sm);font-weight:500;color:var(--ink-secondary)}.profile-static-field__value{font-size:var(--text-sm);color:var(--ink-primary);padding:.55rem 0;border-bottom:1px solid var(--border)}.password-strength{display:grid;gap:var(--space-2)}.password-strength__bar{height:2px;background:var(--border);overflow:hidden}.password-strength__fill{height:100%;transition:width var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out)}.password-strength__fill[data-strength=weak]{width:33%;background:var(--error)}.password-strength__fill[data-strength=fair]{width:66%;background:var(--warning)}.password-strength__fill[data-strength=strong]{width:100%;background:var(--success)}.password-strength__label{font-size:var(--text-xs);color:var(--ink-tertiary)}.password-strength__label[data-strength=weak]{color:var(--error)}.password-strength__label[data-strength=fair]{color:var(--warning)}.password-strength__label[data-strength=strong]{color:var(--success)}@media(max-width:540px){.profile-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.profile-form__row{grid-template-columns:1fr}.profile-invitations__item{flex-direction:column;align-items:stretch}}.admin-page{display:flex;flex-direction:column;gap:var(--space-6)}.admin-page__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.admin-page__title{font-size:var(--text-2xl);font-weight:600;color:var(--ink-primary);margin:0}.admin-gw__layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-4);align-items:start}@media(max-width:840px){.admin-gw__layout{grid-template-columns:1fr}}.admin-gw__sidebar{position:sticky;top:var(--space-4)}.admin-gw__list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-1)}.admin-gw__list-count{font-size:var(--text-xs);color:var(--ink-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.admin-gw__list{display:flex;flex-direction:column;gap:2px}.admin-gw__list-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background var(--duration-fast) var(--ease-out)}.admin-gw__list-item:hover{background:var(--surface-2)}.admin-gw__list-item--active,.admin-gw__list-item--active:hover{background:var(--accent-soft)}.admin-gw__list-item-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.admin-gw__list-item-name{font-size:var(--text-sm);font-weight:500;color:var(--ink-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-gw__list-item-model{font-size:var(--text-xs);color:var(--ink-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-gw__detail{display:flex;flex-direction:column}.admin-gw__detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.admin-gw__detail-title{font-size:var(--text-lg);font-weight:600;color:var(--ink-primary);margin:0}.admin-gw__form{display:flex;flex-direction:column;gap:var(--space-6)}.admin-gw__fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.admin-gw__legend{font-size:var(--text-xs);font-weight:600;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:0;margin-bottom:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.admin-gw__actions{display:flex;gap:var(--space-2);padding-top:var(--space-2)}.admin-gw__models-active{display:flex;flex-direction:column;gap:1px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}.admin-gw__model-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-1);transition:background var(--duration-fast) var(--ease-out)}.admin-gw__model-row:hover,.admin-gw__model-row--default{background:var(--surface-2)}.admin-gw__model-row-info{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.admin-gw__model-row-name{font-size:var(--text-sm);font-weight:500;color:var(--ink-primary);white-space:nowrap}.admin-gw__model-row-id{font-size:var(--text-xs);color:var(--ink-tertiary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.admin-gw__model-row-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);white-space:nowrap;flex-shrink:0}.admin-gw__model-row-badge--legacy{background:var(--warning-soft);color:var(--warning)}.admin-gw__model-row-controls{display:flex;align-items:center;gap:2px;flex-shrink:0}.admin-gw__model-move{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;color:var(--ink-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.admin-gw__model-remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--surface-3);color:var(--ink-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.admin-gw__model-move:hover:not(:disabled){color:var(--ink-primary);background:var(--surface-3)}.admin-gw__model-move:disabled{opacity:.25;cursor:default}.admin-gw__model-remove:hover{color:var(--error);background:var(--error-soft)}.admin-gw__models-add{display:flex;flex-direction:column;gap:var(--space-2)}.admin-gw__models-add-label{font-size:var(--text-xs);font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.04em}.admin-gw__models-add-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-gw__model-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px dashed var(--border-strong);border-radius:var(--radius-full);background:none;color:var(--ink-secondary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap}.admin-gw__model-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);border-style:solid}.admin-gw__models-empty-msg{margin:0;font-size:var(--text-sm);color:var(--ink-tertiary)}.admin-gw__default-model{display:flex;flex-direction:column;gap:var(--space-1);max-width:400px}.admin-gw__default-model-hint{font-size:var(--text-xs);color:var(--ink-tertiary)}.admin-orgs{display:flex;flex-direction:column;gap:var(--space-4)}.admin-orgs__section-title{font-size:var(--text-base);font-weight:600;color:var(--ink-primary);margin:0 0 var(--space-3)}.admin-orgs__inline-form{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.admin-orgs__inline-form>*{flex:1;min-width:160px}.admin-orgs__inline-form>button{flex:0}.admin-orgs__edit-form{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.admin-orgs__edit-form>*{flex:1;min-width:160px}.admin-orgs__edit-form>button{flex:0}.observability-page{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--space-8)}.observability-page__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;animation:fade-in var(--duration-slow) var(--ease-out) both}.observability-page__icon{color:var(--ink-tertiary);opacity:.6}.observability-page__heading{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--ink-primary);margin:0}.observability-page__subtext{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:0}.observability-page__description{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-secondary);margin:var(--space-2) 0 0;max-width:320px;line-height:1.6}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2.25rem;--font-display: "Instrument Serif", Georgia, serif;--font-body: "Outfit", sans-serif;--font-mono: "JetBrains Mono", monospace;--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .35s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}:root,[data-theme=dark]{--surface-0: #08090A;--surface-1: #0F1012;--surface-2: #1A1B1E;--surface-3: #222326;--ink-primary: #F0EDE8;--ink-secondary: #9B9A97;--ink-tertiary: #6B6B6B;--ink-inverse: #08090A;--accent: #C9A84C;--accent-hover: #D4B65E;--accent-soft: rgba(201, 168, 76, .15);--success: #4CAF7C;--success-soft: rgba(76, 175, 124, .15);--warning: #D4A853;--warning-soft: rgba(212, 168, 83, .15);--error: #D45C5C;--error-soft: rgba(212, 92, 92, .15);--border: #222326;--border-strong: #333538;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .4);--shadow-xl: 0 32px 80px rgba(0, 0, 0, .5);--focus-ring: rgba(201, 168, 76, .3);color-scheme:dark}[data-theme=light]{--surface-0: #FAFAF8;--surface-1: #F3F2EF;--surface-2: #EAEAE6;--surface-3: #DDDDD8;--ink-primary: #1A1A18;--ink-secondary: #5C5C58;--ink-tertiary: #8A8A85;--ink-inverse: #FAFAF8;--accent: #A68B3C;--accent-hover: #8C7530;--accent-soft: rgba(166, 139, 60, .12);--success: #3D8F64;--success-soft: rgba(61, 143, 100, .12);--warning: #B58F3E;--warning-soft: rgba(181, 143, 62, .12);--error: #C04444;--error-soft: rgba(192, 68, 68, .12);--border: #DDDDD8;--border-strong: #C5C5BF;--shadow-xs: 0 1px 2px rgba(26, 26, 24, .04);--shadow-sm: 0 2px 8px rgba(26, 26, 24, .06);--shadow-md: 0 8px 24px rgba(26, 26, 24, .08);--shadow-lg: 0 20px 60px rgba(26, 26, 24, .12);--shadow-xl: 0 32px 80px rgba(26, 26, 24, .16);--focus-ring: rgba(166, 139, 60, .25);color-scheme:light}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{color:var(--ink-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;background:var(--surface-0)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;color:var(--ink-primary);line-height:1.2}h1{font-size:clamp(1.8rem,2vw + 1rem,2.8rem)}h2{font-size:clamp(1.5rem,1.6vw + .8rem,2.1rem)}h3{font-size:clamp(1.2rem,1vw + .8rem,1.5rem)}h4{font-size:var(--text-lg)}p{color:var(--ink-secondary)}small{font-size:var(--text-sm);color:var(--ink-tertiary)}code,pre{font-family:var(--font-mono)}.page{display:grid;gap:clamp(1rem,2vw,2rem);padding:clamp(1rem,2.8vw,2.4rem)}.page-login{min-height:100vh;place-items:center}.stack{display:grid;gap:var(--space-4)}.stack--sm{gap:var(--space-2)}.stack--lg{gap:var(--space-6)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.grid-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.login-card{width:min(560px,94vw);display:grid;gap:1rem;background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:clamp(1rem,4vw,2.2rem)}.shell-header{display:grid;grid-template-columns:1fr auto;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.header-actions{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap}.shell-nav{display:flex;gap:.55rem;flex-wrap:wrap}.shell-nav a{text-decoration:none;color:var(--ink-secondary);border:1px solid var(--border);border-radius:var(--radius-full);padding:.45rem .8rem;transition:all var(--duration-fast) var(--ease-out)}.shell-nav a.active{color:var(--ink-primary);border-color:var(--accent);background:var(--accent-soft)}.shell-content{display:grid;gap:1rem}.panel{display:grid;gap:.85rem;background:var(--surface-1);border:1px solid var(--border);padding:clamp(.9rem,1.5vw,1.3rem)}.panel-split{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:1rem;align-items:start}.form,.inline-form{display:grid;gap:.75rem}.inline-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}label{display:grid;gap:.35rem;font-weight:500}input,select,textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--border);background:var(--surface-0);color:var(--ink-primary);border-radius:0}textarea{resize:vertical;min-height:8rem}button{background:var(--ink-primary);color:var(--surface-0);border:1px solid var(--border-strong);padding:.58rem .88rem;cursor:pointer;border-radius:0}button:hover{opacity:.9}button:disabled{opacity:.64;cursor:wait}.button-row{display:flex;flex-wrap:wrap;gap:.55rem}.role-pill{display:inline-flex;align-items:center;padding:.35rem .7rem;border:1px solid var(--border);background:var(--accent-soft);border-radius:var(--radius-full);font-size:var(--text-sm)}.sub-list{display:grid;gap:.4rem}.list{display:grid;gap:.8rem}.path-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.linkish{text-align:left;background:var(--accent-soft);color:var(--ink-primary);border-color:var(--accent)}.row-inline{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.row-check{display:flex;gap:.45rem;align-items:center}.row-check input{width:auto}.chat-feed{display:grid;gap:.7rem}.chat-bubble pre{white-space:pre-wrap;margin:0;line-height:1.42;font-size:var(--text-sm)}.segmented{display:flex;gap:.4rem}.chip{background:transparent;border:1px solid var(--border);color:var(--ink-secondary)}.chip.active{color:var(--ink-primary);background:var(--accent-soft)}@media(max-width:960px){.panel-split,.grid-split,.inline-form,.shell-header,.grid-two{grid-template-columns:1fr}}.muted{color:var(--ink-secondary);margin:0}.error{color:var(--error);margin:0}.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}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reveal{animation:reveal .42s var(--ease-out) both}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(3%,1%)}30%{transform:translate(-1%,2%)}40%{transform:translate(2%,-2%)}50%{transform:translate(-3%,3%)}60%{transform:translate(1%,-1%)}70%{transform:translate(-2%,2%)}80%{transform:translate(3%,-3%)}90%{transform:translate(-1%,1%)}}
