.ui-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:var(--control-height-md);padding:0 var(--control-padding-md);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-semibold);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-btn__content{display:inline-flex;align-items:center;gap:var(--space-6);min-width:0}.ui-btn__label{overflow:hidden;text-overflow:ellipsis}.ui-btn--sm{height:var(--control-height-sm);padding:0 var(--control-padding-sm);font-size:var(--text-md);line-height:var(--leading-md);border-radius:var(--radius-sm)}.ui-btn--lg{height:var(--control-height-lg);padding:0 var(--control-padding-lg);font-size:var(--text-lg);line-height:var(--leading-lg)}.ui-btn--block{display:flex;width:100%}.ui-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-md);height:var(--control-height-md);border:1px solid transparent;border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-icon-btn--sm{width:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-sm)}.ui-icon-btn--lg{width:var(--control-height-lg);height:var(--control-height-lg)}.ui-icon-btn--round{border-radius:var(--radius-full)}.ui-btn--primary{background:var(--color-accent);color:var(--color-text-on-accent)}.ui-btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.ui-btn--primary:active:not(:disabled){background:var(--color-accent-active)}.ui-btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.ui-btn--secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-disabled)}.ui-btn--secondary:active:not(:disabled){background:var(--color-surface-active)}.ui-btn--ghost{background:transparent;color:var(--color-text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.ui-btn--ghost:active:not(:disabled){background:var(--color-surface-active)}.ui-btn--danger{background:var(--color-danger);color:#fff}.ui-btn--danger:hover:not(:disabled){background:var(--color-danger-hover)}.ui-btn--link{height:auto;padding:0;background:none;color:var(--color-accent-text);border-radius:var(--radius-xs)}.ui-btn--link:hover:not(:disabled){text-decoration:underline}.ui-btn:disabled{cursor:not-allowed;background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text-disabled)}.ui-btn--ghost:disabled,.ui-btn--link:disabled{background:transparent}.ui-btn.is-loading{cursor:progress}.ui-btn.is-loading .ui-btn__content{visibility:hidden}.ui-btn__spinner{position:absolute;width:15px;height:15px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.85;animation:ui-btn-spin .7s linear infinite}@keyframes ui-btn-spin{to{transform:rotate(360deg)}}.ui-icon-btn.is-active{background:var(--color-accent-subtle);color:var(--color-accent-text)}.ui-icon-btn:disabled{cursor:not-allowed;background:transparent;color:var(--color-text-disabled)}.ui-btn-group{display:inline-flex}.ui-btn-group>.ui-btn:not(:first-child),.ui-btn-group>.ui-icon-btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.ui-btn-group>.ui-btn:not(:last-child),.ui-btn-group>.ui-icon-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.ui-btn-group>.ui-btn:hover,.ui-btn-group>.ui-icon-btn:hover,.ui-btn-group>.ui-btn:focus-visible,.ui-btn-group>.ui-icon-btn:focus-visible{z-index:1}.ui-field{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.ui-field__label{font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.ui-field__required{margin-left:2px;color:var(--color-danger-text)}.ui-field__hint{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted)}.ui-field__error{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-danger-text)}.ui-field__error svg{flex-shrink:0}.ui-control{display:flex;align-items:center;gap:var(--space-8);height:var(--control-height-md);padding:0 var(--space-12);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.ui-control--sm{height:var(--control-height-sm);padding:0 var(--space-8);border-radius:var(--radius-sm)}.ui-control--lg{height:var(--control-height-lg);padding:0 var(--space-16)}.ui-control:hover:not(.is-disabled){border-color:var(--color-text-disabled)}.ui-control:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.ui-control.is-invalid{border-color:var(--color-danger)}.ui-control.is-invalid:focus-within{box-shadow:0 0 0 3px var(--color-danger-subtle)}.ui-control.is-disabled{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-disabled);cursor:not-allowed}.ui-control__input{flex:1;min-width:0;height:100%;font-size:var(--text-base);line-height:var(--leading-base);color:inherit;background:none;border:none;outline:none}.ui-control--sm .ui-control__input{font-size:var(--text-md)}.ui-control--lg .ui-control__input{font-size:var(--text-lg)}.ui-control__input::placeholder{color:var(--color-text-muted)}.ui-control__input:disabled{cursor:not-allowed}.ui-control__icon{flex-shrink:0;color:var(--color-text-muted)}.ui-control:focus-within .ui-control__icon{color:var(--color-text-secondary)}.ui-control__addon{display:flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);font-size:var(--text-md)}.ui-control:has(>.ui-control__addon>.ui-icon-btn--sm){padding-right:calc((var(--control-height-md) - 2px - var(--control-height-sm)) / 2)}.ui-control--lg:has(>.ui-control__addon>.ui-icon-btn--sm){padding-right:calc((var(--control-height-lg) - 2px - var(--control-height-sm)) / 2)}.ui-control--textarea{display:block;height:auto;padding:var(--space-8) var(--space-12)}.ui-control--textarea .ui-control__input{display:block;width:100%;height:auto;padding:0;resize:vertical;font-family:inherit}.ui-control__input--auto{resize:none;overflow-y:hidden}.ui-control--select{position:relative;padding-right:var(--space-8)}.ui-control--select .ui-control__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:var(--space-24)}.ui-control__chevron{position:absolute;right:var(--space-8);pointer-events:none;color:var(--color-text-muted)}.ui-control--select.is-disabled .ui-control__input{cursor:not-allowed}.ui-control__input--search::-webkit-search-cancel-button,.ui-control__input--search::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ui-control__clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);color:var(--color-text-muted);transition:background-color var(--duration-fast) var(--ease-standard)}.ui-control__clear:hover{background:var(--color-surface-active);color:var(--color-text)}.ui-select{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);width:100%;height:var(--control-height-md);padding:0 var(--space-8) 0 var(--space-12);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-base);text-align:left;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.ui-select--sm{height:var(--control-height-sm);padding:0 var(--space-6) 0 var(--space-8);border-radius:var(--radius-sm);font-size:var(--text-md)}.ui-select--lg{height:var(--control-height-lg);padding:0 var(--space-12) 0 var(--space-16);font-size:var(--text-lg)}.ui-select:hover:not(:disabled){border-color:var(--color-text-disabled)}.ui-select:focus-visible,.ui-select.is-open{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.ui-select.is-invalid{border-color:var(--color-danger)}.ui-select:disabled{cursor:not-allowed;background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-disabled)}.ui-select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select__value.is-placeholder{color:var(--color-text-muted)}.ui-select__chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-standard)}.ui-select.is-open .ui-select__chevron{transform:rotate(180deg)}.ui-select__panel{position:fixed;z-index:var(--z-dropdown);max-width:min(360px,calc(100vw - 16px));max-height:min(60vh,360px);overflow-y:auto;padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);outline:none;animation:ui-select-in var(--duration-fast) var(--ease-out)}@keyframes ui-select-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.ui-select__option{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);font-size:var(--text-base);line-height:var(--leading-base);color:var(--color-text);text-align:left}.ui-select__option.is-active:not(:disabled){background:var(--color-surface-hover)}.ui-select__option.is-selected{font-weight:var(--weight-semibold)}.ui-select__option:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-select__option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ui-select__option-description{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);font-weight:var(--weight-regular)}.ui-select__check{flex-shrink:0;color:var(--color-accent-text)}.ui-toggle{display:flex;align-items:flex-start;gap:var(--space-8)}.ui-toggle__box{position:relative;display:inline-flex;flex-shrink:0;width:18px;height:18px;margin-top:1px}.ui-toggle__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ui-toggle__mark{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:transparent;pointer-events:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-toggle--radio .ui-toggle__mark{border-radius:var(--radius-full)}.ui-toggle__input:hover+.ui-toggle__mark{border-color:var(--color-accent)}.ui-toggle__input:checked+.ui-toggle__mark,.ui-toggle__input:indeterminate+.ui-toggle__mark{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-on-accent)}.ui-toggle--radio .ui-toggle__input:checked+.ui-toggle__mark{background:var(--color-surface);border-width:5px;border-color:var(--color-accent)}.ui-toggle__input:focus-visible+.ui-toggle__mark{outline:2px solid var(--color-focus);outline-offset:2px}.ui-toggle.is-disabled .ui-toggle__mark,.ui-toggle__input:disabled+.ui-toggle__mark{background:var(--color-surface-sunken);border-color:var(--color-border)}.ui-toggle__input:disabled:checked+.ui-toggle__mark{background:var(--color-text-disabled);border-color:var(--color-text-disabled)}.ui-toggle__input:disabled{cursor:not-allowed}.ui-toggle__text{display:flex;flex-direction:column;gap:1px;min-width:0;cursor:pointer}.ui-toggle__label{font-size:var(--text-base);line-height:var(--leading-base);color:var(--color-text)}.ui-toggle__description{font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-muted)}.ui-toggle.is-disabled .ui-toggle__label,.ui-switch.is-disabled .ui-toggle__label{color:var(--color-text-disabled)}.ui-toggle.is-disabled .ui-toggle__text,.ui-switch.is-disabled .ui-toggle__text{cursor:not-allowed}.ui-switch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16)}.ui-switch__track{position:relative;display:inline-flex;align-items:center;flex-shrink:0;width:38px;height:22px;padding:2px;background:var(--color-border-strong);border-radius:var(--radius-full);transition:background-color var(--duration-base) var(--ease-standard)}.ui-switch__thumb{width:18px;height:18px;background:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-xs);pointer-events:none;transition:transform var(--duration-base) var(--ease-standard)}.ui-switch__track:has(.ui-toggle__input:checked){background:var(--color-accent)}.ui-toggle__input:checked~.ui-switch__thumb{transform:translate(16px)}.ui-switch__track:has(.ui-toggle__input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.ui-switch__track:has(.ui-toggle__input:disabled){background:var(--color-border)}.ui-switch__track:has(.ui-toggle__input:disabled:checked){background:var(--color-text-disabled)}.ui-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible;background:var(--color-surface-sunken);color:var(--color-text-secondary);font-weight:var(--weight-semibold);-webkit-user-select:none;user-select:none}.ui-avatar--circle{border-radius:var(--radius-full)}.ui-avatar--square{border-radius:var(--radius-lg)}.ui-avatar--xs{width:24px;height:24px;font-size:var(--text-xs)}.ui-avatar--sm{width:32px;height:32px;font-size:var(--text-sm)}.ui-avatar--md{width:40px;height:40px;font-size:var(--text-base)}.ui-avatar--lg{width:48px;height:48px;font-size:var(--text-lg)}.ui-avatar--xl{width:72px;height:72px;font-size:var(--text-2xl)}.ui-avatar--xs.ui-avatar--square{border-radius:var(--radius-sm)}.ui-avatar--sm.ui-avatar--square{border-radius:var(--radius-md)}.ui-avatar__image{width:100%;height:100%;object-fit:cover;border-radius:inherit}.ui-avatar__initials{letter-spacing:.01em}.ui-avatar--tone-0{background:light-dark(#dfe8f7,#23334a);color:light-dark(#1d4d8c,#a8c6ee)}.ui-avatar--tone-1{background:light-dark(#dcece2,#1c3328);color:light-dark(#1c6340,#8ecbaa)}.ui-avatar--tone-2{background:light-dark(#f3e3dd,#3a2721);color:light-dark(#95492c,#e3a88d)}.ui-avatar--tone-3{background:light-dark(#e6e2f2,#2b2740);color:light-dark(#4e409b,#b7aeea)}.ui-avatar--tone-4{background:light-dark(#f6e5ec,#3a2430);color:light-dark(#8f3a5d,#e79fbb)}.ui-avatar--tone-5{background:light-dark(#e2eaee,#22303a);color:light-dark(#2b5a70,#9cc4d6)}.ui-avatar--more{background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-sm)}.ui-avatar__presence{position:absolute;right:-1px;bottom:-1px;width:30%;height:30%;min-width:8px;min-height:8px;border-radius:var(--radius-full);border:2px solid var(--color-surface);box-sizing:content-box}.ui-avatar__presence--online{background:var(--color-presence-online)}.ui-avatar__presence--away{background:var(--color-presence-away)}.ui-avatar__presence--offline{background:var(--color-presence-offline)}.ui-avatar-group{display:inline-flex;align-items:center}.ui-avatar-group>.ui-avatar{border:2px solid var(--color-surface);box-sizing:content-box}.ui-avatar-group>.ui-avatar:not(:first-child){margin-left:-10px}.ui-avatar-group--xs>.ui-avatar:not(:first-child){margin-left:-8px}.ui-avatar-group--md>.ui-avatar:not(:first-child){margin-left:-12px}.ui-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);font-size:var(--text-xs);line-height:1;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.ui-badge--accent{background:var(--color-accent);color:var(--color-text-on-accent)}.ui-badge--neutral{background:var(--color-surface-active);color:var(--color-text-secondary)}.ui-badge--danger{background:var(--color-danger);color:#fff}.ui-badge.is-muted{background:var(--color-text-disabled);color:var(--color-surface)}.ui-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.ui-dot--neutral{background:var(--color-text-muted)}.ui-dot--accent{background:var(--color-accent)}.ui-dot--success{background:var(--color-success)}.ui-dot--warning{background:var(--color-warning)}.ui-dot--danger{background:var(--color-danger)}.ui-tag{display:inline-flex;align-items:center;gap:var(--space-4);height:24px;padding:0 var(--space-8);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);white-space:nowrap}.ui-tag--sm{height:20px;padding:0 var(--space-6);font-size:var(--text-xs)}.ui-tag--neutral{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-secondary)}.ui-tag--accent{background:var(--color-accent-subtle);border-color:var(--color-accent-border);color:var(--color-accent-text)}.ui-tag--success{background:var(--color-success-subtle);border-color:var(--color-success-border);color:var(--color-success-text)}.ui-tag--warning{background:var(--color-warning-subtle);border-color:var(--color-warning-border);color:var(--color-warning-text)}.ui-tag--danger{background:var(--color-danger-subtle);border-color:var(--color-danger-border);color:var(--color-danger-text)}.ui-tag__dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.ui-tag__remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:-3px;border-radius:var(--radius-full);color:inherit;opacity:.7}.ui-tag__remove:hover{opacity:1;background:#00000014}.ui-spinner{display:inline-block;border-style:solid;border-color:currentColor;border-top-color:transparent;border-radius:50%;opacity:.7;animation:ui-spin .7s linear infinite;flex-shrink:0}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-divider{border:none;border-top:1px solid var(--color-border);width:100%}.ui-divider-v{display:inline-block;width:1px;align-self:stretch;min-height:16px;background:var(--color-border)}.ui-divider-labeled{display:flex;align-items:center;gap:var(--space-12);color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-sm)}.ui-divider-labeled:before,.ui-divider-labeled:after{content:"";flex:1;border-top:1px solid var(--color-border)}.ui-skeleton{display:block;position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-skeleton)}.ui-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--color-skeleton-shine),transparent);animation:ui-skeleton-shine 1.4s ease-in-out infinite}.ui-skeleton--circle{border-radius:var(--radius-full)}@keyframes ui-skeleton-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ui-banner{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-12) var(--space-16);border:1px solid;border-radius:var(--radius-lg);font-size:var(--text-base);line-height:var(--leading-base)}.ui-banner__icon{flex-shrink:0;margin-top:1px}.ui-banner__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ui-banner__title{font-weight:var(--weight-semibold)}.ui-banner__text{color:var(--color-text-secondary);font-size:var(--text-md);line-height:var(--leading-md)}.ui-banner__actions{display:flex;align-items:center;gap:var(--space-8);flex-shrink:0}.ui-banner__dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:-2px -4px 0 0;border-radius:var(--radius-sm);color:var(--color-text-muted);flex-shrink:0}.ui-banner__dismiss:hover{background:var(--color-surface-hover);color:var(--color-text)}.ui-banner--neutral{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text)}.ui-banner--neutral .ui-banner__icon{color:var(--color-text-muted)}.ui-banner--accent{background:var(--color-accent-subtle);border-color:var(--color-accent-border);color:var(--color-text)}.ui-banner--accent .ui-banner__icon{color:var(--color-accent-text)}.ui-banner--success{background:var(--color-success-subtle);border-color:var(--color-success-border);color:var(--color-text)}.ui-banner--success .ui-banner__icon{color:var(--color-success-text)}.ui-banner--warning{background:var(--color-warning-subtle);border-color:var(--color-warning-border);color:var(--color-text)}.ui-banner--warning .ui-banner__icon{color:var(--color-warning-text)}.ui-banner--danger{background:var(--color-danger-subtle);border-color:var(--color-danger-border);color:var(--color-text)}.ui-banner--danger .ui-banner__icon{color:var(--color-danger-text)}@media(max-width:560px){.ui-banner{flex-wrap:wrap}.ui-banner__actions{width:100%;padding-left:30px}}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-40) var(--space-24);text-align:center}.ui-empty__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:var(--space-4);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted)}.ui-empty__title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.ui-empty__description{max-width:42ch;color:var(--color-text-muted);font-size:var(--text-md);line-height:var(--leading-md)}.ui-empty__action{margin-top:var(--space-8)}.ui-quote{display:flex;align-items:flex-start;gap:var(--space-6);width:100%;padding:var(--space-6);border:none;border-left:2px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-wash);text-align:left;min-width:0}.ui-quote--compact{padding:var(--space-4) var(--space-6)}.ui-quote__icon{flex-shrink:0;margin-top:1px;color:var(--color-text-muted)}.ui-quote__body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.ui-quote--compact .ui-quote__body{flex-direction:row;align-items:baseline;gap:var(--space-6)}.ui-quote__author{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-semibold);color:var(--color-accent-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-quote__text{font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ui-quote--compact .ui-quote__text{white-space:nowrap;-webkit-line-clamp:1}.ui-quote--interactive{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard)}.ui-quote--interactive:hover{background:var(--color-wash-strong)}.ui-progress{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.ui-progress__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-8)}.ui-progress__label{font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-progress__hint{flex-shrink:0;font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.ui-progress__track{position:relative;height:6px;overflow:hidden;background:var(--color-surface-active);border-radius:var(--radius-full)}.ui-progress--sm .ui-progress__track{height:4px}.ui-progress__fill{width:100%;height:100%;transform-origin:left center;background:var(--color-accent);transition:transform var(--duration-slow) var(--ease-out)}.ui-progress__track--success .ui-progress__fill{background:var(--color-success)}.ui-progress__track--danger .ui-progress__fill{background:var(--color-danger)}.ui-progress__fill.is-indeterminate{width:40%;transform-origin:center;animation:ui-progress-slide 1.2s var(--ease-standard) infinite}@keyframes ui-progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.ui-typing{display:inline-flex;align-items:center;gap:var(--space-6);color:var(--color-accent-text);font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-medium)}.ui-typing__dots{display:inline-flex;align-items:center;gap:3px}.ui-typing__dots i{width:5px;height:5px;border-radius:var(--radius-full);background:currentColor;animation:ui-typing-bounce 1.1s var(--ease-standard) infinite}.ui-typing__dots i:nth-child(2){animation-delay:.15s}.ui-typing__dots i:nth-child(3){animation-delay:.3s}@keyframes ui-typing-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.ui-menu{position:fixed;z-index:var(--z-dropdown);min-width:200px;max-width:320px;max-height:min(70vh,480px);overflow-y:auto;padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);outline:none;animation:ui-menu-in var(--duration-fast) var(--ease-out)}@keyframes ui-menu-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.ui-menu__item{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);font-size:var(--text-base);line-height:var(--leading-base);color:var(--color-text);text-align:left}.ui-menu__item.is-active:not(:disabled){background:var(--color-surface-hover)}.ui-menu__item:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-menu__item.is-danger{color:var(--color-danger-text)}.ui-menu__item.is-danger.is-active{background:var(--color-danger-subtle)}.ui-menu__icon{flex-shrink:0;color:var(--color-text-muted)}.ui-menu__item.is-danger .ui-menu__icon{color:inherit}.ui-menu__item:disabled .ui-menu__icon{color:var(--color-text-disabled)}.ui-menu__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-menu__check{flex-shrink:0;color:var(--color-accent-text)}.ui-menu__shortcut{flex-shrink:0;font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.ui-menu__reactions{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-2) var(--space-6);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.ui-menu__reaction{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);font-size:var(--text-lg);line-height:1}.ui-menu__reaction:hover{background:var(--color-surface-hover)}.ui-menu__reaction.is-mine{background:var(--color-accent-subtle)}.ui-menu__separator{height:1px;margin:var(--space-4) calc(var(--space-4) * -1);background:var(--color-border)}.ui-menu__heading{padding:var(--space-6) var(--space-8) var(--space-4);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.ui-popover{position:fixed;z-index:var(--z-dropdown);max-width:min(360px,calc(100vw - 16px));max-height:min(70vh,480px);overflow:auto;padding:var(--space-8);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);outline:none;animation:ui-popover-in var(--duration-fast) var(--ease-out)}@keyframes ui-popover-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.ui-emoji-grid{display:grid;grid-template-columns:repeat(6,32px);gap:var(--space-2)}.ui-emoji{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);font-size:var(--text-lg);line-height:1}.ui-emoji:hover{background:var(--color-surface-hover)}.ui-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-scrim);display:flex;align-items:center;justify-content:center;padding:var(--space-24);background:var(--color-scrim);animation:ui-scrim-in var(--duration-base) var(--ease-out)}@keyframes ui-scrim-in{0%{opacity:0}to{opacity:1}}.ui-dialog{z-index:var(--z-dialog);display:flex;flex-direction:column;width:100%;max-height:calc(100vh - var(--space-48));background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);outline:none;animation:ui-dialog-in var(--duration-base) var(--ease-out)}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.ui-dialog--sm{max-width:400px}.ui-dialog--md{max-width:520px}.ui-dialog--lg{max-width:720px}.ui-dialog__header{display:flex;align-items:flex-start;gap:var(--space-16);padding:var(--space-20) var(--space-24) var(--space-12)}.ui-dialog__header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.ui-dialog__heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.ui-dialog__title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.ui-dialog__description{font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-muted)}.ui-dialog__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-24) var(--space-20);font-size:var(--text-base);line-height:var(--leading-base)}.ui-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-8);padding:var(--space-16) var(--space-24);border-top:1px solid var(--color-border);background:var(--color-surface-sunken);border-radius:0 0 var(--radius-xl) var(--radius-xl)}@media(max-width:560px){.ui-scrim{padding:0;align-items:flex-end}.ui-dialog{max-width:none;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.ui-dialog__footer{border-radius:0}}.ui-toast-host{position:fixed;bottom:var(--space-20);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--space-8);width:max-content;max-width:min(480px,calc(100vw - 32px));pointer-events:none}.ui-toast{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:light-dark(#20262e,#e8edf3);color:light-dark(#ffffff,#14181f);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-base);line-height:var(--leading-base);pointer-events:auto;animation:ui-toast-in var(--duration-base) var(--ease-out)}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ui-toast__icon{flex-shrink:0;opacity:.85}.ui-toast--success .ui-toast__icon{color:light-dark(#5fd08d,#167a45)}.ui-toast--warning .ui-toast__icon{color:light-dark(#e5a83b,#8a5100)}.ui-toast--danger .ui-toast__icon{color:light-dark(#f0837a,#c22a21)}.ui-toast__message{flex:1;min-width:0}.ui-toast__action{flex-shrink:0;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);color:light-dark(#9cc2f2,#17539f);font-weight:var(--weight-semibold)}.ui-toast__action:hover{background:light-dark(rgb(255 255 255 / .1),rgb(0 0 0 / .06))}.ui-toast__dismiss{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-sm);color:inherit;opacity:.6}.ui-toast__dismiss:hover{opacity:1;background:light-dark(rgb(255 255 255 / .1),rgb(0 0 0 / .06))}.ui-tooltip{position:fixed;z-index:var(--z-tooltip);max-width:260px;padding:var(--space-4) var(--space-8);background:light-dark(#20262e,#e8edf3);color:light-dark(#ffffff,#14181f);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-sm);pointer-events:none;animation:ui-tooltip-in var(--duration-fast) var(--ease-out)}@keyframes ui-tooltip-in{0%{opacity:0}to{opacity:1}}.ui-tabs{display:flex;align-items:stretch;gap:var(--space-4);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px 0 var(--color-border);scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tabs--fill .ui-tab{flex:1;justify-content:center}.ui-tab{position:relative;display:inline-flex;align-items:center;gap:var(--space-6);flex-shrink:0;padding:var(--space-8) var(--space-12);border-bottom:2px solid transparent;white-space:nowrap;font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-medium);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.ui-tab:hover:not(:disabled):not(.is-selected){color:var(--color-text);border-bottom-color:var(--color-border-strong)}.ui-tab.is-selected{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:var(--weight-semibold)}.ui-tab:disabled{color:var(--color-text-disabled);cursor:not-allowed}.ui-tab__count{min-width:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--color-surface-active);color:var(--color-text-secondary);font-size:var(--text-xs);line-height:18px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.ui-tab.is-selected .ui-tab__count{background:var(--color-accent-subtle);color:var(--color-accent-text)}.ui-segmented{display:inline-flex;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ui-segment{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);height:28px;padding:0 var(--space-12);border-radius:var(--radius-sm);font-size:var(--text-md);line-height:var(--leading-md);font-weight:var(--weight-medium);color:var(--color-text-secondary);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ui-segmented--sm .ui-segment{height:22px;padding:0 var(--space-8);font-size:var(--text-sm)}.ui-segment:hover:not(.is-selected){color:var(--color-text)}.ui-segment.is-selected{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-semibold);box-shadow:var(--shadow-xs)}.phone-verification{display:flex;flex-direction:column;gap:var(--space-16)}.phone-verification__number{white-space:nowrap}.phone-verification__code{font-variant-numeric:tabular-nums;letter-spacing:.3em}.phone-verification__actions{display:flex;justify-content:space-between;gap:var(--space-12)}.qr-sign-in{display:flex;flex-direction:column;gap:var(--space-16)}.qr-sign-in__frame{display:flex;align-items:center;justify-content:center;width:216px;height:216px;margin:0 auto;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.qr-sign-in__code{display:block;width:100%;height:100%}.qr-sign-in__alert{color:var(--color-text-muted)}.qr-sign-in__steps{display:flex;flex-direction:column;gap:var(--space-6);padding-left:var(--space-20);list-style:decimal;color:var(--color-text-secondary)}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--space-24);background:var(--color-canvas)}.auth-card{width:100%;max-width:380px;padding:var(--space-24);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.auth-card__header{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-20)}.auth-mark{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-lg);background:var(--color-accent);color:var(--color-text-on-accent)}.auth-card__methods{margin-bottom:var(--space-20)}.auth-card__notice{margin-bottom:var(--space-16)}.sidebar{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-surface);border-right:1px solid var(--color-border)}.sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--color-border-subtle)}.sidebar__account{display:flex;align-items:center;gap:var(--space-8);min-width:0;padding:var(--space-4) var(--space-8) var(--space-4) var(--space-4);border-radius:var(--radius-full);color:var(--color-text-secondary);transition:background-color var(--duration-fast) var(--ease-standard)}.sidebar__account:hover{background:var(--color-surface-hover)}.sidebar__account-text{display:flex;flex-direction:column;min-width:0;gap:1px}.sidebar__account-name{font-size:var(--text-base);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--color-text);text-align:left}.sidebar__account-meta{font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-muted);text-align:left}.sidebar__account-id{font-variant-numeric:tabular-nums}.sidebar__phone{margin:0 var(--space-12) var(--space-8)}.sidebar__search{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-12)}.sidebar__search-field{flex:1;min-width:0}.sidebar__filters{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:0 var(--space-12) var(--space-8)}.sidebar__list{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--space-8)}.sidebar__section{padding:var(--space-12) var(--space-12) var(--space-4);color:var(--color-text-muted)}.sidebar__hint,.sidebar__loading{padding:var(--space-16) var(--space-12);font-size:var(--text-md);color:var(--color-text-muted);text-align:center}.sidebar__loading{display:flex;justify-content:center}.sidebar__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-40) var(--space-24);text-align:center}.sidebar__empty>button{margin-top:var(--space-8)}.chat-row{display:flex;align-items:center;gap:var(--space-12);width:100%;padding:var(--space-8) var(--space-12);border-left:2px solid transparent;text-align:left;transition:background-color var(--duration-fast) var(--ease-standard)}.chat-row:hover{background:var(--color-surface-hover)}.chat-row.is-selected{background:var(--color-surface-selected);border-left-color:var(--color-accent)}.chat-row--static:hover{background:transparent}.chat-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-row__top,.chat-row__bottom{display:flex;align-items:center;gap:var(--space-8)}.chat-row__title{flex:1;font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-medium);color:var(--color-text)}.chat-row.is-unread .chat-row__title{font-weight:var(--weight-semibold)}.chat-row__time{flex-shrink:0;font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.chat-row__preview{flex:1;display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-muted)}.chat-row.is-unread .chat-row__preview,.chat-row__author{color:var(--color-text-secondary)}.chat-row__draft{color:var(--color-danger-text);font-weight:var(--weight-medium)}.chat-row__marks{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.chat-row__tick{color:var(--color-text-muted)}.chat-row__tick.is-read{color:var(--color-accent)}.chat-row__muted{color:var(--color-text-disabled)}.chat-row__mention{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--color-accent-subtle);color:var(--color-accent-text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.chat-row__person{display:flex;align-items:center;gap:var(--space-12);flex:1;min-width:0;text-align:left}.chat-row__person-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.message-media{display:flex;flex-direction:column;gap:var(--space-4);min-width:220px;max-width:380px}.media-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-md);background:var(--color-surface-sunken);border:1px solid var(--color-border)}.media-stage img,.media-stage video{width:100%;height:100%;object-fit:cover}.media-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:120px;padding:var(--space-16);font-size:var(--text-md);color:var(--color-text-muted);text-align:center}.media-retry:hover{background:var(--color-surface-hover);color:var(--color-text)}.media-image-button{display:block;width:100%;height:100%;cursor:zoom-in}.media-video-fallback{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:140px}.media-playback-retry{position:absolute;padding:var(--space-6) var(--space-12);border-radius:var(--radius-md);background:var(--color-scrim);color:#fff;font-size:var(--text-md);font-weight:var(--weight-medium)}.media-audio-player{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-8)}.media-audio-player audio{flex:1;min-width:0;height:34px}.media-audio-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-accent-subtle);color:var(--color-accent-text);font-size:var(--text-lg)}.media-caption{display:flex;align-items:center;gap:var(--space-8);padding:0 var(--space-4)}.media-file-info{flex:1;min-width:0;display:flex;flex-direction:column}.media-file-name{font-size:var(--text-md);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-file-size{font-size:var(--text-sm);color:var(--color-text-muted)}.media-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-32);background:var(--color-scrim);cursor:zoom-out}.media-viewer img{max-width:100%;max-height:100%;border-radius:var(--radius-md);cursor:default}.media-viewer-close{position:absolute;top:var(--space-16);right:var(--space-16);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text)}.media-viewer-close:hover{background:var(--color-surface-hover)}.message{position:relative;display:flex;gap:var(--space-8);padding:0 var(--space-16)}.message.is-focused .message__bubble,.message.is-focused .message__content{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-lg)}.message__gutter{flex-shrink:0;width:32px;display:flex;justify-content:center}.message__avatar-button{border-radius:var(--radius-full)}.message__content{min-width:0;flex:1}.message__header{display:flex;align-items:baseline;gap:var(--space-8);flex-wrap:wrap}.message__author{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-accent-text);text-align:left}.message__author:hover{text-decoration:underline}.message__text{font-size:var(--text-base);line-height:var(--leading-lg);white-space:pre-wrap;overflow-wrap:anywhere}.message__deleted{font-size:var(--text-base);font-style:italic;color:var(--color-text-muted)}.message__forwarded{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.message__mention{color:var(--color-accent-text);font-weight:var(--weight-medium);border-radius:var(--radius-xs)}.message__mention:hover{text-decoration:underline}.message__mention.is-me{background:var(--color-accent-subtle);padding:0 3px}.message__meta{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.message__status{display:inline-flex}.message__status.is-read{color:var(--color-accent)}.message__reactions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-4)}.message__reaction{display:inline-flex;align-items:center;gap:var(--space-4);padding:1px var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-secondary)}.message__reaction:hover:not(:disabled){border-color:var(--color-border-strong)}.message__reaction.is-mine{background:var(--color-accent-subtle);border-color:var(--color-accent-border);color:var(--color-accent-text);font-weight:var(--weight-medium)}.message__reaction:disabled{cursor:not-allowed;opacity:.6}.message__reaction--add{color:var(--color-text-muted);padding:1px var(--space-4)}.message__toolbar{display:none}@media(hover:hover)and (pointer:fine){.message__toolbar{position:absolute;top:-12px;right:var(--space-16);z-index:1;display:flex;align-items:center;gap:var(--space-2);padding:2px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard)}.message:hover .message__toolbar,.message:focus-within .message__toolbar,.message__toolbar:focus-within{opacity:1;pointer-events:auto}}.message--bubble .message__toolbar{top:0;right:auto;left:100%;margin-left:var(--space-6);transform:none}.message--bubble.is-own .message__toolbar{left:auto;right:100%;margin-left:0;margin-right:var(--space-6)}.message__actions{display:flex;align-items:center;gap:var(--space-2)}.message__quick{display:flex;align-items:center;gap:1px;padding-right:var(--space-4);margin-right:var(--space-2);border-right:1px solid var(--color-border)}.message__quick button{width:26px;height:26px;border-radius:var(--radius-sm);font-size:var(--text-base);line-height:1}.message__quick button:hover{background:var(--color-surface-hover)}.message__quick button.is-mine{background:var(--color-accent-subtle)}.message__file{display:flex;align-items:center;gap:var(--space-8);min-width:240px;max-width:360px;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.message__file.is-unavailable{border-color:var(--color-danger-border);background:var(--color-danger-subtle)}.message__file-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-secondary)}.message__file-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.message__file-name{font-size:var(--text-md);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message__file-size{font-size:var(--text-sm);color:var(--color-text-muted)}.message--bubble{padding-top:var(--space-8)}.message--bubble.is-grouped{padding-top:var(--space-2)}.message--bubble.is-own{flex-direction:row-reverse}.message__stack{position:relative;display:flex;flex-direction:column;min-width:0;max-width:min(680px,70%)}.message--bubble.is-own .message__stack{align-items:flex-end}.message--bubble.is-own .message__reactions{justify-content:flex-end}.message__bubble{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-12);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-sm)}.message--bubble.is-grouped .message__bubble{border-top-left-radius:var(--radius-sm)}.message--bubble.is-own .message__bubble{background:var(--color-accent-subtle);border-color:var(--color-accent-border);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-sm)}.message--bubble.is-own.is-grouped .message__bubble{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-sm)}.message__bubble .message__meta{align-self:flex-end}.message__bubble .ui-quote{width:auto;margin:0 calc(var(--space-8) - var(--space-12)) var(--space-4)}.message__bubble.has-file{padding:var(--space-6)}.message__bubble.has-file .message__meta{padding:0 var(--space-4) var(--space-2)}.message--bubble .message__file{border:none;background:none;padding:var(--space-2)}.message--flat{padding-top:var(--space-6);padding-bottom:var(--space-6);border-radius:var(--radius-md)}.message--flat:hover{background:var(--color-surface-hover)}.message--flat.is-grouped{padding-top:1px;padding-bottom:1px}.message--flat .ui-quote{max-width:520px;margin-bottom:var(--space-4)}.message__gutter-time{font-size:var(--text-xs);line-height:var(--leading-lg);color:var(--color-text-disabled);font-variant-numeric:tabular-nums;opacity:0}.message--flat:hover .message__gutter-time{opacity:1}.message--flat .message__meta{font-size:var(--text-sm)}@media(max-width:640px){.message__stack{max-width:62%}.message__quick{display:none}.message--flat .message__toolbar{right:var(--space-8)}}.message-list{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:clip;padding:var(--space-8) 0 var(--space-16);background:var(--color-canvas);overscroll-behavior:contain}.message-list__loading{display:flex;justify-content:center;padding:var(--space-12);color:var(--color-text-muted)}.message-list__day{display:flex;flex-direction:column}.message-list__divider{margin:var(--space-16) var(--space-16) var(--space-8)}.message-list__divider--unread{color:var(--color-accent-text)}.message-list__divider--unread:before,.message-list__divider--unread:after{border-top-color:var(--color-accent-border)}.message-list__jump{position:sticky;bottom:var(--space-8);float:right;margin-right:var(--space-16);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-md);color:var(--color-text-secondary)}.message-list__jump:hover{color:var(--color-text);background:var(--color-surface-hover)}.activity-card{display:flex;align-items:center;gap:var(--space-8);width:fit-content;min-width:280px;max-width:min(420px,calc(100% - var(--space-32)));margin:var(--space-8) var(--space-16);padding:var(--space-8);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.activity-card.is-own{margin-left:auto;background:var(--color-accent-subtle);border-color:var(--color-accent-border)}.activity-card__icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-secondary)}.activity-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.activity-card__name{font-size:var(--text-md);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-card__meta{font-size:var(--text-sm);color:var(--color-text-muted)}.activity-card__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.composer{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-8) var(--space-16);background:var(--color-surface);border-top:1px solid var(--color-border)}.composer__notice{margin-top:var(--space-4)}.composer__strip{display:flex;align-items:center;gap:var(--space-8)}.composer__row{display:flex;align-items:flex-end;gap:var(--space-6)}.composer__input-wrap{position:relative;flex:1;min-width:0}.composer__input{display:block;width:100%;max-height:160px;padding:var(--space-8) var(--space-12);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-base);resize:none;overflow-y:hidden;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.composer__input::placeholder{color:var(--color-text-muted)}.composer__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.composer__input:disabled{cursor:not-allowed;color:var(--color-text-disabled)}.composer__mentions{position:absolute;bottom:calc(100% + var(--space-6));left:0;z-index:var(--z-dropdown);width:min(320px,100%);max-height:260px;overflow-y:auto;padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.composer__mentions button{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);text-align:left}.composer__mentions button.is-active{background:var(--color-surface-hover)}.composer__mention-name{flex:1;font-size:var(--text-md);font-weight:var(--weight-medium)}.composer__mention-id{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.composer__mentions--limit{padding:var(--space-8) var(--space-12);font-size:var(--text-md);color:var(--color-text-muted)}.chat-screen{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-canvas)}.chat-header{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.chat-header__back{display:none}.chat-header__identity{display:flex;align-items:center;gap:var(--space-12);flex:1;min-width:0;padding:var(--space-4);margin:calc(var(--space-4) * -1);border-radius:var(--radius-md);text-align:left}.chat-header__identity:hover{background:var(--color-surface-hover)}.chat-header__text{display:flex;flex-direction:column;min-width:0}.chat-header__title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.chat-header__subtitle{display:flex;align-items:center;font-size:var(--text-md);line-height:var(--leading-md);color:var(--color-text-muted)}.chat-header__online{color:var(--color-success-text);font-weight:var(--weight-medium)}.chat-header__actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.chat-pinned{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-12);background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text-muted)}.chat-pinned .ui-quote{flex:1;min-width:0}.chat-pinned__icon{flex-shrink:0}.chat-pinned__stack{display:flex;flex-direction:column;gap:2px;align-self:stretch;justify-content:center;flex-shrink:0;width:2px}.chat-pinned__stack i{flex:1;min-height:3px;border-radius:var(--radius-full);background:var(--color-border-strong)}.chat-pinned__stack i.is-active{background:var(--color-accent)}.chat-context-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-6) var(--space-12);background:var(--color-accent-subtle);border-bottom:1px solid var(--color-accent-border);font-size:var(--text-md);color:var(--color-accent-text)}.chat-banner{margin:var(--space-8) var(--space-16) 0}.chat-search{display:flex;flex-direction:column;max-height:45%;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.chat-search__field{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-12)}.chat-search__input{flex:1;min-width:0}.chat-search__results{overflow-y:auto;padding:0 var(--space-8) var(--space-8)}.chat-search__hint,.chat-search__loading{padding:var(--space-8) var(--space-12);font-size:var(--text-md);color:var(--color-text-muted)}.chat-search__loading{display:flex;justify-content:center}.chat-search__hit{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-12);width:100%;padding:var(--space-6) var(--space-8);border-radius:var(--radius-sm);font-size:var(--text-md);text-align:left}.chat-search__hit:hover{background:var(--color-surface-hover)}.chat-search__hit time{flex-shrink:0;font-size:var(--text-sm);color:var(--color-text-muted)}.chat-drop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-sticky);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);background:var(--color-accent-subtle);border:2px dashed var(--color-accent);border-radius:var(--radius-lg);color:var(--color-accent-text);pointer-events:none}@media(max-width:900px){.chat-header__back{display:inline-flex}}.dialog-grid{display:flex;flex-direction:column;gap:var(--space-16);min-width:0}.dialog-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}.dialog-inline{display:flex;align-items:flex-end;gap:var(--space-8);flex-wrap:wrap}.dialog-inline__grow{flex:1;min-width:140px}.dialog-loading{display:flex;justify-content:center;padding:var(--space-32);color:var(--color-text-muted)}.dialog-field,.dialog-list{display:flex;flex-direction:column;gap:var(--space-2)}.dialog-list__row{display:flex;align-items:center;gap:var(--space-12);width:100%;padding:var(--space-8);border-radius:var(--radius-md);text-align:left}.dialog-list__row--button:hover,.dialog-list__row:hover{background:var(--color-surface-hover)}.dialog-list__identity{display:flex;align-items:center;gap:var(--space-12);flex:1;min-width:0;text-align:left}.dialog-list__text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.dialog-list__role{width:108px;flex-shrink:0}.dialog-list__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.user-card{display:flex;align-items:center;gap:var(--space-16)}.user-card__text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.avatar-editor{align-items:center}.avatar-editor__preview{align-self:center}.avatar-editor__drop{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-24);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-sunken);color:var(--color-text-secondary);text-align:center}.avatar-editor__drop:hover,.avatar-editor__drop.is-dragging{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent-text)}.session-tag{margin-left:var(--space-6);vertical-align:middle}.conversation-identity{display:flex;align-items:center;gap:var(--space-16)}.conversation-identity__avatar{position:relative;border-radius:var(--radius-lg)}.conversation-identity__avatar:disabled{cursor:default}.conversation-identity__edit{position:absolute;right:-4px;bottom:-4px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-on-accent);border:2px solid var(--color-surface-raised)}.danger-zone{display:flex;flex-direction:column;gap:var(--space-12)}.danger-zone__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);padding:var(--space-12);border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);background:var(--color-danger-subtle)}.danger-zone__row>.ui-btn{flex-shrink:0}.invite-token{display:block;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-xs);color:var(--color-text-muted)}.forward-preview{padding:var(--space-8) var(--space-12);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-md);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:560px){.dialog-row{grid-template-columns:1fr}}.join-dialog__loading{display:flex;justify-content:center;padding:var(--space-24) 0}.join-dialog__note{text-align:center}.invite-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.invite-card__title{margin-top:var(--space-8);max-width:100%;overflow-wrap:anywhere}.invite-card__description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:var(--space-4);color:var(--color-text-secondary);overflow-wrap:anywhere}.invite-landing{display:flex;flex-direction:column;align-items:center;gap:var(--space-12);padding:var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);text-align:center}.app{display:flex;flex-direction:column;height:100%;background:var(--color-canvas)}.app-banner{border-radius:0;border-width:0 0 1px}.app-body{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);flex:1;min-height:0}.app-sidebar{min-width:0;min-height:0}.app-main{min-width:0;min-height:0;display:flex;flex-direction:column}.app-placeholder{display:flex;align-items:center;justify-content:center;height:100%;background:var(--color-canvas)}.app-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-16);height:100%;color:var(--color-text-muted);background:var(--color-canvas)}@media(max-width:900px){.app-body{grid-template-columns:minmax(0,1fr)}.app-body.has-chat .app-sidebar{display:none}.app-body:not(.has-chat) .app-main{display:none}}:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--color-canvas: light-dark(#f4f6f8, #0e1319);--color-surface: light-dark(#ffffff, #161d26);--color-surface-raised: light-dark(#ffffff, #1d2631);--color-surface-sunken: light-dark(#edf0f4, #11171e);--color-surface-hover: light-dark(#f0f3f6, #222c38);--color-surface-active: light-dark(#e4e9ef, #2a3543);--color-surface-selected: light-dark(#e8f0fb, #16293e);--color-border-subtle: light-dark(#edf0f4, #1e262f);--color-border: light-dark(#dfe4ea, #2a3441);--color-border-strong: light-dark(#c6cdd6, #3b4757);--color-text: light-dark(#14181f, #e8edf3);--color-text-secondary: light-dark(#4c5563, #aeb9c6);--color-text-muted: light-dark(#6b7684, #8a94a2);--color-text-disabled: light-dark(#9aa4b2, #5d6877);--color-text-on-accent: #ffffff;--color-accent: light-dark(#1f63c0, #2a6fcc);--color-accent-hover: light-dark(#17539f, #3a80dc);--color-accent-active: light-dark(#123f78, #4c8fe6);--color-accent-text: light-dark(#17539f, #7fadee);--color-accent-subtle: light-dark(#e8f0fb, #16293e);--color-accent-subtle-hover: light-dark(#d8e6f8, #1d3550);--color-accent-border: light-dark(#a9c8f4, #2f4c74);--color-success: light-dark(#167a45, #1e9e57);--color-success-text: light-dark(#12633a, #58d08a);--color-success-subtle: light-dark(#e3f3e9, #122a1e);--color-success-border: light-dark(#a8d9bd, #23543a);--color-warning: light-dark(#a05e00, #b77400);--color-warning-text: light-dark(#8a5100, #e5a83b);--color-warning-subtle: light-dark(#fdf1dc, #2a2113);--color-warning-border: light-dark(#efd09a, #5a4413);--color-danger: light-dark(#c22a21, #d4463c);--color-danger-hover: light-dark(#a3201a, #e0574d);--color-danger-text: light-dark(#a82119, #f0837a);--color-danger-subtle: light-dark(#fce9e7, #2c1715);--color-danger-border: light-dark(#f2b8b2, #5e2823);--color-presence-online: light-dark(#1e9e57, #35be74);--color-presence-away: light-dark(#c98a00, #e0a52a);--color-presence-offline: light-dark(#9aa4b2, #5d6877);--color-wash: light-dark(rgb(16 24 40 / .05), rgb(255 255 255 / .07));--color-wash-strong: light-dark(rgb(16 24 40 / .09), rgb(255 255 255 / .12));--color-focus: light-dark(#1f63c0, #7fadee);--color-scrim: light-dark(rgba(16, 24, 40, .45), rgba(0, 0, 0, .65));--color-skeleton: light-dark(#e4e9ef, #222c38);--color-skeleton-shine: light-dark(#eef1f5, #2a3543);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 24px;--leading-xs: 16px;--leading-sm: 16px;--leading-md: 18px;--leading-base: 20px;--leading-lg: 24px;--leading-xl: 28px;--leading-2xl: 32px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-64: 64px;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 999px;--control-height-sm: 28px;--control-height-md: 36px;--control-height-lg: 44px;--control-padding-sm: 10px;--control-padding-md: 14px;--control-padding-lg: 18px;--shadow-xs: 0 1px 2px light-dark(rgba(16, 24, 40, .06), rgba(0, 0, 0, .4));--shadow-sm: 0 1px 3px light-dark(rgba(16, 24, 40, .09), rgba(0, 0, 0, .45)), 0 1px 2px light-dark(rgba(16, 24, 40, .05), rgba(0, 0, 0, .3));--shadow-md: 0 4px 12px light-dark(rgba(16, 24, 40, .1), rgba(0, 0, 0, .5)), 0 1px 3px light-dark(rgba(16, 24, 40, .06), rgba(0, 0, 0, .4));--shadow-lg: 0 12px 32px light-dark(rgba(16, 24, 40, .14), rgba(0, 0, 0, .55)), 0 2px 8px light-dark(rgba(16, 24, 40, .08), rgba(0, 0, 0, .4));--duration-fast: .1s;--duration-base: .15s;--duration-slow: .24s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--z-sticky: 10;--z-scrim: 200;--z-dialog: 210;--z-dropdown: 220;--z-toast: 300;--z-tooltip: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-regular);background:var(--color-canvas);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;line-height:inherit}button,input,select,textarea{font:inherit;color:inherit;border:none;background:none}button{cursor:pointer}img,svg,video,canvas{display:block;max-width:100%}ul,ol{list-style:none}a{color:var(--color-accent-text);text-decoration:none;font-weight:var(--weight-medium)}a:hover{text-decoration:underline}hr{border:none;border-top:1px solid var(--color-border)}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent);color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}.ui-control :focus-visible,.ui-control :focus,.composer__input:focus,.composer__input:focus-visible{outline:none}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border:3px solid transparent;background-clip:content-box;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled);background-clip:content-box}:root[data-theme-switching] *,:root[data-theme-switching] *:before,:root[data-theme-switching] *:after{transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ui-display{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold);letter-spacing:-.015em}.ui-title-lg{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em}.ui-title{font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.ui-body{font-size:var(--text-base);line-height:var(--leading-base)}.ui-body-strong{font-size:var(--text-base);line-height:var(--leading-base);font-weight:var(--weight-semibold)}.ui-small{font-size:var(--text-md);line-height:var(--leading-md)}.ui-caption{font-size:var(--text-sm);line-height:var(--leading-sm)}.ui-overline{font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.ui-muted{color:var(--color-text-muted)}.ui-secondary{color:var(--color-text-secondary)}.ui-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ui-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ui-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}
