:root{--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--sidebar: #171717;--sidebar-hover: #212121;--main: #212121;--composer: #2f2f2f;--text: #ececec;--muted: #9b9b9b;--border: rgba(255, 255, 255, .1);--bubble: #2f2f2f;--btn: #0d0d0d;--btn-fg: #fff;--send-bg: #fff;--send-fg: #0d0d0d;--danger: #ef4444;--shadow: 0 0 0 1px rgba(0, 0, 0, .05);--code-bg: #0d0d0d;--modal: #2f2f2f;--chip: #303030}[data-theme=light]{--sidebar: #f9f9f9;--sidebar-hover: #ececec;--main: #ffffff;--composer: #f4f4f4;--text: #0d0d0d;--muted: #6b6b6b;--border: rgba(0, 0, 0, .08);--bubble: #f4f4f4;--btn: #0d0d0d;--btn-fg: #fff;--send-bg: #0d0d0d;--send-fg: #fff;--shadow: 0 0 0 1px rgba(0, 0, 0, .06);--code-bg: #0d0d0d;--modal: #ffffff;--chip: #ececec}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--main);color:var(--text);-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.boot{height:100%;display:grid;place-items:center;background:var(--main)}.boot-dot{width:10px;height:10px;border-radius:50%;background:var(--text);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.auth-page{min-height:100%;display:grid;place-items:center;padding:32px 16px;background:var(--main)}.auth-card{width:min(100%,360px);display:flex;flex-direction:column;align-items:center;gap:8px}.auth-card h1{margin:18px 0 0;font-size:32px;font-weight:600;letter-spacing:-.03em}.auth-sub{margin:0 0 20px;color:var(--muted)}.auth-card form{width:100%;display:flex;flex-direction:column;gap:12px}.auth-card label,.modal label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.auth-card input,.modal input,.modal select,.modal textarea,.edit-box textarea{border:1px solid var(--border);background:var(--main);border-radius:8px;padding:10px 12px;font-size:16px;outline:none}.auth-card input:focus,.modal input:focus,.modal textarea:focus,.edit-box textarea:focus{border-color:var(--text)}.btn-primary{border:0;background:var(--btn);color:var(--btn-fg);border-radius:999px;padding:12px 16px;font-size:15px;font-weight:500}.btn-primary:disabled{opacity:.5;cursor:default}.btn-primary.sm{padding:8px 14px;border-radius:999px}.btn-ghost{border:0;background:transparent;color:var(--text);padding:8px 12px;border-radius:999px}.btn-ghost:hover{background:var(--chip)}.auth-error{color:var(--danger);font-size:14px}.auth-switch{color:var(--muted);font-size:14px}.auth-switch a{color:var(--text)}.app{display:flex;height:100%;background:var(--main)}.sidebar{width:260px;flex-shrink:0;background:var(--sidebar);display:flex;flex-direction:column;padding:10px 8px 12px;gap:4px;position:relative;z-index:20}.collapsed .sidebar{width:60px}.collapsed .sidebar .brand span,.collapsed .sidebar .new-chat,.collapsed .sidebar .search-wrap,.collapsed .sidebar .conv-list,.collapsed .sidebar .user-meta,.collapsed .sidebar .user-chip svg{display:none}.collapsed .sidebar .user-chip{justify-content:center;padding:6px}.collapsed .sidebar .side-top{justify-content:center}.side-top{display:flex;align-items:center;gap:4px;padding:2px}.brand{flex:1;display:flex;align-items:center;gap:10px;border:0;background:transparent;font-size:15px;font-weight:600;padding:6px;border-radius:10px;min-width:0}.brand span{overflow:hidden;white-space:nowrap}.side-icon,.icon-btn{width:36px;height:36px;border:0;background:transparent;color:var(--text);border-radius:8px;display:grid;place-items:center}.side-icon:hover,.icon-btn:hover,.brand:hover,.conv-main:hover,.new-chat:hover{background:var(--sidebar-hover)}.new-chat{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:10px 12px;border-radius:10px;font-size:14px;text-align:left}.search-wrap{display:flex;align-items:center;gap:8px;margin:6px 6px 10px;color:var(--muted)}.search-wrap input{border:0;outline:none;background:transparent;width:100%;font-size:14px}.conv-list{flex:1;overflow:auto;padding:0 4px}.conv-label{font-size:12px;color:var(--muted);padding:10px 10px 6px;font-weight:600}.conv-item{position:relative;display:flex;align-items:center;border-radius:10px}.conv-item.active,.conv-item:hover{background:var(--sidebar-hover)}.conv-main{flex:1;border:0;background:transparent;text-align:left;padding:8px 10px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:10px}.conv-more{opacity:0;border:0;background:transparent;width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:var(--muted)}.conv-item:hover .conv-more,.conv-item.active .conv-more{opacity:1}.conv-menu,.user-menu{position:absolute;right:6px;top:34px;background:var(--modal);border:1px solid var(--border);border-radius:12px;min-width:160px;padding:6px;z-index:30;box-shadow:0 8px 24px #00000040}.conv-menu button,.user-menu button{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px 10px;border-radius:8px;font-size:14px;text-align:left}.conv-menu button:hover,.user-menu button:hover{background:var(--chip)}.conv-menu .danger{color:var(--danger)}.side-empty{color:var(--muted);font-size:13px;padding:16px}.side-bottom{position:relative;padding:6px 4px 0}.user-chip{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:8px;border-radius:12px;text-align:left}.user-chip:hover{background:var(--sidebar-hover)}.avatar{width:28px;height:28px;border-radius:50%;background:#7c3aed;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;flex-shrink:0}.user-meta{flex:1;min-width:0;display:flex;flex-direction:column}.user-meta strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta em{font-style:normal;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{right:8px;left:8px;top:auto;bottom:56px}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--main)}.topbar{height:52px;display:flex;align-items:center;gap:8px;padding:0 12px}.model-picker{position:relative;display:flex;align-items:center}.model-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-size:16px;font-weight:600;padding:8px 28px 8px 10px;border-radius:10px}.model-picker select:hover{background:var(--chip)}.model-picker svg{position:absolute;right:8px;pointer-events:none;color:var(--muted)}.demo-pill{font-size:12px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 8px}.top-spacer{flex:1}.mobile-only{display:none}.messages{flex:1;overflow:auto}.empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.empty h2{margin:0;font-size:28px;font-weight:600;letter-spacing:-.03em}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin-top:8px}.suggestions button{text-align:left;border:1px solid var(--border);background:transparent;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.suggestions button:hover{background:var(--chip)}.suggestions strong{font-size:14px}.suggestions span{font-size:12px;color:var(--muted)}.thread{width:min(768px,calc(100% - 32px));margin:0 auto;padding:12px 0 32px}.row{margin:18px 0}.user-row{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.bubble{max-width:70%;background:var(--bubble);padding:10px 16px;border-radius:22px;white-space:pre-wrap;line-height:1.6;font-size:16px}.assistant-row{display:flex;gap:14px;align-items:flex-start}.a-avatar{margin-top:2px;flex-shrink:0}.a-body{min-width:0;flex:1}.md{font-size:16px;line-height:1.75}.md p{margin:0 0 12px}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3{margin:18px 0 8px;line-height:1.3}.md ul,.md ol{margin:0 0 12px;padding-left:1.3em}.md blockquote{margin:0 0 12px;padding-left:12px;border-left:3px solid var(--border);color:var(--muted)}.md a{text-decoration:underline}.inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--chip);padding:1px 5px;border-radius:4px}.code-block{margin:10px 0 14px;background:var(--code-bg);color:#e6edf3;border-radius:12px;overflow:hidden}.code-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;color:#9ba3af;background:#171b21}.code-bar button{border:0;background:transparent;color:#d1d5db;font-size:12px}.code-block pre{margin:0;padding:12px 14px 16px;overflow:auto}.code-block code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.msg-actions{display:flex;gap:2px;margin-top:4px;opacity:0}.row:hover .msg-actions,.msg-actions:focus-within{opacity:1}.user-actions{margin-right:6px}.edit-box{width:min(100%,560px)}.edit-box textarea{width:100%;resize:vertical}.edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.typing{display:flex;gap:5px;padding:8px 0}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:bounce 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.caret{display:inline-block;width:7px;height:16px;background:var(--text);margin-left:2px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{50%{opacity:0}}.composer-wrap{width:min(768px,calc(100% - 24px));margin:0 auto;padding:0 0 16px}.composer{display:flex;align-items:flex-end;gap:6px;background:var(--composer);border:1px solid var(--border);border-radius:28px;padding:10px 10px 10px 6px}.composer-plus{width:36px;height:36px;border:0;background:transparent;border-radius:50%;color:var(--text);display:grid;place-items:center}.composer textarea{flex:1;border:0;outline:none;background:transparent;resize:none;font-size:16px;line-height:1.5;max-height:200px;padding:8px 4px}.send{width:36px;height:36px;border:0;border-radius:50%;background:var(--send-bg);color:var(--send-fg);display:grid;place-items:center;flex-shrink:0}.send:disabled{opacity:.35;cursor:default}.send.stop{background:var(--text);color:var(--main)}.disclaimer{text-align:center;color:var(--muted);font-size:12px;margin:8px 0 0}.err-banner{color:var(--danger);font-size:13px;text-align:center;margin-bottom:8px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:50;padding:16px}.modal{width:min(480px,100%);background:var(--modal);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border)}.modal h3{margin:0;font-size:18px}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.seg{display:flex;background:var(--chip);border-radius:10px;padding:3px;gap:2px}.seg button{flex:1;border:0;background:transparent;border-radius:8px;padding:7px 0;font-size:13px}.seg button.on{background:var(--main)}.sidebar-backdrop{display:none}@media (max-width: 800px){.mobile-only{display:grid}.sidebar{position:fixed;inset:0 auto 0 0;transform:translate(-110%);transition:transform .2s ease;box-shadow:8px 0 24px #0003}.sidebar.open{transform:none}.sidebar-backdrop.show{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:15}.collapsed .sidebar{width:260px}.collapsed .sidebar .brand span,.collapsed .sidebar .new-chat,.collapsed .sidebar .search-wrap,.collapsed .sidebar .conv-list,.collapsed .sidebar .user-meta{display:initial}.suggestions{grid-template-columns:1fr;width:min(100%,360px)}.bubble{max-width:88%}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#7f7f7f59;border-radius:8px}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}
