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:#0f1115;--bg-elev:#161922;--bg-sidebar:#0a0c11;--bg-hover:#1f2330;--bg-active:#262b3a;--border:hsla(0,0%,100%,.08);--border-strong:hsla(0,0%,100%,.14);--text:#ececf1;--text-muted:#9aa0aa;--text-faint:#6b7180;--accent:#10a37f;--accent-hover:#0d8c6d;--user-bubble:#2a2f3d;--danger:#ef4444;--danger-bg:#2b0f12;--shadow:0 8px 24px rgba(0,0,0,.4);--radius:12px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.55;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}textarea{resize:none}button{cursor:pointer;background:transparent;border:none;padding:0}.app{display:flex;height:100dvh;width:100%;overflow:hidden}.sidebar{width:280px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:transform .24s cubic-bezier(.32,.72,0,1);padding-top:env(safe-area-inset-top)}.sidebar-header{padding:12px;display:flex;gap:8px}.new-chat-btn{flex:1 1;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;color:var(--text);font-size:14px;font-weight:500;transition:background .15s ease,border-color .15s ease}.new-chat-btn:hover{background:var(--bg-hover)}.new-chat-btn:active{background:var(--bg-active)}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--text-muted);transition:background .15s ease,color .15s ease;flex-shrink:0}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.conversation-list{flex:1 1;overflow-y:auto;padding:4px 8px 12px;display:flex;flex-direction:column;gap:2px}.conversation-list::-webkit-scrollbar{width:6px}.conversation-list::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.08);border-radius:3px}.conv-section-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-faint);padding:12px 10px 6px;letter-spacing:.06em}.conv-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;color:var(--text);font-size:14px;cursor:pointer;position:relative;transition:background .12s ease;width:100%;text-align:left}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--bg-active)}.conv-item-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-item-delete{opacity:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-muted);transition:opacity .12s ease,background .12s ease,color .12s ease}.conv-item.active .conv-item-delete,.conv-item:hover .conv-item-delete{opacity:1}.conv-item-delete:hover{background:rgba(239,68,68,.15);color:var(--danger)}.sidebar-footer{border-top:1px solid var(--border);font-size:12px;color:var(--text-faint);text-align:center;padding:10px 12px max(10px,env(safe-area-inset-bottom))}.main{flex:1 1;flex-direction:column;min-width:0}.main,.topbar{display:flex;background:var(--bg)}.topbar{align-items:center;gap:10px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:5;padding:max(10px,env(safe-area-inset-top)) 12px 10px}.topbar-title{flex:1 1;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-wrap{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch}.messages-wrap::-webkit-scrollbar{width:8px}.messages-wrap::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.08);border-radius:4px}.messages{max-width:760px;margin:0 auto;padding:24px 16px 32px;display:flex;flex-direction:column;gap:18px}.empty{margin:auto;text-align:center;color:var(--text-muted);padding:60px 24px}.empty-logo{width:56px;height:56px;margin:0 auto 18px;border-radius:14px;background:linear-gradient(135deg,var(--accent),#0d8c6d);display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;font-weight:700;box-shadow:var(--shadow)}.empty h2{font-size:22px;margin:0 0 8px;color:var(--text);font-weight:600}.empty p{margin:0;font-size:14px}.msg{display:flex;gap:12px;animation:fade-in .22s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.avatar{flex-shrink:0;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff}.avatar.user{background:#5b6478}.avatar.assistant{background:linear-gradient(135deg,var(--accent),#0d8c6d)}.bubble{flex:1 1;min-width:0;padding-top:4px}.bubble .role{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.bubble .content{font-size:15px;line-height:1.65;color:var(--text);word-wrap:break-word;overflow-wrap:anywhere}.bubble.user .content{white-space:pre-wrap}.bubble .content>:first-child{margin-top:0}.bubble .content>:last-child{margin-bottom:0}.bubble .content p{margin:0 0 12px}.bubble .content h1,.bubble .content h2,.bubble .content h3,.bubble .content h4{margin:18px 0 10px;font-weight:600;line-height:1.3}.bubble .content h1{font-size:22px}.bubble .content h2{font-size:19px}.bubble .content h3{font-size:17px}.bubble .content h4{font-size:15px}.bubble .content ol,.bubble .content ul{margin:0 0 12px;padding-left:22px}.bubble .content li{margin:4px 0}.bubble .content li>p{margin:0 0 4px}.bubble .content a{color:#6ab7ff;text-decoration:underline;text-underline-offset:2px}.bubble .content blockquote{margin:0 0 12px;padding:4px 0 4px 14px;border-left:3px solid var(--border-strong);color:var(--text-muted)}.bubble .content code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em;background:hsla(0,0%,100%,.08);padding:1px 6px;border-radius:4px}.bubble .content pre{margin:0 0 12px;padding:14px 16px;background:#0b0e14;border:1px solid var(--border);border-radius:10px;overflow-x:auto;font-size:13.5px;line-height:1.55}.bubble .content pre code{background:transparent;padding:0;border-radius:0;font-size:inherit}.bubble .content table{border-collapse:collapse;margin:0 0 12px;font-size:14px;display:block;overflow-x:auto}.bubble .content td,.bubble .content th{border:1px solid var(--border-strong);padding:6px 10px;text-align:left}.bubble .content th{background:hsla(0,0%,100%,.04);font-weight:600}.bubble .content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.bubble.user .content{background:var(--user-bubble);border:1px solid var(--border);padding:10px 14px;border-radius:12px;display:inline-block}.msg-actions{display:flex;gap:4px;margin-top:6px;opacity:0;transition:opacity .15s ease}.msg.assistant:focus-within .msg-actions,.msg.assistant:hover .msg-actions{opacity:1}@media (hover:none){.msg-actions{opacity:.6}}.msg-action{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-muted);transition:background .12s ease,color .12s ease}.msg-action:hover{background:var(--bg-hover);color:var(--text)}.msg-action.success{color:var(--accent)}.msg-action-label{display:inline-block}@media (max-width:767px){.msg-action-label{font-size:11px}}.cursor{display:inline-block;width:7px;height:1.1em;background:var(--text);vertical-align:-3px;margin-left:2px;border-radius:1px;animation:blink 1s steps(2) infinite;opacity:.7}@keyframes blink{50%{opacity:0}}.error-bar{padding:10px 14px;border-radius:10px;background:var(--danger-bg);color:#fca5a5;border:1px solid #7f1d1d;font-size:14px;max-width:760px;margin:0 auto 12px}.composer-wrap{padding:0 12px max(12px,env(safe-area-inset-bottom));background:var(--bg)}.composer{max-width:760px;margin:0 auto;display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:16px;padding:8px;transition:border-color .15s ease,box-shadow .15s ease}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,163,127,.15)}.composer-row{display:flex;gap:4px;align-items:flex-end}.composer textarea{flex:1 1;border:none;background:transparent;outline:none;font-size:16px;line-height:1.5;padding:8px 4px;max-height:40vh;min-height:24px}.composer textarea::placeholder{color:var(--text-faint)}.composer-icon-btn{flex-shrink:0;width:36px;height:36px;border-radius:10px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.composer-icon-btn:hover{background:var(--bg-hover);color:var(--text)}.composer-icon-btn:active{background:var(--bg-active)}.attachments-row{display:flex;flex-wrap:wrap;gap:8px;padding:6px 6px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.attachment-thumb{position:relative;width:64px;height:64px;flex-shrink:0;animation:thumb-in .18s ease-out}@keyframes thumb-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.attachment-thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid var(--border-strong);display:block}.attachment-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#1a1d27;border:1px solid var(--border-strong);color:var(--text);display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease,transform .1s ease}.attachment-remove:hover{background:var(--danger);border-color:var(--danger);color:#fff}.attachment-remove:active{transform:scale(.9)}.msg-images{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.msg-image-link{display:block;line-height:0}.msg-images img{max-width:240px;max-height:240px;width:auto;height:auto;border-radius:10px;border:1px solid var(--border);cursor:zoom-in;transition:transform .12s ease}.msg-images img:hover{transform:translateY(-1px)}.messages-wrap{position:relative}.messages-wrap.drag-over:before{content:"";position:absolute;inset:8px;border:2px dashed var(--accent);border-radius:16px;background:rgba(16,163,127,.06);pointer-events:none;z-index:1}.drop-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-elev);border:1px solid var(--accent);color:var(--text);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:500;pointer-events:none;z-index:2;box-shadow:var(--shadow)}.send-btn{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s ease,opacity .15s ease,transform .1s ease}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{background:var(--bg-active);color:var(--text-faint);cursor:not-allowed}.composer-hint{max-width:760px;margin:6px auto 0;font-size:11px;color:var(--text-faint);text-align:center}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:20;opacity:0;pointer-events:none;transition:opacity .22s ease}.backdrop.show{opacity:1;pointer-events:auto}.hamburger{display:none}@media (max-width:767px){.hamburger{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:30;transform:translateX(-100%);box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.messages{padding:16px 14px 24px}.bubble .content{font-size:15px}}@media (min-width:768px){.backdrop{display:none}}