.template-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;margin-bottom:16px;overflow:hidden}.template-tags{display:flex;flex-wrap:wrap;gap:8px}.template-tag{background:#f0f5ff;border-radius:4px;color:#1890ff;font-size:12px;padding:2px 8px}@media (prefers-color-scheme:dark){.template-description{color:#999}.template-tag{background:#111d2c;color:#177ddc}.ant-card{background:#1f1f1f;border-color:#303030}.ant-card-head{border-bottom-color:#303030}.ant-card-head-title{color:#fff}}@media (max-width:768px){.ant-list-grid .ant-list-item{padding:8px!important}}.character-config-form{margin:0 auto;max-width:800px;padding:24px}.character-config-form .ant-form-item,.character-config-form .ant-tabs-nav{margin-bottom:24px}.character-config-form .ant-upload-list{margin-top:12px}.character-config-form .ant-card{box-shadow:0 1px 2px 0 #00000008,0 1px 6px -1px #00000005,0 2px 4px 0 #00000005}.character-config-form .ant-select,.character-config-form .ant-space{width:100%}.character-config-form .ant-form-item-label{font-weight:500}.character-config-form .ant-tabs-tab{padding:12px 24px}.character-config-form .ant-tabs-tab.ant-tabs-tab-active{font-weight:500}.character-config-form .ant-divider{margin:32px 0 24px}.character-config-form .ant-btn{font-size:16px;height:40px;padding:6.4px 20px}.character-config-form .ant-upload-list-item{margin-top:8px}.character-config-form .ant-form-item-extra{color:#00000073;margin-top:4px}@media (max-width:768px){.character-config-form{padding:16px}.character-config-form .ant-tabs-tab{padding:8px 16px}.character-config-form .ant-form-item{margin-bottom:16px}}.character-management{background:#fff;border-radius:8px;padding:24px}.character-list{margin:0 auto;max-width:1200px;min-height:400px;padding:20px}.character-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.character-list-header h2{font-size:18px;font-weight:500;margin:0}.character-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.character-item{background:#fff;border:1px solid #0000000f;border-radius:8px;cursor:pointer;padding:20px;transition:all .3s ease}.character-item:hover{box-shadow:0 4px 12px #0000001a}.character-info{display:flex;gap:16px;margin-bottom:16px}.character-avatar{align-items:center;background:#00000005;border-radius:50%;display:flex;flex-shrink:0;height:64px;justify-content:center;overflow:hidden;width:64px}.character-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:#00000005;color:#00000040;display:flex;font-size:24px;height:100%;justify-content:center;width:100%}.character-details{flex:1 1;min-width:0}.character-details h3{color:#000000d9;font-size:16px;font-weight:500;margin:0 0 8px}.character-details p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#00000073;display:-webkit-box;font-size:14px;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis}.character-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.tag{background-color:#f0f5ff;border-radius:4px;color:#1890ff;font-size:12px;padding:4px 8px}.character-actions{border-top:1px solid #0000000f;display:flex;gap:8px;justify-content:flex-end;padding-top:16px}.character-actions .ant-btn{align-items:center;border-radius:6px;display:flex;flex:1 1;font-size:14px;gap:4px;height:36px;justify-content:center;padding:0 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.character-actions .ant-btn:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.character-actions .ant-btn:active{transform:translateY(0)}.character-actions .ant-btn-dangerous{background:#0000;border-color:#ff4d4f;color:#ff4d4f}.character-actions .ant-btn-dangerous:hover{background:#fff1f0;border-color:#ff7875;color:#ff7875}@media (prefers-color-scheme:dark){.character-actions{border-top-color:#303030}.character-actions .ant-btn{background:#0000;border-color:#434343;color:#ffffffd9}.character-actions .ant-btn:hover{border-color:#177ddc;color:#177ddc}.character-actions .ant-btn-dangerous{border-color:#a61d24;color:#ff4d4f}.character-actions .ant-btn-dangerous:hover{background:#ff4d4f1a;border-color:#ff4d4f;color:#ff4d4f}}@media (max-width:768px){.character-actions{flex-direction:column;gap:8px}.character-actions .ant-btn{width:100%}}.empty-state{color:#00000073}.character-form-modal{align-items:center;background:#00000073;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.character-form-modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:600px;overflow-y:auto;padding:24px;width:100%}@media (max-width:768px){.character-list{padding:10px}.character-grid{grid-template-columns:1fr}.character-item{padding:15px}.character-form-modal-content{margin:10px;width:95%}}.delete-confirm-modal .ant-modal-confirm-btns{display:flex;flex-direction:row-reverse;gap:8px;margin-top:24px}.delete-confirm-modal .ant-modal-confirm-btns button{margin-left:0!important;min-width:80px}.delete-confirm-modal .ant-modal-confirm-title{color:#333;font-size:16px;font-weight:500}.delete-confirm-modal .ant-modal-confirm-content{color:#666;margin-top:16px}@media (prefers-color-scheme:dark){.delete-confirm-modal .ant-modal-confirm-title{color:#fff}.delete-confirm-modal .ant-modal-confirm-content{color:#999}}.balance-checker{align-items:center;display:inline-flex;gap:8px}.balance-check-button{background-color:#f0f0f0;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .3s}.balance-check-button:hover:not(:disabled){background-color:#e6e6e6;border-color:#ccc}.balance-check-button:disabled{cursor:not-allowed;opacity:.6}.balance-error{color:#ff4d4f;font-size:14px}.balance-info{background-color:#f6f6f6;border-radius:4px;padding:8px 12px}.balance-amount{color:#1890ff;font-weight:500}.balance-detail{color:#666;font-size:12px;margin-top:4px}.api-key-input-group{align-items:center;display:flex;gap:8px;width:100%}.api-key-input{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;flex:1 1;font-family:monospace;font-size:14px;padding:8px 12px;transition:all .3s}.api-key-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33;outline:none}.api-key-input:hover{border-color:#40a9ff}.provider-grid{grid-gap:1rem;gap:1rem;margin:1rem 0}.provider-card{background:var(--color-bg-white);border:2px solid var(--color-border);border-radius:8px;gap:1rem;padding:1rem;transition:all .3s ease}.provider-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.provider-card.selected{background-color:var(--color-primary-light);border-color:var(--color-primary)}.provider-icon{background:var(--color-bg-light);font-size:2rem;height:48px;width:48px}.provider-name{color:var(--color-text-primary);font-size:1.1rem;font-weight:600}.provider-description{color:var(--color-text-secondary);font-size:.9rem;margin:.5rem 0 0}.provider-selected{background:var(--color-primary);font-size:.9rem;height:24px;right:.5rem;top:.5rem;width:24px}.provider-form{display:flex;flex-direction:column;gap:24px}.auth-section,.model-section,.parameters-section{border:1px solid #e8e8e8;border-radius:8px;padding:16px}.model-select-container{display:flex;flex-direction:column;gap:8px}.model-select-container label{color:#333;font-weight:500}.model-select-group{align-items:center;display:flex;gap:12px}.model-select-group select{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;flex:1 1;padding:8px 12px}.test-button{background-color:#1890ff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .3s;white-space:nowrap}.test-button:hover{background-color:#40a9ff}.test-button:disabled{background-color:#d9d9d9;cursor:not-allowed}@media (max-width:768px){.model-select-group{flex-direction:column}.test-button{width:100%}}.provider-form h3{color:#333;font-size:18px;font-weight:500;margin:0 0 16px}.provider-form section{background:#fafafa;border:1px solid #e8e8e8;border-radius:6px;padding:16px}.provider-form .form-field{margin-bottom:16px}.provider-form .form-field:last-child{margin-bottom:0}.provider-form label{color:#666;display:block;font-size:14px;margin-bottom:8px}.provider-form input,.provider-form select{border:1px solid #d9d9d9;border-radius:4px;font-size:14px;padding:8px 12px;transition:all .3s;width:100%}.provider-form input:focus,.provider-form select:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33;outline:none}.provider-form .action-buttons{display:flex;gap:12px;margin-top:8px}.provider-form button{background:#fff;border:1px solid #d9d9d9;border-radius:4px;color:#666;cursor:pointer;font-size:14px;padding:6px 16px;transition:all .3s}.provider-form button:hover{border-color:#1890ff;color:#1890ff}.provider-form button:disabled{background:#f5f5f5;border-color:#d9d9d9;color:#d9d9d9;cursor:not-allowed}.provider-form .parameter-slider{margin-top:8px;width:100%}.error-message{background-color:#fff1f0;border:1px solid #ffccc7;color:#ff4d4f;margin-top:8px}.model-select-container select{background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.model-select-container select:disabled{background-color:#f5f5f5;cursor:not-allowed}.model-select-container option{font-size:14px;padding:8px}.balance-section{align-items:center;border-top:1px solid #e8e8e8;display:flex;gap:12px;margin-top:12px;padding-top:12px}.balance-button{background:#1890ff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .3s}.balance-button:hover{background:#40a9ff}.balance-button:disabled{background:#bae7ff;cursor:not-allowed}.balance-info{color:#52c41a;font-size:14px;font-weight:500}.custom-model-input{background:#ffffff0d;border:1px solid #a7bbff33;border-radius:8px;margin-top:1rem;padding:1rem}.custom-model-input input{background:#ffffff1a;border:1px solid #a7bbff33;border-radius:4px;color:#12151b;font-size:.9rem;padding:.5rem;transition:all .3s ease;width:100%}.custom-model-input input:focus{border-color:#0d122666;box-shadow:0 0 0 2px #a7bbff1a;outline:none}.error-message{background:#ff41571a;border:1px solid #ff415733;color:#ff4157;font-size:.9rem;margin-top:.5rem;padding:.5rem}.model-section{background:#ffffff0d;border:1px solid #a7bbff33;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.model-test-dialog{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;height:80vh;left:50%;max-width:800px;position:fixed;top:50%;transform:translate(-50%,-50%);width:80%;z-index:1000}.dialog-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px}.dialog-header h3{color:#333;font-size:18px;margin:0}.messages-container{flex:1 1;gap:16px;overflow-y:auto;padding:16px}.message,.messages-container{display:flex;flex-direction:column}.message{border-radius:8px;gap:8px;max-width:85%;padding:12px}.message.user{align-self:flex-end;background:#e3f2fd}.message.assistant{align-self:flex-start;background:#f5f5f5}.message-header{align-items:center;color:#666;display:flex;font-size:12px;justify-content:space-between}.message-content{font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.reasoning-content{background:#ffffffb3;border-radius:4px;font-size:13px;margin-bottom:8px;padding:8px}.reasoning-header{color:#666;font-weight:500;margin-bottom:4px}.reasoning-text{color:#666;white-space:pre-wrap}.error-message{background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;color:#c62828;font-size:14px;margin:8px 16px;padding:8px 12px}.input-container{border-top:1px solid #eee;display:flex;gap:8px;padding:16px}.input-container textarea{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;max-height:120px;min-height:40px;padding:8px 12px;resize:vertical}.input-container button{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;white-space:nowrap}.input-container button:hover{background:#1565c0}.input-container button:disabled{background:#bbdefb;cursor:not-allowed}.timestamp{color:#999;font-size:11px}.dialog-overlay{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.model-config-form{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:800px;padding:24px}.form-header{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.form-header h2{color:#333;font-size:20px;font-weight:500;margin:0}.form-actions{display:flex;gap:12px}.form-actions button{border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s}.btn-primary{border:1px solid #1890ff}.btn-primary:hover{border-color:#40a9ff}.btn-primary:disabled{background:#bae7ff;border-color:#bae7ff;cursor:not-allowed}.btn-secondary{border:1px solid #d9d9d9;color:#666}.btn-secondary:hover{border-color:#40a9ff;color:#40a9ff}.btn-secondary:disabled{border-color:#d9d9d9;color:#d9d9d9;cursor:not-allowed}.form-error{background:#fff1f0;border:1px solid #ffccc7;border-radius:4px;color:#f5222d;font-size:14px;margin-bottom:16px;padding:8px 12px}.form-section{margin-bottom:24px}.form-section label{color:#666;display:block;font-size:14px;margin-bottom:8px}.form-section input{border:1px solid #d9d9d9;border-radius:4px;font-size:14px;padding:8px 12px;transition:all .3s;width:100%}.form-section input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33;outline:none}.provider-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:8px}.provider-card{align-items:center;background:#fafafa;border:2px solid #e8e8e8;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:16px;position:relative;transition:all .3s}.provider-card:hover{background:#e6f7ff;border-color:#40a9ff}.provider-card.selected{background:#e6f7ff;border-color:#1890ff}.provider-icon{align-items:center;background:#1890ff;border-radius:8px;color:#fff;display:flex;font-size:20px;font-weight:500;height:40px;justify-content:center;width:40px}.provider-info{flex:1 1}.provider-name{color:#333;font-size:16px;font-weight:500;margin:0}.provider-description{color:#666;font-size:12px;margin:4px 0 0}.provider-selected{align-items:center;background:#1890ff;border-radius:50%;color:#fff;display:flex;font-size:12px;height:20px;justify-content:center;position:absolute;right:8px;top:8px;width:20px}.model-list{display:flex;flex-direction:column;gap:24px;padding:20px}.list-header{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;padding-bottom:16px}.list-header h2{color:#333;font-size:24px;margin:0}.model-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.model-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:16px;position:relative}.model-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.model-header h3{color:#333;font-size:18px;margin:0}.status-badge{border-radius:4px;font-size:12px;padding:4px 8px}.status-badge.enabled{background-color:#e6f7ff;color:#1890ff}.status-badge.disabled{background-color:#fff1f0;color:#ff4d4f}.model-details{margin-bottom:16px}.model-details p{color:#666;margin:8px 0}.model-parameters{margin-bottom:16px}.model-parameters ul{list-style:none;margin:8px 0;padding:0}.model-parameters li{color:#666;margin:4px 0}.model-actions{display:flex;gap:8px;justify-content:flex-end}.btn-primary{background:#1890ff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.btn-primary:hover{background:#40a9ff}.btn-secondary{background:#fff;border:1px solid #1890ff;border-radius:4px;color:#1890ff;cursor:pointer;padding:8px 16px}.btn-secondary:hover{background:#e6f7ff}.btn-danger{background:#fff;border:1px solid #ff4d4f;border-radius:4px;color:#ff4d4f;cursor:pointer;padding:8px 16px}.btn-danger:hover{background:#fff1f0}.empty-state{background:#fafafa;border-radius:8px;padding:48px;text-align:center}.empty-state p{color:#666;margin-bottom:16px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{max-height:90vh;max-width:600px;overflow-y:auto;padding:24px;width:90%}.delete-confirm,.modal-content{background:#fff;border-radius:8px}.delete-confirm{box-shadow:0 4px 12px #00000026;left:50%;padding:16px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1}.confirm-actions{display:flex;gap:8px;justify-content:center;margin-top:16px}.loading{color:#666}.error,.loading{padding:48px;text-align:center}.error{color:#ff4d4f}@media (max-width:768px){.model-list{padding:16px}.list-header{align-items:stretch;flex-direction:column;gap:16px}.model-grid{grid-template-columns:1fr}.modal-content{margin:10px;width:95%}}.app{display:flex;flex-direction:column;min-height:100vh}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .3s ease-in}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .3s ease-in}
/*# sourceMappingURL=main.d7e3711f.css.map*/