.kiro-splash{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--bg);pointer-events:none}.kiro-splash.fading-out{animation:kiro-splash-out .5s ease-in forwards}.kiro-splash-logo{width:96px;height:96px;object-fit:contain;will-change:transform,opacity;animation:kiro-splash-logo-in .7s cubic-bezier(.2,.8,.3,1.1) both}.kiro-splash-text{font-size:1.4rem;font-weight:600;color:var(--text);margin:0;letter-spacing:-.01em;will-change:transform,opacity;animation:kiro-splash-text-in .7s cubic-bezier(.2,.8,.3,1.1) .2s both}.kiro-splash-spinner{width:26px;height:26px;border:2.5px solid color-mix(in srgb,var(--text) 18%,transparent);border-top-color:var(--accent);border-radius:50%;opacity:0;will-change:transform,opacity;animation:kiro-splash-spin .9s linear infinite}.kiro-splash.show-spinner .kiro-splash-spinner{animation:kiro-splash-spin .9s linear infinite,kiro-splash-spinner-in .4s ease-out forwards}@keyframes kiro-splash-logo-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes kiro-splash-text-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes kiro-splash-spin{to{transform:rotate(360deg)}}@keyframes kiro-splash-spinner-in{to{opacity:.85}}@keyframes kiro-splash-out{from{opacity:1}to{opacity:0;visibility:hidden}}:root{accent-color:#3B87CE;--catalog-toggle-h:32px;--bg:#ffffff;--bg-sidebar:#fafafa;--bg-msg-user:#f0f0f0;--bg-msg-assistant:#f9f9f9;--text:#1a1a1a;--text-secondary:#888;--border:#eaeaea;--bg-input:#fff;--bg-hover:#f0f0f0;--bg-active:#e8e8e8;--btn-bg:#1a1a1a;--btn-text:#fff;--border-light:#f0f0f0;--border-input:#ddd;--sp-title-color:#555;--scrollbar-thumb:rgba(0,0,0,0.13);--scrollbar-thumb-hover:rgba(0,0,0,0.25);--tooltip-bg:#1f1f1f;--tooltip-text:#f0f0f0;--conv-delete-color:#999;--link:#2563eb;--link-hover:#1d4ed8;--accent:#3B87CE;--accent-dark:#2a6da3;--accent-light:rgba(59, 135, 206, 0.08);--accent-gradient:var(--accent-gradient);--accent-gradient-active:var(--accent-gradient-active);--danger:#dc2626;--danger-dark:#b91c1c;--danger-light:rgba(220, 38, 38, 0.1);--bg-thinking:#fdfdfd}body.dark{--bg:#1a1a1a;--bg-sidebar:#212121;--bg-msg-user:#2a2a2a;--bg-msg-assistant:#323232;--text:#e0e0e0;--text-secondary:#999;--border:#2e2e2e;--bg-input:#2a2a2a;--bg-hover:#2e2e2e;--bg-active:#3a3a3a;--btn-bg:#e0e0e0;--btn-text:#1a1a1a;--border-light:#2e2e2e;--border-input:#444;--sp-title-color:#aaa;--scrollbar-thumb:rgba(255,255,255,0.13);--scrollbar-thumb-hover:rgba(255,255,255,0.28);--tooltip-bg:#2a2a2a;--tooltip-text:#e8e8e8;--conv-delete-color:#777;--link:#60a5fa;--link-hover:#93bbfd;--accent:#3B87CE;--accent-dark:#2a6da3;--accent-light:rgba(59, 135, 206, 0.12);--accent-gradient:var(--accent-gradient);--accent-gradient-active:var(--accent-gradient-active);--danger:#dc2626;--danger-dark:#b91c1c;--danger-light:rgba(220, 38, 38, 0.15);--bg-thinking:#1e1e1e}@media (prefers-color-scheme:dark){body.theme-auto{--bg:#1a1a1a;--bg-sidebar:#212121;--bg-msg-user:#2a2a2a;--bg-msg-assistant:#323232;--text:#e0e0e0;--text-secondary:#999;--border:#2e2e2e;--bg-input:#2a2a2a;--bg-hover:#2e2e2e;--bg-active:#3a3a3a;--btn-bg:#e0e0e0;--btn-text:#1a1a1a;--border-light:#2e2e2e;--border-input:#444;--sp-title-color:#aaa;--scrollbar-thumb:rgba(255,255,255,0.13);--scrollbar-thumb-hover:rgba(255,255,255,0.28);--tooltip-bg:#2a2a2a;--tooltip-text:#e8e8e8;--conv-delete-color:#777;--link:#60a5fa;--link-hover:#93bbfd;--accent:#3B87CE;--accent-dark:#2a6da3;--accent-light:rgba(59, 135, 206, 0.12);--accent-gradient:var(--accent-gradient);--accent-gradient-active:var(--accent-gradient-active);--danger:#dc2626;--danger-dark:#b91c1c;--danger-light:rgba(220, 38, 38, 0.15);--bg-thinking:#1e1e1e}body.theme-auto .message-text pre{background:rgba(255,255,255,.08)}body.theme-auto .message-text code{background:rgba(255,255,255,.1)}body.theme-auto .message-text th{background:rgba(255,255,255,.06)}body.theme-auto .web-search-toggle.active{color:var(--link);border-color:var(--link);background:rgba(96,165,250,.12)}body.theme-auto .model-alert{background:linear-gradient(rgba(59,135,206,.1),rgba(59,135,206,.1)),var(--bg);color:#e8e8e8;border-color:rgba(59,135,206,.4)}body.theme-auto #cost-info,body.theme-auto #token-info{background:rgba(30,30,30,.85)}body.theme-auto .input-wrapper:focus-within{border-color:var(--active-cat-color,#3b87ce)}body.theme-auto .input-action-btn{background:var(--bg-input);border-color:var(--border-input)}body.theme-auto .input-action-btn.active{color:var(--link);border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.08);box-shadow:0 0 0 1px rgba(96,165,250,.08)}body.theme-auto .input-action-btn.active:hover{background:rgba(96,165,250,.15)}body.theme-auto .input-action-arrow:hover{background:rgba(255,255,255,.06)}body.theme-auto .input-action-btn.active .input-action-arrow{border-left-color:rgba(96,165,250,.2)}body.theme-auto .faq-answer code{background:rgba(255,255,255,.08)}body.theme-auto .models-error{background:#3b1111;border-color:#7f1d1d;color:#fca5a5}body.theme-auto .budget-alert-popup{box-shadow:0 4px 12px rgba(0,0,0,.2),0 16px 40px rgba(0,0,0,.4)}body.theme-auto .code-copy-btn{background:rgba(255,255,255,.2)}body.theme-auto .code-copy-btn:hover{background:rgba(255,255,255,.35)}.theme-auto .conv-search{background-color:#2a2a2a}}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body,html{overflow-x:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;display:flex;height:100vh;overflow:hidden;background:var(--bg);color:var(--text);touch-action:manipulation;-webkit-overflow-scrolling:touch}.sidebar-toggle{position:fixed;top:10px;left:224px;z-index:100;background:var(--bg-sidebar);border:1px solid var(--border-input);border-radius:6px;padding:4px 6px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:left .25s ease,color .15s,background .15s}.sidebar-toggle:hover{color:var(--text);background:var(--bg-hover)}.sidebar-toggle:active{transform:scale(.92)}.sidebar-toggle.collapsed{left:8px}.sidebar{width:240px;min-width:240px;background:var(--bg-sidebar);display:flex;flex-direction:column;padding:20px 14px;border-right:1px solid var(--border);transition:width .25s ease,min-width .25s ease,padding .25s ease,opacity .2s ease;overflow:hidden;gap:8px}.sidebar.collapsed{width:0;min-width:0;padding:24px 0;opacity:0;border-right:none}.right-panel{width:280px;min-width:280px;background:var(--bg-sidebar);display:flex;flex-direction:column;padding:20px 14px;border-left:1px solid var(--border);transition:width .25s ease,min-width .25s ease,padding .25s ease,opacity .2s ease;overflow:hidden}.right-panel.collapsed{width:0;min-width:0;padding:24px 0;opacity:0;border-left:none}.rp-panel-title{font-size:.9rem;font-weight:700;color:var(--text);margin-bottom:12px;white-space:nowrap;display:flex;align-items:center;justify-content:center;text-align:center}.rp-close-btn{background:0 0;border:none;cursor:pointer;color:var(--text-secondary);font-size:1rem;line-height:1;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.rp-close-btn:hover{color:var(--text);background:var(--bg-hover)}.rp-tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:1px solid var(--border);position:relative}.rp-tabs::after{content:'';position:absolute;bottom:-1px;left:var(--rp-tab-x,0);width:var(--rp-tab-w,0);height:2px;background:var(--accent);transition:left .28s cubic-bezier(.4, 0, .2, 1),width .28s cubic-bezier(.4, 0, .2, 1);pointer-events:none}.rp-tab{flex:1;padding:6px 0;font-size:.78rem;font-weight:600;color:var(--text-secondary);background:0 0;border:none;cursor:pointer;transition:color .2s}.rp-tab:hover{color:var(--text)}.rp-tab.active{color:var(--accent)}.rp-tab-content{display:none;flex-direction:column;flex:1;overflow-y:auto}.rp-tab-content.active{display:flex;animation:rp-tab-fade-in .22s ease}@keyframes rp-tab-fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.right-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.right-panel-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.right-panel-actions{display:flex;gap:4px}.rp-action-btn{background:0 0;border:1px solid transparent;cursor:pointer;padding:4px 6px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.rp-action-btn:hover{color:var(--accent);background:var(--accent-light);border-color:var(--accent)}.right-panel-role-actions{display:flex;flex-direction:column;gap:6px;padding-top:8px}.rp-role-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;background:0 0;border:1px solid var(--border-input);border-radius:6px;padding:4px 10px;font-size:.72rem;font-family:inherit;color:var(--text-secondary);cursor:pointer;transition:all .15s}.rp-role-btn:hover{background:var(--bg-hover);color:var(--text)}.right-panel-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.right-panel-section:last-of-type{border-bottom:none}.right-panel-section.disabled{display:none}.rp-range-value{font-size:.7rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rp-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border);outline:0;margin:6px 0 0}.rp-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.rp-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.rp-title-group{display:flex;align-items:center;gap:6px}.rp-param-toggle{-webkit-appearance:none;appearance:none;width:14px;height:14px;border:1.5px solid var(--accent);border-radius:3px;background:var(--bg-input);cursor:pointer;flex-shrink:0;position:relative;transition:background .15s,border-color .15s}.rp-param-toggle:checked{background:var(--accent);border-color:var(--accent)}.rp-param-toggle:checked::after{content:'';position:absolute;left:3px;top:0;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.right-panel-section.rp-param-disabled .rp-cat-select,.right-panel-section.rp-param-disabled .rp-range,.right-panel-section.rp-param-disabled .rp-range-value,.right-panel-section.rp-param-disabled .rp-text-input,.right-panel-section.rp-param-disabled select{opacity:.3;pointer-events:none}.rp-text-input{width:100%;padding:8px 10px;font-size:.82rem;font-family:inherit;color:var(--text);background:var(--bg-input,var(--bg));border:1px solid var(--border);border-radius:8px;box-sizing:border-box;transition:border-color .2s}.rp-text-input:focus{outline:0;border-color:var(--accent)}.rp-text-input::-webkit-inner-spin-button,.rp-text-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rp-text-input[type=number]{-moz-appearance:textfield}.right-panel-section.rp-param-mandatory .rp-param-toggle{display:none}.rp-hint-btn.custom-select-info{width:16px;height:16px;min-width:16px;min-height:16px;font-size:10px;font-weight:700;font-style:normal;font-family:inherit;background:var(--bg-hover);border:none;color:var(--text-secondary);opacity:1;margin-left:0}.image-format-options{display:flex;gap:6px}.image-format-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;font-size:.72rem;transition:border-color .2s,color .2s,background .2s}.image-format-btn:hover{border-color:var(--text-secondary);color:var(--text)}.image-format-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(255,120,50,.06)}.image-format-btn.disabled{opacity:.35;filter:grayscale(1)}#rp-tab-image [data-providers].disabled{display:none}.rp-cat-select{width:100%;padding:8px 10px;font-size:.82rem;border-radius:8px;border:1px solid var(--border);box-sizing:border-box;transition:border-color .2s}.rp-cat-select:focus{border-color:var(--accent)}.conv-section{flex:1;display:flex;flex-direction:column;min-height:0;gap:8px;position:relative}.cat-select-row{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);overflow:hidden}.cat-select-custom{flex:1;min-width:0;font-size:.78rem;font-family:inherit;padding:7px 8px;border:none;border-radius:0;background:0 0;display:flex;align-items:center;cursor:pointer;color:var(--text-secondary)}.cat-select-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-select-arrow{flex-shrink:0;margin-left:6px;opacity:.5}.cat-select-custom.open .cat-select-arrow{display:none}.cat-select-dropdown{position:absolute;left:0;right:0;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.2);max-height:220px;overflow-y:auto;z-index:100}.cat-select-option{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;cursor:pointer;transition:background .1s;color:var(--text)}.cat-select-option:hover{background:var(--bg-hover)}.cat-select-option.active{background:var(--bg-hover);font-weight:600}.cat-select-option .cat-option-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cat-manage-btn{display:flex;align-items:center;justify-content:center;width:28px;flex-shrink:0;border:none;border-left:1px solid var(--border);border-radius:0;background:0 0;color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s;padding:0}.cat-manage-btn:hover{color:var(--text);background:var(--bg-hover)}.save-modal{width:440px;max-width:95vw;position:relative;padding-top:28px}.save-modal-close-x{position:absolute;top:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:0 0;color:var(--text-secondary);font-size:1.3rem;cursor:pointer;border-radius:6px;line-height:1;transition:background .15s,color .15s}.save-modal-close-x:hover{background:var(--bg-hover);color:var(--text)}.save-modal-header{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:4px}.save-modal-header h3{text-align:center}.save-modal-icon-circle{width:48px;height:48px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;color:var(--accent)}.save-modal-warning{display:flex;gap:10px;align-items:flex-start;background:rgba(234,179,8,.1);border-left:3px solid rgba(234,179,8,.7);border-radius:0 8px 8px 0;padding:11px 14px;margin-bottom:10px}.save-modal-warning-icon{flex-shrink:0;color:#ca8a04;margin-top:1px}.save-modal-warning p{margin:0;font-size:.82rem;line-height:1.55;color:var(--text)}.save-modal-desc{font-size:.82rem;color:var(--text-secondary);margin:0 0 16px;line-height:1.55;text-align:center}.save-modal-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-bottom:14px;background:rgba(0,0,0,.03);border-radius:8px;cursor:pointer;user-select:none}body.dark .save-modal-option{background:rgba(255,255,255,.04)}.save-modal-option input[type=checkbox]{margin-top:3px;flex-shrink:0;cursor:pointer}.save-modal-option span{display:flex;flex-direction:column;gap:3px}.save-modal-option strong{font-size:.85rem;color:var(--text)}.save-modal-option small{font-size:.75rem;color:var(--text-secondary);line-height:1.45}.save-modal-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.save-modal-action-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border-radius:10px;font-size:.9rem;cursor:pointer;border:1px solid var(--border-input);background:var(--bg-sidebar);color:var(--text);transition:background .15s,border-color .15s,transform .1s;font-family:inherit;text-align:center}.save-modal-action-btn:hover{background:var(--bg-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.save-modal-action-btn svg{flex-shrink:0}.save-modal-btn-content{display:flex;flex-direction:column;gap:2px}.save-modal-btn-content strong{font-size:.88rem;font-weight:600}.save-modal-btn-content small{font-size:.72rem;color:var(--text-secondary);font-weight:400}.save-modal-action-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.save-modal-action-btn-primary .save-modal-btn-content small{color:rgba(255,255,255,.75)}.save-modal-action-btn-primary:hover{filter:brightness(1.08);border-color:transparent;background:var(--accent)}.manage-list-modal{width:400px;max-width:95vw;position:relative}.manage-list-header{display:flex;align-items:center;justify-content:space-between}.manage-list-header h3{margin:0}.manage-list-items{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto;padding:2px 0}.manage-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg-sidebar);cursor:pointer;transition:background .15s,box-shadow .15s;position:relative}.manage-list-item:hover{background:var(--bg-hover);box-shadow:0 1px 4px rgba(0,0,0,.08)}.manage-list-item-icon{width:34px;height:34px;border-radius:8px;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.manage-list-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.manage-list-item-name{font-size:.88rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-list-item-preview{font-size:.72rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-list-item-arrow{color:var(--text-secondary);flex-shrink:0;opacity:0;transition:opacity .15s;font-size:.8rem}.manage-list-item:hover .manage-list-item-arrow{opacity:1}.manage-list-item-share{flex-shrink:0;width:28px;height:28px;border:none;background:0 0;color:var(--text-secondary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s}.manage-list-item:hover .manage-list-item-share{opacity:1}.manage-list-item-share:hover{background:var(--accent-light);color:var(--accent)}.manage-list-empty{text-align:center;color:var(--text-secondary);font-size:.82rem;padding:20px 0}.cat-manage-modal{width:380px;position:relative}#cat-manage-edit-view,#cat-manage-list-view{display:flex;flex-direction:column;gap:12px}.cat-manage-header{display:flex;align-items:center;justify-content:space-between}.cat-manage-header h3{margin:0}.cat-manage-close-btn{background:0 0;border:none;color:var(--text-secondary);font-size:1.3rem;cursor:pointer;padding:0 4px;line-height:1;border-radius:6px;transition:color .15s,background .15s}.cat-manage-close-btn:hover{color:var(--text);background:var(--bg-hover)}.cat-manage-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;padding:2px 0}.cat-manage-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg-sidebar);cursor:pointer;transition:background .15s,box-shadow .15s;position:relative}.cat-manage-item:hover{background:var(--bg-hover);box-shadow:0 1px 4px rgba(0,0,0,.08)}.cat-manage-item-badge{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;line-height:1}.cat-manage-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cat-manage-item-name{font-size:.88rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-manage-item-meta{font-size:.72rem;color:var(--text-secondary)}.cat-manage-item-arrow{color:var(--text-secondary);flex-shrink:0;opacity:0;transition:opacity .15s;font-size:.8rem}.cat-manage-item:hover .cat-manage-item-arrow{opacity:1}.cat-manage-add-btn{width:100%;padding:9px 20px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;margin-top:4px}.cat-manage-add-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.cat-manage-add-btn:active{transform:translateY(0)}.cat-manage-add-btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:5px;box-sizing:border-box}.cat-manage-add-btn-icon svg{flex-shrink:0}.manage-list-footer{display:flex;gap:8px;align-items:stretch}.manage-list-footer .cat-manage-add-btn{flex:1;margin-top:0}.cat-manage-empty{text-align:center;color:var(--text-secondary);font-size:.82rem;padding:24px 0;line-height:1.5}.cat-modal-delete-btn{font-family:inherit;font-size:.85rem;padding:9px 20px;border-radius:10px;border:1px solid var(--danger);background:0 0;color:var(--danger);cursor:pointer;transition:background .15s,color .15s,transform .15s}.cat-modal-delete-btn:hover{background:var(--danger);color:#fff;transform:translateY(-1px)}.cat-modal-delete-btn:active{transform:translateY(0)}.conv-search{-webkit-appearance:none;appearance:none;width:100%;font-size:.75rem;font-family:inherit;padding:6px 10px;margin-right:-5px;border:1px solid transparent;border-radius:8px;background-color:#eaeaea;color:var(--text);outline:0;box-sizing:border-box;transition:background .2s,border-color .2s,box-shadow .2s,color .2s}.dark .conv-search{background-color:#2a2a2a}.conv-search:focus{background:var(--bg-input);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);color:var(--text)}.conv-search::placeholder{color:var(--text-secondary);opacity:.5}.rp-role-btn-danger:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-light)}.right-panel-select-row{margin-bottom:12px}.right-panel-select-row .model-select{width:100%;padding:8px 10px;font-size:.82rem;border-radius:8px;border:1px solid var(--border);box-sizing:border-box;transition:border-color .2s}.right-panel-select-row .model-select:focus{border-color:var(--accent)}.sp-textarea{width:100%;min-height:100px;max-height:200px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text);font-family:inherit;font-size:.83rem;line-height:1.5;padding:10px 12px;resize:vertical;outline:0;box-sizing:border-box;transition:border-color .2s}.sp-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.sp-textarea::placeholder{color:var(--text-secondary);opacity:.6}.right-panel-toggle{display:none!important}.side-panel-toolbar{position:fixed;top:10px;right:264px;z-index:100;display:flex;flex-direction:column;gap:6px;transition:right .25s ease}.side-panel-btn{position:relative;background:var(--bg-sidebar);border:1px solid var(--border-input);border-radius:6px;padding:4px 6px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.side-panel-btn:hover{color:var(--text);background:var(--bg-hover)}.side-panel-btn.active{color:var(--text);background:var(--bg-hover)}.side-canvas-count{position:absolute;top:-4px;right:-4px;background:var(--accent,#5865f2);color:#fff;font-size:.62rem;line-height:1;min-width:14px;padding:2px 4px;border-radius:8px;font-weight:600;text-align:center;pointer-events:none}.side-canvas-count:empty{display:none}body:has(#right-panel.collapsed):not(.canvas-active) .chat-container{padding-right:56px}body:has(#right-panel.collapsed):not(.canvas-active) .side-panel-toolbar{right:8px}body.canvas-active .side-panel-toolbar{right:var(--side-toolbar-right,464px)}@media (min-width:769px){.chat-container{align-items:center}.chat-container>*{width:100%;max-width:800px}}@media (max-width:768px){:root{--m-font-primary:0.88rem;--m-font-secondary:0.78rem;--m-font-small:0.72rem;--m-space-sm:6px;--m-space-md:8px;--m-space-lg:12px;--m-touch-min:40px}.right-panel{display:none}.side-panel-toolbar{display:none}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;width:260px;min-width:260px;box-shadow:2px 0 16px rgba(0,0,0,.15)}.sidebar.collapsed{width:0;min-width:0}.sidebar-toggle{z-index:1001;padding:8px 10px}body.sidebar-open::after{content:'';position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:999}.sidebar .conv-item{padding:var(--m-space-md) var(--m-space-sm)}.sidebar .conv-item-title{font-size:var(--m-font-secondary)}.sidebar .cat-manage-btn{min-width:var(--m-touch-min);min-height:var(--m-touch-min)}.sidebar .user-avatar-btn{width:var(--m-touch-min);height:var(--m-touch-min)}.sidebar .sidebar-config-btn{width:var(--m-touch-min);height:var(--m-touch-min)}#plus-menu-btn{width:36px;height:36px;min-width:36px;min-height:36px}.main{width:100%}.chat-container{padding:var(--m-space-md) var(--m-space-md) 80px;gap:6px}body:has(#right-panel.collapsed):not(.canvas-active) .chat-container{padding-right:var(--m-space-md)}.message{max-width:90%;padding:var(--m-space-md) var(--m-space-lg);font-size:var(--m-font-primary)}.message-assistant{max-width:100%!important;padding:var(--m-space-sm) 4px!important}.message-wrapper .message-assistant{max-width:100%}.message-wrapper .message{max-width:90%}.message-images img{max-width:260px;max-height:260px}.message-btn-row{gap:2px}.message-tts-btn{width:32px;height:32px}.generation-placeholder{font-size:var(--m-font-secondary)}.token-bar{padding:4px 12px;font-size:var(--m-font-small)}.export-action-btn{padding:3px 5px;font-size:var(--m-font-small)}.input-area{padding:var(--m-space-md) var(--m-space-sm) var(--m-space-lg);gap:4px}.input-row{gap:4px}.input-wrapper{padding:6px 8px;border-radius:16px}.prompt-input{font-size:16px;min-height:28px;max-height:120px}.input-line-2{gap:2px}.input-line-2-center{display:none}.input-line-2-left{gap:1px}.input-line-2-right{gap:1px}.input-hint{font-size:var(--m-font-small)}#plus-menu-btn{width:36px;height:36px}.plus-menu-dropdown{width:280px;left:8px;max-height:380px}.plus-model-list{max-height:180px}.plus-model-item{padding:8px 10px}.plus-model-item-label{font-size:var(--m-font-secondary)}.plus-menu-section-title{font-size:var(--m-font-small)}.sp-modal{width:95vw;max-width:95vw;padding:var(--m-space-lg)}.apikeys-modal{width:95vw;max-width:95vw}.apikeys-tab{font-size:var(--m-font-small);padding:6px 4px}.sp-modal h3{font-size:var(--m-font-primary)}.sp-modal label{font-size:var(--m-font-secondary)}.sp-modal input,.sp-modal select{font-size:16px}.sp-modal-btn{padding:8px 16px;font-size:var(--m-font-secondary)}.sp-tip{font-size:var(--m-font-small)}.audio-setting-row{flex-wrap:wrap;gap:4px}.audio-setting-label{font-size:var(--m-font-secondary)}.audio-setting-select{font-size:16px}.sp-textarea{font-size:16px}.canvas-panel{width:100vw;min-width:100vw}.lightbox-close{width:var(--m-touch-min);height:var(--m-touch-min)}.mobile-send-btn{width:var(--m-touch-min);height:var(--m-touch-min);min-width:var(--m-touch-min);min-height:var(--m-touch-min)}.conv-action-btn{padding:4px 6px}.btn-label{font-size:var(--m-font-secondary)}}@media (max-width:380px){.chat-container{padding:var(--m-space-sm) var(--m-space-sm) 70px}.message{max-width:95%;padding:var(--m-space-sm) var(--m-space-md);font-size:.82rem}.message-wrapper .message{max-width:95%}.input-area{padding:var(--m-space-sm) 4px var(--m-space-md)}.input-wrapper{padding:4px 6px;border-radius:14px}.plus-menu-dropdown{width:260px;left:2px}.token-bar{padding:3px 8px;font-size:.68rem}}@media (max-width:768px){.sidebar-config-btn{width:40px;height:40px}.cat-manage-btn{min-width:40px;min-height:40px}.save-modal-close-x{width:40px;height:40px}.rp-close-btn{width:36px;height:36px}.rp-action-btn{min-height:36px}.lightbox-close{top:12px;right:12px}}.sidebar-title{font-size:2.2rem;font-weight:700;margin-bottom:0;color:var(--text);display:flex;align-items:center;justify-content:center;gap:8px}.sidebar-logo{width:40px;height:40px;object-fit:contain}.version-badge{font-size:.45em;font-weight:600;opacity:.5;vertical-align:super}.sidebar-credit{display:block;text-align:center;font-size:.65rem;color:var(--text-secondary);text-decoration:none;margin-top:-6px;margin-bottom:8px;transition:color .15s}.sidebar-credit:hover{color:var(--text);text-decoration:underline}.new-chat-btn{background:var(--accent);border:1px solid var(--accent);border-radius:10px;padding:10px 14px;font-size:.85rem;font-weight:500;cursor:pointer;text-align:center;transition:all .2s;color:#fff}.new-chat-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.user-menu-wrapper{margin-top:auto;position:relative;display:flex;justify-content:space-between;align-items:center}.user-menu-wrapper::before{content:'';position:absolute;top:-40px;left:-16px;right:-16px;height:40px;background:linear-gradient(to bottom,transparent 0,var(--bg-sidebar) 80%);pointer-events:none}.user-avatar-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-input);background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;font-family:inherit;transition:border-color .15s,transform .15s;padding:0;flex-shrink:0}.user-avatar-btn:hover{border-color:var(--accent);transform:scale(1.05)}.sidebar-config-btn{width:32px;height:32px;border-radius:50%;border:none;background:0 0;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:color .15s,background .15s}.sidebar-config-btn:hover{color:var(--text);background:var(--bg-hover)}.user-avatar-initials{line-height:1;pointer-events:none}.user-menu-dropdown{position:fixed;z-index:9999;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.18);padding:6px;min-width:180px;display:flex;flex-direction:column;gap:2px;animation:fadeIn .12s ease}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:0 0;color:var(--text);font-family:inherit;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:background .12s}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item-logout{color:var(--danger)}.user-menu-item-logout:hover{background:var(--danger-light)}.conv-list-container{flex:1;overflow-y:auto;margin-top:4px;margin-right:-10px;padding-right:3px;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.conv-list{display:flex;flex-direction:column;gap:2px}.conv-item{display:flex;align-items:center;padding:8px 6px 8px 10px;border-radius:8px;cursor:pointer;transition:background .25s ease,border-color .25s ease;overflow:hidden;border:1px solid transparent}.conv-item-content{flex:1;min-width:0}.conv-item-actions{display:flex;gap:1px;opacity:0;flex-shrink:0}.conv-item:hover .conv-item-actions{opacity:1}.conv-action-btn{background:0 0;border:none;cursor:pointer;color:var(--text-secondary);padding:1px 3px;border-radius:4px;line-height:1;display:flex;align-items:center;transition:color .15s,background .15s}.conv-action-btn:hover{color:var(--text);background:var(--bg-hover)}.conv-action-btn:active{transform:scale(.92)}.conv-action-btn.danger:hover{color:var(--danger);background:var(--danger-light)}.conv-action-btn.fav-toggle.active{color:#eab308}.conv-action-btn.fav-toggle.active:hover{color:#ca8a04}.conv-item:hover{background:var(--bg-hover);border-color:var(--border)}.conv-item:active{transform:scale(.98)}.conv-item.active{background:var(--cat-color-light,var(--accent-light));border-color:transparent}.conv-item.active .conv-item-title{color:var(--cat-color,var(--accent))}.conv-item-title{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);transition:color .25s ease}.conv-item-date-line{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:2px}.conv-item-date{font-size:.7rem;color:var(--text-secondary)}.conv-rename-input{width:100%;font-family:inherit;font-size:.8rem;padding:1px 4px;border:1px solid var(--border-input);border-radius:4px;background:var(--bg-input);color:var(--text);outline:0}.conv-cat-popup{position:fixed;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.15);padding:6px;z-index:2000;min-width:180px;max-height:80vh;overflow-y:auto}.conv-cat-popup::before{content:'';position:absolute;left:-5px;top:16px;width:9px;height:9px;background:var(--bg-input);border-left:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.conv-cat-popup-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:.82rem;color:var(--text);transition:background .1s}.conv-cat-popup-item:hover{background:var(--bg-hover)}.conv-cat-popup-item.active{font-weight:600}.conv-cat-popup-separator{height:1px;background:var(--border-light);margin:4px 2px}.conv-list-container::-webkit-scrollbar{width:4px}.main{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.input-settings-btn{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.input-settings-btn:hover{color:var(--text)}.chat-container{flex:1;overflow-y:auto;padding:20px 12px 40px;display:flex;flex-direction:column;gap:8px;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@keyframes chat-fade-in{from{opacity:0}to{opacity:1}}.chat-container.fade-in{animation:chat-fade-in .3s ease}.empty-chat-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:.5}.empty-chat-logo{width:120px;height:120px;object-fit:contain}.empty-chat-text{font-size:.9rem;color:var(--text-secondary);text-align:center;max-width:360px;line-height:1.5}.empty-chat-category{font-size:.82rem;font-weight:500;text-align:center;padding:8px 24px;border-radius:10px;border:1px solid;max-width:480px;line-height:1.4}.message{max-width:100%;padding:10px 16px;border-radius:16px;font-size:.95rem;line-height:1.55;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;position:relative}@media (max-width:768px){.message{font-size:.88rem}}@media (max-width:380px){.message{font-size:.82rem}}.message-user .message-text{white-space:pre-wrap}.message-text{word-wrap:break-word;overflow-wrap:break-word}.generation-placeholder{--gp-color:var(--active-cat-color, var(--accent, #6b7280));--gp-highlight:color-mix(in srgb, var(--gp-color) 35%, #ffffff);display:inline-block;font-weight:500;background-image:linear-gradient(90deg,var(--gp-color) 0,var(--gp-color) 40%,var(--gp-highlight) 50%,var(--gp-color) 60%,var(--gp-color) 100%);background-size:200% 100%;background-repeat:repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:generation-shimmer 2.2s linear infinite;will-change:background-position}body.dark .generation-placeholder{--gp-highlight:color-mix(in srgb, var(--gp-color) 25%, #e8e8e8)}@keyframes generation-shimmer{0%{background-position:0 0}100%{background-position:-200% 0}}.char-flash{transition:color .6s linear}.message-text p{margin:0 0 .5em 0}.message-text p:last-child{margin-bottom:0}.message-text pre{background:rgba(0,0,0,.08);border-radius:8px;padding:12px;overflow-x:auto;margin:.5em 0;font-size:.85rem}body.dark .message-text pre{background:rgba(255,255,255,.08)}.message-text code{background:rgba(0,0,0,.06);border-radius:3px;padding:1px 4px;font-size:.88em}body.dark .message-text code{background:rgba(255,255,255,.1)}.message-text pre code{background:0 0;padding:0;border-radius:0;font-size:inherit}.message-text ol,.message-text ul{margin:.4em 0;padding-left:1.5em}.message-text h1,.message-text h2,.message-text h3{margin:.6em 0 .3em 0;line-height:1.3}.message-text h1{font-size:1.2em}.message-text h2{font-size:1.1em}.message-text h3{font-size:1em}.message-text blockquote{border-left:3px solid var(--border-input);margin:.5em 0;padding:.2em 0 .2em 12px;color:var(--text-secondary)}.message-text table{border-collapse:collapse;margin:.5em 0;font-size:.9em}.message-text td,.message-text th{border:1px solid var(--border);padding:4px 10px}.message-text th{background:rgba(0,0,0,.04)}body.dark .message-text th{background:rgba(255,255,255,.06)}.citations-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-light)}.citations-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.citations-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.citations-list li{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;background:var(--bg-hover);border-radius:6px;padding:3px 8px;transition:background .15s}.citations-list li:hover{background:var(--bg-active)}.citation-num{color:var(--text-secondary);font-size:.7rem;font-weight:600}.citations-list a{color:var(--text);text-decoration:none}.citations-list a:hover{text-decoration:underline}.message-text a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.message-text a:hover{color:var(--link-hover)}.message-wrapper{display:flex;flex-direction:column;width:100%}.message-wrapper-user{align-items:flex-end}.message-wrapper-assistant{align-items:flex-start}.message-wrapper .message{max-width:100%}.message-btn-row{display:flex;gap:4px;align-items:center}.message-wrapper-assistant .message-btn-row{justify-content:flex-start;align-self:flex-start;opacity:0;transition:opacity .2s}.message-wrapper-user .message-btn-row{justify-content:flex-end;align-self:flex-end;opacity:0;transition:opacity .2s}.message-wrapper-assistant:hover .message-btn-row,.message-wrapper-assistant:not(:has(~ .message-wrapper-assistant)) .message-btn-row,.message-wrapper-user:hover .message-btn-row{opacity:1}.message-btn-row .message-copy-btn,.message-btn-row .message-edit-btn,.message-btn-row .message-save-prompt-btn,.message-btn-row .message-tts-btn,.message-btn-row .regen-btn{opacity:.5;transition:opacity .15s}.message-btn-row .message-copy-btn.menu-open,.message-btn-row .message-copy-btn:hover,.message-btn-row .message-edit-btn:hover,.message-btn-row .message-save-prompt-btn:hover,.message-btn-row .message-tts-btn.menu-open,.message-btn-row .message-tts-btn:hover,.message-btn-row .regen-btn:hover{opacity:1}.message-gen-time{color:var(--text-secondary);opacity:.5;margin-right:2px;position:relative;cursor:default;display:inline-flex;align-items:center;transition:opacity .15s}.message-gen-time:hover{opacity:1}.message-gen-time[data-tooltip]:hover::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 4px);left:0;background:var(--tooltip-bg);color:var(--tooltip-text);font-size:.65rem;padding:3px 7px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:100}.message-copy-btn,.message-tts-btn{background:0 0;border:none;padding:4px 6px;cursor:pointer;color:var(--text-secondary);line-height:1;transition:color .15s}.message-copy-btn:hover,.message-tts-btn:hover{color:var(--text)}.copy-menu{display:none;position:fixed;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;box-shadow:0 3px 12px rgba(0,0,0,.12);z-index:10000;white-space:nowrap}.copy-menu.open{display:block;animation:fadeIn .1s ease}.copy-menu-item{padding:6px 14px;font-size:.78rem;color:var(--text);cursor:pointer;text-align:left;transition:background .12s}.copy-menu-item:hover{background:var(--bg-hover);color:var(--text)}.message-images{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.message-images img{max-width:400px;max-height:400px;border-radius:8px;object-fit:contain;cursor:pointer}.message-user .message-images img{max-width:200px;max-height:200px;object-fit:cover}.message-image-wrap{position:relative;display:inline-block}.image-download-btn{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.55);border:none;border-radius:6px;padding:5px 7px;cursor:pointer;color:#fff;line-height:1;opacity:0;transition:opacity .15s}.message-image-wrap:hover .image-download-btn{opacity:1}.image-download-btn:hover{background:rgba(0,0,0,.8)}.regen-btn{background:0 0;border:none;padding:4px 6px;cursor:pointer;color:var(--text-secondary);line-height:1;transition:color .15s}.regen-btn:hover{color:var(--text)}.web-search-toggle{background:0 0;border:1px solid var(--border-input);border-radius:6px;cursor:pointer;color:var(--text-secondary);padding:3px 5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.web-search-toggle:hover{color:var(--text);background:var(--bg-hover)}.web-search-toggle.active{color:var(--link);border-color:var(--link);background:rgba(37,99,235,.1)}body.dark .web-search-toggle.active{color:var(--link);border-color:var(--link);background:rgba(96,165,250,.12)}.mic-btn{background:0 0;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);flex-shrink:0;transition:color .15s;display:flex;align-items:center;justify-content:center}.mic-btn:hover{color:var(--text)}.mic-btn.recording{color:var(--danger);animation:pulse-mic 1s ease-in-out infinite}@keyframes pulse-mic{0%,100%{opacity:1}50%{opacity:.4}}.spin{animation:spin 1s linear infinite}.conv-list-loading{display:flex;justify-content:center;align-items:center;padding:20px 0;opacity:.6}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes enhance-shimmer{0%{background-position:200% center}100%{background-position:-200% center}}.prompt-input.enhancing,.sp-modal-textarea-wrap .sp-modal-textarea.enhancing,.sp-modal-textarea.enhancing{background-color:transparent!important;background-image:linear-gradient(90deg,var(--active-cat-color,var(--accent)) 0,#f7a76a 25%,var(--active-cat-color,var(--accent)) 50%,#f7a76a 75%,var(--active-cat-color,var(--accent)) 100%)!important;background-size:200% auto!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;animation:enhance-shimmer 3s linear infinite!important}.message-user{align-self:flex-end;background:var(--bg-msg-user);border-bottom-right-radius:4px}.message-assistant{align-self:flex-start;background:0 0;border-bottom-left-radius:4px;width:100%;max-width:100%;padding:14px 24px}.message-assistant.message-error{background:rgba(200,0,0,.08);border:1px solid rgba(200,0,0,.25)}.message-assistant.message-error .message-text{color:#c00}.message-assistant.streaming{min-height:40px;--_stream-color:var(--active-cat-color, var(--accent));background:linear-gradient(135deg,var(--bg-msg-assistant) 0,color-mix(in srgb,var(--_stream-color) var(--streaming-intensity,16%),var(--bg-msg-assistant)) 50%,var(--bg-msg-assistant) 100%);background-size:300% 300%;animation:streaming-shimmer 1.8s ease-in-out infinite;position:relative;overflow:hidden}.message-assistant.streaming::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--_stream-color,var(--accent)) 8%,transparent) 40%,color-mix(in srgb,var(--_stream-color,var(--accent)) 14%,transparent) 50%,color-mix(in srgb,var(--_stream-color,var(--accent)) 8%,transparent) 60%,transparent 100%);animation:streaming-sweep 2s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes streaming-sweep{0%{left:-100%}100%{left:120%}}.message-assistant.streaming .message-text{position:relative;z-index:2}.router-thinking{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:.875rem;color:var(--text-secondary,#888);animation:router-thinking-in .3s ease-out}.router-thinking-text{font-style:italic}.router-thinking-dots{display:inline-flex;gap:2px}.router-thinking-dots span{animation:router-dot-bounce 1.2s infinite;font-weight:700;color:var(--accent,#6c63ff)}.router-thinking-dots span:first-child{animation-delay:0s}.router-thinking-dots span:nth-child(2){animation-delay:.2s}.router-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes router-dot-bounce{0%,100%,60%{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes router-thinking-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.router-thinking-fade{animation:router-thinking-out .35s ease-in forwards}@keyframes router-thinking-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}.message-assistant.streaming-done{--_stream-color:var(--active-cat-color, var(--accent));background:linear-gradient(135deg,var(--bg-msg-assistant) 0,color-mix(in srgb,var(--_stream-color) var(--streaming-intensity,16%),var(--bg-msg-assistant)) 50%,var(--bg-msg-assistant) 100%);background-size:300% 300%;animation:streaming-fade-out .8s ease-out forwards}@keyframes streaming-shimmer{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes streaming-fade-out{0%{--streaming-intensity:16%}100%{--streaming-intensity:0%}}@property --streaming-intensity{syntax:'<percentage>';initial-value:16%;inherits:false}@keyframes message-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.animate-in{animation:message-appear .25s ease-out}.model-alert{position:relative;z-index:25;margin:8px 32px 0;padding:10px 40px 10px 38px;background:linear-gradient(rgba(59,135,206,.08),rgba(59,135,206,.08)),var(--bg);color:var(--text,#333);border:1px solid rgba(59,135,206,.35);border-left:3px solid #3b87ce;border-radius:8px;font-size:.85rem;line-height:1.4;text-align:left;box-shadow:0 1px 3px rgba(0,0,0,.04);animation:modelAlertSlide .25s ease}.model-alert::before{content:'';position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B87CE' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain}.model-alert-close{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:0 0;border:none;color:inherit;opacity:.55;cursor:pointer;padding:4px;line-height:0;border-radius:4px;transition:opacity .15s ease,background .15s ease}.model-alert-close:hover{opacity:1;background:rgba(59,135,206,.12)}body.dark .model-alert{background:linear-gradient(rgba(59,135,206,.1),rgba(59,135,206,.1)),var(--bg);color:#e8e8e8;border-color:rgba(59,135,206,.4)}@keyframes modelAlertSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-label{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.model-select{font-size:.8rem;font-family:inherit;padding:4px 8px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text);cursor:pointer;outline:0}.model-select:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-sidebar)}.custom-select{position:relative;display:inline-block}.custom-select-trigger{display:flex;align-items:center;font-size:.8rem;font-family:inherit;padding:4px 10px;border:1px solid var(--border-input);border-radius:6px;background:var(--bg-input);color:var(--text);cursor:pointer;outline:0;white-space:nowrap;min-width:90px;user-select:none}.custom-select.open .custom-select-trigger{border-top-left-radius:0;border-top-right-radius:0}.custom-select-dropdown{display:none;position:absolute;bottom:100%;left:0;min-width:220px;max-height:320px;overflow-y:auto;background:var(--bg-input);border:1px solid var(--border-input);border-radius:8px 8px 0 0;box-shadow:0 -4px 16px rgba(0,0,0,.12);z-index:1000;padding:0 0 4px;scrollbar-width:none}.custom-select.open .custom-select-dropdown{display:block;animation:fadeIn .12s ease}.plus-model-tabs{display:flex;gap:4px;margin-bottom:8px}.plus-model-tab{flex:1;padding:4px 0;font-size:.68rem;font-weight:500;font-family:inherit;border:1px solid var(--border-light);border-radius:10px;background:0 0;color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:center}.plus-model-tab:hover{border-color:var(--text-secondary);color:var(--text)}.plus-model-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.plus-model-list{max-height:260px;overflow-y:auto;scrollbar-width:thin}.plus-model-provider{margin-bottom:2px}.plus-model-provider-header{display:flex;align-items:center;gap:7px;padding:5px 4px;cursor:pointer;border-radius:6px;transition:background .1s;user-select:none}.plus-model-provider-header:hover{background:var(--bg-hover)}.plus-model-provider-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}body.dark .plus-model-provider-icon{filter:invert(1) brightness(1.1)}.plus-model-provider-name{flex:1;font-size:.78rem;font-weight:500;color:var(--text)}.plus-model-provider-count{font-size:.6rem;color:var(--text-secondary);opacity:.6}.plus-model-chevron{flex-shrink:0;color:var(--text-secondary);opacity:.5;transition:transform .2s}.plus-model-provider.open .plus-model-chevron{transform:rotate(90deg)}.plus-model-items{display:none;padding:2px 0 2px 27px}.plus-model-provider.open .plus-model-items{display:flex;flex-direction:column;gap:1px}.plus-model-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border:none;border-radius:5px;background:0 0;color:var(--text);font-family:inherit;font-size:.76rem;cursor:pointer;text-align:left;transition:background .1s}.plus-model-item:hover{background:var(--bg-hover)}.plus-model-item.active{background:var(--accent);color:#fff}.plus-model-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plus-model-item-price{font-size:.62rem;color:var(--text-secondary);flex-shrink:0;margin-left:8px}.plus-model-item.active .plus-model-item-price{color:rgba(255,255,255,.7)}.plus-model-empty{font-size:.76rem;color:var(--text-secondary);text-align:center;padding:16px 0;line-height:1.5}.plus-model-empty-link{color:var(--accent);cursor:pointer;text-decoration:underline}.plus-model-empty-link:hover{opacity:.85}.custom-select-tabs{display:flex;border-bottom:1px solid var(--border-input);position:sticky;top:0;z-index:2;background:var(--bg-input);padding:0;margin:0}.custom-select-tab{flex:1;padding:7px 4px;text-align:center;cursor:pointer;font-size:.72rem;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px;user-select:none;white-space:nowrap}.custom-select-tab:hover{color:var(--text);background:var(--bg-hover)}.custom-select-tab.active{color:var(--text);border-bottom-color:var(--active-cat-color,var(--accent));font-weight:600}.custom-select-tab svg{opacity:.6;flex-shrink:0}.custom-select-tab.active svg{opacity:1}.custom-select-provider{padding:0}.custom-select-group{position:sticky;top:0;z-index:1;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:6px 12px;background:var(--bg-sidebar);border-bottom:none;pointer-events:none;user-select:none;display:flex;align-items:center;gap:10px;text-align:center}.custom-select-group::after,.custom-select-group::before{content:'';flex:1;height:2px;background:var(--border-light,rgba(0,0,0,.12))}.custom-select-group-label{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:#282828}.custom-select-group-icon{width:14px;height:14px;object-fit:contain;flex-shrink:0}.custom-select-trigger-icon{width:14px;height:14px;object-fit:contain;flex-shrink:0;margin-right:6px;filter:brightness(0) opacity(.75)}body.dark .custom-select-group-label{color:#fff}body.dark .custom-select-group-icon,body.dark .custom-select-trigger-icon{filter:invert(1) brightness(1.1)}.custom-select-option{display:flex;flex-direction:row;align-items:center;padding:5px 12px;cursor:pointer;transition:background .1s}.custom-select-option:hover{background:var(--bg-hover)}.custom-select-option.active{background:var(--active-cat-color,var(--accent));color:#fff}.custom-select-option.active .custom-select-option-name,.custom-select-option.active .custom-select-option-price{color:#fff}.custom-select-option.active .custom-select-info{color:#fff;border-color:rgba(255,255,255,.6)}.custom-select-option-text{display:flex;flex-direction:column;flex:1;min-width:0}.custom-select-option-name{font-size:.8rem;color:var(--text)}.custom-select-option-price{font-size:.65rem;color:var(--text-secondary)}.custom-select-info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;border-radius:50%;border:1px solid var(--text-secondary);font-size:.55rem;font-weight:700;font-style:italic;font-family:Georgia,serif;color:var(--text-secondary);cursor:default;margin-left:8px;opacity:0;transition:opacity .15s}.custom-select-option:hover .custom-select-info{opacity:1}#custom-select-tooltip{position:fixed;background:var(--tooltip-bg);color:var(--tooltip-text);font-size:.7rem;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.45;padding:8px 11px;border-radius:6px;white-space:pre-line;width:260px;max-width:calc(100vw - 16px);pointer-events:none;opacity:0;transition:opacity .15s;z-index:10001}#custom-select-tooltip.visible{opacity:1}.custom-select-option--empty{font-size:.8rem;color:var(--text-secondary);padding:5px 12px;cursor:pointer}.custom-select-option--empty:hover{background:var(--bg-hover)}.custom-select-empty-message{padding:16px 18px;font-size:.82rem;color:var(--text-secondary);text-align:center;line-height:1.5}.custom-select-empty-link{color:var(--accent,#3b82f6);text-decoration:underline;cursor:pointer}.custom-select-empty-link:hover{opacity:.85}.custom-select.disabled .custom-select-trigger{opacity:.5;cursor:not-allowed;pointer-events:none;background:var(--bg-sidebar)}.custom-select-dropdown::-webkit-scrollbar{display:none}.token-bar{display:flex;justify-content:space-between;padding:6px 32px;font-size:.75rem;color:var(--text-secondary);position:relative;z-index:17;isolation:isolate;background:var(--bg)}.token-bar::before{content:'';position:absolute;top:-40px;left:0;right:0;height:40px;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none;z-index:-1}#cost-info,#token-info{font-variant-numeric:tabular-nums;background:rgba(255,255,255,.85);padding:3px 0;border-radius:12px;backdrop-filter:blur(4px)}body.dark #cost-info,body.dark #token-info{background:rgba(30,30,30,.85)}#attach-preview{display:flex;flex-wrap:wrap;gap:8px;width:100%;max-width:800px}#attach-preview:empty{display:none}.attach-thumb{position:relative;display:inline-block}.attach-thumb img{width:60px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--border-input)}.attach-thumb-remove{position:absolute;top:-6px;right:-6px;background:var(--btn-bg);color:var(--btn-text);border:none;border-radius:50%;width:18px;height:18px;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.input-area{padding:16px 32px 24px;border-top:none;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .15s;position:relative;z-index:18;background:var(--bg);touch-action:manipulation}.plus-menu-dropdown{position:absolute;bottom:calc(100% + 6px);left:32px;width:300px;max-height:480px;overflow-y:auto;background:var(--bg-input);border:1px solid var(--border-input);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.15);z-index:200;padding:4px 0;scrollbar-width:thin;animation:fadeIn .15s ease}.input-area.drag-over{background:rgba(59,130,246,.06);border-top-color:#3b82f6}.input-area.drag-over .input-wrapper{border-color:#3b82f6}.input-row{display:flex;align-items:center;gap:8px;width:100%;max-width:800px}.input-hint{display:block;text-align:center;font-size:.68rem;color:var(--text-secondary);opacity:.7;padding-top:3px;user-select:none;width:100%;max-width:800px;box-sizing:border-box}.input-wrapper{display:flex;flex-direction:row;align-items:stretch;width:100%;border:2px solid var(--border-input);border-radius:24px;padding:8px 12px;transition:border-color .2s;background:var(--bg-input);gap:6px;position:relative}.input-wrapper input,.input-wrapper textarea{font-size:16px}.input-content{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px;position:relative}.input-line-1{display:flex;align-items:center;width:100%}.input-line-2{display:flex;align-items:center;width:100%;justify-content:space-between;min-height:30px;position:relative}.input-line-2{container-type:inline-size}.input-line-2-left{display:flex;align-items:center;gap:2px;flex-shrink:0}.input-line-2-center{display:flex;align-items:center;gap:6px;justify-content:center;flex:1 1 auto;min-width:0;position:relative;pointer-events:auto}.input-line-2-right{display:flex;align-items:center;flex-shrink:0}.input-icon-btn{background:0 0;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s;border-radius:6px}.input-icon-btn:hover{color:var(--text)}.input-icon-btn.active{background:var(--active-cat-color,var(--accent,#3b87ce));color:#fff;border-radius:50%;width:28px;height:28px;min-width:28px;min-height:28px;padding:0}.input-icon-btn.active:hover{background:var(--active-cat-color,var(--accent-dark,#2a6da3));color:#fff;filter:brightness(.9)}#web-search-btn.web-search-locked{cursor:default}#web-search-btn.web-search-locked:hover{background:var(--active-cat-color,var(--accent,#3b87ce));filter:none}#web-search-btn.custom-select-info{opacity:1;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;font-size:inherit;margin-left:0;cursor:pointer}.input-line-2-center .prompt-toolbar-btn{font-size:.72rem;padding:4px 10px;border-radius:16px;transition:opacity .2s ease,transform .15s ease}#toolbar-insert-btn.floating{position:absolute;z-index:120;translate:-50% -100%;margin-top:-10px;background:var(--bg-input,#fff);border-color:var(--active-cat-color,var(--accent));box-shadow:0 2px 10px rgba(0,0,0,.1);transition:left .25s ease,top .25s ease,opacity .2s ease}.mobile-send-btn{background:var(--accent);border:none;border-radius:50%;cursor:pointer;padding:0;color:#fff;width:32px;height:32px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .15s}.mobile-send-btn:hover{background:var(--accent-dark);transform:scale(1.05)}.mobile-send-btn:active{transform:scale(.95)}.mic-btn.stop-mode{background:var(--active-cat-color,var(--accent,#3b87ce));color:#fff;border-radius:50%;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;display:flex;align-items:center;justify-content:center}.mic-btn.stop-mode:hover{background:var(--accent-dark,#2a6da3);color:#fff}.input-wrapper:focus-within{border-color:var(--active-cat-color,var(--accent))}body.dark .input-wrapper:focus-within{border-color:var(--active-cat-color,#3b87ce)}.input-action-buttons{display:flex;gap:6px;align-items:center;justify-content:center;width:100%;max-width:800px;position:relative;padding-top:2px;z-index:100}.input-action-btn{display:inline-flex;align-items:stretch;border:1px solid var(--border-light);border-radius:20px;background:var(--bg);cursor:pointer;font-size:.76rem;font-family:inherit;color:var(--text-secondary);user-select:none;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:all .2s ease;overflow:visible;position:relative;letter-spacing:.01em}.input-action-btn:hover{border-color:var(--text-secondary);color:var(--text);box-shadow:0 2px 6px rgba(0,0,0,.08);transform:translateY(-1px)}.input-action-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.06)}body.dark .input-action-btn{background:var(--bg-input);border-color:var(--border-input)}.input-action-btn.active{color:var(--link);border-color:rgba(37,99,235,.4);background:rgba(37,99,235,.06);box-shadow:0 0 0 1px rgba(37,99,235,.08)}.input-action-btn.active:hover{background:rgba(37,99,235,.12)}body.dark .input-action-btn.active{color:var(--link);border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.08);box-shadow:0 0 0 1px rgba(96,165,250,.08)}body.dark .input-action-btn.active:hover{background:rgba(96,165,250,.15)}.input-action-label{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 10px;white-space:nowrap;font-weight:500}.input-action-label svg{opacity:.7;flex-shrink:0}.input-action-btn.active .input-action-label svg{opacity:1}.input-action-arrow{display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border-left:1px solid var(--border-input);opacity:.4;transition:all .15s ease;border-radius:0 20px 20px 0}.input-action-arrow:hover{opacity:.8;background:rgba(0,0,0,.04)}body.dark .input-action-arrow:hover{background:rgba(255,255,255,.06)}.input-action-btn.active .input-action-arrow{border-left-color:rgba(37,99,235,.2);opacity:.6}body.dark .input-action-btn.active .input-action-arrow{border-left-color:rgba(96,165,250,.2)}.message-text .char-flash{display:inline-block;animation:wordReveal 420ms cubic-bezier(.16,1,.3,1) both;will-change:opacity,transform,filter}@keyframes wordReveal{0%{opacity:0;transform:translateY(4px);filter:blur(3px)}60%{opacity:.85;filter:blur(.5px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}.input-action-btn .custom-select{position:static}.input-action-btn .custom-select .custom-select-trigger{display:none}.input-action-btn .custom-select .custom-select-dropdown{bottom:calc(100% + 4px);top:auto;left:0}#attach-btn{background:0 0;border:none;border-radius:0;cursor:pointer;padding:4px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s;line-height:1}#attach-btn:hover{color:var(--text)}#attach-btn.has-files{background:var(--active-cat-color,var(--accent,#3b87ce));color:#fff;border-radius:50%;width:28px;height:28px;min-width:28px;min-height:28px;padding:0}#attach-btn.has-files:hover{background:var(--active-cat-color,var(--accent-dark,#2a6da3));color:#fff;filter:brightness(.9)}.prompt-toolbar{display:none!important}.prompt-toolbar.visible{display:none!important}.prompt-toolbar-btn{display:inline-flex;align-items:center;gap:5px;background:0 0;border:1px solid var(--border-light,rgba(0,0,0,.1));cursor:pointer;padding:4px 10px;font-size:.7rem;font-family:inherit;font-weight:500;color:var(--text-secondary);border-radius:16px;transition:all .15s ease;white-space:nowrap;box-shadow:none}.prompt-toolbar-btn svg{stroke:currentColor;flex-shrink:0;opacity:.6}.prompt-toolbar-btn:hover{color:var(--active-cat-color,var(--accent));border-color:var(--active-cat-color,var(--accent));background:var(--bg-hover,rgba(0,0,0,.03));transform:none;box-shadow:none}.prompt-toolbar-btn:hover svg{opacity:1}.prompt-toolbar-btn:active{transform:none;box-shadow:none}.prompt-toolbar-btn.revert{background:0 0;border-color:var(--border-light,rgba(0,0,0,.1));color:var(--text-secondary);box-shadow:none}.prompt-toolbar-btn.revert svg{stroke:currentColor}.prompt-toolbar-btn.revert:hover{color:var(--text);border-color:var(--text-secondary);background:var(--bg-hover,rgba(0,0,0,.03));box-shadow:none}.prompt-toolbar-btn svg.spin{animation:spin 1s linear infinite}@container (max-width:360px){.prompt-toolbar-btn:not(.floating) .btn-label{display:none}.prompt-toolbar-btn:not(.floating){padding:4px 6px;gap:0}}.prompt-picker-dropdown-wrapper{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--bg-input);border:1px solid var(--border-input);border-radius:10px;max-height:220px;overflow:hidden;box-shadow:0 -4px 16px rgba(0,0,0,.12);z-index:100}.prompt-picker-dropdown{max-height:220px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.prompt-picker-item{padding:8px 14px;font-size:.85rem;cursor:pointer;color:var(--text);transition:background .1s;border-bottom:1px solid var(--border-light)}.prompt-picker-item:last-child{border-bottom:none}.prompt-picker-item:hover{background:var(--bg-hover)}.prompt-picker-item-name{font-weight:500}.prompt-picker-item-preview{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.prompt-picker-empty{padding:12px 14px;font-size:.8rem;color:var(--text-secondary);text-align:center}.message-edit-btn,.message-save-prompt-btn{background:0 0;border:none;padding:4px 6px;cursor:pointer;color:var(--text-secondary);line-height:1;transition:color .15s}.message-edit-btn:hover,.message-save-prompt-btn:hover{color:var(--text)}.message-edit-textarea{width:100%;padding:8px 10px;border:1.5px solid var(--border-input);border-radius:10px;background:var(--bg-input);color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.5;resize:both;outline:0;transition:border-color .15s;box-sizing:border-box}.message-edit-textarea:focus{border-color:var(--accent)}.message-edit-actions{display:flex;gap:6px;align-items:center;margin-top:4px}.message-edit-cancel,.message-edit-confirm{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;font-size:.72rem;font-family:inherit;font-weight:500;cursor:pointer;border:1px solid var(--border-light,rgba(0,0,0,.1));transition:all .15s}.message-edit-confirm{background:var(--accent);color:#fff;border-color:var(--accent)}.message-edit-confirm:hover{background:var(--accent-dark)}.message-edit-cancel{background:0 0;color:var(--text-secondary)}.message-edit-cancel:hover{color:var(--text);border-color:var(--text-secondary)}.prompt-input{flex:1;min-width:0;border:none;outline:0;font-size:16px;font-family:inherit;resize:none;min-height:36px;max-height:300px;line-height:1.5;padding:4px 0;background:0 0;align-self:center;color:var(--text)}@media (max-width:768px){.prompt-input{font-size:15px}}.send-btn{background:var(--btn-bg);color:var(--btn-text);border:none;border-radius:50%;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;cursor:pointer;transition:opacity .15s,transform .15s,background .15s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.send-btn:disabled{opacity:.25;cursor:not-allowed}.send-btn:not(:disabled):hover{opacity:.85}.send-btn:not(:disabled):active{transform:scale(.92)}.export-btns-group{position:absolute;bottom:100%;left:32px;z-index:1;display:flex;flex-direction:row;gap:6px;pointer-events:none}.export-action-btn{pointer-events:auto;flex-shrink:0;background:var(--bg-sidebar);border:1px solid var(--border-input);border-radius:8px;padding:6px 8px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s;opacity:.9}.export-action-btn:hover{color:var(--text);background:var(--bg-hover);opacity:1}.share-btn-wrapper{pointer-events:auto}.share-menu{display:none;position:absolute;bottom:calc(100% + 4px);left:0;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;box-shadow:0 3px 12px rgba(0,0,0,.12);z-index:10000;white-space:nowrap}.share-menu.open{display:block;animation:fadeIn .1s ease}.share-menu-item{padding:6px 14px;font-size:.78rem;color:var(--text);cursor:pointer;text-align:left;transition:background .12s}.share-menu-item:first-child{border-radius:6px 6px 0 0}.share-menu-item:last-child{border-radius:0 0 6px 6px}.share-menu-item:hover{background:var(--bg-hover);color:var(--text)}.chat-container::-webkit-scrollbar{width:4px}.sp-section{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.sp-header{display:flex;align-items:center;gap:4px;margin-bottom:4px;cursor:pointer}.sp-header .sp-add-btn:first-of-type{margin-left:auto}.sp-toggle{font-size:1rem;color:var(--text-secondary);display:inline-block;transition:transform .2s;user-select:none;width:14px;text-align:center;line-height:1}.sp-collapsible{overflow:hidden;transition:max-height .25s ease,opacity .2s ease;max-height:2000px;opacity:1}.sp-collapsible.collapsed{max-height:0;opacity:0}.sp-title{font-size:.8rem;font-weight:600;color:var(--sp-title-color);text-transform:uppercase;letter-spacing:.03em}.sp-add-btn{background:0 0;border:1px solid var(--scrollbar-thumb);border-radius:4px;width:24px;height:24px;font-size:1rem;line-height:1;cursor:pointer;color:var(--sp-title-color);display:flex;align-items:center;justify-content:center}.sp-add-btn:hover{background:var(--bg-hover);color:var(--text)}.sp-list{display:flex;flex-direction:column;gap:2px}.sp-item{display:flex;align-items:center;padding:6px 10px;border-radius:6px;font-size:.82rem;cursor:default;color:var(--text)}.sp-item:hover{background:var(--bg-hover)}.sp-item-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-item-actions{display:flex;gap:2px;flex-shrink:0;visibility:hidden}.sp-item:hover .sp-item-actions{visibility:visible}.sp-item-btn{background:0 0;border:none;cursor:pointer;font-size:.85rem;padding:2px 5px;border-radius:4px;color:var(--text-secondary);line-height:1}.sp-item-btn:hover{color:var(--text);background:var(--bg-hover)}.sp-item-btn.delete:hover{color:var(--danger);background:var(--danger-light)}.budget-alert-overlay,.custom-dialog-overlay,.sp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;isolation:isolate;will-change:backdrop-filter}.budget-alert-overlay{z-index:9999;animation:budgetFadeIn .2s ease}.custom-dialog-overlay{z-index:10000}.sp-modal{background:var(--bg-input);border:1px solid var(--border-input);border-radius:16px;padding:28px;width:480px;max-width:90vw;max-height:80vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px;box-shadow:0 4px 12px rgba(0,0,0,.08),0 16px 40px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.04);color:var(--text);animation:sp-modal-appear .2s ease-out}@keyframes sp-modal-appear{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.sp-modal h3{font-size:1.15rem;font-weight:600;margin:0;letter-spacing:-.01em}.sp-modal-label{font-size:.8rem;font-weight:500;color:var(--sp-title-color)}.sp-modal-input{font-family:inherit;font-size:.9rem;padding:10px 14px;border:1px solid var(--border-input);border-radius:10px;outline:0;background:var(--bg);color:var(--text);transition:border-color .2s,box-shadow .2s}.sp-modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.sp-modal-textarea{font-family:inherit;font-size:.9rem;padding:10px 14px;border:1px solid var(--border-input);border-radius:10px;outline:0;resize:vertical;min-height:120px;width:100%;background:var(--bg);color:var(--text);transition:border-color .2s,box-shadow .2s}.sp-modal-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.sp-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.sp-modal-btn{font-family:inherit;font-size:.85rem;padding:9px 20px;border-radius:10px;cursor:pointer;border:none;transition:background .15s,color .15s,transform .15s,box-shadow .15s}.sp-modal-btn:hover{transform:translateY(-1px)}.sp-modal-btn:active{transform:translateY(0)}.sp-modal-btn-cancel{background:var(--bg-sidebar);color:var(--sp-title-color);border:1px solid var(--border-input)}.sp-modal-btn-cancel:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.sp-modal-btn-save{background:var(--btn-bg);color:var(--btn-text)}.sp-modal-btn-save:hover{opacity:.9;box-shadow:0 2px 8px rgba(0,0,0,.15)}.sp-modal-btn-enhance{background:0 0;border:1px solid var(--accent);color:var(--accent);display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s}.sp-modal-btn-enhance:hover{background:var(--accent);color:#fff}.sp-modal-btn-enhance:disabled{opacity:.5;cursor:not-allowed}.sp-modal-spacer{flex:1}.sp-modal-textarea-wrap{position:relative;width:100%;border:1px solid var(--border-input);border-radius:10px;background:var(--bg);transition:border-color .2s,box-shadow .2s}.sp-modal-textarea-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.sp-modal-textarea-wrap .sp-modal-textarea{width:100%;border:none;border-radius:10px 10px 0 0;padding-bottom:4px;background:0 0;resize:none;overflow-y:auto;max-height:45vh}.sp-modal-textarea-wrap .sp-modal-textarea:focus{border-color:transparent;box-shadow:none}.sp-modal-enhance-inside{display:flex;align-items:center;gap:4px;margin:0 6px 6px auto;width:fit-content;font-family:inherit;font-size:.72rem;padding:5px 12px;border-radius:8px;border:none;background:0 0;color:var(--accent);cursor:pointer;transition:background .15s,color .15s,transform .15s;opacity:.7}.sp-modal-enhance-inside:hover{background:var(--accent-light);opacity:1;transform:translateY(-1px)}.sp-modal-enhance-inside:disabled{opacity:.35;cursor:not-allowed}.apikey-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:-8px}.apikey-label-row .sp-modal-label{margin:0}.apikey-label-row .apikey-get-link{margin-left:auto}.apikey-field{display:flex;align-items:center;gap:6px}.apikey-input-wrap{position:relative;flex:1;min-width:0;display:flex;align-items:stretch}.apikey-input{flex:1;min-width:0;width:100%;padding-right:44px}.apikey-intro{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:0 0 20px 0}.apikeys-panel>h3+.apikey-intro{background:var(--bg-sidebar);margin:0;padding:4px 56px 14px 24px;border-bottom:1px solid var(--border-input);font-size:.76rem;line-height:1.3;flex-shrink:0}.apikey-get-link{font-family:inherit;font-size:.75rem;color:var(--accent);text-decoration:none;white-space:nowrap;transition:color .15s}.apikey-get-link:hover{color:var(--accent-dark);text-decoration:underline}.apikey-eye-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:0 0;color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:color .15s,background .15s}.apikey-eye-btn:hover{color:var(--text);background:var(--bg-hover)}.apikey-eye-btn .apikey-eye-hide{display:none}.apikey-eye-btn.shown .apikey-eye-show{display:none}.apikey-eye-btn.shown .apikey-eye-hide{display:block}.apikey-separator{border:none;border-top:1px solid var(--border);margin:14px 0 10px}.apikey-local-hint{font-weight:400;font-size:.8rem;color:var(--text-secondary);display:inline-block;margin-bottom:0}.apikey-local-update-btn{flex-shrink:0;font-family:inherit;font-size:.78rem;font-weight:500;padding:10px 14px;border-radius:10px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;align-self:stretch}.apikey-local-update-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.apikey-local-status{font-size:.75rem;margin:0}.apikey-local-status:empty{display:none}.apikey-local-status.success{color:#22c55e}.apikey-local-status.error{color:#ef4444}.apikey-local-status.warning{color:#f59e0b}.apikey-local-status.warning .apikey-local-status-msg{display:block;margin-bottom:6px}.apikey-local-status.warning .apikey-local-status-success-line{color:#22c55e}.apikey-local-help-img{display:block;max-width:100%;max-height:220px;margin-top:4px;border:1px solid #e5e7eb;border-radius:6px;cursor:zoom-in;transition:transform .15s}.apikey-local-help-img.apikey-local-help-img-small{max-width:160px;max-height:110px}.apikey-local-help-img:hover{transform:scale(1.02)}.apikey-local-help-img-caption{margin:8px 0 4px;font-size:.78rem;color:#6b7280}.apikey-local-help.apikey-local-help-flat{background:0 0;border:none;padding:0;color:#6b7280}.apikey-local-help.apikey-local-help-flat>.apikey-local-help-body{margin-top:0}.apikey-local-help.apikey-local-help-flat .apikey-local-help-body strong{color:#6b7280}.apikey-local-help.apikey-local-help-flat .apikey-local-help-body code{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}.apikey-local-status .apikey-local-status-msg{display:block;font-weight:500}.apikey-local-help{margin-top:8px;padding:10px 12px;background:var(--bg-hover);border:1px solid var(--border-input);border-radius:8px;color:var(--text);font-size:.78rem;font-weight:400;line-height:1.5}.apikey-local-help>summary{cursor:pointer;color:var(--text-secondary);font-weight:500;list-style:none;user-select:none}.apikey-local-help>summary::-webkit-details-marker{display:none}.apikey-local-help>summary::before{content:'▸ ';display:inline-block;transition:transform .15s}.apikey-local-help[open]>summary::before{content:'▾ '}.apikey-local-help-body{margin-top:8px}.apikey-local-help-body p{margin:6px 0}.apikey-local-help-body ol,.apikey-local-help-body ul{margin:6px 0 6px 20px;padding:0}.apikey-local-help-body ul{list-style:disc}.apikey-local-help-body li{margin:4px 0}.apikey-local-help-body code{background:var(--bg-input);border:1px solid var(--border-input);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;color:var(--text);white-space:nowrap}.apikey-local-help-body strong{color:var(--text)}.models-save-row{flex-shrink:0;margin:0 24px 12px;display:none;justify-content:flex-end;align-items:center;gap:10px;padding:10px 14px;background:var(--bg);border:1px solid var(--border-input);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.08);opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,display .2s allow-discrete}.models-save-row:has(.models-save-btn--dirty),.models-save-row:has(.models-save-btn--saved),.models-save-row:has(.models-save-btn--saved-exit){display:flex;opacity:1;transform:translateY(0);transform:translateY(8px)}.models-cancel-btn:hover{background:var(--bg-hover);color:var(--text)}.models-save-btn{font-family:inherit;font-size:.82rem;font-weight:600;padding:9px 14px;border-radius:10px;border:1px solid var(--border,rgba(128,128,128,.3));background:0 0;color:var(--text-muted,#888);cursor:not-allowed;transition:all .18s;opacity:.5;min-width:140px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.models-save-btn--dirty{border-color:var(--accent);background:var(--accent);color:#fff;cursor:pointer;opacity:1}.models-save-btn--dirty:hover{background:var(--accent-dark,var(--accent));border-color:var(--accent-dark,var(--accent))}.models-save-btn--saved,.models-save-btn--saved-exit{color:#fff!important;opacity:1!important;cursor:default;transition:background .3s ease,border-color .3s ease,color .3s ease}.models-save-btn--saved{border-color:#22c55e!important;background:#22c55e!important;animation:models-save-saved-in .22s ease-out}.models-save-btn--saved-exit{border-color:var(--border,rgba(128,128,128,.3))!important;background:0 0!important;color:var(--text-muted,#888)!important}@keyframes models-save-saved-in{from{transform:scale(.96);opacity:.7}to{transform:scale(1);opacity:1}}.models-save-btn--saved .models-save-label{display:inline-block}.models-save-check{display:inline-block;flex-shrink:0;overflow:visible;stroke-dasharray:24;stroke-dashoffset:24;width:14px;margin-left:8px;opacity:1;transition:width .3s cubic-bezier(.4, 0, .2, 1),margin-left .3s cubic-bezier(.4, 0, .2, 1),opacity .3s cubic-bezier(.4, 0, .2, 1)}.models-save-btn--saved .models-save-check{animation:models-save-check-grow .3s cubic-bezier(.4,0,.2,1) forwards,models-save-check-draw .4s cubic-bezier(.4,0,.2,1) .18s forwards}.models-save-btn--saved-exit .models-save-check{width:0;margin-left:0;opacity:0;stroke-dashoffset:0}.models-save-btn--saved-exit .models-save-label{animation:models-save-label-slide-right .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes models-save-label-slide-right{from{transform:translateX(-11px)}to{transform:translateX(0)}}@keyframes models-save-check-grow{from{width:0;margin-left:0;opacity:0}to{width:14px;margin-left:8px;opacity:1}}@keyframes models-save-check-draw{to{stroke-dashoffset:0}}.apikeys-modal{flex-direction:row!important;padding:0!important;width:840px!important;height:640px!important;gap:0!important;overflow:hidden!important}.apikeys-close-btn{position:sticky;top:10px;align-self:flex-end;margin:10px 14px -46px auto;z-index:30;background:var(--bg-sidebar);border:none;color:var(--text-secondary);font-size:1.6rem;line-height:1;cursor:pointer;padding:4px 10px;border-radius:8px;transition:color .15s,background .15s}.apikeys-close-btn:hover{color:var(--text);background:var(--bg-hover)}.apikeys-tabs{display:flex;flex-direction:column;gap:2px;padding:20px 12px;border-right:1px solid var(--border-input);width:150px;flex-shrink:0;background:var(--bg-sidebar);border-radius:12px 0 0 12px}.apikeys-tab{background:0 0;border:none;text-align:left;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:.82rem;color:var(--text-secondary);font-family:inherit;transition:background .12s,color .12s}.apikeys-tab:hover{background:var(--bg-hover);color:var(--text)}.apikeys-tab.active{background:var(--accent);color:#fff;font-weight:600}.apikeys-tab.active:hover{background:var(--accent);color:#fff}.apikeys-tab-content{flex:1;display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0;min-width:0;position:relative}.apikeys-global-save-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid var(--border-input);background:var(--bg-sidebar);flex-shrink:0;margin-top:auto}.apikeys-global-save-hint{font-size:.75rem;color:var(--text-secondary,#6b7280);flex:1}.apikeys-panel{display:none;flex-direction:column;flex:1;min-height:0;padding:0}.apikeys-panel.active{display:flex}.apikeys-panel>h3{flex-shrink:0;background:var(--bg-sidebar);margin:0;padding:18px 56px 14px 24px;border-bottom:1px solid var(--border-input)}.apikeys-panel-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:20px 24px 12px}.apikeys-panel:has(.apikey-intro)>h3{height:38px;box-sizing:border-box;margin-bottom:0;padding:14px 56px 0 24px;border-bottom:none;line-height:1.2}.apikeys-tabs-spacer{flex:1;min-height:12px;margin:4px 8px 4px 8px}.providers-tabs{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:2px;background:var(--bg-hover);border-radius:10px;padding:3px;margin-bottom:14px;flex-shrink:0}.provider-tab{flex:0 0 auto;display:inline-grid;grid-template-columns:auto 0fr;align-items:center;gap:0;padding:6px 8px;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:grid-template-columns .28s cubic-bezier(.4, 0, .2, 1),gap .28s cubic-bezier(.4, 0, .2, 1),padding .28s cubic-bezier(.4, 0, .2, 1),background .22s ease,color .22s ease,box-shadow .22s ease;overflow:hidden}.provider-tab:hover{color:var(--text);background:var(--bg)}.provider-tab.active{grid-template-columns:auto 1fr;gap:6px;padding:6px 12px;background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.1)}.provider-tab-icon{width:18px;height:18px;display:block;flex-shrink:0;object-fit:contain}body.dark .provider-tab-icon{filter:invert(1) brightness(1.1)}.provider-tab-label{min-width:0;white-space:nowrap;overflow:hidden;opacity:0;transform:translateX(-4px);transition:opacity .22s ease,transform .28s cubic-bezier(.4, 0, .2, 1)}.provider-tab.active .provider-tab-label{opacity:1;transform:translateX(0);transition:opacity .28s ease 80ms,transform .28s cubic-bezier(.4, 0, .2, 1) 40ms}.provider-content{display:flex;flex-direction:column;flex:1;min-height:0}.provider-section{display:none;flex-direction:column;gap:14px}.provider-section>.provider-catalog-list{margin-top:12px}.provider-section.active{display:flex;animation:provider-section-fade .22s ease-out}@keyframes provider-section-fade{from{opacity:0}to{opacity:1}}.provider-models-header{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:4px 0}.provider-models-title{font-size:.85rem;font-weight:600;color:var(--text)}.provider-models-empty{font-size:.78rem;color:var(--text-secondary);padding:14px 8px;text-align:center;border:1px dashed var(--border);border-radius:8px}.faq-tabs{display:flex;background:var(--bg-hover);border-radius:10px;padding:3px;margin-bottom:14px}.faq-tab{flex:1;padding:6px 18px;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.faq-tab:hover{color:var(--text)}.faq-tab.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.1)}.faq-container{display:flex;flex-direction:column;gap:8px}.faq-item{border:1px solid var(--border-input);border-radius:10px;overflow:hidden;background:var(--bg)}.faq-question{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;border:none;background:0 0;color:var(--text);font-family:inherit;font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s}.faq-question:hover{background:var(--bg-hover)}.faq-question-arrow{flex-shrink:0;font-size:.7rem;color:var(--text-secondary);transition:transform .2s}.faq-item.open .faq-question-arrow{transform:rotate(90deg)}.faq-answer{display:none;padding:0 14px 14px;font-size:.82rem;line-height:1.6;color:var(--text-secondary)}.faq-answer ol,.faq-answer ul{margin:6px 0;padding-left:20px}.faq-answer li{margin-bottom:3px}.faq-answer a{color:var(--accent);text-decoration:none}.faq-answer a:hover{text-decoration:underline}.faq-answer code{background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px;font-size:.8rem}body.dark .faq-answer code{background:rgba(255,255,255,.08)}.faq-item.open .faq-answer{display:block}.share-panel-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:10px 0}.share-panel-icon{width:56px;height:56px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center}.share-panel-text{font-size:.84rem;line-height:1.6;color:var(--text-secondary);margin:0;max-width:400px}.share-panel-link-box{display:flex;gap:8px;width:100%;max-width:400px;margin-top:4px}.share-link-input{flex:1;font-family:inherit;font-size:.82rem;padding:8px 12px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg);color:var(--text);outline:0;min-width:0}.share-copy-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:filter .15s}.share-copy-btn:hover{filter:brightness(1.1)}.theme-toggle{display:flex;background:var(--bg-hover);border-radius:10px;padding:3px}.theme-toggle-btn{flex:1;padding:6px 24px;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.theme-toggle-btn:hover{color:var(--text)}.theme-toggle-btn.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.1)}.audio-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.audio-setting-label{font-size:.82rem;color:var(--text);white-space:nowrap;flex:0 0 190px}.audio-setting-select{flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;color:var(--text);font-size:.8rem;padding:5px 26px 5px 8px;cursor:pointer;text-overflow:ellipsis}.audio-setting-select:focus,.budget-field:focus,.storage-sort-select:focus{outline:0;border-color:var(--accent)}#panel-models .audio-setting-row{justify-content:flex-start}#panel-models .audio-setting-label{flex:1 1 auto;min-width:0}#panel-models .audio-setting-select{flex:0 0 280px}.audio-setting-icon{flex:0 0 18px;width:18px;height:18px;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.audio-setting-icon svg{width:18px;height:18px}.local-fallback-box{margin-top:10px;padding:10px 12px;border:none;border-radius:8px;background:var(--bg-hover)}.local-fallback-box .audio-setting-row{margin-bottom:0}.models-error{margin-top:8px;padding:8px 10px;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:var(--danger-dark);font-size:.8rem;line-height:1.4}body.dark .models-error{background:#3b1111;border-color:#7f1d1d;color:#fca5a5}.budget-toggle{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.budget-toggle input{opacity:0;width:0;height:0}.budget-toggle-slider{position:absolute;inset:0;background:var(--border-input);border-radius:22px;transition:background .2s}.budget-toggle-slider::before{content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.budget-toggle input:checked+.budget-toggle-slider{background:var(--accent)}.budget-toggle input:checked+.budget-toggle-slider::before{transform:translateX(18px)}.budget-field{width:120px;flex:0 0 120px}.budget-amount-wrapper{position:relative;display:inline-flex;align-items:center}.budget-amount-prefix{position:absolute;left:8px;font-size:.82rem;color:var(--text-secondary);pointer-events:none}.budget-amount-wrapper .budget-field{padding-left:18px}.budget-amount-suffix{font-size:.82rem;color:var(--text-secondary);white-space:nowrap;margin-left:4px}.budget-help-note{margin-top:14px;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.budget-preview-label{font-size:.78rem;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.budget-preview{margin-top:12px}.budget-progress-bar{width:100%;height:10px;background:var(--border-input);border-radius:5px;overflow:hidden}.budget-progress-fill{height:100%;border-radius:5px;transition:width .3s ease,background .3s ease;min-width:0}.budget-progress-text{margin-top:6px;font-size:.8rem;color:var(--text-secondary);text-align:center}@keyframes budgetFadeIn{from{opacity:0}to{opacity:1}}.no-model-alert-link{color:var(--accent,#3b82f6);text-decoration:underline;cursor:pointer}.no-model-alert-link:hover{opacity:.85}@keyframes configFieldHighlight{0%{background-color:rgba(255,200,0,.35)}100%{background-color:transparent}}.config-field-highlight{animation:configFieldHighlight 2.2s ease-out;border-radius:8px}@keyframes budgetPopIn{from{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.budget-alert-popup{background:var(--bg-input);border:1px solid var(--border-input);border-radius:16px;padding:32px 36px 24px;max-width:380px;width:90%;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.08),0 16px 40px rgba(0,0,0,.16);animation:budgetPopIn .25s ease;color:var(--text)}body.dark .budget-alert-popup{box-shadow:0 4px 12px rgba(0,0,0,.2),0 16px 40px rgba(0,0,0,.4)}.budget-alert-icon{font-size:2.4rem;margin-bottom:12px}.budget-alert-text{color:var(--text);font-size:.95rem;line-height:1.5;margin-bottom:20px}.budget-alert-close{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:9px 24px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.budget-alert-close:hover{opacity:.9;transform:translateY(-1px)}.quota-card{background:var(--bg-input);border:1px solid var(--border-input);border-radius:12px;margin-bottom:12px;overflow:hidden;transition:border-color .2s}.quota-card--loading{opacity:.7}.quota-card--low{border-color:var(--danger,#ef4444);box-shadow:0 0 0 1px var(--danger,#ef4444)}.quota-card--unavailable{opacity:.65}.quota-card-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-input);background:var(--bg-sidebar)}.quota-provider-icon{width:18px;height:18px;flex-shrink:0;object-fit:contain}.quota-provider-icon-fallback{font-size:1rem}.quota-provider-name{font-weight:600;font-size:.88rem;flex:1;color:var(--text,#1a1a1a)}.quota-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background .3s}.quota-updated{font-size:.72rem;color:var(--text-secondary,#6b7280);white-space:nowrap}.quota-unavailable-badge{font-size:.68rem;padding:1px 8px;border-radius:10px;background:var(--border-input,#e5e7eb);color:var(--text-secondary,#6b7280);font-weight:500;white-space:nowrap}.quota-card-body{padding:12px 14px 14px}.quota-stats{display:flex;gap:16px;margin-bottom:10px}.quota-stat{display:flex;flex-direction:column;gap:2px}.quota-stat-label{font-size:.72rem;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em}.quota-stat-value{font-size:1rem;font-weight:600;color:var(--text,#1a1a1a)}.quota-credits{font-size:1.15rem;font-weight:700}.quota-progress-bar{width:100%;height:8px;background:var(--border-input,#e5e7eb);border-radius:4px;overflow:hidden;margin-bottom:4px}.quota-progress-fill{height:100%;border-radius:4px;transition:width .4s ease,background .4s ease;min-width:0}.quota-progress-text{font-size:.75rem;color:var(--text-secondary,#6b7280);text-align:center;margin:0}.quota-error{display:flex;align-items:center;gap:6px;padding:8px 0}.quota-error-icon{font-size:1rem;flex-shrink:0}.quota-error-text{font-size:.82rem;color:var(--danger,#ef4444)}.quota-loading{color:var(--text-secondary,#6b7280);font-size:.82rem;text-align:center;padding:8px 0}.quota-card-footer{padding:8px 14px;border-top:1px solid var(--border-input);background:var(--bg-sidebar)}.quota-footer-grid{display:flex;flex-direction:column;gap:6px}.quota-topup-input{width:64px;padding:3px 6px;border:1px solid var(--border-input,#e5e7eb);border-radius:6px;font-size:.82rem;text-align:center;background:var(--bg-input,#fff);color:var(--text,#1a1a1a);font-family:inherit;transition:border-color .15s}.quota-topup-input:focus{border-color:var(--accent,#2196f3);outline:0;box-shadow:0 0 0 2px rgba(33,150,243,.15)}.quota-topup-hint{font-size:.7rem;color:var(--accent,#2196f3);font-style:italic;padding-left:2px}.quota-alert-row{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-secondary,#6b7280);cursor:pointer}.quota-alert-toggle{accent-color:var(--accent,#2196F3);cursor:pointer}.quota-alert-label{white-space:nowrap}.quota-alert-threshold{width:56px;padding:3px 6px;border:1px solid var(--border-input,#e5e7eb);border-radius:6px;font-size:.82rem;text-align:center;background:var(--bg-input,#fff);color:var(--text,#1a1a1a);font-family:inherit;transition:border-color .15s}.quota-alert-threshold:focus{border-color:var(--accent,#2196f3);outline:0;box-shadow:0 0 0 2px rgba(33,150,243,.15)}.quota-unavailable-text{font-size:.82rem;color:var(--text-secondary,#6b7280);line-height:1.4;margin:0 0 8px 0}.quota-dashboard-link{display:inline-block;color:var(--accent,#2196f3);font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity .15s}.quota-dashboard-link:hover{opacity:.8;text-decoration:underline}.quotas-global-alert{background:rgba(239,68,68,.08);border:1px solid var(--danger,#ef4444);border-radius:8px;padding:10px 14px;margin-top:8px;font-size:.82rem;color:var(--danger,#ef4444);line-height:1.4}.quotas-global-alert a{color:var(--danger,#ef4444);font-weight:600;text-decoration:underline;cursor:pointer}.quota-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--bg-input,#1e293b);color:var(--text,#f8fafc);padding:10px 20px;border-radius:10px;font-size:.85rem;font-weight:500;z-index:10000;box-shadow:0 4px 16px rgba(0,0,0,.2);border:1px solid var(--danger,#ef4444);animation:quotaToastIn .25s ease;max-width:480px;text-align:center;pointer-events:none}@keyframes quotaToastIn{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}body.dark .quota-toast{background:#1e293b;color:#f8fafc;border-color:#ef4444}.custom-dialog{background:var(--bg-input);border:1px solid var(--border-input);border-radius:16px;padding:32px 36px 24px;max-width:420px;width:90%;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.08),0 16px 40px rgba(0,0,0,.16);animation:sp-modal-appear .2s ease-out;color:var(--text)}.custom-dialog-icon{font-size:2.2rem;margin-bottom:12px;color:var(--text-secondary);line-height:1;display:flex;justify-content:center}.custom-dialog-icon svg{width:36px;height:36px}.custom-dialog-message{font-size:.95rem;line-height:1.6;margin-bottom:24px;color:var(--text);white-space:pre-line;text-align:center}.custom-dialog-checkbox{margin-bottom:18px;text-align:center}.custom-dialog-checkbox label{font-size:.82rem;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.custom-dialog-checkbox input[type=checkbox]{cursor:pointer}.error-alert-header{text-align:center;margin-bottom:12px}.error-alert-body{text-align:left;margin-bottom:12px;padding:10px 14px;background:var(--bg-sidebar);border-radius:10px}.error-raw-details{margin-top:4px;font-size:.82rem;text-align:center}.error-raw-details summary{cursor:pointer;color:var(--placeholder);user-select:none;list-style:none}.error-raw-details summary::-webkit-details-marker{display:none}.error-raw-pre{margin-top:8px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.78rem;line-height:1.4;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto;text-align:left}.custom-dialog-actions{display:flex;gap:10px;justify-content:center}.custom-dialog-btn{font-family:inherit;font-size:.85rem;padding:9px 24px;border-radius:10px;cursor:pointer;border:none;transition:background .15s,color .15s,transform .15s,box-shadow .15s}.custom-dialog-btn:hover{transform:translateY(-1px)}.custom-dialog-btn:active{transform:translateY(0)}.custom-dialog-btn-cancel{background:var(--bg-sidebar);color:var(--sp-title-color);border:1px solid var(--border-input)}.custom-dialog-btn-cancel:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.custom-dialog-btn-ok{background:var(--btn-bg);color:var(--btn-text)}.custom-dialog-btn-ok:hover{opacity:.9;box-shadow:0 2px 8px rgba(0,0,0,.15)}.custom-dialog-btn-ok.danger{background:var(--danger);color:#fff}.custom-dialog-btn-ok.danger:hover{background:var(--danger-dark)}.dashboard-tabs{display:flex;background:var(--bg-hover);border-radius:10px;padding:3px;margin-bottom:14px}.dashboard-tab{flex:1;padding:6px 18px;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.dashboard-tab:hover{color:var(--text)}.dashboard-tab.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.1)}.dashboard-content{overflow-y:auto;flex:1;min-height:0}.dashboard-table{width:100%;border-collapse:collapse;font-size:.82rem}.dashboard-table td,.dashboard-table th{padding:7px 10px;text-align:left;border-bottom:1px solid var(--border-light)}.dashboard-table th{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;background:var(--bg-input)}.dashboard-table td{color:var(--text)}.dashboard-table td.num{text-align:right;font-variant-numeric:tabular-nums}.dashboard-table th.num{text-align:right}.dashboard-table tbody tr:hover{background:var(--bg-hover)}.dashboard-empty{text-align:center;color:var(--text-secondary);padding:32px 0;font-size:.85rem}.dashboard-content::-webkit-scrollbar{width:4px}.attach-file-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-hover);border:1px solid var(--border-input);border-radius:8px;font-size:.8rem;color:var(--text);max-width:200px}.attach-file-chip-icon{flex-shrink:0}.attach-file-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.attach-file-chip-remove{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:0 2px;flex-shrink:0;line-height:1;transition:color .15s}.attach-file-chip-remove:hover{color:var(--danger)}.attach-file-chip-loading{opacity:.85;border-style:dashed}.attach-file-chip-spinner{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);margin-right:4px}.message-file-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg-hover);border:1px solid var(--border-input);border-radius:6px;font-size:.8rem;color:var(--text);cursor:pointer;text-decoration:none;transition:background .15s;margin:4px 4px 4px 0}.message-file-chip:hover{background:var(--bg-active)}.message-file-chip{position:relative}.message-file-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.message-file-chip-dl{position:absolute;right:0;top:0;bottom:0;width:28px;display:none;align-items:center;justify-content:center;background:var(--bg-active);border:none;border-radius:0 6px 6px 0;color:var(--text);cursor:pointer;transition:color .15s}.message-file-chip:hover .message-file-chip-dl{display:flex}.message-file-chip-dl:hover{color:var(--accent)}.message-files{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.dashboard-chart{padding:16px 0}.dashboard-chart-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}.dashboard-bar-chart{display:flex;flex-direction:column;gap:6px}.dashboard-bar-row{display:flex;align-items:center;gap:8px;font-size:.8rem}.dashboard-bar-label{width:120px;min-width:120px;text-align:right;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-bar-track{flex:1;height:20px;background:var(--bg-hover);border-radius:4px;overflow:hidden;position:relative}.dashboard-bar-fill{height:100%;border-radius:4px;transition:width .3s ease;min-width:2px}.dashboard-bar-value{width:70px;min-width:70px;font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.dashboard-charts-row{display:flex;gap:24px}.dashboard-charts-row .dashboard-chart{flex:1;min-width:0}.dashboard-separator{border:none;border-top:1px solid var(--border-light);margin:8px 0}.cat-color-grid{display:grid;grid-template-columns:repeat(11,1fr);gap:8px;margin-top:4px;justify-items:center}.cat-color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;position:relative;transition:transform .15s,border-color .15s;padding:0;outline:0}.cat-color-swatch:hover{transform:scale(1.15);border-color:var(--text-secondary)}.cat-color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--text)}.cat-color-swatch.selected::after{content:'\2713';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.cat-name-row-labels{display:flex;gap:20px}.cat-label-emoji{width:44px;text-align:center;flex-shrink:0}.cat-name-row{display:flex;align-items:stretch;gap:20px}.cat-name-row .sp-modal-input{flex:1;min-height:44px}.emoji-picker-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text);font-size:1.4rem;cursor:pointer;transition:border-color .15s}.emoji-picker-btn:hover{border-color:var(--text-secondary)}.emoji-picker-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:12px;z-index:199}.emoji-picker{position:absolute;top:10%;left:10%;width:80%;height:80%;z-index:200;background:var(--bg-input);border:1px solid var(--border-input);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.35);padding:10px;display:flex;flex-direction:column}.emoji-search{width:100%;padding:6px 10px;border:1px solid var(--border-input);border-radius:6px;font-size:.82rem;background:var(--bg);color:var(--text);outline:0;margin-bottom:6px}.emoji-search:focus{border-color:var(--text-secondary)}.emoji-tabs{display:none;gap:2px;margin-bottom:6px;overflow-x:auto;flex-shrink:0}.emoji-tab{background:0 0;border:none;padding:4px 6px;font-size:1.1rem;cursor:pointer;border-radius:6px;transition:background .1s;flex-shrink:0;line-height:1}.emoji-tab:hover{background:var(--bg-hover)}.emoji-tab.active{background:var(--bg-active)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;overflow-y:auto;flex:1;min-height:0}.emoji-grid-item{background:0 0;border:none;padding:4px;font-size:1.25rem;cursor:pointer;border-radius:6px;transition:background .1s;line-height:1.3;text-align:center}.emoji-grid-item:hover{background:var(--bg-hover)}.emoji-cat-label{grid-column:1/-1;font-size:.7rem;font-weight:600;color:var(--text-secondary);padding:6px 4px 2px;text-transform:uppercase;letter-spacing:.5px}.conv-item[draggable=true]{cursor:pointer}.conv-item.dragging{opacity:.4}.thinking-block{margin-bottom:10px;border:1px solid var(--border);border-radius:8px;overflow:hidden;font-size:.85rem;background:var(--bg-thinking)}.thinking-block summary{padding:8px 12px;cursor:pointer;font-weight:600;font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;background:0 0;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.thinking-block summary::before{content:'\25B6';font-size:.6rem;transition:transform .2s}.thinking-block[open] summary::before{transform:rotate(90deg)}.thinking-block summary::-webkit-details-marker{display:none}.thinking-content{padding:12px 14px 12px 20px;color:var(--text-secondary);font-size:.82rem;line-height:1.5;max-height:300px;overflow-y:auto;overflow-x:hidden;border-top:1px solid var(--border);word-wrap:break-word;overflow-wrap:anywhere}.thinking-content code,.thinking-content pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.thinking-content table{display:block;max-width:100%;overflow-x:auto}.thinking-content p{margin:0 0 .4em 0}.thinking-content p:last-child{margin-bottom:0}.thinking-content ol,.thinking-content ul{margin:.4em 0;padding-left:1.4em}.thinking-content li{margin:.15em 0}.thinking-content h1,.thinking-content h2,.thinking-content h3,.thinking-content h4,.thinking-content h5,.thinking-content h6{margin:.6em 0 .3em 0;line-height:1.3;font-weight:600;color:var(--text)}.thinking-content h1{font-size:1.05em}.thinking-content h2{font-size:1em}.thinking-content h3{font-size:.95em}.thinking-content h4,.thinking-content h5,.thinking-content h6{font-size:.9em}.thinking-content code{background:rgba(0,0,0,.06);border-radius:3px;padding:1px 4px;font-size:.88em}body.dark .thinking-content code{background:rgba(255,255,255,.1)}.thinking-content pre{background:rgba(0,0,0,.08);border-radius:8px;padding:10px;margin:.4em 0;font-size:.82em}body.dark .thinking-content pre{background:rgba(255,255,255,.08)}.thinking-content pre code{background:0 0;padding:0;border-radius:0;font-size:inherit}.thinking-content blockquote{border-left:3px solid var(--border-input);margin:.5em 0;padding:.2em 0 .2em 12px;color:var(--text-secondary)}.thinking-content table{border-collapse:collapse;margin:.5em 0;font-size:.85em}.thinking-content td,.thinking-content th{border:1px solid var(--border);padding:3px 8px}.thinking-content th{background:rgba(0,0,0,.04)}body.dark .thinking-content th{background:rgba(255,255,255,.06)}.thinking-content a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.thinking-content a:hover{color:var(--link-hover)}.thinking-content strong{font-weight:600;color:var(--text)}.thinking-content hr{border:none;border-top:1px solid var(--border);margin:.6em 0}.thinking-content::-webkit-scrollbar{width:4px}.model-switch-marker{text-align:center;font-size:.7rem;color:var(--text-secondary);opacity:.5;padding:6px 0;user-select:none}.send-btn.stop-mode{background:var(--danger);color:#fff}.send-btn.stop-mode:hover{opacity:.85}.model-fusion-indicator{font-size:.62rem;color:var(--text-secondary);opacity:.45;margin-top:6px;font-style:italic;text-align:right}.message-text pre{position:relative}.code-copy-btn{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.45);color:#fff;border:none;border-radius:4px;padding:3px 8px;font-size:.72rem;font-family:inherit;cursor:pointer;opacity:0;transition:opacity .15s;z-index:1}body.dark .code-copy-btn{background:rgba(255,255,255,.2)}.message-text pre:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:rgba(0,0,0,.7)}body.dark .code-copy-btn:hover{background:rgba(255,255,255,.35)}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:10002;display:flex;align-items:center;justify-content:center;animation:lightbox-overlay-in .18s ease-out both}.lightbox-overlay.closing{animation:lightbox-overlay-out .16s ease-in forwards}.lightbox-img{max-width:92vw;max-height:92vh;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5);object-fit:contain;animation:lightbox-img-in .22s cubic-bezier(.2,.8,.3,1.1) both}.lightbox-overlay.closing .file-viewer-container,.lightbox-overlay.closing .lightbox-img{animation:lightbox-img-out .16s ease-in forwards}.file-viewer-container{animation:lightbox-img-in .22s cubic-bezier(.2,.8,.3,1.1) both}@keyframes lightbox-overlay-in{from{opacity:0}to{opacity:1}}@keyframes lightbox-overlay-out{from{opacity:1}to{opacity:0}}@keyframes lightbox-img-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes lightbox-img-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94)}}.lightbox-close{position:fixed;top:16px;right:20px;background:rgba(255,255,255,.15);border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10003;transition:background .15s}.lightbox-close:hover{background:rgba(255,255,255,.3)}.file-viewer-container{width:90vw;height:88vh;max-width:1000px;display:flex;flex-direction:column;background:var(--bg);border-radius:10px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.5)}.file-viewer-title{padding:10px 16px;font-size:.85rem;font-weight:600;color:var(--text);background:var(--bg-sidebar);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-viewer-iframe{flex:1;border:none;width:100%;background:#fff}#conv-sp-section{flex:1;min-height:0;display:flex;flex-direction:column}#conv-sp-section>.sp-collapsible{flex:1;min-height:0;display:flex;flex-direction:column}#conv-sp-section>.sp-collapsible.collapsed{flex:0;max-height:0;overflow:hidden}.canvas-open-btn .canvas-open-count{font-size:.7rem;font-weight:600;margin-left:2px;opacity:.8}.canvas-panel{--canvas-width:480px;width:var(--canvas-width);min-width:320px;max-width:90vw;height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--border);flex-shrink:0;box-sizing:border-box;position:relative}.canvas-resize-handle{position:absolute;top:0;left:-4px;width:8px;height:100%;cursor:col-resize;z-index:20;background:0 0;transition:background .15s;display:flex;align-items:center;justify-content:center}.canvas-resize-handle::before{content:'';display:block;width:4px;height:42px;border-radius:3px;background:var(--border);box-shadow:inset 1px 0 0 rgba(255,255,255,.12),0 1px 3px rgba(0,0,0,.18);transition:background .15s,height .15s,width .15s;pointer-events:none}.canvas-resize-handle:hover::before,body.canvas-resizing .canvas-resize-handle::before{background:var(--accent);height:56px;width:5px}.canvas-resize-handle:hover,body.canvas-resizing .canvas-resize-handle{background:0 0}body.canvas-resizing,body.canvas-resizing *{user-select:none!important;cursor:col-resize!important}body.canvas-resizing .canvas-preview-iframe{pointer-events:none}body.canvas-active .right-panel{display:none!important}.canvas-tabs{display:flex;background:var(--bg-hover);border-radius:9px;padding:3px;gap:2px;flex-shrink:0}.canvas-tab{padding:4px 12px;border:none;border-radius:7px;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.76rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.canvas-tab:hover{color:var(--text)}.canvas-tab.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.1)}.canvas-tab-view{display:none;flex:1;min-height:0;position:relative}.canvas-tab-view.active{display:flex}.canvas-preview-view{flex-direction:column;background:#fff}.canvas-header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-sidebar);border-bottom:1px solid var(--border);flex-shrink:0;min-width:0}.canvas-header-title{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:var(--text);flex-shrink:0}.canvas-header-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}@media (max-width:560px){.canvas-header-title span{display:none}}.canvas-header-btn{background:0 0;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:5px 10px;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s,border-color .15s}.canvas-header-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.canvas-header-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-header-btn-danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.canvas-body{min-height:0;position:relative}.canvas-sidebar{width:220px;min-width:180px;border-right:1px solid var(--border);background:var(--bg-sidebar);display:flex;flex-direction:column;overflow:hidden}.canvas-sidebar-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:10px 12px 6px}.canvas-file-list{flex:1;overflow-y:auto;padding:0 6px 8px}.canvas-file-item{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;border-radius:6px;cursor:pointer;color:var(--text);transition:background .1s;user-select:none}.canvas-file-item:hover{background:var(--bg-hover)}.canvas-file-item.selected{background:var(--accent-light);color:var(--accent)}.canvas-file-item.entrypoint .canvas-file-name{font-weight:600}.canvas-file-item.streaming .canvas-file-name{background-image:linear-gradient(90deg,rgba(59,130,246,.18) 0,rgba(59,130,246,.55) 50%,rgba(59,130,246,.18) 100%);background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;animation:canvas-streaming-shimmer 1.4s linear infinite;border-radius:4px;padding:2px 6px;margin:-2px -6px;color:var(--text)}.canvas-file-item.streaming .canvas-file-size::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#3b82f6;margin-left:6px;vertical-align:middle;animation:canvas-streaming-pulse 1s ease-in-out infinite}@keyframes canvas-streaming-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}@keyframes canvas-streaming-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}body.dark .canvas-file-item.streaming .canvas-file-name{background-image:linear-gradient(90deg,rgba(96,165,250,.22) 0,rgba(96,165,250,.65) 50%,rgba(96,165,250,.22) 100%)}.canvas-file-icon{font-size:.95rem;flex-shrink:0}.canvas-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-file-size{font-size:.7rem;color:var(--text-secondary);flex-shrink:0}.canvas-viewer{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.canvas-viewer-title{padding:6px 14px;font-size:.78rem;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px}.canvas-viewer-title-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.canvas-diff-toggle{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:.72rem;color:var(--text-secondary);flex-shrink:0;user-select:none}.canvas-diff-toggle:hover{color:var(--text)}.canvas-diff-toggle input[type=checkbox]{cursor:pointer;margin:0}.canvas-diff-line{display:block}.canvas-inline-op{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;margin:6px 0;border:1px solid var(--border);border-radius:999px;background:var(--bg-hover);font-size:.82em;line-height:1.4;color:var(--text);vertical-align:middle;user-select:none;cursor:pointer;transition:background .15s,border-color .15s,transform 80ms}.canvas-inline-op:hover{background:var(--accent-light,rgba(59,130,246,.1));border-color:var(--accent,#3b82f6)}.canvas-inline-op:active{transform:scale(.97)}.canvas-inline-op-missing{opacity:.55;cursor:not-allowed}.canvas-inline-op-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.canvas-inline-op-create .canvas-inline-op-icon{color:#16a34a}.canvas-inline-op-edit .canvas-inline-op-icon{color:var(--accent,#3b82f6)}.canvas-inline-op-delete .canvas-inline-op-icon{color:#dc2626}.canvas-inline-op-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}body.dark .canvas-inline-op{background:rgba(255,255,255,.04)}.canvas-diff-line.added{background:rgba(34,197,94,.18)}.canvas-diff-line.removed{background:rgba(239,68,68,.18);color:var(--text)}body.dark .canvas-diff-line.added{background:rgba(34,197,94,.22)}body.dark .canvas-diff-line.removed{background:rgba(239,68,68,.22)}.canvas-diff-marker{display:inline-block;width:1em;text-align:center;user-select:none;opacity:.7;margin-right:4px}.canvas-diff-line.added .canvas-diff-marker{color:#16a34a}.canvas-diff-line.removed .canvas-diff-marker{color:#dc2626}.canvas-viewer-content{flex:1;margin:0;padding:12px 14px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.5;background:var(--bg);color:var(--text);white-space:pre;tab-size:4}.canvas-line-num{display:inline-block;width:3em;margin-right:12px;color:var(--text-secondary);opacity:.5;text-align:right;user-select:none}.canvas-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary);text-align:center;padding:40px;pointer-events:none}.canvas-empty p{margin:0;font-size:.88rem;line-height:1.6}.canvas-empty em{color:var(--text);font-style:italic;opacity:.75}.canvas-footer{flex-shrink:0;padding:8px 14px;border-top:1px solid var(--border);background:var(--bg-sidebar);font-size:.75rem;color:var(--text-secondary);min-height:32px;display:flex;align-items:center}.canvas-status.error{color:var(--danger)}.canvas-file-list::-webkit-scrollbar,.canvas-viewer-content::-webkit-scrollbar{width:8px;height:8px}.canvas-file-list::-webkit-scrollbar-thumb,.canvas-viewer-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.canvas-file-list::-webkit-scrollbar-thumb:hover,.canvas-viewer-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.canvas-preview-iframe{flex:1;width:100%;height:100%;border:none;background:#fff;display:block}@media (max-width:900px){.canvas-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw!important;min-width:0;max-width:none;height:100vh;z-index:9200;border-left:none}.canvas-resize-handle{display:none}#canvas-code-view{flex-direction:column}.canvas-sidebar{width:100%;min-width:0;max-height:35%;border-right:none;border-bottom:1px solid var(--border)}.canvas-header-btn span{display:none}}.catalog-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-shrink:0}.catalog-search-wrap{flex:1;position:relative;display:flex;align-items:center}.catalog-search-icon{position:absolute;left:10px;color:var(--text-secondary);pointer-events:none;flex-shrink:0}.catalog-search-input{width:100%;padding:8px 10px 8px 32px;border-radius:8px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text);font-family:inherit;font-size:.82rem;outline:0;transition:border-color .15s}.catalog-search-input:focus{border-color:var(--accent)}.catalog-type-btns{display:inline-flex;flex-shrink:0;box-sizing:border-box;height:var(--catalog-toggle-h);background:var(--bg-input);border:1px solid var(--border-input);border-radius:999px;padding:3px;position:relative}.catalog-type-btns::before{content:'';position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background:var(--accent);border-radius:999px;transition:transform .25s cubic-bezier(.2, .8, .3, 1);z-index:0}.catalog-type-btns:has(.catalog-type-btn.active[data-type=image])::before{transform:translateX(100%)}.catalog-type-btn{flex:1;padding:4px 15px;border:none;border-radius:999px;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.76rem;font-weight:500;cursor:pointer;transition:color .2s ease;white-space:nowrap;position:relative;z-index:1}.catalog-type-btn:not(.active):hover{color:var(--text)}.catalog-type-btn.active,.catalog-type-btn.active:hover{color:#fff}.catalog-list{display:flex;flex-direction:column;gap:8px}.catalog-section{border:1px solid var(--border);border-radius:10px;overflow:hidden;flex-shrink:0}.catalog-section-header{display:flex;align-items:center;gap:8px;padding:8px 12px;min-height:calc(var(--catalog-toggle-h) + 16px);box-sizing:border-box;background:var(--bg-hover);border-bottom:1px solid var(--border)}.catalog-section-name{font-size:.8rem;font-weight:600;color:var(--text);flex:1}.catalog-section-master-cb{width:15px;height:15px;flex-shrink:0;cursor:pointer;margin:0}.catalog-section-badge{font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--accent-light);color:var(--accent);flex-shrink:0}.catalog-or-load-btn{font-family:inherit;font-size:.72rem;font-weight:500;padding:3px 9px;border-radius:6px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0;white-space:nowrap}.catalog-or-load-btn:hover{border-color:var(--accent);color:var(--accent)}.catalog-or-load-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;border-color:var(--accent);color:var(--accent)}.catalog-or-load-btn:hover{background:var(--accent);color:#fff}.catalog-or-load-btn:disabled{opacity:.5;cursor:not-allowed}.catalog-section-models{padding:4px 0}.catalog-row{display:flex;align-items:center;gap:6px;padding:0 6px 0 12px;transition:background .1s;user-select:none}.catalog-row:hover{background:var(--bg-hover)}.catalog-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer}.catalog-row input[type=checkbox]{width:15px;height:15px;cursor:pointer;flex-shrink:0;margin:0}.catalog-row-name{flex:1;font-size:.82rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.catalog-row-price{font-size:.72rem;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;width:140px;text-align:right}.catalog-row-maker{font-size:.72rem;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;width:100px;padding-left:10px;border-left:1px solid var(--border-input)}.catalog-row-info-spacer{display:inline-block;width:14px;min-width:14px;height:14px;flex-shrink:0}.catalog-row-badge{display:inline-flex;align-items:center;justify-content:center;height:16px;padding:0 6px;border-radius:8px;font-size:.6rem;font-weight:700;letter-spacing:.02em;line-height:1;flex-shrink:0}.catalog-row-badge--new{background:0 0;color:var(--accent);border:1px solid var(--accent-light,rgba(0,0,0,.12));font-weight:600;font-size:.55rem;height:14px;padding:0 5px;opacity:.85}.catalog-row-badge--warn{background:rgba(239,68,68,.15);color:#ef4444;font-size:.7rem;padding:0 5px}.catalog-row-info{margin-left:0;cursor:help;opacity:.55}.catalog-row-info:hover,.catalog-row:hover .catalog-row-info{opacity:1}.catalog-row-info:hover{border-color:var(--accent);color:var(--accent)}.catalog-or-section{border-color:var(--border);border-style:solid}.catalog-or-section .catalog-section-header{background:var(--bg-hover)}.catalog-or-cat-select-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.catalog-or-cat-select-caret{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}.catalog-or-search-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:0}.catalog-or-search-wrap>svg{position:absolute;left:10px;color:var(--text-secondary);pointer-events:none}.catalog-or-search{flex:1;width:100%;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text);font-family:inherit;font-size:.78rem;padding:6px 10px 6px 30px;border-radius:6px;outline:0;transition:border-color .15s}.catalog-or-search:focus{border-color:var(--accent)}.catalog-or-toolbar{display:flex;align-items:stretch;gap:8px;padding:8px 12px;background:var(--bg-hover);border-bottom:1px solid var(--border);--or-ctl-h:32px;--or-ctl-radius:6px}.catalog-or-toolbar>.catalog-or-cat-select-wrap,.catalog-or-toolbar>.catalog-or-search-wrap{height:var(--or-ctl-h)}.catalog-or-toolbar .catalog-or-cat-select,.catalog-or-toolbar .catalog-or-search{height:100%;box-sizing:border-box;border:1px solid var(--border-input);border-radius:var(--or-ctl-radius);background:var(--bg-input)}.catalog-or-toolbar .catalog-or-load-btn{flex-shrink:0;width:var(--or-ctl-h);min-width:var(--or-ctl-h);height:var(--or-ctl-h);box-sizing:border-box;padding:0;margin:0;gap:0;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--or-ctl-radius)}.catalog-or-toolbar .catalog-or-load-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-input)}.catalog-or-cat-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text);font-family:inherit;font-size:.8rem;font-weight:400;padding:5px 28px 5px 12px;border-radius:6px;cursor:pointer;outline:0;transition:border-color .15s,box-shadow .15s}.catalog-or-cat-select:hover{border-color:var(--accent)}.catalog-or-cat-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light,rgba(0,0,0,.08))}.catalog-or-empty{padding:14px 12px;font-size:.8rem;color:var(--text-secondary);text-align:center;line-height:1.5}.catalog-or-loading{padding:14px 12px;font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:8px}.catalog-or-hint{border:1px dashed var(--border-input);border-radius:10px;padding:14px 16px;font-size:.8rem;color:var(--text-secondary);display:flex;align-items:flex-start;gap:8px;line-height:1.5}.catalog-or-hint svg{flex-shrink:0;margin-top:1px}.catalog-or-hint strong{color:var(--text)}@keyframes catalog-spin{to{transform:rotate(360deg)}}.catalog-spin{animation:catalog-spin .8s linear infinite;display:inline-block}.update-toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:0;border-radius:999px;background:var(--accent);box-shadow:0 6px 28px rgba(59,135,206,.45);font-size:.84rem;font-weight:500;color:#fff;white-space:nowrap;animation:update-toast-in .35s cubic-bezier(.34,1.56,.64,1)}@keyframes update-toast-in{from{opacity:0;transform:translateX(-50%) translateY(-16px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.update-toast-link{display:flex;align-items:center;gap:8px;padding:10px 18px 10px 16px;color:#fff;text-decoration:none;border-radius:999px 0 0 999px;transition:background .15s}.update-toast-link:hover{background:rgba(0,0,0,.12)}.update-toast-icon{flex-shrink:0;opacity:.9}.update-toast-text{line-height:1}.update-toast-close{flex-shrink:0;background:0 0;border:none;border-left:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.8);font-size:1rem;line-height:1;cursor:pointer;padding:10px 14px;border-radius:0 999px 999px 0;transition:background .15s,color .15s}.update-toast-close:hover{background:rgba(0,0,0,.12);color:#fff}#panel-stockage{position:relative}#panel-stockage.active{overflow:hidden;min-height:0;max-height:80vh}#panel-stockage[data-storage-view=list] .storage-list-view{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}#panel-stockage[data-storage-view=list] .storage-list{flex:1 1 auto;min-height:0;max-height:none}#panel-stockage .storage-home{display:none}#panel-stockage .storage-list-view{display:none}#panel-stockage[data-storage-view=home] .storage-home{display:block}.storage-home-description{margin:18px 2px 16px;font-size:.88rem;line-height:1.55;color:var(--text-secondary)}.storage-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.storage-home-btn{display:flex;flex-direction:column;gap:18px;width:100%;padding:18px 18px 16px;border:1px solid var(--border-input);border-radius:14px;background:var(--bg-input);color:var(--text);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .12s,box-shadow .18s}.storage-home-btn:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px rgba(59,135,206,.12)}.storage-home-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(59,135,206,.1)}.storage-home-btn:focus{outline:0}.storage-home-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.storage-home-btn-top{display:flex;align-items:center;gap:12px}.storage-home-btn-icon{flex:0 0 auto;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent-light);color:var(--accent);transition:background .18s,color .18s}.storage-home-btn:hover .storage-home-btn-icon{background:var(--accent);color:#fff}.storage-home-btn-icon svg{width:18px;height:18px}.storage-home-btn-size{flex:1 1 auto;font-size:1.4rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-home-btn-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.storage-home-btn-text{display:flex;flex-direction:column;gap:3px;min-width:0}.storage-home-btn-title{font-size:.95rem;font-weight:600;color:var(--text);line-height:1.25}.storage-home-btn-meta{font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.storage-home-btn-chevron{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .15s,transform .18s}.storage-home-btn-chevron svg{width:16px;height:16px}.storage-home-btn:hover .storage-home-btn-chevron{color:var(--accent);transform:translateX(3px)}@media (max-width:480px){.storage-home-actions{grid-template-columns:1fr;gap:10px}}#panel-stockage .storage-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.storage-heading-main,.storage-heading-sep,.storage-heading-sub{color:var(--text);font-weight:inherit}#panel-stockage[data-storage-view=home] .storage-back-btn,#panel-stockage[data-storage-view=home] .storage-heading-sep,#panel-stockage[data-storage-view=home] .storage-heading-sub{display:none}.storage-back-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-secondary);font-family:inherit;cursor:pointer;flex:0 0 auto;transition:background .15s,color .15s,border-color .15s,transform .12s}.storage-back-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent);transform:translateX(-1px)}.storage-back-btn:focus{outline:0}.storage-back-btn:focus-visible{box-shadow:0 0 0 2px var(--accent-light),0 0 0 1px var(--accent)}.storage-back-btn svg{width:14px;height:14px}.storage-loading{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(2px);border-radius:inherit;z-index:5}#panel-stockage[data-storage-loading=true] .storage-loading{display:flex}.storage-spinner{width:38px;height:38px;border-radius:50%;border:3px solid var(--accent-light);border-top-color:var(--accent);animation:spin .8s linear infinite}.storage-overview{position:relative;background:var(--bg-input);border:1px solid var(--border-input);border-radius:14px;padding:18px 20px;margin:6px 0 4px;display:flex;flex-direction:column;gap:14px}.storage-overview-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.storage-overview-label{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.storage-overview-value{font-size:1.55rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1}.storage-overview-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--bg-active);gap:2px}.storage-overview-seg{height:100%;width:0;transition:width .45s cubic-bezier(.4, 0, .2, 1);min-width:0}.storage-overview-seg-texts{background:var(--accent)}.storage-overview-seg-images{background:#f59e0b}.storage-overview-seg-pdf{background:#ef4444}.storage-overview-seg-audio{background:#8b5cf6}.storage-overview-seg-video{background:#10b981}.storage-overview-seg-other{background:color-mix(in srgb,var(--text-secondary) 55%,var(--bg-active))}.storage-overview-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem}.storage-legend-item{display:inline-flex;align-items:center;gap:7px}.storage-legend-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.storage-legend-dot-texts{background:var(--accent)}.storage-legend-dot-images{background:#f59e0b}.storage-legend-dot-pdf{background:#ef4444}.storage-legend-dot-audio{background:#8b5cf6}.storage-legend-dot-video{background:#10b981}.storage-legend-dot-other{background:color-mix(in srgb,var(--text-secondary) 55%,var(--bg-active))}.storage-legend-text{color:var(--text-secondary)}.storage-legend-size{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.storage-subtabs{display:flex;gap:6px;background:var(--bg-hover);padding:4px;border-radius:10px;margin-bottom:14px}.storage-subtab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:none;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.86rem;font-weight:500;border-radius:7px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.storage-subtab:hover{color:var(--text)}.storage-subtab.active{background:var(--bg);color:var(--text);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}.storage-subtab-icon{font-size:1rem}.storage-subtab-count{font-size:.72rem;background:var(--bg-active);color:var(--text-secondary);padding:1px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.storage-subtab.active .storage-subtab-count{background:var(--bg-hover);color:var(--text)}.storage-controls{display:flex;gap:8px;margin-bottom:10px;align-items:center;flex-wrap:nowrap}.storage-search-wrap{position:relative;overflow:hidden;transition:flex-basis .28s ease,flex-grow .28s ease,max-width .28s ease,opacity .2s ease;min-width:0}.storage-sort-wrap{overflow:hidden;transition:flex-basis .28s ease,flex-grow .28s ease,max-width .28s ease,opacity .2s ease;min-width:0}.storage-icon-btn{flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;padding:0;overflow:hidden;transition:width .28s ease,padding .28s ease,opacity .2s ease,background .15s,color .15s,border-color .15s}.storage-icon-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--text-secondary)}.storage-icon-btn svg{width:16px;height:16px;flex:0 0 auto}.storage-icon-btn:focus{outline:0}.storage-icon-btn:focus-visible{box-shadow:0 0 0 3px var(--accent-light);border-color:var(--accent)}.storage-search-wrap.collapsed,.storage-sort-wrap.collapsed{flex:0 0 0;max-width:0;opacity:0;pointer-events:none}.storage-icon-btn.collapsed{width:0;padding:0;border-width:0;opacity:0;pointer-events:none}.storage-controls.controls-conv .storage-search-wrap{flex:1 1 200px;max-width:100%;opacity:1;pointer-events:auto}.storage-controls.controls-conv .storage-sort-wrap{flex:0 0 auto;max-width:220px;opacity:1;pointer-events:auto}.storage-controls.controls-conv #storage-search-btn,.storage-controls.controls-conv #storage-sort-btn{width:0;padding:0;border-width:0;opacity:0;pointer-events:none}.storage-controls.controls-media.search-active .storage-search-wrap{flex:1 1 200px;max-width:100%;opacity:1;pointer-events:auto}.storage-controls.controls-media.search-active .storage-sort-wrap{flex:0 0 0;max-width:0;opacity:0;pointer-events:none}.storage-controls.controls-media.search-active #storage-search-btn{width:0;padding:0;border-width:0;opacity:0;pointer-events:none}.storage-controls.controls-media.search-active #storage-sort-btn{width:36px;opacity:1;pointer-events:auto;border-width:1px}.storage-controls.controls-media.sort-active .storage-search-wrap{flex:0 0 0;max-width:0;opacity:0;pointer-events:none}.storage-controls.controls-media.sort-active .storage-sort-wrap{flex:1 1 200px;max-width:100%;opacity:1;pointer-events:auto}.storage-controls.controls-media.sort-active #storage-search-btn{width:36px;opacity:1;pointer-events:auto;border-width:1px}.storage-controls.controls-media.sort-active #storage-sort-btn{width:0;padding:0;border-width:0;opacity:0;pointer-events:none}.storage-controls.controls-media.sort-active .storage-sort-select{width:100%}.storage-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.85rem;opacity:.5;pointer-events:none}.storage-search-input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text);font-family:inherit;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.storage-search-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.storage-filter-group{display:inline-flex;gap:4px;background:var(--bg-hover);padding:3px;border-radius:8px}.storage-filter-chip{padding:6px 12px;border:none;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.78rem;font-weight:500;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;outline:0}.storage-filter-chip:focus{outline:0}.storage-filter-chip:focus-visible{box-shadow:0 0 0 2px var(--accent-light)}.storage-filter-chip:hover{color:var(--text)}.storage-filter-chip.active{background:var(--bg);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.06)}.storage-subtab:focus{outline:0}.storage-subtab:focus-visible{box-shadow:0 0 0 2px var(--accent-light)}.storage-sort-select{padding:8px 28px 8px 32px;border:1px solid var(--border-input);border-radius:8px;background-color:var(--bg-input);color:var(--text);font-family:inherit;font-size:.82rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h13'/%3E%3Cpath d='M3 12h9'/%3E%3Cpath d='M3 18h5'/%3E%3Cpath d='M17 9l3 -3l3 3'/%3E%3Cpath d='M20 6v12'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:right 8px center,left 10px center;background-size:12px 12px,14px 14px}.storage-toolbar{display:flex;align-items:center;gap:12px;padding:10px 12px 8px;border-bottom:1px solid var(--border-light)}.storage-master-label{display:inline-flex;align-items:center;gap:12px;font-size:.82rem;color:var(--text-secondary);cursor:pointer;user-select:none}.storage-master-label input{width:15px;height:15px;flex-shrink:0;cursor:pointer;margin:0}.storage-summary{flex:1;text-align:right;font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.storage-list{max-height:48vh;overflow-y:auto;padding:4px 0}.storage-row{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s,box-shadow .15s;user-select:none}.storage-row:hover{background:var(--bg-hover)}.storage-row.selected{background:var(--accent-light);box-shadow:inset 3px 0 0 var(--accent)}.storage-row.selected+.storage-row.selected{border-top-left-radius:0}.storage-row.selected:has(+ .storage-row.selected){border-bottom-left-radius:0}.storage-row.selected:hover{background:color-mix(in srgb,var(--accent-light) 80%,var(--accent) 12%)}.storage-row-cb{width:15px;height:15px;flex-shrink:0;cursor:pointer;margin:0}.storage-row-thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;background:var(--bg-hover);flex:0 0 auto;cursor:zoom-in}.storage-row-icon{width:44px;height:44px;border-radius:10px;background:var(--bg-hover);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:1.4rem}.storage-row-main{flex:1;min-width:0}.storage-row-title{font-size:.88rem;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;display:flex;align-items:center;gap:8px;min-width:0}.storage-row-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}.storage-row-date{font-size:.74rem;color:var(--text-secondary);font-weight:500;font-variant-numeric:tabular-nums;flex:0 0 auto}.storage-row-meta{display:flex;align-items:center;gap:8px;font-size:.74rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.storage-row-meta-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.storage-row-meta-item:not(.storage-row-badge):last-of-type{flex-shrink:0}.storage-row-meta-sep{opacity:.4;flex-shrink:0}.storage-row-badge{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--bg-active);color:var(--text-secondary);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.storage-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto;min-width:84px;position:relative}.storage-row-size{font-size:.82rem;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.storage-row:hover .storage-row-bar,.storage-row:hover .storage-row-size{visibility:hidden}.storage-row-actions{position:absolute;top:50%;right:0;transform:translateY(-50%);display:none;align-items:center;gap:4px}.storage-row:hover .storage-row-actions{display:inline-flex}.storage-row-action{width:30px;height:30px;padding:0;border:none;border-radius:6px;background:var(--bg-active);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,transform .15s}.storage-row-action svg{width:15px;height:15px}.storage-row-action:hover{background:color-mix(in srgb,var(--text) 14%,var(--bg-active));color:var(--text);transform:scale(1.06)}.storage-row-action-danger{color:#dc2626}.storage-row-action-danger:hover{background:rgba(220,38,38,.12);color:#dc2626}body.dark .storage-row-action-danger,body.dark .storage-row-action-danger:hover{color:#f87171}body.dark .storage-row-action-danger:hover{background:rgba(248,113,113,.18)}.storage-row-bar{width:80px;height:4px;background:var(--bg-active);border-radius:999px;overflow:hidden}.storage-row-bar-fill{height:100%;background:var(--accent);border-radius:999px;min-width:2px;transition:width .2s ease}.storage-row-bar-fill.media{background:color-mix(in srgb,var(--accent) 45%,var(--bg-active))}.storage-empty{padding:48px 16px;text-align:center;color:var(--text-secondary);font-size:.88rem}.storage-empty-icon{display:inline-block;margin-bottom:10px;opacity:.35}.storage-empty-icon svg{width:40px;height:40px}.storage-row-icon svg,.storage-row-meta-item svg,.storage-search-icon svg,.storage-subtab-icon svg{width:16px;height:16px;vertical-align:middle}.storage-row-icon svg{width:22px;height:22px;color:var(--text-secondary)}.storage-subtab-icon svg{width:16px;height:16px}.storage-search-icon svg{width:14px;height:14px}.storage-row-meta-item svg{width:12px;height:12px;opacity:.7;margin-right:2px}.storage-delete-btn svg{width:14px;height:14px}.storage-load-more{display:block;width:100%;margin:12px 0 4px;padding:10px;border:1px dashed var(--border-input);border-radius:8px;background:0 0;color:var(--text-secondary);font-family:inherit;font-size:.82rem;cursor:pointer;transition:background .15s,color .15s}.storage-load-more:hover{background:var(--bg-hover);color:var(--text)}.storage-action-bar{flex-shrink:0;display:none;align-items:center;gap:12px;padding:10px 14px;background:var(--bg);border:1px solid var(--border-input);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:5}.storage-action-bar.visible{display:flex;animation:storage-action-slide .2s ease}@keyframes storage-action-slide{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.storage-action-info{flex:1;font-size:.85rem;color:var(--text);font-weight:500}.storage-clear-btn{padding:7px 12px;background:0 0;border:1px solid var(--border-input);border-radius:7px;color:var(--text-secondary);font-family:inherit;font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.storage-clear-btn:hover{background:var(--bg-hover);color:var(--text)}.storage-delete-btn{padding:8px 16px;border:none;border-radius:7px;background:#ef4444;color:#fff;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:6px}.storage-delete-btn:hover{background:#dc2626}.storage-download-btn{padding:8px 14px;border:1px solid var(--border-input);border-radius:7px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex;align-items:center;gap:6px}.storage-download-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.storage-download-btn svg{width:14px;height:14px}.storage-list.storage-list-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-auto-rows:max-content;gap:10px;align-content:start;padding:4px}.storage-tile{position:relative;width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--bg-hover);border:1px solid var(--border-input);cursor:pointer;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.storage-tile:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--border-input));box-shadow:0 4px 16px rgba(0,0,0,.12)}.storage-tile.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.storage-tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.storage-tile-img.storage-tile-img-svg{object-fit:contain;padding:8px;background-image:linear-gradient(45deg,rgba(0,0,0,.06) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.06) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.06) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.06) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;background-color:#fff}.storage-row-thumb-svg{object-fit:contain;background:#fff;padding:3px}.storage-tile-icon{position:absolute;inset:0;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.storage-tile-icon svg{width:44px;height:44px}.storage-tile-check{position:absolute;top:8px;left:8px;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.85);border:1.5px solid var(--border-input);display:flex;align-items:center;justify-content:center;color:transparent;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;backdrop-filter:blur(4px);box-shadow:0 2px 6px rgba(0,0,0,.25)}.storage-tile-check svg{width:14px;height:14px}.storage-tile.selected .storage-tile-check{background:var(--accent);border-color:var(--accent);color:#fff}.storage-tile-badge{position:absolute;top:8px;right:8px;padding:2px 6px;font-size:.65rem;font-weight:700;letter-spacing:.04em;background:rgba(0,0,0,.6);color:#fff;border-radius:4px;pointer-events:none}.storage-tile-size{position:absolute;bottom:8px;left:8px;padding:2px 6px;font-size:.7rem;font-weight:600;background:rgba(0,0,0,.6);color:#fff;border-radius:4px;pointer-events:none}.storage-tile-overlay{position:absolute;left:0;right:0;bottom:0;padding:28px 8px 8px;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,0));display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .15s}.storage-tile:hover .storage-tile-overlay{opacity:1}.storage-tile:hover .storage-tile-size{opacity:0}.storage-tile-action{width:30px;height:30px;border-radius:6px;border:none;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .15s,color .15s;backdrop-filter:blur(4px);padding:0}.storage-tile-action svg{width:15px;height:15px}.storage-tile-action:hover{background:rgba(0,0,0,.85);transform:scale(1.08)}.storage-tile-action-danger{background:rgba(220,38,38,.7)}.storage-tile-action-danger:hover{background:rgba(220,38,38,.95)}.storage-viewmode-toggle{display:inline-flex;border:1px solid var(--border-input);border-radius:8px;overflow:hidden;margin-left:8px;background:var(--bg)}.storage-viewmode-btn{width:30px;height:30px;padding:0;border:none;background:0 0;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.storage-viewmode-btn+.storage-viewmode-btn{border-left:1px solid var(--border-input)}.storage-viewmode-btn:hover{background:var(--bg-hover);color:var(--text)}.storage-viewmode-btn.active{background:var(--accent-light);color:var(--accent)}.storage-viewmode-btn svg{width:16px;height:16px}.storage-preview-dock{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--bg);border:1px solid var(--border-input);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:9999;max-width:calc(100vw - 32px);animation:storage-preview-dock-in .22s ease}@keyframes storage-preview-dock-in{from{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%,0);opacity:1}}.storage-preview-dock-info{display:flex;align-items:center;gap:8px;min-width:0;max-width:360px}.storage-preview-dock-label{font-size:.78rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.storage-preview-dock-title{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storage-preview-dock-actions{display:flex;align-items:center;gap:8px}.storage-preview-btn{padding:8px 14px;border-radius:7px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.storage-preview-btn-ghost{background:0 0;border-color:var(--border-input);color:var(--text-secondary)}.storage-preview-btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.storage-preview-btn-primary{background:var(--accent,#2563eb);color:#fff}.storage-preview-btn-primary:hover{filter:brightness(1.08)}.storage-preview-btn-danger{background:#ef4444;color:#fff}.storage-preview-btn-danger:hover{background:#dc2626}body.storage-preview-mode .right-panel,body.storage-preview-mode .side-panel-toolbar,body.storage-preview-mode .sidebar{cursor:not-allowed}body.storage-preview-mode .right-panel *,body.storage-preview-mode .side-panel-toolbar *,body.storage-preview-mode .sidebar *{pointer-events:none!important;cursor:not-allowed!important}.sp-modal.apikeys-modal{animation:none!important}.sp-modal.apikeys-modal.opening{animation:sp-modal-appear .2s ease-out!important}.sp-modal.apikeys-modal.closing{animation:sp-modal-disappear .18s ease-in forwards!important}@keyframes sp-modal-disappear{from{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(8px)}}.sp-modal.morphing-to-dock{animation:modal-morph-to-dock .42s cubic-bezier(.32,.72,.35,1) both!important;transform-origin:50% 100%;will-change:transform,opacity}@keyframes modal-morph-to-dock{0%{transform:translate3d(0,0,0) scale(1);opacity:1}100%{transform:translate3d(0,45vh,0) scale(.25);opacity:0}}.sp-modal.morphing-from-dock{animation:modal-morph-from-dock .42s cubic-bezier(.22,1,.36,1) both!important;transform-origin:50% 100%;will-change:transform,opacity}@keyframes modal-morph-from-dock{0%{transform:translate3d(0,45vh,0) scale(.25);opacity:0}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}body.storage-preview-mode #model-alert,body.storage-preview-mode #token-bar,body.storage-preview-mode .code-copy-btn,body.storage-preview-mode .input-area,body.storage-preview-mode .message-btn-row,body.storage-preview-mode .message-copy-btn,body.storage-preview-mode .regen-btn{display:none!important}.login-overlay{position:fixed;inset:0;z-index:100000;background:var(--bg);display:flex;align-items:center;justify-content:center}.login-card{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:40px 36px;width:100%;max-width:400px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.08)}.login-logo{width:96px;height:96px;object-fit:contain;margin-bottom:16px}.login-title{font-size:1.6rem;font-weight:700;color:var(--text);margin:0 0 4px}.login-subtitle{font-size:.9rem;color:var(--text-secondary);margin:0 0 28px}.login-form{text-align:left}.login-field{margin-bottom:16px}.login-field label{display:block;font-size:.85rem;font-weight:500;color:var(--text);margin-bottom:6px}.login-field input{width:100%;padding:10px 14px;border:1px solid var(--border-input);border-radius:8px;font-size:.95rem;background:var(--bg-input);color:var(--text);outline:0;transition:border-color .2s;box-sizing:border-box}.login-field input:focus{border-color:var(--accent)}.login-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:.88rem;margin-bottom:16px}.dark .login-error{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.3);color:#fca5a5}.login-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.login-btn:hover{opacity:.9}body.auth-locked #canvas-panel,body.auth-locked #chat-container,body.auth-locked #right-panel,body.auth-locked #right-panel-toggle,body.auth-locked #side-panel-toolbar,body.auth-locked #sidebar,body.auth-locked .input-area,body.auth-locked .kiro-splash{display:none!important}.user-modal{max-width:440px}.user-field{margin-bottom:14px}.user-field label{display:block;font-size:.85rem;font-weight:500;color:var(--text);margin-bottom:5px}.user-field input,.user-field select{width:100%;padding:9px 12px;border:1px solid var(--border-input);border-radius:7px;font-size:.92rem;background:var(--bg-input);color:var(--text);box-sizing:border-box}.user-field select{appearance:auto;cursor:pointer}.users-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.user-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg);transition:background .15s;cursor:pointer}.user-card:hover{background:var(--bg-hover)}.user-card-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.user-card-info{flex:1;min-width:0}.user-card-name{font-weight:600;font-size:.95rem;color:var(--text)}.user-card-email{font-size:.82rem;color:var(--text-secondary)}.user-card-badge{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.03em}.user-card-badge.admin{background:#dbeafe;color:#1d4ed8}.user-card-badge.user{background:#f0fdf4;color:#15803d}.apikey-masked-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;background:var(--bg-sidebar);border-radius:6px;border:1px solid var(--border)}.apikey-masked-key{flex:1;font-family:monospace;font-size:.85rem;color:var(--text);word-break:break-all}.apikey-validate-btn{padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:5px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s}.apikey-validate-btn:hover{opacity:.85}.dark .user-card-badge.admin{background:rgba(59,130,246,.2);color:#93c5fd}.dark .user-card-badge.user{background:rgba(34,197,94,.2);color:#86efac}.dev-modules{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;padding:0 2px}.dev-module-btn{width:100%;padding:8px 12px;background:0 0;border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;text-align:left;opacity:.45;transition:opacity .15s,border-color .15s}.dev-module-btn:hover{opacity:.7;border-color:var(--text-secondary)}.dev-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--btn-bg);color:var(--btn-text);padding:10px 22px;border-radius:20px;font-size:.9rem;font-weight:600;z-index:100001;box-shadow:0 4px 16px rgba(0,0,0,.2);animation:dev-toast-in .3s ease-out}@keyframes dev-toast-in{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.fav-section{margin-bottom:8px;padding:0 2px}.fav-header{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.fav-header-icon{color:#eab308;font-size:.85rem}.fav-list{display:flex;flex-direction:column;gap:2px}.fav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text);transition:background .12s}.fav-item:hover{background:var(--bg-hover)}.fav-item-icon{color:#eab308;font-size:.75rem;flex-shrink:0}.fav-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fav-item-remove{opacity:0;background:0 0;border:none;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:0 2px;transition:opacity .12s}.fav-item:hover .fav-item-remove{opacity:1}#plus-menu-btn{width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border-radius:50%;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}#plus-menu-btn:hover{color:var(--text);border-color:var(--text-secondary);background:var(--bg-hover)}#plus-menu-btn:active{transform:scale(.9)}#plus-menu-btn.open{background:var(--active-cat-color,var(--accent));color:#fff;border-color:transparent;transform:rotate(45deg)}body.dark .plus-menu-dropdown{box-shadow:0 8px 30px rgba(0,0,0,.5)}.plus-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:0 0;color:var(--text);cursor:pointer;font-family:inherit;text-align:left;transition:background .1s}.plus-menu-item:hover{background:var(--bg-hover)}.plus-menu-item-icon{flex-shrink:0;color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.plus-menu-item-text{display:flex;flex-direction:column;gap:1px}.plus-menu-item-title{font-size:.82rem;font-weight:500}.plus-menu-item-desc{font-size:.68rem;color:var(--text-secondary)}.plus-menu-sep{height:1px;background:var(--border-light);margin:4px 0}.plus-menu-section{padding:6px 14px}.plus-menu-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.plus-menu-row{display:flex;align-items:center;justify-content:space-between}.plus-menu-row-label{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;color:var(--text)}.plus-menu-row-icon{display:flex;align-items:center;color:var(--text-secondary)}.plus-menu-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0;cursor:pointer}.plus-menu-toggle input{opacity:0;width:0;height:0;position:absolute}.plus-menu-toggle-slider{position:absolute;inset:0;background:var(--border-input);border-radius:20px;transition:background .2s}.plus-menu-toggle-slider::before{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.plus-menu-toggle input:checked+.plus-menu-toggle-slider{background:var(--accent)}.plus-menu-toggle input:checked+.plus-menu-toggle-slider::before{transform:translateX(16px)}.plus-menu-pills{display:flex;gap:4px;margin-top:8px}.plus-menu-pills-tight{margin-top:6px}.plus-menu-pill{flex:1;padding:6px 0;border:1px solid var(--border-input);border-radius:18px;background:0 0;color:var(--text-secondary);cursor:pointer;font-size:.74rem;font-family:inherit;font-weight:500;text-align:center;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:1px}.plus-menu-pill:hover{border-color:var(--text-secondary);color:var(--text)}.plus-menu-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.plus-menu-pill-hint{font-size:.6rem;font-weight:400;opacity:.65}.plus-menu-pill.active .plus-menu-pill-hint{opacity:.85}.plus-menu-providers{display:flex;flex-wrap:wrap;gap:6px}.plus-menu-provider-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--border-light);border-radius:14px;font-size:.7rem;color:var(--text-secondary);background:var(--bg-sidebar)}.plus-menu-provider-badge img{width:16px;height:16px;object-fit:contain;flex-shrink:0}.plus-menu-provider-badge .plus-provider-count{opacity:.5;font-size:.62rem}.plus-menu-skills{display:flex;flex-direction:column;gap:2px}.plus-menu-skill{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:0 0;color:var(--text);cursor:pointer;font-family:inherit;font-size:.78rem;border-radius:6px;text-align:left;transition:background .1s}.plus-menu-skill:hover{background:var(--bg-hover)}.plus-menu-skill-icon{flex-shrink:0;color:var(--accent);display:flex;align-items:center}.message-text p{margin:0 0 .5em 0}.message-text ol,.message-text ul{margin:.3em 0;padding-left:1.6em}.message-text ul{list-style:none}.message-text ul li{position:relative;margin-bottom:.15em}.message-text ul li::before{content:"○";position:absolute;left:-1.3em;font-size:.7em;top:.35em;color:var(--text-secondary)}.message-text ol li{margin-bottom:.5em}.message-text h1,.message-text h2,.message-text h3{margin:1em 0 .4em 0;font-size:1em;font-weight:700;line-height:1.5}.message-text strong{font-weight:700}@media (max-width:768px){.apikeys-modal{flex-direction:column!important;width:95vw!important;max-width:95vw!important;height:88vh!important;max-height:88vh!important}.apikeys-tabs{flex-direction:row;width:100%;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;border-right:none;border-bottom:1px solid var(--border-input);border-radius:12px 12px 0 0;padding:8px 8px;gap:4px}.apikeys-tabs::-webkit-scrollbar{display:none}.apikeys-tab{flex-shrink:0;white-space:nowrap}.apikeys-tabs-spacer{display:none}.providers-tabs{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.providers-tabs::-webkit-scrollbar{display:none}.provider-tab{flex-shrink:0}.apikeys-panel-body{max-width:100%;overflow-x:hidden;padding:14px 14px 12px}.provider-content{min-width:0;max-width:100%}.provider-section{min-width:0}.apikeys-panel>h3{padding:14px 44px 14px 16px}.apikeys-panel:has(.apikey-intro)>h3{padding:12px 44px 0 16px}}.apikeys-tab{font-weight:500;color:var(--accent)}.apikeys-tab:hover{color:var(--accent);background:var(--bg-hover)}.apikeys-tab.active{background:var(--accent);color:#fff;font-weight:700}.apikeys-tab.active:hover{background:var(--accent);color:#fff}@media (max-width:768px){.sidebar-toggle{left:8px!important}}@media (max-width:768px){body:has(#apikeys-modal-overlay[style*="display: flex"]) .sidebar-toggle,body:has(#apikeys-modal-overlay[style*="display:flex"]) .sidebar-toggle,body:has(#apikeys-modal-overlay[style="display: flex;"]) .sidebar-toggle{display:none!important}}@media (max-width:768px){body:has(#empty-chat-placeholder) .input-area{margin-bottom:15dvh}}