:root{--color-bg: #efe9df;--color-surface: #f5f1e9;--color-surface-strong: #faf7f2;--color-card: #fefcf9;--color-card-muted: #eae4d9;--color-text: #1b1711;--color-text-secondary: #564a38;--color-accent: #8a6840;--color-accent-strong: #6f4f2b;--color-accent-soft: rgba(138, 104, 64, .12);--color-border: rgba(110, 96, 75, .22);--color-shadow: rgba(54, 38, 16, .1);--color-danger: #b24d3e;--color-success: #2c7a5c;--font-display: "Unbounded", sans-serif;--font-body: "Geist Mono", monospace;--radius-xl: 2rem;--radius-lg: 1.4rem;--radius-md: 1rem}@media(prefers-color-scheme:dark){:root{--color-bg: #110e09;--color-surface: #1a1712;--color-surface-strong: #22201a;--color-card: #2a261f;--color-card-muted: #181510;--color-text: #f2ece2;--color-text-secondary: #a89a84;--color-accent: #c49b68;--color-accent-strong: #e0b17a;--color-accent-soft: rgba(196, 155, 104, .16);--color-border: rgba(196, 155, 104, .2);--color-shadow: rgba(0, 0, 0, .42);--color-danger: #ff8d79;--color-success: #63c59a}}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100%;font-family:var(--font-body);background:radial-gradient(circle at 15% 20%,rgba(138,104,64,.08),transparent 30%),radial-gradient(circle at 80% 0%,rgba(138,104,64,.06),transparent 28%),var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}button,input,textarea{font:inherit}textarea{resize:vertical}button{border:none;background:none}#app{min-height:100vh}.lucide{flex:none}.is-spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-strong);box-shadow:0 20px 60px var(--color-shadow),inset 0 1px #ffffff2e}.panel--soft{background:var(--color-card-muted)}.panel--hero{background:linear-gradient(135deg,rgba(138,104,64,.08),transparent 54%),var(--color-surface-strong)}.section-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-card-muted);color:var(--color-text-secondary);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.section-badge--muted{background:var(--color-card-muted)}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#8a6840e0,#4f3a22eb);color:#fff;font-family:var(--font-display);letter-spacing:.06em;box-shadow:0 12px 30px var(--color-shadow)}.user-avatar--sm{width:2.25rem;height:2.25rem;font-size:.72rem}.user-avatar--md{width:2.9rem;height:2.9rem;font-size:.82rem}.user-avatar--lg{width:4rem;height:4rem;font-size:1rem}.auth-screen{min-height:100vh;padding:1.5rem;display:flex;align-items:center;justify-content:center}.auth-screen--shell{padding:1.5rem}.auth-topbar{position:fixed;top:1.1rem;right:1.1rem}.auth-card{width:min(100%,30rem);padding:2.2rem;border:1px solid var(--color-border);border-radius:2rem;background:var(--color-surface-strong);backdrop-filter:blur(22px);box-shadow:0 34px 90px var(--color-shadow)}.auth-card--compact{width:min(100%,24rem);text-align:center}.auth-logo{width:3.4rem;height:3.4rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:1.1rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;font-size:1.55rem;box-shadow:0 14px 36px var(--color-shadow)}.auth-title{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,1.95rem);line-height:1.1;margin-bottom:.55rem}.auth-subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.6}.auth-tabs,.auth-tab{display:none}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-steps{position:relative;overflow:hidden}.auth-step{display:flex;flex-direction:column;gap:1rem;animation:auth-step-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes auth-step-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.auth-step-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.25rem}.auth-step-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--color-border);transition:background .2s ease,transform .2s ease}.auth-step-dot--active{background:var(--color-accent);transform:scale(1.3)}.auth-step-dot--done{background:var(--color-accent-strong)}.auth-back{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;cursor:pointer;color:var(--color-text-secondary);font-size:.82rem;transition:color .16s ease}.auth-back:hover{color:var(--color-text)}.auth-field{display:flex;flex-direction:column;gap:.45rem}.auth-field__label,.auth-field__hint,.chat-sidebar__subtitle,.chat-sidebar__status,.chat-view__meta,.chat-view__panel-meta,.chat-view__invite-label,.chat-view__member-handle,.chat-view__footer-note,.app-panel__subtitle,.app-security-note{font-size:.8rem;line-height:1.55;color:var(--color-text-secondary)}.auth-input,.chat-sidebar__textarea,.chat-sidebar__search-input{width:100%;border:1px solid var(--color-border);border-radius:1rem;padding:.95rem 1rem;background:var(--color-card);color:var(--color-text);outline:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.auth-input:focus,.chat-sidebar__textarea:focus,.chat-sidebar__search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.auth-error,.chat-sidebar__status--error,.chat-view__error,.app-status--error{color:var(--color-danger)}.app-status--success{color:var(--color-success)}.app-status{font-size:.85rem}.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;border-radius:999px;cursor:pointer;transition:transform .16s ease,opacity .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.primary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.72}.primary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button{width:100%;padding:.95rem 1.25rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;box-shadow:0 12px 28px var(--color-shadow)}.ghost-button{border:1px solid var(--color-border);padding:.78rem 1rem;color:var(--color-text);background:var(--color-card)}.ghost-button--full{width:100%}.locale-switcher{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.locale-switcher__label{font-size:.72rem;color:var(--color-text-secondary);margin-right:.15rem}.locale-switcher__button{border:1px solid var(--color-border);border-radius:999px;padding:.32rem .6rem;background:var(--color-card);color:var(--color-text-secondary);cursor:pointer}.locale-switcher__button--active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}.chat-shell{display:grid;grid-template-columns:minmax(20rem,24rem) minmax(0,1fr);gap:1rem;min-height:100vh;padding:1rem}.chat-sidebar,.chat-main{min-height:calc(100vh - 2rem);border:1px solid var(--color-border);border-radius:2.1rem;background:var(--color-surface);backdrop-filter:blur(24px);box-shadow:0 30px 80px var(--color-shadow),inset 0 1px #ffffff2e}.chat-main{min-width:0;display:flex;flex-direction:column;overflow:hidden}.chat-empty-state,.chat-view__state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-secondary)}.chat-view__state--stacked,.app-overview__loading{text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}.chat-sidebar{display:flex;flex-direction:column;gap:.9rem;padding:1rem;overflow-y:auto;position:sticky;top:1rem;height:calc(100vh - 2rem)}.chat-sidebar__header,.chat-sidebar__controls,.chat-sidebar__search,.chat-sidebar__section,.chat-view__header,.chat-view__footer,.app-overview{padding:.2rem}.chat-sidebar__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.chat-sidebar__brand{display:flex;align-items:center;gap:.9rem}.chat-sidebar__brand-mark{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;box-shadow:0 14px 34px var(--color-shadow)}.chat-sidebar__eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-secondary);margin-bottom:.25rem}.chat-sidebar__title{font-family:var(--font-display);font-size:1.15rem}.chat-sidebar__controls{display:flex;flex-direction:column;gap:.75rem}.chat-sidebar__create-button{justify-content:flex-start}.chat-sidebar__hint{display:inline-flex;align-items:center;gap:.45rem;color:var(--color-text-secondary);font-size:.76rem}.chat-sidebar__search-field{display:flex;align-items:center;gap:.6rem;padding:0 .95rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-card)}.chat-sidebar__search-input{border:none;background:transparent;padding-left:0;padding-right:0;box-shadow:none!important}.chat-sidebar__group-form{display:flex;flex-direction:column;gap:.85rem;padding:1rem}.chat-sidebar__section{display:flex;flex-direction:column;gap:.75rem}.chat-sidebar__section--grow{flex:1;min-height:0}.chat-sidebar__section--results{padding:1rem;border-radius:1.4rem;background:var(--color-card-muted);border:1px solid var(--color-border)}.chat-sidebar__section-heading,.chat-view__panel-title{display:inline-flex;align-items:center;gap:.45rem;font-weight:600}.chat-sidebar__group-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.chat-sidebar__status-block,.chat-sidebar__list,.chat-view__member-list,.session-list,.app-recent-list{display:flex;flex-direction:column;gap:.7rem}.chat-sidebar__list,.chat-view__member-list{overflow:auto;padding-right:.2rem}.chat-sidebar__chat-card,.chat-sidebar__user-card,.chat-view__member-card,.chat-view__panel,.recent-chat-card,.session-card{border:1px solid var(--color-border);border-radius:1.2rem;background:var(--color-card)}.chat-sidebar__chat-card,.chat-sidebar__user-card,.recent-chat-card{cursor:pointer;text-align:left;padding:.95rem 1rem}.chat-sidebar__chat-card--active{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.chat-sidebar__chat-main,.chat-sidebar__user-main,.chat-view__member-card,.recent-chat-card__main,.session-card{display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start}.chat-sidebar__chat-identity,.chat-sidebar__user-identity,.chat-view__member-profile,.recent-chat-card__identity{display:flex;gap:.8rem;align-items:flex-start}.chat-sidebar__chat-name,.chat-sidebar__user-name,.chat-view__title,.chat-view__member-name,.app-hero__title,.app-profile__identity-text strong,.recent-chat-card strong,.session-card strong{font-weight:600;color:var(--color-text)}.chat-sidebar__chat-name,.chat-sidebar__user-name,.chat-view__title{display:block}.chat-sidebar__chat-preview,.chat-sidebar__user-bio,.chat-view__panel-text,.recent-chat-card p{margin-top:.28rem;color:var(--color-text-secondary);font-size:.8rem;line-height:1.55}.chat-sidebar__chat-meta-group{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.chat-sidebar__chat-meta,.chat-sidebar__user-action,.chat-view__member-role,.recent-chat-card__meta,.session-card span,.stat-card__label{font-size:.74rem;color:var(--color-text-secondary)}.chat-sidebar__chat-meta--pill,.session-card__badge{padding:.28rem .55rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong)}.chat-sidebar__user-handle{display:block;color:var(--color-accent);font-size:.75rem;margin-top:.12rem}.sidebar-footer{margin-top:auto;padding-top:.4rem}.app-overview,.chat-view{display:flex;flex-direction:column;min-height:0;height:100%;overflow:auto}.app-overview{gap:1rem;padding:1.1rem}.app-hero{display:grid;gap:1rem;padding:1.2rem}.app-hero__copy{display:flex;flex-direction:column;gap:1rem}.app-hero__headline{display:flex;align-items:center;gap:1rem}.app-hero__title{font-family:var(--font-display);font-size:clamp(1.45rem,2vw,2.1rem);line-height:1.1}.app-hero__subtitle{margin-top:.35rem;color:var(--color-text-secondary);max-width:40rem;line-height:1.6}.app-hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.stat-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:1.4rem;background:var(--color-card);border:1px solid var(--color-border)}.stat-card__icon{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;background:var(--color-accent-soft);color:var(--color-accent-strong)}.stat-card__value{font-weight:600;font-size:.95rem}.app-overview__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1rem}.app-panel{display:flex;flex-direction:column;gap:1rem;padding:1.2rem}.app-panel--security{min-width:0}.app-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.app-panel__subtitle{margin-top:.45rem}.app-panel__empty{color:var(--color-text-secondary);line-height:1.6}.app-panel__button{width:auto;align-self:flex-start}.app-profile__identity{display:flex;align-items:center;gap:1rem;padding:.95rem 1rem;border-radius:1.2rem;background:var(--color-card-muted);border:1px solid var(--color-border)}.app-profile__identity-text{display:flex;flex-direction:column;gap:.18rem}.app-profile__identity-text span{color:var(--color-text-secondary);font-size:.78rem}.session-card,.chat-view__member-card{padding:.95rem 1rem}.session-card__main{display:flex;flex-direction:column;gap:.2rem}.session-card--current{background:linear-gradient(135deg,var(--color-accent-soft),transparent 70%),var(--color-card)}.chat-view__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.1rem 1.1rem .9rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-strong)}.chat-view__header-main{display:flex;gap:1rem;align-items:flex-start}.chat-view__title{font-size:1.25rem;line-height:1.15}.chat-view__invite-box{display:flex;flex-direction:column;gap:.5rem;min-width:13rem;align-items:flex-start;padding:.85rem;border-radius:1rem;background:var(--color-card-muted);border:1px solid var(--color-border)}.chat-view__invite-label{display:inline-flex;align-items:center;gap:.35rem}.chat-view__invite-code{padding:.45rem .65rem;border-radius:.75rem;background:var(--color-card);border:1px solid var(--color-border)}.chat-view__body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(17rem,.85fr);gap:1rem;padding:1.1rem}.chat-view__panel{padding:1rem;display:flex;flex-direction:column;gap:.85rem}.chat-view__panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.chat-view__panel-meta{display:inline-flex;align-items:center;gap:.3rem}.chat-view__last-message{display:flex;flex-direction:column;gap:.3rem;padding:.85rem 1rem;border-radius:.95rem;background:var(--color-card-muted);font-size:.84rem}.chat-view__footer{border-top:1px solid var(--color-border);background:var(--color-surface-strong);display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem 1.1rem}.chat-view__composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center}.chat-view__composer-button{width:auto;min-width:8.5rem}@media(max-width:1100px){.chat-shell{grid-template-columns:1fr}.chat-sidebar,.chat-main{min-height:auto}.app-overview__grid,.chat-view__body,.app-hero__stats{grid-template-columns:1fr}}@media(max-width:720px){.chat-shell{padding:.75rem}.chat-sidebar,.chat-main{border-radius:1.4rem}.auth-card{padding:1.5rem}.chat-sidebar__header,.chat-view__header,.chat-view__composer,.chat-view__panel-header,.app-hero__headline,.recent-chat-card__main,.session-card,.chat-sidebar__chat-main,.chat-sidebar__user-main{flex-direction:column}.chat-view__composer{grid-template-columns:1fr}.chat-sidebar__chat-meta-group{align-items:flex-start}}.auth-mode-switch{text-align:center;font-size:.84rem;color:var(--color-text-secondary);margin-top:.25rem}.auth-mode-switch__link{cursor:pointer;color:var(--color-accent);font-weight:600;background:none;border:none;padding:0;font:inherit;transition:color .16s ease}.auth-mode-switch__link:hover{color:var(--color-accent-strong)}.modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);animation:modal-fade-in .2s ease}.modal-card{width:min(100% - 2rem,28rem);padding:2rem;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-strong);box-shadow:0 30px 80px var(--color-shadow);animation:modal-scale-in .2s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;gap:1.25rem}.modal-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-card__title{display:inline-flex;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600}.modal-card__close{cursor:pointer;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;transition:background .16s ease,color .16s ease}.modal-card__close:hover{background:var(--color-card-muted);color:var(--color-text)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mobile-bottom-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:3.5rem;background:var(--color-surface-strong);border-top:1px solid var(--color-border);z-index:100}.mobile-bottom-bar__item{display:inline-flex;align-items:center;justify-content:center;flex:1;height:100%;cursor:pointer;color:var(--color-text-secondary);transition:color .16s ease}.mobile-bottom-bar__item--active{color:var(--color-accent)}.mobile-bottom-bar__item:hover{color:var(--color-text)}.chat-view{display:flex;flex-direction:column;height:100%;min-height:0;position:relative;overflow:hidden}.chat-view__header--slim{padding:.75rem 1rem;flex-shrink:0}.chat-view__header-left{display:flex;align-items:center;gap:.75rem}.chat-view__back-btn{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;cursor:pointer;color:var(--color-text-secondary);transition:background .16s ease,color .16s ease;flex-shrink:0}.chat-view__back-btn:hover{background:var(--color-card-muted);color:var(--color-text)}.chat-view__header-identity{display:flex;align-items:center;gap:.65rem}.chat-view__title--header{font-size:.95rem;font-weight:600;line-height:1.2}.chat-view__header-meta{font-size:.75rem;color:var(--color-text-secondary)}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.15rem}.chat-messages__loading-more{text-align:center;color:var(--color-text-secondary);font-size:.8rem;padding:.5rem}.chat-date-separator{display:flex;align-items:center;justify-content:center;padding:.75rem 0 .25rem}.chat-date-separator span{font-size:.74rem;color:var(--color-text-secondary);padding:.3rem .75rem;border-radius:999px;background:var(--color-card-muted);border:1px solid var(--color-border)}.chat-bubble-row{display:flex;align-items:flex-end;gap:.5rem;max-width:75%;margin-bottom:.1rem}.chat-bubble-row--own{flex-direction:row-reverse;align-self:flex-end;margin-left:auto}.chat-bubble__avatar{flex-shrink:0;margin-bottom:.15rem}.chat-bubble__avatar-spacer{width:2.25rem;flex-shrink:0}.chat-bubble-wrap{display:flex;flex-direction:column;gap:.2rem;min-width:0}.chat-bubble-row--own .chat-bubble-wrap{align-items:flex-end}.chat-bubble__author{font-size:.74rem;font-weight:600;color:var(--color-accent);padding:0 .1rem}.chat-bubble__reply-preview{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .65rem;border-radius:.75rem .75rem 0 0;background:var(--color-card-muted);border-left:3px solid var(--color-accent);font-size:.78rem;max-width:100%;overflow:hidden}.chat-bubble__reply-name{font-weight:600;color:var(--color-accent)}.chat-bubble__reply-text{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-bubble{padding:.6rem .9rem;border-radius:1.2rem;max-width:100%;word-break:break-word;line-height:1.55;font-size:.9rem;position:relative;cursor:default}.chat-bubble--own{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;border-bottom-right-radius:.35rem}.chat-bubble--other{background:var(--color-card);border:1px solid var(--color-border);color:var(--color-text);border-bottom-left-radius:.35rem}.chat-bubble--deleted{opacity:.6;font-style:italic}.chat-bubble__content{white-space:pre-wrap}.chat-bubble__meta{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;opacity:.72;margin-left:.45rem;float:right;margin-top:.15rem;margin-bottom:-.1rem}.chat-bubble__deleted{font-style:italic;opacity:.7;font-size:.85rem}.chat-scroll-btn{position:absolute;bottom:5.5rem;right:1.5rem;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--color-surface-strong);border:1px solid var(--color-border);box-shadow:0 4px 16px var(--color-shadow);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:transform .16s ease,color .16s ease;z-index:10}.chat-scroll-btn:hover{transform:translateY(-1px);color:var(--color-text)}.chat-composer{flex-shrink:0;border-top:1px solid var(--color-border);background:var(--color-surface-strong);padding:.65rem 1rem .75rem;display:flex;flex-direction:column;gap:.5rem}.chat-composer__context-bar{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:.75rem;font-size:.8rem;border-left:3px solid var(--color-accent);background:var(--color-card-muted)}.chat-composer__context-bar--edit{border-left-color:var(--color-accent-strong)}.chat-composer__context-info{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.chat-composer__context-label{font-weight:600;color:var(--color-accent)}.chat-composer__context-text{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-composer__context-close{cursor:pointer;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;transition:background .16s ease;flex-shrink:0}.chat-composer__context-close:hover{background:var(--color-border)}.chat-composer__row{display:flex;align-items:flex-end;gap:.5rem}.chat-composer__attach-btn{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:999px;cursor:pointer;color:var(--color-text-secondary);transition:background .16s ease,color .16s ease;flex-shrink:0}.chat-composer__attach-btn:hover{background:var(--color-card-muted);color:var(--color-text)}.chat-composer__input{flex:1;min-width:0;border:1px solid var(--color-border);border-radius:1.2rem;padding:.65rem 1rem;background:var(--color-card);color:var(--color-text);outline:none;resize:none;line-height:1.5;max-height:calc(7.5em + 1.3rem);transition:border-color .16s ease,box-shadow .16s ease}.chat-composer__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.chat-composer__send-btn{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;flex-shrink:0;transition:transform .16s ease,opacity .16s ease;box-shadow:0 4px 14px var(--color-shadow)}.chat-composer__send-btn:disabled{opacity:.45;cursor:default}.chat-composer__send-btn:not(:disabled):hover{transform:translateY(-1px)}.chat-context-menu{position:fixed;z-index:300;min-width:11rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-surface-strong);box-shadow:0 12px 40px var(--color-shadow);padding:.4rem;display:flex;flex-direction:column;gap:.1rem}.chat-context-menu__item{display:flex;align-items:center;gap:.55rem;padding:.6rem .85rem;border-radius:.65rem;cursor:pointer;color:var(--color-text);font-size:.86rem;text-align:left;transition:background .12s ease}.chat-context-menu__item:hover{background:var(--color-card-muted)}.chat-context-menu__item--danger{color:var(--color-danger)}@media(max-width:768px){.mobile-bottom-bar{display:flex;align-items:center;justify-content:space-around}.chat-shell{grid-template-columns:1fr;padding-bottom:4rem}.chat-shell--has-active-chat .chat-sidebar,.chat-shell--has-active-chat .mobile-bottom-bar{display:none}.chat-shell--has-active-chat .chat-main{min-height:100vh}}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:300;padding:.5rem 1rem;background:var(--color-accent);color:#fff;text-align:center;font-size:.8rem;animation:slide-down .2s ease}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.chat-typing-indicator{padding:.2rem 1rem 0;font-size:.78rem;color:var(--color-text-muted);min-height:1.2rem;font-style:italic}
