:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16130f;--bg-2:#1b1813;--surface-1:#211d17;--surface-2:#2a251e;--surface-3:#342e26;--border:#f5eee414;--border-strong:#f5eee426;--text:#f2ece2;--text-muted:#c2b6a6;--text-soft:#8c8275;--accent:#df8c5e;--accent-hover:#e89d72;--accent-soft:#df8c5e29;--accent-soft-2:#df8c5e14;--user-bubble:#3a332b;--user-text:#f7f1e8;--success:#84c79e;--danger:#e08a8a;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 14px 38px #0006;--shadow-composer:0 18px 46px #00000073;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--rail-w:68px;--list-w:300px;--thread-max:720px;--composer-max:720px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-height:100vh;color:var(--text);background:radial-gradient(900px 520px at 18% -8%, #df8c5e0f, transparent 60%), var(--bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;touch-action:manipulation;font-weight:400;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .4rem;font-size:.74rem;font-weight:700}.primary-button,.secondary-button,.ghost-button{transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .15s var(--ease), box-shadow .15s var(--ease);border:0}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.primary-button{border-radius:var(--radius-sm);background:var(--accent);color:#1c140d;padding:.9rem 1.1rem;font-weight:600}.primary-button:hover{background:var(--accent-hover)}.markdown-content{color:var(--text)}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content pre,.markdown-content blockquote{margin:0 0 .9rem}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--text);margin:1.2rem 0 .6rem;line-height:1.25}.markdown-content a{color:var(--accent);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content code{background:var(--surface-2);border-radius:.45rem;padding:.14rem .38rem;font-size:.92em}.markdown-content pre{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);padding:.9rem 1rem;overflow:auto}.markdown-content pre code{background:0 0;padding:0}.markdown-content blockquote{border-left:3px solid var(--accent-soft);color:var(--text-muted);padding-left:1rem}.markdown-content table{border-collapse:collapse;width:100%;margin:0 0 .9rem}.markdown-content th,.markdown-content td{border:1px solid var(--border);text-align:left;padding:.5rem .7rem}.shell{height:100dvh;color:var(--text);--swipe-offset:0px;display:flex;overflow:hidden}.shell__panel{background:var(--bg);min-width:0;min-height:0;transition:transform .22s var(--ease), border-radius .22s var(--ease), box-shadow .22s var(--ease);will-change:transform;flex-direction:column;flex:auto;display:flex;position:relative;overflow:hidden}.shell__list-wrap{width:var(--list-w);transition:width .28s var(--ease);flex:none;overflow:hidden}.shell:not(.shell--list-open) .shell__list-wrap{width:0}.shell__scrim{display:none}.shell__composer-dock{padding:.85rem 1rem calc(.9rem + var(--safe-bottom));background:linear-gradient(to top, var(--bg) 72%, #16130f00);border-top:1px solid var(--border);flex:none}.app-rail{flex:0 0 var(--rail-w);width:var(--rail-w);background:var(--bg-2);border-right:1px solid var(--border);z-index:50;flex-direction:column;justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 0;display:flex}.app-rail__top,.app-rail__bottom{flex-direction:column;align-items:center;gap:.5rem;display:flex}.app-rail__brand{background:var(--accent-soft);border-radius:12px;place-items:center;width:40px;height:40px;padding:5px;display:grid;overflow:hidden}.app-rail__brand-logo{object-fit:contain;width:100%;height:100%}.app-rail__btn{width:42px;height:42px;color:var(--text-muted);transition:background-color .15s var(--ease), color .15s var(--ease), transform .15s var(--ease);background:0 0;border:0;border-radius:13px;place-items:center;display:grid}.app-rail__btn:hover{background:var(--surface-2);color:var(--text)}.app-rail__btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.app-rail__avatar{background:var(--surface-2);border:1px solid var(--border);width:38px;height:38px;color:var(--text);border-radius:50%;place-items:center;font-size:.78rem;font-weight:600;display:grid}.conv-list{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;height:100%;display:flex}.conv-list__head{justify-content:space-between;align-items:center;padding:1.1rem 1rem .6rem;display:flex}.conv-list__title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:.78rem;font-weight:700}.conv-list__new{border:1px solid var(--border);background:var(--surface-1);color:var(--accent);transition:background-color .15s var(--ease), border-color .15s var(--ease);border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.conv-list__new:hover{background:var(--surface-2);border-color:var(--border-strong)}.conv-list__scroll{flex-direction:column;flex:auto;align-content:start;gap:.4rem;min-height:0;padding:.5rem;display:flex;overflow:auto}.conv-item{border-radius:var(--radius-md);width:100%;color:var(--text);text-align:left;transition:background-color .15s var(--ease), border-color .15s var(--ease);background:0 0;border:1px solid #0000;gap:.22rem;padding:.8rem .85rem;display:grid}.conv-item:hover{background:var(--surface-2)}.conv-item.is-active{background:var(--surface-2);border-color:var(--border-strong)}.conv-item__title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.conv-item.is-active .conv-item__title{color:var(--accent)}.conv-item__preview{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.conv-item__meta{color:var(--text-soft);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.15rem;font-size:.72rem;display:flex}.conv-item__delete{width:26px;height:26px;color:var(--danger);opacity:0;transition:opacity .15s var(--ease), background-color .15s var(--ease);border-radius:8px;place-items:center;display:grid}.conv-item:hover .conv-item__delete,.conv-item__delete:focus-visible{opacity:1}.conv-item__delete:hover{background:#e08a8a24}.conv-list__skeleton{gap:.5rem;padding:.4rem;display:grid}.conv-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-1), var(--surface-2), var(--surface-1));background-size:220px 100%;height:58px;animation:1.4s linear infinite shimmer}.conv-list__empty{text-align:center;color:var(--text-soft);margin:auto;padding:1.5rem}.conv-list__empty p{color:var(--text-muted);margin:0 0 .3rem}.conv-list__empty span{font-size:.85rem}.thread{scroll-behavior:smooth;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex-direction:column;flex:auto;align-items:center;gap:0;min-height:0;padding:1.6rem 1rem 2rem;display:flex;overflow:auto}.thread__skeleton{width:100%;max-width:var(--thread-max);gap:.9rem;padding-top:.5rem;display:grid}.thread-skeleton{background:linear-gradient(90deg, var(--surface-1), var(--surface-2), var(--surface-1));background-size:220px 100%;border-radius:999px;height:16px;animation:1.4s linear infinite shimmer}.thinking{width:100%;max-width:var(--thread-max);animation:fade-up .28s var(--ease) both;justify-content:flex-start;margin-bottom:1.3rem;display:flex}.thinking__bubble{background:var(--surface-1);border:1px solid var(--border);border-radius:20px 20px 20px 6px;align-items:center;gap:6px;padding:.95rem 1.15rem;display:inline-flex}.thinking__dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite thinking-bounce}.thinking__dot:nth-child(2){animation-delay:.15s}.thinking__dot:nth-child(3){animation-delay:.3s}@keyframes thinking-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.thread__empty{text-align:center;color:var(--text-soft);margin:auto}.thread__empty p{color:var(--text-muted);margin:0 0 .3rem}.msg{width:100%;max-width:var(--thread-max);animation:fade-up .28s var(--ease) both;margin-bottom:1.3rem}.msg--user{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.msg--assistant{justify-content:flex-start;display:flex}.msg__bubble{background:var(--user-bubble);max-width:82%;color:var(--user-text);box-shadow:var(--shadow-sm);border-radius:20px 20px 6px;padding:.8rem 1rem}.msg__image{border-radius:14px;max-width:240px;margin-bottom:.55rem}.msg__text{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.95rem;line-height:1.55}.msg__time{color:var(--text-soft);font-size:.7rem}.msg__prose{max-width:100%;color:var(--text);font-size:1rem;line-height:1.65}.msg--streaming .msg__prose{color:var(--text)}.stream-caret{background:var(--accent);vertical-align:text-bottom;border-radius:2px;width:8px;height:1.05em;margin-left:2px;animation:1s steps(2,jump-none) infinite caret-blink;display:inline-block}.tool-activity{width:100%;max-width:var(--thread-max);color:var(--text-muted);animation:fade-up .28s var(--ease) both;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.85rem;display:flex}.tool-activity__indicator{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;position:relative}.tool-activity--done .tool-activity__indicator{background:var(--success)}.tool-activity__pulse{border:1px solid var(--accent);border-radius:50%;animation:1.5s ease-out infinite tool-pulse;position:absolute;inset:-4px}.tool-activity--done .tool-activity__label{color:var(--text-soft)}.chat-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.chat-header__lead{align-items:center;gap:.6rem;min-width:0;display:flex}.chat-header__back{width:36px;height:36px;color:var(--text-muted);transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:10px;place-items:center;display:none}.chat-header__back:hover{background:var(--surface-2);color:var(--text)}.chat-header__title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.chat-header__stop{border:1px solid var(--border);background:var(--surface-1);color:var(--text);transition:background-color .15s var(--ease);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.85rem;display:inline-flex}.chat-header__stop:hover{background:var(--surface-2)}.chat-header__stop-square{background:currentColor;border-radius:2px;width:9px;height:9px}.home{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:1.6rem;width:100%;max-width:820px;min-height:0;margin:0 auto;padding:2rem 1.25rem;display:flex}.home__hero{justify-items:center;gap:.65rem;display:grid}.home__logo{object-fit:contain;filter:drop-shadow(0 8px 24px #94f2ff2e);width:88px;height:88px}.home__badge{background:var(--accent-soft);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:.35rem .75rem;font-size:.72rem;font-weight:600}.home__title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:600;line-height:1.1}.home__subtitle{max-width:42ch;color:var(--text-muted);margin:0;font-size:1rem}.home__composer{width:100%;max-width:720px}.composer{width:100%;max-width:var(--composer-max);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-1);box-shadow:var(--shadow-composer);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);margin:0 auto;padding:.6rem .7rem .7rem}.composer:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px var(--accent-soft-2), var(--shadow-composer)}.composer--home{max-width:740px}.composer__field{align-items:flex-end;gap:.5rem;display:flex}.composer textarea{min-height:26px;max-height:220px;color:var(--text);resize:none;-webkit-overflow-scrolling:touch;background:0 0;border:0;outline:none;flex:auto;padding:.7rem .6rem;font-size:1rem;line-height:1.5;overflow-y:auto}.composer textarea::placeholder{color:var(--text-soft)}.composer__controls{flex:none;align-items:center;gap:.4rem;display:flex}.composer__icon{width:38px;height:38px;color:var(--text-muted);transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.composer__icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.composer__icon:disabled{opacity:.5;cursor:not-allowed}.composer__send{background:var(--accent);color:#1c140d;width:40px;height:40px;transition:background-color .15s var(--ease), transform .15s var(--ease), opacity .15s var(--ease);border:0;border-radius:50%;place-items:center;display:grid}.composer__send:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.composer__send:disabled{opacity:.5;cursor:not-allowed}.composer__send.is-stop{background:var(--surface-3);color:var(--text)}.composer__stop-square{background:currentColor;border-radius:3px;width:13px;height:13px}.composer__error{color:var(--danger);margin:.4rem .2rem 0;font-size:.82rem}.attachment{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:.6rem;padding:.6rem .7rem;display:grid}.attachment__thumb{object-fit:cover;border-radius:10px;width:48px;height:48px}.attachment__meta{gap:.1rem;min-width:0;display:grid}.attachment__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.attachment__size{color:var(--text-soft);font-size:.75rem}.attachment__remove{width:32px;height:32px;color:var(--text-muted);transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.attachment__remove:hover{color:var(--danger);background:#e08a8a24}.prompt-chips{flex-wrap:wrap;justify-content:center;gap:.55rem;max-width:720px;margin:0 auto;display:flex}.prompt-chip{border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .15s var(--ease);border-radius:999px;padding:.6rem .95rem;font-size:.85rem}.prompt-chip:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.auth{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);width:100%;max-width:420px;box-shadow:var(--shadow-md);animation:fade-up .32s var(--ease) both;flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.auth-brand{justify-content:center;align-items:center;gap:.6rem;display:flex}.auth-brand__mark{background:var(--accent-soft);border-radius:11px;place-items:center;width:38px;height:38px;padding:4px;display:grid;overflow:hidden}.auth-brand__logo{object-fit:contain;width:100%;height:100%}.auth-brand__name{letter-spacing:-.01em;color:var(--text);font-size:1.25rem;font-weight:600}.auth-tagline{text-align:center;color:var(--text-muted);margin:-.5rem 0 0;font-size:.95rem}.segmented-control{border-radius:var(--radius-md);background:var(--surface-2);grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.4rem;display:grid}.segmented-control__button{border-radius:var(--radius-sm);color:var(--text-muted);transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;padding:.8rem 1rem;font-weight:600}.segmented-control__button.is-active{background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-sm)}.auth-form{gap:1rem;display:grid}.auth-form header h2{color:var(--text);margin:0;font-size:1.35rem}.auth-form header p{color:var(--text-muted);margin:.4rem 0 0;font-size:.92rem}.field{gap:.45rem;display:grid}.field span{color:var(--text-muted);font-size:.9rem}.field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;color:var(--text);padding:.9rem 1rem}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-error,.composer-error{color:var(--danger);margin:0;font-size:.9rem}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes tool-pulse{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes shimmer{0%{background-position:-220px 0}to{background-position:220px 0}}@media (width<=860px){.shell{flex-direction:column}.app-rail{flex:0 0 calc(56px + var(--safe-top));width:100%;padding:var(--safe-top) .9rem 0;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between}.app-rail__top,.app-rail__bottom{flex-direction:row}.shell__list-wrap{top:calc(56px + var(--safe-top));z-index:40;width:min(320px,86vw);transition:transform .28s var(--ease);box-shadow:var(--shadow-md);position:fixed;bottom:0;left:0;transform:translate(-100%)}.shell--list-open .shell__list-wrap{transform:translate(0)}.shell__scrim{z-index:35;opacity:0;pointer-events:none;transition:opacity .22s var(--ease);background:#0000008c;display:block;position:fixed;inset:0}.shell--list-open .shell__scrim{opacity:1;pointer-events:auto}.shell__composer-dock{padding:.6rem .7rem calc(.7rem + var(--safe-bottom))}.shell__panel{touch-action:pan-y}.shell--swiping .shell__panel{box-shadow:var(--shadow-md);border-radius:22px 0 0 22px;transition:none}.shell--swiping:not(.shell--list-open) .shell__list-wrap{transform:translateX(calc(-100% + var(--swipe-offset)))}.shell--swiping .shell__scrim{opacity:0;pointer-events:none}.composer{border-radius:var(--radius-lg)}.chat-header__back{display:grid}.home{gap:1.2rem;padding:1.5rem 1rem}.thread{padding:1.2rem .85rem 1.5rem}.thread,.conv-list__scroll{-webkit-overflow-scrolling:touch}.composer textarea{max-height:120px;font-size:16px}.composer--home textarea{max-height:140px}.msg__bubble{max-width:88%}}@media (width<=720px){.auth-card{padding:1.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
