pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.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-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{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}:root{--bg:#212121;--bg-sidebar:#171717;--bg-elevated:#2f2f2f;--bg-hover:#2f2f2f;--bg-input:#303030;--border:#3a3a3a;--text:#ececec;--text-secondary:#b4b4b4;--text-muted:#8e8e8e;--accent:#10a37f;--user-bubble:#303030;--danger:#ef4444;--sidebar-w:260px;--content-max:768px;--radius:12px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;overscroll-behavior:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#4d4d4d;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#5d5d5d}::-webkit-scrollbar-track{background:transparent}.app{display:flex;height:100dvh;width:100%;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-sidebar);display:flex;flex-direction:column;height:100%;transition:margin-left .25s ease;z-index:40}.app[data-sidebar=closed] .sidebar{margin-left:calc(-1 * var(--sidebar-w))}.sidebar-header{justify-content:space-between;padding:10px 12px}.brand,.sidebar-header{display:flex;align-items:center;gap:8px}.brand{font-weight:600;font-size:15px;padding-left:6px}.brand .logo{width:26px;height:26px;border-radius:6px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--text-secondary);transition:background .15s ease,color .15s ease;flex-shrink:0}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.new-chat{margin:4px 8px 8px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text);transition:background .15s ease}.new-chat:hover{background:var(--bg-hover)}.conv-list{flex:1 1;overflow-y:auto;padding:4px 8px 16px}.conv-section-label{font-size:12px;color:var(--text-muted);font-weight:600;padding:12px 10px 6px}.conv-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;font-size:14px;color:var(--text-secondary);cursor:pointer;position:relative;transition:background .12s ease;white-space:nowrap}.conv-item:hover{background:var(--bg-hover);color:var(--text)}.conv-item.active{background:var(--bg-elevated);color:var(--text)}.conv-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.conv-actions{display:none;gap:2px}.conv-item.active .conv-actions,.conv-item:hover .conv-actions{display:flex}.conv-action{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-muted)}.conv-action:hover{background:#404040;color:var(--text)}.conv-action.danger:hover{color:var(--danger)}.conv-rename-input{flex:1 1;background:#404040;border:1px solid var(--accent);color:var(--text);border-radius:6px;padding:4px 6px;font-size:14px;outline:none}.sidebar-footer{padding:10px 12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.sidebar-footer a{color:var(--text-secondary);text-decoration:none}.sidebar-footer a:hover{color:var(--text);text-decoration:underline}.main{flex:1 1;display:flex;flex-direction:column;height:100%;min-width:0;position:relative}.topbar{display:flex;align-items:center;gap:8px;padding:10px 14px;height:56px;flex-shrink:0}.model-select{position:relative}.model-trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;font-size:16px;font-weight:600;color:var(--text);transition:background .15s ease}.model-trigger:hover{background:var(--bg-hover)}.model-trigger .chev{color:var(--text-muted)}.model-menu{position:absolute;top:46px;left:0;background:#2a2a2a;border:1px solid var(--border);border-radius:12px;padding:6px;min-width:240px;box-shadow:0 16px 40px rgba(0,0,0,.45);z-index:50}.model-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:8px;font-size:14px;width:100%;text-align:left}.model-option:hover{background:var(--bg-hover)}.model-option .check{color:var(--accent)}.model-option-sub{display:block;font-size:12px;color:var(--text-muted);font-weight:400}.scroll-region{flex:1 1;overflow-y:auto;scroll-behavior:smooth}.thread{max-width:var(--content-max);margin:0 auto;padding:12px 20px 0;width:100%}.msg-row{display:flex;gap:16px;padding:14px 0;animation:fade-in .3s ease}.msg-row.user{justify-content:flex-end}.msg-avatar{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent);margin-top:2px}.msg-body{min-width:0;max-width:100%}.msg-row.user .msg-body{background:var(--user-bubble);padding:10px 16px;border-radius:20px;max-width:80%}.msg-row.assistant .msg-body{flex:1 1}.msg-content{word-wrap:break-word;overflow-wrap:break-word}.msg-content p{margin:0 0 1rem}.msg-content p:last-child{margin-bottom:0}.msg-content>:first-child{margin-top:0}.msg-content h1,.msg-content h2,.msg-content h3,.msg-content h4{margin:1.4rem 0 .7rem;line-height:1.3;font-weight:600}.msg-content h1{font-size:1.5em}.msg-content h2{font-size:1.3em}.msg-content h3{font-size:1.1em}.msg-content ol,.msg-content ul{margin:0 0 1rem;padding-left:1.6rem}.msg-content li{margin:.3rem 0}.msg-content li>p{margin:0}.msg-content a{color:#7eb6ff;text-decoration:underline}.msg-content blockquote{border-left:3px solid var(--border);margin:0 0 1rem;padding:.2rem 0 .2rem 1rem;color:var(--text-secondary)}.msg-content hr{border:none;border-top:1px solid var(--border);margin:1.4rem 0}.msg-content table{border-collapse:collapse;margin:0 0 1rem;display:block;overflow-x:auto;font-size:.95em}.msg-content td,.msg-content th{border:1px solid var(--border);padding:6px 12px;text-align:left}.msg-content th{background:var(--bg-elevated);font-weight:600}.msg-content code:not(pre code){background:#2b2b2b;border:1px solid var(--border);padding:.12em .4em;border-radius:5px;font-size:.88em;font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace}.code-block{margin:0 0 1rem;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#0d1117}.code-head{display:flex;justify-content:space-between;padding:6px 12px;background:#1b1b1b;color:var(--text-muted);border-bottom:1px solid var(--border)}.code-copy,.code-head{align-items:center;font-size:12px}.code-copy{display:inline-flex;gap:5px;color:var(--text-secondary);padding:3px 6px;border-radius:5px}.code-copy:hover{background:#2f2f2f;color:var(--text)}.code-block pre{margin:0;padding:14px 16px;overflow-x:auto;font-size:13.5px;line-height:1.55}.code-block pre code{font-family:ui-monospace,SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;background:none!important;padding:0}.cursor{display:inline-block;width:8px;height:1.05em;background:var(--text);margin-left:1px;border-radius:1px;vertical-align:text-bottom;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.msg-toolbar{display:flex;gap:2px;margin-top:6px;opacity:0;transition:opacity .15s ease}.msg-row.last .msg-toolbar,.msg-row:hover .msg-toolbar{opacity:1}.msg-tool{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:7px;font-size:12px;color:var(--text-muted)}.msg-tool:hover{background:var(--bg-hover);color:var(--text)}.thinking{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary)}.thinking .dot{width:7px;height:7px;background:var(--text-secondary);border-radius:50%;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.welcome{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;max-width:var(--content-max);margin:0 auto;width:100%}.welcome h1{font-size:28px;font-weight:600;margin:18px 0 6px}.welcome p{color:var(--text-secondary);margin:0 0 28px}.welcome .logo-lg{width:56px;height:56px;border-radius:14px}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;width:100%}.suggestion{text-align:left;border:1px solid var(--border);border-radius:12px;padding:14px 16px;transition:background .15s ease,border-color .15s ease;background:hsla(0,0%,100%,.01)}.suggestion:hover{background:var(--bg-hover);border-color:#4d4d4d}.suggestion .s-title{font-size:14px;font-weight:500;color:var(--text)}.suggestion .s-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.composer-wrap{padding:0 20px 14px;max-width:var(--content-max);margin:0 auto;width:100%}.composer{align-items:flex-end;gap:8px;border-radius:26px;padding:8px 8px 8px 18px}.composer:focus-within{border-color:#565656}.composer textarea{flex:1 1;max-height:200px;padding:9px 0}.composer textarea::placeholder{color:var(--text-muted)}.send-btn{width:38px;height:38px;border-radius:50%;background:var(--text);color:#000;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s ease,background .15s ease}.send-btn:disabled{background:#565656;color:#8e8e8e;cursor:not-allowed}.send-btn.stop{background:var(--text);color:#000}.composer-hint{text-align:center;font-size:12px;color:var(--text-muted);padding:10px 0 2px}.error-banner{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#ffb4b4;padding:10px 14px;border-radius:10px;font-size:14px;margin:0 0 12px;display:flex;align-items:center;gap:8px}.backdrop{display:none}@media (max-width:820px){.sidebar{position:fixed;top:0;left:0;bottom:0;box-shadow:4px 0 24px rgba(0,0,0,.5)}.app[data-sidebar=open] .backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:35;animation:fade-in .2s ease}.suggestions{grid-template-columns:1fr}.composer-wrap,.thread{padding-left:14px;padding-right:14px}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.conv-search{display:flex;align-items:center;gap:8px;margin:0 8px 6px;padding:8px 10px;background:var(--bg-elevated);border-radius:10px;color:var(--text-muted)}.conv-search input{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);font-size:14px;font-family:inherit}.conv-search input::placeholder{color:var(--text-muted)}.conv-search-clear{display:inline-flex;color:var(--text-muted)}.conv-search-clear:hover{color:var(--text)}.model-note{font-size:12px;color:var(--text-muted);padding:8px 10px 4px;border-top:1px solid var(--border);margin-top:4px}.msg-row.user .msg-body{background:transparent;padding:0;border-radius:0;max-width:85%;text-align:right}.msg-row.user .msg-content{display:inline-block;text-align:left;background:var(--user-bubble);padding:10px 16px;border-radius:20px}.msg-row.user .msg-toolbar{justify-content:flex-end}.msg-tool.active{color:var(--accent)}.edit-box{display:inline-block;text-align:left;background:var(--user-bubble);border-radius:18px;padding:12px 14px;width:min(82vw,600px)}.edit-box textarea{width:100%;background:transparent;border:none;outline:none;resize:vertical;color:var(--text);font-family:inherit;font-size:16px;line-height:1.5;min-height:56px}.edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn-primary{background:var(--text);color:#000;border-radius:16px;padding:7px 15px;font-size:14px;font-weight:500}.btn-primary:hover{opacity:.9}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:16px;padding:7px 15px;font-size:14px}.btn-secondary:hover{background:var(--bg-hover)}.gen-image-wrap{margin:0;max-width:420px}.gen-image{width:100%;border-radius:12px;border:1px solid var(--border);display:block}.gen-image-wrap figcaption{font-size:12px;margin-top:6px}.gen-image-wrap figcaption a{color:var(--text-secondary);text-decoration:none}.gen-image-wrap figcaption a:hover{color:var(--text);text-decoration:underline}.image-skeleton{width:320px;max-width:100%;height:320px;border-radius:12px;background:var(--bg-elevated);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;color:var(--text-muted);font-size:14px}.image-skeleton>span{position:relative;z-index:1}.image-skeleton .shimmer{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,hsla(0,0%,100%,.06) 50%,transparent 70%);animation:shimmer 1.4s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.composer{display:flex;flex-direction:column;align-items:stretch;gap:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:24px;padding:10px 14px;box-shadow:0 2px 14px rgba(0,0,0,.2);transition:border-color .15s ease}.composer textarea{width:100%;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:inherit;font-size:16px;line-height:1.5;max-height:220px;padding:4px 2px 0;overflow-y:auto}.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-tools{flex-wrap:wrap}.composer-actions,.composer-tools{display:flex;align-items:center;gap:6px}.mode-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:18px;font-size:13px;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);transition:background .15s ease,color .15s ease,border-color .15s ease}.mode-chip:hover{background:var(--bg-hover);color:var(--text)}.mode-chip.active{background:rgba(16,163,127,.16);border-color:var(--accent);color:#34d399}.icon-btn.mic{width:38px;height:38px;border-radius:50%}.icon-btn.mic.recording{background:rgba(239,68,68,.2);color:#ff6b6b;animation:pulse-rec 1.3s ease-in-out infinite}@keyframes pulse-rec{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.45)}50%{box-shadow:0 0 0 7px rgba(239,68,68,0)}}.scroll-bottom{position:absolute;left:50%;transform:translateX(-50%);bottom:132px;width:38px;height:38px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.4);z-index:5;animation:fade-in .2s ease}.scroll-bottom:hover{background:#3a3a3a}@media (max-width:560px){.mode-chip-label{display:none}.mode-chip{padding:8px}}