:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-elevated:#fff;--bg-muted:#f4f4f5;--bg-subtle:#fafafa;--text:#3f3f46;--text-h:#18181b;--text-muted:#71717a;--border:#e4e4e7;--border-strong:#d4d4d8;--accent:#2563eb;--accent-hover:#1d4ed8;--user-bubble:#2563eb;--user-text:#fff;--assistant-bubble:#f4f4f5;--assistant-text:#18181b;--header-bg:#ffffffd9;--composer-bg:#fff;--shadow:0 8px 30px #0000000f;--error-bg:#fef2f2;--error-text:#b91c1c;--avatar-user:#2563eb;--avatar-assistant:#52525b}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--bg-elevated:#18181b;--bg-muted:#27272a;--bg-subtle:#111113;--text:#d4d4d8;--text-h:#fafafa;--text-muted:#a1a1aa;--border:#3f3f46;--border-strong:#52525b;--accent:#3b82f6;--accent-hover:#60a5fa;--user-bubble:#2563eb;--user-text:#fff;--assistant-bubble:#27272a;--assistant-text:#fafafa;--header-bg:#09090bd9;--composer-bg:#18181b;--shadow:0 8px 30px #00000059;--error-bg:#7f1d1d59;--error-text:#fca5a5;--avatar-user:#3b82f6;--avatar-assistant:#71717a}:root{color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}h1{color:var(--text-h)}#root{min-height:100vh}button,textarea{font:inherit}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}body,.app,.app-header,.chat-composer,.chat-bubble,.chat-suggestion,.theme-toggle__btn,.language-toggle__btn,.auth-bar button{transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-bar{align-items:center;gap:.75rem;display:flex}.auth-user{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;color:var(--text-muted);font-size:.8125rem;overflow:hidden}.auth-bar button{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-h);cursor:pointer;border-radius:999px;padding:.4rem .8rem;font-size:.8125rem;transition:background-color .2s,border-color .2s,transform .2s}.auth-bar button:hover{background:var(--bg-muted);border-color:var(--border-strong);transform:translateY(-1px)}.auth-bar button:active{transform:translateY(0)}.citation-sources{flex-direction:column;gap:.45rem;margin-top:.65rem;display:flex}.citation-sources__section{flex-direction:column;gap:.35rem;display:flex}.citation-sources__section--other{margin-top:.1rem}.citation-sources__other-toggle{appearance:none;color:var(--text-muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.35rem;padding:.15rem 0;font-size:.76rem;font-weight:500;display:inline-flex}.citation-sources__other-toggle:hover{color:var(--text)}.citation-sources__other-chevron{opacity:.75;font-size:.68rem}.citation-sources__chips{flex-flow:column;align-items:stretch;gap:.35rem;display:flex}.citation-sources .citation-chip{border-radius:999px;width:100%;max-width:100%;padding:.35rem .6rem .35rem .4rem;display:flex}.citation-sources .citation-chip__label{white-space:nowrap;flex:1;min-width:0;max-width:none}.citation-sources__chips--muted .citation-chip{opacity:.82;border-color:var(--border-subtle,#7f7f7f2e);background:0 0}.citation-sources__chips--muted .citation-chip:hover{opacity:1}.citation-chip{border:1px solid var(--border-subtle,#7f7f7f40);background:var(--surface-muted,#7f7f7f14);max-width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem .2rem .35rem;font-size:.78rem;line-height:1.3;text-decoration:none;display:inline-flex}.citation-chip:hover{border-color:var(--accent,#3b82f6);background:var(--surface-accent,#3b82f614)}.citation-chip__index{background:var(--accent,#3b82f6);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;font-size:.68rem;font-weight:600;display:inline-flex}.citation-chip__label{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.citation-chip__icon{opacity:.7;flex-shrink:0}.citation-sources__detail{border:1px solid var(--border-subtle,#7f7f7f33);background:var(--surface-muted,#7f7f7f0f);border-radius:.5rem;margin-top:.5rem;padding:.65rem .75rem;font-size:.82rem}.citation-detail__title{margin-bottom:.25rem;font-weight:600}.citation-detail__meta{opacity:.75;margin-bottom:.35rem}.citation-detail__snippet{white-space:pre-wrap;opacity:.9;margin:0}.chat-markdown{white-space:normal}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p,.chat-markdown ul,.chat-markdown ol,.chat-markdown blockquote,.chat-markdown pre,.chat-markdown table{margin:.55rem 0}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{color:var(--text-h);margin:.85rem 0 .4rem;line-height:1.3}.chat-markdown h1{font-size:1.2rem}.chat-markdown h2{font-size:1.05rem}.chat-markdown h3,.chat-markdown h4{font-size:.95rem}.chat-markdown ul,.chat-markdown ol{padding-left:1.25rem}.chat-markdown li+li{margin-top:.2rem}.chat-markdown blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);padding-left:.75rem}.chat-markdown code{background:var(--bg-muted);border-radius:.35rem;padding:.1rem .35rem;font-size:.85em}.chat-markdown pre{background:var(--bg-muted);border-radius:.65rem;padding:.7rem .8rem;overflow-x:auto}.chat-markdown pre code{background:0 0;padding:0;font-size:.8rem;line-height:1.45}.chat-markdown a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.chat-markdown a.citation-ref{border:1px solid color-mix(in srgb, var(--accent,#3b82f6) 45%, var(--border,#e4e4e7));background:color-mix(in srgb, var(--accent,#3b82f6) 12%, transparent);min-width:1.35rem;height:1.35rem;color:var(--accent,#3b82f6);vertical-align:.1em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;margin:0 .12rem;padding:0 .4rem;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.chat-markdown a.citation-ref:hover{border-color:var(--accent,#3b82f6);background:color-mix(in srgb, var(--accent,#3b82f6) 22%, transparent);text-decoration:none}.chat-markdown table{border-collapse:collapse;width:100%;font-size:.875rem}.chat-markdown th,.chat-markdown td{border:1px solid var(--border);text-align:left;padding:.4rem .55rem}.chat-markdown th{background:var(--bg-muted);font-weight:600}.chat-markdown hr{border:none;border-top:1px solid var(--border);margin:.75rem 0}.conversation-export{display:none}@media print{@page{margin:16mm 16mm 18mm}html,body,#root,.app,.app-main,.chat{color:#18181b!important;background:#fff!important;height:auto!important;overflow:visible!important}.app-header,.chat-thread,.chat-composer-wrap,.thinking-mascot{display:none!important}.conversation-export{color:#18181b;-webkit-print-color-adjust:exact;print-color-adjust:exact;max-width:180mm;margin:0 auto;font-size:11pt;line-height:1.5;display:block}.conversation-export__header{border-bottom:1pt solid #d4d4d8;margin-bottom:1.4rem;padding-bottom:.75rem}.conversation-export__header h1{color:#18181b;margin:0 0 .2rem;font-size:16pt}.conversation-export__header p{color:#52525b;margin:0;font-size:9.5pt}.conversation-export__turn{margin:0 0 1.15rem}.conversation-export__turn h2{letter-spacing:.02em;text-transform:uppercase;color:#52525b;break-after:avoid;margin:0 0 .35rem;font-size:10pt;font-weight:700}.conversation-export__turn--user .conversation-export__body{white-space:pre-wrap;background:#f4f4f5;border-left:3pt solid #2563eb;padding:.55rem .75rem}.conversation-export__turn--assistant .conversation-export__body,.conversation-export__body .chat-markdown{color:#18181b}.conversation-export__body .chat-markdown a{color:#1d4ed8}.conversation-export__sources{border-top:.5pt solid #e4e4e7;margin-top:.7rem;padding-top:.45rem}.conversation-export__sources h3{color:#3f3f46;margin:0 0 .35rem;font-size:9.5pt;font-weight:700}.conversation-export__sources ol{margin:0;padding-left:1.2rem}.conversation-export__sources li{overflow-wrap:anywhere;margin:.2rem 0;font-size:9pt;line-height:1.4}.conversation-export__sources a{color:#1d4ed8;word-break:break-all;text-decoration:none}}.thinking-mascot{pointer-events:none;flex-shrink:0;justify-content:center;align-items:flex-end;height:7rem;display:flex;overflow:hidden}.thinking-mascot__stage{perspective:420px;width:7.25rem;height:7.25rem;position:relative}.thinking-mascot__figure{transform-origin:50% 92%;width:100%;height:100%;transform-style:preserve-3d}.thinking-mascot__svg{width:100%;height:100%;filter:drop-shadow(0 10px 18px color-mix(in srgb, var(--accent) 28%, transparent));display:block;overflow:visible}.thinking-mascot__stop-a{stop-color:var(--accent)}.thinking-mascot__stop-b{stop-color:#7c3aed}.thinking-mascot__bubble,.thinking-mascot__hand{transform-box:fill-box;transform-origin:50%}.thinking-mascot__bubble{fill:color-mix(in srgb, var(--accent) 78%, #7c3aed);stroke:color-mix(in srgb, #fff 35%, var(--accent));stroke-width:1.2px}.thinking-mascot__swirl{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 70%, #fff) 0%, transparent 70%);opacity:0;border-radius:999px;width:1.1rem;height:1.1rem;position:absolute;bottom:.15rem;left:50%;transform:translate(-50%)scale(.4)}.thinking-mascot--in .thinking-mascot__figure{animation:.58s cubic-bezier(.22,1.2,.36,1) both thinking-lamp-in}.thinking-mascot--idle .thinking-mascot__figure{animation:2.6s ease-in-out infinite thinking-sway}.thinking-mascot--idle .thinking-mascot__bubble--1{animation:1.4s ease-in-out infinite thinking-bubble}.thinking-mascot--idle .thinking-mascot__bubble--2{animation:1.4s ease-in-out .18s infinite thinking-bubble}.thinking-mascot--idle .thinking-mascot__bubble--3{animation:1.4s ease-in-out .36s infinite thinking-bubble}.thinking-mascot--idle .thinking-mascot__hand{transform-origin:78px 122px;animation:2.6s ease-in-out infinite thinking-hand}.thinking-mascot--out .thinking-mascot__figure{animation:.55s cubic-bezier(.55,.06,.85,.2) both thinking-lamp-out}.thinking-mascot--out .thinking-mascot__swirl{animation:.55s ease-in both thinking-swirl}@keyframes thinking-lamp-in{0%{opacity:0;filter:blur(8px);transform:translateY(3.4rem)scale(.08)rotate(55deg)}62%{opacity:1;filter:blur();transform:translateY(-.45rem)scale(1.08)rotateY(-8deg)rotate(-8deg)}to{opacity:1;transform:translateY(0)scale(1)rotateY(0)rotate(0)}}@keyframes thinking-lamp-out{0%{opacity:1;transform:translateY(0)scale(1)rotate(0)}38%{opacity:1;transform:translateY(.35rem)scale(.72,.9)rotate(-28deg)}to{opacity:0;filter:blur(10px);transform:translateY(3.6rem)scale(.04)rotate(110deg)}}@keyframes thinking-sway{0%,to{transform:rotateY(-14deg)rotate(-5deg)translateY(0)}50%{transform:rotateY(14deg)rotate(4deg)translateY(-.45rem)}}@keyframes thinking-bubble{0%,to{opacity:.55;transform:translate(0)scale(.92)}50%{opacity:1;transform:translate(2px,-5px)scale(1.08)}}@keyframes thinking-hand{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}@keyframes thinking-swirl{0%{opacity:0;transform:translate(-50%)scale(.3)}35%{opacity:1;transform:translate(-50%)scale(1.8)}to{opacity:0;transform:translate(-50%)scale(.1)}}@media (prefers-reduced-motion:reduce){.thinking-mascot--in .thinking-mascot__figure,.thinking-mascot--idle .thinking-mascot__figure,.thinking-mascot--idle .thinking-mascot__bubble--1,.thinking-mascot--idle .thinking-mascot__bubble--2,.thinking-mascot--idle .thinking-mascot__bubble--3,.thinking-mascot--idle .thinking-mascot__hand,.thinking-mascot--out .thinking-mascot__figure,.thinking-mascot--out .thinking-mascot__swirl{animation:none}.thinking-mascot--out{display:none}}@media print{.thinking-mascot{display:none!important}}.thinking-panel{border-left:2px solid color-mix(in srgb, var(--accent) 45%, var(--border));margin-bottom:.55rem;padding-left:.8rem}.thinking-panel--streaming{border-left-color:var(--accent)}.thinking-panel__header{width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-size:.8125rem;display:flex}.thinking-panel__collapse{opacity:1;grid-template-rows:1fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.thinking-panel--collapsed .thinking-panel__collapse{opacity:0;grid-template-rows:0fr}.thinking-panel__collapse-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.thinking-panel__collapse{transition:none}}.thinking-panel__spark{color:var(--accent);font-size:.7rem;line-height:1}.thinking-panel__title{color:var(--text-h);font-weight:600}.thinking-panel--streaming .thinking-panel__title{color:var(--accent)}.thinking-panel__meta{color:var(--text-muted);margin-left:auto;font-size:.75rem}.thinking-panel__chevron{color:var(--text-muted);font-size:.7rem}.thinking-panel__pulse{background:var(--accent);border-radius:999px;width:.45rem;height:.45rem;margin-left:auto;animation:1.2s ease-in-out infinite thinking-pulse}@keyframes thinking-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.thinking-panel__body{max-height:min(40rem,60vh);margin-top:.5rem;padding-right:.25rem;overflow-y:auto}.thinking-panel__reasoning{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;margin:0 0 .55rem;font-size:.8125rem;line-height:1.6}.thinking-panel__cursor{vertical-align:text-bottom;background:var(--accent);width:.45rem;height:.95em;margin-left:.1rem;animation:1s step-end infinite thinking-cursor;display:inline-block}@keyframes thinking-cursor{0%,to{opacity:1}50%{opacity:0}}.thinking-panel__items{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.thinking-item+.thinking-item{margin-top:.1rem}.thinking-item{color:var(--text-muted);align-items:flex-start;gap:.45rem;font-size:.75rem;line-height:1.45;display:flex}.thinking-item__marker{width:.75rem;color:color-mix(in srgb, var(--accent) 70%, var(--text-muted));text-align:center;flex-shrink:0;margin-top:.1rem}.thinking-item--tool .thinking-item__marker{color:var(--accent)}.thinking-item__content{flex:1;min-width:0}.thinking-item__text{white-space:pre-wrap;word-break:break-word;display:block}.thinking-item__observation{background:color-mix(in srgb, var(--bg-muted) 88%, transparent);color:color-mix(in srgb, var(--text-muted) 55%, var(--text-h));border-radius:.55rem;margin:.35rem 0 0;padding:.55rem .7rem;font-size:.8rem;line-height:1.5;overflow-x:auto}.thinking-item__observation .chat-markdown{font-size:inherit;color:inherit}.thinking-item__observation .chat-markdown h1,.thinking-item__observation .chat-markdown h2,.thinking-item__observation .chat-markdown h3,.thinking-item__observation .chat-markdown h4{margin:.55rem 0 .3rem;font-size:.9rem}.thinking-item__observation .chat-markdown p,.thinking-item__observation .chat-markdown ul,.thinking-item__observation .chat-markdown ol,.thinking-item__observation .chat-markdown blockquote,.thinking-item__observation .chat-markdown pre,.thinking-item__observation .chat-markdown table{margin:.35rem 0}.thinking-item__observation .chat-markdown pre{padding:.5rem .6rem;font-size:.75rem}.thinking-item__details{margin-top:.2rem}.thinking-item__details summary{cursor:pointer;color:var(--text-muted);font-size:.68rem;font-weight:600}.thinking-item__details pre{background:var(--bg-muted);white-space:pre-wrap;word-break:break-word;border-radius:.45rem;margin:.25rem 0 0;padding:.45rem .55rem;font-size:.68rem;line-height:1.4;overflow-x:auto}.workflow-progress{border:1px solid var(--border);background:color-mix(in srgb, var(--assistant-bubble) 92%, var(--bg-muted));border-radius:.75rem;margin-bottom:.55rem;display:none;overflow:hidden}.workflow-progress--compact{background:0 0;border-style:dashed}.workflow-progress__header{width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.75rem;font-weight:600;display:flex}.workflow-progress__header:disabled{cursor:default}.workflow-progress__count{color:var(--text-muted);margin-left:auto;font-size:.7rem;font-weight:500}.workflow-progress__chevron{color:var(--text-muted);font-size:.7rem}.workflow-progress__list{flex-direction:column;gap:.45rem;margin:0;padding:0 .75rem .65rem;list-style:none;display:flex}.workflow-node{background:var(--bg-elevated);border:1px solid var(--border);border-radius:.55rem;align-items:flex-start;gap:.55rem;padding:.45rem .55rem;display:flex}.workflow-node--running{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.workflow-node--failed{border-color:color-mix(in srgb, var(--error-text) 35%, var(--border))}.workflow-node__indicator{color:var(--accent);margin-top:.15rem;font-size:.7rem;line-height:1}.workflow-node--failed .workflow-node__indicator{color:var(--error-text)}.workflow-node--succeeded .workflow-node__indicator,.workflow-node--stopped .workflow-node__indicator{color:color-mix(in srgb, var(--accent) 70%, var(--text-muted))}.workflow-node__body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.workflow-node__title{color:var(--text-h);font-size:.8125rem;font-weight:600}.workflow-node__meta{color:var(--text-muted);font-size:.75rem}.chat{flex-direction:column;height:100%;min-height:0;display:flex}@keyframes chat-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-message-in-user{0%{opacity:0;transform:translate(10px,10px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes chat-message-in-assistant{0%{opacity:0;transform:translate(-10px,10px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes chat-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.chat-panel{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.chat-status{color:var(--text-muted)}.chat-status-card{border:1px solid var(--border);background:var(--bg-elevated);max-width:24rem;box-shadow:var(--shadow);text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;animation:.4s cubic-bezier(.22,1,.36,1) both chat-scale-in;display:flex}.chat-status-card h2{color:var(--text-h);margin:0;font-size:1.25rem}.chat-status-card p{color:var(--text-muted);margin:0}.chat-status-card button,.chat-status button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.55rem 1rem;transition:background-color .2s,transform .2s,box-shadow .2s}.chat-status-card button:hover,.chat-status button:hover{background:var(--accent-hover);box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-1px)}.chat-status-card button:active,.chat-status button:active{transform:translateY(0)}.chat-thread{flex:1;min-height:0;overflow:hidden}.chat-messages{height:100%;padding:1.5rem 1rem 2rem;overflow-y:auto}.chat-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:2rem 1rem;display:flex}.chat-empty h2{letter-spacing:-.03em;color:var(--text-h);white-space:pre-wrap;max-width:32rem;margin:0 0 .5rem;font-size:1.75rem;font-weight:600;animation:.55s cubic-bezier(.22,1,.36,1) both chat-fade-up}.chat-empty p,.chat-empty__intro{color:var(--text-muted);max-width:28rem;margin:0;line-height:1.6;animation:.55s cubic-bezier(.22,1,.36,1) 80ms both chat-fade-up}.chat-empty p{white-space:pre-wrap}.chat-suggestions--empty{justify-content:center;max-width:36rem;margin-top:1.5rem;animation:.55s cubic-bezier(.22,1,.36,1) .16s both chat-fade-up}.chat-suggestions--empty .chat-suggestion{animation:.45s cubic-bezier(.22,1,.36,1) both chat-fade-up}.chat-suggestions--empty .chat-suggestion:first-child{animation-delay:.22s}.chat-suggestions--empty .chat-suggestion:nth-child(2){animation-delay:.28s}.chat-suggestions--empty .chat-suggestion:nth-child(3){animation-delay:.34s}.chat-suggestions--empty .chat-suggestion:nth-child(4){animation-delay:.4s}.chat-row{gap:.875rem;width:100%;max-width:48rem;margin:0 auto 1.25rem;display:flex}.chat-row--user{flex-direction:row-reverse;animation:.38s cubic-bezier(.22,1,.36,1) both chat-message-in-user}.chat-row--assistant{animation:.38s cubic-bezier(.22,1,.36,1) both chat-message-in-assistant}.chat-avatar{color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin-top:1.4rem;font-size:.8rem;font-weight:700;display:flex}.chat-avatar--user{background:var(--avatar-user)}.chat-avatar--assistant{background:var(--avatar-assistant)}.chat-bubble-wrap{flex-direction:column;gap:.35rem;min-width:0;max-width:min(100%,36rem);display:flex}.chat-row--user .chat-bubble-wrap{align-items:flex-end}.chat-meta{color:var(--text-muted);font-size:.75rem;font-weight:600}.chat-bubble{white-space:pre-wrap;word-break:break-word;transform-origin:bottom;border-radius:1rem;padding:.85rem 1rem;line-height:1.55}.chat-bubble--user{background:var(--user-bubble);color:var(--user-text);border-bottom-right-radius:.35rem}.chat-bubble--assistant{background:var(--assistant-bubble);color:var(--assistant-text);border-bottom-left-radius:.35rem}.chat-bubble:empty{display:none}.chat-bubble--markdown{white-space:normal}.chat-typing{align-items:center;gap:.3rem;min-height:1.25rem;display:inline-flex}.chat-typing span{background:var(--text-muted);border-radius:999px;width:.45rem;height:.45rem;animation:1.2s ease-in-out infinite chat-typing}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.chat-composer-wrap{background:linear-gradient(to top, var(--bg) 75%, transparent);flex-shrink:0;padding:0 1rem 1rem;animation:.45s cubic-bezier(.22,1,.36,1) 80ms both chat-slide-up}.chat-suggestions{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.chat-suggestion{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-h);text-align:left;cursor:pointer;border-radius:999px;padding:.55rem .85rem;font-size:.8125rem;line-height:1.35;transition:background-color .2s,border-color .2s,transform .2s,box-shadow .2s}.chat-suggestion:hover:not(:disabled){background:var(--bg-muted);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.chat-suggestion:active:not(:disabled){transform:translateY(0)}.chat-suggestion:disabled{opacity:.6;cursor:not-allowed}.chat-composer-shell{max-width:48rem;margin:0 auto}.chat-error{background:var(--error-bg);color:var(--error-text);border-radius:.75rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem;animation:.3s cubic-bezier(.22,1,.36,1) both chat-fade-up}.chat-composer{border:1px solid var(--border);background:var(--composer-bg);box-shadow:var(--shadow);border-radius:1.25rem;align-items:flex-end;gap:.5rem;padding:.65rem;transition:border-color .2s,box-shadow .25s,transform .2s;display:flex}.chat-composer:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:var(--shadow), 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.chat-input{min-height:1.5rem;max-height:10rem;color:var(--text-h);resize:none;background:0 0;border:none;flex:1;padding:.45rem .55rem;line-height:1.5}.chat-input:focus{outline:none}.chat-input::placeholder{color:var(--text-muted)}.chat-composer-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.chat-reset{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem .9rem;font-size:.875rem;transition:border-color .2s,background-color .2s,color .2s,opacity .2s}.chat-reset:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-muted);color:var(--text-h)}.chat-reset:disabled{opacity:.45;cursor:not-allowed}.chat-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:background-color .2s,opacity .2s,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;display:inline-flex}.chat-send:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 35%, transparent);transform:scale(1.06)}.chat-send:active:not(:disabled){transform:scale(.94)}.chat-send:disabled{opacity:.45;cursor:not-allowed}.chat-hint{text-align:center;color:var(--text-muted);margin:.5rem 0 0;font-size:.75rem}@media (width>=641px){.chat-row,.chat-composer-shell{max-width:64rem}.chat-bubble-wrap{max-width:min(100%,52rem)}.chat-empty h2{max-width:40rem}.chat-empty__intro,.chat-suggestions--empty{max-width:44rem}}@media (width<=640px){.chat-messages,.chat-composer-wrap{padding-inline:.75rem}.chat-bubble-wrap{max-width:calc(100% - 2.5rem)}}.language-toggle{border:1px solid var(--border);background:var(--bg-muted);border-radius:999px;padding:.2rem;display:inline-flex}.language-toggle__btn{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:600;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}.language-toggle__btn:hover{color:var(--text-h);transform:translateY(-1px)}.language-toggle__btn--active{background:var(--bg-elevated);color:var(--text-h);transform:translateY(0);box-shadow:0 1px 2px #00000014}.theme-toggle{border:1px solid var(--border);background:var(--bg-muted);border-radius:999px;padding:.2rem;display:inline-flex}.theme-toggle__btn{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:500;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}.theme-toggle__btn:hover{color:var(--text-h);transform:translateY(-1px)}.theme-toggle__btn--active{background:var(--bg-elevated);color:var(--text-h);transform:translateY(0);box-shadow:0 1px 2px #00000014}.app{background:var(--bg);flex-direction:column;height:100vh;animation:.45s both app-fade-in;display:flex;overflow:hidden}@keyframes app-fade-in{0%{opacity:0}to{opacity:1}}.app-header{border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;animation:.45s cubic-bezier(.22,1,.36,1) both app-slide-down;display:flex}@keyframes app-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-brand{align-items:center;gap:.75rem;min-width:0;display:flex}.app-logo{background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;border-radius:.625rem;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.95rem;font-weight:700;animation:.5s cubic-bezier(.22,1,.36,1) .1s both app-logo-pop;display:inline-flex}@keyframes app-logo-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.app-header-actions{flex-shrink:0;align-items:center;gap:.75rem;animation:.45s .12s both app-fade-in;display:flex}.app-header h1{letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:600}.app-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}@media (width<=640px){.app-header{padding:.75rem 1rem}.app-header-actions{gap:.5rem}}
