@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--rosewater:#dc8a78;--flamingo:#dd7878;--pink:#ea76cb;--mauve:#8839ef;--red:#d20f39;--maroon:#e64553;--peach:#fe640b;--yellow:#df8e1d;--green:#40a02b;--teal:#179299;--sky:#04a5e5;--sapphire:#209fb5;--blue:#1e66f5;--lavender:#7287fd;--bg-primary:#eff1f5;--bg-secondary:#e6e9ef;--bg-tertiary:#dce0e8;--bg-surface:#ccd0da;--bg-overlay:#bcc0cc;--text-primary:#4c4f69;--text-secondary:#5c5f77;--text-tertiary:#6c6f85;--text-subtext:#8c8fa1;--surface-0:#ccd0da;--surface-1:#bcc0cc;--surface-2:#acb0be;--overlay-0:#9ca0b0;--overlay-1:#8c8fa1;--overlay-2:#7c7f93;--border-color:#bcc0cc;--border-light:#ccd0da;--shadow-sm:0 1px 3px #4c4f6914;--shadow-md:0 4px 12px #4c4f691a;--shadow-lg:0 8px 24px #4c4f6926;--shadow-colored:0 4px 16px #7287fd26;--accent-primary:#7287fd;--accent-hover:#8839ef;--accent-light:#7287fd1f;--accent-glow:#7287fd40;--message-user-bg:#7287fd1f;--message-user-text:#4c4f69;--message-user-border:#7287fd;--message-assistant-bg:#ccd0da;--message-assistant-text:#4c4f69;--message-assistant-border:#8839ef;--input-bg:#fff;--input-border:#bcc0cc;--header-bg:#eff1f5d9;--error:#d20f39;--success:#40a02b;--warning:#fe640b;--info:#04a5e5}.dark-mode{--rosewater:#f4dbd6;--flamingo:#f0c6c6;--pink:#f5bde6;--mauve:#c6a0f6;--red:#ed8796;--maroon:#ee99a0;--peach:#f5a97f;--yellow:#eed49f;--green:#a6da95;--teal:#8bd5ca;--sky:#91d7e3;--sapphire:#7dc4e4;--blue:#8aadf4;--lavender:#b7bdf8;--bg-primary:#24273a;--bg-secondary:#1e2030;--bg-tertiary:#363a4f;--bg-surface:#494d64;--bg-overlay:#5b6078;--text-primary:#cad3f5;--text-secondary:#b8c0e0;--text-tertiary:#a5adcb;--text-subtext:#939ab7;--surface-0:#363a4f;--surface-1:#494d64;--surface-2:#5b6078;--overlay-0:#6e738d;--overlay-1:#8087a2;--overlay-2:#939ab7;--border-color:#494d64;--border-light:#363a4f;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-colored:0 4px 16px #8aadf426;--accent-primary:#8aadf4;--accent-hover:#b7bdf8;--accent-light:#8aadf41f;--accent-glow:#8aadf440;--message-user-bg:#8aadf41f;--message-user-text:#cad3f5;--message-user-border:#8aadf4;--message-assistant-bg:#363a4f;--message-assistant-text:#cad3f5;--message-assistant-border:#c6a0f6;--input-bg:#363a4f;--input-border:#494d64;--header-bg:#1e2030d9;--error:#ed8796;--success:#a6da95;--warning:#f5a97f;--info:#91d7e3}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .3s,color .3s}.chat-container{background-color:var(--bg-primary);flex-direction:column;height:100vh;display:flex}.chat-main{flex-direction:column;width:100%;max-width:800px;height:100vh;margin:0 auto;display:flex}.chat-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.header-right{align-items:center;gap:.5rem;display:flex}.header-btn{width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.header-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.header-btn svg{width:20px;height:20px}.header-brand{align-items:center;gap:6px;display:flex}.brand-dot{background-color:var(--accent-primary);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite dotPulse}.brand-dot:nth-child(2){animation-delay:.3s}.brand-dot:nth-child(3){animation-delay:.6s}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.icon-button{width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.icon-button:before{content:"";background:var(--accent-light);border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.icon-button:hover:before{width:100%;height:100%}.icon-button:hover{background-color:var(--bg-tertiary);color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-glow);transform:scale(1.05)}.icon-button:hover .hamburger-icon{color:var(--accent-primary);transform:scale(1.1)}.icon-button:active{transform:scale(.95)}.icon-button svg{width:20px;height:20px}.hamburger-icon{z-index:1;transition:all .3s;position:relative}.theme-toggle svg,.clear-button svg{stroke-linecap:round;stroke-linejoin:round}.api-key-button{position:relative}.api-key-button.api-key-active{color:var(--accent-primary)}.api-key-dot{background-color:var(--success);width:8px;height:8px;box-shadow:0 0 6px var(--success);border-radius:50%;position:absolute;top:6px;right:6px}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;justify-content:flex-end;padding:1.5rem 1.5rem .5rem;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--surface-1);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--surface-2)}.messages-list{width:100%;max-width:720px;margin:0 auto;padding-bottom:.5rem}.chat-input-wrapper{border-top:1px solid var(--border-light);background-color:var(--bg-primary);flex-shrink:0;padding:.75rem 1.5rem 1rem}.input-container{max-width:720px;margin:0 auto}.input-form{align-items:center;gap:.75rem;display:flex}.input-footer{text-align:center;color:var(--text-tertiary);opacity:.7;margin-top:.5rem;font-size:.7rem}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;animation:.6s cubic-bezier(.4,0,.2,1) fadeIn;display:flex}.empty-icon{width:72px;height:72px;color:var(--text-tertiary);opacity:.4;filter:grayscale(50%);margin-bottom:1.5rem}.empty-icon svg{width:100%;height:100%}.empty-state h2{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.empty-state p{color:var(--text-secondary);max-width:400px;font-size:1rem;line-height:1.6}.message{gap:1rem;margin-bottom:2rem;animation:.3s cubic-bezier(.4,0,.2,1) forwards slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.message-avatar{background-color:var(--surface-0);width:36px;height:36px;color:var(--mauve);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.message-avatar:before{content:"";background:linear-gradient(135deg, var(--mauve), var(--blue));-webkit-mask-composite:xor;border-radius:50%;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.message-user .message-avatar{background:linear-gradient(135deg, var(--accent-light), #8aadf433);color:var(--blue)}.message-user .message-avatar:before{background:linear-gradient(135deg, var(--blue), var(--lavender))}.message-assistant .message-avatar{color:var(--mauve);background:linear-gradient(135deg,#c6a0f626,#c6a0f60d)}.message-assistant .message-avatar:before{background:linear-gradient(135deg, var(--mauve), var(--pink))}.message-avatar svg{z-index:1;width:18px;height:18px;position:relative}.message-content{flex:1;min-width:0}.message-bubble{border-radius:16px;padding:1rem 1.25rem;transition:all .2s;position:relative}.message-user .message-bubble{background-color:var(--message-user-bg);border-left:3px solid var(--message-user-border);border-top-right-radius:4px}.message-assistant .message-bubble{background-color:var(--message-assistant-bg);border-left:3px solid var(--message-assistant-border);border-top-right-radius:16px}.message-bubble:hover{box-shadow:var(--shadow-colored)}.message-bubble.message-error{background-color:#ef44441a;border-left:3px solid #ef4444;border-top-right-radius:4px}.message-error-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background-color:#ef4444;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.message-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.message-role{letter-spacing:-.01em;font-size:.8125rem;font-weight:600}.message-user .message-role{color:var(--blue)}.message-assistant .message-role{color:var(--mauve)}.message-time{color:var(--text-tertiary);font-size:.75rem;font-weight:400}.message-text{color:var(--text-primary);word-wrap:break-word;white-space:pre-wrap;letter-spacing:-.01em;font-size:.9375rem;line-height:1.7}.typing-indicator .message-content{align-items:center;display:flex}.typing-dots{gap:.4rem;padding:.5rem .75rem;display:flex}.typing-dots span{border-radius:50%;width:7px;height:7px;animation:1.4s infinite typingDot}.typing-dots span:first-child{background-color:var(--mauve);animation-delay:0s}.typing-dots span:nth-child(2){background-color:var(--blue);animation-delay:.2s}.typing-dots span:nth-child(3){background-color:var(--lavender);animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.4;transform:scale(.8)}30%{opacity:1;transform:scale(1.1)}}.input-container{border-top:1px solid var(--border-color);background-color:var(--header-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);padding:1.5rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-form{align-items:center;gap:.75rem;max-width:900px;margin:0 auto;display:flex}.chat-input{border:1.5px solid var(--input-border);background-color:var(--input-bg);color:var(--text-primary);border-radius:24px;outline:none;flex:1;padding:1rem 1.5rem;font-family:inherit;font-size:.9375rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-light), 0 4px 16px var(--accent-glow)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-input::placeholder{color:var(--text-tertiary)}.send-button{background:linear-gradient(135deg, var(--accent-primary), var(--accent-hover));color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #8aadf44d}.send-button:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-hover), var(--mauve));transform:scale(1.08);box-shadow:0 4px 16px #8aadf466}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:scale(1)}.send-button svg{stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input-footer{text-align:center;color:var(--text-tertiary);max-width:900px;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:.75rem}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;background:#0f101880;justify-content:flex-start;animation:.2s sidebarFadeIn;display:flex;position:fixed;inset:0}@keyframes sidebarFadeIn{0%{opacity:0}to{opacity:1}}.sidebar-panel{background-color:var(--bg-secondary);flex-direction:column;width:300px;max-width:85vw;height:100%;animation:.3s cubic-bezier(.4,0,.2,1) sidebarSlideIn;display:flex;box-shadow:4px 0 24px #00000026}@keyframes sidebarSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.sidebar-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.sidebar-close-btn{width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.sidebar-close-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.sidebar-close-btn svg{width:18px;height:18px}.sidebar-body{flex:1;padding:.75rem;overflow-y:auto}.sidebar-body::-webkit-scrollbar{width:4px}.sidebar-body::-webkit-scrollbar-thumb{background:var(--surface-1);border-radius:2px}.new-chat-btn{border:1.5px dashed var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.new-chat-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background-color:var(--accent-light)}.new-chat-btn svg{width:16px;height:16px}.sidebar-empty{text-align:center;color:var(--text-tertiary);padding:2rem 1rem;font-size:.875rem}.conv-item{cursor:pointer;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;transition:all .2s;display:flex;position:relative}.conv-item:hover{background-color:var(--bg-tertiary)}.conv-item.active{background-color:var(--accent-light)}.conv-icon{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.conv-item.active .conv-icon{color:var(--accent-primary)}.conv-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;overflow:hidden}.conv-delete{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.conv-item:hover .conv-delete{opacity:1}.conv-delete:hover{color:var(--red);background-color:#ed879626}.conv-delete svg{width:14px;height:14px}.splash-overlay{background-color:var(--bg-primary);z-index:9999;opacity:1;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-overlay.phase-enter{animation:.5s cubic-bezier(.22,1,.36,1) forwards splashOverlayEnter}.splash-overlay.phase-hold{opacity:1}.splash-overlay.phase-exit{pointer-events:none;animation:.5s cubic-bezier(.22,1,.36,1) forwards splashOverlayExit}@keyframes splashOverlayEnter{0%{opacity:0}to{opacity:1}}@keyframes splashOverlayExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.splash-logo-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:relative}.splash-logo-icon{filter:drop-shadow(0 0 20px #8839ef4d);width:100px;height:100px;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards splashLogoEnter}.phase-exit .splash-logo-icon{animation:.5s cubic-bezier(.22,1,.36,1) forwards splashLogoExit}@keyframes splashLogoEnter{0%{opacity:0;filter:drop-shadow(0 0 #8839ef00);transform:scale(.3)rotate(-20deg)}60%{filter:drop-shadow(0 0 30px #8839ef80)}to{opacity:1;filter:drop-shadow(0 0 20px #8839ef4d);transform:scale(1)rotate(0)}}@keyframes splashLogoExit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.7)translateY(-30px)}}.splash-pulse-ring{border:2px solid #8839ef66;border-radius:50%;width:80px;height:80px;animation:2s cubic-bezier(.22,1,.36,1) infinite pulseRing;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulseRing{0%{opacity:.8;transform:translate(-50%,-50%)scale(.8)}to{opacity:0;transform:translate(-50%,-50%)scale(1.8)}}.splash-logo-text{background:linear-gradient(135deg, var(--mauve), var(--pink));letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:600;animation:.5s cubic-bezier(.22,1,.36,1) .2s both splashTextEnter}.phase-exit .splash-logo-text{animation:.4s cubic-bezier(.22,1,.36,1) forwards splashTextExit}@keyframes splashTextEnter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes splashTextExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-15px)}}.splash-loading-dots{gap:.5rem;animation:.4s cubic-bezier(.22,1,.36,1) .3s both splashTextEnter;display:flex}.phase-exit .splash-loading-dots{opacity:0;transition:opacity .2s}.splash-loading-dots span{background:var(--mauve);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite splashDotPulse}.splash-loading-dots span:nth-child(2){background:var(--pink);animation-delay:.2s}.splash-loading-dots span:nth-child(3){background:var(--lavender);animation-delay:.4s}@keyframes splashDotPulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes panelEntrance{0%{opacity:0;filter:blur(4px);transform:translateY(24px)scale(.96)skewY(1deg)}60%{filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)scale(1)skewY(0)}}.bento-panel{animation:.6s cubic-bezier(.22,1,.36,1) both panelEntrance}.div1{animation-delay:.8s}.div2{animation-delay:.9s}.div3{animation-delay:1s}.div5-main{animation-delay:1.1s}.div7{animation-delay:1.2s}.div4{animation-delay:1.3s}@media (prefers-reduced-motion:reduce){@keyframes panelEntrance{0%{opacity:0}to{opacity:1}}.bento-panel{animation-name:panelEntrance;animation-duration:.3s}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;background:#0f1018b3;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background-color:var(--bg-secondary);width:90%;max-width:460px;box-shadow:var(--shadow-lg), 0 0 0 1px var(--border-color);border-radius:20px;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:600}.modal-close{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-close svg{width:18px;height:18px}.modal-content{padding:1.5rem}.modal-body{padding:0}.modal-description{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}.setting-group{margin-bottom:1.5rem}.setting-group:last-child{margin-bottom:0}.setting-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.setting-input,.setting-select,.api-key-input{border:1.5px solid var(--border-color);background-color:var(--input-bg);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.api-key-input{background-color:var(--bg-tertiary);border-radius:12px;padding:.875rem 1rem;font-family:JetBrains Mono,monospace}.setting-input:focus,.setting-select:focus,.api-key-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-light)}.setting-input::placeholder,.api-key-input::placeholder{color:var(--text-tertiary);font-family:Inter,sans-serif}.setting-help{color:var(--text-tertiary);margin-top:.5rem;font-size:.75rem}.modal-hint{color:var(--text-tertiary);margin-top:.75rem;font-size:.8125rem}.modal-hint a{color:var(--accent-primary);font-weight:500;text-decoration:none}.modal-hint a:hover{color:var(--accent-hover);text-decoration:underline}.setting-range{background:var(--bg-tertiary);appearance:none;border-radius:3px;outline:none;width:100%;height:6px}.setting-range::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg, var(--accent-primary), var(--accent-hover));cursor:pointer;border-radius:50%;width:18px;height:18px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #8aadf44d}.setting-range::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 10px #8aadf466}.modal-footer{border-top:1px solid var(--border-color);background-color:var(--bg-secondary);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.modal-button{cursor:pointer;border-radius:10px;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.modal-button-secondary{border:1.5px solid var(--border-color);color:var(--text-primary);background:0 0}.modal-button-secondary:hover{background-color:var(--bg-tertiary);border-color:var(--overlay-0)}.modal-button-primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-hover));color:#fff;border:none;font-weight:600;box-shadow:0 2px 8px #8aadf44d}.modal-button-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-hover), var(--mauve));transform:translateY(-1px);box-shadow:0 4px 16px #8aadf466}.modal-button-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.delete-confirm-modal{text-align:center;max-width:400px}.delete-confirm-modal .modal-content{flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.delete-confirm-icon{background:linear-gradient(135deg,#f3524b26,#f3524b14);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.5rem;display:flex}.delete-confirm-icon svg{stroke:#f3524b;width:32px;height:32px}.delete-confirm-text{color:var(--text-primary);margin:0;font-size:1.125rem}.delete-confirm-text strong{color:var(--accent-primary)}.delete-confirm-warning{color:var(--text-secondary);margin:0;font-size:.875rem}.modal-button-danger{color:#fff;background:linear-gradient(135deg,#f3524b,#e0453d);border:none;font-weight:600;box-shadow:0 2px 8px #f3524b4d}.modal-button-danger:hover:not(:disabled){background:linear-gradient(135deg,#e0453d,#c93a33);transform:translateY(-1px);box-shadow:0 4px 16px #f3524b66}@media (max-width:768px){.chat-main{max-width:100%}.chat-header{padding:.625rem 1rem}.chat-messages{padding:1rem 1rem .5rem}.messages-list{max-width:100%}.chat-input-wrapper{padding:.625rem 1rem .75rem}.message{gap:.75rem;margin-bottom:1.5rem}.message-avatar{width:32px;height:32px}.message-avatar svg{width:16px;height:16px}.message-bubble{padding:.875rem 1rem}.message-text{font-size:.875rem}}@media (max-width:480px){.header-left{gap:.625rem}.header-btn{width:32px;height:32px}.header-btn svg{width:18px;height:18px}.brand-dot{width:5px;height:5px}.chat-input{padding:.875rem 1.25rem;font-size:16px}.send-button{width:42px;height:42px}.message-avatar{width:28px;height:28px}.message-avatar svg{width:14px;height:14px}.message-bubble{padding:.75rem .875rem}.message-role{font-size:.75rem}.message-time{font-size:.7rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bento-container{background:radial-gradient(at 0 0,#7287fd14,#0000 50%),radial-gradient(at 100% 100%,#c6a0f60f,#0000 50%);grid-template-rows:auto 1fr 1fr 1fr auto;grid-template-columns:repeat(5,1fr);gap:12px;height:100vh;padding:12px;display:grid}.bento-panel{background:color-mix(in srgb, var(--bg-secondary) 80%, transparent);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.bento-panel:before{content:"";border-radius:inherit;background:linear-gradient(135deg, color-mix(in srgb, var(--panel-accent,var(--accent-primary)) 30%, transparent), transparent 50%, color-mix(in srgb, var(--panel-accent,var(--accent-primary)) 20%, transparent));-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.bento-panel:hover{box-shadow:0 4px 24px color-mix(in srgb, var(--panel-accent,var(--accent-glow)) 50%, transparent), inset 0 1px 0 color-mix(in srgb, var(--panel-accent,var(--accent-light)) 30%, transparent);transform:translateY(-1px)}.div1{--panel-accent:var(--mauve);grid-column:span 2;align-items:center;padding:.75rem 1.25rem;display:flex}.div1-header{align-items:center;gap:1rem;width:100%;display:flex}.div1-logo{align-items:center;gap:8px;display:flex}.div1-logo-icon{width:32px;height:32px;color:var(--mauve);flex-shrink:0}.div1-logo-text{background:linear-gradient(135deg, var(--mauve), var(--pink));-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:1.125rem;font-weight:600}.div1-brand-dots{align-items:center;gap:6px;margin-left:8px;display:flex}.div1-brand-dot{background-color:var(--mauve);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite dotPulse}.div1-brand-dot:nth-child(2){animation-delay:.3s}.div1-brand-dot:nth-child(3){animation-delay:.6s}.div2{--panel-accent:var(--blue);grid-column:3/span 2;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.div2-buttons{align-items:center;gap:.5rem;display:flex}.div2-header{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.div2-user-area{align-items:center;gap:.75rem;display:flex}.div2-user-avatar{background:linear-gradient(135deg, var(--blue), var(--lavender));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;display:flex}.div2-status{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.div2-status-dot{background-color:var(--success);width:8px;height:8px;box-shadow:0 0 6px var(--success);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.div3{--panel-accent:var(--teal);flex-direction:column;grid-area:1/5/span 5;min-width:0;display:flex}.collapsible-history{-webkit-backdrop-filter:none;background:0 0;border:none;flex-direction:column;width:100%;height:100%;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex}.collapsible-history:before{display:none}.collapsible-history:hover{box-shadow:none;transform:none}.history-collapse-btn{background:color-mix(in srgb, var(--bg-secondary) 95%, var(--teal));width:24px;height:48px;color:var(--teal);cursor:pointer;z-index:10;border:none;border-radius:8px 0 0 8px;justify-content:center;align-items:center;font-size:0;transition:all .2s;display:flex;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.history-collapse-btn:hover{background:color-mix(in srgb, var(--bg-secondary) 90%, var(--teal));width:28px}.history-collapse-btn svg{width:14px;height:14px}.history-header{border-bottom:1px solid color-mix(in srgb, var(--border-color) 40%, transparent);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem .875rem .75rem;display:flex}.history-header-left{align-items:center;gap:.5rem;display:flex}.history-header-icon{width:18px;height:18px;color:var(--teal)}.history-header h3{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:600}.history-close-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.history-close-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.history-close-btn svg{width:14px;height:14px}.history-new-chat-btn{border:1.5px dashed color-mix(in srgb, var(--teal) 40%, var(--border-color));width:calc(100% - 1.5rem);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.5rem;margin:.75rem .75rem .5rem;padding:.625rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.history-new-chat-btn:hover{border-color:var(--teal);color:var(--teal);background:color-mix(in srgb, var(--teal) 8%, transparent)}.history-new-chat-btn svg{width:14px;height:14px}.history-delete-all-btn{border:1.5px dashed color-mix(in srgb, var(--red) 40%, var(--border-color));width:calc(100% - 1.5rem);color:var(--error);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.5rem;margin:0 .75rem .5rem;padding:.625rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.history-delete-all-btn:hover{border-color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent)}.history-delete-all-btn svg{width:14px;height:14px}.history-list{flex:1;padding:.5rem;overflow-y:auto}.history-list::-webkit-scrollbar{width:4px}.history-list::-webkit-scrollbar-track{background:0 0}.history-list::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--teal) 30%, var(--surface-1));border-radius:2px}.history-empty{text-align:center;color:var(--text-tertiary);padding:2rem 1rem;font-size:.8125rem}.history-item{cursor:pointer;border-radius:8px;align-items:center;gap:.625rem;padding:.625rem .5rem;transition:all .2s;display:flex;position:relative}.history-item:hover{background:color-mix(in srgb, var(--bg-tertiary) 60%, transparent)}.history-item.active{background:color-mix(in srgb, var(--teal) 15%, transparent)}.history-item-icon{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0}.history-item.active .history-item-icon{color:var(--teal)}.history-item-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8125rem;overflow:hidden}.history-item-delete{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.history-item:hover .history-item-delete{opacity:1}.history-item-delete:hover{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}.history-item-delete svg{width:12px;height:12px}.div7{--panel-accent:var(--sky);grid-area:2/1/span 3}.stats-panel{flex-direction:column;height:100%;padding:1rem;display:flex}.stats-header{border-bottom:1px solid color-mix(in srgb, var(--border-color) 40%, transparent);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.stats-header-icon{width:20px;height:20px;color:var(--sky)}.stats-header h3{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:600}.stats-grid{flex:1;grid-template-columns:1fr 1fr;gap:.625rem;display:grid}.stat-card{background:color-mix(in srgb, var(--bg-surface) 40%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 30%, transparent);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:.75rem .5rem;transition:all .2s;display:flex}.stat-card:hover{background:color-mix(in srgb, var(--bg-surface) 60%, transparent);transform:translateY(-2px)}.stat-card-icon{background:color-mix(in srgb, var(--stat-accent,var(--accent-primary)) 15%, transparent);width:28px;height:28px;color:var(--stat-accent,var(--accent-primary));border-radius:50%;justify-content:center;align-items:center;display:flex}.stat-card-icon svg{width:16px;height:16px}.stat-pulse{animation:.3s ease-out statPulse}@keyframes statPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.stat-card-content{flex-direction:column;align-items:center;gap:.125rem;display:flex}.stat-card-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:500}.stat-card-value{color:var(--stat-accent,var(--text-primary));font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.div6{--panel-accent:var(--peach);grid-area:2/2/span 3}.dual-chat-view{flex-direction:column;height:100%;display:flex}.dual-chat-header{border-bottom:1px solid color-mix(in srgb, var(--border-color) 40%, transparent);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.dual-chat-header-icon{width:20px;height:20px;color:var(--peach)}.dual-chat-header h3{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:600}.dual-chat-panels{flex-direction:column;flex:1;gap:.5rem;padding:.5rem;display:flex;overflow:hidden}.dual-chat-divider{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.dual-chat-divider-line{background:color-mix(in srgb, var(--peach) 30%, var(--border-color));flex:1;height:1px}.dual-chat-divider-text{color:var(--peach);text-transform:uppercase;letter-spacing:.1em;font-size:.625rem;font-weight:700}.dual-chat-panel{background:color-mix(in srgb, var(--bg-tertiary) 25%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 30%, transparent);border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dual-chat-panel-header{background:color-mix(in srgb, var(--bg-surface) 30%, transparent);border-bottom:1px solid color-mix(in srgb, var(--border-color) 30%, transparent);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.dual-chat-panel-title{color:var(--peach);font-size:.75rem;font-weight:600}.dual-chat-panel-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.125rem .5rem;font-size:.625rem;font-weight:500}.dual-chat-panel-badge.primary{background:color-mix(in srgb, var(--accent-primary) 20%, transparent);color:var(--accent-primary)}.dual-chat-panel-badge.secondary{background:color-mix(in srgb, var(--mauve) 20%, transparent);color:var(--mauve)}.dual-chat-messages{flex:1;min-height:0;padding:.5rem;overflow-y:auto}.dual-chat-messages::-webkit-scrollbar{width:4px}.dual-chat-messages::-webkit-scrollbar-track{background:0 0}.dual-chat-messages::-webkit-scrollbar-thumb{background:var(--surface-1);border-radius:2px}.dual-chat-empty{height:100%;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.dual-chat-empty svg{opacity:.4;width:32px;height:32px}.dual-chat-empty span{font-size:.8125rem}.dual-chat-input-wrapper{border-top:1px solid color-mix(in srgb, var(--border-color) 30%, transparent);flex-shrink:0;padding:.5rem}.dual-chat-input-wrapper .input-container{background:0 0;border-top:none;padding:0}.dual-chat-input-wrapper .input-form{gap:.5rem;max-width:100%}.dual-chat-input-wrapper .chat-input{padding:.625rem 1rem;font-size:.8125rem}.dual-chat-input-wrapper .send-button{width:36px;height:36px}.dual-chat-input-wrapper .input-footer{display:none}.dual-chat-input-wrapper .message-bubble{padding:.625rem .75rem}.dual-chat-input-wrapper .message-text{font-size:.8125rem}.div5-main{--panel-accent:var(--green);flex-direction:column;grid-area:2/2/span 3/span 3;display:flex}.main-chat-view{flex-direction:column;height:100%;display:flex}.main-chat-header{border-bottom:1px solid color-mix(in srgb, var(--border-color) 40%, transparent);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.main-chat-header-icon{width:20px;height:20px;color:var(--green)}.main-chat-header h3{color:var(--text-primary);margin:0;font-size:.9375rem;font-weight:600}.main-chat-header-badge{background:color-mix(in srgb, var(--green) 20%, transparent);color:var(--green);text-transform:uppercase;letter-spacing:.05em;border-radius:10px;margin-left:auto;padding:.1875rem .625rem;font-size:.6875rem;font-weight:500}.main-chat-messages{scroll-behavior:smooth;flex:1;min-height:0;padding:1rem 1.25rem .5rem;overflow-y:auto}.main-chat-messages::-webkit-scrollbar{width:6px}.main-chat-messages::-webkit-scrollbar-track{background:0 0}.main-chat-messages::-webkit-scrollbar-thumb{background:var(--surface-1);border-radius:3px}.main-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--surface-2)}.main-chat-input-wrapper{border-top:1px solid color-mix(in srgb, var(--border-color) 30%, transparent);flex-shrink:0;padding:.625rem 1rem .75rem}.main-chat-input-wrapper .input-container{background:0 0;border-top:none;padding:0}.main-chat-input-wrapper .send-button{width:40px;height:40px}.main-chat-input-wrapper .chat-input{padding:.75rem 1rem;font-size:.875rem}.main-chat-input-wrapper .message-bubble{padding:.75rem 1rem}.main-chat-input-wrapper .input-footer{display:none}.div4{--panel-accent:var(--pink);grid-column:1/span 4}.model-bar{-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;height:100%}.model-bar:before{display:none}.model-bar:hover{box-shadow:none;transform:none}.model-bar-content{align-items:center;gap:1rem;height:100%;padding:.75rem 1.25rem;display:flex}.model-bar-item{align-items:center;gap:.5rem;display:flex}.model-bar-icon{width:16px;height:16px;color:var(--pink);flex-shrink:0}.model-bar-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:500}.model-bar-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:600}.model-bar-value-accent,.model-bar-value-pink{color:var(--pink)}.model-bar-value-teal{color:var(--teal)}.model-bar-value-green{color:var(--green)}.model-bar-divider{background:color-mix(in srgb, var(--border-color) 40%, transparent);flex-shrink:0;width:1px;height:60%}@media (max-width:1024px){.bento-container{grid-template-rows:auto 1fr auto;grid-template-columns:repeat(3,1fr)}.div1{grid-column:1/span 2}.div2{grid-column:3}.div7{grid-area:2/1}.div5-main{grid-area:2/2}.div4{grid-area:auto/1/auto/span 3}.div3{grid-area:1/3/span 2}}@media (max-width:768px){.bento-container{height:100dvh;grid-template-rows:auto auto 1fr auto auto;grid-template-columns:1fr;gap:8px;height:-webkit-fill-available;padding:8px;overflow:hidden}.div1,.div2{grid-area:1/1;min-height:auto;animation-delay:0s}.div1{grid-column:1/span 1}.div4{grid-area:2/1;min-height:36px;animation-delay:0s}.div5-main{grid-area:3/1;min-height:0;animation-delay:0s}.div3{grid-area:1/1/span 3;grid-row-end:unset;min-height:auto;animation-delay:0s;display:none}.div3.mobile-visible{z-index:150;grid-column:unset;grid-row:unset;border-radius:0;display:flex;position:fixed;inset:0}.div7{grid-area:4/1;min-height:auto;animation-delay:0s;display:none}.div6{display:none}.div1,.div2{padding:.5rem .75rem}.div1-header{gap:.5rem}.div1-logo-icon{width:24px;height:24px}.div1-logo-text{font-size:1rem}.div2-header{gap:.5rem}.div2-status{font-size:.75rem}.header-btn{width:44px;height:44px}.header-btn svg{width:22px;height:22px}.div2-user-avatar{width:36px;height:36px}.main-chat-view{height:100%}.main-chat-header{padding:.625rem .75rem}.main-chat-header h3{font-size:.875rem}.main-chat-header-badge{padding:.125rem .5rem;font-size:.625rem}.main-chat-messages{padding:.75rem}.main-chat-input-wrapper{padding:.5rem .75rem}.main-chat-input-wrapper .chat-input{padding:.875rem 1rem;font-size:16px}.main-chat-input-wrapper .send-button{width:44px;height:44px}.model-bar-content{flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem}.model-bar-label{font-size:.625rem}.model-bar-value{font-size:.75rem}.message{gap:.5rem;margin-bottom:1rem}.message-avatar{width:28px;height:28px}.message-avatar svg{width:14px;height:14px}.message-bubble{padding:.625rem .75rem}.message-text{font-size:.875rem;line-height:1.6}.message-role{font-size:.6875rem}.message-time{font-size:.625rem}.history-header{padding:.75rem}.history-header h3{font-size:.875rem}.history-item{padding:.75rem .5rem}.history-item-title{font-size:.8125rem}.stats-panel{padding:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-card{padding:.5rem}.stat-card-icon{width:24px;height:24px}.stat-card-value{font-size:.8125rem}.stat-card-label{font-size:.5625rem}}@media (max-width:480px){.bento-container{gap:6px;padding:6px}.div1,.div2{padding:.375rem .5rem}.header-btn{width:40px;height:40px}.header-btn svg{width:20px;height:20px}.main-chat-header,.main-chat-messages{padding:.5rem}.main-chat-input-wrapper,.model-bar-content{padding:.375rem .5rem}}@media (max-height:500px) and (max-width:768px){.div4{display:none}.bento-container{grid-template-rows:auto 1fr auto}.div5-main{grid-row:2}.div7{grid-row:3}}
