*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text-primary);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}:root{--color-primary:#3f7af1;--color-primary-hover:#3266d6;--color-primary-light:#eef4ff;--color-primary-light-hover:#e0ebff;--color-bg:#fff;--color-bg-secondary:#f9f9f9;--color-bg-tertiary:#f2f2f2;--color-bg-card:#fff;--color-text-primary:#171717;--color-text-secondary:#666;--color-text-muted:#8f8f8f;--color-text-placeholder:#999;--color-border:#e5e7eb;--color-border-light:#ebebeb;--color-header-bg:#fff;--color-input-bg:#fff;--color-bubble-user:#f4f4f4;--color-bubble-assistant:#fff;--color-menu-bg:#f7f7f7;--color-menu-hover:#e5e7eb;--color-menu-active-bar:var(--color-primary);--color-settings-bg:#fff;--color-reasoning-bg:#fff;--color-reasoning-border:#dfe2e5;--color-tokens-bg:#f3f4f6;--color-switch-bg:#ccc;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 4px 12px #0000000d;--shadow-input:0 4px 6px #0000001a;--shadow-primary:0 6px 30px -10px var(--color-primary);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--code-font-family:"Fira Code", "Consolas", "Monaco", "Courier New", monospace;--code-lang-text:#666;--code-block-bg:#282c34;--code-header-bg:#f7f7f7;--code-border:#e5e7eb;--code-text:#abb2bf;--code-header-button-hover-bg:#e5e7eb;--transition-fast:.2s ease;--transition-normal:.3s ease}[data-theme=pink]{--color-primary:#ff6fa5;--color-primary-hover:#e85d91;--color-primary-light:#fff0f5;--color-primary-light-hover:#ffe0ec;--color-bg:#fff8fb;--color-bg-secondary:#fff0f5;--color-bg-tertiary:#ffe8f2;--color-bg-card:#fff;--color-text-primary:#3d1a2e;--color-text-secondary:#8b5a72;--color-text-muted:#b07a96;--color-text-placeholder:#c49ab0;--color-border:#ffd6e7;--color-border-light:#ffe8f2;--color-header-bg:#fff8fb;--color-input-bg:#fff;--color-bubble-user:#ffe8f2;--color-bubble-assistant:#fff;--color-menu-bg:#fff0f5;--color-menu-hover:#ffd6e7;--color-menu-active-bar:var(--color-primary);--color-settings-bg:#fff8fb;--color-reasoning-bg:#fff8fb;--color-reasoning-border:#ffd6e7;--color-tokens-bg:#fff0f5;--color-switch-bg:#ffb3d1;--shadow-sm:0 2px 8px #ff6fa514;--shadow-md:0 4px 12px #ff6fa526;--shadow-lg:0 4px 16px #ff6fa51a;--shadow-input:0 4px 12px #ff6fa526;--shadow-primary:0 6px 30px -10px #ff6fa599;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--code-header-bg:#fff0f5;--code-border:#ffd6e7;--code-lang-text:#b07a96;--code-header-button-hover-bg:#ffd6e7}.code-block pre.hljs{color:var(--code-text)}.code-block.dark-theme{--code-block-bg:#282c34;--code-header-bg:#21252b;--code-border:#181a1f;--code-lang-text:#abb2bf;--code-header-button-hover-bg:#2c313a;--code-text:#abb2bf}.code-block.dark-theme pre.hljs{background-color:var(--code-block-bg)}.code-block.dark-theme .code-header{background-color:var(--code-header-bg);border-color:var(--code-border)}.code-block.dark-theme .code-header .code-lang{color:var(--code-lang-text)}@keyframes heart-float{0%{opacity:0;transform:translateY(0)scale(.5)}50%{opacity:1;transform:translateY(-12px)scale(1.1)}to{opacity:0;transform:translateY(-24px)scale(.8)}}@keyframes pink-glow-pulse{0%,to{box-shadow:0 0 #ff6fa566}50%{box-shadow:0 0 0 6px #ff6fa500}}*{transition:background-color var(--transition-normal), border-color var(--transition-normal), color var(--transition-normal), box-shadow var(--transition-normal)}button,a,input,textarea,select{transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), opacity var(--transition-fast)}body{line-height:1.6}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .3s}.slide-fade-enter-from,.slide-fade-leave-to{opacity:0;transform:translateY(10px)}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.message-item{align-items:flex-start;gap:10px;margin-bottom:2rem;display:flex}.message-item.is-mine{justify-content:flex-end}.message-item.is-mine .content .bubble.markdown-body{background-color:var(--color-bubble-user)}.msg-avatar{object-fit:cover;border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:34px;height:34px;margin-top:2px;transition:transform .2s}.msg-avatar:hover{transform:scale(1.1)}.msg-avatar--ai{order:-1}.msg-avatar--user{order:1}.message-item .content{width:fit-content;min-width:0;max-width:100%;position:relative;overflow:hidden}.message-item .content:hover .heart-hint{opacity:1}.message-item .content .heart-hint{opacity:0;pointer-events:none;transition:opacity var(--transition-fast);color:#ff6fa5;font-size:.75rem;animation:1s ease-out forwards heart-float;position:absolute;top:-8px;right:8px}.message-item .content .reasoning-toggle{cursor:pointer;border-radius:var(--radius-sm);background-color:var(--color-primary-light);width:fit-content;transition:background-color var(--transition-fast);align-items:center;gap:4px;margin-bottom:8px;margin-left:16px;padding:4px 8px;display:flex}.message-item .content .reasoning-toggle img{width:14px;height:14px}.message-item .content .reasoning-toggle span{color:var(--color-primary);font-size:13px}.message-item .content .reasoning-toggle .toggle-icon{color:var(--color-primary);transition:transform var(--transition-fast);font-size:12px}.message-item .content .reasoning-toggle .toggle-icon.is-expanded{transform:rotate(180deg)}.message-item .content .reasoning-toggle:hover{background-color:var(--color-primary-light-hover)}.message-item .content .reasoning{background-color:var(--color-reasoning-bg);border-left:3px solid var(--color-reasoning-border);color:var(--color-text-muted);margin-bottom:8px;margin-left:16px;padding:0 16px;font-size:14px;line-height:1.6}.message-item .content .reasoning p{margin:0}.message-item .content .reasoning p:not(:last-child){margin-bottom:8px}.message-item .content .reasoning code{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:2px 4px;font-size:.9em}.message-item .content .bubble.markdown-body{background-color:var(--color-bubble-assistant);border-radius:var(--radius-lg);word-break:break-word;width:100%;transition:box-shadow var(--transition-fast), transform var(--transition-fast);padding:.75rem 1rem;font-size:1rem;line-height:1.5;display:block;overflow:hidden}.message-item .content .bubble.markdown-body:hover{box-shadow:var(--shadow-md)}[data-theme=pink] .message-item .content .bubble.markdown-body:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ff6fa526}.message-item .content .bubble.markdown-body .code-block{border:1px solid var(--code-border);border-radius:var(--radius-md);width:100%;margin:.5rem 0;overflow:hidden}.message-item .content .bubble.markdown-body .code-block>pre{margin:0!important}.message-item .content .bubble.markdown-body .code-block .code-header{background-color:var(--code-header-bg);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.message-item .content .bubble.markdown-body .code-block .code-header .code-lang{color:var(--code-lang-text);font-size:.875rem;font-family:var(--code-font-family)}.message-item .content .bubble.markdown-body .code-block .code-header .code-actions{gap:.5rem;display:flex}.message-item .content .bubble.markdown-body .code-block .code-header .code-actions .code-action-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;display:flex;position:relative}.message-item .content .bubble.markdown-body .code-block .code-header .code-actions .code-action-btn img{width:1rem;height:1rem;transition:filter var(--transition-fast)}.message-item .content .bubble.markdown-body .code-block .code-header .code-actions .code-action-btn:after{content:attr(data-tooltip);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:10;background-color:#000000bf;margin-bottom:5px;padding:.25rem .5rem;font-size:.75rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.message-item .content .bubble.markdown-body .code-block .code-header .code-actions .code-action-btn:hover{background-color:var(--code-header-button-hover-bg)}.message-item .content .bubble.markdown-body .code-block .code-header .code-actions .code-action-btn:hover:after{opacity:1;visibility:visible}.message-item .content .bubble.markdown-body .code-block pre.hljs{background-color:var(--code-block-bg);white-space:pre;padding:1rem;overflow-x:auto;margin:0!important}.message-item .content .bubble.markdown-body .code-block pre.hljs code{white-space:pre}.message-item .content .bubble.markdown-body p{margin:0}.message-item .content .bubble.markdown-body p:not(:last-child){margin-bottom:.5rem}.message-item .content .bubble.markdown-body code:not(pre code){font-family:var(--code-font-family);background-color:var(--color-bg-tertiary);border-radius:.25rem;padding:.2em .4em}.message-item .content .bubble.markdown-body ul,.message-item .content .bubble.markdown-body ol{margin:.5rem 0;padding-left:1.5rem}.message-item .content .bubble.markdown-body blockquote{border-left:4px solid var(--color-border);color:var(--color-text-secondary);margin:.5rem 0;padding-left:1rem}.message-item .content .bubble.markdown-body table{border-collapse:collapse;width:100%;margin:.5rem 0}.message-item .content .bubble.markdown-body table th,.message-item .content .bubble.markdown-body table td{border:1px solid var(--color-border);padding:.5rem}.message-item .content .bubble.markdown-body table th{background-color:var(--color-bg-tertiary)}.message-item .content .bubble.markdown-body a{color:var(--color-primary);text-decoration:none}.message-item .content .bubble.markdown-body a:hover{text-decoration:underline}.message-item .content .bubble.markdown-body img{border-radius:var(--radius-md);max-width:100%}.message-item .content .message-actions{gap:.5rem;margin-top:.5rem;padding-left:1rem;display:flex}.message-item .content .message-actions .action-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;display:flex;position:relative}.message-item .content .message-actions .action-btn img{width:1rem;height:1rem;transition:filter var(--transition-fast)}.message-item .content .message-actions .action-btn:after{content:attr(data-tooltip);color:#fff;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);background-color:#000000bf;margin-bottom:5px;padding:.25rem .5rem;font-size:.75rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.message-item .content .message-actions .action-btn:hover{background-color:var(--color-primary-light);box-shadow:var(--shadow-sm);transform:scale(1.1)}.message-item .content .message-actions .action-btn:hover img{filter:brightness(.4)}.message-item .content .message-actions .action-btn:hover:after{opacity:1;visibility:visible}.message-item .content .message-actions .action-btn img[src*="2"]{filter:none}.message-item .content .message-actions .tokens-info{color:var(--color-text-secondary);background-color:var(--color-tokens-bg);border-radius:.25rem;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.thinking-text{color:var(--color-text-muted);align-items:center;gap:8px;padding:.75rem 1rem;font-size:.875rem;display:flex}.thinking-text .loading-icon{width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.files-container{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.files-container .file-item .image-preview{border-radius:var(--radius-md);max-width:200px;overflow:hidden}.files-container .file-item .image-preview img{max-width:100%;height:auto;display:block}.files-container .file-item .file-preview{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px;display:flex}.files-container .file-item .file-preview .file-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.files-container .file-item .file-preview .file-size{color:var(--color-text-muted);font-size:12px}.search-dialog{background:var(--color-bg-card);border-radius:var(--radius-md);min-width:320px;max-width:640px;max-height:600px;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.search-dialog .search-header{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:12px}.search-dialog .search-header .search-input{align-items:center;width:100%;height:40px;padding:0 12px;display:flex;position:relative}.search-dialog .search-header .search-input input{height:100%;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;padding-right:40px;font-size:1rem}.search-dialog .search-header .search-input input::placeholder{color:var(--color-text-placeholder)}.search-dialog .search-header .search-input .action-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-dialog .search-header .search-input .action-btn img{width:16px;height:16px}.search-dialog .search-header .search-input .action-btn:hover{background-color:var(--color-primary-light);transform:translateY(-50%)scale(1.1)}.search-dialog .search-header .search-input .action-btn:disabled{opacity:.5;cursor:not-allowed}.search-dialog .dialog-content{flex-direction:column;flex:1;gap:16px;padding:12px;display:flex;overflow-y:auto}.search-dialog .dialog-content .initial-message{color:var(--color-text-primary);align-items:center;padding:12px;font-size:14px;line-height:1.5;display:flex}.search-dialog .dialog-content .suggested-prompts{flex-direction:column;gap:12px;margin-top:24px;display:flex}.search-dialog .dialog-content .suggested-prompts .prompt-title{color:var(--color-text-secondary);padding-left:12px;font-size:12px}.search-dialog .dialog-content .suggested-prompts .prompt-list{flex-direction:column;gap:8px;display:flex}.search-dialog .dialog-content .suggested-prompts .prompt-list .prompt-item{text-align:left;border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:14px}.search-dialog .dialog-content .suggested-prompts .prompt-list .prompt-item:hover{background-color:var(--color-primary-light);transform:translate(4px)}.theme-toggle-btn{cursor:pointer;border-radius:var(--radius-sm);width:2rem;height:2rem;transition:transform var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle-btn .theme-toggle-icon{font-size:1.1rem;line-height:1}.theme-toggle-btn:hover{background-color:#0000000d;transform:scale(1.15)}.theme-toggle-btn.is-pink:hover{background-color:var(--color-primary-light)}.floating-heart{pointer-events:none;color:#ff6fa5;z-index:9999;font-size:1rem;animation:.7s ease-out forwards heart-burst;position:fixed;transform:translate(-50%,-50%)}@keyframes heart-burst{0%{opacity:1;transform:translate(-50%,-50%)translate(0)scale(1)}to{opacity:0;transform:translate(-50%, -50%) translate(var(--dx), var(--dy)) scale(.4)}}.home-page{background-color:var(--color-bg);min-height:100vh}.header{border-bottom:1px solid var(--color-border);background-color:var(--color-header-bg);justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex}.header .header-left{flex-shrink:0}.header .header-left .logo-brand{cursor:default;align-items:center;gap:10px;display:flex}.header .header-left .logo-brand:hover .logo-avatar{box-shadow:0 0 0 3px var(--color-primary-light);transform:scale(1.08)rotate(3deg)}.header .header-left .logo-avatar{object-fit:cover;border:2px solid var(--color-primary-light);border-radius:50%;width:36px;height:36px;transition:transform .2s,box-shadow .2s}.header .header-left .logo-text{color:var(--color-text-primary);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:20px;font-weight:600}.header .header-right{flex:1;justify-content:flex-end;align-items:center;gap:16px;display:flex}.header .header-right .search-container{flex:1;min-width:40px;max-width:280px;margin-left:16px}.header .header-right .search-container .search-input{border-radius:var(--radius-md);background-color:var(--color-bg-tertiary);cursor:pointer;width:100%;height:32px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;align-items:center;padding:0 12px;display:flex}.header .header-right .search-container .search-input:hover{border-color:var(--color-border)}.header .header-right .search-container .search-input .search-icon{color:var(--color-text-muted);flex-shrink:0;margin-right:8px}.header .header-right .search-container .search-input input{width:0;min-width:0;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;outline:none;flex:1;font-size:13px}.header .header-right .search-container .search-input input::placeholder{color:var(--color-text-muted)}.header .header-right .search-container .search-input .shortcut-key{color:var(--color-text-primary);background-color:var(--color-bg);border-radius:var(--radius-sm);border:1.5px solid var(--color-border);flex-shrink:0;padding:2px 4px;font-size:12px}.header .header-right .github-link{height:32px;transition:transform var(--transition-fast);flex-shrink:0;align-items:center;display:flex}.header .header-right .github-link:hover{transform:scale(1.1)}.header .header-right .github-icon{cursor:pointer;width:22px;height:22px}.main-content{max-width:1200px;margin:0 auto;padding:80px 20px}.main-content .hero-section{text-align:center}.main-content .hero-section .title{color:var(--color-text-primary);margin-bottom:24px;font-size:48px;font-weight:700}.main-content .hero-section .description{color:var(--color-text-secondary);max-width:600px;margin:0 auto 64px;font-size:20px;line-height:1.5}.main-content .hero-section .features{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin-bottom:64px;display:grid}.main-content .hero-section .features .feature-item{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);transition:transform var(--transition-normal), box-shadow var(--transition-normal);padding:32px}.main-content .hero-section .features .feature-item:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.main-content .hero-section .features .feature-item .feature-icon{color:var(--color-primary);margin-bottom:20px}.main-content .hero-section .features .feature-item h3{color:var(--color-text-primary);margin-bottom:12px;font-size:20px;font-weight:600}.main-content .hero-section .features .feature-item p{color:var(--color-text-secondary);font-size:16px;line-height:1.5}.main-content .hero-section .features .feature-item .note{color:var(--color-text-muted);margin-top:8px;font-size:12px;font-style:italic}.main-content .hero-section .start-button{color:#fff;background:var(--color-primary);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal);box-shadow:var(--shadow-primary);padding:20px 40px;font-size:18px;font-weight:600;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.main-content .hero-section .start-button .mirror-text{z-index:1;text-transform:uppercase;color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 1px #0000004d);background:linear-gradient(#fff 0%,#fffc 50%,#fff9 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;position:relative}.main-content .hero-section .start-button:before{content:"";background:linear-gradient(120deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%}.main-content .hero-section .start-button .liquid{background:var(--color-primary-hover);width:200px;height:200px;transition:all .5s;position:absolute;top:-80px;left:0;box-shadow:inset 0 0 50px #0000004d}.main-content .hero-section .start-button .liquid:before,.main-content .hero-section .start-button .liquid:after{content:"";background:var(--color-bg);width:200%;height:200%;position:absolute;top:0;left:50%;transform:translate(-50%,-75%)}.main-content .hero-section .start-button .liquid:before{border-radius:45%;animation:5s linear infinite animate}.main-content .hero-section .start-button .liquid:after{border-radius:40%;animation:10s linear infinite animate}.main-content .hero-section .start-button:hover{box-shadow:0 10px 40px -10px var(--color-primary);transform:translateY(-2px)}.main-content .hero-section .start-button:hover:before{left:100%}.main-content .hero-section .start-button:hover .liquid{top:-120px}.main-content .hero-section .start-button:active{transform:scale(.98)translateY(0)}@keyframes animate{0%{transform:translate(-50%,-75%)rotate(0)}to{transform:translate(-50%,-75%)rotate(360deg)}}.search-dialog-overlay{z-index:1000;background-color:#0006;justify-content:center;display:flex;position:fixed;inset:0}.search-dialog-container{width:640px;margin-top:15vh}.chat-input-wrapper{background-color:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-input);padding:.8rem}.chat-input-wrapper .preview-area{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.chat-input-wrapper .preview-area .preview-item{border-radius:var(--radius-md);position:relative;overflow:hidden}.chat-input-wrapper .preview-area .preview-item .image-preview{width:60px;height:60px}.chat-input-wrapper .preview-area .preview-item .image-preview img{object-fit:cover;width:100%;height:100%}.chat-input-wrapper .preview-area .preview-item .file-preview{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px;display:flex}.chat-input-wrapper .preview-area .preview-item .file-preview .file-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.chat-input-wrapper .preview-area .preview-item .file-preview .file-size{color:var(--color-text-muted);font-size:12px}.chat-input-wrapper .preview-area .preview-item .remove-btn{cursor:pointer;color:#fff;background-color:#00000080;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:4px;right:4px}.chat-input-wrapper .preview-area .preview-item .remove-btn:hover{background-color:#000000b3}.chat-input-wrapper textarea{border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);resize:none;background:0 0;border:none;outline:none;padding:8px 0;font-family:inherit;font-size:14px}.chat-input-wrapper textarea::placeholder{color:var(--color-text-placeholder)}.chat-input-wrapper textarea:focus{border:none;outline:none}[data-theme=pink] .chat-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff6fa533, var(--shadow-input);animation:1.5s ease-in-out infinite pink-glow-pulse}.chat-input-wrapper .button-group{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.chat-input-wrapper .button-group .upload-btn{display:inline-block}.chat-input-wrapper .button-group .divider{background-color:var(--color-border);width:1px;height:1rem;margin:0 .125rem 0 .25rem}.chat-input-wrapper .button-group .action-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;display:flex}.chat-input-wrapper .button-group .action-btn img{width:1rem;height:1rem}.chat-input-wrapper .button-group .action-btn:hover{background-color:var(--color-primary-light);transform:scale(1.1)}.chat-input-wrapper .button-group .action-btn.send-btn{background-color:var(--color-primary);width:2rem;height:2rem}.chat-input-wrapper .button-group .action-btn.send-btn img{width:1.25rem;height:1.25rem}.chat-input-wrapper .button-group .action-btn.send-btn:hover{background-color:var(--color-primary-hover);transform:scale(1.08)}.chat-input-wrapper .button-group .action-btn.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-input-wrapper .button-group .action-btn.stop-btn{background-color:var(--color-primary);color:#fff;border-radius:50%;width:2rem;height:2rem}.chat-input-wrapper .button-group .action-btn.stop-btn:hover{background-color:var(--color-primary-hover);transform:scale(1.08)}.conversation-item{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex;position:relative}.conversation-item .conv-icon{color:var(--color-text-muted);transition:color var(--transition-fast);flex-shrink:0}.conversation-item .conv-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.875rem;overflow:hidden}.conversation-item .rename-input{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text-primary);min-width:0;box-shadow:0 0 0 2px var(--color-primary-light);outline:none;flex:1;padding:1px 6px;font-size:.875rem}.conversation-item .conv-actions{opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;gap:2px;display:flex}.conversation-item .conv-actions .conv-action-btn{cursor:pointer;border-radius:var(--radius-sm);width:22px;height:22px;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.conversation-item .conv-actions .conv-action-btn img{opacity:.6;width:12px;height:12px}.conversation-item .conv-actions .conv-action-btn:hover{background-color:var(--color-border)}.conversation-item .conv-actions .conv-action-btn:hover img{opacity:1}.conversation-item:hover{background-color:var(--color-bg-tertiary)}.conversation-item:hover .conv-actions{opacity:1}.conversation-item:hover .conv-icon{color:var(--color-primary)}.conversation-item.active{background-color:var(--color-primary-light)}.conversation-item.active .conv-title{color:var(--color-primary);font-weight:500}.conversation-item.active .conv-icon{color:var(--color-primary)}.conversation-item.active .conv-actions{opacity:1}.conv-list{flex-direction:column;gap:4px;padding:4px 8px;display:flex}.conv-group{margin-bottom:8px}.conv-group .conv-group-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px 4px;font-size:.7rem;font-weight:600}.conv-list-empty{color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.conv-list-empty svg{opacity:.4}.conv-list-empty p{font-size:.875rem}.sidebar{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);width:260px;height:100vh;transition:width var(--transition-normal);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sidebar.collapsed{width:56px}.sidebar.collapsed .new-chat-btn{border-radius:var(--radius-md);justify-content:center;width:36px;height:36px;padding:0}.sidebar-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 12px 10px;display:flex}.sidebar-header .sidebar-brand{cursor:default;align-items:center;gap:8px;display:flex}.sidebar-header .sidebar-brand:hover .sidebar-avatar{transform:scale(1.08)rotate(3deg)}.sidebar-header .sidebar-avatar{object-fit:cover;border:2px solid var(--color-primary-light);border-radius:50%;flex-shrink:0;width:32px;height:32px;transition:transform .2s,box-shadow .2s}.sidebar-header .sidebar-avatar:hover{box-shadow:0 0 0 3px var(--color-primary-light)}.sidebar-header .sidebar-logo{color:var(--color-text-primary);white-space:nowrap;font-size:1rem;font-weight:700}.sidebar-header .sidebar-toggle-btn{cursor:pointer;border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-header .sidebar-toggle-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-new-chat{flex-shrink:0;padding:4px 12px 8px}.sidebar-new-chat .new-chat-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%;color:var(--color-primary);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;font-weight:500;display:flex}.sidebar-new-chat .new-chat-btn svg{flex-shrink:0}.sidebar-new-chat .new-chat-btn:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:scale(1.02)}.sidebar-list{flex:1;overflow:hidden auto}.sidebar-list::-webkit-scrollbar{width:4px}.sidebar-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:2px}.sidebar-list::-webkit-scrollbar-track{background:0 0}.chat-layout{background-color:var(--color-bg);height:100vh;display:flex;overflow:hidden}.chat-layout-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-layout-topbar{border-bottom:1px solid var(--color-border);background-color:var(--color-header-bg);flex-shrink:0}.chat-layout-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{background-color:var(--color-header-bg);justify-content:space-between;align-items:center;height:52px;padding:0 1rem;display:flex}.topbar .topbar-left{flex:1;align-items:center;min-width:0;display:flex}.topbar .topbar-left .topbar-title-wrapper{cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);align-items:center;gap:6px;padding:4px 6px;display:flex}.topbar .topbar-left .topbar-title-wrapper:hover{background-color:var(--color-bg-tertiary)}.topbar .topbar-left .topbar-title-wrapper:hover .topbar-edit-hint{opacity:1}.topbar .topbar-left .topbar-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:300px;margin:0;font-size:.9rem;font-weight:500;overflow:hidden}.topbar .topbar-left .topbar-edit-hint{opacity:0;transition:opacity var(--transition-fast);align-items:center;display:flex}.topbar .topbar-left .topbar-edit-hint img{opacity:.5}.topbar .topbar-left .topbar-title-input{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none;min-width:200px;padding:3px 8px;font-size:.9rem;font-weight:500}.topbar .topbar-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.topbar .topbar-right .topbar-btn{cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.topbar .topbar-right .topbar-btn img{opacity:.7;width:16px;height:16px;transition:opacity var(--transition-fast)}.topbar .topbar-right .topbar-btn:hover{background-color:var(--color-primary-light);color:var(--color-primary);transform:scale(1.08)}.topbar .topbar-right .topbar-btn:hover img{opacity:1}.settings-overlay{z-index:2000;background-color:#0006;justify-content:flex-end;display:flex;position:fixed;inset:0}.settings-drawer{background:var(--color-settings-bg);flex-direction:column;width:350px;height:100%;display:flex;box-shadow:-2px 0 8px #00000026}.settings-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px;display:flex}.settings-header h2{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:600}.settings-header .close-btn{cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;padding:4px}.settings-header .close-btn:hover{color:var(--color-text-primary);background-color:var(--color-primary-light);transform:scale(1.1)}.settings-container{color:var(--color-text-primary);flex:1;padding:20px;overflow-y:auto}.setting-item{margin-bottom:24px}.setting-item .setting-label{color:var(--color-text-primary);align-items:center;gap:8px;margin-bottom:8px;font-weight:500;display:flex}.setting-item .setting-label-row{color:var(--color-text-primary);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.setting-item .setting-label-row .label-with-tooltip{align-items:center;gap:8px;display:flex}.setting-item .setting-label-row .get-key-link{color:var(--color-primary);font-size:14px;text-decoration:none}.setting-item .setting-label-row .get-key-link:hover{text-decoration:underline}.setting-item .tooltip-icon{background:var(--color-border);width:16px;height:16px;color:var(--color-text-secondary);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.setting-item .setting-control{align-items:center;gap:16px;display:flex}.setting-item .setting-control .setting-slider{accent-color:var(--color-primary);flex:1}.setting-item .setting-control .number-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);width:120px;color:var(--color-text-primary);outline:none;padding:4px 8px}.setting-item .setting-control .number-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.setting-item .model-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);width:100%;color:var(--color-text-primary);outline:none;padding:8px 12px}.setting-item .model-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.setting-item input[type=password],.setting-item input[type=text]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);width:100%;color:var(--color-text-primary);outline:none;padding:8px 12px}.setting-item input[type=password]:focus,.setting-item input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.setting-item .switch{width:44px;height:24px;display:inline-block;position:relative}.setting-item .switch input{opacity:0;width:0;height:0}.setting-item .switch .slider{cursor:pointer;background-color:var(--color-switch-bg);border-radius:24px;transition:all .4s;position:absolute;inset:0}.setting-item .switch .slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}.setting-item .switch input:checked+.slider{background-color:var(--color-primary)}.setting-item .switch input:checked+.slider:before{transform:translate(20px)}.messages-container{background-color:var(--color-bg-secondary);flex:1;width:100%;min-width:0;max-width:796px;margin:0 auto;padding:1rem .6rem;overflow-y:auto}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.messages-container::-webkit-scrollbar-track{background-color:#0000}.empty-state{justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.empty-state .empty-content{text-align:center}.empty-state .empty-content .empty-icon{opacity:.4;width:64px;height:64px;margin-bottom:1.5rem}.empty-state .empty-content h2{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:500}.empty-state .empty-content p{color:var(--color-text-secondary);margin:0;font-size:1rem}.chat-input-container{background-color:var(--color-bg);flex-shrink:0;width:100%;max-width:796px;margin:0 auto;padding:.6rem}
