.NotificationContainer{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}@media (max-width: 768px){.NotificationContainer{top:20px;right:0;left:0;align-items:center;width:100%}}.NotificationToast{background:var(--color-bg-elevated, #1a1a1a);color:var(--color-text-primary, #fff);padding:10px 14px;border-radius:var(--radius-m, 12px);box-shadow:none;display:flex;align-items:center;gap:12px;min-width:280px;max-width:360px;pointer-events:auto;border:1px solid rgba(255,255,255,.1);overflow:hidden;position:relative;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:toast-fade-in .25s ease-out}.NotificationToast--closing{animation:toast-fade-out .2s ease-in forwards}.NotificationToast:before{content:"";display:block;width:3px;height:24px;border-radius:4px;flex-shrink:0;margin-right:4px}.NotificationToast--info:before{background-color:var(--color-primary, #3b82f6)}.NotificationToast--success:before{background-color:var(--color-success, #10b981)}.NotificationToast--warning:before{background-color:var(--color-warning, #f59e0b)}.NotificationToast--error:before{background-color:var(--color-error, #ef4444)}.NotificationToast__content{flex:1;font-size:14px;line-height:1.4;font-weight:500}.NotificationToast__close{background:transparent;border:none;color:var(--color-text-tertiary, #888);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s;font-size:16px;line-height:1}.NotificationToast__close:hover{color:var(--color-text-primary, #fff)}@keyframes toast-fade-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.98)}}.Modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-overlay-in .2s ease-out}.Modal__overlay--closing{animation:modal-overlay-out .2s ease-in forwards}.Modal__overlay--contained{position:absolute;border-radius:0 0 var(--radius-l) var(--radius-l);overflow:hidden}.Modal__overlay--contained .Modal__content{box-shadow:none}.Modal__content{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);width:90%;max-width:400px;display:flex;flex-direction:column;box-shadow:0 10px 25px #00000080;animation:modal-content-in .2s ease-out;overflow:hidden}.Modal__content--closing{animation:modal-content-out .2s ease-in forwards}.Modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--color-border)}.Modal__title{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.Modal__close{background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;transition:all .2s}.Modal__close:hover{color:var(--color-text-primary);background-color:var(--color-bg-surface-hover)}.Modal__body{padding:16px;color:var(--color-text-secondary);font-size:14px;line-height:1.5}.Modal__footer{padding:16px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:8px;background-color:var(--color-bg-app)}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes modal-content-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.Modal__btn{padding:10px 16px;border-radius:var(--radius-m);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;border:none}.Modal__btn--secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.Modal__btn--secondary:hover{background-color:var(--color-bg-surface-hover)}.Modal__btn--danger{background-color:var(--color-error);color:#fff}.Modal__btn--danger:hover{background-color:color-mix(in srgb,var(--color-error) 80%,black)}.AppLayout{display:flex;height:100vh;width:100vw;overflow:hidden;background-color:var(--color-bg-app)}.AppLayout__sidebar{width:var(--sidebar-width);background-color:var(--color-bg-app);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1)}.AppLayout__content{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.AppLayout__overlay{display:none}@media (max-width: 768px){.AppLayout__sidebar{position:absolute;top:0;left:0;right:0;bottom:auto;width:100%;height:70vh;max-width:none;transform:translateY(-100%);border-right:none;border-bottom:1px solid var(--color-border);border-bottom-left-radius:var(--radius-l);border-bottom-right-radius:var(--radius-l)}.AppLayout__sidebar--fullscreen{width:100%;max-width:100%;border-right:none;z-index:200;height:100vh;max-height:100vh;border-radius:0;box-shadow:none}.AppLayout__sidebar--fullscreen.open,.AppLayout__sidebar.open{transform:translateY(0)}.AppLayout__overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:90;opacity:0;pointer-events:none;transition:opacity .3s ease}.AppLayout__overlay.visible{opacity:1;pointer-events:auto}}.Sidebar{height:100%;display:flex;flex-direction:column}.Sidebar__tabs{display:flex;gap:8px;padding:12px 12px 0;background:var(--color-bg-app);position:relative}.Sidebar__tab-indicator{position:absolute;width:calc((100% - 48px)/4);height:2px;bottom:0;left:12px;background-color:var(--color-primary);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:2}.Sidebar__tab{flex:1;padding:10px 8px;background:transparent;border:none;border-radius:var(--radius-m) var(--radius-m) 0 0;color:var(--color-text-secondary);cursor:pointer;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.Sidebar__tab-icon{font-size:18px;line-height:1;transition:color .2s ease,transform .2s ease}.Sidebar__tab:hover{color:var(--color-text-primary)}.Sidebar__tab--active{color:var(--color-primary);background-color:var(--color-primary-light)}.Sidebar__tab:not(.Sidebar__tab--active):hover .Sidebar__tab-icon{transform:translateY(-1px)}.Sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;flex-shrink:0}.Sidebar__header h3{margin:0;font-size:18px;font-weight:600}.Sidebar__content{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.Sidebar__tab-panel{display:none;flex-direction:column;height:100%;position:relative}.Sidebar__tab-panel--active{display:flex;opacity:1;animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.Sidebar__list{flex:1;overflow-y:auto;column-width:150px;column-gap:12px;padding:0 16px 16px}.Sidebar__list-loading{column-span:all;-webkit-column-span:all;display:flex;justify-content:center;padding:20px 0}.Sidebar__current-char{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 16px}.Sidebar__current-char img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--color-primary)}.Sidebar__current-char h3{margin:0;font-size:20px}.Sidebar__current-char p{margin:0;text-align:center;color:var(--color-text-secondary);font-size:14px}.Sidebar__placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px;padding:20px 16px}.Sidebar__footer{padding:16px;border-top:1px solid var(--color-border)}.ChatStatusBar{display:flex;align-items:stretch;border-bottom:1px solid var(--color-border);min-height:64px}.ChatStatusBar__quota{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;position:relative;padding:10px 12px}.ChatStatusBar__quota-btn{display:flex;align-items:center;gap:10px;height:100%;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:0 12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.ChatStatusBar__quota-btn:hover,.ChatStatusBar__quota-btn--open{border-color:var(--color-primary);background-color:var(--color-primary-light)}.ChatStatusBar__quota-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.ChatStatusBar__quota-chevron{color:var(--color-text-tertiary);transition:transform .2s;flex-shrink:0}.ChatStatusBar__quota-btn--open .ChatStatusBar__quota-chevron{transform:rotate(180deg)}.ChatStatusBar__quota-balances{display:flex;flex-direction:column;gap:4px}.ChatStatusBar__quota-row{display:flex;align-items:center;gap:7px}.ChatStatusBar__quota-icon{display:flex;align-items:center;flex-shrink:0}.ChatStatusBar__quota-icon--premium{color:var(--color-primary)}.ChatStatusBar__quota-icon--renewable{color:var(--color-text-secondary)}.ChatStatusBar__quota-value{font-size:14px;font-weight:700;color:var(--color-text-primary);line-height:1}.ChatStatusBar__sep{width:1px;background:var(--color-border);flex-shrink:0;margin:12px 0}.ChatStatusBar__model{flex:1;display:flex;align-items:center;padding:10px 12px;position:relative}.ChatStatusBar__model--empty{flex:1}.ChatStatusBar__model-btn{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;height:44px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:0 12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.ChatStatusBar__model-btn:hover,.ChatStatusBar__model-btn--open{border-color:var(--color-primary);background-color:var(--color-primary-light)}.ChatStatusBar__model-name{font-size:13px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left;line-height:1.2}.ChatStatusBar__model-cost{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:700;color:var(--color-primary);background:var(--color-primary-light);padding:2px 6px;border-radius:4px;line-height:1}.ChatStatusBar__model-chevron{color:var(--color-text-tertiary);transition:transform .2s;flex-shrink:0}.ChatStatusBar__model-btn--open .ChatStatusBar__model-chevron{transform:rotate(180deg)}.ChatStatusBar__dropdown{position:absolute;top:calc(100% + 4px);right:8px;left:8px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;z-index:100;animation:dropdownEnter .15s cubic-bezier(.16,1,.3,1) forwards}@keyframes dropdownEnter{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dropdownExit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.97)}}.ChatStatusBar__dropdown-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;width:100%;background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .15s}.ChatStatusBar__dropdown-item:not(:last-child){border-bottom:1px solid var(--color-border)}.ChatStatusBar__dropdown-item:hover{background-color:var(--color-bg-surface-hover)}.ChatStatusBar__dropdown-item--active{background-color:var(--color-primary-light);border-left:3px solid var(--color-primary);padding-left:9px}.ChatStatusBar__dropdown-item-main{display:flex;align-items:center;justify-content:space-between;gap:6px}.ChatStatusBar__dropdown-item-name{font-size:13px;font-weight:600;color:var(--color-text-primary)}.ChatStatusBar__dropdown-item--active .ChatStatusBar__dropdown-item-name{color:var(--color-primary)}.ChatStatusBar__dropdown-item-cost{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--color-primary);background:var(--color-primary-light);padding:2px 6px;border-radius:4px;flex-shrink:0}.ChatStatusBar__dropdown-item-desc{font-size:11px;color:var(--color-text-tertiary);line-height:1.4}.CharacterPanel{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px 20px}.CharacterPanel__avatar-wrap{position:relative;width:100px;height:100px;flex-shrink:0}.CharacterPanel__avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary);position:relative;z-index:1}.CharacterPanel__avatar-glow{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 30%,transparent) 0%,transparent 70%);z-index:0;animation:glowPulse 3s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.CharacterPanel__name{margin:0;font-size:18px;font-weight:700;color:var(--color-text-primary);text-align:center}.CharacterPanel__desc{margin:0;font-size:13px;color:var(--color-text-secondary);text-align:center;line-height:1.5}.CharacterPanel__stats{display:flex;align-items:center;gap:16px;padding:8px 16px;border-radius:20px;background:var(--color-bg-elevated);border:1px solid var(--color-border)}.CharacterPanel__stat{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--color-text-secondary)}.CharacterPanel__stat-divider{width:1px;height:17px;background:var(--color-border)}.EnergyPanel{display:flex;flex-direction:column;gap:14px;padding:12px;overflow-y:auto}.EnergyPanel__section{display:flex;flex-direction:column;gap:6px}.EnergyPanel__section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);padding:0 4px}.EnergyPanel__group{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-m);overflow:hidden}.EnergyPanel__item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:13px 14px;background:transparent;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;transition:background-color .1s ease,opacity .2s ease}.EnergyPanel__item:last-child{border-bottom:none}.EnergyPanel__item:hover{background-color:var(--color-bg-surface-hover)}.EnergyPanel__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.EnergyPanel__item:active,.EnergyPanel__item.EnergyPanel__item--pressed{background:linear-gradient(var(--color-primary-light),var(--color-primary-light)),var(--color-bg-surface)}.EnergyPanel__item:disabled{cursor:progress;opacity:.7}.EnergyPanel__item--pressed:disabled{opacity:1}.EnergyPanel__item-name{font-size:13px;font-weight:600;color:var(--color-text-primary)}.EnergyPanel__item-reward{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--color-primary);background:var(--color-primary-light);padding:4px 9px;border-radius:6px;flex-shrink:0}.EnergyPanel__item-reward svg{width:14px;height:14px}.EnergyPanel__item-discount{display:inline-flex;align-items:center;gap:2px;opacity:.5;margin-right:2px}.EnergyPanel__item-discount s{text-decoration:line-through;font-weight:600}.EnergyPanel__item-badge{font-size:10px;font-weight:800;color:#fff;background:var(--color-primary);padding:1px 5px;border-radius:4px;margin-left:4px;line-height:1.4}.EnergyPanel__item--featured{background:linear-gradient(to right,color-mix(in srgb,var(--color-primary) 2%,transparent),color-mix(in srgb,var(--color-primary) 16%,transparent),color-mix(in srgb,var(--color-primary) 2%,transparent)),var(--color-bg-surface);background-size:200% 100%;animation:featuredSweep 6s linear infinite}.EnergyPanel__item--featured:hover{background:linear-gradient(to right,color-mix(in srgb,var(--color-primary) 4%,transparent),color-mix(in srgb,var(--color-primary) 24%,transparent),color-mix(in srgb,var(--color-primary) 4%,transparent)),var(--color-bg-surface);background-size:200% 100%;animation-play-state:paused}@keyframes featuredSweep{0%{background-position:0% 0}to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){.EnergyPanel__item--featured{animation:none;background-size:100% 100%;background:linear-gradient(to right,color-mix(in srgb,var(--color-primary) 14%,transparent),color-mix(in srgb,var(--color-primary) 2%,transparent)),var(--color-bg-surface)}}.PanelSwitcher{flex:1;position:relative;overflow:hidden}.PanelSwitcher__panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.PanelSwitcher__panel--hidden{opacity:0;pointer-events:none}.PanelSwitcher__panel:not(.PanelSwitcher__panel--energy).PanelSwitcher__panel--hidden{transform:translate(-20px)}.PanelSwitcher__panel--energy.PanelSwitcher__panel--hidden{transform:translate(20px)}.ProcessingModal__body{display:flex;align-items:center;gap:12px;padding:4px 0}.ProcessingModal__spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.ProcessingModal__message{font-size:14px;font-weight:600;color:var(--color-text-secondary);line-height:1.4}.LanguageSelect{position:relative;display:inline-block;z-index:20}.LanguageSelect__trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:152px;padding:8px 12px;background-color:var(--color-bg-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-m);color:var(--color-text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.LanguageSelect__trigger:hover{border-color:var(--color-primary);background-color:var(--color-bg-elevated)}.LanguageSelect--open .LanguageSelect__trigger{border-color:var(--color-primary);background-color:var(--color-bg-elevated);box-shadow:0 0 0 3px var(--color-primary-light)}.LanguageSelect__value{display:flex;align-items:center;gap:8px}.LanguageSelect__icon{color:var(--color-text-secondary);flex-shrink:0}.LanguageSelect__chevron{color:var(--color-text-secondary);flex-shrink:0;transition:transform .2s ease}.LanguageSelect--open .LanguageSelect__chevron{transform:rotate(180deg)}.LanguageSelect__menu{position:absolute;top:calc(100% + 6px);right:0;left:0;margin:0;padding:6px;list-style:none;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-m);overflow:hidden;animation:LanguageSelect-in .15s ease-out}@keyframes LanguageSelect-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.LanguageSelect__option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-m);color:var(--color-text-primary);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.LanguageSelect__option:hover{background-color:var(--color-bg-surface-hover)}.LanguageSelect__option--active{color:var(--color-primary);background-color:var(--color-primary-light)}.LanguageSelect__option--active:hover{background-color:var(--color-primary-light)}.LanguageSelect__option-label{flex:1}.LanguageSelect__check{color:var(--color-primary);flex-shrink:0}.ProfileCard{border:1px solid var(--color-border);border-radius:var(--radius-m);padding:16px;background-color:var(--color-bg-elevated)}.ProfileCard__title{margin:0 0 14px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.ProfileCard__row{display:flex;justify-content:space-between;align-items:center;gap:16px}.ProfileCard__row+.ProfileCard__row{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.ProfileCard__label{font-size:14px;margin-bottom:4px;color:var(--color-text-primary)}.ProfileCard__sublabel{font-size:12px;color:var(--color-text-secondary)}.ProfileCard__theme-switch{width:56px;height:32px;flex-shrink:0;padding:0;border-radius:16px;border:2px solid var(--color-border);background-color:var(--color-bg-surface-hover);position:relative;cursor:pointer;transition:background-color .3s ease,border-color .3s ease}.ProfileCard__theme-switch:hover{border-color:var(--color-primary)}.ProfileCard__theme-switch--dark{background-color:var(--color-primary);border-color:var(--color-primary)}.ProfileCard__theme-knob{width:24px;height:24px;border-radius:50%;background-color:var(--color-bg-surface);position:absolute;top:2px;left:2px;transition:left .3s cubic-bezier(.4,0,.2,1)}.ProfileCard__theme-switch--dark .ProfileCard__theme-knob{left:26px}.ProfileTab__logout{width:100%;padding:10px;background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border);border-radius:var(--radius-m);cursor:pointer;font-weight:600;font-size:14px;transition:opacity .2s ease,transform .2s ease}.ProfileTab__logout:hover{opacity:.8;transform:translateY(-1px)}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.CharacterCard{background-color:var(--color-bg-surface);border-radius:var(--radius-l);display:flex;flex-direction:column;height:fit-content;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid var(--color-border);animation:cardAppear .5s cubic-bezier(.2,.8,.2,1) backwards;break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin-bottom:12px}.CharacterCard:hover{transform:translateY(-2px);box-shadow:none;border-color:var(--color-primary)}.CharacterCard__image-wrap{height:160px;position:relative;overflow:hidden;flex-shrink:0}.CharacterCard__img{width:100%;height:100%;object-fit:cover}.CharacterCard__overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:10px 6px 6px 8px}.CharacterCard__stats{display:flex;gap:13px;align-items:center;font-size:10px;color:#ffffffe6;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.5);width:100%}.CharacterCard__status{margin-left:auto;font-weight:600;letter-spacing:.3px;text-transform:uppercase;font-size:9px;padding:2px 6px;border-radius:4px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.CharacterCard__status--published{color:#60a5fa;background:#60a5fa26;border:1px solid rgba(96,165,250,.3)}.CharacterCard__status--draft{color:#9ca3af;background:#9ca3af1a;border:1px solid rgba(156,163,175,.2)}.CharacterCard__status--pending-moderation{color:#9ca3af;background:#9ca3af26;border:1px solid rgba(156,163,175,.3)}.CharacterCard__status--rejected{color:#f87171;background:#f8717126;border:1px solid rgba(248,113,113,.3)}.CharacterCard__info{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px}.CharacterCard__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.CharacterCard__name{margin:0;font-size:14px;font-weight:600;line-height:1.2;flex:1}.CharacterCard__action{margin-top:-2px;margin-right:-4px;opacity:.6;transition:opacity .2s}.CharacterCard:hover .CharacterCard__action{opacity:1}.CharacterCard__desc{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.CharacterCard__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.CharacterCard__tag{font-size:10px;font-weight:600;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);padding:3px 8px;border-radius:100px;white-space:nowrap;transition:all .2s ease}@media (max-width: 768px){.CharacterCard__image-wrap{height:140px}.CharacterCard__info{padding:8px 10px 10px}.CharacterCard__name{font-size:13px}.CharacterCard__desc{font-size:11px;-webkit-line-clamp:3}.CharacterCard__stats{font-size:10px;gap:9px}.CharacterCard__tag{font-size:9px;padding:2px 5px}}.CharacterSearch{padding:0 16px 8px;display:flex;flex-direction:column;gap:12px}.CharacterSearch__input-wrapper{position:relative;display:flex;align-items:center;background-color:var(--color-bg-elevated);border:1px solid transparent;border-radius:8px;padding:8px 12px;gap:8px;transition:all .2s ease}.CharacterSearch__input-wrapper:focus-within{border-color:var(--color-primary);background-color:var(--color-bg-surface)}.CharacterSearch__input-wrapper svg{color:var(--color-text-secondary);flex-shrink:0}.CharacterSearch__input{background:transparent;border:none;color:var(--color-text-primary);font-size:14px;width:100%;outline:none;padding:0}.CharacterSearch__clear-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;margin:-4px 0}.CharacterSearch__clear-btn:hover{color:var(--color-text-primary);background-color:#ffffff1a}.CharacterSearch__active-filters{display:flex;flex-wrap:wrap;gap:8px}.FilterChip{display:flex;align-items:center;gap:6px;background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);padding:4px 10px;border-radius:100px;font-size:12px;font-weight:600;animation:popIn .2s cubic-bezier(.175,.885,.32,1.275)}.FilterChip__remove{cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.7}.FilterChip__remove:hover{opacity:1}.FilterChip--negative{border-color:var(--color-error);color:var(--color-error)}@keyframes chipSlideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.CharacterSearch__suggestions{display:flex;gap:6px;overflow-x:auto;padding:4px 4px 12px;scrollbar-width:none;-ms-overflow-style:none}.CharacterSearch__suggestions::-webkit-scrollbar{display:none}.SuggestionChip{background-color:transparent;border:1px solid var(--color-border);border-radius:100px;padding:5px 12px;font-size:11px;color:var(--color-text-secondary);font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s;flex-shrink:0;animation:chipSlideIn .3s cubic-bezier(.2,.8,.2,1) backwards}.SuggestionChip:hover{border-color:var(--color-primary);color:var(--color-text-primary)}.SuggestionChip--negative{border-color:var(--color-error-border)}.SuggestionChip--negative:hover{border-color:var(--color-error);color:var(--color-text-primary)}.SuggestionChip--toggle{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);color:var(--color-text-secondary);background:transparent;border-radius:50%}.SuggestionChip--toggle.SuggestionChip--negative{border:2px solid var(--color-error);color:var(--color-error);background:var(--color-error-bg)}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.IconButton{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-m);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.IconButton:hover{background-color:var(--color-bg-surface-hover);color:var(--color-text-primary)}.IconButton--active{color:var(--color-primary);background-color:#71aaeb1a}.IconButton--danger{color:var(--color-error)}.IconButton--danger:hover{background-color:var(--color-error-bg);color:var(--color-error)}.CharacterEditor{display:flex;flex-direction:column;height:100%;flex:1;overflow:hidden;animation:fadeIn .2s ease-out;position:relative}.CharacterEditor__header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.CharacterEditor__header h3{margin:0;font-size:16px;font-weight:600}.CharacterEditor__content{flex:1;overflow-y:auto;padding-bottom:80px;display:flex;flex-direction:column;scrollbar-width:thin}.CharacterEditor__rejection-banner{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);padding:12px 16px;margin:16px 16px 0;border-radius:var(--radius-m);font-size:13px;line-height:1.4}.CharacterEditor__rejection-banner strong{font-weight:600;display:block;margin-bottom:4px}.CharacterEditor__section{padding:24px 16px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:20px}.CharacterEditor__section:last-child{border-bottom:none;padding-bottom:40px}.CharacterEditor__section--settings{gap:8px}.CharacterEditor__section--settings .CharacterEditor__section-title{margin-bottom:4px}.CharacterEditor__section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-tertiary);margin:0 0 -8px}.CharacterEditor__field{display:flex;flex-direction:column;gap:6px}.CharacterEditor__field label{font-size:13px;font-weight:600;color:var(--color-text-primary)}.CharacterEditor__field-hint{font-size:12px;color:var(--color-text-tertiary);margin-top:-2px;margin-bottom:4px;line-height:1.4}.CharacterEditor__input,.CharacterEditor__textarea{background:var(--color-bg-app);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:10px 12px;color:var(--color-text-primary);font-family:inherit;font-size:14px;transition:border-color .2s,background-color .2s;width:100%}.CharacterEditor__input::placeholder,.CharacterEditor__textarea::placeholder{color:var(--color-text-tertiary)}.CharacterEditor__input:focus,.CharacterEditor__textarea:focus{border-color:var(--color-primary);background:var(--color-bg-surface);outline:none}.CharacterEditor__textarea{resize:vertical;min-height:80px;line-height:1.5}.CharacterEditor__textarea--large{min-height:200px;font-family:monospace;font-size:13px;background-color:#0d1117}[data-theme=light] .CharacterEditor__textarea--large{background-color:#f6f8fa}.CharacterEditor__avatar-upload{display:flex;align-items:center;gap:16px}.CharacterEditor__avatar-preview{width:80px;height:80px;border-radius:50%;background:var(--color-bg-app);border:2px dashed var(--color-border);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;flex-shrink:0;transition:border-color .2s;position:relative}.CharacterEditor__avatar-preview:hover{border-color:var(--color-primary)}.CharacterEditor__avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}.CharacterEditor__avatar-preview:hover .CharacterEditor__avatar-overlay{opacity:1}.CharacterEditor__avatar-preview img{width:100%;height:100%;object-fit:cover}.CharacterEditor__avatar-info h4{margin:0 0 4px;font-size:14px;font-weight:600}.CharacterEditor__avatar-info p{margin:0;font-size:12px;color:var(--color-text-secondary)}.CharacterEditor__conditional{max-height:0;opacity:0;overflow:hidden;transform:translateY(-8px);transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s ease-out,transform .25s ease-out,margin .3s ease;pointer-events:none;margin-top:0}.CharacterEditor__conditional.is-visible{max-height:200px;opacity:1;transform:translateY(0);pointer-events:auto;margin-top:8px}.CharacterEditor__switch{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 0}.CharacterEditor__switch input{display:none}.CharacterEditor__switch-slider{position:relative;width:36px;height:20px;background:var(--color-bg-elevated);border-radius:20px;border:1px solid var(--color-border);transition:.2s;flex-shrink:0;margin-top:2px}.CharacterEditor__switch-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--color-text-secondary);border-radius:50%;transition:.2s}.CharacterEditor__switch input:checked+.CharacterEditor__switch-slider{background:var(--color-primary);border-color:var(--color-primary)}.CharacterEditor__switch input:checked+.CharacterEditor__switch-slider:after{transform:translate(16px);background:#fff}.CharacterEditor__switch-label{display:flex;flex-direction:column;gap:2px}.CharacterEditor__switch-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.CharacterEditor__switch-desc{font-size:12px;color:var(--color-text-tertiary)}.CharacterEditor__actions{position:absolute;bottom:0;left:0;right:0;display:flex;gap:12px;padding:16px;border-top:1px solid var(--color-border);background:var(--color-bg-surface);z-index:10;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:rgba(var(--color-bg-surface-rgb),.9)}.CharacterEditor__btn{flex:1;padding:10px;border-radius:var(--radius-m);font-weight:600;font-size:14px;cursor:pointer;text-align:center;border:none;transition:opacity .2s,background-color .2s}.CharacterEditor__btn:disabled{opacity:.6;cursor:not-allowed}.CharacterEditor__btn--primary{background:var(--color-primary);color:#fff}.CharacterEditor__btn--secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.CharacterEditor__btn--secondary:hover:not(:disabled){background:var(--color-bg-surface-hover)}.ModerationView{width:100%}.ModerationActions{display:flex;gap:8px}.ModerationActions--rejecting{flex-direction:column;background:var(--color-bg-dropdown);padding:8px;border-radius:8px;box-shadow:0 4px 12px #00000080;position:absolute;bottom:100%;right:0;z-index:10;width:200px}.ModerationActions--rejecting input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;padding:4px 8px;font-size:12px;width:100%}.ModerationBtn{padding:4px 10px;border-radius:4px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.ModerationBtn--approve{background:#2ea44f;color:#fff}.ModerationBtn--approve:hover{background:#2c974b}.ModerationBtn--reject{background:#da3633;color:#fff}.ModerationBtn--reject:hover{background:#cf3a37}.ModerationBtn--confirm{background:#da3633;color:#fff}.ModerationBtn--cancel{background:#ffffff1a;color:#ccc}.CharacterBrowserTab{display:flex;flex-direction:column;height:100%;overflow-y:auto}.CharacterBrowserTab .Sidebar__list{overflow:visible;flex:none}.CharacterBrowserTab__subtabs{display:flex;background:var(--color-bg-surface-hover);border-radius:var(--radius-m);padding:4px;margin:12px 16px;position:relative}.CharacterBrowserTab__subtab{flex:1;padding:8px 12px;background:transparent;border:none;color:var(--color-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:color .3s ease;position:relative;z-index:1;text-align:center}.CharacterBrowserTab__subtab--active{color:var(--color-text-primary)}.CharacterBrowserTab__indicator{position:absolute;top:4px;bottom:4px;background:var(--color-bg-elevated);border-radius:calc(var(--radius-m) - 4px);border:1px solid var(--color-border);transition:all .3s cubic-bezier(.25,1,.5,1);z-index:0}.ModalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:color-mix(in srgb,var(--color-bg-app) 80%,transparent);z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .18s ease-out forwards}.ModalOverlay--closing{animation:modalFadeOut .18s ease-in forwards}.ModalContent{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-l);width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px color-mix(in srgb,var(--color-bg-app) 50%,transparent);animation:modalSlideUp .18s ease-out forwards;overflow:hidden}.ModalContent--closing{animation:modalSlideDown .18s ease-in forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}.ModalHeader{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:18px}.ModalBody{flex:1;overflow-y:auto}.ModalBody to{opacity:1;transform:translateY(0)}.Sidebar__history-wrapper{display:flex;flex-direction:column;flex:1;overflow-y:auto}.HistoryItem{display:flex;gap:12px;padding:10px 16px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:all .2s ease;position:relative;align-items:flex-start;user-select:none;-webkit-user-select:none}.HistoryItem--nested{padding-left:16px;background-color:var(--color-bg-surface-hover);transform-origin:top;overflow:hidden;max-height:100px;opacity:1;animation:slideDown .2s ease-out}.HistoryItem--nested.collapsing{animation:slideUp .2s ease-out;max-height:0;opacity:0;padding-top:0;padding-bottom:0}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:100px;padding-top:10px;padding-bottom:10px}}@keyframes slideUp{0%{opacity:1;max-height:100px;padding-top:10px;padding-bottom:10px}to{opacity:0;max-height:0;padding-top:0;padding-bottom:0}}.HistoryItem:hover{background-color:var(--color-bg-surface-hover)}.HistoryItem--nested:hover{background-color:var(--color-bg-elevated)}.HistoryItem--selected{background-color:var(--color-primary-light);border-left:3px solid var(--color-primary)}.HistoryItem:last-child{border-bottom:none}.HistoryItem--active{background-color:var(--color-primary-light)}.HistoryItem--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--color-primary)}.HistoryItem__checkbox{width:20px;height:20px;border:2px solid var(--color-border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background-color:var(--color-bg-surface);transition:all .2s;align-self:center}.HistoryItem__checkbox--checked{background-color:var(--color-primary);border-color:var(--color-primary)}.HistoryItem__checkbox svg{width:12px;height:12px;stroke:#fff;stroke-width:3;opacity:0}.HistoryItem__checkbox--checked svg{opacity:1}.HistoryItem__avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background-color:var(--color-bg-surface-hover)}.HistoryItem__avatar img{width:100%;height:100%;object-fit:cover}.HistoryItem__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.HistoryItem__header{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.HistoryItem__name{font-weight:600;font-size:14px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.HistoryItem__date{font-size:10px;color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.HistoryItem__preview{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.HistoryItem__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--color-text-tertiary);margin-top:2px}.HistoryItem__expand{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;transition:all .2s;white-space:nowrap}.HistoryItem__expand:hover{background-color:var(--color-primary-light)}.HistoryItem__meta-item{display:flex;align-items:center;gap:4px}.SelectionControls{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px;background-color:var(--color-bg-app);animation:slideInDown .2s cubic-bezier(.2,0,0,1)}.SelectionControls__count{flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--color-text-primary)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.Sidebar__standard-header{display:flex;align-items:center;justify-content:space-between}.Avatar{border-radius:var(--radius-round);overflow:hidden;background-color:var(--color-bg-surface-hover);flex-shrink:0}.Avatar__img{width:100%;height:100%;object-fit:cover}.Avatar__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-weight:600}.MessageBubble{display:flex;gap:12px;width:100%;margin-bottom:16px;animation:slideIn .2s ease-out;position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none;padding:0 20px;box-sizing:border-box;transition:opacity .2s ease}.MessageBubble--self{align-self:flex-end;flex-direction:row-reverse}.MessageBubble__content{display:flex;flex-direction:column;flex:1;min-width:0}.MessageBubble__slider{overflow:hidden;position:relative;width:100%;transition:height .2s ease-out;z-index:0}.MessageBubble__track{display:flex;width:100%;align-items:flex-start;transition:transform .3s cubic-bezier(.2,.8,.2,1);will-change:transform}.MessageBubble--swiping .MessageBubble__track{transition:none}.MessageBubble__slide{flex:0 0 100%;width:100%;display:flex;flex-direction:column;align-items:flex-start;padding-left:60px;padding-right:25px;box-sizing:border-box}.MessageBubble__text-container{display:flex;align-items:center;position:relative;max-width:100%;width:fit-content}.MessageBubble__text{padding:10px 14px;line-height:1.5;font-size:15px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;border-radius:18px;width:fit-content;box-sizing:border-box;transition:background-color .2s ease,outline .2s ease}.MessageBubble--other .MessageBubble__text{background-color:var(--color-msg-in);color:var(--color-text-primary);border-bottom-left-radius:4px}.MessageBubble--self .MessageBubble__text{background-color:var(--color-msg-out);color:var(--color-text-msg-out);border-bottom-right-radius:4px}.MessageBubble--other .MessageBubble__slider{margin-left:-68px;margin-right:-20px;width:calc(100% + 88px)}.MessageBubble--self .MessageBubble__slide{align-items:flex-end}.MessageBubble--self .MessageBubble__slider{margin-left:-20px;margin-right:-20px;width:calc(100% + 40px)}.MessageBubble__name{font-size:12px;color:var(--color-text-secondary);margin-bottom:6px;margin-left:12px}.MessageBubble__info{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:6px;width:100%}.MessageBubble--other .MessageBubble__info{flex-direction:row}.MessageBubble--self .MessageBubble__info{flex-direction:row-reverse}.MessageBubble__branches{display:flex;align-items:center;gap:8px;padding:4px 10px;background-color:var(--color-bg-surface-hover);border-radius:10px;font-size:11px;color:var(--color-text-secondary);flex-shrink:0}.MessageBubble__meta{font-size:10px;color:var(--color-text-meta);display:flex;align-items:center;gap:6px;white-space:nowrap}.MessageBubble__branch-dots{display:flex;gap:4px;align-items:center}.MessageBubble__branch-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-border);transition:all .2s ease}.MessageBubble__branch-dot--active{background-color:var(--color-dot-active);width:8px;height:8px}.MessageBubble__branch-count{margin-left:4px;font-weight:600}.MessageBubble__swipe-hint{position:absolute;top:22px;transform:translateY(-50%) scale(.9);width:22px;height:22px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.16,1,.3,1);z-index:5}.MessageBubble__swipe-hint--left{left:-10px}.MessageBubble__swipe-hint--right{right:-10px}.MessageBubble--can-swipe .MessageBubble__swipe-hint{opacity:.5;transform:translateY(-50%) scale(1);animation:swipePulse 2s infinite alternate ease-in-out}@keyframes swipePulse{0%{opacity:.2;transform:translateY(-50%) scale(.95)}to{opacity:.6;transform:translateY(-50%) scale(1.05)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cursor-blink{display:inline-block;margin-left:2px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.MessageBubble--dimmed{opacity:.35;transition:opacity .2s ease}.MessageBubble--selection-mode:not(.MessageBubble--dimmed){opacity:1}.MessageBubble--selection-mode .MessageBubble__text{cursor:pointer}.MessageBubble--other .MessageBubble__text--selected{background-color:color-mix(in srgb,var(--color-error) 22%,var(--color-msg-in));outline:1.5px solid rgba(255,107,107,.45);outline-offset:-1px}.MessageBubble--self .MessageBubble__text--selected{background-color:color-mix(in srgb,var(--color-error) 28%,var(--color-msg-out));outline:1.5px solid rgba(255,107,107,.55);outline-offset:-1px}.MessageBubble__branch-dot--selected{background-color:var(--color-error)!important}.MessageBubble__branch-dot--partial{box-shadow:0 0 0 2px var(--color-error)}.MessageBubble__branch-dot{transition:transform .2s ease,width .2s ease,height .2s ease,background-color .2s ease,box-shadow .2s ease}.MessageBubble__meta-row{display:flex;align-items:flex-start;gap:12px}.MessageBubble__meta-row--other{flex-direction:row}.MessageBubble__meta-row--self{flex-direction:row-reverse}.MessageBubble__side-column{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;width:36px;position:relative;z-index:6}.MessageBubble__actions{display:flex;align-items:center;gap:4px;transition:opacity .2s ease,visibility .2s ease;opacity:0;visibility:hidden;position:relative;z-index:6}.MessageBubble__actions--visible{opacity:1;visibility:visible}.MessageBubble__actions--column{flex-direction:column}.MessageBubble__actions--outside-self{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.MessageBubble__actions--outside-other{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.MessageBubble__action-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--color-text-tertiary);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.7}.MessageBubble__action-btn:hover{background-color:var(--color-bg-surface-hover);color:var(--color-text-secondary);opacity:1}.MessageBubble__action-label{font-size:11px;color:var(--color-primary);font-weight:500;padding:2px 6px;background-color:color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:10px;animation:fadeInOut 2s forwards}@keyframes fadeInOut{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.MessageBubble--editing{background-color:color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:var(--radius-m);padding-top:8px;padding-bottom:8px;margin-top:-8px;margin-bottom:8px;transition:background-color .2s ease,padding .2s ease,margin .2s ease}.ChatLayout{display:flex;flex-direction:column;height:100%;position:relative}.ChatHeader{height:var(--header-height);padding:0;display:flex;align-items:center;gap:0;border-bottom:1px solid var(--color-border);background-color:color-mix(in srgb,var(--color-bg-app) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:absolute;top:0;left:0;right:0;z-index:10}.ChatHeader__left{flex:2;height:100%;display:flex;align-items:center;padding-left:16px;cursor:pointer}.ChatHeader__right{flex:1;height:100%;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--color-border);position:relative;background:transparent;border-top:none;border-right:none;border-bottom:none;cursor:pointer;color:var(--color-primary);padding:0 16px}.ChatHeader__right:after{content:"";position:absolute;bottom:-1px;left:-1px;width:1px;height:1px;background-color:var(--color-accent-dot);box-shadow:0 0 2px var(--color-accent-dot)}.ChatHeader__title{font-weight:600;font-size:15px}.ChatMessages{flex:1;min-height:0;overflow-y:auto;padding:calc(var(--header-height) + 20px) 0 20px 0;display:flex;flex-direction:column;position:relative}.ScrollDownButton{position:sticky;bottom:0;align-self:flex-end;margin-right:16px;margin-top:-60px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:5px;flex-shrink:0;border-radius:50%;background:color-mix(in srgb,var(--color-bg-surface) 75%,transparent);border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;z-index:20;box-shadow:0 4px 12px #00000026;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .2s cubic-bezier(.25,1,.5,1);opacity:0;visibility:hidden;transform:translateY(10px) scale(.9);pointer-events:none}.ScrollDownButton--visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.ScrollDownButton:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003;background:var(--color-bg-surface)}.ScrollDownButton:active{transform:translateY(0)}.ChatInputArea{padding:6px 16px 16px;border-top:1px solid color-mix(in srgb,var(--color-border) 50%,transparent);display:flex;gap:12px;align-items:flex-end;background-color:color-mix(in srgb,var(--color-bg-app) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;flex-shrink:0;z-index:10;animation:inputAreaAppear .2s ease-out forwards}.ChatInputArea__opts-wrapper{position:relative;display:flex;align-items:center}.ChatOptionsMenu{position:absolute;bottom:100%;left:0;margin-bottom:8px;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;min-width:160px;box-shadow:none;overflow:hidden;z-index:50;transform-origin:bottom left;animation:menuEnter .2s cubic-bezier(.16,1,.3,1) forwards}.ChatOptionsMenu__item{padding:12px 16px;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:background-color .2s;white-space:nowrap}.ChatOptionsMenu__item:hover{background-color:var(--color-bg-surface-hover);color:var(--color-primary)}.ChatOptionsMenu--closing{animation:menuExit .15s ease-in forwards;pointer-events:none}@keyframes menuEnter{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes menuExit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(4px)}}.ChatInputArea__opts{width:44px;height:44px;border-radius:50%;background-color:var(--color-bg-app);border:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:700;flex-shrink:0;padding-bottom:10px;transition:all .2s}.ChatInputArea__opts:hover{border-color:var(--color-text-primary);color:var(--color-text-primary)}.ChatInputArea__opts--cancel{border-color:color-mix(in srgb,var(--color-error) 50%,transparent);color:var(--color-error)}.ChatInputArea__opts--cancel:hover{border-color:var(--color-error);background-color:var(--color-error-bg);color:var(--color-error)}.ChatInputArea__input-wrapper{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-app);border:1px solid var(--color-border);border-radius:20px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.ChatInputArea__input-wrapper:focus-within{border-color:var(--color-primary)}.ChatInputArea__input-wrapper--editing{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.ChatInputArea__edit-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 4px;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);cursor:pointer;transition:background-color .2s}.ChatInputArea__edit-header:hover{background-color:color-mix(in srgb,var(--color-primary) 18%,transparent)}.ChatInputArea__edit-label{font-size:11px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.ChatInputArea__edit-cancel{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:.7;transition:all .2s}.ChatInputArea__edit-cancel:hover{opacity:1;background-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.ChatInputArea__field{background-color:transparent;border:none;border-radius:0;color:var(--color-text-primary);padding:12px 16px;resize:none;font-family:inherit;font-size:15px;outline:none;max-height:120px;overflow-y:hidden}.ChatInputArea__field--locked{opacity:.5;cursor:not-allowed;caret-color:transparent}.ChatInputArea__send{width:44px;height:44px;border-radius:50%;background-color:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .1s}.ChatInputArea__send:active{transform:scale(.95)}.ChatInputArea__send:disabled{opacity:.35;cursor:not-allowed;transform:none}.ChatInputArea__send--save{background-color:color-mix(in srgb,var(--color-primary) 80%,#2a9d5c)}.ChatInputArea__stop{width:44px;height:44px;border-radius:50%;background-color:transparent;border:2px solid var(--color-error);color:var(--color-error);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s ease,transform .1s ease;animation:stopBtnAppear .2s cubic-bezier(.16,1,.3,1) forwards}.ChatInputArea__stop:hover{background-color:var(--color-error-bg);transform:scale(1.08)}.ChatInputArea__stop:active{transform:scale(.94)}@keyframes stopBtnAppear{0%{opacity:0;transform:scale(.6) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes inputAreaAppear{0%{opacity:0}to{opacity:1}}.MessageSelectionBar{position:relative;flex-shrink:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px 20px;gap:12px;background-color:color-mix(in srgb,var(--color-bg-app) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border);animation:selectionBarAppear .15s cubic-bezier(.2,0,0,1) forwards}@keyframes selectionBarAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1}}.MessageSelectionBar__count{flex:1;text-align:center;font-size:16px;font-weight:600;color:var(--color-text-primary)}[data-theme=dark]{--color-bg-app: #000000;--color-bg-surface: #000000;--color-bg-surface-hover: #0d1115;--color-bg-elevated: #151b21;--color-primary: #3b5e87;--color-primary-hover: #2e4a6b;--color-primary-light: rgba(59, 94, 135, .15);--color-text-primary: #E1E3E6;--color-text-secondary: #99A2AD;--color-text-tertiary: #666;--color-border: #1c2129;--color-border-light: #333;--color-msg-in: #1e2730;--color-msg-out: #3b5e87;--color-text-msg-out: #FFFFFF;--color-success: #4ade80;--color-error: #ff6b6b;--color-error-bg: rgba(139, 0, 0, .15);--color-error-border: rgba(255, 107, 107, .3);--color-warning: #fbbf24;--color-accent-dot: #FFFFFF;--color-text-meta: rgba(225, 227, 230, .5);--color-dot-active: #3b5e87;--color-scrollbar-thumb: rgba(59, 94, 135, .3);--color-icon-heart: var(--color-error);--color-icon-message: currentColor}[data-theme=light]{--color-bg-app: #f5f5f5;--color-bg-surface: #ffffff;--color-bg-surface-hover: #f9f9f9;--color-bg-elevated: #ffffff;--color-primary: #5a8ab8;--color-primary-hover: #4a7aa8;--color-primary-light: rgba(59, 94, 135, .1);--color-text-primary: #1a1a1a;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-msg-in: #fbfbfb;--color-msg-out: #5a8ab8;--color-text-msg-out: #FFFFFF;--color-success: #22c55e;--color-error: #ef4444;--color-error-bg: rgba(239, 68, 68, .1);--color-error-border: rgba(239, 68, 68, .3);--color-warning: #f59e0b;--color-accent-dot: #000000;--color-text-meta: rgba(0, 0, 0, .45);--color-dot-active: #5a8ab8;--color-scrollbar-thumb: rgba(90, 138, 184, .3);--color-icon-heart: var(--color-error);--color-icon-message: currentColor}:root{--radius-m: 12px;--radius-l: 16px;--radius-round: 50%;--spacing-s: 8px;--spacing-m: 16px;--header-height: 50px;--sidebar-width: 440px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--color-bg-app);color:var(--color-text-primary);height:100vh;overflow:hidden}#root{height:100%;width:100%}.text-error{color:var(--color-error)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.loading-indicator{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:14px}.loading-indicator__spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-indicator--large .loading-indicator__spinner{width:24px;height:24px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.hide-desktop{display:none}@media (max-width: 768px){.hide-desktop{display:flex}}.loading-state{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;opacity:.6}.loading-state__text{font-size:14px;color:var(--color-text-secondary);font-weight:500}
