.vscode-codeblock ::-webkit-scrollbar{width:8px;height:8px}.vscode-codeblock ::-webkit-scrollbar-track{background:var(--vscode-scrollbar-track, #1e1e1e)}.vscode-codeblock ::-webkit-scrollbar-thumb{background:var(--vscode-scrollbar-thumb, #424242);border-radius:4px}.vscode-codeblock ::-webkit-scrollbar-thumb:hover{background:var(--vscode-scrollbar-thumb-hover, #4f4f4f)}.vscode-codeblock{scrollbar-width:thin;scrollbar-color:var(--vscode-scrollbar-thumb, #424242) var(--vscode-scrollbar-track, #1e1e1e)}.vscode-codeblock ::selection{background:var(--vscode-selection, #264f78);color:inherit}.vscode-codeblock ::-moz-selection{background:var(--vscode-selection, #264f78);color:inherit}.vscode-codeblock:focus-within{outline:2px solid var(--vscode-focus-border, #007acc);outline-offset:2px}.vscode-codeblock button:hover{background:var(--vscode-button-hover, #2a2d2e)!important}.vscode-codeblock button:active{background:var(--vscode-button-active, #1e1e1e)!important}.vscode-codeblock input[type=checkbox]{accent-color:var(--vscode-accent, #007acc)}.vscode-codeblock input[type=range]{background:var(--vscode-input-background, #3c3c3c);border:1px solid var(--vscode-input-border, #3e3e42);border-radius:3px}.vscode-codeblock input[type=range]::-webkit-slider-thumb{background:var(--vscode-accent, #007acc);border-radius:50%;cursor:pointer}.vscode-codeblock input[type=range]::-moz-range-thumb{background:var(--vscode-accent, #007acc);border-radius:50%;cursor:pointer;border:none}.vscode-minimap{position:absolute;right:8px;top:0;bottom:0;width:60px;background:var(--vscode-minimap-background, #1e1e1e);border-left:1px solid var(--vscode-minimap-border, #3e3e42);overflow:hidden;pointer-events:none}.vscode-status-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 16px;background:var(--vscode-status-bar-background, #007acc);color:var(--vscode-status-bar-foreground, #ffffff);font-size:11px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vscode-settings-panel{padding:12px 16px;background:var(--vscode-settings-background, #252526);border-bottom:1px solid var(--vscode-settings-border, #3e3e42);font-size:12px}.vscode-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--vscode-header-background, #2d2d30);border-bottom:1px solid var(--vscode-header-border, #3e3e42);font-size:12px;font-weight:500;color:var(--vscode-header-foreground, #cccccc);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.vscode-editor{background:var(--vscode-editor-background, #1e1e1e);font-family:Consolas,Monaco,Courier New,monospace;position:relative}.vscode-line-numbers{color:var(--vscode-line-numbers, #858585);font-family:Consolas,Monaco,Courier New,monospace;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:right;padding-right:16px;min-width:3em}.vscode-line-highlight{background:var(--vscode-line-highlight, #2a2d2e);border-left:3px solid var(--vscode-line-highlight-border, #007acc);margin-left:-16px;padding-left:13px}.vscode-token-keyword{color:var(--vscode-token-keyword, #569cd6);font-weight:700}.vscode-token-string{color:var(--vscode-token-string, #ce9178)}.vscode-token-comment{color:var(--vscode-token-comment, #6a9955);font-style:italic}.vscode-token-function{color:var(--vscode-token-function, #dcdcaa);font-weight:700}.vscode-token-number{color:var(--vscode-token-number, #b5cea8)}.vscode-token-boolean{color:var(--vscode-token-boolean, #569cd6);font-weight:700}.vscode-token-variable{color:var(--vscode-token-variable, #9cdcfe)}.vscode-token-class{color:var(--vscode-token-class, #4ec9b0);font-weight:700}[data-vscode-theme=dark]{--vscode-background: #1e1e1e;--vscode-surface: #252526;--vscode-header-background: #2d2d30;--vscode-border: #3e3e42;--vscode-text: #cccccc;--vscode-text-muted: #858585;--vscode-accent: #007acc;--vscode-error: #f44747;--vscode-warning: #cca700;--vscode-info: #75beff;--vscode-success: #4ec9b0;--vscode-selection: #264f78;--vscode-line-highlight: #2a2d2e;--vscode-minimap-background: #1e1e1e;--vscode-minimap-border: #3e3e42;--vscode-scrollbar-track: #1e1e1e;--vscode-scrollbar-thumb: #424242;--vscode-scrollbar-thumb-hover: #4f4f4f;--vscode-focus-border: #007acc;--vscode-button-hover: #2a2d2e;--vscode-button-active: #1e1e1e;--vscode-input-background: #3c3c3c;--vscode-input-border: #3e3e42;--vscode-status-bar-background: #007acc;--vscode-status-bar-foreground: #ffffff;--vscode-settings-background: #252526;--vscode-settings-border: #3e3e42;--vscode-header-foreground: #cccccc;--vscode-editor-background: #1e1e1e;--vscode-line-numbers: #858585;--vscode-line-highlight-border: #007acc;--vscode-token-keyword: #569cd6;--vscode-token-string: #ce9178;--vscode-token-comment: #6a9955;--vscode-token-function: #dcdcaa;--vscode-token-number: #b5cea8;--vscode-token-boolean: #569cd6;--vscode-token-variable: #9cdcfe;--vscode-token-class: #4ec9b0}[data-vscode-theme=light]{--vscode-background: #ffffff;--vscode-surface: #f3f3f3;--vscode-header-background: #f8f8f8;--vscode-border: #e5e7eb;--vscode-text: #000000;--vscode-text-muted: #6b7280;--vscode-accent: #007acc;--vscode-error: #e51400;--vscode-warning: #ff8c00;--vscode-info: #0066cc;--vscode-success: #107c10;--vscode-selection: #add6ff;--vscode-line-highlight: #f0f0f0;--vscode-minimap-background: #ffffff;--vscode-minimap-border: #e5e7eb;--vscode-scrollbar-track: #f3f3f3;--vscode-scrollbar-thumb: #c1c1c1;--vscode-scrollbar-thumb-hover: #a8a8a8;--vscode-focus-border: #007acc;--vscode-button-hover: #e5e7eb;--vscode-button-active: #d1d5db;--vscode-input-background: #ffffff;--vscode-input-border: #d1d5db;--vscode-status-bar-background: #007acc;--vscode-status-bar-foreground: #ffffff;--vscode-settings-background: #f3f3f3;--vscode-settings-border: #e5e7eb;--vscode-header-foreground: #000000;--vscode-editor-background: #ffffff;--vscode-line-numbers: #6b7280;--vscode-line-highlight-border: #007acc;--vscode-token-keyword: #0000ff;--vscode-token-string: #a31515;--vscode-token-comment: #008000;--vscode-token-function: #795e26;--vscode-token-number: #098658;--vscode-token-boolean: #0000ff;--vscode-token-variable: #001080;--vscode-token-class: #267f99}@media (max-width: 768px){.vscode-codeblock{font-size:12px}.vscode-header{padding:6px 12px;font-size:11px}.vscode-status-bar{padding:3px 12px;font-size:10px}.vscode-minimap{width:40px}}.vscode-codeblock{transition:all .2s ease-in-out}.vscode-codeblock button{transition:all .15s ease-in-out}.vscode-codeblock button:focus{outline:2px solid var(--vscode-focus-border, #007acc);outline-offset:2px}.vscode-codeblock input:focus{outline:2px solid var(--vscode-focus-border, #007acc);outline-offset:2px}@media (prefers-contrast: high){.vscode-codeblock,.vscode-codeblock button{border-width:2px}}@media (prefers-reduced-motion: reduce){.vscode-codeblock,.vscode-codeblock button{transition:none}}.streaming-active{position:relative}.streaming-active:after{content:"";display:none}@keyframes typing-cursor{0%,50%{opacity:1}51%,to{opacity:0}}.streaming-content-wrapper{animation:content-fade-in .2s ease-out}@keyframes content-fade-in{0%{opacity:.8}to{opacity:1}}.smart-content-display{transition:all .3s ease-out}.smart-content-display:not(.streaming-active):after{display:none}.streaming-active .markdown-content{word-wrap:break-word;overflow-wrap:break-word}.streaming-cursor{display:inline-block;width:2px;height:1.2em;margin-left:2px;background-color:var(--text-accent);animation:streaming-blink 1s step-end infinite;vertical-align:text-bottom}@keyframes streaming-blink{0%,to{opacity:1}50%{opacity:0}}.streaming-cursor-pulse{display:inline-block;width:3px;height:1.2em;margin-left:2px;background-color:var(--text-accent);animation:streaming-pulse 1.2s ease-in-out infinite;border-radius:1px;vertical-align:text-bottom}@keyframes streaming-pulse{0%,to{opacity:.4;transform:scaleY(.9)}50%{opacity:1;transform:scaleY(1)}}.skeleton-line{height:1em;border-radius:4px;background:linear-gradient(90deg,var(--surface-secondary) 25%,var(--surface-tertiary) 50%,var(--surface-secondary) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-preview{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-left:1.5rem}.skeleton-preview .skeleton-line:nth-child(1){width:75%;animation-delay:0s}.skeleton-preview .skeleton-line:nth-child(2){width:50%;animation-delay:.15s}.skeleton-preview .skeleton-line:nth-child(3){width:65%;animation-delay:.3s}.streaming-content{transition:opacity .15s ease-out}.streaming-content.streaming-active{opacity:1}.content-reveal{animation:content-fade-in .2s ease-out}@keyframes content-fade-in{0%{opacity:.7}to{opacity:1}}.streaming-text-renderer{transition:opacity .15s ease-out}.streaming-text-renderer[data-render-phase=processing]{opacity:.95}.streaming-text-renderer[data-render-phase=complete]{opacity:1}.streaming-code-block{position:relative;overflow:hidden}.streaming-code-block:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--text-accent) 50%,transparent 100%);animation:code-streaming-bar 1.5s ease-in-out infinite}@keyframes code-streaming-bar{0%,to{opacity:.3;transform:translate(-100%)}50%{opacity:1;transform:translate(100%)}}.code-block-complete{animation:code-highlight-reveal .3s ease-out}@keyframes code-highlight-reveal{0%{filter:saturate(.5)}to{filter:saturate(1)}}.thinking-dots{display:flex;gap:4px;align-items:center}.thinking-dots span{width:6px;height:6px;border-radius:50%;background-color:currentColor;animation:thinking-bounce 1.4s ease-in-out infinite}.thinking-dots span:nth-child(1){animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-6px);opacity:1}}.new-messages-indicator{position:sticky;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:9999px;box-shadow:0 4px 12px var(--surface-inverse);cursor:pointer;animation:slide-up .2s ease-out;z-index:10}@keyframes slide-up{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.chat-message-enter{opacity:0;transform:translateY(10px)}.chat-message-enter-active{opacity:1;transform:translateY(0);transition:opacity .2s ease-out,transform .2s ease-out}.user-message-sent{animation:message-sent .3s ease-out}@keyframes message-sent{0%{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
