@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.hidden{display:none}}:root{--bg-base:#f5f5f7;--bg-sidebar:#fff;--bg-panel:#fafafa;--bg-surface:#fff;--bg-input:#e8e8ec;--bg-bubble-user:#6366f11a;--bg-bubble-ai:#00000008;--bg-hover:#0000000a;--bg-active:#6366f11f;--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-accent:#6366f1;--border:#00000014;--border-focus:#6366f180;--accent:#6366f1;--accent-hover:#4f46e5;--accent-danger:#ef4444;--accent-success:#22c55e;--radius-sm:4px;--radius-md:5px;--radius-lg:6px;--radius-xl:8px;--sidebar-w:260px;--shadow:0 4px 24px #00000014}:root[data-theme=dark]{--bg-base:#333;--bg-sidebar:#333;--bg-panel:#333;--bg-surface:#333;--bg-input:#333;--bg-bubble-user:#6366f114;--bg-bubble-ai:#ffffff05;--bg-hover:#ffffff0a;--bg-active:#6366f114;--text-primary:#f0f0f5;--text-secondary:#8b8b9e;--text-muted:#4b4b60;--text-accent:#818cf8;--border:#ffffff12;--border-focus:#6366f199;--accent:#6366f1;--accent-hover:#818cf8;--shadow:0 4px 24px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-inter), system-ui, sans-serif;background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.disabled-sidebar{cursor:not-allowed;opacity:.8}.disabled-sidebar *{pointer-events:none}.sidebar-header{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.sidebar-logo{align-items:center;gap:8px;padding:0 4px;display:flex}.sidebar-logo-icon{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#6366f1,#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:1.4rem}.sidebar-logo-text{letter-spacing:-.02em;color:var(--text-primary);font-size:1.1rem;font-weight:700}.new-chat-btn{border-radius:var(--radius-md);width:100%;color:var(--text-accent);cursor:pointer;background:#6366f108;border:1px solid #6366f180;justify-content:center;align-items:center;gap:8px;padding:5px 12px;font-size:.875rem;font-weight:500;transition:all .18s;display:flex}.new-chat-btn:hover{border-color:var(--accent-hover);color:var(--accent-hover);background:#6366f10f}.new-chat-btn:disabled{opacity:.45;cursor:not-allowed}.new-chat-btn span:first-child{font-size:1.2rem;line-height:1}.sidebar-header-actions{flex-direction:column;gap:8px;display:flex}.clear-all-btn{border-radius:var(--radius-md);color:#ef4444;cursor:pointer;background:#ef44440a;border:1px solid #ef444466;justify-content:center;align-items:center;gap:7px;width:100%;padding:5px 12px;font-size:.82rem;font-weight:500;transition:all .18s;display:flex}.clear-all-btn:hover{background:#ef44441a;border-color:#ef4444b3}.clear-all-btn:disabled{opacity:.45;cursor:not-allowed}.sidebar-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:12px 16px 6px;font-size:.68rem;font-weight:600}.conv-list{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;flex:1;padding:4px 8px 12px;overflow-y:auto}.conv-item{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:6px;min-height:38px;padding:8px 10px;transition:background .15s;display:flex;position:relative}.sidebar-footer{border-top:1px solid var(--border);padding:8px}.sidebar-settings-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.sidebar-settings-btn:hover{background:var(--bg-hover);border-color:var(--border-focus)}.sidebar-settings-btn:disabled{opacity:.45;cursor:not-allowed}.sidebar-settings-btn .icon{color:var(--text-secondary)}.conv-item:hover{background:var(--bg-hover)}.conv-item:hover .conv-actions{opacity:1}.conv-item.active{background:#6366f10a;border:1px solid #6366f159}.conv-item.disabled-item{opacity:.5;cursor:not-allowed;pointer-events:auto}.conv-item.disabled-item.active{opacity:1}.conv-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.845rem;overflow:hidden}.conv-actions{opacity:0;flex-shrink:0;gap:2px;transition:opacity .15s;display:flex}.icon-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.icon-btn.edit{color:var(--text-secondary)}.icon-btn.edit:hover{color:var(--accent);background:#6366f133}.icon-btn.delete{color:var(--text-secondary)}.icon-btn.delete:hover{color:var(--accent-danger);background:#ef444426}.icon-btn.confirm{color:var(--text-secondary)}.icon-btn.confirm:hover{color:var(--accent-success);background:#22c55e26}.icon-btn.cancel{color:var(--text-secondary)}.icon-btn.cancel:hover{color:var(--accent-danger);background:#ef44441f}.edit-row{align-items:center;gap:4px;width:100%;display:flex}.edit-input{background:var(--bg-input);border:1px solid var(--border-focus);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;flex:1;min-width:0;padding:3px 7px;font-size:.82rem}.empty-sidebar{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty-icon{opacity:.4;margin-bottom:4px}.empty-sidebar p{color:var(--text-secondary);font-size:.875rem;font-weight:500}.empty-sidebar span{color:var(--text-muted);font-size:.78rem}.sidebar-loading{flex-direction:column;gap:8px;padding:8px;display:flex}.skeleton-item{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--bg-hover) 25%, #ffffff14 50%, var(--bg-hover) 75%);background-size:200% 100%;height:38px;animation:1.5s infinite shimmer}.main-panel{background:var(--bg-panel);flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);z-index:10;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.header-theme-toggle{border-radius:var(--radius-md);width:25px;height:25px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.header-theme-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-header-inner{align-items:center;gap:10px;display:flex}.header-icon{color:var(--accent)}.header-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.messages-area{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;flex:1;overflow-y:auto}.messages-list{flex-direction:column;gap:2px;width:100%;max-width:none;margin:0;padding:24px 32px 8px;display:flex}.message-row{gap:12px;width:100%;padding:8px 0;animation:.25s fadeUp;display:flex}.user-row{flex-direction:row-reverse}.assistant-row{flex-direction:row}.message-content{flex-direction:column;gap:6px;width:100%;display:flex}.user-message-content{align-items:flex-end}.assistant-message-content{align-items:flex-start}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:4px;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.assistant-avatar{background:linear-gradient(135deg, var(--bg-panel), var(--bg-panel));color:var(--accent);border:1px solid var(--border)}.bubble{border-radius:var(--radius-lg);padding:5px 10px;font-size:.91rem;line-height:1.65;position:relative}.user-bubble{background:var(--bg-bubble-user);max-width:85%;color:var(--text-primary);border:1px solid #6366f18c;border-bottom-right-radius:2px}.user-text{white-space:pre-wrap}.assistant-bubble{background:var(--bg-bubble-ai);width:100%;max-width:100%;color:var(--text-primary);border:1px solid #ffffff24;border-bottom-left-radius:2px;flex:1}.assistant-bubble p{margin:0 0 10px}.assistant-bubble p:last-child{margin-bottom:0}.assistant-bubble h1,.assistant-bubble h2,.assistant-bubble h3{color:var(--text-primary);margin:14px 0 6px;font-weight:600}.assistant-bubble h1{font-size:1.15rem}.assistant-bubble h2{font-size:1.05rem}.assistant-bubble h3{font-size:.97rem}.assistant-bubble ul,.assistant-bubble ol{margin:6px 0 10px;padding-left:18px}.assistant-bubble li{margin-bottom:4px}.assistant-bubble a{color:var(--accent);text-decoration:underline}.assistant-bubble blockquote{border-left:3px solid var(--accent);color:var(--text-secondary);margin:8px 0;padding-left:12px}.assistant-bubble strong{color:var(--text-primary);font-weight:600}.assistant-bubble em{color:var(--text-secondary)}.assistant-bubble hr{border:none;border-top:1px solid var(--border);margin:12px 0}.assistant-bubble table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-md);width:100%;margin:16px 0;font-size:.85rem;overflow:hidden;box-shadow:0 1px 3px #0003}.assistant-bubble th{color:var(--text-primary);text-align:left;border-bottom:1px solid var(--border);background:#6366f126;padding:10px 14px;font-weight:600}.assistant-bubble td{color:var(--text-secondary);border-bottom:1px solid var(--border);background:#ffffff05;padding:10px 14px}.assistant-bubble tr:last-child td{border-bottom:none}.assistant-bubble tr:nth-child(2n) td{background:#ffffff0a}.assistant-bubble th:not(:last-child),.assistant-bubble td:not(:last-child){border-right:1px solid var(--border)}.inline-code{color:#a78bfa;background:#6366f11f;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.84em}.code-block-wrapper{border-radius:var(--radius-md);border:1px solid #ffffff14;margin:8px 0;overflow:hidden}.code-block-header{color:var(--text-secondary);background:#1a1a2e;justify-content:space-between;align-items:center;padding:6px 12px;font-size:.75rem;display:flex}.code-lang{text-transform:uppercase;letter-spacing:.05em;font-weight:600}.copy-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.copy-btn:hover{color:var(--accent);background:#6366f126;border-color:#6366f166}.code-block-header .copy-btn{width:28px;height:24px}.message-copy-btn{background:var(--bg-surface);border:1px solid var(--border);width:30px;height:26px;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:2;border-radius:999px;position:absolute;top:-10px;transform:translateY(-3px)scale(.98)}.user-bubble .message-copy-btn{left:10px}.assistant-bubble .message-copy-btn{right:10px}.message-row:hover .message-copy-btn,.message-copy-btn:focus-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.message-copy-btn:focus-visible{outline-offset:2px;outline:2px solid #6366f18c}.typing-bubble{align-items:center;gap:5px;min-width:56px;padding:14px 18px;display:flex}.dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bounce}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}.welcome-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 24px;display:flex}.welcome-icon{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#6366f1,#a78bfa,#ec4899);-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:3.5rem;animation:3s ease-in-out infinite float}.welcome-title{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:10px;font-size:2rem;font-weight:700}.welcome-sub{color:var(--text-secondary);max-width:400px;margin-bottom:36px;font-size:1rem}.welcome-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:800px;display:grid}.suggestion-card{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;color:var(--text-secondary);cursor:pointer;padding:14px 16px;font-size:.875rem;line-height:1.4;transition:all .18s}.suggestion-card:hover{background:var(--bg-hover);border-color:var(--border-focus);color:var(--text-primary);transform:translateY(-1px)}.input-area{border-top:1px solid var(--border);background:var(--bg-panel);padding:12px 24px 16px}.input-box{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:center;gap:10px;width:100%;max-width:none;min-height:42px;margin:0;padding:0 8px;transition:border-color .2s;display:flex}.input-box:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f11a}.chat-input{resize:none;color:var(--text-primary);scrollbar-width:none;background:0 0;border:none;outline:none;flex:1;max-height:160px;padding:8px 0;font-family:inherit;font-size:.93rem;line-height:1.45;overflow-y:auto}.chat-input::placeholder{color:var(--text-muted)}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .18s;display:flex}.send-btn:hover:not(.disabled){background:var(--accent-hover);transform:scale(1.05)}.send-btn.disabled{color:#ffffff4d;cursor:not-allowed;background:#6366f140}.send-btn.cancel{color:#fff;background:#ef4444d9;animation:1.5s ease-in-out infinite pulse-red}.send-btn.cancel:hover{background:#ef4444;transform:scale(1.08)}.cancel-icon{fill:#fff}@keyframes pulse-red{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.input-hint{max-width:780px;color:var(--text-muted);text-align:center;margin:6px auto 0;font-size:.72rem}.messages-loading{flex-direction:column;gap:16px;width:100%;max-width:none;margin:24px 0;padding:0 32px;display:flex}.skeleton-msg{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--bg-hover) 25%, #ffffff0f 50%, var(--bg-hover) 75%);background-size:200% 100%;max-width:60%;height:60px;animation:1.5s infinite shimmer}.skeleton-msg.right{align-self:flex-end}.skeleton-msg.left{align-self:flex-start}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) fadeUp;display:flex;overflow-y:auto;box-shadow:0 20px 40px #0006}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.modal-body{flex-direction:column;gap:24px;padding:24px;display:flex}.setting-group{flex-direction:column;gap:16px;display:flex}.setting-group h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);margin:0;padding-bottom:8px;font-size:.85rem}.input-field{flex-direction:column;gap:6px;display:flex}.input-field label{color:var(--text-primary);font-size:.85rem;font-weight:500}.input-field input{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);padding:10px 12px;font-size:.9rem;transition:all .2s}.input-field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #6366f133}.helper-text{color:var(--text-secondary);margin:0;font-size:.75rem}.input-group-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.secondary-btn{border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.secondary-btn:hover{background:var(--bg-hover)}.primary-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.primary-btn:hover{filter:brightness(1.1)}.settings-toggle-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;z-index:10;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.settings-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.attach-btn{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.attach-btn:hover:not(:disabled){color:var(--accent);background:#6366f11f;transform:scale(1.08)}.attach-btn:disabled{opacity:.35;cursor:not-allowed}.image-preview-strip{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;gap:8px;padding:8px 12px 0;display:flex;overflow-x:auto}.image-preview-item{border-radius:var(--radius-md);border:1px solid var(--border);flex-shrink:0;width:72px;height:72px;transition:border-color .18s;animation:.2s fadeUp;position:relative;overflow:hidden}.image-preview-item:hover{border-color:var(--border-focus)}.image-preview-item img{object-fit:cover;width:100%;height:100%}.image-preview-remove{color:#fff;cursor:pointer;opacity:0;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex;position:absolute;top:3px;right:3px;transform:scale(.85)}.image-preview-item:hover .image-preview-remove{opacity:1;transform:scale(1)}.image-preview-remove:hover{background:var(--accent-danger)}.input-area{position:relative}.input-area-dragging{border-color:var(--border-focus)}.drop-overlay{z-index:20;border:2px dashed var(--accent);border-radius:var(--radius-xl);pointer-events:none;background:#6366f114;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:absolute;inset:0}.drop-overlay-content{color:var(--accent);flex-direction:column;align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.message-images{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.message-images.single .message-image-thumb{width:auto;max-width:320px;height:auto;max-height:320px}.message-images.grid .message-image-thumb{width:120px;height:120px}.message-image-thumb{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #ffffff1a;padding:0;transition:all .18s;display:block;overflow:hidden}.message-image-thumb:hover{border-color:var(--accent);transform:scale(1.02);box-shadow:0 4px 16px #6366f133}.message-image-thumb img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.lightbox-backdrop{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#000000d9;justify-content:center;align-items:center;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:2001;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .18s;display:flex;position:absolute;top:16px;right:16px}.lightbox-close:hover{background:var(--accent-danger);border-color:var(--accent-danger);transform:scale(1.08)}.lightbox-image{object-fit:contain;border-radius:var(--radius-lg);cursor:default;max-width:90vw;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) fadeUp;box-shadow:0 20px 60px #00000080}.mobile-menu-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:none}.mobile-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;background:#00000080;animation:.2s fadeIn;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}@media (max-width:1024px){.messages-list{padding:20px 24px 8px}.chat-header{padding:12px 20px}.input-area{padding:10px 20px 14px}}@media (max-width:768px){:root{--sidebar-w:280px}.mobile-menu-btn{display:flex}.sidebar{z-index:999;height:100vh;box-shadow:var(--shadow);transition:transform .3s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-panel{width:100vw}.chat-header{gap:12px;padding:10px 16px}.chat-header-inner{flex:1;min-width:0}.header-title{max-width:200px;font-size:.9rem}.messages-area{padding:0}.messages-list{gap:4px;padding:16px 12px 8px}.message-row{gap:8px;padding:6px 0}.user-bubble{max-width:92%;padding:4px 8px;font-size:.9rem}.assistant-bubble{padding:4px 8px;font-size:.9rem}.bubble{line-height:1.55}.avatar{width:28px;height:28px}.avatar svg{width:14px;height:14px}.input-area{padding:8px 12px 12px}.input-box{gap:6px;min-height:44px;padding:4px 6px}.chat-input{padding:6px 0;font-size:16px}.send-btn{width:38px;height:38px}.attach-btn{width:36px;height:36px}.welcome-screen{padding:24px 16px}.welcome-icon{font-size:2.5rem}.welcome-title{font-size:1.5rem}.welcome-sub{margin-bottom:24px;font-size:.9rem}.welcome-grid{grid-template-columns:1fr;gap:8px;max-width:100%}.suggestion-card{padding:12px 14px;font-size:.85rem}.message-images.single .message-image-thumb{max-width:100%;max-height:240px}.message-images.grid .message-image-thumb{width:80px;height:80px}.image-preview-strip{padding:6px 8px 0}.image-preview-item{width:60px;height:60px}.modal-content{max-width:calc(100vw - 32px);margin:16px}.modal-header{padding:16px 20px}.modal-body{gap:20px;padding:20px}.modal-footer{padding:12px 20px}.input-group-row{grid-template-columns:1fr}.code-block-wrapper{margin:6px 0}.code-block-header{padding:5px 10px}.assistant-bubble pre,.assistant-bubble code{font-size:.75rem}.assistant-bubble table{white-space:nowrap;font-size:.78rem;display:block;overflow-x:auto}.assistant-bubble th,.assistant-bubble td{padding:8px 10px}.message-copy-btn{display:none}.lightbox-backdrop{padding:12px}.lightbox-close{width:36px;height:36px;top:8px;right:8px}}@media (max-width:480px){.messages-list{padding:12px 8px 8px}.user-bubble{max-width:95%}.chat-header{padding:8px 12px}.header-title{max-width:150px}.typing-bubble{min-width:48px;padding:10px 14px}.dot{width:6px;height:6px}.welcome-title{font-size:1.3rem}.welcome-sub{font-size:.85rem}}@media (max-height:500px) and (orientation:landscape){.sidebar{max-height:100vh;overflow-y:auto}.welcome-screen{padding:16px}.welcome-icon{margin-bottom:8px;font-size:2rem}.welcome-title{margin-bottom:6px;font-size:1.3rem}.welcome-sub{margin-bottom:16px}}@supports (padding:max(0px)){@media (max-width:768px){.chat-header{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-top:max(10px, env(safe-area-inset-top))}.input-area{padding-bottom:max(12px, env(safe-area-inset-bottom))}.sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}}
