:root{--font-size-small:14px;--font-size-medium:16px;--font-size-large:18px;-webkit-tap-highlight-color:transparent}:root[data-font-size=small]{font-size:14px;font-size:var(--font-size-small)}:root[data-font-size=medium]{font-size:16px;font-size:var(--font-size-medium)}:root[data-font-size=large]{font-size:18px;font-size:var(--font-size-large)}:root[data-theme=dark]{--primary-color:#707070;--accent-color:#272727;--background-color:#161616;--surface-color:#202020;--border-color:#5a5a5a;--text-primary:#f2f3f4;--text-secondary:#d1d5db;--text-muted:#9ca3af;--shadow-light:#00000040;--shadow-medium:#0006;--gradient-bg:#161616;--quote-text-color:#8ac2e6;--middle-color:#505050;--topline-color:#161616;--user-color:#313131}:root[data-theme=light]{--primary-color:#79a0bd;--accent-color:#7294c0;--topline-color:#91b0d9cc;--background-color:#c9dbe2;--surface-color:#e9e9eb;--gradient-bg:#b5cfde;--user-color:#a5c5d959;--text-primary:#48597a;--text-secondary:#799ab4;--text-muted:#79a0bd;--quote-text-color:#548dc9;--border-color:#689dcf;--middle-color:#76a5bc;--shadow-light:#0000001a;--shadow-medium:#00000026}:root[data-theme=\87F2\9921\5305\7DA0]{--primary-color:#50854e;--accent-color:#357047;--topline-color:#50854eb3;--background-color:#cdeecb;--surface-color:#fdfaef;--gradient-bg:#cdeecb;--user-color:#f5f1bf80;--text-primary:#683c0b;--text-secondary:#926a3a;--text-muted:#926a3ab3;--quote-text-color:#357047;--text-user:#fdfaef;--border-color:hsla(0,0%,66%,.438);--middle-color:#e7e7e7;--shadow-light:#5330091a;--shadow-medium:#53300926}:root[data-theme=\725B\5976\53EF\53EF]{--primary-color:#a07350;--accent-color:#8a6042;--topline-color:#a07350b3;--background-color:#fdfaf6;--surface-color:#fbf3e9;--gradient-bg:#fdfaf6;--user-color:#a0735033;--text-primary:#583c2a;--text-secondary:#8b6955;--text-muted:#8b6955b3;--quote-text-color:#cc703c;--border-color:#bca59280;--middle-color:#e7e7e7;--shadow-light:#3e2a1e1a;--shadow-medium:#3e2a1e26}:root[data-theme=old-books]{--primary-color:#6f595d;--accent-color:#af7e7e;--topline-color:#6f595dcc;--background-color:#e7d8cf;--surface-color:#e4d3c7;--gradient-bg:#e7d8cf;--user-color:#856b6e40;--text-primary:#77585f;--text-secondary:#856b6e;--text-muted:#ac8686;--quote-text-color:#c58585;--border-color:#c09090;--middle-color:#d4bdb2;--shadow-light:#5b44491a;--shadow-medium:#5b444926}:root[data-theme=old-blue]{--primary-color:#535c95;--accent-color:#597da7;--topline-color:#535c95cc;--background-color:#dbd1ca;--surface-color:#d1c6c0;--gradient-bg:#dbd1ca;--user-color:#8a8a8a40;--text-primary:#545980;--text-secondary:#8a8a8a;--text-muted:#8fa8c4;--quote-text-color:#547ead;--border-color:#94b1d3;--middle-color:#c9bdc8;--shadow-light:#4347661a;--shadow-medium:rgba(67,71,102,,0.15)}:root[data-theme=hyacinth-mauve]{--primary-color:#564868;--accent-color:#7071c0;--topline-color:#564868cc;--background-color:#dbceca;--surface-color:#d1c3c0;--gradient-bg:#dbceca;--user-color:#7e657440;--text-primary:#544863;--text-secondary:#7e6574;--text-muted:#9784a7;--quote-text-color:#7071c0;--border-color:#a38ab7;--middle-color:#cebbc8;--shadow-light:#443a501a;--shadow-medium:#443a5026}:root[data-theme="misty forest"]{--primary-color:#3c563e;--accent-color:#48684c;--topline-color:#30362dcc;--background-color:#121614;--surface-color:#1c2421;--gradient-bg:#121614;--user-color:#6e7f6a40;--text-primary:#a6aea2;--text-secondary:#6e7f6a;--text-muted:#5b635a;--quote-text-color:#5e9b76;--border-color:#657163;--middle-color:#252e28;--shadow-light:#00000040;--shadow-medium:#0006}:root[data-theme=dark-hyacinth]{--primary-color:#484264;--accent-color:#665892;--topline-color:#3b3242cc;--background-color:#141218;--surface-color:#272135;--gradient-bg:#141218;--user-color:#8f789b40;--text-primary:#bdb2c0;--text-secondary:#8f789b;--text-muted:#716579;--quote-text-color:#66669e;--border-color:#524668;--middle-color:#373043;--shadow-light:#00000040;--shadow-medium:#0006}:root[data-theme=blue-moon]{--primary-color:#c89967;--accent-color:#775343;--topline-color:#0c1e3c;--background-color:#071226;--surface-color:#1e2533;--gradient-bg:#071226;--user-color:#7a5a4a40;--text-primary:#cec7b7;--text-secondary:#7e93b0;--text-muted:#7e93b0b3;--quote-text-color:#c89967;--border-color:#5b4f48;--middle-color:#1b2841;--shadow-light:#00000040;--shadow-medium:#0006}:root[data-theme=moriarty]{--primary-color:#3a3a52;--accent-color:#2c96d9;--topline-color:#3a3a52cc;--background-color:#8d9fc9;--surface-color:#adc0e3;--gradient-bg:#8d9fc9;--user-color:#24a3c440;--text-primary:#42425f;--text-secondary:#5d6491;--text-muted:#6a6f9e;--quote-text-color:#308fca;--border-color:#676da3;--middle-color:#515686;--shadow-light:#0000001a;--shadow-medium:#00000026}.quoted-text{color:var(--quote-text-color)}.quoted-text:before{content:" ";letter-spacing:-.3em}p>.quoted-text:first-child:before{content:none}*{box-sizing:border-box;padding:0}*,body{margin:0}body{background:var(--gradient-bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;transition:all .3s ease}.app-container{background:var(--background-color);box-shadow:0 0 20px var(--shadow-light);display:flex;flex-direction:column;height:100dvh;margin:0 auto;max-width:800px;overflow:hidden}.top-navigation{background:var(--topline-color);border-bottom:1px solid var(--border-color);height:40px;justify-content:space-around;padding:0 20px}.nav-icon,.top-navigation{align-items:center;display:flex}.nav-icon{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;justify-content:center;padding:8px;position:relative;transition:all .3s ease}.nav-icon:hover{color:var(--quote-text-color)}.nav-icon.active{color:var(--primary-color)}.app-content{flex:1 1;overflow:hidden}.page-content{background:var(--background-color);display:flex;flex-direction:column;height:100%}.content-area{background:var(--surface-color);flex:1 1;overflow-y:auto;padding:20px}.empty-state{color:var(--text-secondary);padding:60px 20px;text-align:center}.empty-icon{color:var(--text-muted);display:flex;justify-content:center;margin-bottom:16px}.empty-state h3{color:var(--text-primary);font-size:1.2em;margin:16px 0 8px}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.create-button{align-items:center;background:var(--primary-color);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease}.create-button:hover{background:var(--accent-color);transform:translateY(-1px)}.characters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:24px}.character-card{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .3s ease}.character-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.character-card.active{background:#6b72801a;border-color:var(--primary-color)}.character-avatar{align-items:center;background:var(--surface-color);border:2px solid var(--border-color);border-radius:50%;color:var(--primary-color);display:flex;height:50px;justify-content:center;width:50px}.prompts-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.prompt-card{background:var(--background-color);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;padding:16px;transition:all .3s ease}.prompt-card:hover{border-color:var(--primary-color);transform:translateY(-1px)}.prompt-card.active{background:#6b72801a;border-color:var(--primary-color)}.current-selection{background:var(--background-color);border:2px solid var(--primary-color);border-radius:12px;margin-top:20px;padding:16px}.current-selection h3{color:var(--primary-color);margin:0 0 8px}.current-selection p{color:var(--text-secondary);margin:0}.chat-header-container{position:relative;z-index:5}.chat-header-panel{animation:slideDown .3s ease-out forwards;background:var(--surface-color);border-bottom:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-light);justify-content:space-between;left:0;padding:12px 20px;right:0;top:0}.chat-header-panel,.info-panel-toggle-btn{align-items:center;display:flex;position:absolute}.info-panel-toggle-btn{background:var(--text-muted);border:none;border-radius:50%;color:var(--topline-color);cursor:pointer;height:32px;justify-content:center;opacity:50%!important;right:15px;top:8px;transition:all .3s ease;width:32px;z-index:6}.info-panel-toggle-btn:hover{background:var(--topline-color);color:var(--text-muted);opacity:100%!important}.chat-info{display:flex;flex-direction:column;gap:4px}.current-character,.current-prompt{color:var(--text-secondary);font-size:.8em}.connection-status{align-items:center;background:#6b72801a;border-radius:8px;display:flex;font-size:.75em;gap:6px;padding:4px 8px}.connection-status.connected{background:var(--background-color);color:var(--primary-color)}.connection-status.disconnected{background:var(--background-color);color:var(--text-muted)}.messages-area{background:var(--surface-color);flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px 13px}.welcome-message{color:var(--text-secondary);margin-top:50px;text-align:center}.character-greeting{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:12px;display:flex;gap:12px;margin-top:20px;padding:16px}.greeting-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:var(--text-primary);display:flex;height:40px;width:40px}.greeting-avatar,.system-message{justify-content:center}.message-content{border-radius:18px;max-width:88%;padding:12px 20px}.message-content p{margin:0;white-space:pre-wrap;word-break:break-word}.bubble-wrapper,.message-content{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:break-all}.user-message .message-content{background:var(--user-color);border-bottom-right-radius:4px;color:var(--text-primary)}.ai-message .message-content{background:var(--background-color);border:1px solid var(--border-color);border-bottom-left-radius:4px;color:var(--text-primary)}.system-message .message-content{background:var(--text-muted);border:1px solid var(--quote-text-color);color:var(--quote-text-color);max-width:90%}.timestamp{display:block;font-size:.75em;margin-top:4px;opacity:.7}.loading-message{align-items:center;color:var(--text-secondary);display:flex;gap:10px;margin:20px 0}.loading-dots{display:flex;gap:4px}.loading-dots span{animation:loading 1.4s ease-in-out infinite both;background:var(--primary-color);border-radius:50%;height:8px;width:8px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes loading{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.input-area{align-items:flex-end}.message-input{background:var(--surface-color);border:2px solid var(--border-color);border-radius:25px;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:1rem;line-height:1.4;max-height:150px;outline:none;overflow-y:auto;padding:8px 16px;resize:none;transition:border-color .3s ease}.message-input::placeholder,.setting-input::placeholder,.setting-textarea::placeholder{color:var(--text-muted)}.send-button{align-items:center;background:var(--primary-color);border:none;border-radius:50%;color:var(--surface-color);cursor:pointer;display:flex;height:45px;justify-content:center;transition:all .3s ease;width:45px}.send-button:hover:not(:disabled){background:var(--accent-color);transform:scale(1.05)}.send-button:disabled{background:var(--text-muted);cursor:not-allowed;transform:none}.settings-content{background:var(--surface-color);flex:1 1;overflow-y:auto;padding:20px}.setting-card.is-dropdown-open{overflow:visible;z-index:3}.setting-card{background:var(--background-color);border:2px solid var(--border-color);border-radius:12px;margin-bottom:16px;overflow:hidden;position:relative;transition:all .3s ease}.setting-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--shadow-light)}.card-header{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:1em;justify-content:space-between;padding:16px 20px;transition:all .3s ease;width:100%}.card-header:hover{background:var(--surface-color)}.card-header.expanded{background:var(--primary-color);color:var(--surface-color)}.card-title{align-items:center;display:flex;font-weight:600;gap:12px}.expand-arrow{font-size:1.2em;transition:transform .3s ease}.card-content{animation:slideDown .3s ease;background:var(--surface-color);border-top:1px solid var(--border-color);margin:0;padding:20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.setting-group{margin-bottom:20px}.setting-label{color:var(--text-primary);display:block;font-size:.9em;font-weight:600;margin-bottom:8px}.setting-input,.setting-select,.setting-textarea{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:16px;outline:none;padding:12px;transition:border-color .3s ease;width:100%}.setting-textarea{min-height:80px;resize:vertical}.avatar-setting{align-items:center;display:flex;gap:16px}.avatar-preview{align-items:center;background:var(--surface-color);border:3px solid var(--border-color);border-radius:50%;color:var(--primary-color);display:flex;height:60px;justify-content:center;overflow:hidden;width:60px}.avatar-preview img{height:100%;object-fit:cover;width:100%}.avatar-options{display:flex;flex-wrap:wrap;gap:10px}.avatar-btn{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.75em;gap:4px;padding:6px 10px;text-decoration:none;transition:all .3s ease}.avatar-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--text-primary)}.provider-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.provider-btn{background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.85em;font-weight:500;padding:8px 12px;transition:all .3s ease}.provider-btn.active,.provider-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--background-color)}.api-key-input{align-items:center;display:flex;gap:8px}.api-key-input .setting-input{flex:1 1}.api-key-input .setting-input::-webkit-scrollbar{width:0}.api-key-input .setting-input::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.api-key-input .setting-input::-webkit-scrollbar-thumb{background:var(--quote-text-color);border-radius:6px}.api-key-input .setting-input::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.test-btn{align-items:center;background:var(--text-muted);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9em;gap:4px;padding:12px 16px;transition:all .3s ease;white-space:nowrap}.test-btn:hover:not(:disabled){background:var(--quote-text-color);color:var(--background-color)}.test-btn:disabled{background:var(--primary-color);cursor:not-allowed}.theme-options{display:flex;gap:12px}.theme-btn{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;gap:8px;justify-content:center;padding:12px 16px;transition:all .3s ease}.theme-btn.active,.theme-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--surface-color)}.data-buttons{display:flex;flex-direction:column;gap:10px}.data-btn{align-items:center;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9em;gap:8px;justify-content:center;padding:12px 16px;text-decoration:none;transition:all .3s ease}.data-btn,.data-btn.export{background:var(--background-color)}.data-btn.export{border-color:var(--primary-color);color:var(--primary-color)}.data-btn.export:hover{background:var(--primary-color);color:var(--background-color)}.data-btn.import{background:var(--background-color);border-color:var(--primary-color);color:var(--primary-color)}.data-btn.import:hover{background:var(--primary-color);color:var(--background-color)}.data-btn.danger{background:var(--background-color);border-color:var(--quote-text-color);color:var(--quote-text-color)}.data-btn.danger:hover{background:var(--quote-text-color);color:var(--background-color)}.data-btn svg{height:14px;width:14px}.save-btn{align-items:center;background:var(--surface-color);border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:1em;font-weight:600;gap:8px;justify-content:center;margin-top:16px;padding:12px 20px;transition:background .3s ease;width:100%}.save-btn:hover{background:var(--primary-color)}.about-info{background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;padding:16px}.about-info h4{color:var(--text-muted);margin:0 0 8px}.about-info p{color:var(--text-secondary);font-size:.9em;margin:4px 0}.about-links{display:flex;flex-direction:column;gap:10px}.about-btn{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9em;gap:8px;justify-content:center;padding:12px 16px;text-decoration:none;transition:all .3s ease}.about-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--background-color)}.content-area::-webkit-scrollbar,.messages-area::-webkit-scrollbar,.settings-content::-webkit-scrollbar{width:0}.content-area::-webkit-scrollbar-track,.messages-area::-webkit-scrollbar-track,.settings-content::-webkit-scrollbar-track{background:var(--background-color)}.content-area::-webkit-scrollbar-thumb,.messages-area::-webkit-scrollbar-thumb,.settings-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.content-area::-webkit-scrollbar-thumb:hover,.messages-area::-webkit-scrollbar-thumb:hover,.settings-content::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}@media (max-width:768px){.app-container{height:100vh;max-width:100%}.top-navigation{padding:0 10px}.message-content{max-width:85%}.avatar-setting{align-items:flex-start}.api-key-input,.avatar-setting,.theme-options{flex-direction:column}.provider-grid{grid-template-columns:repeat(2,1fr)}.characters-grid{grid-template-columns:1fr}.preview-top-section{flex-direction:column}.preview-character-image{width:100%}.preview-description{max-height:none}.empty-state-buttons{align-items:stretch;flex-direction:column;gap:16px}.avatar-actions{align-items:flex-start;display:flex;flex-direction:column;gap:8px}}.config-management{align-items:center;display:flex;gap:8px}.config-management .setting-select{flex:1 1}.delete-btn{align-items:center;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;gap:4px;padding:8px 12px;transition:all .3s ease}.delete-btn,.delete-btn:hover:not(:disabled){background:var(--quote-text-color)}.delete-btn:disabled{background:var(--text-muted);cursor:not-allowed}.delete-icon-btn{border-color:var(--text-muted);color:var(--text-muted)}.delete-icon-btn:hover{background-color:var(--quote-text-color);border-color:var(--quote-text-color);color:var(--text-muted)}.divider{border:none;border-top:1px solid var(--border-color);margin:16px 0}.content-area.prompts-page-layout{display:flex;gap:0;height:100%;padding:0}.prompts-list-panel{background-color:var(--surface-color);display:flex;flex-direction:column;min-width:250px;overflow-y:auto;padding:20px;width:35%}.prompt-editor-panel h3,.prompts-list-panel h3{border-bottom:1px solid var(--border-color);color:var(--text-primary);margin-bottom:16px;padding-bottom:8px}.empty-list-text{color:var(--text-muted);font-style:italic}.prompt-editor-panel{background-color:var(--surface-color);flex:1 1;overflow-y:auto;padding:20px}.editor-form .form-group{margin-bottom:16px}.editor-form label{color:var(--text-secondary);display:block;font-weight:500;margin-bottom:8px}.editor-form input[type=text],.editor-form textarea{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem;padding:10px;width:100%}.editor-form textarea{resize:vertical}.editor-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.editor-buttons button,.import-btn{align-items:center;border:1px solid var(--background-color);border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9em;font-weight:400;gap:8px;padding:10px 15px;transition:all .3s ease}.editor-buttons .save-btn{background:var(--quote-text-color);color:var(--background-color)}.editor-buttons .save-btn:hover{background:var(--background-color);border-color:var(--quote-text-color);color:var(--quote-text-color)}.editor-buttons .delete-btn{color:var(--background-color)}.editor-buttons .delete-btn,.editor-buttons .delete-btn:hover:not(:disabled){background-color:var(--text-muted)}.editor-buttons .delete-btn:disabled{background-color:var(--quote-text-color);cursor:not-allowed}.clear-btn,.import-btn{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary)}.clear-btn:hover,.import-btn:hover{background-color:var(--border-color)}.import-section{border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.panel-header h3{margin-bottom:0}.restore-btn{background-color:initial;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:.8em;padding:4px 10px;transition:all .3s ease}.restore-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--text-primary)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideInUp .3s ease-out;background:var(--surface-color);border-radius:16px;box-shadow:0 10px 30px var(--shadow-medium);display:flex;flex-direction:column;max-height:93vh;max-width:640px;padding:22px;width:90%}.setting-description{font-size:.8em!important;margin:16px 0}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;padding-top:8px}.modal-header h3{color:var(--text-primary);font-size:1.5em;line-height:1.3;margin:0;padding:0;position:relative;top:-7px}.close-btn{background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;padding:1px;transition:all .3s ease}.close-btn:hover{background-color:var(--surface-color);color:var(--text-primary)}.modal-body{flex:1 1;overflow-y:auto;padding-right:10px}.modal-body::-webkit-scrollbar{width:0}.modal-body::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--quote-text-color);border-radius:6px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.modal-body .form-group{margin-bottom:16px}.modal-body label{color:var(--text-secondary);display:block;font-size:.9em!important;margin-bottom:8px}.modal-body input[type=text],.modal-body textarea{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.88em!important;font-weight:500;padding:10px;width:100%}.modal-body textarea{resize:vertical}.modal-body textarea::-webkit-scrollbar{width:6px}.modal-body textarea::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.modal-body textarea::-webkit-scrollbar-thumb{background:var(--quote-text-color);border-radius:6px}.modal-body textarea::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.avatar-form-group .avatar-editor{align-items:center;display:flex;gap:16px}.avatar-preview-large{align-items:center;background:var(--surface-color);border:3px solid var(--border-color);border-radius:50%;display:flex;flex-shrink:0;height:80px;justify-content:center;overflow:hidden;width:80px}.avatar-preview-large img{height:100%;object-fit:cover;width:100%}.action-button-base{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:1rem;gap:8px;justify-content:center;padding:10px 15px;text-decoration:none;transition:all .3s ease}.action-button-base:hover{background-color:var(--surface-color);border-color:var(--primary-color)}.delete-character-icon-btn{align-items:center;background:var(--background-color);border:1px solid var(--quote-text-color);border-radius:6px;color:var(--quote-text-color);cursor:pointer;display:inline-flex;height:38px;justify-content:center;margin-left:auto;padding:0;transition:all .3s ease;width:38px}.delete-character-icon-btn:hover{background-color:var(--quote-text-color);color:var(--surface-color)}.modal-footer{border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.footer-btn.save-btn{align-items:center;background-color:var(--text-muted);border:none;border-radius:8px;color:var(--surface-color);cursor:pointer;display:inline-flex;font-size:1em;font-weight:600;gap:8px;height:44px;justify-content:center;padding:0 12px;transition:all .3s ease;width:100%}.footer-btn.save-btn:hover{background-color:var(--primary-color)}.form-label-group{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.form-label-group label{margin-bottom:0}.add-greeting-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.8em;gap:4px;padding:4px 8px}.add-greeting-btn:hover{background:var(--surface-color);color:var(--text-primary)}.alternate-greetings-group{border-top:1px dashed var(--border-color);padding-top:16px}.greeting-input-group{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px}.greeting-input-group textarea{flex:1 1}.remove-greeting-btn{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.remove-greeting-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--text-primary)}.character-list-page{position:relative}.character-list{display:flex;flex-direction:column;gap:8px}.character-list-item{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:12px;display:flex;margin:2px;padding:8px;transition:all .3s ease}.character-list-item.active{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.character-select-area{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1 1;gap:12px;justify-content:flex-end;min-width:0;padding:8px}.character-info{flex:1 1;min-width:0}.character-avatar-large{align-items:center;background:var(--surface-color);border:2px solid var(--border-color);border-radius:50%;display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;width:56px}.character-avatar-large img{height:100%;object-fit:cover;width:100%}.character-info h4{color:var(--text-primary);margin:0 0 4px}.character-info p{color:var(--text-secondary);font-size:.9em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-check-icon{color:var(--primary-color);margin-left:auto;padding-right:25px}.edit-character-btn{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;margin-left:16px;margin-right:8px;transition:all .3s ease;width:36px}.edit-character-btn:hover{background:var(--primary-color);border-color:var(--surface-color);color:var(--surface-color)}.empty-state-buttons{display:flex;gap:12px;justify-content:center}.import-button{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.9em;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease}.import-button:hover{background:var(--primary-color);border-color:var(--primary-color);color:var(--surface-color)}.floating-add-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px var(--shadow-medium);color:var(--surface-color);cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:56px;z-index:101}.floating-add-button:hover{transform:scale(1.1)}.floating-add-button.open{background-color:var(--accent-color);transform:rotate(45deg)}.floating-options-container{align-items:center;animation:fadeIn .3s ease-in-out;bottom:92px;display:flex;flex-direction:column;gap:16px;position:fixed;right:20px;transform:translateX(28px) translateX(-50%);z-index:100}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.floating-add-button.mini{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--primary-color);height:56px;position:static;width:56px}.modal-content.character-preview-modal{max-width:720px}.character-preview-modal .modal-header h3{padding-right:16px}.character-preview-modal .preview-body{display:flex;flex-direction:column;gap:24px}.preview-top-section{align-items:center;display:flex;flex-direction:column;gap:16px}.preview-character-image{aspect-ratio:3/4;background-color:var(--surface-color);border-radius:8px;flex-shrink:0;max-width:240px;overflow:hidden;width:60%}.preview-character-image img{height:100%;object-fit:cover;width:100%}.preview-character-image .image-placeholder{align-items:center;color:var(--text-muted);display:flex;height:100%;justify-content:center;width:100%}.preview-description{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);flex:1 1;max-height:none;overflow-y:visible;padding:12px;white-space:pre-wrap;width:100%}.preview-description p{margin:0}.preview-greetings h4{color:var(--text-primary);font-size:.9em;margin-bottom:12px}.greetings-list{display:flex;flex-direction:column;gap:12px;max-height:270px;overflow-y:auto;padding-right:8px}.greeting-option{border:2px solid var(--border-color);border-radius:8px;cursor:pointer;padding:12px;transition:all .3s ease}.greeting-option p{color:var(--text-secondary);font-size:.9em;margin:0;white-space:pre-wrap}.greeting-option:hover{background-color:var(--surface-color);border-color:var(--primary-color)}.greeting-option.active{background-color:var(--surface-color);border-color:var(--text-primary)}.greeting-option.active p{color:var(--text-primary);font-weight:500}.world-book-section{border-bottom:1px dashed var(--border-color);border-top:1px dashed var(--border-color);padding:16px 0}.world-book-label{align-items:center;color:var(--text-secondary);display:flex;font-weight:600;gap:8px;margin-bottom:12px!important}.world-book-entries{max-height:300px;overflow-y:auto;padding:4px}.world-book-entries::-webkit-scrollbar{width:0}.world-book-entries::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.world-book-entries::-webkit-scrollbar-thumb{background:var(--quote-text-color);border-radius:6px}.world-book-entries::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.world-book-entry{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;font-size:.9em;margin-bottom:8px;padding:10px}.world-book-entry:last-child{margin-bottom:0}.wb-keys{color:var(--text-muted);font-size:.9em;margin-bottom:6px}.wb-keys strong{color:var(--text-secondary)}.wb-content{color:var(--text-primary);white-space:pre-wrap}.wb-entry-header{margin-bottom:6px}.wb-keys{flex:1 1;margin-bottom:0;padding-right:10px}.wb-entry-toggle{display:inline-block;height:22px;position:relative;width:40px}.wb-entry-toggle input{height:0;opacity:0;width:0}.slider{border-radius:22px}.slider,.slider:before{background-color:var(--text-muted)}.slider:before{border-radius:50%;height:16px;width:16px}input:checked+.slider{background-color:var(--primary-color)}input:checked+.slider:before{transform:translateX(18px)}.message{align-items:flex-end;display:flex;gap:10px;margin-bottom:15px;max-width:100%}.message-avatar{border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;height:42px;overflow:hidden;width:42px}.message-avatar img{height:100%;object-fit:cover;width:100%}.user-message{align-self:flex-end;flex-direction:row-reverse}.ai-message{align-self:flex-start}.bubble-wrapper,.message-content{position:relative}.bubble-wrapper{cursor:pointer}.edit-message-btn{bottom:40px}.branch-message-btn,.edit-message-btn{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;opacity:0;position:absolute;transform:scale(.8);transition:all .3s ease;visibility:hidden;width:28px}.branch-message-btn{bottom:76px;z-index:10}.branch-message-btn:hover{background:var(--text-muted);color:var(--surface-color)}.delete-message-btn{align-items:center;background:var(--surface-color);border:1px solid var(--primary-color);border-radius:50%;bottom:112px;color:var(--primary-color);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;opacity:0;position:absolute;transform:scale(.8);transition:all .3s ease;visibility:hidden;width:28px;z-index:10}.branch-message-btn.visible,.delete-message-btn.visible,.edit-message-btn.visible{opacity:1;transform:scale(1);visibility:visible}.delete-message-btn:hover{background:var(--primary-color);color:var(--quote-text-color)}.user-message .branch-message-btn,.user-message .delete-message-btn,.user-message .edit-message-btn{left:-32px;z-index:10}.ai-message .branch-message-btn,.ai-message .delete-message-btn,.ai-message .edit-message-btn{right:-32px;z-index:10}.edit-container{width:100%}.edit-textarea{background-color:var(--background-color);border:2px solid var(--primary-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:inherit;min-height:150px;padding:10px;resize:vertical;width:100%}.edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.edit-btn{border:1px solid var(--surface-color);border-radius:6px;cursor:pointer;font-weight:500;margin:1px;padding:6px 14px}.edit-btn,.edit-btn.save{background-color:var(--primary-color);color:var(--surface-color)}.edit-btn.cancel{background-color:var(--surface-color);color:var(--text-secondary)}input:focus,select:focus,textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 .5px var(--accent-color);outline:none}.pin-chat-btn{background:none;border:none;cursor:pointer;font-size:20px;opacity:.5;padding:8px;transition:all .3s ease}.pin-chat-btn:hover{opacity:1;transform:scale(1.2)}.pin-chat-btn.active{color:var(--quote-text-color);opacity:1}.message-actions-toolbar{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;bottom:-32px;box-shadow:0 2px 8px var(--shadow-light);display:flex;gap:4px;left:50%;opacity:0;padding:2px 4px;position:absolute;transform:translateX(-50%);transition:all .3s ease;visibility:hidden;z-index:10}.bubble-wrapper .message-actions-toolbar{opacity:1;visibility:visible}.action-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5em;height:28px;justify-content:center;line-height:1;transition:all .3s ease;width:28px}.action-btn:hover:not(:disabled){background:var(--background-color);color:var(--text-primary)}.action-btn:disabled{color:var(--border-color);cursor:not-allowed}.version-indicator{color:var(--text-muted);font-size:.75em;padding:0 4px;-webkit-user-select:none;user-select:none}.regenerate-btn{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:50%;bottom:4px;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;opacity:0;position:absolute;right:-32px;transform:scale(.8);transition:all .3s ease;visibility:hidden;width:28px;z-index:10}.bubble-wrapper .regenerate-btn,.regenerate-btn.visible{opacity:1;transform:scale(1);visibility:visible}.input-area-wrapper{background:var(--background-color);border-top:1px solid var(--border-color);position:relative}.input-area{align-items:center;display:flex;gap:10px;padding:15px}.input-area-wrapper .input-area{background:none;border-top:none;padding:0}.input-area-wrapper{padding:15px}.message-input::-webkit-scrollbar{width:6px}.message-input::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.message-input::-webkit-scrollbar-thumb{background:var(--quote-text-color);border-radius:6px}.message-input::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.input-menu-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:45px;justify-content:center;transition:all .3s ease;width:45px}.input-menu-btn:hover{background-color:var(--surface-color);color:var(--text-primary)}.input-menu-btn.open{background-color:var(--primary-color);color:var(--surface-color);transform:rotate(45deg)}.input-menu{animation:slideInUp .3s ease-out;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:12px;bottom:80px;box-shadow:0 4px 12px var(--shadow-medium);display:flex;flex-direction:column;gap:8px;left:15px;padding:8px;position:absolute;z-index:10}.input-menu-item{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9em;gap:12px;padding:10px 12px;text-align:left;transition:background-color .3s ease;width:100%}.input-menu-item:hover{background-color:var(--surface-color);color:var(--text-primary)}.swipe-item-wrapper{border-radius:12px;overflow:hidden;position:relative}.swipe-content{background:var(--background-color);position:relative;transition:transform .3s ease-in-out;width:100%;z-index:2}.swipe-content.swiped{transform:translateX(-140px)}.swipe-actions{display:flex;height:100%;position:absolute;right:0;top:0;z-index:1}.swipe-action-btn{align-items:center;border:none;color:var(--surface-color);cursor:pointer;display:flex;font-weight:500;justify-content:center;margin-bottom:2px;margin-top:2px;transition:background-color .3s ease;width:70px}.swipe-action-btn.pin{background-color:var(--primary-color)}.swipe-action-btn.pin:hover{background-color:var(--text-muted);color:var(--surface-color)}.swipe-action-btn.delete{background-color:var(--quote-text-color);border-bottom-right-radius:12px;border-top-right-radius:12px}.swipe-action-btn.delete:hover{background-color:var(--text-muted);color:var(--surface-color)}.more-actions-btn{align-items:center;background:var(--surface-color);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-left:auto;margin-right:15px;padding:8px;transition:.3s}.more-actions-btn:hover{background-color:var(--text-muted)}.swipe-item-wrapper .character-list-item{border:none;padding:8px 0 8px 8px;transition:.3s}.avatar-wrapper{flex-shrink:0;position:relative}.pin-badge{-webkit-text-stroke:1px var(--text-primary);background-color:initial;border:none;border-radius:0;bottom:-6px;box-shadow:none;color:var(--quote-text-color);height:auto;paint-order:stroke fill;position:absolute;right:-2px;width:auto}.pin-badge svg{height:18px;width:18px}.wb-entry-editor{align-items:flex-start;display:flex;gap:12px;padding:12px}.wb-entry-actions{align-items:center;display:flex;flex-direction:column;gap:12px;padding-top:4px}.wb-delete-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .3s ease;width:28px}.wb-delete-btn:hover{background-color:var(--quote-text-color);border-color:var(--quote-text-color);color:var(--text-primary)}.wb-entry-inputs{display:flex;flex:1 1;flex-direction:column;gap:8px}.wb-entry-inputs input,.wb-entry-inputs textarea{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:8px 10px;width:100%}.wb-entry-inputs textarea{min-height:60px;resize:vertical}.message-content .markdown-content,.message-content .markdown-content *{color:inherit}.message-content p:not(:last-child){margin-bottom:.75em}.message-content strong{font-weight:600}.message-content em{color:var(--text-muted);font-style:italic}.message-content ol,.message-content ul{margin-bottom:.5em;margin-top:.5em;padding-left:20px}.message-content li{margin-bottom:.25em}.system-message .delete-message-btn{bottom:10px}.system-message .delete-message-btn,.system-message .delete-message-btn:hover{background:var(--quote-text-color);color:var(--text-primary)}.system-message .delete-message-btn.visible{right:-40px}.custom-select-container{position:relative;width:100%}.custom-select-trigger{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:500;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.custom-select-trigger:hover{border-color:var(--accent-color)}.selected-option{align-items:center;display:flex;gap:10px}.option-avatar{align-items:center;background-color:var(--border-color);border-radius:50%;display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}.option-avatar img{height:100%;object-fit:cover;width:100%}.dropdown-arrow{color:var(--text-muted)}.custom-select-options{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;bottom:100%;box-shadow:0 -4px 12px var(--shadow-light);left:0;margin-bottom:8px;max-height:200px;overflow-y:auto;position:absolute;right:0;z-index:1010}.custom-select-option{align-items:center;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background-color .3s ease}.custom-select-option:hover{background-color:var(--surface-color)}.custom-select-option.selected{background-color:var(--primary-color);color:var(--text-primary)}.message.screenshot-mode{cursor:pointer;transition:transform .3s ease}.message.screenshot-mode:hover{transform:scale(1.02)}.message.selected{border:3px solid var(--text-primary);border-radius:12px}.message.selected:hover{transform:none}.screenshot-toolbar{align-items:center;display:flex;justify-content:space-between;padding:10px;width:100%}.screenshot-btn,.screenshot-info{color:var(--text-secondary);font-size:.9em;font-weight:500}.screenshot-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:20px;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:all .3s ease}.screenshot-btn.cancel:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--surface-color)}.screenshot-btn.confirm{background-color:var(--surface-color);border-color:var(--surface-color);color:var(--text-muted)}.screenshot-btn.confirm:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);color:var(--surface-color)}.screenshot-btn:disabled{background-color:var(--text-muted);border-color:var(--text-muted);color:var(--surface-color);cursor:not-allowed;opacity:.7}.avatar-image{height:100%;object-fit:cover;object-position:center;width:100%}.fav-character-btn{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;margin-left:8px;width:36px}.fav-character-btn,.fav-character-btn svg{transition:all .3s ease}.fav-character-btn:hover{background:var(--primary-color)}.fav-character-btn.favorited,.fav-character-btn:hover{border-color:var(--quote-text-color);color:var(--quote-text-color)}.fav-character-btn.favorited svg{fill:var(--quote-text-color);transform:scale(1.1)}.current-user-display{align-items:center;display:flex;gap:12px}.current-user-display .message-avatar{height:40px;width:40px}.chat-info-details{display:flex;flex-direction:column}.list-header-controls{margin-bottom:16px;position:relative;z-index:5}.sort-control-container{position:relative}.sort-control-button{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9em;font-weight:500;justify-content:space-between;padding:10px 14px;transition:all .3s ease;width:100%}.sort-control-button:hover{border-color:var(--primary-color);color:var(--text-primary)}.sort-options-menu{animation:slideDown .3s ease-out;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);display:flex;flex-direction:column;gap:4px;left:0;margin-top:6px;padding:6px;position:absolute;right:0;top:100%}.sort-option{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.9em;padding:10px 12px;text-align:left;width:100%}.sort-option:hover{background-color:var(--surface-color);color:var(--text-primary)}.prompts-page-container .content-area{padding:16px}.prompt-actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:16px}.prompt-actions-grid button,.prompt-actions-grid label{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9em;gap:8px;justify-content:center;padding:10px 12px;transition:all .3s ease;width:100%}.prompt-actions-grid button:hover,.prompt-actions-grid label:hover{background-color:var(--background-color);border-color:var(--primary-color)}.prompt-actions-grid button:disabled{background-color:var(--surface-color);border-color:var(--border-color);cursor:not-allowed;opacity:.5}.module-list-simple{display:flex;flex-direction:column;gap:10px}.module-list-item{border:1px solid var(--border-color);border-radius:8px;margin:1px;padding:10px 14px;transition:all .3s}.module-list-item:hover{background-color:var(--background-color)}.module-name{color:var(--text-secondary);font-size:.95em}.edit-module-btn{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .3s ease}.edit-module-btn:hover{color:var(--text-primary)}.switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.switch input{height:0;opacity:0;width:0}.slider{background-color:var(--background-color);bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.3s}.slider:before{background-color:#ffffffbf;bottom:3px;content:"";height:18px;left:3px;width:18px}input:checked+.slider{background-color:var(--quote-text-color)}input:disabled+.slider{cursor:not-allowed;opacity:.6}input:checked+.slider:before{transform:translateX(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.trigger-group .form-label-group{margin-bottom:10px}.trigger-group input[type=text]{width:100%}.sliders-group{gap:18px;padding:16px 20px!important}.slider-container,.sliders-group{display:flex;flex-direction:column}.slider-container{gap:10px}.slider-container label{align-items:center;color:var(--text-secondary);display:flex;font-size:.9em;font-weight:500;justify-content:space-between}.slider-value-input{-moz-appearance:textfield;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:1em;font-weight:600;padding:4px 8px;text-align:right;width:70px}.slider-value-input::-webkit-inner-spin-button,.slider-value-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;background:var(--user-color);border-radius:4px;cursor:pointer;height:8px;outline:none;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary-color);border:3px solid var(--background-color);border-radius:50%;box-shadow:0 0 4px #00000080;height:22px;margin-top:-7px;-webkit-transition:transform .3s ease;transition:transform .3s ease;width:22px}input[type=range]::-moz-range-thumb{background:var(--primary-color);border:3px solid var(--background-color);border-radius:50%;box-shadow:0 0 4px #00000080;height:20px;width:20px}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.1)}.character-list-item .character-info h4{color:var(--text-primary);font-size:.9em;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-list-item .character-info p{color:var(--text-secondary);font-size:.9em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-message .edit-message-btn{bottom:10px}.user-message .delete-message-btn{bottom:46px}.data-management-note{background-color:var(--surface-color);border-left:3px solid var(--primary-color);border-radius:4px;color:var(--text-secondary);font-size:.85em;line-height:1.5;margin:-5px 0 20px;padding:10px 12px}.world-book-entries-detailed{border-top:1px solid var(--border-color);margin-top:10px;max-height:45vh;overflow-y:auto;padding:4px}.wb-entry-editor-detailed{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:12px}.wb-entry-header{gap:12px;justify-content:space-between}.wb-entry-comment{background:#0000;border:none;border-radius:4px;color:var(--text-primary);flex-grow:1;font-size:.95em!important;font-weight:600;padding:4px}.wb-entry-comment:focus{background:var(--background-color)}.wb-entry-header-actions{align-items:center;display:flex;gap:12px}.wb-entry-content{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:8px 10px;resize:vertical;width:100%}.wb-entry-grid,.wb-entry-grid-small{grid-gap:12px;display:grid;gap:12px}.wb-entry-grid{grid-template-columns:1fr 1fr}.wb-entry-grid-small{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.wb-entry-editor-detailed .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.wb-entry-editor-detailed .form-group label{color:var(--text-secondary);font-size:.8em;font-weight:500;margin-bottom:0}.wb-entry-editor-detailed .setting-select,.wb-entry-editor-detailed .slider-value-input{padding:6px 8px}.wb-toggles-grid{grid-gap:10px;color:var(--text-secondary);display:grid;font-size:.9em;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.wb-toggles-grid label{align-items:center;cursor:pointer;display:flex;gap:6px}.world-book-selector-list{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;max-height:150px;overflow-y:auto;padding:8px}.wb-selector-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;padding:8px;transition:background-color .3s}.wb-selector-item:hover{background-color:var(--background-color)}.wb-selector-item input{height:16px;margin-right:10px;width:16px}.wb-selector-name{color:var(--text-secondary)}.wb-selector-item input:checked+.wb-selector-name{color:var(--text-primary);font-weight:500}.advanced-toggle-btn{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9em;font-weight:500;justify-content:space-between;margin-top:12px;padding:8px 12px;width:100%}.wb-advanced-content{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px;margin-top:12px;padding:16px 4px 4px}.wb-section{background-color:var(--background-color);border-radius:6px;padding:10px}.wb-section-title{color:var(--text-primary);display:block;font-size:.85em;font-weight:600;margin-bottom:10px}.wb-entry-header{align-items:center;cursor:pointer;display:flex;gap:8px}.wb-collapse-icon{color:var(--text-muted);flex-shrink:0;transition:transform .3s ease}.wb-collapse-icon.collapsed{transform:rotate(-90deg)}.wb-entry-body{animation:fadeIn .3s ease;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-top:12px}.bubble-wrapper{word-break:break-word}.bubble-wrapper,.bubble-wrapper blockquote{word-wrap:break-word;overflow-wrap:break-word}.bubble-wrapper blockquote{max-width:100%}.bubble-wrapper code,.bubble-wrapper pre{word-wrap:break-word;background-color:#0000000d;border-radius:4px;overflow-wrap:break-word;overflow-x:auto;padding:2px 6px;word-break:break-word}.bubble-wrapper pre{white-space:pre-wrap}.bubble-wrapper table,.bubble-wrapper td,.bubble-wrapper th{word-wrap:break-word;max-width:100%;overflow-wrap:break-word;word-break:break-word}.wb-entry-header-status{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:24px}.wb-status-dot{border-radius:50%;height:10px;width:10px}.wb-status-dot.green{background-color:#4caf50}.wb-status-dot.blue{background-color:#2196f3}.wb-mode-selector{align-items:center;display:flex;margin-right:8px;position:relative}.wb-mode-trigger{align-items:center;background-color:initial;border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background-color .3s,border-color .3s;width:28px}.wb-mode-trigger:hover{background-color:var(--surface-color-2);border-color:var(--primary-color)}.wb-mode-menu{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;gap:4px;left:0;padding:4px;position:absolute;top:110%;width:180px;z-index:20}.wb-mode-option{align-items:center;background-color:initial;border:none;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;gap:8px;padding:8px 10px;text-align:left;transition:background-color .3s;width:100%}.wb-mode-option:hover{background-color:var(--primary-color-faded)}.wb-mode-option span{font-size:14px}.wb-entry-editor-st{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;position:relative}.wb-entry-header-st{align-items:center;background-color:var(--surface-color-2);cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background-color .3s}.wb-entry-header-st:hover{background-color:var(--surface-color-3)}.wb-entry-header-st .wb-entry-comment{background-color:initial;border:none;color:var(--text-color);flex:1 1;font-size:1em;min-width:100px;padding:4px 0}.wb-entry-header-st .switch{margin-right:4px}.wb-entry-body-st{gap:12px;padding:12px 4px}.form-group-st,.wb-entry-body-st{display:flex;flex-direction:column}.form-group-st{gap:4px}.form-group-st label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-group-st input,.form-group-st select,.form-group-st textarea{font-size:.8em!important;width:100%}.form-group-st .slider-value-input{padding:6px 8px}.form-group-st .setting-select{font-size:.8em!important;padding:6px 8px}.wb-entry-grid-main{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr .5fr .5fr .5fr}.wb-entry-grid-keywords{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1.5fr}.wb-entry-grid-advanced{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.advanced-toggle-btn-st{align-items:center;align-self:flex-start;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;gap:4px;padding:4px}.advanced-toggle-btn-st:hover{background-color:var(--surface-color-2);color:var(--text-color)}.advanced-toggle-btn-st span{font-size:12px}.wb-advanced-content-st{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;padding-top:12px}.wb-section-st .wb-section-title{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.wb-toggles-grid-st{align-items:flex-end;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.wb-toggles-grid-st label{font-size:14px}.wb-toggles-grid-st.extra-sources{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-group-st.recursion-delay{align-items:center;display:flex;flex-direction:row;gap:8px}.form-group-st.recursion-delay input{width:80px}.wb-mode-menu-floating{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:4px;left:28px;padding:4px;position:absolute;top:48px;z-index:20}.world-book-entries-detailed::-webkit-scrollbar{width:0}.world-book-entries-detailed::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.world-book-entries-detailed::-webkit-scrollbar-thumb{background:var(--quote-text-color);border-radius:6px}.world-book-entries-detailed::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.wb-mode-option-floating{align-items:center;background-color:initial;border:none;border-radius:6px;cursor:pointer;display:flex;height:40px;justify-content:center;padding:8px;transition:background-color .3s;width:40px}.wb-mode-option-floating:hover{background-color:var(--primary-color-faded)}.messages-area blockquote{background-color:var(--surface-hover-color);border-left:4px solid var(--quote-text-color);border-radius:4px;color:var(--text-muted);margin-left:.5rem;padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.messages-area blockquote p{margin-bottom:0}.st-regex-editor{background-color:var(--surface-raised-color);border:1px solid var(--border-color);margin-bottom:12px;padding-top:12px}.st-regex-options-inline{border-top:1px solid var(--border-color);gap:16px;margin-top:8px;padding:8px 8px 12px}.option-group-inline .option-group-title{color:var(--text-secondary);font-weight:600;margin-bottom:8px}.checkbox-grid-inline{flex-direction:column;gap:8px}.checkbox-grid-inline .checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px}.regex-flags-container{background-color:var(--surface-raised-color)}.regex-flags-input{background-color:initial;font-weight:700;padding:0}.module-list-item{gap:8px}.module-actions{display:flex;gap:4px;margin-left:auto}.module-list-item.drag-over-top{border-top:2px solid var(--primary-color)}.module-list-item.drag-over-bottom{border-bottom:2px solid var(--primary-color)}.module-editor-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.regex-with-flags{align-items:stretch;display:flex}.regex-find-input{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0;flex-grow:1}.regex-flags-container{align-items:center;background-color:var(--input-bg-color);border:1px solid var(--border-color);border-bottom-right-radius:8px;border-left:none;border-top-right-radius:8px;display:flex;padding:0 8px}.regex-flags-input{background:#0000;border:none;color:var(--primary-color);font-family:monospace;outline:none;padding:0 4px;width:50px}.st-regex-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:16px}.option-group-title{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.checkbox-grid{display:flex;flex-direction:column;gap:8px}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px}.st-regex-editor .wb-entry-inputs{display:flex;flex-direction:column;gap:8px}.st-regex-options-inline{background-color:var(--surface-hover-color);border-radius:6px;display:flex;justify-content:space-around;margin:0 8px;padding:8px}.option-group-inline{text-align:center}.option-group-inline .option-group-title{font-size:13px;margin-bottom:6px}.checkbox-grid-inline{display:flex;gap:16px;justify-content:center}.st-regex-input{background-color:var(--input-bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:monospace;padding:8px;width:100%}.st-regex-grid{grid-gap:24px;border-top:1px solid var(--border-color);display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-top:16px;padding-top:16px}.st-grid-group.full-span{grid-column:1/-1}.checkbox-grid-st{display:flex;flex-direction:column;gap:12px}.st-regex-find-preview{color:var(--text-muted);font-family:monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-list-item{align-items:center;background-color:var(--surface-color);display:flex;gap:12px;padding:8px 10px;transition:background-color .3s,opacity .3s,border-color .3s;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.module-list-item,.module-list-item:last-child{border-bottom:1px solid var(--border-color)}.drag-handle{color:var(--text-muted);cursor:grab;padding:4px;touch-action:none}.module-list-item.dragging{background-color:var(--surface-hover);border:1px dashed var(--primary-color);opacity:.5}.module-list-item.drag-over{border-bottom:2px solid var(--primary-color)}.module-name{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-module-btn.delete{color:var(--text-muted);margin-left:auto}.edit-module-btn.delete:hover{background-color:var(--danger-background-hover);color:var(--text-primary)}.ai-thought-details{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:12px;overflow:hidden}.ai-thought-summary{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85em;font-weight:500;gap:8px;outline:none;padding:8px 12px;transition:background-color .3s}.ai-thought-summary::-webkit-details-marker{display:none}.ai-thought-content,.ai-thought-summary:hover{background-color:var(--background-color)}.ai-thought-content{border-top:1px solid var(--border-color);color:var(--text-muted);font-family:Courier New,Courier,monospace;font-size:.8em;margin:0;max-height:200px;overflow-y:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.ai-thought-content::-webkit-scrollbar{width:0}.ai-thought-content::-webkit-scrollbar-track{background:#0000}.ai-thought-content::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.google-sync-container{display:flex;flex-direction:column;gap:16px}.google-sync-status{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px}.user-info{align-items:center;display:flex;gap:12px}.user-avatar{border-radius:50%;height:40px;width:40px}.user-details{display:flex;flex-direction:column}.user-name{color:var(--text-primary);font-weight:600}.user-email{color:var(--text-muted);font-size:.85em}.not-connected{align-items:center;color:var(--text-secondary);display:flex;font-size:.9em;gap:8px;justify-content:center;padding:12px 0}.google-sync-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.google-sync-actions .auth-btn{grid-column:1/-1}.google-sync-actions button{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.9em;gap:8px;justify-content:center;padding:10px 15px;transition:all .3s ease}.google-sync-actions button:hover{background-color:var(--background-color);border-color:var(--primary-color)}.google-sync-actions button.login{background:var(--background-color);border-color:var(--quote-text-color);color:var(--quote-text-color)}.google-sync-actions button.login:hover,.google-sync-actions button.logout{background:var(--quote-text-color);color:var(--background-color)}.google-sync-actions button.logout:hover{background:var(--background-color);border-color:var(--quote-text-color);color:var(--quote-text-color)}.google-sync-actions button:disabled{cursor:not-allowed;opacity:.5}.button,.google-sync-actions button:disabled{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary)}.button,.button:hover{cursor:pointer}.button:hover{background-color:var(--background-color);border-color:var(--primary-color)}#backup-list-container{display:flex;flex-direction:column;gap:8px}.backup-file-item{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;padding:12px;transition:background-color .3s ease}.backup-file-item:hover{background-color:var(--background-color)}.backup-file-info{display:flex;flex-direction:column;gap:4px}.backup-file-info strong{color:var(--text-primary)}.backup-file-info span{color:var(--text-muted);font-size:.8em}
/*# sourceMappingURL=main.0a03db39.css.map*/