:root{--font-display: "Unbounded", ui-sans-serif, system-ui, sans-serif;--font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;--background: #fbf6ec;--foreground: #2f2016;--card: #fefbf6;--card-foreground: #2f2016;--primary: #e9a546;--primary-foreground: #351e0d;--secondary: #f4ecde;--secondary-foreground: #3c291d;--muted: #f4eee3;--muted-foreground: #766558;--accent: #f2daba;--accent-foreground: #382315;--border: #e5ddd0;--ring: #e9a546;--destructive: #cc2827;--radius: .9rem}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--foreground);background:radial-gradient(1200px 600px at 100% -10%,#fbe6c8 0%,transparent 55%),radial-gradient(900px 500px at -10% 110%,#f6e7cd 0%,transparent 50%),var(--background);-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.01em}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,textarea{font-family:inherit;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) * .7);padding:.7rem .85rem;font-size:.98rem;outline:none;width:100%}input:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px #e9a54640}.btn{border:none;border-radius:calc(var(--radius) * .7);padding:.72rem 1.1rem;font-weight:600;font-size:.98rem;background:var(--primary);color:var(--primary-foreground);transition:transform .05s ease,filter .15s ease}.btn:hover:not(:disabled){filter:brightness(1.03)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-ghost{background:transparent;color:var(--muted-foreground)}.btn-ghost:hover:not(:disabled){background:var(--secondary)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px -18px #351e0d73}.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:var(--accent-foreground);border:1px solid var(--border);border-radius:999px;padding:.32rem .7rem;font-size:.85rem;font-weight:600;white-space:nowrap}.error{color:var(--destructive);font-size:.9rem}.muted{color:var(--muted-foreground)}.link{color:var(--primary-foreground);text-decoration:underline;background:none;border:none;padding:0;font-weight:600}.center{min-height:100%;display:grid;place-items:center;padding:1.5rem}.stack{display:flex;flex-direction:column}.app{height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--card) 85%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem}.topbar-left{display:flex;align-items:center;gap:.9rem;min-width:0}.topbar-right{display:flex;align-items:center;gap:.7rem;min-width:0}.topbar-right .email{font-size:.85rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectors{display:flex;gap:.4rem}.select{font-family:inherit;font-size:.86rem;font-weight:600;color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:999px;padding:.34rem .7rem;cursor:pointer;outline:none}.select:focus{border-color:var(--ring);box-shadow:0 0 0 3px #e9a54640}.select:disabled{opacity:.6;cursor:not-allowed}.bubble.md{white-space:normal}.msg.assistant .bubble.md{max-width:100%}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 .7rem;line-height:1.6}.md strong{font-weight:700}.md em{font-style:italic}.md ul,.md ol{margin:.3rem 0 .7rem;padding-left:1.5rem}.md ul{list-style:disc}.md ol{list-style:decimal}.md ul ul{list-style:circle}.md ul ul ul{list-style:square}.md li{margin:.28rem 0;line-height:1.55}.md li::marker{color:var(--muted-foreground)}.md li>p{margin:0 0 .3rem}.md li>ul,.md li>ol{margin:.28rem 0 .3rem}.md li:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4,.md h5{font-family:var(--font-display);line-height:1.25;font-weight:700;margin:1rem 0 .5rem}.md h1{font-size:1.4rem}.md h2{font-size:1.2rem}.md h3{font-size:1.05rem}.md h4{font-size:.98rem}.md a{color:var(--primary-foreground);text-decoration:underline;text-underline-offset:2px}.md blockquote{border-left:3px solid var(--primary);margin:0 0 .7rem;padding:.1rem 0 .1rem .85rem;color:var(--muted-foreground)}.md hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.86em}.md :not(pre)>code{background:var(--secondary);border:1px solid var(--border);padding:.12rem .38rem;border-radius:6px}.code-wrap{position:relative;margin:0 0 .7rem}.code-copy{position:absolute;top:8px;right:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#e6edf3;font-size:.74rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;cursor:pointer;opacity:0;transition:opacity .15s}.code-wrap:hover .code-copy{opacity:1}.md pre{background:#0d1117;color:#c9d1d9;padding:.9rem 1rem;border-radius:12px;overflow-x:auto;margin:0;line-height:1.5;font-size:.9em}.md pre code,.md pre code.hljs{background:transparent;padding:0;color:inherit;font-size:1em}.md table{border-collapse:collapse;margin:0 0 .7rem;font-size:.92em;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);padding:.4rem .65rem;text-align:left}.md th{background:var(--secondary);font-weight:700}.md tr:nth-child(2n) td{background:color-mix(in srgb,var(--secondary) 40%,transparent)}.messages{flex:1;overflow-y:auto;padding:1.2rem}.thread{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:.9rem}.msg{display:flex}.msg.user{justify-content:flex-end}.bubble{max-width:82%;padding:.7rem .95rem;border-radius:var(--radius);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.msg.user .bubble{background:var(--primary);color:var(--primary-foreground);border-bottom-right-radius:6px}.msg.assistant{width:100%}.msg.assistant .bubble{background:transparent;border:none;padding:0;max-width:100%;width:100%;border-radius:0}.composer{border-top:1px solid var(--border);padding:.9rem 1.1rem;background:var(--card)}.composer-inner{max-width:760px;margin:0 auto;display:flex;gap:.6rem;align-items:flex-end}.composer textarea{resize:none;max-height:180px}.notice{max-width:760px;margin:0 auto .6rem;color:var(--destructive);font-size:.9rem;text-align:center}.empty{text-align:center;color:var(--muted-foreground);margin-top:12vh}.empty h2{color:var(--foreground);margin-bottom:.4rem}.cursor:after{content:"▋";margin-left:1px;opacity:.6;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.layout{display:flex;height:100vh}.sidebar{width:264px;flex-shrink:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--secondary) 55%,var(--card));border-right:1px solid var(--border)}.sidebar-top{padding:.9rem .8rem .5rem}.sidebar .brand{display:block;font-size:1.25rem;padding:.15rem .4rem .75rem}.new-chat{display:flex;align-items:center;width:100%;background:var(--card);border:1px solid var(--border);color:var(--foreground);font-weight:600;font-size:.95rem;padding:.6rem .9rem;border-radius:999px}.new-chat:hover{background:var(--accent)}.conv-section{padding:.9rem 1rem .35rem;font-size:.74rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.conv-list{flex:1;overflow-y:auto;padding:0 .5rem}.conv-empty{padding:.5rem .6rem;color:var(--muted-foreground);font-size:.88rem}.conv-item{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;border-radius:10px;cursor:pointer}.conv-item:hover{background:var(--secondary)}.conv-item.active{background:var(--accent)}.conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.conv-del{opacity:0;border:none;background:transparent;color:var(--muted-foreground);font-size:1.15rem;line-height:1;cursor:pointer;padding:0 .2rem}.conv-item:hover .conv-del{opacity:1}.conv-del:hover{color:var(--destructive)}.sidebar-user{position:relative;display:flex;align-items:center;gap:.5rem;padding:.7rem .8rem;border-top:1px solid var(--border);cursor:pointer}.sidebar-user:hover{background:var(--secondary)}.chev{color:var(--muted-foreground);font-size:.9rem}.user-menu{position:absolute;bottom:calc(100% + 6px);left:6px;right:6px;z-index:50;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px -14px #351e0d8c;padding:.35rem;display:flex;flex-direction:column;gap:.1rem}.user-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;background:transparent;border:none;text-align:left;padding:.6rem .7rem;border-radius:8px;color:var(--foreground);font-size:.92rem;font-weight:500}.user-menu-item:hover{background:var(--secondary)}.mi-icon{width:1.2rem;text-align:center;font-size:1.05rem}.avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--primary);color:var(--primary-foreground);font-weight:700;font-size:.85rem}.user-email{flex:1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.main-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem 1.1rem}.model-picker{display:flex;gap:.4rem;min-width:0}.welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.3rem;padding:1.5rem}.greeting{font-size:clamp(1.6rem,3.5vw,2.5rem);font-weight:600;text-align:center;margin:0}.welcome .composer-pill{width:min(760px,94%)}.chat-scroll{flex:1;overflow-y:auto;padding:.4rem 1rem .6rem}.composer-dock{padding:.4rem 1rem .8rem}.composer-dock .composer-pill,.composer-dock .notice{max-width:768px;margin-left:auto;margin-right:auto}.composer-pill{background:var(--card);border:1px solid var(--border);border-radius:26px;padding:.45rem .55rem;box-shadow:0 10px 28px -20px #351e0d8c}.composer-row{display:flex;align-items:flex-end;gap:.5rem}.composer-pill textarea{flex:1;min-width:0;width:100%;border:none;background:transparent;resize:none;padding:.5rem .3rem;max-height:200px;font-size:1rem}.composer-pill textarea:focus{border:none;box-shadow:none}.composer-actions{display:flex;align-items:center;gap:.4rem}.icon-btn{width:38px;height:38px;border-radius:50%;flex-shrink:0;border:1px solid var(--border);background:var(--card);color:var(--foreground);font-size:1.35rem;line-height:1;display:grid;place-items:center}.icon-btn:hover:not(:disabled){background:var(--secondary)}.icon-btn.small{width:30px;height:30px;font-size:1rem}.send-btn{width:38px;height:38px;border-radius:50%;flex-shrink:0;border:none;background:var(--primary);color:var(--primary-foreground);font-size:1.25rem;line-height:1;display:grid;place-items:center}.send-btn:hover:not(:disabled){filter:brightness(1.05)}.attachments{display:flex;gap:.5rem;flex-wrap:wrap;padding:.35rem .3rem .5rem}.attachment{position:relative}.attachment img{width:56px;height:56px;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block}.attachment .rm{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:none;background:var(--foreground);color:var(--background);font-size:.8rem;line-height:1;cursor:pointer}.msg-images{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.45rem}.msg-images img{max-width:220px;max-height:220px;border-radius:10px;display:block}.disclaimer{text-align:center;color:var(--muted-foreground);font-size:.8rem;margin-top:.4rem}.conv-dots{opacity:0;flex-shrink:0;border:none;background:transparent;color:var(--muted-foreground);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .3rem;border-radius:6px}.conv-item:hover .conv-dots,.conv-item.active .conv-dots{opacity:1}.conv-dots:hover{background:var(--card);color:var(--foreground)}.conv-rename{flex:1;min-width:0;width:100%;padding:.25rem .45rem;font-size:.9rem;border-radius:7px;border:1px solid var(--ring);background:var(--card)}.conv-menu{position:fixed;z-index:60;min-width:184px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px -14px #351e0d8c;padding:.35rem;display:flex;flex-direction:column;gap:.1rem}.conv-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;background:transparent;border:none;text-align:left;padding:.55rem .7rem;border-radius:8px;color:var(--foreground);font-size:.9rem;font-weight:500}.conv-menu-item:hover{background:var(--secondary)}.conv-menu-item.danger{color:var(--destructive)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#1c100673;display:grid;place-items:center;padding:1.5rem}.modal{width:min(420px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 60px -20px #351e0d99;padding:1.3rem 1.4rem}.modal-title{font-family:var(--font-display);font-weight:700;font-size:1.15rem;margin-bottom:.5rem}.modal-text{color:var(--muted-foreground);font-size:.95rem;line-height:1.5;margin-bottom:1.2rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.btn-danger{background:var(--destructive);color:#fff}.gen-hint{color:var(--muted-foreground);font-style:italic}.gen-hint:after{content:"";animation:gendots 1.2s steps(4,end) infinite}@keyframes gendots{0%{content:""}25%{content:"·"}50%{content:"··"}75%{content:"···"}}.msg.assistant .msg-images img{max-width:384px;max-height:384px;border-radius:14px}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}
