::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00d9ff4d,#00ff884d);border-radius:10px;border:1px solid rgba(255,255,255,.1)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#00d9ff80,#00ff8880)}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.025em;line-height:1.3}.text-xs{font-size:.75rem;line-height:1.4}.text-sm{font-size:.875rem;line-height:1.5}.text-base{font-size:1rem;line-height:1.6}.text-lg{font-size:1.125rem;line-height:1.5}.text-xl{font-size:1.25rem;line-height:1.4}.text-2xl{font-size:1.5rem;line-height:1.3}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.message{max-width:100%;margin-bottom:2rem;word-wrap:break-word;animation:messageSlideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message.user{display:flex;justify-content:flex-end;margin-left:auto}.message.user .message-content{background:linear-gradient(135deg,#00d9ff,#00c4e6);color:#fff;padding:16px 20px;border-radius:24px 24px 8px;max-width:75%;box-shadow:0 4px 20px #00d9ff4d;font-weight:500;letter-spacing:-.01em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.message.assistant{display:flex;gap:16px;margin-right:auto}.message.assistant .avatar{width:40px;height:40px;background:linear-gradient(135deg,#00d9ff,#0f8);border-radius:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:4px;box-shadow:0 4px 12px #00d9ff66;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1)}.message.assistant .avatar svg{width:20px;height:20px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.message.assistant .message-content{background:#252525cc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#f8f9fa;padding:20px 24px;border-radius:24px 24px 24px 8px;flex:1;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0003;line-height:1.7;font-weight:400;letter-spacing:-.01em}.message.system{text-align:center;margin:2rem 0}.message.system .message-content{display:inline-block;background:#ffffff0d;color:#b4b4b4;padding:8px 16px;border-radius:16px;font-size:.875rem;border:1px solid rgba(255,255,255,.1)}.folder-item,.chat-item{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:16px;margin-bottom:4px;position:relative;overflow:hidden}.folder-item{padding:12px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid transparent}.folder-item:hover{background:#00d9ff1a;border-color:#00d9ff33;transform:translate(4px);box-shadow:0 4px 12px #00d9ff1a}.folder-item.expanded{background:linear-gradient(135deg,#00d9ff26,#00ff8826);border-color:#00d9ff4d;box-shadow:0 4px 20px #00d9ff33}.chat-item{padding:12px 18px;margin:2px 0;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid transparent}.chat-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(135deg,#00d9ff,#0f8);transition:width .3s ease}.chat-item:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translate(6px);box-shadow:0 4px 16px #0000001a}.chat-item:hover:before{width:3px}.chat-item.active{background:linear-gradient(135deg,#00d9ff33,#0f83);color:#fff;border-color:#00d9ff66;box-shadow:0 8px 32px #00d9ff4d;transform:translate(8px)}.chat-item.active:before{width:4px}.chat-item.active:hover{background:linear-gradient(135deg,#00d9ff4d,#00ff884d)}.chat-item.active .chat-meta{color:#ffffffe6}.chat-meta{color:#a0a0a0;font-size:.75rem;margin-top:4px;font-weight:500;letter-spacing:-.01em}.folder-content{overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out}.typing-indicator{display:inline-flex;align-items:center;gap:8px;padding:16px 0}.typing-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#00d9ff,#0f8);animation:modernTyping 1.6s infinite ease-in-out;box-shadow:0 2px 8px #00d9ff66}.typing-dot:nth-child(1){animation-delay:-.4s}.typing-dot:nth-child(2){animation-delay:-.2s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes modernTyping{0%,80%,to{transform:scale(.6) translateY(0);opacity:.4;box-shadow:0 2px 4px #00d9ff33}40%{transform:scale(1) translateY(-8px);opacity:1;box-shadow:0 8px 16px #00d9ff99}}button{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transition:all .5s ease;border-radius:50%;transform:translate(-50%,-50%)}button:not(:disabled):hover:before{width:300px;height:300px}button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.1)}button:not(:disabled):active{transform:translateY(0);transition:transform .1s ease}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px #00d9ff33;border-color:#00d9ff!important}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #00d9ff;outline-offset:2px}.context-menu{position:fixed;background:#1a1a1af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px 0;box-shadow:0 20px 60px #0006;z-index:1000;min-width:200px;animation:contextMenuSlideIn .2s cubic-bezier(.4,0,.2,1)}@keyframes contextMenuSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-item{padding:12px 20px;cursor:pointer;font-size:14px;font-weight:500;color:#f8f9fa;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;position:relative;letter-spacing:-.01em}.context-menu-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(135deg,#00d9ff,#0f8);transition:width .2s ease}.context-menu-item:hover{background:#00d9ff1a;transform:translate(4px)}.context-menu-item:hover:before{width:3px}.context-menu-item.danger:hover{background:#ff47571a;color:#ff4757}.context-menu-item.danger:hover:before{background:#ff4757}.settings-tab{color:#b4b4b4;transition:all .2s ease}.settings-tab.active{background:#10a37f1a;color:#10a37f}.settings-tab:hover{background:#ffffff0d}.settings-panel{display:none}.settings-panel.active{display:block;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.model-card{background:#2f2f2f;border:1px solid #404040;border-radius:16px;padding:20px;transition:all .3s ease;position:relative;overflow:hidden}.model-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#10a37f,#0d8a6b);opacity:0;transition:opacity .3s ease}.model-card:hover{border-color:#10a37f;box-shadow:0 8px 32px #10a37f1a;transform:translateY(-2px)}.model-card:hover:before{opacity:1}.model-card.error{border-color:#ef4444;background:#ef44440d}.model-card.success{border-color:#10b981;background:#10b9810d}.model-template{transition:all .2s ease}.model-template:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.status-indicator{width:10px;height:10px;border-radius:50%;display:inline-block;position:relative}.status-indicator.online{background:#10b981;box-shadow:0 0 8px #10b98166}.status-indicator.online:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:#10b981;animation:pulse-ring 2s infinite}.status-indicator.offline{background:#6b7280}.status-indicator.testing{background:#f59e0b;animation:pulse 1s infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(2);opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#newChatModal .bg-dark-surface,#newFolderModal .bg-dark-surface,#chatSettingsModal .bg-dark-surface,#appSettingsModal .bg-dark-surface,#modelModal .bg-dark-surface{background:#2f2f2f;border:1px solid #404040;box-shadow:0 20px 60px #0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.z-60{z-index:60}.message.assistant .message-content{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3,.message.assistant .message-content h4,.message.assistant .message-content h5,.message.assistant .message-content h6{font-weight:600;margin:1.5rem 0 .75rem;color:#fff;line-height:1.3}.message.assistant .message-content h1{font-size:1.5rem}.message.assistant .message-content h2{font-size:1.25rem}.message.assistant .message-content h3{font-size:1.125rem}.message.assistant .message-content h4{font-size:1rem}.message.assistant .message-content h1:first-child,.message.assistant .message-content h2:first-child,.message.assistant .message-content h3:first-child{margin-top:0}.message.assistant .message-content p{margin:1rem 0;line-height:1.7}.message.assistant .message-content p:first-child{margin-top:0}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content ul,.message.assistant .message-content ol{margin:1rem 0;padding-left:1.5rem}.message.assistant .message-content ul{list-style-type:disc}.message.assistant .message-content ol{list-style-type:decimal}.message.assistant .message-content li{margin:.5rem 0;line-height:1.6}.message.assistant .message-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid #10a37f;background:#10a37f1a;border-radius:0 8px 8px 0;font-style:italic}.code-block-container{margin:2rem 0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0a0a0acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000004d;animation:codeBlockSlideIn .3s ease-out}@keyframes codeBlockSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:linear-gradient(135deg,#00d9ff1a,#00ff881a);border-bottom:1px solid rgba(255,255,255,.1);font-size:.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.code-block-language{color:#00d9ff;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.copy-code-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:12px;color:#00d9ff;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.copy-code-btn:hover{background:#00d9ff33;border-color:#00d9ff80;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 20px #00d9ff4d}.copy-code-btn.copied{background:#0f83;border-color:#00ff8880;color:#0f8}.code-block{margin:0;padding:24px 28px;background:#0a0a0ae6;overflow-x:auto;font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.875rem;line-height:1.7;font-weight:400}.code-block code{background:none!important;padding:0!important;border-radius:0!important;font-size:inherit;color:#f8f9fa}.inline-code{background:#00d9ff26;color:#00d9ff;padding:4px 8px;border-radius:8px;font-family:JetBrains Mono,SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.85em;font-weight:500;border:1px solid rgba(0,217,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:-.01em}.table-container{margin:1.5rem 0;overflow-x:auto;border:1px solid #404040;border-radius:12px;box-shadow:0 2px 8px #0000001a}.markdown-table{width:100%;border-collapse:collapse;font-size:.875rem}.markdown-table th,.markdown-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #404040}.markdown-table th{background:#2a2a2a;font-weight:600;color:#fff}.markdown-table tr:hover{background:#10a37f0d}.markdown-table tr:last-child td{border-bottom:none}.markdown-link{color:#10a37f;text-decoration:underline;text-decoration-color:#10a37f80;transition:all .2s ease}.markdown-link:hover{color:#0d8a6b;text-decoration-color:#0d8a6b}.message.assistant .message-content strong{font-weight:600;color:#fff}.message.assistant .message-content em{font-style:italic;color:#e0e0e0}@media (max-width: 1024px){.w-80{width:280px}.max-w-4xl{max-width:100%}}@media (max-width: 768px){.w-80{width:100%;max-width:320px;position:fixed;left:-100%;top:0;bottom:0;z-index:50;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:20px 0 60px #00000080}.w-80.mobile-open{left:0}.mobile-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-overlay.active{opacity:1;visibility:visible}.message.user .message-content,.message.assistant .message-content{max-width:90%;padding:14px 18px}.message.assistant{gap:12px}.message.assistant .avatar{width:32px;height:32px}.code-block{font-size:.75rem;padding:16px 20px}.code-block-header{padding:12px 16px;flex-direction:column;gap:8px;align-items:flex-start}.copy-code-btn{align-self:flex-end}.max-w-4xl{padding:0 16px}.toast{top:16px;right:16px;left:16px;min-width:auto;max-width:none}button{min-height:44px}}@media (max-width: 480px){.p-6{padding:16px}.text-xl{font-size:1.125rem}.text-2xl{font-size:1.25rem}.message{margin-bottom:1.5rem}.code-block{font-size:.7rem;padding:12px 16px}}.toast{position:fixed;top:24px;right:24px;background:#1a1a1af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);color:#f8f9fa;padding:16px 24px;border-radius:16px;box-shadow:0 20px 60px #0006;z-index:9999;animation:toastSlideIn .4s cubic-bezier(.4,0,.2,1);min-width:300px;max-width:400px;font-weight:500;letter-spacing:-.01em}.toast.success{border-color:#0f86;background:#00ff881a;color:#0f8;box-shadow:0 20px 60px #0f83}.toast.error{border-color:#ff475766;background:#ff47571a;color:#ff4757;box-shadow:0 20px 60px #ff475733}.toast.warning{border-color:#fa06;background:#ffaa001a;color:#fa0;box-shadow:0 20px 60px #fa03}@keyframes toastSlideIn{0%{transform:translate(100%) scale(.9);opacity:0}to{transform:translate(0) scale(1);opacity:1}}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;inset:0;background:#0009;border-radius:inherit;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:loadingPulse 2s ease-in-out infinite}@keyframes loadingPulse{0%,to{opacity:.6}50%{opacity:.8}}.skeleton{background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:skeletonLoading 1.5s infinite;border-radius:12px}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin:8px 0}.skeleton-text.large{height:24px}.skeleton-text.small{height:12px}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-button{height:44px;border-radius:16px}.skeleton-card{height:120px;border-radius:20px}html{scroll-behavior:smooth}input,textarea,select{transition:all .2s ease}input:hover,textarea:hover,select:hover{border-color:#10a37f4d}.sidebar-section{padding:16px 20px}.sidebar-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#b4b4b4;margin-bottom:8px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.streaming-cursor{display:inline;animation:blink 1s infinite;color:#10b981;font-weight:700;margin-left:2px}.file-autocomplete-item{transition:all .2s ease;border-radius:8px;margin:2px 8px}.file-autocomplete-item:hover,.file-autocomplete-item.bg-dark-hover{background:#10a37f1a}.file-autocomplete-item:active{background:#10a37f33}.settings-content{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:transparent}.settings-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:#fff3}.settings-panel .bg-dark-bg{background:#1a1a1a;border:1px solid #333}.settings-panel .bg-dark-surface{background:#2a2a2a}.folder-selection-card{transition:all .3s ease;border-radius:12px;overflow:hidden}.folder-selection-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #10a37f1a}input[type=checkbox]{accent-color:#10a37f}input[type=checkbox]:checked{background-color:#10a37f;border-color:#10a37f}.file-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.file-size{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.75rem;color:#b4b4b4;white-space:nowrap}#fileAutocompletePopup{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #0000004d;animation:slideUpFade .2s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.file-management-btn{position:relative;overflow:hidden}.file-management-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.file-management-btn:hover:before{left:100%}.file-path{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.875rem;color:#b4b4b4;word-break:break-all}.file-operation-success{border-left:4px solid #10b981;background:#10b9811a;padding:12px 16px;border-radius:0 8px 8px 0;margin:1rem 0}.file-operation-error{border-left:4px solid #ef4444;background:#ef44441a;padding:12px 16px;border-radius:0 8px 8px 0;margin:1rem 0;color:#fca5a5}.file-instructions{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:12px;padding:16px}.file-instructions code{background:#fbbf2433;color:#fbbf24;padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.875em}@media (max-width: 768px){#fileAutocompletePopup{left:12px!important;right:12px!important;margin-left:0;margin-right:0}.file-autocomplete-item{padding:12px 16px}.file-path{font-size:.75rem}}.file-loading{position:relative}.file-loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #404040;border-top:2px solid #10a37f;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
