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}*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Microsoft YaHei,sans-serif;-webkit-tap-highlight-color:transparent}.svg{width:24px;height:24px}:root{--primary: #1a73e8;--primary-dark: #0d5cb6;--secondary: #f8f9fa;--text-primary: #202124;--text-secondary: #5f6368;--border: #dadce0;--assistant-bg: #f0f7ff;--user-bg: #e3eeff;--sidebar-bg: #f8f9fa;--card-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--success: #34a853;--error: #ea4335}body{background:linear-gradient(135deg,#f5f7fa,#e4edfd);color:var(--text-primary);min-height:100vh;overflow:hidden;touch-action:manipulation}#app{display:flex;width:100%;max-width:1200px;margin:0 auto;height:100vh;position:relative}.login-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:15px}.login-form{background:#fff;border-radius:16px;padding:25px;width:100%;max-width:450px;box-shadow:0 10px 30px #0003;animation:slideIn .5s ease}@keyframes slideIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.login-header{text-align:center;margin-bottom:20px}.login-header h1{color:var(--primary);font-size:24px;margin-bottom:8px}.login-header p{color:var(--text-secondary);font-size:14px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary);font-size:14px}.form-control{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:16px;transition:all .3s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1a73e833;outline:none}.btn{display:block;width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #1a73e84d}.login-footer{text-align:center;margin-top:15px;color:var(--text-secondary);font-size:14px}.login-footer a{color:var(--primary);text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}.user-info{display:flex;align-items:center;padding:10px 20px;background:#fff;border-bottom:1px solid var(--border)}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:12px;flex-shrink:0}.user-details{flex:1;overflow:hidden}.user-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;margin-left:10px}.logout-btn:hover{color:var(--primary)}.sidebar{width:260px;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:all .3s ease;z-index:100;position:fixed;top:0;left:0;height:100%;transform:translate(-100%);overflow-y:auto;box-shadow:2px 0 15px #0000001a}.sidebar.active{transform:translate(0)}.logo{padding:20px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}.logo h1{font-size:20px;font-weight:600;color:var(--primary);margin-left:12px}.new-chat-btn{margin:20px;padding:12px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.new-chat-btn:hover{background:var(--primary-dark);transform:translateY(-2px)}.history{flex:1;overflow-y:auto;padding:10px 0}.history-item{padding:12px 20px;margin:4px 10px;border-radius:8px;cursor:pointer;display:flex;align-items:center;font-size:14px;color:var(--text-secondary);transition:all .2s}.history-item:hover{background:#0000000d}.history-item.active{background:var(--assistant-bg);color:var(--primary);font-weight:500}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%;background:#fff;box-shadow:0 0 20px #0000001a;position:relative}.chat-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:50}.chat-title{font-size:18px;font-weight:600;color:var(--primary)}.model-info{display:flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:14px}.model-title{font-size:18px;font-weight:600;color:var(--primary)}.chat-container{flex:1;overflow-y:auto;padding:20px;background:#fff;-webkit-overflow-scrolling:touch}.message{max-width:800px;margin:0 auto 25px;display:flex;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message:last-child{margin-bottom:15px}.avatar{width:40px;height:40px;border-radius:50%;margin-right:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:16px}.user-avatar{background:var(--primary)}.assistant-avatar{background:var(--success)}.message-content{flex:1;min-width:0}.message-header{display:flex;align-items:center;margin-bottom:8px;flex-wrap:wrap}.message-sender{font-weight:600;margin-right:10px;font-size:15px}.message-time{color:var(--text-secondary);font-size:13px}.message-text{line-height:1.6;font-size:16px;padding:12px 0}.assistant-message{background:var(--assistant-bg);border-radius:12px;padding:16px}.user-message{background:var(--user-bg);border-radius:12px;padding:16px}.streaming-content{min-height:1.5em}.streaming-cursor{display:inline-block;width:8px;height:16px;background:var(--text-primary);margin-left:2px;vertical-align:middle;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.file-upload{position:relative;display:inline-block;margin:10px 0}.file-upload-btn{background:var(--secondary);border:1px solid var(--border);border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;transition:all .2s}.file-upload-btn:hover{background:#e8eaed;border-color:var(--primary)}.file-upload-btn i{margin-right:8px;color:var(--primary)}.file-upload input{position:absolute;left:0;top:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-preview{margin:15px 0;padding:15px;background:#fff;border:1px dashed var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px}.file-item{display:flex;align-items:center;padding:8px 12px;background:var(--secondary);border-radius:8px;font-size:14px;max-width:200px}.file-icon{margin-right:8px;color:var(--primary)}.file-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-remove{margin-left:8px;color:var(--text-secondary);cursor:pointer}.file-remove:hover{color:var(--error)}.input-container{padding:15px 20px;background:#fff;border-top:1px solid var(--border);position:sticky;bottom:0;z-index:50;box-shadow:0 -2px 10px #0000000d}.input-box{width:100%;margin:0 auto;display:flex;border:1px solid var(--border);border-radius:24px;padding:10px 16px;transition:all .3s;background:#fff}.input-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #1a73e833}.input-box textarea{flex:1;border:none;resize:none;outline:none;font-size:16px;line-height:1.5;max-height:150px;padding:8px 0;background:transparent}.send-btn{background:var(--primary);color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;align-self:flex-end;margin-left:10px;transition:all .2s;flex-shrink:0}.send-btn:disabled{background:var(--text-secondary);cursor:not-allowed}.send-btn:not(:disabled):hover{background:var(--primary-dark);transform:scale(1.05)}.loading-indicator{display:flex;align-items:center;justify-content:center;padding:15px;color:var(--text-secondary)}.loading-dots{display:flex;gap:5px;margin-left:10px}.loading-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:bounce 1.4s infinite ease-in-out both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.mobile-controls{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:20px;z-index:100;background:#fffffff2;padding:12px 24px;border-radius:50px;box-shadow:0 4px 20px #00000026}.mobile-btn{width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;border:none;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .3s}.mobile-btn:hover{transform:translateY(-4px);background:var(--primary-dark)}@media (min-width: 768px){.sidebar{position:relative;transform:translate(0);box-shadow:none}.mobile-controls,.chat-title,.model-info{display:none}}@media (max-width: 767px){.chat-header{padding:12px 15px}.chat-title{font-size:16px}.model-info{font-size:12px;padding:4px 10px}.input-box{padding:8px 14px}.input-box textarea{font-size:15px}.send-btn{width:36px;height:36px;font-size:14px}.mobile-controls{display:flex}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:90;display:none}.overlay.active{display:block}.optimize-render{content-visibility:auto;contain-intrinsic-size:100px}.markdown-content{line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:1em 0 .5em;color:var(--primary)}.markdown-content p{margin-bottom:1em}.markdown-content ul,.markdown-content ol{padding-left:1.5em;margin-bottom:1em}.markdown-content li{margin-bottom:.5em}.markdown-content code{background-color:#afb8c133;padding:.2em .4em;border-radius:4px;font-family:monospace}.markdown-content pre{background-color:var(--code-bg);color:var(--code-text);padding:15px;border-radius:8px;overflow-x:auto;margin:15px 0;font-family:monospace;line-height:1.5}.markdown-content blockquote{border-left:4px solid var(--primary);padding:.5em 1em;margin:1em 0;background-color:#1a73e80d;border-radius:0 8px 8px 0}.markdown-content a{color:var(--primary);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.single-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
