/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--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}.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--color-primary:#635bff;--color-primary-hover:#5851ea;--color-primary-light:#7a73ff;--color-primary-dark:#4b44c9;--color-bg-primary:#fff;--color-bg-secondary:#f6f9fc;--color-bg-tertiary:#e3e8ee;--color-bg-elevated:#fff;--color-text-primary:#1a1f36;--color-text-secondary:#697386;--color-text-tertiary:#8792a2;--color-text-inverse:#fff;--color-border-primary:#e3e8ee;--color-border-secondary:#d8dee4;--color-border-focus:#635bff;--color-success:#30b130;--color-success-bg:#d7f7d7;--color-warning:#f5a623;--color-warning-bg:#fef3cd;--color-error:#cd3d64;--color-error-bg:#fce8ec;--color-info:#0073e6;--color-info-bg:#e6f2ff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","Monaco","Inconsolata","Fira Code",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--z-dropdown:100;--z-modal:200;--z-tooltip:300;--z-toast:400;--sidebar-width:280px;--sidebar-collapsed-width:64px;--header-height:56px;--chat-max-width:768px;--message-bubble-user-bg:var(--color-primary);--message-bubble-assistant-bg:var(--color-bg-secondary)}[data-theme=dark]{--color-primary:#7a73ff;--color-primary-hover:#8b85ff;--color-primary-light:#9d97ff;--color-primary-dark:#635bff;--color-bg-primary:#0a0a0f;--color-bg-secondary:#121218;--color-bg-tertiary:#1a1a24;--color-bg-elevated:#1e1e2a;--color-text-primary:#f6f9fc;--color-text-secondary:#a3acb9;--color-text-tertiary:#697386;--color-text-inverse:#1a1f36;--color-border-primary:#2a2a3a;--color-border-secondary:#3a3a4a;--color-border-focus:#7a73ff;--color-success:#4ade80;--color-success-bg:#14532d;--color-warning:#fbbf24;--color-warning-bg:#713f12;--color-error:#f87171;--color-error-bg:#7f1d1d;--color-info:#60a5fa;--color-info-bg:#1e3a5f;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d;--shadow-xl:0 20px 25px -5px #0006,0 10px 10px -5px #0000004d;--message-bubble-user-bg:var(--color-primary-dark);--message-bubble-assistant-bg:var(--color-bg-tertiary)}*{box-sizing:border-box}html{font-family:var(--font-sans);font-size:16px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color var(--transition-normal),color var(--transition-normal);margin:0;padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--color-text-inverse)}pre,code{font-family:var(--font-mono)}pre{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--spacing-md);overflow-x:auto}code{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:.125rem .25rem;font-size:.875em}pre code{background-color:#0000;padding:0}.html-sandbox{margin-top:var(--spacing-sm);border-top:1px solid var(--color-border-primary);padding-top:var(--spacing-sm)}.sandbox-controls{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.sandbox-run-button,.sandbox-stop-button{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500;display:inline-flex}.sandbox-run-button{background-color:var(--color-success);color:#fff}.sandbox-run-button:hover{background-color:#28a428;transform:translateY(-1px)}.sandbox-run-button:active{transform:translateY(0)}.sandbox-run-button.active{background-color:var(--color-primary)}.sandbox-stop-button{background-color:var(--color-error);color:#fff}.sandbox-stop-button:hover{background-color:#b83555;transform:translateY(-1px)}.sandbox-stop-button:active{transform:translateY(0)}.run-icon,.stop-icon{font-size:.75em}.sandbox-output{border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background-color:var(--color-bg-primary);overflow:hidden}.sandbox-iframe{background-color:#fff;border:none;width:100%;min-height:100px;display:block}.code-block-wrapper{margin:var(--spacing-md)0;position:relative}.code-block-header{padding:var(--spacing-xs)var(--spacing-md);background-color:var(--color-bg-tertiary);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;display:flex}.code-language{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.code-block-wrapper pre{border-top-left-radius:0;border-top-right-radius:0;margin:0}.inline-code{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:.875em;font-family:var(--font-mono);padding:.125rem .375rem}.message-renderer{line-height:var(--leading-relaxed)}.message-renderer p{margin:var(--spacing-sm)0}.message-renderer p:first-child{margin-top:0}.message-renderer p:last-child{margin-bottom:0}.message-image{border-radius:var(--radius-md);max-width:100%;height:auto;margin:var(--spacing-sm)0}.message-video{border-radius:var(--radius-md);max-width:100%;margin:var(--spacing-sm)0}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{50%{opacity:.5}}@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 shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-fade-in{animation:fadeIn var(--transition-normal)ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-normal)ease-out}.animate-fade-in-down{animation:fadeInDown var(--transition-normal)ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal)ease-out}.animate-slide-in-left{animation:slideInLeft var(--transition-normal)ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal)ease-out}.animate-message-appear{animation:.3s ease-out messageSlideIn}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-shimmer{background:linear-gradient(90deg,var(--color-bg-secondary)25%,var(--color-bg-tertiary)50%,var(--color-bg-secondary)75%);background-size:200% 100%;animation:1.5s infinite shimmer}.animate-bounce{animation:1s ease-in-out infinite bounce}.animate-shake{animation:.5s ease-in-out shake}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s,fill .3s,stroke .3s!important}.message-bubble{animation:.3s ease-out messageSlideIn}.message-bubble:first-child{animation-delay:0s}.message-bubble:nth-child(2){animation-delay:50ms}.message-bubble:nth-child(3){animation-delay:.1s}.message-bubble:nth-child(4){animation-delay:.15s}.message-bubble:nth-child(5){animation-delay:.2s}.settings-modal-backdrop{animation:.2s ease-out fadeIn}.settings-modal{animation:.2s ease-out scaleIn}.sidebar-item{transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.sidebar-item:active{transform:scale(.98)}.btn-animated{transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-animated:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-animated:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.card-animated{transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.card-animated:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.input-animated{transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.input-animated:focus{box-shadow:0 0 0 3px #635bff26}.dropdown-animated{transform-origin:top;animation:.15s ease-out fadeInDown}.toast-animated{animation:.3s ease-out slideInRight}.app-card{transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.app-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.app-card:active{transform:translateY(0)}.fork-children{animation:.2s ease-out fadeIn}.attached-file{animation:.2s ease-out scaleIn}.error-banner{animation:.3s ease-out slideInDown}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-pulse,.animate-shimmer,.animate-bounce{animation:none!important}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.theme-toggle{position:relative}.theme-toggle-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:none;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.theme-toggle-btn:active{transform:scale(.95)}.theme-dropdown{top:calc(100% + var(--spacing-xs));background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--spacing-xs)0;animation:.15s ease-out theme-dropdown-appear;position:absolute;right:0}@keyframes theme-dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.theme-option{width:100%;padding:var(--spacing-sm)var(--spacing-md);color:var(--color-text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);align-items:center;gap:var(--spacing-sm);background:0 0;border:none;display:flex}.theme-option:hover{background-color:var(--color-bg-secondary)}.theme-option.active{background-color:var(--color-bg-tertiary);color:var(--color-primary)}.theme-option-icon{width:20px;height:20px;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.theme-option.active .theme-option-icon{color:var(--color-primary)}.theme-option-label{flex:1}@media (max-width:768px){.theme-dropdown{right:-8px}}.custom-model-manager{gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);flex-direction:column;display:flex}.cmm-header{justify-content:space-between;align-items:center;display:flex}.cmm-header h4{font-size:var(--text-sm);color:var(--color-text-primary);margin:0;font-weight:600}.cmm-close-btn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.cmm-close-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.cmm-model-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.cmm-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.cmm-model-item{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex}.cmm-model-item:hover{border-color:var(--color-border-secondary)}.cmm-model-item.editing{border-color:var(--color-primary);background-color:#635bff0d}.cmm-model-info{flex:1;min-width:0}.cmm-model-name{align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500;display:flex}.cmm-badge{border-radius:var(--radius-sm);padding:0 4px;font-size:12px}.cmm-badge.image{background-color:#a855f71a}.cmm-badge.vision{background-color:#3b82f61a}.cmm-model-id{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cmm-model-meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.cmm-model-actions{gap:var(--spacing-xs);flex-shrink:0;display:flex}.cmm-action-btn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.cmm-action-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.cmm-action-btn.danger:hover{background-color:var(--color-error-bg);color:var(--color-error)}.cmm-form{gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);flex-direction:column;display:flex}.cmm-form-header h5{font-size:var(--text-sm);color:var(--color-text-primary);margin:0;font-weight:600}.cmm-form-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.cmm-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.cmm-label .required{color:var(--color-error)}.cmm-input{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);transition:all var(--transition-fast)}.cmm-input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px #635bff1a}.cmm-input.has-error{border-color:var(--color-error)}.cmm-input::placeholder{color:var(--color-text-tertiary)}.cmm-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.cmm-error{font-size:var(--text-xs);color:var(--color-error)}.cmm-radio-group{gap:var(--spacing-sm);display:flex}.cmm-radio-option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex:1;display:flex}.cmm-radio-option:hover{border-color:var(--color-border-secondary)}.cmm-radio-option.selected{border-color:var(--color-primary);background-color:#635bff0d}.cmm-radio-option input{cursor:pointer;width:16px;height:16px}.cmm-radio-option span{font-size:var(--text-sm);color:var(--color-text-primary)}.cmm-checkbox-label{align-items:center;gap:var(--spacing-sm);cursor:pointer;display:flex}.cmm-checkbox-label input{cursor:pointer;width:16px;height:16px}.cmm-checkbox-label span{font-size:var(--text-sm);color:var(--color-text-primary)}.cmm-form-actions{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-primary);display:flex}.cmm-btn{padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500}.cmm-btn.secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.cmm-btn.secondary:hover{background-color:var(--color-bg-secondary)}.cmm-btn.primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.cmm-btn.primary:hover{background-color:var(--color-primary-hover)}.cmm-add-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-primary);border:1px dashed var(--color-border-secondary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex}.cmm-add-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#635bff0d}@media (max-width:768px){.cmm-radio-group{flex-direction:column}.cmm-form-actions{flex-direction:column-reverse}.cmm-btn{justify-content:center;width:100%}}.model-selector{width:100%;max-width:280px;position:relative}.model-selector-trigger{width:100%;padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;font-weight:500;display:flex}.model-selector-trigger:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.model-selector-trigger:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px #635bff1a}.model-selector-icon-left{margin-right:var(--spacing-sm);font-size:var(--text-base);flex-shrink:0}.model-selector-text{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;overflow:hidden}.model-selector-icon{margin-left:var(--spacing-sm);color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.model-selector-icon.open{transform:rotate(180deg)}.model-selector-dropdown{top:calc(100% + var(--spacing-xs));background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:400px;animation:.15s ease-out dropdown-appear;position:absolute;left:0;right:0;overflow-y:auto}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-section{padding:var(--spacing-sm)0}.dropdown-section:not(:last-child){border-bottom:1px solid var(--color-border-primary)}.dropdown-section-title{padding:var(--spacing-xs)var(--spacing-md);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.dropdown-options{flex-direction:column;display:flex}.dropdown-option{width:100%;padding:var(--spacing-sm)var(--spacing-md);color:var(--color-text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.dropdown-option:hover{background-color:var(--color-bg-secondary)}.dropdown-option.active{background-color:var(--color-bg-tertiary);color:var(--color-primary)}.option-icon{margin-right:var(--spacing-sm);font-size:var(--text-base);flex-shrink:0}.dropdown-option .option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.model-option .model-option-content{align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;display:flex}.model-badges{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.model-badge{font-size:var(--text-xs);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:2px 6px;font-weight:500;display:inline-flex}.model-badge.context{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.model-badge.vision{background-color:var(--color-info-bg);padding:2px 4px;font-size:10px}.model-badge.image-gen{color:#fff;background:linear-gradient(135deg,#ff6b6b,#feca57);padding:2px 6px;font-size:12px}.dropdown-empty{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg)var(--spacing-md);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center;flex-direction:column;display:flex}.dropdown-empty-icon{font-size:var(--text-2xl);opacity:.5}.dropdown-empty-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.custom-model-input{padding:var(--spacing-sm)var(--spacing-md)}.model-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);transition:all var(--transition-fast)}.model-input:focus{border-color:var(--color-border-focus);background-color:var(--color-bg-primary);outline:none;box-shadow:0 0 0 3px #635bff1a}.model-input::placeholder{color:var(--color-text-tertiary)}.model-badge.custom{color:#fff;background:linear-gradient(135deg,#a855f7,#6366f1);padding:2px 4px;font-size:10px}.dropdown-option.custom-model{border-left:2px solid var(--color-primary)}.dropdown-section-title{justify-content:space-between;align-items:center;display:flex}.section-action-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.section-action-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.add-custom-model-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);width:calc(100% - var(--spacing-md)*2);margin:0 var(--spacing-md);padding:var(--spacing-sm);background-color:var(--color-bg-secondary);border:1px dashed var(--color-border-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);display:flex}.add-custom-model-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#635bff0d}.custom-model-modal-overlay{z-index:var(--z-modal);background-color:#00000080;justify-content:center;align-items:center;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}.custom-model-modal{width:100%;max-width:480px;max-height:80vh;margin:var(--spacing-md);animation:.2s ease-out modal-appear;overflow-y:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-appear{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:768px){.model-selector{max-width:200px}.model-selector-dropdown{min-width:280px;right:auto}.model-badges{display:none}}.chat-menu{display:inline-flex;position:relative}.chat-menu-trigger{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.chat-menu-trigger:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.chat-menu-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-menu-dropdown{min-width:200px;margin-top:var(--spacing-xs);padding:var(--spacing-xs);background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:menuFadeIn var(--transition-fast)ease-out;position:absolute;top:100%;right:0}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-header{padding:var(--spacing-xs)var(--spacing-sm)}.menu-title{font-size:var(--text-xs);color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:500;display:block;overflow:hidden}.menu-divider{height:1px;margin:var(--spacing-xs)0;background-color:var(--color-border-primary)}.menu-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.menu-item:hover:not(:disabled){background-color:var(--color-bg-tertiary)}.menu-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item svg{color:var(--color-text-secondary);flex-shrink:0}.menu-item:hover:not(:disabled) svg{color:var(--color-text-primary)}.menu-item-danger,.menu-item-danger svg{color:var(--color-error)}.menu-item-danger:hover:not(:disabled){background-color:#ef44441a}.menu-item-danger:hover:not(:disabled) svg{color:var(--color-error)}.loading-spinner{margin-left:auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-header{height:var(--header-height);padding:0 var(--spacing-md);background-color:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-primary);z-index:var(--z-dropdown);transition:background-color var(--transition-normal),border-color var(--transition-normal);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left,.header-right{align-items:center;gap:var(--spacing-sm);display:flex}.header-center{max-width:400px;margin:0 var(--spacing-md);flex:1;justify-content:center;display:flex}.header-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:none;justify-content:center;align-items:center;padding:0;display:flex}.header-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.header-btn:active{transform:scale(.95)}.mobile-menu-btn{display:none}.sidebar-toggle-btn{display:flex}.header-logo{align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:var(--text-lg);color:var(--color-text-primary);-webkit-user-select:none;user-select:none;display:flex}.logo-icon{font-size:var(--text-xl)}.logo-text{display:block}.settings-btn{position:relative}@media (max-width:768px){.app-header{padding:0 var(--spacing-sm)}.mobile-menu-btn{display:flex}.sidebar-toggle-btn,.logo-text{display:none}.header-center{max-width:200px;margin:0 var(--spacing-sm)}}@media (max-width:480px){.header-center{display:none}}.apps-btn.active{background-color:var(--color-primary);color:#fff}.apps-btn.active:hover{background-color:var(--color-primary-hover);color:#fff}.fork-tree{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.fork-tree.collapsed{padding:var(--spacing-xs)}.fork-tree-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-bottom:1px solid var(--color-border-primary);background-color:var(--color-bg-tertiary);display:flex}.fork-tree-title{font-size:var(--text-sm);color:var(--color-text-primary);flex:1;font-weight:600}.fork-tree-actions{gap:var(--spacing-xs);display:flex}.fork-tree-action-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.fork-tree-action-btn:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.fork-tree-content{padding:var(--spacing-sm);max-height:300px;overflow-y:auto}.fork-tree-item-wrapper{position:relative}.fork-tree-item-wrapper[data-depth="1"]:before,.fork-tree-item-wrapper[data-depth="2"]:before,.fork-tree-item-wrapper[data-depth="3"]:before,.fork-tree-item-wrapper[data-depth="4"]:before,.fork-tree-item-wrapper[data-depth="5"]:before{content:"";left:calc(var(--spacing-sm) + (attr(data-depth) - 1)*16px + 7px);background-color:var(--color-border-primary);width:1px;position:absolute;top:0;bottom:0}.fork-tree-item{align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.fork-tree-item:hover{background-color:var(--color-bg-tertiary)}.fork-tree-item.active{background-color:var(--color-primary);color:var(--color-text-inverse)}.fork-tree-item.active:hover{background-color:var(--color-primary-hover)}.fork-expand-toggle{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.fork-expand-toggle:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.fork-tree-item.active .fork-expand-toggle{color:var(--color-text-inverse)}.fork-tree-item.active .fork-expand-toggle:hover{background-color:#fff3}.fork-spacer{flex-shrink:0;width:18px}.fork-chevron-icon{transition:transform var(--transition-fast)}.fork-chevron-icon.expanded{transform:rotate(90deg)}.fork-icon{color:var(--color-text-tertiary);flex-shrink:0}.fork-tree-item.active .fork-icon{color:var(--color-text-inverse);opacity:.8}.fork-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fork-message-count{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0;padding:2px 6px}.fork-tree-item.active .fork-message-count{color:var(--color-text-inverse);background-color:#fff3}.fork-tree-children{margin-left:var(--spacing-xs);padding-left:var(--spacing-xs);border-left:1px dashed var(--color-border-secondary);position:relative}.fork-tree-empty{padding:var(--spacing-lg);color:var(--color-text-tertiary);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.fork-tree-hint{padding:var(--spacing-sm)var(--spacing-md);font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center;border-top:1px solid var(--color-border-primary)}.fork-tree-collapsed-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.fork-tree-collapsed-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.fork-tree-content::-webkit-scrollbar{width:4px}.fork-tree-content::-webkit-scrollbar-track{background:0 0}.fork-tree-content::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}.fork-tree-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.fork-tree-children{animation:slideDown var(--transition-fast)ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.fork-tree-content{max-height:200px}.fork-tree-header{padding:var(--spacing-xs)var(--spacing-sm)}.fork-tree-title{font-size:var(--text-xs)}}.context-menu{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);min-width:160px;max-width:280px;box-shadow:var(--shadow-lg);padding:var(--spacing-xs)0;z-index:calc(var(--z-modal) + 50);outline:none;animation:.15s ease-out contextMenuFadeIn;position:fixed}.context-submenu{z-index:calc(var(--z-modal) + 51)}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-primary);transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none;display:flex}.context-menu-item:hover,.context-menu-item.focused,.context-menu-item.submenu-open{background-color:var(--color-bg-secondary)}.context-menu-item.disabled{color:var(--color-text-tertiary);cursor:not-allowed}.context-menu-item.disabled:hover,.context-menu-item.disabled.focused{background-color:#0000}.context-menu-item.danger{color:var(--color-error)}.context-menu-item.danger:hover,.context-menu-item.danger.focused{background-color:var(--color-error-bg)}.context-menu-icon{width:16px;height:16px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.context-menu-icon svg{width:100%;height:100%}.context-menu-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.context-menu-arrow{font-size:var(--text-base);color:var(--color-text-tertiary);margin-left:auto;line-height:1}.context-menu-separator{background-color:var(--color-border-primary);height:1px;margin:var(--spacing-xs)0}@media (prefers-reduced-motion:reduce){.context-menu{animation:none}}.sidebar{top:var(--header-height);width:var(--sidebar-width);background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border-primary);transition:width var(--transition-normal),transform var(--transition-normal);z-index:var(--z-modal);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-content{padding:var(--spacing-sm);flex:1;overflow:hidden auto}.new-chat-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-md);background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500;display:flex}.sidebar.collapsed .new-chat-btn{padding:var(--spacing-sm)}.sidebar.collapsed .new-chat-btn span{display:none}.sidebar-section{margin-bottom:var(--spacing-sm)}.section-header{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.section-header:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.section-title{text-align:left;flex:1}.chevron-icon{transition:transform var(--transition-fast);flex-shrink:0}.chevron-icon.expanded{transform:rotate(90deg)}.sidebar.collapsed .section-header{padding:var(--spacing-sm);justify-content:center}.sidebar.collapsed .section-title,.sidebar.collapsed .chevron-icon{display:none}.section-content{padding-left:var(--spacing-xs)}.date-group{margin-bottom:var(--spacing-sm)}.date-group-header{padding:var(--spacing-xs)var(--spacing-md);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.sidebar-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.sidebar-item:hover{background-color:var(--color-bg-tertiary)}.sidebar-item.active{background-color:var(--color-primary);color:var(--color-text-inverse)}.sidebar-item.active:hover{background-color:var(--color-primary-hover)}.item-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.app-icon{font-size:var(--text-base)}.conversation-item-wrapper,.conversation-item{position:relative}.chat-more-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.conversation-item:hover .chat-more-btn{opacity:1}.chat-more-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-item.active .chat-more-btn{color:var(--color-text-inverse);opacity:.7}.sidebar-item.active .chat-more-btn:hover{opacity:1;color:var(--color-text-inverse);background-color:#fff3}.fork-toggle{width:20px;height:20px;margin-right:var(--spacing-xs);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.fork-toggle:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.fork-children{margin-left:var(--spacing-sm);border-left:1px solid var(--color-border-primary)}.fork-badge{color:var(--color-text-tertiary);justify-content:center;align-items:center;margin-left:auto;display:flex}.sidebar-item.active .fork-badge{color:var(--color-text-inverse);opacity:.7}.empty-state{padding:var(--spacing-md);color:var(--color-text-tertiary);font-size:var(--text-sm);text-align:center}.fork-tree-section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-primary)}.sidebar-close-btn{top:var(--spacing-sm);right:var(--spacing-sm);background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;padding:0;display:none;position:absolute}.sidebar-close-btn:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}@media (max-width:768px){.sidebar{width:var(--sidebar-width);box-shadow:var(--shadow-xl);transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:var(--sidebar-width)}.sidebar-close-btn{justify-content:center;align-items:center;display:flex}}@media (min-width:769px) and (max-width:1024px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .section-title,.sidebar .chevron-icon,.sidebar .new-chat-btn span{display:none}.sidebar .section-header{padding:var(--spacing-sm);justify-content:center}.sidebar .new-chat-btn{padding:var(--spacing-sm)}.sidebar .section-content{display:none}}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:0 0}.sidebar-content::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.select-toolbar{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap;display:flex}.select-mode-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;display:flex}.select-mode-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.select-mode-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.select-action-btn{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none}.select-action-btn:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.select-action-btn:disabled{opacity:.5;cursor:not-allowed}.export-selected-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);background-color:var(--color-primary);border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);border:none;margin-left:auto;font-weight:500;display:flex}.export-selected-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.export-selected-btn:disabled{opacity:.5;cursor:not-allowed}.select-checkbox{border:2px solid var(--color-border-secondary);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);width:16px;height:16px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.select-checkbox.checked{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.sidebar-item.selected{background-color:#6366f11a}.sidebar-item.selected:hover{background-color:#6366f126}.project-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.project-item-wrapper{flex-direction:column;display:flex}.project-item{align-items:center;gap:var(--spacing-sm);display:flex}.project-item.expanded{background-color:var(--color-bg-tertiary)}.project-count{font-size:var(--text-xs);color:var(--color-text-tertiary);background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);margin-left:auto;padding:2px 6px}.project-export-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.project-export-btn:hover:not(:disabled){background-color:var(--color-bg-elevated);color:var(--color-primary)}.project-export-btn:disabled{opacity:.3;cursor:not-allowed}.project-conversations{margin-left:var(--spacing-md);padding-left:var(--spacing-sm);border-left:1px solid var(--color-border-primary)}.project-conversations .sidebar-item{padding-left:var(--spacing-sm)}.empty-state.small{padding:var(--spacing-sm);font-size:var(--text-xs)}.section-header-wrapper{align-items:center;gap:var(--spacing-xs);display:flex}.section-header-wrapper .section-header{flex:1}.section-add-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.section-add-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-primary)}.project-create-input-wrapper{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);display:flex}.project-create-input-wrapper svg{color:var(--color-text-tertiary);flex-shrink:0}.project-create-input{color:var(--color-text-primary);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1;padding:0}.project-create-input::placeholder{color:var(--color-text-tertiary)}.project-edit-input-wrapper{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-primary);display:flex}.project-edit-input-wrapper svg{color:var(--color-text-tertiary);flex-shrink:0}.project-edit-input{color:var(--color-text-primary);font-size:var(--text-sm);background:0 0;border:none;outline:none;flex:1;padding:0}.project-edit-input::placeholder{color:var(--color-text-tertiary)}.delete-confirm-overlay{z-index:calc(var(--z-modal) + 10);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-confirm-dialog{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:90%;max-width:400px;box-shadow:var(--shadow-xl)}.delete-confirm-dialog h3{margin:0 0 var(--spacing-sm)0;font-size:var(--text-lg);color:var(--color-text-primary);font-weight:600}.delete-confirm-dialog p{margin:0 0 var(--spacing-lg)0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.delete-confirm-actions{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.delete-confirm-actions .cancel-btn{padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0}.delete-confirm-actions .cancel-btn:hover{background-color:var(--color-bg-tertiary)}.delete-confirm-actions .delete-btn{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-error);border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500}.delete-confirm-actions .delete-btn:hover{background-color:#dc2626}.sidebar-footer{padding:var(--spacing-sm)var(--spacing-md);border-top:1px solid var(--color-border-primary);background-color:var(--color-bg-secondary);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.sidebar-footer a{color:var(--color-text-tertiary);transition:color var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;text-decoration:none;overflow:hidden}.sidebar-footer a:hover{color:var(--color-text-secondary);text-decoration:underline}.provider-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.provider-form-header{align-items:center;gap:var(--spacing-sm);display:flex}.back-btn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.back-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.provider-form-header h3{font-size:var(--text-base);color:var(--color-text-primary);margin:0;font-weight:600}.provider-options{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.provider-option{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.provider-option:hover:not(.disabled){border-color:var(--color-border-secondary)}.provider-option.selected{border-color:var(--color-primary);background-color:#635bff0d}.provider-option.disabled{opacity:.6;cursor:not-allowed}.provider-option input{cursor:pointer;width:16px;height:16px;margin-top:2px}.provider-option.disabled input{cursor:not-allowed}.provider-option-content{flex-direction:column;gap:2px;min-width:0;display:flex}.provider-option-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.provider-option-description{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.required{color:var(--color-error)}.form-input{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);transition:all var(--transition-fast)}.form-input:focus{border-color:var(--color-border-focus);background-color:var(--color-bg-primary);outline:none;box-shadow:0 0 0 3px #635bff1a}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input.has-error{border-color:var(--color-error)}.form-error{font-size:var(--text-xs);color:var(--color-error)}.api-key-input-wrapper{align-items:center;display:flex;position:relative}.api-key-input-wrapper .form-input{font-family:var(--font-mono);flex:1;padding-right:44px}.toggle-visibility-btn{right:var(--spacing-sm);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.toggle-visibility-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.submit-error{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-error-bg);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-error);text-align:center}.form-actions{justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-primary);display:flex}.form-btn{padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500}.form-btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.form-btn-secondary:hover:not(:disabled){background-color:var(--color-bg-secondary)}.form-btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.form-btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.form-btn-primary:active:not(:disabled){transform:translateY(0)}.form-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:768px){.provider-options{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-btn{justify-content:center;width:100%}}.settings-modal-backdrop{z-index:var(--z-modal);padding:var(--spacing-lg);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:85vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.settings-modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-primary);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.settings-modal-header h2{font-size:var(--text-xl);color:var(--color-text-primary);margin:0;font-weight:600}.settings-modal-close{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.settings-modal-close:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.settings-tabs{gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-lg);border-bottom:1px solid var(--color-border-primary);background-color:var(--color-bg-secondary);flex-shrink:0;display:flex}.settings-tab{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.settings-tab:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.settings-tab.active{background-color:var(--color-bg-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.settings-content{padding:var(--spacing-lg);flex:1;overflow-y:auto}.settings-section{gap:var(--spacing-lg);flex-direction:column;display:flex}.section-header{justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--text-base);color:var(--color-text-primary);margin:0;font-weight:600}.add-provider-btn{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-inverse);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500;display:flex}.add-provider-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.add-provider-btn:active{transform:translateY(0)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.empty-state p{margin:0}.empty-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--spacing-sm)!important}.provider-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.provider-item{padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.provider-item:hover{border-color:var(--color-border-secondary)}.provider-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.provider-name{color:var(--color-text-primary);font-weight:500}.provider-key{font-size:var(--text-sm);font-family:var(--font-mono);color:var(--color-text-tertiary)}.provider-actions{gap:var(--spacing-xs);display:flex}.provider-action-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.provider-action-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.provider-action-btn.delete:hover{background-color:var(--color-error-bg);color:var(--color-error)}.form-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.form-input,.form-select,.form-textarea{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-border-focus);background-color:var(--color-bg-primary);outline:none;box-shadow:0 0 0 3px #635bff1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-textarea{font-family:var(--font-sans);resize:vertical;min-height:80px}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23697386' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm)center;padding-right:calc(var(--spacing-md) + 24px)}.form-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.form-hint.warning{color:var(--color-warning)}.checkbox-field{flex-direction:row;align-items:flex-start}.checkbox-label{align-items:center;gap:var(--spacing-sm);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;display:flex}.checkbox-label input{cursor:pointer;width:18px;height:18px}.strategy-options{gap:var(--spacing-sm);flex-direction:column;display:flex}.strategy-option{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.strategy-option:hover{border-color:var(--color-border-secondary)}.strategy-option.selected{border-color:var(--color-primary);background-color:#635bff0d}.strategy-option input{cursor:pointer;width:18px;height:18px;margin-top:2px}.strategy-content{gap:var(--spacing-xs);flex-direction:column;display:flex}.strategy-label{color:var(--color-text-primary);font-weight:500}.strategy-description{font-size:var(--text-sm);color:var(--color-text-secondary)}@media (max-width:768px){.settings-modal-backdrop{padding:0}.settings-modal{border-radius:0;max-width:none;height:100vh;max-height:none}.settings-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.settings-tab span{display:none}.settings-tab{padding:var(--spacing-sm)}}.app-shell{background-color:var(--color-bg-primary);flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;display:flex;position:relative;overflow:hidden}.main-content{margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal);background-color:var(--color-bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.sidebar-overlay{z-index:calc(var(--z-modal) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;display:none;position:fixed;inset:0}@media (max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0}.sidebar-overlay{display:block}}@media (min-width:769px) and (max-width:1024px){.main-content{margin-left:var(--sidebar-collapsed-width)}}.preview-panel{background-color:var(--color-bg-primary);border-left:1px solid var(--color-border-primary);flex-direction:column;flex-shrink:0;height:100%;display:flex;position:relative;box-shadow:-4px 0 20px #0000001a}.preview-panel.resizing{-webkit-user-select:none;user-select:none;pointer-events:none}.preview-panel.resizing .preview-resize-handle{pointer-events:auto}.preview-resize-handle{cursor:ew-resize;z-index:10;justify-content:center;align-items:center;width:16px;display:flex;position:absolute;top:0;bottom:0;left:-8px}.preview-resize-handle:hover .resize-handle-line,.preview-panel.resizing .resize-handle-line{background-color:var(--color-primary);width:4px}.resize-handle-line{background-color:var(--color-border-secondary);width:2px;height:48px;transition:all var(--transition-fast);border-radius:2px}.preview-header{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);flex-shrink:0;justify-content:space-between;align-items:center;min-height:48px;display:flex}.preview-title{align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);display:flex}.preview-icon{color:var(--color-success);font-size:.75em}.preview-actions{align-items:center;gap:var(--spacing-xs);display:flex}.preview-action-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:none;justify-content:center;align-items:center;display:flex}.preview-action-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.preview-close-btn:hover{background-color:var(--color-error);color:#fff}.preview-content{background-color:#fff;flex:1;overflow:hidden}.preview-iframe{border:none;width:100%;height:100%;display:block}@media (max-width:768px){.preview-panel{top:var(--header-height);height:calc(100vh - var(--header-height));z-index:100;position:fixed;bottom:0;left:0;right:0;width:100%!important}.preview-resize-handle{display:none}}.preview-panel.code-mode .preview-content{background-color:var(--color-bg-tertiary)}.preview-file-icon{margin-right:var(--spacing-xs)}.preview-title-text{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.preview-line-count{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-left:var(--spacing-sm)}.code-viewer{height:100%;font-family:var(--font-mono);font-size:var(--text-sm);flex-direction:column;display:flex}.code-viewer-toolbar{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);display:flex}.code-language-badge{font-size:var(--text-xs);color:var(--color-text-secondary);background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:2px 8px;font-weight:600}.code-line-count{font-size:var(--text-xs);color:var(--color-text-tertiary);flex:1}.code-copy-button{font-size:var(--text-xs);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500}.code-copy-button:hover{background-color:var(--color-primary);color:#fff}.code-copy-button.copied{background-color:var(--color-success);color:#fff}.code-viewer-content{flex:1;display:flex;overflow:auto}.line-numbers{padding:var(--spacing-md)var(--spacing-sm);text-align:right;-webkit-user-select:none;user-select:none;z-index:1;background-color:#010409;border-right:1px solid #21262d;flex-direction:column;display:flex;position:sticky;left:0}.line-number{color:#6e7681;font-size:var(--text-xs);min-width:2.5rem;padding-right:var(--spacing-sm);line-height:1.5rem}.code-content{padding:var(--spacing-md);background-color:var(--color-bg-tertiary);flex:1;margin:0;overflow-x:auto}.code-content code{white-space:pre;line-height:1.5rem;display:block}.code-viewer .code-content.hljs{padding:var(--spacing-md);background-color:#0d1117}.code-viewer .code-content code{color:#c9d1d9;background:0 0}.code-viewer-content::-webkit-scrollbar{width:8px;height:8px}.code-viewer-content::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.code-viewer-content::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:4px}.code-viewer-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.code-file-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);margin:var(--spacing-sm)0;display:flex;position:relative}.code-file-card:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.code-file-card:focus{outline:2px solid var(--color-primary);outline-offset:2px}.code-file-card.active{border-color:var(--color-primary);background-color:var(--color-bg-tertiary)}.code-file-card.active:before{content:"";background-color:var(--color-primary);border-radius:var(--radius-lg)0 0 var(--radius-lg);width:3px;position:absolute;top:0;bottom:0;left:0}.file-icon{border-radius:var(--radius-md);color:#fff;width:40px;height:40px;font-weight:700;font-size:var(--text-xs);text-shadow:0 1px 2px #0003;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-text{letter-spacing:-.5px}.file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-name{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-meta{align-items:center;gap:var(--spacing-xs);font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex}.file-separator{opacity:.5}.file-language{color:var(--color-text-secondary)}.file-actions{align-items:center;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast);display:flex}.code-file-card:hover .file-actions{opacity:1}.file-action-btn{border-radius:var(--radius-md);background-color:var(--color-bg-elevated);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex}.file-action-btn:hover{background-color:var(--color-primary);color:#fff}.file-action-btn.preview-btn:hover{background-color:var(--color-success,#10b981)}.file-action-btn:active{transform:scale(.95)}@media (max-width:480px){.code-file-card{padding:var(--spacing-sm);gap:var(--spacing-sm)}.file-icon{width:36px;height:36px;font-size:10px}.file-actions{opacity:1}.file-action-btn{width:28px;height:28px}}.message-content{word-wrap:break-word;overflow-wrap:break-word;position:relative}.code-copy-buttons{pointer-events:none;position:absolute;top:0;right:0}.code-copy-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;pointer-events:auto;opacity:0;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);z-index:10;border:none;font-weight:500;display:inline-flex;position:absolute}.message-content:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.code-copy-btn:active{transform:scale(.95)}.code-copy-btn.copied{background-color:var(--color-success);color:#fff;opacity:1}.message-content .message-renderer{font-size:var(--text-base);line-height:var(--leading-relaxed)}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-weight:600}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content h1{font-size:var(--text-2xl)}.message-content h2{font-size:var(--text-xl)}.message-content h3{font-size:var(--text-lg)}.message-content h4{font-size:var(--text-base)}.message-content p{margin:var(--spacing-sm)0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin:var(--spacing-sm)0;padding-left:var(--spacing-lg)}.message-content li,.message-content li>ul,.message-content li>ol{margin:var(--spacing-xs)0}.message-content blockquote{margin:var(--spacing-md)0;padding:var(--spacing-sm)var(--spacing-md);border-left:4px solid var(--color-primary);background-color:var(--color-bg-secondary);border-radius:0 var(--radius-md)var(--radius-md)0;color:var(--color-text-secondary)}.message-content blockquote p{margin:0}.message-content a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}.message-content a:hover{color:var(--color-primary-hover);text-decoration:underline}.message-content table{border-collapse:collapse;width:100%;margin:var(--spacing-md)0;font-size:var(--text-sm)}.message-content th,.message-content td{padding:var(--spacing-sm);border:1px solid var(--color-border-primary);text-align:left}.message-content th{background-color:var(--color-bg-secondary);font-weight:600}.message-content tr:nth-child(2n){background-color:var(--color-bg-secondary)}.message-content hr{margin:var(--spacing-lg)0;border:none;border-top:1px solid var(--color-border-primary)}.message-content img{border-radius:var(--radius-md);max-width:100%;height:auto;margin:var(--spacing-sm)0}.message-content video{border-radius:var(--radius-md);max-width:100%;margin:var(--spacing-sm)0}.message-content .code-block-wrapper{margin:var(--spacing-md)0;position:relative}.message-content .code-block-header{padding:var(--spacing-xs)var(--spacing-md);background-color:var(--color-bg-tertiary);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;display:flex}.message-content .code-language{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.message-content pre{padding:var(--spacing-md);background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0;overflow-x:auto}.message-content .code-block-wrapper pre{border-top-left-radius:0;border-top-right-radius:0}.message-content code{font-family:var(--font-mono);font-size:.9em}.message-content .inline-code,.message-content p code,.message-content li code{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.875em}.message-content input[type=checkbox]{margin-right:var(--spacing-sm)}.message-content del{color:var(--color-text-tertiary)}@media (max-width:768px){.message-content .message-renderer{font-size:var(--text-sm)}.message-content pre{font-size:var(--text-xs);padding:var(--spacing-sm)}.message-content table{font-size:var(--text-xs)}.message-content th,.message-content td{padding:var(--spacing-xs)}.code-copy-btn span{display:none}}.message-content.optimized{will-change:auto;transform:translateZ(0)}.lazy-chunk{min-height:20px}.chunk-placeholder{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-tertiary);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.chunk-loading{padding:var(--spacing-md)}.chunked-content{flex-direction:column;gap:0;display:flex}.truncated-content{position:relative}.show-more-container,.show-less-container{padding:var(--spacing-md)0;justify-content:center;display:flex}.show-more-btn,.show-less-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-lg);border:1px solid var(--color-border-primary);border-radius:var(--radius-full);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);font-weight:500;display:inline-flex}.show-more-btn:hover,.show-less-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-primary)}.simple-text-content{white-space:pre-wrap;word-wrap:break-word}.image-thumbnail{border-radius:var(--radius-md);background:var(--color-bg-secondary);cursor:pointer;transition:transform .2s,box-shadow .2s;display:inline-block;position:relative;overflow:hidden}.image-thumbnail:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.image-thumbnail:focus{box-shadow:0 0 0 3px var(--color-primary-alpha);outline:none}.image-thumbnail img{object-fit:contain;border-radius:var(--radius-md);display:block}.image-thumbnail.error{cursor:default}.image-thumbnail.error:hover{box-shadow:none;transform:none}.thumbnail-skeleton{background:linear-gradient(90deg,var(--color-bg-secondary)25%,var(--color-bg-tertiary)50%,var(--color-bg-secondary)75%);border-radius:var(--radius-md);background-size:200% 100%;min-height:100px;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.thumbnail-error{justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg);color:var(--color-text-tertiary);flex-direction:column;min-width:150px;min-height:100px;display:flex}.thumbnail-error-icon{opacity:.5;font-size:32px}.thumbnail-error-text{font-size:var(--text-xs)}.thumbnail-overlay{pointer-events:none;background:0 0;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;inset:0}.thumbnail-overlay svg{opacity:0;color:#fff;filter:drop-shadow(0 2px 4px #0000004d);transition:opacity .2s}.image-thumbnail:hover .thumbnail-overlay{background:#0000004d}.image-thumbnail:hover .thumbnail-overlay svg{opacity:1}.image-lightbox-overlay{z-index:9999;background:#000000e6;justify-content:center;align-items:center;animation:.2s ease-out lightbox-fadein;display:flex;position:fixed;inset:0}@keyframes lightbox-fadein{0%{opacity:0}to{opacity:1}}.image-lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:80vh;animation:.2s ease-out lightbox-zoomin}@keyframes lightbox-zoomin{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox-close{color:#fff;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-full);background:0 0;border:none;transition:background .2s;position:absolute;top:-48px;right:0}.lightbox-close:hover{background:#ffffff1a}.lightbox-close:focus{background:#fff3;outline:none}.lightbox-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);display:flex}.lightbox-action-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);cursor:pointer;background:#ffffff1a;border:1px solid #fff3;transition:all .2s;display:flex}.lightbox-action-btn:hover{background:#fff3;border-color:#ffffff4d}.lightbox-action-btn:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.generated-image-container{margin-top:var(--spacing-sm)}.message-images{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}@media (max-width:768px){.image-thumbnail{max-width:100%}.lightbox-close{top:var(--spacing-sm);right:var(--spacing-sm)}.lightbox-image{max-height:70vh}.lightbox-actions{bottom:var(--spacing-lg);position:fixed;left:50%;transform:translate(-50%)}}.message-bubble{gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-lg);transition:background-color var(--transition-fast);contain:layout style;min-height:60px;display:flex}.message-bubble:hover{background-color:var(--color-bg-secondary)}.message-avatar{flex-shrink:0}.avatar{border-radius:var(--radius-full);width:32px;height:32px;font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.user-avatar{background-color:var(--color-primary);color:var(--color-text-inverse)}.assistant-avatar{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.message-content-wrapper{gap:var(--spacing-xs);flex-direction:column;flex:1;min-width:0;display:flex}.message-header{align-items:center;gap:var(--spacing-sm);font-size:var(--text-sm);display:flex}.message-role{color:var(--color-text-primary);font-weight:600}.message-model{font-size:var(--text-xs);color:var(--color-text-tertiary);background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);white-space:nowrap;text-overflow:ellipsis;max-width:150px;padding:2px 8px;font-weight:500;overflow:hidden}.message-time{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-left:auto}.message-body{color:var(--color-text-primary);line-height:var(--leading-relaxed);overflow-wrap:break-word;word-break:break-word;min-height:1.5em}.message-bubble.user .message-body{background-color:var(--message-bubble-user-bg);color:var(--color-text-inverse);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-lg);border-top-left-radius:var(--radius-sm)}.message-bubble.assistant .message-body{background-color:#0000}.message-bubble.streaming{contain:layout}.message-bubble.streaming .message-body{min-height:2em}.message-bubble.streaming .message-body:after{content:"▋";color:var(--color-primary);margin-left:2px;animation:1s infinite cursor-blink}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.message-attachments{gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.attachment-badge{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-secondary);display:inline-flex}.attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.message-actions{gap:var(--spacing-xs);margin-top:var(--spacing-sm);opacity:0;transition:opacity var(--transition-fast);display:flex}.message-bubble:hover .message-actions{opacity:1}@media (hover:none){.message-actions{opacity:1}}.action-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;display:inline-flex}.action-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.action-btn:active{transform:scale(.95)}.fork-btn:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}.action-label{font-weight:500}@media (max-width:768px){.message-bubble{gap:var(--spacing-sm);padding:var(--spacing-sm)}.avatar{width:28px;height:28px}.message-model{max-width:100px}.action-label{display:none}.action-btn{padding:var(--spacing-xs)}}@media (max-width:480px){.message-time{display:none}}.reasoning-section{margin-bottom:var(--spacing-md);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);background-color:var(--color-bg-secondary);overflow:hidden}.reasoning-toggle{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm)var(--spacing-md);cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-sm);transition:all var(--transition-fast);background:0 0;border:none;font-weight:500;display:flex}.reasoning-toggle:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.reasoning-label{text-align:left;flex:1}.chevron-down-icon{transition:transform var(--transition-fast)}.chevron-down-icon.rotated{transform:rotate(180deg)}.reasoning-content{padding:var(--spacing-sm)var(--spacing-md);border-top:1px solid var(--color-border-primary);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);max-height:400px;padding-top:0;overflow-y:auto}.reasoning-content::-webkit-scrollbar{width:6px}.reasoning-content::-webkit-scrollbar-track{background:0 0}.reasoning-content::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-full)}.reasoning-section .reasoning-toggle .reasoning-label:after{content:""}.message-bubble.streaming .reasoning-section .reasoning-label:after{content:"...";animation:1.5s infinite thinking-dots}@keyframes thinking-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.reasoning-section.collapsed .reasoning-content{display:none}.reasoning-section.collapsed{border-color:var(--color-border-secondary)}.chat-view{padding:var(--spacing-md);scroll-behavior:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-width:0;overflow:hidden auto}.chat-messages-container{max-width:var(--chat-max-width);gap:var(--spacing-md);padding-bottom:var(--spacing-xl);contain:layout style;flex-direction:column;margin:0 auto;display:flex}.chat-empty-state{text-align:center;padding:var(--spacing-2xl);flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.empty-state-icon{margin-bottom:var(--spacing-md);opacity:.6;font-size:4rem}.empty-state-title{font-size:var(--text-xl);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)0;font-weight:600}.empty-state-description{font-size:var(--text-base);color:var(--color-text-secondary);max-width:300px;margin:0}.streaming-indicator{padding:var(--spacing-md);background-color:var(--message-bubble-assistant-bg);border-radius:var(--radius-lg);align-self:flex-start;align-items:center;max-width:80%;display:flex}.typing-dots{padding:var(--spacing-xs)var(--spacing-sm);gap:4px;display:flex}.typing-dots span{background-color:var(--color-text-tertiary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both typing-bounce}.typing-dots span:first-child{animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}.typing-dots span:nth-child(3){animation-delay:0s}@keyframes typing-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.scroll-anchor{width:100%;height:1px}@media (max-width:768px){.chat-view{padding:var(--spacing-sm)}.chat-messages-container{gap:var(--spacing-sm)}.chat-empty-state{padding:var(--spacing-xl);min-height:200px}.empty-state-icon{font-size:3rem}}.chat-view.virtualized{contain:strict}.virtual-container{position:relative}.virtual-items{will-change:transform}.virtual-item{contain:layout style}.chat-messages-container{isolation:isolate}.input-area{padding:var(--spacing-md);background-color:var(--color-bg-elevated);border-top:1px solid var(--color-border-primary);transition:all var(--transition-fast);position:relative}.input-area.disabled{opacity:.6;pointer-events:none}.input-area.drag-over{background-color:var(--color-bg-secondary)}.token-indicator{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding:0 var(--spacing-xs);display:flex}.multimodal-warning{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--color-warning-bg,#f59e0b1a);border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);font-size:var(--text-sm);display:flex}.multimodal-warning svg{flex-shrink:0}.multimodal-warning span{flex:1}.multimodal-warning strong{font-weight:600}.dismiss-warning-btn{border-radius:var(--radius-full);width:20px;height:20px;color:var(--color-warning);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.dismiss-warning-btn:hover{background-color:var(--color-warning);color:#fff}.image-options-panel{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.image-option-row{align-items:center;gap:var(--spacing-sm);display:flex}.image-options-label{align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;display:flex}.image-options-label svg{color:var(--color-primary)}.image-size-options{gap:4px;display:flex}.image-size-btn{border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);background-color:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-xs);justify-content:center;align-items:center;padding:4px 10px;display:flex}.image-size-btn:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-bg-tertiary)}.image-size-btn.selected{border-color:var(--color-primary);color:var(--color-primary);background-color:#635bff26;font-weight:600}.image-size-btn:disabled{opacity:.5;cursor:not-allowed}.image-size-preview{font-size:var(--text-xs);color:var(--color-text-tertiary);background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);margin-left:auto;padding:4px 8px}.token-bar-container{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);flex:1;height:4px;overflow:hidden}.token-bar{background-color:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal),background-color var(--transition-fast)}.token-bar.warning{background-color:var(--color-warning)}.token-bar.error{background-color:var(--color-error)}.token-text{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;text-align:right;min-width:100px}.token-text.warning{color:var(--color-warning)}.token-text.error{color:var(--color-error)}.attached-files{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.attached-file{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs)var(--spacing-sm);background-color:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);max-width:200px;display:flex}.attached-file.error{border-color:var(--color-error);background-color:var(--color-error-bg)}.attached-file.warning{border-color:var(--color-warning);background-color:var(--color-warning-bg,#f59e0b1a)}.file-preview{object-fit:cover;border-radius:var(--radius-sm);width:32px;height:32px}.file-icon{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.file-info{flex-direction:column;flex:1;min-width:0;display:flex}.file-name{font-size:var(--text-xs);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-error{font-size:var(--text-xs);color:var(--color-error)}.file-meta{color:var(--color-text-tertiary);font-size:10px}.file-warning{font-size:var(--text-xs);color:var(--color-warning)}.remove-file-btn{border-radius:var(--radius-full);background-color:var(--color-bg-tertiary);width:20px;height:20px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex}.remove-file-btn:hover{background-color:var(--color-error);color:#fff}.input-container{align-items:flex-end;gap:var(--spacing-sm);max-width:var(--chat-max-width);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--spacing-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);margin:0 auto;display:flex}.input-container:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #635bff1a}.attach-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.attach-btn:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.attach-btn:disabled{opacity:.5;cursor:not-allowed}.image-attach-btn.disabled-vision{opacity:.4;position:relative}.image-attach-btn.disabled-vision:after{content:"";background-color:var(--color-error);border-radius:1px;width:24px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.file-input-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.message-input{min-height:36px;max-height:200px;padding:var(--spacing-sm);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);resize:none;background-color:#0000;border:none;outline:none;flex:1}.message-input::placeholder{color:var(--color-text-tertiary)}.message-input:disabled{cursor:not-allowed}.send-btn{border-radius:var(--radius-md);background-color:var(--color-primary);width:36px;height:36px;color:var(--color-text-inverse);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.send-btn:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.send-btn.loading{background-color:var(--color-primary);cursor:wait}.loading-spinner{animation:1s linear infinite spin}.drop-overlay{border:2px dashed var(--color-primary);border-radius:var(--radius-lg);z-index:10;pointer-events:none;background-color:#635bff1a;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drop-content{align-items:center;gap:var(--spacing-sm);color:var(--color-primary);flex-direction:column;font-weight:500;display:flex}.drop-overlay.blocked{border-color:var(--color-error);background-color:#ef44441a}.drop-overlay.blocked .drop-content{color:var(--color-error)}.drop-blocked-text{font-size:var(--text-base);font-weight:600}.drop-blocked-hint{font-size:var(--text-sm);opacity:.8;font-weight:400}@media (max-width:768px){.input-area{padding:var(--spacing-sm)}.input-container{padding:var(--spacing-xs)}.attach-btn,.send-btn{width:32px;height:32px}.message-input{min-height:32px;padding:var(--spacing-xs);font-size:var(--text-sm)}.token-indicator{align-items:stretch;gap:var(--spacing-xs);flex-direction:column}.token-text{text-align:center;min-width:auto}.attached-file{max-width:150px}}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary)25%,var(--color-bg-tertiary)50%,var(--color-bg-secondary)75%);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{gap:var(--spacing-xs);flex-direction:column;display:flex}.skeleton-line{margin-bottom:var(--spacing-xs)}.skeleton-line:last-child{margin-bottom:0}.skeleton-message{gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-lg);display:flex}.skeleton-message-content{gap:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.skeleton-role{margin-bottom:var(--spacing-xs)}.skeleton-sidebar-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);display:flex}.skeleton-app-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);flex-direction:column;display:flex}.skeleton-app-icon,.skeleton-app-name{margin-bottom:var(--spacing-xs)}.loading-overlay{z-index:var(--z-modal);background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.loading-overlay-content{align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background-color:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;display:flex}.loading-message{font-size:var(--text-sm);color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--color-bg-tertiary);animation:none}.loading-spinner-svg{animation:none}}.fork-name-dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.fork-name-dialog{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);animation:.2s ease-out slideUp}.fork-name-dialog-title{align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-md)0;color:var(--color-text-primary);font-size:1.1rem;font-weight:600;display:flex}.fork-name-dialog-title svg{color:var(--color-primary)}.fork-name-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.fork-name-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha);outline:none}.fork-name-input::placeholder{color:var(--color-text-tertiary)}.fork-name-dialog-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.fork-name-cancel-btn,.fork-name-confirm-btn{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.fork-name-cancel-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.fork-name-cancel-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.fork-name-confirm-btn{background:var(--color-primary);color:#fff;border:none}.fork-name-confirm-btn:hover:not(:disabled){background:var(--color-primary-hover)}.fork-name-confirm-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-placeholder{height:100%;padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.placeholder-content{text-align:center;max-width:400px}.placeholder-icon{margin-bottom:var(--spacing-lg);font-size:4rem;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.placeholder-title{font-size:var(--text-2xl);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0;font-weight:600}.placeholder-text{font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm)0;line-height:var(--leading-relaxed)}.placeholder-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0}.chat-container{flex-direction:column;height:100%;display:flex;position:relative}.chat-content-area{flex:1;display:flex;position:relative;overflow:hidden}.error-banner{background-color:var(--color-error-bg,#fef2f2);border-bottom:1px solid var(--color-error-border,#fecaca);padding:var(--spacing-sm)var(--spacing-md);flex-shrink:0}[data-theme=dark] .error-banner{background-color:#ef44441a;border-bottom-color:#ef44444d}.error-content{align-items:center;gap:var(--spacing-sm);max-width:1200px;margin:0 auto;display:flex}.error-icon{flex-shrink:0}.error-message{font-size:var(--text-sm);color:var(--color-error,#dc2626);flex:1}[data-theme=dark] .error-message{color:#f87171}.error-actions{gap:var(--spacing-xs);flex-shrink:0;display:flex}.retry-btn,.dismiss-btn{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.retry-btn{background-color:var(--color-error,#dc2626);color:#fff;border:none}.retry-btn:hover:not(:disabled){background-color:#b91c1c}.retry-btn:disabled{opacity:.5;cursor:not-allowed}.dismiss-btn{color:var(--color-text-secondary);border:1px solid var(--color-border);background-color:#0000}.dismiss-btn:hover{background-color:var(--color-bg-secondary)}.new-chat-btn{margin-top:var(--spacing-lg);padding:var(--spacing-sm)var(--spacing-lg);font-size:var(--text-base);color:#fff;background-color:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500}.new-chat-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.new-chat-btn:active{transform:translateY(0)}.app-list-container{height:100%;padding:var(--spacing-lg);background-color:var(--color-bg-primary);overflow-y:auto}.app-form-overlay{height:100%;padding:var(--spacing-lg);background-color:var(--color-bg-primary);justify-content:center;align-items:center;display:flex}.app-editor-overlay{height:100%;padding:var(--spacing-lg);background-color:var(--color-bg-primary);overflow-y:auto}.placeholder-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);justify-content:center;display:flex}.browse-apps-btn{padding:var(--spacing-sm)var(--spacing-lg);font-size:var(--text-base);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;font-weight:500}.browse-apps-btn:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-1px)}.browse-apps-btn:active{transform:translateY(0)}.loading-fallback{justify-content:center;align-items:center;height:100%;min-height:200px;display:flex}.loading-spinner-container{justify-content:center;align-items:center;display:flex}.loading-spinner-svg{color:var(--color-primary);animation:1s linear infinite spin}
