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-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{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: #061026;--panel: #0a1a33;--panel-2: #133e7c;--text: #d6f5ff;--text-dim: #7d8fb3;--cyan: #0abdc6;--magenta: #ea00d9;--yellow: #ea00d9;--accent: var(--cyan);font-family:Share Tech Mono,ui-monospace,Cascadia Mono,Menlo,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(10,189,198,.08),transparent),radial-gradient(ellipse 62% 42% at 80% 112%,rgba(113,28,145,.35),transparent)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,.12) 3px,transparent 4px);opacity:.35}::selection{background:var(--magenta);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#133e7c;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--cyan)}html{scrollbar-color:#133e7c #061026;scrollbar-width:thin}html,body{height:100%;overflow:hidden;overscroll-behavior:none}.app{position:relative;display:flex;flex-direction:column;height:var(--app-height, 100dvh)}.topbar,.composer{width:min(960px,100%);margin-inline:auto}.topbar{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:flex-end;padding:.6rem 1rem 1.1rem}.logo{display:flex;align-items:flex-end;gap:.45rem;font-family:inherit;background:none;border:0;padding:0 0 .3rem;cursor:pointer;font-weight:700;font-size:1.15rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 8px rgba(10,189,198,.7),0 0 24px rgba(10,189,198,.3)}.bolt{width:1.55rem;height:1.55rem;filter:drop-shadow(0 0 4px rgba(10,189,198,.8)) drop-shadow(0 0 12px rgba(10,189,198,.35));animation:boltflicker 4s infinite}.logo .bolt{transform:translateY(.2rem)}@keyframes boltflicker{0%,91%,94%,to{opacity:1}92%,93%{opacity:.55}}.user-menu{position:relative;display:flex}.user-button{display:flex;padding:0;background:none;border:0;border-radius:50%;cursor:pointer;transition:box-shadow .15s ease}.user-button:hover,.user-button:focus-visible,.user-button.open{outline:none;box-shadow:0 0 0 1px var(--cyan),0 0 10px #0abdc680}.user-avatar{width:28px;height:28px;border-radius:50%}.user-initial{display:grid;place-items:center;background:var(--panel-2);color:var(--text);font-size:.85rem}.user-dropdown{position:absolute;top:calc(100% + .7rem);right:0;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:12rem;padding:.7rem .85rem;background:#061026f7;border:1px solid var(--cyan);border-radius:3px;box-shadow:0 0 12px #0abdc659,0 0 36px #0abdc626,0 8px 24px #0009;font-size:.8rem}.user-dropdown:before{content:"";position:absolute;top:-5px;right:10px;width:8px;height:8px;background:inherit;border-top:1px solid var(--cyan);border-left:1px solid var(--cyan);transform:rotate(45deg)}.user-name{font-weight:700;color:var(--cyan);text-shadow:0 0 8px rgba(10,189,198,.6)}.user-email{color:var(--text-dim);font-size:.72rem}.user-signout{align-self:stretch;margin-top:.5rem;background:none;border:1px solid var(--panel-2);border-radius:2px;color:var(--text);font:inherit;padding:.3rem .6rem;text-align:left;cursor:pointer;transition:all .15s ease}.user-signout:hover,.user-signout:focus-visible{border-color:var(--magenta);color:var(--magenta);outline:none;box-shadow:0 0 10px #ea00d959}.boot-error{padding:3rem;font-family:sans-serif}.topbar-right{display:flex;align-items:center;gap:.8rem}.image-box{position:relative;display:flex;flex-direction:column;align-items:flex-end}.image-tooltip{position:absolute;top:calc(100% + .9rem);right:0;z-index:30;width:max-content;max-width:min(46ch,82vw);padding:.7rem .85rem;background:#061026f7;border:1px solid var(--cyan);border-radius:3px;box-shadow:0 0 12px #0abdc659,0 0 36px #0abdc626,0 8px 24px #0009;font-size:.78rem;line-height:1.5;color:var(--text);text-align:left;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none}.image-tooltip:before{content:"";position:absolute;top:-5px;right:1.2rem;width:8px;height:8px;background:inherit;border-top:1px solid var(--cyan);border-left:1px solid var(--cyan);transform:rotate(45deg)}.image-box:hover .image-tooltip,.image-box:focus-within .image-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.image-tooltip-title{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;color:var(--cyan);text-shadow:0 0 8px rgba(10,189,198,.6);margin-bottom:.35rem}.image-tooltip code{color:var(--cyan);background:#0abdc61f;padding:.05rem .35rem;border-radius:2px;font-size:.75rem;white-space:nowrap}.image-input{background:transparent;color:var(--text);font-family:inherit;font-size:.85rem;border:1px solid var(--panel-2);border-radius:2px;padding:.4rem .6rem;width:min(34ch,46vw);transition:all .15s ease}.image-input:focus:not(:disabled){border-color:var(--cyan);outline:none;box-shadow:0 0 10px #0abdc659}.image-input.ok{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 8px #0abdc680,0 0 20px #0abdc640}.image-input.invalid{border-color:var(--yellow);color:var(--yellow);animation:image-invalid-glow 1.4s ease-in-out infinite}@keyframes image-invalid-glow{0%,to{box-shadow:0 0 6px #ea00d94d}50%{box-shadow:0 0 14px #ea00d9bf,0 0 32px #ea00d966}}.image-input:disabled{opacity:.5;cursor:default}.image-status{position:absolute;top:100%;right:0;padding-top:.15rem;font-size:.68rem;letter-spacing:.04em;color:var(--text-dim);max-width:min(60ch,70vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-status.ok{color:var(--cyan)}.image-status.error{color:var(--magenta)}.chat{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:calc(var(--topbar-h, 4.25rem) + 2.4rem) 1rem calc(var(--composer-h, 5rem) + 1.2rem);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,0) var(--topbar-h, 4.25rem),#000 calc(var(--topbar-h, 4.25rem) + 2.4rem),#000 calc(100% - var(--composer-h, 5rem) - 1.2rem),rgba(0,0,0,0) calc(100% - var(--composer-h, 5rem)));mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,0) var(--topbar-h, 4.25rem),#000 calc(var(--topbar-h, 4.25rem) + 2.4rem),#000 calc(100% - var(--composer-h, 5rem) - 1.2rem),rgba(0,0,0,0) calc(100% - var(--composer-h, 5rem)))}.messages,.empty{width:min(928px,100%);margin-inline:auto}.empty{min-height:65vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.empty h1{font-weight:600;margin:0;letter-spacing:.1em;text-transform:uppercase;color:var(--text);text-shadow:0 0 10px rgba(10,189,198,.5),2px 0 0 rgba(234,0,217,.5),-2px 0 0 rgba(10,189,198,.5)}.hint{color:var(--text-dim);margin:0}.messages{display:flex;flex-direction:column;gap:1.25rem}.message{display:flex;gap:.75rem;align-items:flex-start;animation:message-fade-in .15s ease-out}@keyframes message-fade-in{0%{opacity:0}to{opacity:1}}.message.user{flex-direction:row-reverse}.avatar{flex-shrink:0;width:2.898rem;height:2.898rem;position:relative;display:flex;align-items:center;justify-content:center}.avatar-shape{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.avatar-inner{position:relative;z-index:1;font-size:.852rem;letter-spacing:.03em;color:var(--cyan);display:flex;align-items:center;justify-content:center}.avatar-inner.user{color:var(--magenta);transform:translateY(1px)}.avatar .bolt{width:1.38rem;height:1.38rem}.bubble{padding:.1rem 0;line-height:1.6;white-space:pre-wrap;word-break:break-word;min-width:0}.markdown{min-width:0;max-width:100%}.message.assistant .bubble{white-space:normal;flex:1 1 0;min-width:0}.message.user .bubble{max-width:75%;background:#ea00d914;border:1px solid var(--magenta);border-radius:0;padding:.6rem .9rem;clip-path:polygon(-2px 14px,14px -2px,calc(100% + 2px) -2px,calc(100% + 2px) calc(100% - 12px),calc(100% - 12px) calc(100% + 2px),-2px calc(100% + 2px))}.cursor{animation:blink 1s step-start infinite;color:var(--cyan);text-shadow:0 0 8px var(--cyan)}@keyframes blink{50%{opacity:0}}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:.5em 0}.markdown h1,.markdown h2,.markdown h3{margin:.8em 0 .4em;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}.markdown h1{font-size:1.3em}.markdown h2{font-size:1.15em}.markdown h3{font-size:1.05em}.markdown ul,.markdown ol{margin:.5em 0;padding-left:1.4em}.markdown li{margin:.2em 0}.markdown li::marker{color:var(--magenta)}.markdown code{background:#050e1c;border:1px solid #133e7c;border-radius:2px;padding:.15em .35em;font-size:.9em;color:var(--yellow)}.markdown pre{background:#050e1c;border:1px solid #133e7c;border-left:3px solid var(--cyan);border-radius:0;padding:.8rem 1rem;overflow-x:auto;max-width:100%;margin:.6em 0;box-shadow:0 0 14px #0abdc61f}.markdown pre code{white-space:pre}.tool-calls{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.6rem}.tool-call{border:1px solid #133e7c;border-left:3px solid var(--magenta);background:#050e1c;font-size:.8rem}.tool-call summary{cursor:pointer;padding:.35rem .6rem;color:var(--text-dim);list-style:none;-webkit-user-select:none;user-select:none;display:flex;align-items:baseline;gap:.5rem;overflow:hidden}.tool-call summary .tool-name{flex-shrink:0;color:var(--text-dim)}.tool-call summary .tool-args{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:.75rem;color:var(--cyan)}.tool-call summary:before{content:"▸ ";color:var(--magenta)}.tool-call[open] summary:before{content:"▾ "}.tool-call summary:hover .tool-name,.tool-call summary:hover .tool-args{color:var(--cyan)}.tool-call pre{overflow-x:auto}.tool-call.pending{display:flex;align-items:baseline;gap:.5rem;padding:.35rem .6rem;color:var(--text-dim);border-left-color:var(--cyan)}.tool-call.pending .tool-args{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:.75rem;text-shadow:0 0 10px rgba(10,189,198,.4);background:linear-gradient(90deg,var(--cyan) 0%,var(--cyan) 42%,#eaffff 50%,var(--cyan) 58%,var(--cyan) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 2.5s linear infinite}@keyframes shine{to{background-position:-200% center}}.tool-call .tool-spinner{flex-shrink:0;width:.65em;height:.65em;align-self:center;border:2px solid rgba(10,189,198,.25);border-top-color:var(--cyan);border-radius:50%;animation:tool-spin .7s linear infinite}@keyframes tool-spin{to{transform:rotate(360deg)}}.tool-call .tool-pending-label{margin-left:auto;margin-right:1ch;flex-shrink:0;white-space:nowrap;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}.tool-call .tool-pending-label:after{display:inline-block;width:2.2ch;text-align:left;content:"";animation:running-dots 1.2s steps(1,end) infinite}@keyframes running-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.tool-call pre.wrap{white-space:pre-wrap;word-break:break-word}.tool-call .tool-body{padding:0 .6rem .5rem;max-height:380px;overflow-y:auto}.tool-call .tool-label{color:var(--magenta);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;margin:.4rem 0 .15rem}.tool-call pre{margin:0;padding:.4rem .6rem;background:#071224;border:1px solid #133e7c;overflow-x:auto;font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:.78rem;white-space:pre;color:var(--text)}.markdown pre{position:relative}.copy-btn{position:absolute;top:.4rem;right:.4rem;background:#133e7cd9;color:var(--text-dim);border:1px solid #133e7c;font-family:inherit;font-size:.7rem;letter-spacing:.08em;padding:.25rem .6rem;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.markdown pre:hover .copy-btn,.copy-btn.copied{opacity:1}.copy-btn:hover,.copy-btn.copied{color:var(--cyan);border-color:var(--cyan)}.markdown code{font-family:JetBrains Mono,ui-monospace,Menlo,monospace}.markdown pre code{background:none;border:none;padding:0;color:var(--text)}.markdown pre code.hljs{background:transparent;padding:0}.markdown .hljs-keyword,.markdown .hljs-selector-tag,.markdown .hljs-meta{color:#ea00d9}.markdown .hljs-string,.markdown .hljs-regexp{color:#0abdc6}.markdown .hljs-number,.markdown .hljs-literal,.markdown .hljs-symbol{color:#c77dff}.markdown .hljs-comment,.markdown .hljs-quote{color:#5a6f9a;font-style:italic}.markdown .hljs-title,.markdown .hljs-title.function_,.markdown .hljs-section{color:#7ee7ee}.markdown .hljs-title.class_,.markdown .hljs-type{color:#c77dff}.markdown .hljs-attr,.markdown .hljs-attribute,.markdown .hljs-variable,.markdown .hljs-template-variable{color:#d6f5ff}.markdown .hljs-built_in,.markdown .hljs-name{color:#89f}.markdown a{color:var(--magenta)}.markdown blockquote{border-left:3px solid var(--magenta);margin:.5em 0;padding-left:.8em;color:var(--text-dim)}.markdown table{border-collapse:collapse;margin:.6em 0;width:100%}.markdown th,.markdown td{border:1px solid #133e7c;padding:.3em .6em}.markdown th{color:var(--cyan);text-transform:uppercase;letter-spacing:.05em}.markdown strong{color:var(--yellow)}.composer{position:relative;z-index:10;margin-top:auto;display:flex;gap:.5rem;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));align-items:flex-end}.composer textarea{flex:1;resize:none;background:var(--panel);color:var(--text);border:1px solid #133e7c;border-radius:0;padding:.75rem 1rem;font:inherit;max-height:200px;overflow-y:hidden;line-height:1.5;transition:box-shadow .15s ease,border-color .15s ease}.composer textarea::placeholder{color:var(--text-dim)}.composer textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 12px #0abdc659,inset 0 0 8px #0abdc614}.composer button{background:transparent;color:var(--cyan);border:1px solid var(--cyan);border-radius:0;width:3rem;height:3rem;font-size:1.1rem;cursor:pointer;font-family:inherit;transition:all .15s ease;clip-path:polygon(-2px 10px,10px -2px,calc(100% + 2px) -2px,calc(100% + 2px) calc(100% - 8px),calc(100% - 8px) calc(100% + 2px),-2px calc(100% + 2px))}.composer button:hover:not(:disabled){background:#0abdc61f;box-shadow:0 0 14px #0abdc680}.composer button:disabled{opacity:.3;cursor:default}.composer button.stop{color:var(--magenta);border-color:var(--magenta);animation:stoppulse 1.2s ease-in-out infinite}.composer button.stop:hover{background:#ea00d91f;box-shadow:0 0 14px #ea00d980}@keyframes stoppulse{50%{box-shadow:0 0 10px #ea00d973}}
