:root{--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-canvas-inset: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: #e5e7eb;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-accent-subtle: #ddf4ff;--color-btn-bg: #f6f8fa;--color-btn-border: rgba(31, 35, 40, .15);--color-btn-hover-bg: #f3f4f6;--color-btn-active-bg: #e5e7eb;--color-btn-primary-bg: #2da44e;--color-btn-primary-hover-bg: #2c974b;--color-tab-inactive-bg: rgba(0, 0, 0, .05);--color-tab-hover-bg: rgba(0, 0, 0, .08);--color-user-bubble: #0969da;--color-user-text: #ffffff;--color-assistant-bubble: #f0f0f0;--color-assistant-text: #24292f;--color-user-border: #0969da;--color-assistant-border: #6e7781;--color-danger-fg: #cf222e;--color-danger-emphasis: #cf222e;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 0 rgba(31, 35, 40, .04);--shadow-md: 0 3px 6px rgba(31, 35, 40, .12)}[data-theme=dark]{--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-canvas-inset: #010409;--color-border-default: #30363d;--color-border-muted: #21262d;--color-fg-default: #e6edf3;--color-fg-muted: #8b949e;--color-fg-subtle: #6e7681;--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-accent-subtle: #161b22;--color-btn-bg: #21262d;--color-btn-hover-bg: #30363d;--color-btn-active-bg: #292e36;--color-btn-primary-bg: #238636;--color-btn-primary-hover-bg: #2ea043;--color-tab-inactive-bg: rgba(255, 255, 255, .05);--color-tab-hover-bg: rgba(255, 255, 255, .08);--color-user-bubble: #1f6feb;--color-user-text: #ffffff;--color-assistant-bubble: #21262d;--color-assistant-text: #e6edf3;--color-user-border: #58a6ff;--color-assistant-border: #8b949e;--color-danger-fg: #ff7b72;--color-danger-emphasis: #da3633}*{box-sizing:border-box;margin:0;padding:0}a,button,input,select,textarea,[role=button],[onclick],.tab,.tab-title,.tab-close,.image-card,.clickable{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html,body{font-family:var(--font-base);font-size:14px;line-height:1.5;color:var(--color-fg-default);background-color:var(--color-canvas-default);overflow:hidden;height:100%}#app{width:100%;height:100vh;min-height:100%}@supports (height: 100dvh){#app{height:100dvh}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:5px 16px;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid var(--color-btn-border);border-radius:var(--radius-md);background-color:var(--color-btn-bg);color:var(--color-fg-default);transition:background-color .2s,border-color .2s}.btn:hover{background-color:var(--color-btn-hover-bg)}.btn:active{background-color:var(--color-btn-active-bg)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-btn-primary-bg);color:#fff;border-color:transparent}.btn-primary:hover{background-color:var(--color-btn-primary-hover-bg)}.btn-secondary{background-color:var(--color-canvas-subtle)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-canvas-subtle)}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-fg-muted)}pre{background-color:var(--color-canvas-subtle);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-3);overflow-x:auto;margin:var(--space-2) 0}code{font-family:var(--font-mono);font-size:13px;background-color:var(--color-canvas-subtle);padding:2px 6px;border-radius:var(--radius-sm)}pre code{background-color:transparent;padding:0;border-radius:0}a{color:var(--color-accent-fg);text-decoration:none}a:hover{text-decoration:underline}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-fg-muted);font-size:16px}.chat-container{display:flex;flex-direction:column;height:100%;min-height:100vh;background-color:var(--color-canvas-default)}@supports (height: 100dvh){.chat-container{min-height:100dvh}}.chat-header{flex-shrink:0;background-color:var(--color-canvas-subtle)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-3);background-color:var(--color-canvas-inset);display:flex;flex-direction:column;gap:var(--space-2);position:relative}.message{display:flex;flex-direction:column;max-width:70%;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end}.message-assistant{align-self:flex-start}.message-content{padding:10px 14px;border-radius:12px;word-wrap:break-word;line-height:1.5}.message-user .message-content{background-color:var(--color-user-bubble);color:var(--color-user-text);border-radius:12px 12px 2px}.message-assistant .message-content{background-color:var(--color-assistant-bubble);color:var(--color-assistant-text);border-radius:12px 12px 12px 2px}.message-meta{font-size:11px;color:var(--color-fg-muted);margin-top:4px;opacity:.7}.message-user .message-meta{text-align:right}.message-assistant .message-meta{text-align:left}.message-content pre{background-color:#0000001a;border-radius:6px;padding:var(--space-2);overflow-x:auto;margin:var(--space-1) 0}.message-user .message-content pre{background-color:#00000026}.message-content code{background-color:#0000001a;padding:2px 4px;border-radius:3px;font-size:.9em}.message-content pre code{background-color:transparent;padding:0}.message-content img{max-width:100%;border-radius:8px;margin:var(--space-1) 0}.chat-operators-row{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-default);background-color:var(--color-canvas-default);gap:var(--space-3)}.model-selector-container{display:flex;align-items:center;gap:var(--space-2);flex:0 1 320px;flex-wrap:nowrap;min-width:0}.toolbar-container{display:flex;align-items:center;gap:var(--space-2)}.model-dropdown{width:100%;max-width:100%}.input-send-button{display:inline-flex}.chat-input-area{flex-shrink:0;padding:var(--space-2) var(--space-3) var(--space-4);border-top:1px solid var(--color-border-default);background-color:var(--color-canvas-default)}.image-preview-container{margin-bottom:var(--space-2);display:flex;gap:var(--space-2);flex-wrap:wrap}.image-preview{position:relative;display:inline-block}.image-preview img{max-width:120px;max-height:90px;border-radius:8px;border:1px solid var(--color-border-default);object-fit:cover}.btn-remove-image{position:absolute;top:-8px;right:-8px;width:24px;height:24px;padding:0;border:1px solid var(--color-border-default);border-radius:50%;background-color:var(--color-canvas-default);color:var(--color-fg-default);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.btn-remove-image:hover{background-color:var(--color-danger-emphasis);color:#fff;border-color:var(--color-danger-emphasis)}.input-row{display:flex;gap:var(--space-2);align-items:flex-end}.input-textarea{flex:1;min-height:44px;max-height:200px;padding:10px 14px;border:1px solid var(--color-border-default);border-radius:20px;background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-size:14px;font-family:var(--font-base);resize:none;outline:none;transition:border-color .2s}.input-textarea:focus{border-color:var(--color-accent-emphasis)}.input-textarea::placeholder{color:var(--color-fg-muted)}.input-button-group{display:flex;gap:var(--space-1);align-items:flex-end;flex-shrink:0}.input-button-group .btn{border-radius:20px;padding:10px 16px}.input-button-group .btn-primary{min-width:70px}.chat-messages:empty:before{content:"Start a conversation...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-fg-muted);font-size:16px}@media (max-width: 900px){.chat-messages{padding:var(--space-2)}.chat-operators-row{padding:var(--space-2) var(--space-2)}}@media (max-width: 768px){.chat-header{position:sticky;top:0;z-index:10}.chat-operators-row{flex-direction:row;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.model-selector-container{order:2;margin-left:auto;justify-content:flex-end;gap:var(--space-2);flex:0 1 60vw}.model-dropdown{min-width:0;width:100%}.toolbar-container{order:1;justify-content:flex-start;flex-wrap:wrap;gap:var(--space-1)}.message{max-width:85%}.input-row{flex-direction:row;align-items:flex-end;gap:var(--space-2)}.input-textarea{width:auto;min-height:60px}.input-button-group{justify-content:flex-end;gap:0}}@media (max-width: 480px){.chat-operators-row{padding:var(--space-2) var(--space-2)}.chat-input-area{padding:0 0 var(--space-5) var(--space-2)}.toolbar-container{gap:var(--space-1);flex-wrap:nowrap}.input-button-group{justify-content:flex-end;gap:var(--space-2)}.model-selector-container{flex:0 1 55vw}.message{max-width:100%}}@media (max-width: 768px){.input-send-button{display:none}}.tab-bar-container{display:flex;align-items:flex-end;gap:0;overflow-x:auto;background-color:var(--color-canvas-subtle);padding:8px 8px 0;-webkit-overflow-scrolling:touch}.tab-list{display:flex;gap:2px;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{display:flex;align-items:center;gap:var(--space-2);padding:8px 16px;border:none;border-radius:8px 8px 0 0;background-color:var(--color-tab-inactive-bg);color:var(--color-fg-muted);cursor:pointer;white-space:nowrap;transition:background-color .15s ease;position:relative;min-width:120px;max-width:240px}.tab:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:transparent;transition:background-color .15s ease}.tab:hover{background-color:var(--color-tab-hover-bg)}.tab-active{background-color:var(--color-canvas-default);color:var(--color-fg-default);font-weight:500}.tab-active:before{background-color:var(--color-accent-emphasis)}.tab-title{font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis}.tab-close{padding:0;width:20px;height:20px;border:none;background-color:transparent;color:var(--color-fg-muted);font-size:16px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background-color .15s}.tab:hover .tab-close,.tab-active .tab-close{opacity:1}.tab-close:hover{background-color:var(--color-btn-hover-bg);color:var(--color-fg-default)}.btn-new-tab{padding:4px 12px;font-size:18px;background-color:transparent;border:none;color:var(--color-fg-muted);border-radius:4px;min-width:auto;margin-left:2px;flex-shrink:0}.btn-new-tab:hover{background-color:var(--color-btn-hover-bg);color:var(--color-fg-default)}.model-selector-label{font-size:12px;font-weight:600;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.model-dropdown{padding:6px 12px;font-size:13px;font-family:var(--font-mono);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-canvas-default);color:var(--color-fg-default);cursor:pointer}.model-dropdown:focus{outline:2px solid var(--color-accent-emphasis);outline-offset:-1px}.model-dropdown:disabled{opacity:.6;cursor:not-allowed}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;font-size:18px;border-radius:50%}.btn-theme-toggle{width:36px;height:36px;padding:0;font-size:18px;border-radius:50%}@media (max-width: 600px){.btn-icon,.btn-theme-toggle{width:32px;height:32px;font-size:16px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-canvas-default);border:1px solid var(--color-border-default);border-radius:12px;box-shadow:0 8px 24px #00000080;max-width:800px;width:90%;max-height:80vh;display:flex;flex-direction:column}.image-gallery-modal{max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border-default)}.modal-title{margin:0;font-size:18px;font-weight:600;color:var(--color-fg-default)}.btn-close-modal{padding:var(--space-2);width:32px;height:32px;border:none;background-color:transparent;color:var(--color-fg-muted);font-size:18px;cursor:pointer;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.btn-close-modal:hover{background-color:var(--color-btn-hover-bg);color:var(--color-fg-default)}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,180px);justify-content:center;gap:var(--space-3);padding:var(--space-4);overflow-y:auto;flex:1;min-height:300px}.image-card{border:2px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s;width:180px}.image-card:hover{border-color:var(--color-accent-emphasis);transform:scale(1.02)}.image-card img{width:180px;height:180px;object-fit:cover;display:block}.image-info{padding:var(--space-2);font-size:12px;color:var(--color-fg-muted);background-color:var(--color-canvas-subtle);text-align:center}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-top:1px solid var(--color-border-default);gap:var(--space-3)}.modal-nav-buttons{display:flex;gap:var(--space-2)}.loading-message,.error-message,.empty-message{padding:var(--space-6);text-align:center;color:var(--color-fg-muted);font-size:14px}.error-message{color:var(--color-danger-fg)}.btn-danger{background-color:var(--color-danger-emphasis);color:#fff;border:1px solid var(--color-danger-emphasis)}.btn-danger:hover{background-color:#c93c37;border-color:#c93c37}@media (max-width: 600px){.modal-content.image-gallery-modal{width:94%;max-width:none;height:90vh;max-height:90vh;border-radius:16px 16px 0 0;margin:0}.modal-header,.modal-footer{padding:var(--space-3)}.modal-footer{flex-direction:column;align-items:stretch}.modal-nav-buttons{width:100%;justify-content:space-between}.modal-nav-buttons .btn{flex:1}.images-grid{grid-template-columns:repeat(auto-fill,140px);padding:var(--space-3);min-height:200px}.image-card{width:140px}.image-card img{width:140px;height:140px}.btn-danger{width:100%}}@media (max-width: 768px){.tab-bar-container{padding:6px 6px 0}.tab{min-width:100px;padding:6px 12px}.tab-title{font-size:12px}}@media (max-width: 480px){.tab{min-width:90px;padding:6px 10px;gap:var(--space-1)}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
