:root{--chat-viewport-height:100svh;--chat-viewport-offset-top:0px}@supports not (height:100svh){:root{--chat-viewport-height:100vh}}html.chat-page-root,body.chat-page{background-color:var(--bg);overscroll-behavior:none;width:100%;height:100%;margin:0;padding:0;overflow:hidden}body.chat-page{top:var(--chat-viewport-offset-top,0px);width:100%;height:var(--chat-viewport-height,100svh);max-height:var(--chat-viewport-height,100svh);box-sizing:border-box;min-height:0;position:fixed;bottom:auto;left:0;right:0}.chat-page .app-layout{flex-direction:column;width:100%;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}@media (width>=1024px){.chat-page .app-layout{flex-direction:row;min-height:0}}@media (width<=1023px){.chat-page .app-sidebar,.chat-page .mobile-tabbar{display:none!important}}.chat-page .chat-main{background-color:var(--bg);flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;max-height:100%;padding:0;display:flex;position:relative;overflow:hidden}@media (width>=1024px){.chat-page .chat-main{margin-left:72px}}.chat-header{height:58px;min-height:58px;padding:0 var(--space-4);background-color:var(--surface);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-header__left{align-items:center;gap:var(--space-2);min-width:0;display:flex}.chat-header__chats-btn{border-radius:var(--radius-md);height:38px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-ui);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:.8125rem;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.chat-header__chats-btn:hover{color:var(--text);background:var(--surface-3);border-color:var(--muted);transform:translateY(-1px)}.chat-header__chats-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-header__chats-btn i,.chat-header__chats-btn svg{stroke:currentColor;flex-shrink:0;width:16px;height:16px;display:block}.chat-header__back,.chat-header__icon-btn{border-radius:var(--radius-md);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:transform .18s,opacity .18s,color .18s,background .18s;display:inline-flex}.chat-header__back svg,.chat-header__back i,.chat-header__icon-btn svg,.chat-header__icon-btn i{flex-shrink:0;width:18px;height:18px;display:block}.chat-header__back:hover,.chat-header__icon-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border);transform:translateY(-1px)}.chat-header__back:focus-visible,.chat-header__icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-header__profile{align-items:center;gap:var(--space-3);min-width:0;margin-left:var(--space-1);display:flex}.chat-header__avatar{border-radius:var(--radius-pill);background-color:var(--surface-2);border:1px solid var(--border);width:36px;min-width:36px;height:36px;font-family:var(--font-ui);color:var(--text);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex;overflow:hidden}.chat-header__avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.chat-header__meta{flex-direction:column;justify-content:center;min-width:0;display:flex}.chat-header__name{font-family:var(--font-ui);color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;line-height:1.2;overflow:hidden}.chat-header__status{font-family:var(--font-dialogue);color:var(--muted);align-items:center;gap:5px;margin:0;font-size:.75rem;line-height:1.2;display:inline-flex}.chat-header__actions{align-items:center;gap:var(--space-1);display:flex}.chat-page .mobile-nav-notifications-btn{display:none!important}.chat-body-layout{flex-direction:row;flex:1;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.chat-conversation-column{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.chat-right-sidebar{background-color:var(--surface);border-left:1px solid var(--border);box-sizing:border-box;flex-direction:column;display:flex}@media (width>=1024px){.chat-right-sidebar{width:340px;min-width:340px;max-width:360px;height:100%;box-shadow:none;z-index:10;position:static;transform:none!important}.chat-right-sidebar__mobile-header,.chat-header__back,.chat-header__info-btn,#infoDrawerBackdrop{display:none!important}}@media (width<=1023px){.chat-right-sidebar{z-index:101;width:340px;max-width:86vw;box-shadow:var(--shadow-modal);will-change:transform;transition:transform .2s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.chat-right-sidebar.is-open{transform:translate(0)}.chat-right-sidebar__mobile-header{height:58px;min-height:58px;padding:0 var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-header__back,.chat-header__info-btn{display:inline-flex}}.chat-right-sidebar__mobile-title-wrap{align-items:center;gap:var(--space-2);color:var(--text);display:flex}.chat-right-sidebar__mobile-title-wrap svg,.chat-right-sidebar__mobile-title-wrap i{width:18px;height:18px;stroke:var(--accent)}.chat-right-sidebar__mobile-title{font-family:var(--font-ui);color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.chat-right-sidebar__scroll{overscroll-behavior-y:contain;padding:var(--space-4);gap:var(--space-3);box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow-y:auto}.hearth-card{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);box-sizing:border-box;flex-direction:column;display:flex}.chat-character-card__row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.chat-character-card__avatar,.chat-character-card__portrait{aspect-ratio:3/4;background-color:var(--surface,#1c1815);border:1px solid var(--border,#2e2823);cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:100%;text-decoration:none;transition:border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.chat-character-card__avatar:hover,.chat-character-card__portrait:hover{border-color:#f2ece138}.chat-character-card__avatar:focus-visible,.chat-character-card__portrait:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-character-card__avatar img,.chat-character-card__portrait img,.chat-character-card__portrait-img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .22s;display:block}.chat-character-card__avatar:hover img,.chat-character-card__portrait:hover img{transform:scale(1.02)}.chat-character-card__portrait-initials{font-family:var(--font-ui);color:var(--text);letter-spacing:.05em;text-transform:uppercase;font-size:2.75rem;font-weight:700}.chat-character-card__portrait-pill{z-index:2;border-radius:var(--radius-pill,9999px);-webkit-backdrop-filter:blur(8px);color:var(--text,#f2ece1);font-family:var(--font-ui);letter-spacing:.02em;pointer-events:none;opacity:.8;background-color:#1c1815b8;border:1px solid #f2ece11f;align-items:center;gap:5px;padding:4px 9px;font-size:.7rem;font-weight:600;transition:opacity .16s,background-color .16s,border-color .16s,transform .16s;display:inline-flex;position:absolute;top:10px;left:10px;transform:translateY(0)}.chat-character-card__portrait-pill svg,.chat-character-card__portrait-pill i{stroke:currentColor;width:12px;height:12px}.chat-character-card__avatar:hover .chat-character-card__portrait-pill,.chat-character-card__portrait:hover .chat-character-card__portrait-pill,.chat-character-card__avatar:focus-visible .chat-character-card__portrait-pill,.chat-character-card__portrait:focus-visible .chat-character-card__portrait-pill{opacity:1;background-color:#1c1815eb;border-color:#f2ece147;transform:translateY(-1px)}.chat-character-card__meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-character-card__name{font-family:var(--font-ui);color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;font-weight:700;line-height:1.25;overflow:hidden}.chat-character-card__creator,.chat-character-card__creator-link{font-family:var(--font-dialogue);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:var(--radius-sm,6px);align-items:center;gap:6px;max-width:100%;padding:2px 4px 2px 0;font-size:.8125rem;text-decoration:none;transition:color .15s;display:inline-flex;overflow:hidden}.chat-character-card__creator-avatar{background-color:var(--surface-2);border:1px solid var(--border);width:18px;height:18px;font-family:var(--font-ui);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;transition:transform .15s,border-color .15s;display:inline-flex}.chat-character-card__creator:hover,.chat-character-card__creator-link:hover{color:var(--accent)}.chat-character-card__creator:hover .chat-character-card__creator-handle,.chat-character-card__creator:hover .chat-character-card__creator-text,.chat-character-card__creator-link:hover .chat-character-card__creator-handle,.chat-character-card__creator-link:hover .chat-character-card__creator-text{text-decoration:underline}.chat-character-card__creator:hover .chat-character-card__creator-avatar,.chat-character-card__creator-link:hover .chat-character-card__creator-avatar{border-color:var(--accent);transform:scale(1.08)}.chat-character-card__creator:focus-visible,.chat-character-card__creator-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-character-card__top-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.chat-character-card__likes{font-family:var(--font-ui);color:var(--muted);background-color:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-pill);-webkit-user-select:none;user-select:none;box-sizing:border-box;cursor:pointer;flex-shrink:0;align-items:center;gap:4px;min-height:28px;padding:.25rem .55rem;font-size:.8125rem;font-weight:600;transition:color .15s,background-color .15s,border-color .15s,transform .15s;display:inline-flex}.chat-character-card__likes:hover{color:var(--text);background-color:var(--surface-2);border-color:var(--white-alpha-15);transform:translateY(-1px)}.chat-character-card__likes:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-character-card__likes.is-liked{color:var(--accent);border-color:var(--accent-alpha-35,#c9935a59);background-color:var(--accent-alpha-08,#c9935a14)}.chat-character-card__likes.is-liked .chat-character-card__heart-icon,.chat-character-card__likes.is-liked svg{stroke:var(--accent);fill:var(--accent);transform:scale(1.08)}.chat-character-card__likes.is-liked:hover{background-color:var(--accent-alpha-15,#c9935a26);border-color:var(--accent)}.chat-character-card__likes.is-liked:hover .chat-character-card__heart-icon,.chat-character-card__likes.is-liked:hover svg{stroke:var(--accent);fill:var(--accent)}.chat-character-card__icon-btn{border-radius:var(--radius-pill);background-color:var(--surface-3);border:1px solid var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s,transform .15s;display:inline-flex}.chat-character-card__icon-btn:hover{color:var(--text);background-color:var(--surface-2);border-color:var(--white-alpha-15);transform:translateY(-1px)}.chat-character-card__icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-character-card__icon-btn i,.chat-character-card__icon-btn svg{stroke:currentColor;width:14px;height:14px;display:block}.chat-character-card__heart-icon{width:13px;height:13px;stroke:var(--muted);fill:#0000;transition:transform .15s,fill .15s,stroke .15s}.chat-character-card__likes:hover .chat-character-card__heart-icon{stroke:var(--text)}.chat-character-card__tagline-wrap{flex-direction:column;gap:4px;display:flex}.chat-character-card__tagline{font-family:var(--font-dialogue);color:var(--text);word-break:break-word;margin:0;font-size:.85rem;line-height:1.5}.chat-character-card__tagline.is-clamped{-webkit-line-clamp:2;line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-character-card__more-btn{color:var(--muted);font-family:var(--font-ui);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline;transition:color .15s}.chat-character-card__more-btn:hover{color:var(--text)}.chat-character-card__actions{gap:var(--space-2);margin-top:var(--space-1);grid-template-columns:1fr 1fr;display:grid}.chat-character-card__btn{height:40px;min-height:40px;padding:0 var(--space-3);white-space:nowrap;justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.chat-character-card__btn svg,.chat-character-card__btn i{width:15px;height:15px}.btn--ghost{border:1px solid var(--border);color:var(--text);background:0 0;transition:background-color .15s,color .15s,border-color .15s}.btn--ghost:hover{background-color:var(--surface-3);border-color:var(--white-alpha-15)}.chat-session-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;cursor:pointer;color:inherit;border-radius:var(--radius-sm);text-decoration:none;transition:opacity .15s;display:flex}.chat-session-row:hover{opacity:.85}.chat-session-row--static,.chat-session-row--static:hover{cursor:default;opacity:1}.chat-session-row__left{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-session-row__header{align-items:center;gap:var(--space-2);display:flex}.chat-session-row__label{font-family:var(--font-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.chat-session-row__title{font-family:var(--font-ui);color:var(--text);margin-top:1px;font-size:.9375rem;font-weight:700;line-height:1.3}.chat-session-row__desc{font-family:var(--font-dialogue);color:var(--muted);font-size:.78rem;line-height:1.35}.chat-session-row__chevron{width:16px;height:16px;stroke:var(--muted);flex-shrink:0}.chat-session-card__divider{background-color:var(--border);height:1px;margin:var(--space-2) 0;border:none}.chat-past-chats-card__header{justify-content:space-between;align-items:center;display:flex}.chat-past-chats-card__title{font-family:var(--font-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.8125rem;font-weight:700}.chat-past-chats-list{overscroll-behavior-y:contain;flex-direction:column;gap:4px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.chat-past-session-item-wrap{align-items:center;gap:var(--space-1);width:100%;display:flex;position:relative}.chat-past-session-item{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);text-align:left;cursor:pointer;width:100%;min-width:0;color:var(--text);box-sizing:border-box;background:0 0;border:1px solid #0000;flex:auto;padding:.5rem .6rem;transition:background-color .15s,border-color .15s;display:flex}.chat-past-session-item:hover{background-color:var(--surface-3);border-color:var(--white-alpha-05)}.chat-past-session-item.is-active{background-color:var(--surface-3);border-color:var(--white-alpha-15)}.chat-session-dot{border-radius:var(--radius-pill);border:1.5px solid var(--muted);background-color:#0000;flex-shrink:0;width:8px;min-width:8px;height:8px}.chat-session-dot.is-active{background-color:var(--accent);border-color:var(--accent);box-shadow:0 0 6px #e65f45b3}.chat-past-session-content{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.chat-past-session-title{font-family:var(--font-dialogue);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;line-height:1.3;overflow:hidden}.chat-past-session-meta{align-items:center;gap:var(--space-2);min-width:0;display:flex}.chat-past-session-time{font-family:var(--font-dialogue);color:var(--muted);font-size:.72rem}.chat-past-session-badge{font-family:var(--font-dialogue);color:var(--muted);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:1px 5px;font-size:.6875rem;line-height:1.2}.chat-past-session-rename-btn,.chat-past-session-delete-btn{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;opacity:.45;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;padding:0;transition:opacity .15s,color .15s,background-color .15s,border-color .15s;display:inline-flex}.chat-past-session-rename-btn svg,.chat-past-session-rename-btn i,.chat-past-session-delete-btn svg,.chat-past-session-delete-btn i{width:14px;height:14px}.chat-past-session-rename-btn:hover,.chat-past-session-rename-btn:focus-visible,.chat-past-session-delete-btn:hover,.chat-past-session-delete-btn:focus-visible{opacity:1;color:var(--accent);background-color:var(--accent-alpha-08);border-color:var(--accent-alpha-15)}.chat-past-session-item-wrap:hover .chat-past-session-rename-btn,.chat-past-session-item-wrap:hover .chat-past-session-delete-btn{opacity:.85}.chat-past-session-item-wrap:hover .chat-past-session-rename-btn:hover,.chat-past-session-item-wrap:hover .chat-past-session-delete-btn:hover{opacity:1}@media (hover:none),(pointer:coarse){.chat-past-session-rename-btn,.chat-past-session-delete-btn{opacity:.85}}.chat-past-session-rename{justify-content:space-between;align-items:center;gap:var(--space-2);background-color:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;width:100%;padding:.35rem .5rem;animation:.15s ease-out clearConfirmFadeIn;display:flex}.chat-past-session-rename__input{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--text);font-family:var(--font-dialogue);outline:none;flex:auto;padding:.25rem .45rem;font-size:.78rem;line-height:1.25}.chat-past-session-rename__input:focus{border-color:var(--accent)}.chat-past-session-rename__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.chat-past-session-rename__btn{font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.25rem .5rem;font-size:.72rem;font-weight:700;line-height:1.2;transition:opacity .15s,background-color .15s}.chat-past-session-rename__btn--save{background-color:var(--accent);color:#131110}.chat-past-session-rename__btn--save:hover{opacity:.9}.chat-past-session-rename__btn--cancel{background-color:var(--surface-2);color:var(--text);border-color:var(--border)}.chat-past-session-rename__btn--cancel:hover{background-color:var(--surface-hover)}.chat-past-session-confirm{justify-content:space-between;align-items:center;gap:var(--space-2);background-color:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;width:100%;padding:.4rem .6rem;animation:.15s ease-out clearConfirmFadeIn;display:flex}.chat-past-session-confirm__text{font-family:var(--font-dialogue);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.75rem;font-weight:600;overflow:hidden}.chat-past-session-confirm__actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.chat-past-session-confirm__btn{font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.25rem .5rem;font-size:.72rem;font-weight:700;line-height:1.2;transition:opacity .15s,background-color .15s}.chat-past-session-confirm__btn--delete{background-color:var(--accent);color:#131110}.chat-past-session-confirm__btn--delete:hover{opacity:.9}.chat-past-session-confirm__btn--cancel{background-color:var(--surface-2);color:var(--text);border-color:var(--border)}.chat-past-session-confirm__btn--cancel:hover{background-color:var(--surface-hover)}.chat-past-session-error{z-index:10;background-color:var(--surface-3);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-family:var(--font-dialogue);margin-top:2px;padding:4px 8px;font-size:.72rem;line-height:1.3;animation:.15s ease-out clearConfirmFadeIn;position:absolute;top:100%;left:0;right:0}.chat-past-chats-empty{padding:var(--space-3) 0;color:var(--muted);font-family:var(--font-dialogue);text-align:center;font-size:.8125rem}.chat-clear-wrap{width:100%;margin-top:var(--space-2)}.chat-clear-btn{justify-content:center;align-items:center;gap:var(--space-2);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);font-family:var(--font-ui);cursor:pointer;padding:.65rem 1rem;font-size:.875rem;font-weight:600;transition:all .18s;display:flex;box-shadow:0 1px 3px #0003}.chat-clear-btn svg,.chat-clear-btn i{width:16px;height:16px;color:var(--muted);flex-shrink:0;transition:color .18s,transform .18s}.chat-clear-btn:hover{border-color:var(--accent);color:var(--accent);background-color:#e65f451f;transform:translateY(-1px);box-shadow:0 3px 8px #0000004d}.chat-clear-btn:hover svg,.chat-clear-btn:hover i{color:var(--accent);transform:scale(1.08)}.chat-clear-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-clear-confirm{align-items:center;gap:var(--space-2);padding:var(--space-3);background-color:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-2);flex-direction:column;animation:.18s ease-out clearConfirmFadeIn;display:flex}@keyframes clearConfirmFadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.chat-clear-confirm__text{font-family:var(--font-dialogue);color:var(--text);text-align:center;font-size:.8125rem}.chat-clear-confirm__actions{gap:var(--space-2);width:100%;display:flex}.chat-clear-confirm__btn{font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:.45rem .6rem;font-size:.8125rem;font-weight:700;transition:all .15s}.chat-clear-confirm__btn--yes{background-color:var(--accent);color:#131110}.chat-clear-confirm__btn--yes:hover{opacity:.92;transform:translateY(-1px)}.chat-clear-confirm__btn--no{background-color:var(--surface-2);color:var(--text);border:1px solid var(--border)}.chat-clear-confirm__btn--no:hover{background-color:var(--surface-hover)}.chat-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;opacity:0;pointer-events:none;background-color:#000000a6;transition:opacity .18s;position:fixed;inset:0}.chat-drawer-backdrop.is-open{opacity:1;pointer-events:auto}.chat-drawer{background-color:var(--surface);z-index:101;width:360px;max-width:86vw;box-shadow:var(--shadow-modal);will-change:transform;flex-direction:column;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0}.chat-drawer--left{border-right:1px solid var(--border);left:0;transform:translate(-100%)}.chat-drawer--left.is-open{transform:translate(0)}.chat-drawer__header{height:58px;min-height:58px;padding:0 var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-drawer__header-title-wrap{align-items:center;gap:var(--space-2);color:var(--text);display:flex}.chat-drawer__header-title-wrap svg,.chat-drawer__header-title-wrap i{width:18px;height:18px;stroke:var(--accent)}.chat-drawer__title{font-family:var(--font-ui);color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.chat-drawer__close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:color .18s,background .18s;display:inline-flex}.chat-drawer__close svg,.chat-drawer__close i{width:18px;height:18px}.chat-drawer__close:hover{color:var(--text);background:var(--surface-2)}.chat-drawer__search-box{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background-color:var(--surface);flex-shrink:0;position:relative}.chat-drawer__search-icon{left:calc(var(--space-4) + 10px);width:16px;height:16px;stroke:var(--muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.chat-drawer__search-input{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:38px;color:var(--text);font-family:var(--font-dialogue);box-sizing:border-box;padding:0 .75rem 0 2.25rem;font-size:.875rem;transition:border-color .18s,box-shadow .18s}.chat-drawer__search-input::placeholder{color:var(--muted);opacity:.75}.chat-drawer__search-input:focus{border-color:var(--muted);box-shadow:var(--shadow-focus-input);outline:none}.chat-drawer__quick-actions{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background-color:var(--surface-2);flex-shrink:0;display:flex}.chat-drawer__new-btn{min-height:34px;padding:.45rem .8rem;font-size:.8125rem}.chat-drawer__new-btn svg,.chat-drawer__new-btn i{width:14px;height:14px}.chat-drawer__all-link{font-family:var(--font-ui);color:var(--muted);align-items:center;gap:4px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .18s,transform .18s;display:inline-flex}.chat-drawer__all-link svg,.chat-drawer__all-link i{width:13px;height:13px;transition:transform .18s}.chat-drawer__all-link:hover{color:var(--text)}.chat-drawer__all-link:hover svg,.chat-drawer__all-link:hover i{transform:translate(2px)}.chat-drawer__scroll{overscroll-behavior-y:contain;padding:var(--space-2) var(--space-3);flex:1;overflow-y:auto}.chat-drawer__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chat-drawer__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;box-sizing:border-box;background-color:#0000;border:1px solid #0000;width:100%;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:flex}.chat-drawer__item:hover{background-color:var(--surface-2);border-color:var(--white-alpha-05)}.chat-drawer__item.is-active{background-color:var(--surface-2);border-color:var(--accent)}.chat-drawer__item-avatar{border-radius:var(--radius-pill);background-color:var(--surface-3);border:1px solid var(--border);width:40px;min-width:40px;height:40px;font-family:var(--font-ui);color:var(--text);flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex;overflow:hidden}.chat-drawer__item-avatar img{object-fit:cover;width:100%;height:100%;display:block}.chat-drawer__item-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-drawer__item-top{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.chat-drawer__item-name{font-family:var(--font-ui);color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;font-weight:700;overflow:hidden}.chat-drawer__item-time{font-family:var(--font-dialogue);color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.72rem}.chat-drawer__item-snippet{font-family:var(--font-dialogue);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8125rem;line-height:1.35;overflow:hidden}.chat-drawer__empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--muted);font-family:var(--font-dialogue);font-size:.875rem}.chat-scroll-area{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:28px var(--space-4) var(--space-4);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;display:block;overflow-y:auto}.chat-scroll-area::-webkit-scrollbar{width:6px}.chat-scroll-area::-webkit-scrollbar-track{background:0 0}.chat-scroll-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}.chat-scroll-area::-webkit-scrollbar-thumb:hover{background:var(--muted)}.chat-messages{gap:var(--space-3);flex-direction:column;width:100%;max-width:760px;min-height:0;margin:0 auto;display:flex}.chat-day-divider{margin:var(--space-4) 0;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.chat-day-divider:before{content:"";background-color:var(--border);z-index:1;height:1px;position:absolute;top:50%;left:0;right:0}.chat-day-divider__pill{z-index:2;font-family:var(--font-ui);color:var(--muted);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);-webkit-user-select:none;user-select:none;letter-spacing:.02em;padding:.2rem .85rem;font-size:.75rem;font-weight:700;position:relative}.chat-message-row{max-width:82%;display:flex;position:relative}@media (width<=640px){.chat-message-row{max-width:90%}}.chat-message-row--user{flex-direction:column;align-self:flex-end;align-items:flex-end}.chat-message-row--user .chat-bubble{background-color:var(--surface-2);border:1px solid var(--border);border-radius:14px 14px 4px}.chat-message-row--character{align-self:flex-start;align-items:flex-start;gap:var(--space-2);flex-direction:row}.chat-message__avatar{border-radius:var(--radius-pill);background-color:var(--surface-2);border:1px solid var(--border);width:30px;min-width:30px;height:30px;font-family:var(--font-ui);color:var(--text);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:3px;font-size:.72rem;font-weight:700;display:flex;overflow:hidden}.chat-message__avatar img{object-fit:cover;width:100%;height:100%;display:block}.chat-message__body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.chat-message-row--character .chat-bubble{background-color:var(--surface);border:1px solid var(--border);border-radius:14px 14px 14px 4px}.chat-bubble{color:var(--text);word-break:break-word;cursor:pointer;-webkit-user-select:text;user-select:text;padding:14px 16px;box-shadow:0 2px 8px #00000040}.chat-bubble__text{font-family:var(--font-dialogue);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.65}.chat-action{color:var(--muted);font-style:italic;font-family:var(--font-dialogue);padding-right:.12em}.chat-action+.chat-action{margin-left:.25em}.chat-bold{color:inherit;font-weight:700}.chat-starters-wrap{margin:var(--space-2) 0 var(--space-4) calc(30px + var(--space-2));flex-direction:column;align-items:flex-start;max-width:680px;animation:.22s ease-out startersFadeIn;display:flex}@keyframes startersFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-starters-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-starter-chip{white-space:pre-wrap;word-break:break-word;text-align:left;background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);font-family:var(--font-dialogue);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem .95rem;font-size:.84rem;line-height:1.4;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s,color .15s;display:inline-block;box-shadow:0 2px 6px #0003}.chat-starter-chip:hover{background-color:var(--surface-3);border-color:var(--accent);color:var(--text);box-shadow:0 4px 12px var(--accent-alpha-18);transform:translateY(-1px)}.chat-starter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-starter-chip:active{transform:translateY(0)}.chat-starter-chip .chat-action{color:var(--muted);font-style:italic;font-family:var(--font-dialogue)}@media (width<=640px){.chat-starters-wrap{margin-left:0;margin-top:var(--space-2)}}.chat-bubble__time{color:var(--muted);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;margin-top:.25rem;padding:0 .25rem;font-size:.7rem;transition:opacity .18s,transform .18s;display:block;transform:translateY(-2px)}.chat-message-row:hover .chat-bubble__time,.chat-message-row:focus-within .chat-bubble__time,.chat-message-row.is-timestamp-visible .chat-bubble__time{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-message-actions{opacity:0;pointer-events:none;align-items:center;gap:4px;margin-top:4px;transition:opacity .18s,transform .18s;display:inline-flex;transform:translateY(-2px)}.chat-message-row--character:hover .chat-message-actions,.chat-message-row--character:focus-within .chat-message-actions,.chat-message-row--character.is-actions-visible .chat-message-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-message__body--user{align-items:flex-end;width:100%}.chat-message-actions--user{justify-content:flex-end}.chat-message-row--user:hover .chat-message-actions,.chat-message-row--user:focus-within .chat-message-actions,.chat-message-row--user.is-actions-visible .chat-message-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-message-row.is-editing .chat-message-actions{display:none!important}.chat-bubble__meta{align-items:center;gap:6px;margin-top:.25rem;display:flex}.chat-message-row--user .chat-bubble__meta{justify-content:flex-end}.chat-bubble__meta .chat-bubble__time{margin-top:0}.chat-bubble__edited{font-family:var(--font-ui,sans-serif);color:var(--muted,#a1a1aa);opacity:.75;-webkit-user-select:none;user-select:none;font-size:.6875rem;font-style:italic;line-height:1;transition:opacity .15s;display:inline-block}.chat-message-row:hover .chat-bubble__edited{opacity:1}.chat-message-row.is-editing .chat-bubble{cursor:default;box-shadow:none;background:0 0;border-color:#0000;padding:0}.chat-bubble-editor{flex-direction:column;gap:8px;width:100%;min-width:280px;display:flex}.chat-bubble-editor__input{box-sizing:border-box;background-color:var(--surface,#1c1815);width:100%;color:var(--text,#f2ece1);border:1px solid var(--accent,#e65f45);font-family:var(--font-dialogue,inherit);resize:vertical;border-radius:10px;outline:none;padding:14px 16px;font-size:15px;line-height:1.65;transition:border-color .15s,box-shadow .15s}.chat-message-row--user .chat-bubble-editor__input{background-color:var(--surface-2,#242019)}.chat-bubble-editor__input:focus{border-color:var(--accent,#e65f45);box-shadow:0 0 0 2px var(--accent-alpha-18,#e65f452e)}.chat-bubble-editor__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.chat-bubble-editor__helper{font-family:var(--font-ui,sans-serif);color:var(--muted,#a89c8b);-webkit-user-select:none;user-select:none;font-size:11px;line-height:1.4}.chat-bubble-editor__helper em{font-style:italic;font-family:var(--font-dialogue,inherit);color:var(--muted,#a89c8b)}.chat-bubble-editor__actions{justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.chat-bubble-editor__btn{border-radius:var(--radius-sm,6px);font-family:var(--font-ui,sans-serif);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:.35rem .85rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.chat-bubble-editor__btn--cancel{border:1px solid var(--border,#2e2823);color:var(--muted,#a89c8b);background-color:#0000}.chat-bubble-editor__btn--cancel:hover:not(:disabled){background-color:var(--surface-2,#242019);color:var(--text,#f2ece1)}.chat-bubble-editor__btn--save{background-color:var(--accent,#e65f45);border:1px solid var(--accent,#e65f45);color:#131110;font-weight:700}.chat-bubble-editor__btn--save:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.chat-bubble-editor__btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-message-action-btn{border-radius:var(--radius-sm);background-color:var(--surface-2);border:1px solid var(--border);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s,border-color .15s,transform .15s;display:inline-flex}.chat-message-action-btn svg,.chat-message-action-btn i{width:14px;height:14px;display:block}.chat-message-action-btn:hover{color:var(--text);background-color:var(--surface-3);border-color:var(--white-alpha-15);transform:translateY(-1px)}.chat-message-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-message-action-btn.is-success{color:#22c55e;border-color:#22c55e66}.chat-typing{width:100%;max-width:760px;margin:var(--space-2) auto 0;align-items:flex-end;gap:var(--space-2);transition:opacity .18s,transform .18s;display:flex}.chat-typing[hidden]{display:none!important}.chat-typing__avatar{border-radius:var(--radius-pill);background-color:var(--surface-2);border:1px solid var(--border);width:28px;min-width:28px;height:28px;font-family:var(--font-ui);color:var(--text);justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.chat-typing__bubble{background-color:var(--surface);border:1px solid var(--border);align-items:center;gap:var(--space-1);border-radius:12px 12px 12px 4px;padding:.625rem .85rem;display:inline-flex}.chat-typing__dot{width:var(--radius-sm);height:var(--radius-sm);border-radius:var(--radius-pill);background-color:var(--muted);animation:1.4s ease-in-out infinite typingPulse}.chat-typing__dot:first-child{animation-delay:0s}.chat-typing__dot:nth-child(2){animation-delay:.2s}.chat-typing__dot:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.chat-footer{border-top:1px solid var(--border);background-color:var(--surface);padding:var(--space-2) var(--space-4) max(var(--space-3), env(safe-area-inset-bottom,12px)) var(--space-4);z-index:25;box-sizing:border-box;flex-shrink:0;width:100%;position:relative}body.keyboard-open .chat-footer{padding-bottom:var(--space-2)!important}.chat-footer__inner{gap:var(--space-1);flex-direction:column;width:100%;max-width:760px;margin:0 auto;display:flex}.chat-input-hint{text-align:center;font-family:var(--font-dialogue);color:var(--muted);-webkit-user-select:none;user-select:none;opacity:.8;padding-top:4px;padding-bottom:0;font-size:.72rem;display:block}.chat-command-standby{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);background-color:var(--surface);border:1px solid var(--accent-alpha-35,#e65f4559);border-radius:var(--radius-pill,9999px);width:fit-content;max-width:100%;box-shadow:0 2px 10px #00000040, 0 0 16px var(--accent-alpha-15);padding:5px 12px;animation:.18s forwards chatStandbyFadeIn;display:flex}@keyframes chatStandbyFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-command-standby[hidden]{display:none!important}.chat-command-standby__pulse{background-color:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:50%;flex-shrink:0;animation:1.8s ease-in-out infinite chatStandbyPulse}@keyframes chatStandbyPulse{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.chat-command-badge{color:var(--accent);background-color:var(--accent-alpha-15);border:1px solid var(--accent);border-radius:var(--radius-sm,4px);box-shadow:0 0 10px var(--accent-alpha-20);letter-spacing:.02em;align-items:center;padding:1px 7px;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:12px;font-weight:700;display:inline-flex}.chat-command-standby-text{font-family:var(--font-dialogue);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.chat-input-bar.is-image-standby .chat-scene-btn{color:var(--accent);border-color:var(--accent);background-color:var(--accent-alpha-15);box-shadow:0 0 12px var(--accent-alpha-20);transform:translateY(-1px)}.chat-input-bar.is-image-standby .chat-input-field{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 0 14px var(--accent-alpha-18)}.chat-command-code{color:var(--accent);background-color:var(--accent-alpha-15);border:1px solid var(--accent);border-radius:var(--radius-sm,4px);box-shadow:0 0 8px var(--accent-alpha-18);vertical-align:baseline;margin:0 2px;padding:1px 6px;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.88em;font-weight:600;display:inline-block}.chat-inline-code{color:var(--text);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm,4px);vertical-align:baseline;margin:0 2px;padding:1px 5px;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:.88em;display:inline-block}.chat-input-bar{align-items:flex-end;gap:var(--space-2);box-sizing:border-box;width:100%;display:flex}.chat-scene-btn{border-radius:var(--radius-lg);background-color:var(--surface-2);border:1px solid var(--border);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--muted);cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s,opacity .18s,color .18s,border-color .18s,background .18s;display:inline-flex}.chat-scene-btn svg,.chat-scene-btn i{width:20px;height:20px;display:block}.chat-scene-btn:hover{color:var(--text);border-color:var(--muted);background-color:var(--surface-3);transform:translateY(-1px)}.chat-scene-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-input-field{background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;height:44px;min-height:44px;max-height:140px;color:var(--text);font-family:var(--font-dialogue);resize:none;box-sizing:border-box;scrollbar-width:none;touch-action:manipulation;flex:1;padding:.65rem .875rem;font-size:16px;line-height:1.45;transition:border-color .18s,box-shadow .18s;overflow-y:hidden}.chat-input-field::-webkit-scrollbar{width:0;height:0;display:none}.chat-input-field::placeholder{color:var(--muted);opacity:.7}.chat-input-field:focus{border-color:var(--muted);box-shadow:var(--shadow-focus-input);outline:none}.chat-send-btn{border-radius:var(--radius-pill);background-color:var(--accent);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--bg);cursor:pointer;box-sizing:border-box;opacity:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:var(--shadow-primary);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s,opacity .18s,box-shadow .18s;visibility:visible!important;display:inline-flex!important}.chat-send-btn svg,.chat-send-btn i{width:18px;height:18px;stroke:var(--bg);color:var(--bg);flex-shrink:0;display:block}.chat-send-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.chat-send-btn:active:not(:disabled){transform:scale(.96)}.chat-send-btn:focus-visible{outline:3px solid var(--text);outline-offset:3px}.chat-send-btn:disabled{cursor:not-allowed;box-shadow:none;transform:none;opacity:.38!important}.chat-send-btn.chat-send-btn--stop,.chat-send-btn--stop{box-shadow:0 0 16px var(--accent-alpha-35), var(--shadow-primary);transform:none;background-color:var(--accent)!important;color:var(--bg)!important;opacity:1!important;cursor:pointer!important}.chat-send-btn.chat-send-btn--stop:hover:not(:disabled),.chat-send-btn--stop:hover:not(:disabled){transform:translateY(-1px)scale(1.02);opacity:.94!important}.chat-send-btn.chat-send-btn--stop:active:not(:disabled),.chat-send-btn--stop:active:not(:disabled){transform:scale(.96)!important}.chat-send-btn svg.chat-stop-icon,.chat-send-btn .chat-stop-icon{stroke:none;width:14px;height:14px;fill:var(--bg);flex-shrink:0;display:block}@media (width<=768px){.chat-input-hint{display:none!important}.chat-footer{padding:var(--space-2) var(--space-3) max(var(--space-3), env(safe-area-inset-bottom,12px)) var(--space-3)}.chat-input-bar{align-items:center;gap:var(--space-2)}.chat-scene-btn{width:42px;min-width:42px;height:42px;min-height:42px}.chat-input-field{height:42px;min-height:42px;padding:.6rem .85rem;font-size:16px!important}.chat-send-btn{width:42px;min-width:42px;height:42px;min-height:42px}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;z-index:110;background-color:#0000008c;transition:opacity .2s;position:fixed;inset:0}.chat-sheet-backdrop.is-open{opacity:1;pointer-events:auto}.chat-sheet{background-color:var(--surface);border:1px solid var(--border);box-sizing:border-box;z-index:120;flex-direction:column;display:flex}.chat-sheet__header{height:56px;min-height:56px;padding:0 var(--space-4);border-bottom:1px solid var(--border);background-color:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-sheet__title-wrap{align-items:center;gap:var(--space-2);color:var(--text);display:flex}.chat-sheet__title-wrap svg,.chat-sheet__title-wrap i{width:18px;height:18px;stroke:var(--accent)}.chat-sheet__title{font-family:var(--font-ui);color:var(--text);margin:0;font-size:1rem;font-weight:700}.chat-sheet__close{border-radius:var(--radius-md);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:transform .18s,color .18s,background .18s,border-color .18s;display:inline-flex}.chat-sheet__close svg,.chat-sheet__close i{width:18px;height:18px}.chat-sheet__close:hover{color:var(--text);background-color:var(--surface-2);border-color:var(--border);transform:translateY(-1px)}.chat-sheet__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-sheet__body{overscroll-behavior-y:contain;padding:var(--space-4);gap:var(--space-3);box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-sheet__subtext{font-family:var(--font-dialogue);color:var(--muted);margin:0 0 var(--space-1);font-size:.8125rem;line-height:1.45}@media (width<=1023px){.chat-sheet{width:360px;max-width:90vw;height:100dvh;box-shadow:var(--shadow-modal);will-change:transform;transition:transform .22s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.chat-sheet.is-open{transform:translate(0)}}@media (width>=1024px){.chat-sheet-backdrop{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:95;background-color:#00000061}.chat-sheet{border-radius:var(--radius-xl);width:350px;max-width:calc(100vw - 36px);max-height:calc(100vh - 90px);box-shadow:var(--shadow-modal);z-index:100;opacity:0;pointer-events:none;transition:transform .18s cubic-bezier(.16,1,.3,1),opacity .18s;position:fixed;top:68px;right:18px;transform:translateY(-8px)scale(.98)}.chat-sheet.is-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}}.chat-memory-list-wrap{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.chat-memory-loading{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-8) 0;color:var(--muted);font-family:var(--font-dialogue);font-size:.85rem;display:flex}.chat-memory-loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:var(--radius-pill);width:18px;height:18px;animation:.75s linear infinite chatSpin}@keyframes chatSpin{to{transform:rotate(360deg)}}.chat-memory-empty{text-align:center;padding:var(--space-8) var(--space-4);background-color:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.chat-memory-empty__icon{border-radius:var(--radius-pill);background-color:var(--surface-3);border:1px solid var(--border);width:42px;height:42px;color:var(--muted);margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.chat-memory-empty__icon svg,.chat-memory-empty__icon i{width:20px;height:20px;stroke:var(--accent)}.chat-memory-empty__text{font-family:var(--font-dialogue);color:var(--muted);margin:0;font-size:.85rem;line-height:1.45}.chat-memory-sections{gap:var(--space-5);flex-direction:column;display:flex}.chat-memory-section{gap:var(--space-2);flex-direction:column;display:flex}.chat-memory-section__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.chat-memory-section__title-wrap{align-items:center;gap:var(--space-2);display:flex}.chat-memory-section__title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.chat-memory-count-pill{font-family:var(--font-ui);color:var(--muted);background-color:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 6px;font-size:.65rem;font-weight:600}.chat-memory-update-btn{background-color:var(--surface-2);border:1px solid var(--accent-alpha-35);color:var(--accent);font-family:var(--font-ui);border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:700;line-height:1;transition:all .16s;display:inline-flex}.chat-memory-update-btn svg,.chat-memory-update-btn i{width:12px;height:12px;stroke:var(--accent)}.chat-memory-update-btn:hover:not(:disabled){background-color:var(--accent-alpha-15);border-color:var(--accent);transform:translateY(-1px)}.chat-memory-update-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.chat-memory-spinner-icon{animation:.75s linear infinite chatSpin}.chat-memory-error{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--accent-alpha-35);border-radius:var(--radius-md);background-color:#e65f451f;margin-top:2px;display:flex}.chat-memory-error__content{font-family:var(--font-ui);color:var(--text);align-items:center;gap:6px;font-size:.75rem;display:flex}.chat-memory-error__content svg,.chat-memory-error__content i{width:13px;height:13px;stroke:var(--accent);flex-shrink:0}.chat-memory-error__retry-btn{background-color:var(--accent);color:#131110;font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;padding:3px 8px;font-size:.7rem;font-weight:700;transition:opacity .15s}.chat-memory-error__retry-btn:hover{opacity:.9}.chat-memory-overview-card{background-color:var(--surface-3);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);gap:var(--space-2);flex-direction:column;display:flex;position:relative;box-shadow:0 2px 8px #0003}.chat-memory-overview-card__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.chat-memory-overview-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:5px;font-size:.65rem;font-weight:700;display:inline-flex}.chat-memory-overview-label svg,.chat-memory-overview-label i{width:11px;height:11px;stroke:var(--accent)}.chat-memory-overview-text{font-family:var(--font-dialogue);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.85rem;line-height:1.6}.chat-memory-overview-empty{font-family:var(--font-dialogue);color:var(--muted);margin:0;font-size:.8125rem;font-style:italic;line-height:1.5}.chat-memory-subempty{padding:var(--space-3);background-color:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center}.chat-memory-subempty__text{font-family:var(--font-dialogue);color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.chat-memory-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.chat-memory-item{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;transition:border-color .15s,opacity .18s,transform .18s;display:flex}.chat-memory-item:hover{border-color:var(--white-alpha-15)}.chat-memory-item__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.chat-memory-badge{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);align-items:center;gap:4px;padding:2px 7px;font-size:.65rem;font-weight:700;display:inline-flex}.chat-memory-badge svg,.chat-memory-badge i{width:11px;height:11px}.chat-memory-badge--pinned{background-color:var(--accent-alpha-15);color:var(--accent);border:1px solid var(--accent-alpha-35)}.chat-memory-badge--auto{background-color:var(--surface-3);color:var(--muted);border:1px solid var(--border)}.chat-memory-delete-btn{color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:inline-flex}.chat-memory-delete-btn svg,.chat-memory-delete-btn i{width:14px;height:14px}.chat-memory-delete-btn:hover{color:var(--accent);background-color:var(--accent-alpha-10);border-color:var(--accent-alpha-20)}.chat-memory-delete-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-memory-content{font-family:var(--font-dialogue);color:var(--text);word-break:break-word;margin:0;font-size:.84rem;line-height:1.45}.chat-memory-time{font-family:var(--font-dialogue);color:var(--muted);font-size:.72rem}.chat-memory-confirm{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--surface-3);border:1px solid var(--accent-alpha-35);border-radius:var(--radius-sm);display:flex}.chat-memory-confirm__prompt{font-family:var(--font-ui);color:var(--text);font-size:.75rem;font-weight:700}.chat-memory-confirm__actions{align-items:center;gap:var(--space-1);display:flex}.chat-memory-confirm__btn-yes{background-color:var(--accent);color:#131110;font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:3px 8px;font-size:.72rem;font-weight:700;transition:opacity .15s}.chat-memory-confirm__btn-yes:hover{opacity:.9}.chat-memory-confirm__btn-no{color:var(--muted);border:1px solid var(--border);font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:3px 8px;font-size:.72rem;transition:all .15s}.chat-memory-confirm__btn-no:hover{color:var(--text);border-color:var(--muted)}.chat-lightbox-backdrop{-webkit-backdrop-filter:blur(6px);z-index:1200;opacity:1;visibility:visible;padding:var(--space-4,16px);box-sizing:border-box;background:#0a0807d1;justify-content:center;align-items:center;transition:opacity .18s,visibility .18s;display:flex;position:fixed;inset:0}.chat-lightbox-backdrop.hidden,.chat-lightbox-backdrop[hidden]{opacity:0;visibility:hidden;pointer-events:none}.chat-lightbox-card{background:var(--surface,#1c1815);border:1px solid var(--border,#2e2823);width:fit-content;max-width:min(92vw,760px);max-height:90vh;box-shadow:var(--shadow-modal);box-sizing:border-box;border-radius:14px;flex-direction:column;transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s;display:flex;overflow:hidden;transform:translateY(0)scale(1)}.chat-lightbox-backdrop.hidden .chat-lightbox-card{opacity:0;transform:translateY(16px)scale(.97)}.chat-lightbox-img-wrap{aspect-ratio:auto;background-color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:fit-content;max-width:100%;max-height:72vh;margin-inline:auto;display:flex;position:relative;overflow:hidden}.chat-lightbox-img{object-fit:contain;width:auto;max-width:min(92vw,760px);height:auto;max-height:72vh;display:block}.chat-lightbox-slides-wrap{display:flex;position:absolute;inset:0;overflow:hidden}.chat-lightbox-slide,.chat-lightbox-slides-wrap .slide,.chat-lightbox-slides-wrap .quick-view-slide{opacity:0;background:var(--surface-2,#242019);z-index:0;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:absolute;inset:0;overflow:hidden}.chat-lightbox-slide.is-active,.chat-lightbox-slide.on,.chat-lightbox-slides-wrap .slide.is-active,.chat-lightbox-slides-wrap .slide.on,.chat-lightbox-slides-wrap .quick-view-slide.is-active{opacity:1;z-index:1}.chat-lightbox-slide-img,.chat-lightbox-slides-wrap .slide-img,.chat-lightbox-slides-wrap .quick-view-slide-img{object-fit:contain;object-position:center center;width:100%;height:100%;display:block}.chat-lightbox-slide-initial,.chat-lightbox-slides-wrap .initial,.chat-lightbox-slides-wrap .quick-view-slide-initial{font-family:var(--font-ui);color:#37312a;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:80px;font-weight:700;display:flex}.chat-lightbox-slide-cur,.chat-lightbox-slides-wrap .cur,.chat-lightbox-slides-wrap .quick-view-slide-cur{font-family:var(--font-ui);letter-spacing:.1em;color:#8a7e70;z-index:2;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);background:#14121099;border:1px dashed #3a332b;border-radius:5px;padding:3px 8px;font-size:8.5px;position:absolute;top:14px;left:14px}.chat-lightbox-dots,.chat-lightbox-img-wrap .dots,.chat-lightbox-img-wrap .quick-view-dots{z-index:2;justify-content:center;gap:7px;display:flex;position:absolute;bottom:14px;left:0;right:0}.chat-lightbox-dot,.chat-lightbox-img-wrap .dot,.chat-lightbox-img-wrap .quick-view-dot{cursor:pointer;background:#f2ece140;border:none;border-radius:3px;width:22px;height:4px;padding:0;transition:background .2s}.chat-lightbox-dot:hover,.chat-lightbox-img-wrap .dot:hover,.chat-lightbox-img-wrap .quick-view-dot:hover{background:#f2ece180}.chat-lightbox-dot.is-active,.chat-lightbox-dot.on,.chat-lightbox-img-wrap .dot.is-active,.chat-lightbox-img-wrap .dot.on,.chat-lightbox-img-wrap .quick-view-dot.is-active{background:var(--accent,#e65f45)}.chat-lightbox-body{padding:var(--space-3) var(--space-4);background-color:var(--surface,#1c1815);border-top:1px solid var(--border,#2e2823);justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);box-sizing:border-box;flex-wrap:wrap;width:0;min-width:100%;display:flex}.chat-lightbox-meta{font-family:var(--font-ui);color:var(--text,#f2ece1);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.chat-lightbox-row{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.chat-lightbox-dl-btn,.chat-lightbox-close-btn{border-radius:var(--radius-md,8px);cursor:pointer;background:var(--surface-2,#242019);border:1px solid var(--border,#2e2823);min-height:32px;color:var(--text,#f2ece1);align-items:center;gap:6px;padding:0 12px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.chat-lightbox-dl-btn:hover{background:var(--surface-3,#2d2822);color:var(--text,#f2ece1);border-color:#f2ece133}.chat-lightbox-close-btn{color:var(--muted,#a89c8b);background:0 0}.chat-lightbox-close-btn:hover{background:var(--surface-2,#242019);color:var(--text,#f2ece1)}.chat-lightbox-dl-btn svg,.chat-lightbox-dl-btn i,.chat-lightbox-close-btn svg,.chat-lightbox-close-btn i{width:14px;height:14px}.chat-pill--pinned{font-family:var(--font-ui);border-radius:var(--radius-pill);color:var(--accent);border:1px solid var(--accent-alpha-35);letter-spacing:.06em;background-color:#e65f4526;align-items:center;gap:3px;padding:.12rem .45rem;font-size:.62rem;font-weight:800;display:inline-flex}@media (width>=1024px){.chat-sheet--persona{z-index:100;width:380px;max-width:calc(100vw - 36px);max-height:min(650px,100vh - 84px);position:fixed;top:68px;right:18px}}.persona-sub-banner{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-2);display:flex}.persona-sub-banner__icon{width:14px;height:14px;stroke:var(--accent);flex-shrink:0;margin-top:2px}.persona-sub-banner__text{font-family:var(--font-dialogue);color:var(--muted);margin:0;font-size:.78rem;line-height:1.35}.persona-closet-top{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.persona-cap-hint{font-family:var(--font-ui);color:var(--muted);font-size:.75rem;font-weight:700}.persona-cap-hint.is-capped{color:var(--accent)}.persona-new-btn{align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;display:inline-flex}.persona-new-btn svg,.persona-new-btn i{width:13px;height:13px}.persona-list{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.persona-list-loading{padding:var(--space-4);font-family:var(--font-ui);color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:.8125rem;display:flex}.persona-card{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);flex-direction:column;gap:6px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.persona-card:hover{border-color:#f2ece126}.persona-card.is-bound{border-color:var(--accent-alpha-35);background-color:#e65f450d}.persona-card__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.persona-card__title-wrap{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.persona-card__name{font-family:var(--font-ui);color:var(--text);margin:0;font-size:.9375rem;font-weight:700}.persona-badge{font-family:var(--font-ui);border-radius:var(--radius-pill);letter-spacing:.05em;text-transform:uppercase;padding:.1rem .4rem;font-size:.62rem;font-weight:800}.persona-badge--default{background-color:var(--surface-3);color:var(--muted);border:1px solid var(--border)}.persona-badge--bound{color:var(--accent);border:1px solid var(--accent-alpha-35);background-color:#e65f4526;align-items:center;gap:3px;display:inline-flex}.persona-badge--bound svg,.persona-badge--bound i{width:10px;height:10px;stroke:var(--accent)}.persona-card__pronouns{font-family:var(--font-dialogue);color:var(--muted);font-size:.78rem;font-style:italic}.persona-card__details{font-family:var(--font-dialogue);color:#d4cbbe;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.persona-card__actions{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid #2e282399;margin-top:4px;display:flex}.persona-card__btn-bind{border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.persona-card__btn-bind:hover{background:var(--surface-3);border-color:var(--accent);color:var(--accent)}.persona-card__btn-bind.is-bound{border-color:var(--accent-alpha-35);color:var(--accent);cursor:default;background:#e65f4526}.persona-card__btn-bind svg,.persona-card__btn-bind i{width:12px;height:12px}.persona-card__icon-actions{align-items:center;gap:4px;display:flex}.persona-card__icon-btn{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:5px;transition:all .15s;display:inline-flex}.persona-card__icon-btn:hover{color:var(--text);background-color:var(--surface-3)}.persona-card__icon-btn--delete:hover{color:var(--accent);background-color:#e65f4526}.persona-card__icon-btn svg,.persona-card__icon-btn i{width:14px;height:14px}.persona-empty{text-align:center;padding:var(--space-6) var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.persona-empty__icon{border-radius:var(--radius-pill);background-color:var(--surface-2);width:44px;height:44px;color:var(--muted);justify-content:center;align-items:center;display:flex}.persona-empty__icon svg,.persona-empty__icon i{width:22px;height:22px}.persona-empty__title{font-family:var(--font-ui);color:var(--text);margin:0;font-size:.9375rem;font-weight:700}.persona-empty__desc{font-family:var(--font-dialogue);color:var(--muted);max-width:260px;margin:0;font-size:.8125rem;line-height:1.4}.persona-editor-top{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.persona-back-btn{color:var(--muted);font-family:var(--font-ui);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:4px 6px;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.persona-back-btn:hover{color:var(--text);background-color:var(--surface-2)}.persona-back-btn svg,.persona-back-btn i{width:14px;height:14px}.persona-editor-mode-label{font-family:var(--font-ui);color:var(--text);font-size:.875rem;font-weight:700}.persona-form{gap:var(--space-3);flex-direction:column;display:flex}.persona-field{flex-direction:column;gap:6px;display:flex}.persona-field__header{justify-content:space-between;align-items:center;display:flex}.persona-field__label{font-family:var(--font-ui);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.persona-field__req{color:var(--accent)}.persona-field__count{font-family:var(--font-ui);color:var(--muted);font-size:.72rem}.persona-field__count.is-warning{color:#f59e0b}.persona-field__count.is-max{color:var(--accent);font-weight:700}.persona-field__hint{font-family:var(--font-dialogue);color:var(--muted);font-size:.75rem;line-height:1.35}.persona-input,.persona-textarea{background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:var(--font-ui);padding:var(--space-2) var(--space-3);box-sizing:border-box;width:100%;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.persona-input:focus,.persona-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-alpha-15);outline:none}.persona-textarea{font-family:var(--font-dialogue);resize:vertical;min-height:80px;line-height:1.45}.persona-chips{flex-wrap:wrap;gap:6px;margin-bottom:2px;display:flex}.persona-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);font-family:var(--font-ui);cursor:pointer;padding:3px 10px;font-size:.75rem;font-weight:600;transition:all .15s}.persona-chip:hover{color:var(--text);background-color:var(--surface-3);border-color:#f2ece133}.persona-chip.is-active{border-color:var(--accent-alpha-35);color:var(--accent);background-color:#e65f4526}.persona-checkboxes{gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-3);background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.persona-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;display:flex}.persona-checkbox{appearance:none;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--surface);cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:2px;transition:background-color .15s,border-color .15s;position:relative}.persona-checkbox:checked{background-color:var(--accent);border-color:var(--accent)}.persona-checkbox:checked:after{content:"";border:2px solid #131110;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.persona-checkbox-custom{display:none}.persona-checkbox-text{flex-direction:column;gap:2px;display:flex}.persona-checkbox-text strong{font-family:var(--font-ui);color:var(--text);font-size:.8125rem;font-weight:600}.persona-checkbox-text small{font-family:var(--font-dialogue);color:var(--muted);font-size:.75rem}.persona-editor-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);display:flex}.persona-error{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--accent-alpha-35);border-radius:var(--radius-md);margin-bottom:var(--space-2);background-color:#e65f451f;display:flex}.persona-error__content{font-family:var(--font-ui);color:var(--text);align-items:center;gap:8px;font-size:.78rem;line-height:1.35;display:flex}.persona-error__content svg,.persona-error__content i{width:14px;height:14px;stroke:var(--accent);flex-shrink:0}.persona-error__dismiss-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:inline-flex}.persona-error__dismiss-btn:hover{color:var(--text)}.persona-error__dismiss-btn svg,.persona-error__dismiss-btn i{width:14px;height:14px}.persona-delete-dialog{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;padding:var(--space-4);border-radius:inherit;background-color:#131110e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.persona-delete-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);width:100%;max-width:320px;box-shadow:var(--shadow-modal);gap:var(--space-3);flex-direction:column;display:flex}.persona-delete-header{color:var(--accent);align-items:center;gap:8px;display:flex}.persona-delete-header svg,.persona-delete-header i{width:18px;height:18px}.persona-delete-title{font-family:var(--font-ui);color:var(--text);margin:0;font-size:.9375rem;font-weight:700}.persona-delete-desc{font-family:var(--font-dialogue);color:var(--text);margin:0;font-size:.8125rem;line-height:1.4}.persona-delete-note{color:var(--muted);font-size:.75rem;display:block}.persona-delete-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:4px;display:flex}.btn--danger{background-color:var(--accent);color:#131110;font-family:var(--font-ui);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;border:none;font-size:.8125rem;font-weight:700;transition:opacity .15s}.btn--danger:hover{opacity:.9}.chat-message-row--image .chat-message__body{max-width:min(420px,88vw)}.chat-bubble--image{padding:var(--space-3);gap:var(--space-2);border-radius:var(--radius-lg);background-color:var(--surface);border:1px solid var(--border);flex-direction:column;display:flex;box-shadow:0 4px 18px #00000047}.chat-bubble--image.is-pending{border-color:var(--accent-alpha-35,#e65f4559);background-color:var(--surface);box-shadow:0 4px 18px #00000047, 0 0 16px var(--accent-alpha-15)}.chat-image-status-row{align-items:center;gap:var(--space-2);width:100%;display:flex}.chat-image-status-text{font-family:var(--font-dialogue);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.chat-image-badge{color:var(--accent);background-color:var(--accent-alpha-15);border:1px solid var(--accent-alpha-35,#e65f4559);border-radius:var(--radius-sm,4px);letter-spacing:.02em;flex-shrink:0;align-items:center;padding:1px 6px;font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:11px;font-weight:700;display:inline-flex}.chat-image-stage{aspect-ratio:3/4;background:#060404;border:1px solid #2f2421;border-radius:12px;align-self:center;width:min(260px,72vw);position:relative;overflow:hidden;box-shadow:inset 0 0 28px #000000d9}.chat-image-stage .ember-silhouette-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.chat-image-stage .ember-stage-status,.chat-image-stage .ember-stage-error{display:none!important}.chat-image-stage .ambient-progress-edge{z-index:3;background:#e65f4514;height:3px;transition:opacity .6s;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.chat-image-stage .ambient-progress-glow{background:linear-gradient(90deg,#0000,#e65f45,#ffcaa6,#e65f45,#0000);width:45%;height:100%;animation:3.2s ease-in-out infinite alternate chatEmberDriftGlow;box-shadow:0 0 18px #e65f45}@keyframes chatEmberDriftGlow{0%{opacity:.5;transform:translate(-30%)}to{opacity:1;transform:translate(150%)}}.chat-image-stage.is-revealed .ambient-progress-edge{opacity:0}@media (prefers-reduced-motion:reduce){.chat-image-stage .ambient-progress-glow{opacity:.65;width:100%;animation:none;transform:none}}:root[data-reduced-motion=true] .chat-image-stage .ambient-progress-glow{opacity:.65;width:100%;animation:none;transform:none}.chat-image-card-header{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:2px;display:flex}.chat-image-prompt-tag{font-family:var(--font-dialogue);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:240px;font-size:.78125rem;font-style:italic;overflow:hidden}.chat-image-wrap{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);background-color:#0000;width:fit-content;max-width:100%;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.chat-image-wrap:hover{border-color:var(--accent-alpha-35,#e65f4559);box-shadow:0 4px 16px #00000059, 0 0 12px var(--accent-alpha-15);transform:translateY(-1px)}.chat-image-preview{object-fit:contain;border-radius:calc(var(--radius-md) - 1px);width:auto;max-width:100%;height:auto;max-height:420px;display:block}.chat-image-expand-btn{border-radius:var(--radius-sm,6px);-webkit-backdrop-filter:blur(8px);width:32px;height:32px;color:var(--text);cursor:pointer;opacity:0;background-color:#131110b8;border:1px solid #ffffff24;justify-content:center;align-items:center;transition:opacity .18s,background-color .18s,transform .18s;display:inline-flex;position:absolute;top:8px;right:8px}.chat-image-wrap:hover .chat-image-expand-btn,.chat-image-expand-btn:focus-visible{opacity:1}.chat-image-expand-btn:hover{background-color:var(--accent);color:#131110;transform:scale(1.05)}.chat-image-expand-btn svg,.chat-image-expand-btn i{width:16px;height:16px}.chat-bubble--image.is-failed{background-color:var(--surface);border-color:#ef444466}.chat-image-failed-content{gap:var(--space-2);flex-direction:column;display:flex}.chat-image-failed-header{align-items:center;gap:var(--space-2);color:#ef4444;display:flex}.chat-image-failed-icon{flex-shrink:0;width:18px;height:18px}.chat-image-failed-title{font-family:var(--font-ui);color:#ef4444;font-size:.84375rem;font-weight:600}.chat-image-failed-text{font-family:var(--font-dialogue);color:var(--muted);margin:0;font-size:.8125rem;line-height:1.4}.chat-image-retry-btn{border-radius:var(--radius-md);background-color:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);cursor:pointer;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:.78125rem;font-weight:600;transition:all .18s;display:inline-flex}.chat-image-retry-btn:hover{background-color:var(--accent-alpha-15);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.chat-image-retry-btn svg,.chat-image-retry-btn i{width:14px;height:14px}
