:root{--cp-rosewater: #f5e0dc;--cp-flamingo: #f2cdcd;--cp-pink: #f5c2e7;--cp-mauve: #cba6f7;--cp-red: #f38ba8;--cp-peach: #fab387;--cp-yellow: #f9e2af;--cp-green: #a6e3a1;--cp-sapphire: #74c7ec;--cp-blue: #89b4fa;--cp-lavender: #b4befe;--cp-text: #cdd6f4;--cp-subtext1: #bac2de;--cp-surface0: #313244;--cp-surface1: #45475a;--cp-surface2: #585b70;--cp-base: #1e1e2e;--cp-mantle: #181825;--cp-crust: #11111b;--cp-radius: 12px;--cp-radius-sm: 8px;--cp-shadow: 0 14px 40px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.5;color:var(--cp-text);background:radial-gradient(circle at 20% 0%,rgba(203,166,247,.18),transparent 40%),radial-gradient(circle at 100% 0%,rgba(137,180,250,.14),transparent 30%),var(--cp-base)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:420px;background:#11111beb;border:1px solid rgba(88,91,112,.6);border-radius:14px;padding:20px;display:grid;gap:8px}.auth-sub{margin:0 0 10px;color:var(--cp-subtext1)}.auth-card input{background:#313244e6;border:1px solid rgba(88,91,112,.6);color:var(--cp-text);border-radius:10px;padding:10px}.btn-primary,.btn-text{border:none;border-radius:10px;padding:10px 12px;cursor:pointer}.btn-primary{background:var(--cp-blue);color:#0f1020;font-weight:600}.btn-text{background:transparent;color:var(--cp-lavender)}.auth-err{color:#ff9fb4}.auth-lang-row{display:flex;justify-content:flex-end;margin-bottom:.25rem}.lang-switcher{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem}.lang-btn{border:none;background:transparent;color:var(--cp-subtext1);cursor:pointer;font:inherit;padding:.1rem .15rem;border-radius:6px}.lang-btn:hover{color:var(--cp-text)}.lang-btn.active{color:var(--cp-lavender);font-weight:650}.lang-sep{color:#585b70cc}.auth-topbar{flex:0 0 auto;display:flex;gap:14px;align-items:center;justify-content:flex-end;padding:8px 14px;background:#181825f5;border-bottom:1px solid rgba(88,91,112,.45)}.app-root{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-root-main{flex:1 1 auto;min-height:0;overflow:hidden}.app-root-main .app-shell{height:100%;min-height:0}code{background:#45475a99;border:1px solid rgba(88,91,112,.75);border-radius:6px;padding:.1rem .35rem;color:var(--cp-lavender)}.app-shell{display:grid;grid-template-columns:260px 1fr 360px;min-height:100%;height:100%;color:var(--cp-text)}.app-shell.app-shell--no-right{grid-template-columns:260px 1fr}.left-sidebar{background:#11111bf2;border-right:1px solid rgba(88,91,112,.5);padding:1rem .9rem;display:flex;flex-direction:column;gap:.9rem}.logo-block{padding:.45rem .2rem}.logo-title{margin:0;color:#fff;font-size:1.2rem;font-weight:700}.logo-sub{margin:.2rem 0 0;color:var(--cp-subtext1);font-size:.8rem}.sidebar-section{background:#31324459;border:1px solid rgba(88,91,112,.45);border-radius:10px;padding:.65rem}.side-nav{display:flex;flex-direction:column;gap:.55rem}.nav-group{background:#31324447;border:1px solid rgba(88,91,112,.38);border-radius:10px;padding:.48rem}.nav-title{font-size:.76rem;color:#bac2def2;font-weight:700;margin:0 0 .35rem}.nav-item{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;font-size:.82rem;padding:.35rem .45rem;margin-top:.22rem;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--cp-text)}.nav-item:hover{background:#585b7073;border-color:#89b4fa59}.nav-item.active{background:#cba6f738;border-color:#cba6f78c;color:#fff}.nav-icon{width:1.1rem;text-align:center;opacity:.9}.sidebar-caption{font-size:.74rem;letter-spacing:.08em;color:var(--cp-subtext1);text-transform:uppercase;margin-bottom:.5rem}.recent-list{display:flex;flex-direction:column;gap:.4rem}.sidebar-section .recent-list{max-height:44vh;overflow-y:auto}.main-list{display:flex;flex-direction:column;gap:.4rem}.recent-item{text-align:left;border-radius:8px;border:1px solid rgba(88,91,112,.5);background:#1818258c;padding:.45rem .52rem}.recent-item.active{border-color:#cba6f7cc;background:#cba6f729}.recent-row{display:flex;align-items:center;gap:.5rem}.recent-avatar{position:relative;width:32px;height:32px;border-radius:6px;border:1px solid rgba(137,180,250,.5);background:linear-gradient(180deg,#cba6f740,#89b4fa26);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:700;flex:0 0 auto;overflow:hidden}.recent-avatar-initial{z-index:0;position:relative}.recent-avatar--img,.recent-avatar .recent-avatar--img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;object-fit:cover;border-radius:5px;padding:0;margin:0;border:0}.recent-meta{min-width:0}.recent-name{color:#fff;font-size:.84rem;font-weight:600}.recent-preview{color:var(--cp-subtext1);font-size:.74rem;margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-empty{color:var(--cp-subtext1);font-size:.8rem}.main-flash-err{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 1rem .5rem;padding:.55rem .7rem;border-radius:var(--cp-radius-sm);background:#f38ba824;border:1px solid rgba(243,139,168,.45);color:#f5c2e7;font-size:.88rem;line-height:1.45;flex:0 0 auto}.main-flash-err-text{min-width:0;word-break:break-word}.main-flash-err-close{flex:0 0 auto;padding:0 .2rem;line-height:1;font-size:1.1rem;opacity:.85;background:transparent;border:none;color:inherit;cursor:pointer}.main-flash-err-close:hover{opacity:1}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:#1e1e2e73}.layout-page-stack{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}.layout-page-stack .page-stack-title{margin:0 0 .35rem;flex:0 0 auto}.layout-page-stack .page-stack-hint{margin:0 0 .6rem;font-size:.8rem;color:var(--cp-subtext1);line-height:1.45;flex:0 0 auto}.layout-page-stack .page-stack-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.2rem}.recent-avatar--img{object-fit:cover;padding:0}.chat-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .7rem;border-bottom:1px solid rgba(88,91,112,.45);background:#181825b3;flex:0 0 auto}.chat-topbar-right{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.55rem;min-width:0;max-width:min(100%,58vw)}.user-center{position:relative;flex:0 0 auto}.user-center-trigger{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(88,91,112,.65);background:#313244a6;color:#cdd6f4;border-radius:999px;padding:.28rem .7rem .28rem .28rem;cursor:pointer;font:inherit;font-size:.8rem}.user-center-trigger.is-on,.user-center-trigger:hover{border-color:#cba6f773}.user-center-avatar{width:1.55rem;height:1.55rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#89b4fa47;font-size:.75rem;font-weight:700;overflow:hidden;position:relative;flex:0 0 auto}.user-center-avatar-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.user-center-avatar-fallback{position:relative;z-index:0}.user-center-panel{position:absolute;top:calc(100% + .45rem);right:0;z-index:40;width:min(320px,calc(100vw - 2rem));border:1px solid rgba(88,91,112,.7);border-radius:12px;background:#181825fa;box-shadow:0 12px 36px #00000059;padding:.85rem .9rem}.user-center-section+.user-center-section{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(88,91,112,.45)}.user-center-section-title{font-size:.75rem;font-weight:650;color:#bac2dee6;margin-bottom:.45rem}.user-center-email{font-size:.86rem;color:#cdd6f4;word-break:break-all}.user-center-credits{margin-top:.25rem;font-size:.8rem;color:var(--cp-subtext1)}.user-center-hint{margin:0 0 .5rem;font-size:.75rem;color:var(--cp-subtext0);line-height:1.35}.user-center-persona-list{display:flex;flex-direction:column;gap:.35rem;max-height:180px;overflow:auto}.user-center-persona{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;border:1px solid rgba(88,91,112,.5);background:#31324473;color:inherit;border-radius:8px;padding:.45rem .55rem;cursor:pointer;font:inherit;font-size:.82rem}.user-center-persona.is-on{border-color:#a6e3a180;background:#a6e3a11a}.user-center-persona-tag{font-size:.68rem;color:#a6e3a1}.user-center-actions{display:flex;flex-wrap:wrap;gap:.55rem .75rem;margin-top:.55rem}.topbar-lang-switcher{flex:0 0 auto;border:1px solid rgba(88,91,112,.65);background:#313244a6;border-radius:999px;padding:.28rem .65rem}.topbar-meta-ids{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem .7rem;font-size:.72rem;color:var(--cp-subtext1);line-height:1.3}.topbar-id-chip code{font-size:.7rem;color:var(--cp-lavender);background:#11111ba6;padding:.06rem .3rem .1rem;border-radius:4px;max-width:min(200px,32vw);display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;margin-left:.12rem}.chat-toolbar-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem .55rem}.dev-menu{border:1px solid rgba(88,91,112,.55);border-radius:8px;background:#11111b8c;font-size:.8rem;align-self:center}.dev-menu-summary{list-style:none;cursor:pointer;padding:.2rem .55rem;color:var(--cp-subtext1);-webkit-user-select:none;user-select:none}.dev-menu-summary::-webkit-details-marker{display:none}.dev-menu[open] .dev-menu-summary{color:var(--cp-text);border-bottom:1px solid rgba(88,91,112,.4)}.dev-menu-body{padding:.5rem .55rem .6rem;display:flex;flex-direction:column;gap:.45rem;min-width:12rem;max-width:18rem}.dev-menu-body label{font-size:.74rem;color:#bac2deeb;margin:0}.dev-menu-hint{margin:0;font-size:.68rem;color:var(--cp-subtext1);line-height:1.35}.dev-api-line{margin:0;font-size:.72rem;word-break:break-all;color:var(--cp-subtext1)}.dev-tpl-err{font-size:.8rem;margin:0}.dev-menu-body input{width:100%}.dev-menu-body button{font-size:.8rem;align-self:flex-start}.chat-topbar-left{display:flex;align-items:center;gap:.5rem}.chat-legacy-header{display:inline-flex;align-items:center;gap:.75rem;border:1px solid rgba(243,139,168,.55);border-radius:0;padding:.38rem .65rem;background:#11111b73}.chat-legacy-back{border:0;background:transparent;color:var(--cp-subtext1);font-size:.78rem;padding:0;cursor:pointer}.chat-legacy-back:hover{color:#fff}.chat-legacy-title{color:#fff;font-size:1.12rem;font-weight:700;line-height:1}.chat-title-main{font-size:1.1rem;font-weight:700;color:#fff}.status-dot-inline{width:8px;height:8px;border-radius:50%;background:var(--cp-green);box-shadow:0 0 10px #a6e3a1a6}.chat-toolbar{display:flex;align-items:center;gap:.4rem}.icon-btn{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;padding:0}.icon-btn.is-on{border-color:#a6e3a1bf;background:#a6e3a12e}.layout-main-chat{margin:.55rem 1rem .65rem}.layout-main-chat:not(.layout-page-stack){flex:1 1 auto;height:auto;min-height:0;overflow:hidden}.composer-fixed{margin-top:auto;padding:.8rem}.composer-actions{display:flex;gap:.5rem;align-items:center;margin-top:.55rem;flex-wrap:wrap}.composer-panel{position:relative;border:1px solid rgba(88,91,112,.55);border-radius:10px;background:#181825eb;overflow:hidden}.composer-panel.is-voice-mode{min-height:96px}.composer-textarea{display:block;width:100%;border:none!important;background:transparent!important;box-shadow:none!important;resize:none;padding:.7rem 2.6rem .7rem .75rem!important;margin:0;min-height:72px}.composer-textarea:disabled{opacity:.55}.composer-voice-entry{position:absolute;right:.55rem;bottom:.45rem;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--cp-subtext0);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 auto;line-height:0}.composer-voice-entry:hover:not(:disabled){color:#07c160;background:#07c1601f}.composer-voice-entry:disabled{opacity:.4;cursor:not-allowed}.composer-voice-entry-icon{width:20px;height:20px;display:block;flex:0 0 auto;overflow:visible}.wx-voice-dock{position:absolute;right:.55rem;bottom:.45rem;display:inline-flex;align-items:center;gap:8px;z-index:2;width:196px;height:36px}.wx-voice-cancel{width:28px;height:28px;border:none;border-radius:50%;background:#585b708c;color:#cdd6f4d9;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 28px;line-height:0}.wx-voice-cancel:hover:not(:disabled){background:#6c7086bf;color:#fff}.wx-voice-cancel:disabled{opacity:.45;cursor:not-allowed}.wx-voice-stage{width:160px;height:36px;border:none;border-radius:999px;background:#585b708c;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px 0 14px;box-sizing:border-box;flex:0 0 160px;line-height:0;transition:background-color .15s ease}.wx-voice-stage.is-hot{background:#585b709e}.wx-voice-stage.is-confirm{background:#07c160;padding:0 14px}.wx-voice-stage.is-busy,.wx-voice-stage:disabled{cursor:default}.wx-voice-stage-record{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;gap:8px}.wx-voice-wave-inner{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto;min-width:0;height:100%}.wx-voice-dot{width:5px;height:5px;border-radius:999px;background:#07c160;flex:0 0 auto;transition:height .08s linear}.wx-voice-stage.is-hot .wx-voice-dot{box-shadow:0 0 5px #07c16066}.wx-voice-send-circle{width:26px;height:26px;border-radius:50%;background:#07c160;display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;line-height:0}.wx-voice-stage-confirm{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:100%}.wx-voice-stage-label{font-size:.88rem;font-weight:650;letter-spacing:.04em;line-height:1}.wx-voice-pill-dots{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.wx-voice-pill-dots>span{width:4px;height:4px;border-radius:50%;background:#ffffffeb;flex:0 0 auto}.composer-actions-right{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;position:relative}.composer-tool-btn{border:1px solid rgba(88,91,112,.55);background:transparent;color:var(--cp-subtext1);border-radius:8px;padding:.38rem .6rem;font-size:.8rem;cursor:pointer;line-height:1.2}.composer-tool-btn:hover:not(:disabled){border-color:#89b4fa8c;color:var(--cp-text);background:#45475a8c}.composer-tool-btn:disabled{opacity:.45;cursor:not-allowed}.composer-voice-chat-btn{display:inline-flex;align-items:center;gap:.35rem}.composer-voice-chat-btn.is-on{border-color:#07c1608c;color:#07c160;background:#07c1601f}.composer-voice-chat-btn.is-on:hover:not(:disabled){border-color:#07c160bf;color:#07c160;background:#07c1602e}.composer-voice-chat-dot{width:6px;height:6px;border-radius:50%;background:#07c160;box-shadow:0 0 0 3px #07c16033;flex:0 0 auto}.voice-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;padding:.5rem .65rem;border-radius:8px;border:1px solid rgba(7,193,96,.4);background:#07c1601f;color:var(--cp-text);font-size:.82rem;line-height:1.4}.voice-mode-banner-close{flex:0 0 auto;width:1.5rem;height:1.5rem;border:none;border-radius:50%;background:transparent;color:var(--cp-subtext0);cursor:pointer;font-size:1rem;line-height:1;display:grid;place-items:center;padding:0}.voice-mode-banner-close:hover{background:#45475a8c;color:var(--cp-text)}.voice-mode-status{margin-top:.45rem;color:var(--cp-subtext1);font-size:.76rem;line-height:1.35}.composer-help{position:relative}.composer-help-btn{width:1.7rem;height:1.7rem;border-radius:50%;border:1px solid rgba(137,180,250,.45);background:#313244e6;color:var(--cp-blue);font-size:.85rem;font-weight:700;cursor:pointer;display:grid;place-items:center;padding:0;line-height:1}.composer-help-btn:hover,.composer-help-btn.is-on{border-color:#89b4facc;background:#45475af2;color:var(--cp-lavender)}.composer-help-popover{position:absolute;right:0;bottom:calc(100% + .45rem);width:min(320px,78vw);padding:.75rem .8rem .65rem;border-radius:10px;border:1px solid rgba(137,180,250,.35);background:#181825fa;box-shadow:0 12px 28px #00000059;z-index:40;color:var(--cp-text)}.composer-help-title{font-size:.88rem;font-weight:700;margin-bottom:.45rem;color:var(--cp-lavender)}.composer-help-list{margin:0;padding-left:1.05rem;display:grid;gap:.4rem;font-size:.78rem;line-height:1.45;color:var(--cp-subtext0)}.composer-help-list strong{color:var(--cp-text);font-weight:650}.composer-help-close{margin-top:.65rem;width:100%;border:1px solid rgba(137,180,250,.4);background:#313244e6;color:var(--cp-text);border-radius:8px;padding:.35rem .5rem;font-size:.8rem;cursor:pointer}.composer-help-close:hover{border-color:#89b4fab3;background:#45475af2}.right-panel{background:#0f1018;border-left:1px solid rgba(186,194,222,.35);padding:.8rem .7rem;overflow-y:auto;min-width:0}.digital-human{position:relative;overflow:hidden;border:1px solid rgba(186,194,222,.28);background:#11111bf0;padding:.65rem .65rem .55rem;margin-bottom:.8rem}.digital-human-stage{position:relative;display:grid;place-items:center;min-height:300px;perspective:none}.digital-human-only{position:relative;z-index:2;width:260px;height:300px;border-radius:14px;overflow:hidden;border:1px solid rgba(203,166,247,.42);box-shadow:0 18px 46px #0000005c;background:#0b1025}.digital-human-canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.digital-human-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.digital-human-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:.7rem;background:radial-gradient(ellipse at 50% 42%,rgba(88,110,160,.28),transparent 58%),linear-gradient(180deg,#10162a,#0b1025);color:#e2e8ffe0;font-size:.82rem;letter-spacing:.04em}.digital-human-loading-spinner{width:34px;height:34px;border-radius:999px;border:2.5px solid rgba(186,194,222,.22);border-top-color:#cba6f7eb;animation:digital-human-spin .85s linear infinite}.digital-human-loading-text{font-weight:600}@keyframes digital-human-spin{to{transform:rotate(360deg)}}.digital-human-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08)}.digital-human-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:2.2rem}.digital-human--happy .digital-human-only{filter:saturate(1.12) brightness(1.05)}.digital-human--laugh .digital-human-only{filter:saturate(1.18) brightness(1.08);animation:digital-laugh-head .75s ease-in-out infinite}.digital-human--worried .digital-human-only{filter:saturate(.78) hue-rotate(-14deg) brightness(.92)}.digital-human--shy .digital-human-only:after{content:"";position:absolute;left:21%;right:21%;top:55%;height:18px;border-radius:999px;background:linear-gradient(90deg,rgba(243,139,168,.36),transparent,rgba(243,139,168,.36))}.digital-human-meta{text-align:center;margin-top:.1rem}.digital-human-name{color:#fff;font-weight:800;font-size:1rem}.digital-human-state{color:#bac2ded1;font-size:.76rem;margin-top:.12rem}.chat-context-panel{display:flex;flex-direction:column;gap:1rem;min-height:0}.chat-context-section{background:#141622f2;border:1px solid rgba(186,194,222,.28);border-radius:0;padding:.6rem;min-height:0;display:flex;flex-direction:column;gap:.6rem}.chat-context-section--user{background:#141622f2}.chat-context-section-title{font-size:.82rem;font-weight:700;letter-spacing:0;color:#e6e7f2;margin:0}.chat-context-hero{display:flex;align-items:flex-start;gap:.65rem}.chat-context-hero--centered{flex-direction:column;align-items:center;text-align:center}.chat-context-avatar-img,.chat-context-avatar-fallback{width:88px;height:88px;border-radius:50%;flex:0 0 auto;border:1px solid rgba(88,91,112,.65)}.chat-context-avatar-img{object-fit:cover;background:#11111b80}.chat-context-avatar-fallback{display:grid;place-items:center;background:linear-gradient(145deg,#cba6f759,#89b4fa40);color:#fff;font-size:1.1rem;font-weight:800}.chat-context-hero-text{min-width:0;flex:1}.chat-context-hero--centered .chat-context-hero-text{width:100%}.chat-context-name{font-size:1.2rem;font-weight:700;color:#fff;line-height:1.3;word-break:break-word}.chat-context-one-liner{font-size:.76rem;color:#dce0f5db;margin-top:.2rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-context-tpl-pill{display:inline-block;margin-top:.35rem;font-size:.7rem;color:var(--cp-mauve);border:1px solid rgba(203,166,247,.4);border-radius:999px;padding:.12rem .5rem}.chat-context-avatar-dot{width:8px;height:8px;margin:.4rem auto 0;border-radius:999px;background:#ffffffe6}.chat-context-scroll{max-height:38vh;overflow-y:auto;font-size:.84rem;line-height:1.5;padding-right:.15rem}.chat-context-field{margin-bottom:.55rem;border:1px solid rgba(186,194,222,.26);background:#3132446b;padding:.45rem .5rem}.chat-context-field:last-child{margin-bottom:0}.chat-context-label{font-size:.74rem;font-weight:600;color:#bac2dee0;margin-bottom:.2rem}.chat-context-text{color:var(--cp-text);white-space:pre-wrap;word-break:break-word}.chat-context-user-bg{font-size:.82rem;color:var(--cp-text);margin-top:.3rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-context-user-card{border:1px solid rgba(186,194,222,.3);background:#31324473;padding:.45rem .5rem;display:flex;align-items:flex-start;gap:.55rem}.chat-context-user-avatar .chat-context-avatar-img,.chat-context-user-avatar .chat-context-avatar-fallback{width:42px;height:42px;border-radius:50%}.chat-context-user-content{min-width:0;flex:1}.chat-context-user-name{font-size:.86rem;font-weight:700;color:#fff;margin-bottom:.2rem}.chat-context-muted{color:var(--cp-subtext1);font-size:.82rem;line-height:1.45}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-title{margin:0;color:#fff;font-size:1.6rem;font-weight:700}.page-subtitle{margin:.45rem 0 1.1rem;color:var(--cp-subtext1);font-size:.92rem}.badge-row{display:flex;gap:.5rem;flex-wrap:wrap}.pill{border:1px solid rgba(203,166,247,.5);color:var(--cp-pink);background:#cba6f721;border-radius:999px;padding:.25rem .55rem;font-size:.74rem}.pill-blue{border-color:#89b4fa8c;color:var(--cp-blue);background:#89b4fa24}.panel{background:linear-gradient(180deg,#313244f0,#1e1e2ef0);border-radius:var(--cp-radius);border:1px solid rgba(88,91,112,.55);padding:1rem 1.1rem;margin-bottom:1rem;box-shadow:var(--cp-shadow)}.action-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;margin-top:.8rem}.action-card{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.25rem .8rem;align-items:center;text-align:left;padding:1.2rem 1.15rem;border-radius:16px;border:1px solid rgba(186,194,222,.32);background:radial-gradient(circle at 12% 15%,rgba(203,166,247,.22),transparent 55%),radial-gradient(circle at 85% 40%,rgba(137,180,250,.18),transparent 48%),#11111b80;cursor:pointer}.action-card:hover{transform:translateY(-1px);border-color:#cba6f7b3;background:radial-gradient(circle at 12% 15%,rgba(203,166,247,.26),transparent 55%),radial-gradient(circle at 85% 40%,rgba(137,180,250,.22),transparent 48%),#11111b94}.action-card-title{grid-column:1 / 2;grid-row:1 / 2;color:#fff;font-size:1.55rem;font-weight:800;letter-spacing:-.02em}.action-card-sub{grid-column:1 / 2;grid-row:2 / 3;color:var(--cp-subtext1);font-size:.92rem}.action-card-cta{grid-column:2 / 3;grid-row:1 / 3;width:44px;height:44px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(137,180,250,.55);background:#89b4fa1f;color:#fff;font-size:1.25rem;font-weight:800}.form-topbar{display:flex;align-items:center;justify-content:flex-start;gap:1rem;margin-bottom:1.2rem;position:relative;min-height:2rem}.form-topbar-title{font-size:1.06rem;font-weight:700;color:#fff;position:absolute;left:50%;transform:translate(-50%);text-align:center;width:max-content;max-width:min(70%,320px)}.link-btn{background:transparent;border:0;padding:.2rem 0;color:#cba6f7f2}.link-btn:hover{background:transparent;border:0;color:#fff}.avatar-picker{display:flex;flex-direction:column;align-items:center;margin:.8rem 0 1.2rem}.avatar-picker-row{display:flex;justify-content:center}.avatar-circle{width:120px;height:120px;border-radius:999px;display:grid;place-items:center;font-size:2rem;font-weight:700;color:#ffffffe6;border:2px solid rgba(203,166,247,.7);background:radial-gradient(circle at 30% 20%,rgba(203,166,247,.35),transparent 55%),radial-gradient(circle at 85% 60%,rgba(137,180,250,.22),transparent 50%),#31324459}.avatar-picker-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem .7rem;margin-top:.6rem}.avatar-action-btn{border:1px solid rgba(203,166,247,.45);background:#11111b73;color:#e0d8f8;font-size:.8rem;padding:.28rem .65rem;border-radius:8px;cursor:pointer}.avatar-action-btn:hover{border-color:#cba6f7bf;color:#fff}.avatar-action-btn--muted{border-color:#585b70a6;color:var(--cp-subtext1)}.avatar-action-btn--muted:hover{border-color:#f38ba873;color:#ffc8d4}.avatar-action-btn--active{border-color:var(--cp-blue);background:#89b4faeb;color:#11111b;font-weight:650;box-shadow:0 0 0 1px #89b4fa59,0 6px 16px #89b4fa38}.avatar-action-btn--active:hover{border-color:#a6c8ff;background:#a6c8ff;color:#11111b}.avatar-picker-hint{margin:.45rem 0 0;max-width:22rem;text-align:center;font-size:.72rem;line-height:1.4;color:var(--cp-subtext1)}.voice-sample-block{margin:-.4rem 0 1rem;padding:.7rem .8rem;border:1px solid rgba(88,91,112,.45);border-radius:var(--cp-radius-sm);background:#11111b59}.character-save-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .85rem;padding:.7rem .85rem;border:1px solid rgba(137,180,250,.45);border-radius:12px;background:linear-gradient(90deg,#313244f5,#1e1e2ef5);box-shadow:0 10px 28px #00000047}.character-save-bar-text{font-size:.82rem;color:var(--cp-subtext1);line-height:1.4}.character-save-bar-btn{flex:0 0 auto;min-width:148px}.character-save-bar-btn.is-dirty{box-shadow:0 0 0 2px #fab3878c}.ok-flash{color:var(--cp-green)!important;margin:0 0 .65rem}.save-toast-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:1rem;background:#08080e8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:save-toast-fade-in .18s ease-out}.save-toast{width:min(360px,100%);border-radius:16px;border:1px solid rgba(166,227,161,.55);background:linear-gradient(180deg,#28302afa,#181c20fa);box-shadow:0 22px 50px #00000073;padding:1.25rem 1.2rem 1.05rem;text-align:center;animation:save-toast-pop .22s ease-out}.save-toast-icon{width:52px;height:52px;margin:0 auto .7rem;border-radius:999px;display:grid;place-items:center;font-size:1.55rem;font-weight:800;color:#102016;background:linear-gradient(180deg,#b6f0b0,#7ad67a);box-shadow:0 8px 20px #7ad67a59}.save-toast-title{font-size:1.2rem;font-weight:750;color:#e8ffe8;margin-bottom:.25rem}.save-toast-sub{font-size:.84rem;color:var(--cp-subtext1);margin-bottom:.95rem}.save-toast-ok{border:0;border-radius:10px;padding:.55rem 1.2rem;min-width:120px;cursor:pointer;font-weight:700;color:#142018;background:linear-gradient(180deg,#b6f0b0,#89d98a)}.save-toast-ok:hover{filter:brightness(1.05)}.save-toast--error{border-color:#f38ba88c;background:linear-gradient(180deg,#34242cfa,#1c161cfa)}.save-toast-icon--error{color:#2a1018;background:linear-gradient(180deg,#f5a3bc,#e06b8a);box-shadow:0 8px 20px #e06b8a59}.save-toast-ok--error{color:#2a1018;background:linear-gradient(180deg,#f5a3bc,#e87a98)}.save-toast-ok--error:hover{filter:brightness(1.05)}@keyframes save-toast-fade-in{0%{opacity:0}to{opacity:1}}@keyframes save-toast-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.talk-assets-block{margin:0 0 1rem;padding:.7rem .8rem;border:1px solid rgba(88,91,112,.45);border-radius:var(--cp-radius-sm);background:#11111b59}.talk-assets-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.talk-assets-title-row label{margin:0;font-weight:600}.talk-assets-ready{font-size:.72rem;color:var(--cp-peach)}.talk-assets-ready.is-ready{color:var(--cp-green)}.talk-assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem}.talk-asset-card{border:1px solid rgba(88,91,112,.5);border-radius:10px;background:#1e1e2e8c;padding:.5rem;display:flex;flex-direction:column;gap:.4rem}.talk-asset-card.is-present{border-color:#a6e3a173}.talk-asset-preview{aspect-ratio:1;border-radius:8px;overflow:hidden;background:#11111ba6;display:grid;place-items:center;color:var(--cp-subtext1);font-size:.72rem}.talk-asset-preview img{width:100%;height:100%;object-fit:cover;display:block}.talk-asset-meta{min-height:2.2rem}.talk-asset-name{font-size:.78rem;color:var(--cp-text)}.talk-asset-name em{color:var(--cp-red);font-style:normal;margin-left:2px}.talk-asset-file{font-size:.66rem;color:var(--cp-subtext1);word-break:break-all}.talk-asset-actions{display:flex;flex-wrap:wrap;gap:.35rem}.voice-sample-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem;margin:.45rem 0 .6rem}.voice-sample-audio{width:min(100%,460px);height:36px}.form-stack{display:flex;flex-direction:column;gap:1.1rem}.tag-field-label{color:#b4befe;font-size:.88rem;font-weight:600}.tag-field .tag-field-box{background:#1e1e2e8c;border:1px solid rgba(203,166,247,.35);border-radius:var(--cp-radius);padding:.9rem 1rem;margin-top:.35rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tag-search-input{width:100%;margin-bottom:.9rem}.tag-selected-block{margin-bottom:.85rem}.tag-selected-caption{font-size:.8rem;color:#cba6f7f2;margin-bottom:.4rem}.tag-pill-scroll{max-height:10rem;overflow-y:auto;padding-right:.2rem}.tag-pill-row{display:flex;flex-wrap:wrap;gap:.45rem}.tag-pill{padding:.28rem .6rem;border-radius:999px;font-size:.8rem;border:1px solid rgba(88,91,112,.65);background:#313244a6;color:#f5c2e7;cursor:pointer;line-height:1.2;width:auto}.tag-pill:hover{background:#cba6f72e;border-color:#cba6f773;color:#fff}.tag-pill--active{background:linear-gradient(135deg,#bb9af78c,#8950c873);border-color:#cba6f78c;color:#fff}.tag-pill--active:hover{filter:brightness(1.05)}.counter{text-align:right;font-size:.75rem;color:#bac2dee6;margin-top:.25rem}.panel h2{margin:0 0 .75rem;font-size:1.06rem;color:#fff}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.panel-head h2{margin:0}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--cp-green);box-shadow:0 0 14px #a6e3a1b8}label{display:block;font-size:.84rem;margin-bottom:.35rem;color:var(--cp-subtext1)}input,textarea,button,select{font:inherit}input,textarea,select{width:100%;background:#181825bf;border:1px solid rgba(88,91,112,.8);border-radius:var(--cp-radius-sm);color:var(--cp-text);padding:.62rem .72rem;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--cp-mauve);box-shadow:0 0 0 2px #cba6f72e}.row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.row>div{flex:1;min-width:180px}button{padding:.52rem .92rem;border-radius:var(--cp-radius-sm);border:1px solid rgba(88,91,112,.88);background:#45475aa6;color:var(--cp-text);cursor:pointer;transition:all .18s ease}button:hover{border-color:#89b4facc;background:#585b70b8}button.primary{border-color:#cba6f7f2;background:linear-gradient(180deg,#cba6f7f2,#89b4faf2);color:#1b1232;font-weight:700}button.primary:hover{filter:brightness(1.05)}.tip{color:var(--cp-subtext1);font-size:.85rem;margin:.58rem 0 0}.status{color:var(--cp-subtext1);font-size:.85rem}.chat-preview{margin-top:.8rem;display:flex;flex-direction:column;gap:.55rem}.chat-box{border:1px solid rgba(88,91,112,.62);border-radius:12px;background:#11111b9e;margin-bottom:0;overflow:hidden;display:flex;flex-direction:column;min-height:0;height:100%}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .7rem;border-bottom:1px solid rgba(88,91,112,.5);background:#31324473}.chat-title{color:#fff;font-size:.9rem;font-weight:600}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:scroll;scrollbar-gutter:stable;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.75rem}.chat-inline-alert{margin:0 .7rem .5rem;padding:.55rem .7rem;border-radius:var(--cp-radius-sm);background:#f38ba826;border:1px solid rgba(243,139,168,.45);color:#f5c2e7;font-size:.86rem}.chat-inline-debug{margin:0 .7rem .5rem;font-size:.75rem;line-height:1.4;max-height:120px;overflow:auto;padding:.5rem .65rem;background:#11111beb;border:1px solid rgba(88,91,112,.5);border-radius:6px;color:var(--cp-rosewater)}.chat-composer{position:relative;background:#1e1e2ef0;border-top:1px solid rgba(88,91,112,.48);padding-top:.65rem}.chat-empty{color:var(--cp-subtext1);font-size:.86rem;text-align:center;padding:1rem .5rem}.msg-row{display:flex;align-items:flex-start;gap:.55rem;width:100%}.msg-row.user{justify-content:flex-start;flex-direction:row-reverse}.msg-row.ai{justify-content:flex-start}.msg-avatar{width:32px;height:32px;border-radius:6px;border:1px solid rgba(137,180,250,.5);background:linear-gradient(180deg,#cba6f740,#89b4fa26);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:700;flex:0 0 auto;overflow:hidden}.msg-avatar-img{width:100%;height:100%;border-radius:5px;object-fit:cover;display:block}.msg-bubble-wrap{max-width:min(78%,560px);min-width:0}.msg-row.user .msg-bubble-wrap{display:flex;flex-direction:column;align-items:flex-end}.msg-bubble{border-radius:12px;padding:.55rem .7rem;border:1px solid rgba(88,91,112,.6);color:var(--cp-text);font-size:.9rem;white-space:pre-wrap;word-break:break-word}.msg-row.user .msg-bubble{background:#8b5cf633}.msg-row.ai .msg-bubble{background:#45475a94}.msg-time{font-size:.72rem;color:#bac2ded9;margin-top:.2rem}.msg-actions{margin-top:.35rem;display:flex;align-items:center;gap:.35rem}.msg-replay-tts{font-size:.72rem;padding:.2rem .45rem;border-radius:6px;border:1px solid rgba(88,91,112,.75);background:#3132448c;color:var(--cp-subtext1);cursor:pointer}.msg-replay-tts:hover:not(:disabled){border-color:#89b4fa8c;color:var(--cp-blue);background:#45475aa6}.msg-replay-tts:disabled{opacity:.45;cursor:not-allowed}.voice-msg-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.voice-msg-row--under-text{margin-top:.4rem}.voice-msg-row--under-text .voice-msg-bubble{min-height:34px;padding:.28rem .65rem .28rem .35rem;box-shadow:0 4px 12px #0000002e}.voice-msg-bubble{display:inline-flex;align-items:center;gap:.55rem;min-height:40px;padding:.35rem .75rem .35rem .4rem;border-radius:999px;border:1px solid rgba(137,180,250,.35);background:linear-gradient(90deg,#5b7fd6,#74c7ec 55%,#89b4fa);color:#fff;box-shadow:0 6px 18px #00000038}.voice-msg-bubble.is-playing{box-shadow:0 0 0 1px #b4befe73,0 8px 20px #00000047}.voice-msg-play{width:28px;height:28px;border:none;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;padding:0;flex:0 0 auto}.voice-msg-play-icon.is-play{width:0;height:0;margin-left:2px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #5b7fd6}.voice-msg-play-icon.is-pause{width:10px;height:10px;background:linear-gradient(#5b7fd6,#5b7fd6) 0 0 / 3px 100% no-repeat,linear-gradient(#5b7fd6,#5b7fd6) 100% 0 / 3px 100% no-repeat}.voice-msg-dots{display:inline-flex;align-items:center;gap:5px}.voice-msg-dot{width:5px;height:5px;border-radius:50%;background:#fffffff2}.voice-msg-bubble.is-playing .voice-msg-dot{animation:voice-dot-pulse .9s ease-in-out infinite}.voice-msg-bubble.is-playing .voice-msg-dot:nth-child(2){animation-delay:.08s}.voice-msg-bubble.is-playing .voice-msg-dot:nth-child(3){animation-delay:.16s}.voice-msg-bubble.is-playing .voice-msg-dot:nth-child(4){animation-delay:.24s}.voice-msg-bubble.is-playing .voice-msg-dot:nth-child(5){animation-delay:.32s}.voice-msg-bubble.is-playing .voice-msg-dot:nth-child(6){animation-delay:.4s}.voice-msg-rate{border:none;background:transparent;color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;padding:0;min-width:2.2rem}.voice-msg-duration{font-size:.82rem;font-variant-numeric:tabular-nums;opacity:.95;min-width:2.6rem}.voice-msg-transcript-btn{border:none;background:transparent;color:var(--cp-blue);font-size:.78rem;cursor:pointer;padding:.15rem .2rem}.voice-msg-transcript-btn:hover{color:var(--cp-lavender);text-decoration:underline}.voice-msg-transcript{margin-top:.4rem}@keyframes voice-dot-pulse{0%,to{transform:scale(1);opacity:.75}50%{transform:scale(1.35);opacity:1}}.loading-bubble{display:inline-flex;align-items:center;gap:5px}.loading-bubble-label{margin-left:.35rem;font-size:.78rem;color:var(--cp-subtext0);opacity:.9;line-height:1}.dot{width:7px;height:7px;border-radius:50%;background:var(--cp-lavender);opacity:.35;animation:pulse-dot 1.1s infinite ease-in-out}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}.msg-row.user .msg-time{text-align:right}.character-card{display:flex;gap:.75rem;align-items:flex-start;border:1px solid rgba(88,91,112,.6);border-radius:12px;background:#31324480;padding:.75rem}.profile-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.profile-avatar{width:52px;height:52px;border-radius:50%;border:2px solid rgba(203,166,247,.75);display:grid;place-items:center;color:#fff;font-weight:700;font-size:1rem;background:linear-gradient(180deg,#cba6f757,#89b4fa57)}.profile-meta{min-width:0}.profile-name{color:#fff;font-size:.95rem;font-weight:700}.profile-sub{color:var(--cp-subtext1);font-size:.78rem}.character-avatar{width:48px;height:48px;border-radius:50%;border:2px solid rgba(203,166,247,.75);display:grid;place-items:center;color:var(--cp-text);font-weight:700;background:linear-gradient(180deg,#cba6f759,#89b4fa59);flex:0 0 auto}.character-meta h3{margin:0;font-size:1rem;color:#fff}.character-meta p{margin:.2rem 0 0;color:var(--cp-subtext1);font-size:.88rem}.tag-row{margin-top:.45rem;display:flex;flex-wrap:wrap;gap:.35rem}.tag{border-radius:999px;border:1px solid rgba(88,91,112,.75);background:#585b704d;color:var(--cp-subtext1);font-size:.73rem;padding:.14rem .45rem}.tag-purple{color:var(--cp-pink);border-color:#cba6f799;background:#cba6f726}.bubble{max-width:82%;border-radius:12px;padding:.56rem .75rem;font-size:.9rem;border:1px solid rgba(88,91,112,.58)}.bubble.user{align-self:flex-end;text-align:right;background:#8b5cf62e;color:var(--cp-text)}.bubble.ai{align-self:flex-start;background:#45475a85;color:var(--cp-text)}pre{white-space:pre-wrap;word-break:break-word;font-size:.84rem;line-height:1.45;background:#11111beb;border:1px solid rgba(88,91,112,.65);color:var(--cp-rosewater);padding:.75rem .9rem;border-radius:var(--cp-radius-sm)}.err{color:var(--cp-red);font-size:.9rem}.manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem 1rem;align-content:start}.character-section{margin-bottom:1.4rem}.character-section:last-child{margin-bottom:.4rem}.character-section-title{margin:0 0 .65rem;font-size:.82rem;font-weight:650;letter-spacing:.04em;text-transform:none;color:#bac2deeb}.character-section--compact{margin-bottom:1rem}.character-section--compact .character-section-title{margin-bottom:.5rem}.manage-card{display:flex;flex-direction:column;border:1px solid rgba(88,91,112,.55);border-radius:var(--cp-radius, 10px);background:linear-gradient(165deg,#313244b8,#1e1e2ee6);padding:.9rem 1rem .75rem;min-height:0;transition:border-color .15s ease,box-shadow .15s ease}.manage-card:hover{border-color:#cba6f759;box-shadow:0 4px 18px #0003}.manage-card--create{align-items:center;justify-content:center;gap:.45rem;min-height:168px;cursor:pointer;color:inherit;font:inherit;text-align:center;border-style:dashed;border-color:#8ca0d273;background:#24273a8c}.manage-card--create:hover{border-color:#a6e3a18c;background:#313244bf}.manage-card-create-plus{font-size:2.4rem;font-weight:300;line-height:1;color:#cdd6f4eb}.manage-card-create-label{font-size:.88rem;color:var(--cp-subtext1)}.manage-card--pick{cursor:pointer;text-align:left;color:inherit;font:inherit;width:100%}.manage-card--pick:focus-visible{outline:2px solid rgba(166,227,161,.65);outline-offset:2px}.manage-card-pick-cta{margin-top:auto;padding-top:.55rem;font-size:.86rem;font-weight:600;color:#a6e3a1}.home-boot-status{margin:2rem 1rem}button.logo-block{display:block;width:100%;border:0;background:transparent;text-align:left;cursor:pointer;padding:inherit;color:inherit;font:inherit}.manage-card-head{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.55rem}.manage-card-avatar,.manage-card-avatar-fallback{width:52px;height:52px;border-radius:10px;flex:0 0 auto;object-fit:cover;border:1px solid rgba(203,166,247,.35);background:#11111b8c}.manage-card-avatar-fallback{display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.05rem;background:linear-gradient(180deg,#cba6f759,#89b4fa52)}.manage-card-titles{min-width:0;flex:1 1 auto}.manage-card-name{margin:0;font-size:.98rem;font-weight:700;color:#fff;line-height:1.25;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.manage-card-badge{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.02em;padding:.12rem .4rem;border-radius:4px;color:#c6d0f5;background:#6378b459;border:1px solid rgba(140,160,210,.35)}.manage-card-tagline{margin:.2rem 0 0;font-size:.78rem;color:var(--cp-subtext1);line-height:1.3}.manage-card-desc{margin:0 0 .6rem;font-size:.8rem;line-height:1.4;color:#bac2dee0;flex:1 1 auto;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.manage-card-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem .6rem;margin-top:auto;padding-top:.35rem;border-top:1px solid rgba(88,91,112,.35)}.manage-cta{border:0;background:none;padding:.15rem 0;font-size:.82rem;font-weight:600;color:var(--cp-teal, #94e2d5);cursor:pointer;text-align:left}.manage-cta:hover{text-decoration:underline;color:#b4f0e6}.manage-card-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem .6rem}.manage-card-links--right{margin-left:auto;width:100%;justify-content:flex-end}.link-muted,.link-warn,.link-danger{border:0;background:none;padding:.1rem .05rem;font-size:.78rem;cursor:pointer;text-decoration:underline;text-underline-offset:.12em}.link-muted{color:var(--cp-subtext1)}.link-muted:hover{color:var(--cp-text)}.link-warn{color:var(--cp-yellow, #f9e2af)}.link-warn:hover{color:#fff3bf}.link-danger{color:var(--cp-red, #f38ba8)}.link-danger:hover{color:#ffccd5}.manage-card-tags{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.35rem}.manage-tag-pill{font-size:.7rem;border-radius:999px;border:1px solid rgba(203,166,247,.45);background:#cba6f71f;color:var(--cp-pink, #f5c2e7);padding:.1rem .45rem}.manage-tag-more{font-size:.7rem;color:var(--cp-subtext1);padding:.1rem .2rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.2rem 1rem;background:#0a0a12c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tpl-gallery{margin-bottom:1.1rem}.tpl-gallery--strip{margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid rgba(88,91,112,.45)}.tpl-gallery-subtitle{margin-top:-.35rem;margin-bottom:.65rem}.tpl-strip{display:flex;gap:.65rem;overflow-x:auto;padding:.15rem .1rem .45rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.tpl-strip::-webkit-scrollbar{height:6px}.tpl-strip::-webkit-scrollbar-thumb{background:#585b70a6;border-radius:999px}.tpl-strip-card{flex:0 0 auto;width:92px;display:grid;justify-items:center;gap:.4rem;padding:.35rem .2rem .45rem;border:1px solid color-mix(in srgb,var(--tpl-accent, #89b4fa) 40%,rgba(88,91,112,.5));border-radius:12px;background:color-mix(in srgb,var(--tpl-accent, #89b4fa) 12%,rgba(30,30,46,.92));color:inherit;cursor:pointer;scroll-snap-align:start;transition:transform .12s ease,border-color .12s ease}.tpl-strip-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--tpl-accent, #89b4fa) 72%,#fff)}.tpl-strip-avatar,.tpl-strip-avatar-fallback{width:64px;height:64px;border-radius:999px;object-fit:cover;display:block}.tpl-strip-avatar-fallback{display:grid;place-items:center;font-size:1.35rem;font-weight:800;color:#fff;background:color-mix(in srgb,var(--tpl-accent, #89b4fa) 48%,#1e1e2e)}.tpl-strip-name{font-size:.72rem;font-weight:650;line-height:1.25;text-align:center;color:#eff1f5;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tpl-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem}.tpl-card{display:flex;flex-direction:column;text-align:left;border:1px solid color-mix(in srgb,var(--tpl-accent, #89b4fa) 42%,rgba(88,91,112,.55));border-radius:14px;overflow:hidden;padding:0;background:linear-gradient(165deg,color-mix(in srgb,var(--tpl-accent, #89b4fa) 18%,rgba(30,30,46,.96)),#181825fa);color:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.tpl-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000059;border-color:color-mix(in srgb,var(--tpl-accent, #89b4fa) 70%,#fff)}.tpl-card-cover{aspect-ratio:1 / 1;background:#0b10258c}.tpl-card-avatar,.tpl-card-avatar-fallback{width:100%;height:100%;object-fit:cover;display:block}.tpl-card-avatar-fallback{display:grid;place-items:center;font-size:2.4rem;font-weight:800;color:#fff;background:color-mix(in srgb,var(--tpl-accent, #89b4fa) 45%,#1e1e2e)}.tpl-card-body{padding:.75rem .8rem .9rem;display:grid;gap:.35rem}.tpl-card-name{margin:0;font-size:1.02rem;font-weight:750;color:#eff1f5}.tpl-card-desc{margin:0;font-size:.82rem;line-height:1.45;color:var(--cp-subtext0);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tpl-card-greeting{margin:.15rem 0 0;font-size:.78rem;line-height:1.4;color:color-mix(in srgb,var(--tpl-accent, #89b4fa) 70%,#cdd6f4);font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tpl-preview-panel{max-width:min(480px,100%);max-height:min(88vh,920px);display:flex;flex-direction:column;padding-bottom:.85rem}.tpl-preview-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.15rem;margin-bottom:.35rem}.tpl-preview-hero{display:grid;justify-items:center;gap:.45rem;text-align:center;margin-bottom:.85rem;padding-top:.35rem}.tpl-preview-avatar,.tpl-preview-avatar-fallback{width:96px;height:96px;border-radius:999px;object-fit:cover;border:2px solid rgba(203,166,247,.45)}.tpl-preview-avatar-fallback{display:grid;place-items:center;font-size:2rem;font-weight:800;background:#89b4fa47;color:#fff}.tpl-preview-bubble{margin:0;padding:.85rem 1rem;border-radius:14px 14px 14px 4px;background:#313244eb;border:1px solid rgba(186,194,222,.22);line-height:1.5;white-space:pre-wrap}.tpl-preview-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tpl-preview-tag{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;color:#e2e8ffeb;background:#45475ad9;border:1px solid rgba(186,194,222,.22)}.tpl-preview-actions{flex:0 0 auto;margin-top:.35rem;padding-top:.75rem;border-top:1px solid rgba(88,91,112,.45);display:flex;flex-direction:column;align-items:stretch;gap:.55rem}.tpl-gender-select{width:100%;margin:.35rem 0 .9rem;padding:.55rem .65rem;border-radius:8px;border:1px solid rgba(88,91,112,.7);background:#11111bbf;color:inherit}.modal-panel{position:relative;max-width:min(520px,100%);max-height:min(86vh,900px);overflow:auto;width:100%;border-radius:12px;border:1px solid rgba(88,91,112,.65);background:linear-gradient(180deg,#242434fa,#181825fa);padding:1.1rem 1.15rem 1rem;box-shadow:0 20px 50px #00000073}.modal-close{position:absolute;top:.55rem;right:.5rem;width:2rem;height:2rem;border:0;border-radius:8px;background:#11111b8c;color:var(--cp-subtext1);font-size:1.2rem;line-height:1;cursor:pointer}.modal-close:hover{color:#fff;background:#585b7073}.modal-head{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:.9rem;padding-right:1.5rem}.modal-avatar,.modal-avatar-fallback{width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid rgba(203,166,247,.4);flex:0 0 auto}.modal-avatar-fallback{display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.35rem;background:linear-gradient(180deg,#cba6f766,#89b4fa59)}.modal-title{margin:0;font-size:1.2rem;color:#fff}.modal-sub{margin:.2rem 0 0;font-size:.85rem;color:var(--cp-subtext1)}.modal-block h4,.modal-block-label{margin:0 0 .4rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--cp-subtext1)}.modal-pre{margin:0;font-size:.86rem;line-height:1.5;color:#dce0f5e6;white-space:pre-wrap;word-break:break-word}.modal-footer-btns{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-top:1.1rem;padding-top:.75rem;border-top:1px solid rgba(88,91,112,.4)}.modal-secondary,.modal-danger{border-radius:8px;padding:.4rem .8rem;font-size:.86rem;cursor:pointer;border:1px solid rgba(88,91,112,.65);background:#11111b8c;color:var(--cp-text)}.modal-secondary:hover{border-color:#cba6f773}.modal-danger{color:#ffc8d4;border-color:#f38ba873;background:#f38ba81f}.modal-danger:hover{background:#f38ba838}.chat-setup-hero{text-align:center;font-size:1.5rem;font-weight:800;margin:.25rem 0 .5rem}.chat-setup-outer{text-align:left}.chat-setup-body{display:flex;flex-direction:column;gap:1.4rem}.chat-setup-block-title{margin:0 0 .65rem;font-size:1.1rem;font-weight:600;color:#e0d8f8}.chat-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem 1rem;align-content:start}.chat-pick-card{display:flex;flex-direction:row;align-items:center;gap:.75rem;text-align:left;padding:.7rem .8rem;border-radius:10px;border:1px solid rgba(88,91,112,.6);background:#1e1e2ea6;color:var(--cp-text);cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}.chat-pick-card:hover{border-color:#cba6f766;background:#3132448c}.chat-pick-card--on{border-color:#bd93f9f2!important;box-shadow:0 0 0 1px #bd93f959;background:#6366f11f}.chat-pick-avatar{position:relative;width:56px;height:56px;border-radius:8px;flex:0 0 auto;overflow:hidden;background:linear-gradient(180deg,#cba6f74d,#89b4fa38);border:1px solid rgba(203,166,247,.3);display:grid;place-items:center}.chat-pick-avatar-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.chat-pick-initial{z-index:0;font-size:1.15rem;font-weight:800;color:#fff}.chat-pick-meta{min-width:0;flex:1 1 auto}.chat-pick-name{font-weight:700;font-size:.92rem;color:#fff}.chat-pick-sub{font-size:.75rem;color:var(--cp-subtext1);margin-top:.15rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-setup-cta{flex:0 0 auto;padding:.4rem 0 .2rem}.chat-lets-button{width:100%;padding:.7rem 1rem;font-size:1rem}.history-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem 1.1rem;align-content:start;padding:.1rem .2rem .3rem 0}.history-card{display:flex;flex-direction:column;border:1px solid rgba(88,91,112,.6);border-radius:10px;background:#242434a6;padding:.85rem .9rem .75rem}.history-card-head{display:flex;flex-direction:row;align-items:flex-start;gap:.6rem;min-height:0}.history-card-avatar{position:relative;width:48px;height:48px;border-radius:8px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(203,166,247,.3);background:linear-gradient(180deg,#cba6f747,#89b4fa33);display:grid;place-items:center}.history-card-avatar-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.history-card-initial{z-index:0;font-size:1rem;font-weight:800;color:#fff}.history-card-titles{min-width:0;flex:1 1 auto}.history-card-name{margin:0;font-size:.95rem;color:#fff;font-weight:700;line-height:1.25}.history-card-sub{margin:.2rem 0 0;font-size:.72rem;color:var(--cp-subtext1);line-height:1.3}.history-card-date{margin:.2rem 0 0;font-size:.72rem;color:#bac2debf}.history-card-actions{display:flex;flex-direction:row;gap:.5rem;margin-top:.8rem}.history-btn{flex:1 1 0;min-width:0;border-radius:8px;padding:.4rem .5rem;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid transparent}.history-btn--primary{background:linear-gradient(180deg,#8b5cf6,#6d28d9);color:#fff;border-color:#bd93f973}.history-btn--primary:hover{filter:brightness(1.05)}.history-btn--danger{background:#f38ba82e;color:#ffc8d4;border:1px solid rgba(243,139,168,.45)}.history-btn--danger:hover{background:#f38ba847}@media (max-width: 720px){.app-shell{grid-template-columns:1fr}.left-sidebar,.right-panel{border:0;border-bottom:1px solid rgba(88,91,112,.35)}.layout-main-chat{height:auto;min-height:60vh}.chat-scroll{min-height:40vh}}@keyframes pulse-dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}@keyframes digital-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.018)}}@keyframes digital-idle-head{0%,to{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(1.4deg) translateY(-2px)}}@keyframes digital-blink{0%,92%,to{transform:scaleY(1)}94%,96%{transform:scaleY(.12)}}@keyframes digital-wave{0%,to{transform:rotate(18deg) translateY(0)}50%{transform:rotate(31deg) translateY(-5px)}}@keyframes digital-aura{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes digital-aura-speaking{0%,to{opacity:.65;transform:scale(.98)}50%{opacity:.95;transform:scale(1.06)}}@keyframes digital-soundwave-bar{0%,to{height:5px}50%{height:18px}}@keyframes digital-laugh-head{0%,to{transform:rotate(-2deg) translateY(0) scale(1)}50%{transform:rotate(2deg) translateY(-4px) scale(1.025)}}.voice-source-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:.45rem 0 .75rem}.platform-voice-gender-tabs{margin:.35rem 0 .5rem}.platform-voice-selected-card{display:flex;align-items:center;gap:.65rem;margin:.45rem 0 .75rem;padding:.55rem .55rem .55rem .85rem;min-height:3.5rem;border-radius:12px;border:1px solid rgba(180,150,230,.35);background:linear-gradient(90deg,#b496e638,#89b4fa1f)}.platform-voice-selected-icon{flex:0 0 auto;font-size:.72rem;letter-spacing:-.12em;color:#cba6f7;font-weight:800;line-height:1}.platform-voice-selected-text{flex:1 1 auto;min-width:0;font-size:.9rem;font-weight:650;color:#eceffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-voice-selected-preview{flex:0 0 auto;border:0;border-radius:10px;padding:.45rem .75rem;font-size:.82rem;font-weight:650;cursor:pointer;color:#1e1e2e;background:#cba6f7e0}.platform-voice-selected-preview:disabled{opacity:.45;cursor:not-allowed}.platform-voice-selected-preview:not(:disabled):hover{background:#cba6f7}.platform-voice-pick-list{display:flex;flex-direction:column;gap:.45rem;margin:.15rem 0 .75rem;width:100%;max-height:12.5rem;overflow-y:auto;padding-right:.15rem}.platform-voice-pick-group{display:flex;flex-direction:column;gap:.35rem}.platform-voice-pick-group-title{font-size:.8rem;font-weight:600;opacity:.78;margin-top:.2rem}.platform-voice-pick-item{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:0;cursor:pointer;width:100%;color:var(--cp-text);padding:.4rem .55rem;border-radius:8px;border:1px solid transparent;box-sizing:border-box}.platform-voice-pick-item.is-selected{border-color:#89b4fa8c;background:#89b4fa24}.platform-voice-pick-item.is-selected>span strong{color:var(--cp-blue)}.platform-voice-pick-item input[type=radio]{width:auto;min-width:1rem;flex:0 0 auto;margin:.2rem 0 0;padding:0;accent-color:var(--cp-blue);background:transparent;border:none;box-shadow:none}.platform-voice-pick-item>span{flex:1 1 auto;min-width:0;line-height:1.45;word-break:break-word}.platform-voice-pick-item em{font-style:normal;opacity:.75}.check-row{display:inline-flex;align-items:center;gap:.4rem}.check-row input[type=checkbox],.check-row input[type=radio]{width:auto;flex:0 0 auto;margin:0;padding:0}.platform-voice-admin{padding:.5rem 0 1.5rem}.platform-voice-admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1rem}.platform-voice-admin-create{max-width:520px;margin-bottom:1rem}.platform-voice-admin-list{display:flex;flex-direction:column;gap:.75rem}.platform-voice-admin-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.15rem}.platform-voice-admin-group{display:flex;flex-direction:column;gap:.65rem}.platform-voice-admin-group-title{margin:.35rem 0 0;font-size:.95rem;font-weight:600;color:#cdd6f4eb}.platform-voice-tab-count{opacity:.75;font-weight:500}.platform-voice-gender-select{width:auto!important;min-width:5.5rem;max-width:7rem;padding:.35rem .5rem;border-radius:8px;border:1px solid rgba(137,180,250,.35);background:#11111b8c;color:inherit;font:inherit}.platform-voice-admin-card{border:1px solid rgba(137,180,250,.25);border-radius:12px;padding:.85rem 1rem;background:#ffffff08}.platform-voice-admin-card.is-disabled{opacity:.65}.platform-voice-admin-meta{margin-bottom:.65rem}.error-banner{margin-top:.75rem;color:#f38ba8}
