:root{--app-bg:#f8fafc;--main-bg:#fff;--sidebar-bg:#fff;--composer-bg:#fff;--control-bg:#f1f5f9;--control-hover:#e2e8f0;--session-active:#e2e8f0;--assistant-bubble:#fff;--user-bubble:#2563eb;--reasoning-bg:#f8fafc;--inline-code-bg:#64748b29;--code-bg:#0f172a;--theme-track:#0f172a;--theme-thumb:#fff;--avatar-bg:#eef2ff;--avatar-text:#4f46e5;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--danger:#ef4444;--danger-bg:#ef44441f;color:var(--text-primary);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html.dark{--app-bg:#111113;--main-bg:#1b1b1b;--sidebar-bg:#242424;--composer-bg:#242424;--control-bg:#1f2937;--control-hover:#334155;--session-active:#303030;--assistant-bubble:#1b1b1b;--user-bubble:#2563eb;--reasoning-bg:#171717;--inline-code-bg:#94a3b833;--code-bg:#0b1120;--theme-track:#fff;--theme-thumb:#fff;--avatar-bg:#312e81;--avatar-text:#e0e7ff;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border:#334155;--border-strong:#475569;--danger:#f87171;--danger-bg:#f871711f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--app-bg);min-height:100dvh}body[data-view=home]{background:#121212}#root{min-height:100dvh}a{color:inherit}*{box-sizing:border-box;letter-spacing:0}button,textarea{font:inherit}button{border:0}.home-screen{color:#fff;background:linear-gradient(135deg,#22d3ee1f,#0000 34%),linear-gradient(315deg,#14b8a624,#0000 40%),#121212;place-items:center;height:100vh;min-height:100dvh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;position:relative;overflow:hidden}.home-grid{opacity:.24;pointer-events:none;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000 68%)}.home-center{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:34px;width:min(100%,680px);padding:32px 20px;display:flex;position:relative}.orb-trigger{color:inherit;cursor:pointer;touch-action:none;background:0 0;place-items:center;padding:0;transition:transform .54s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.orb-trigger.is-dragging{cursor:grabbing;transition:none}.orb-tip{z-index:3;opacity:0;color:#1f2937;white-space:nowrap;background:#fffffff0;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:700;transition:opacity .18s,transform .18s;position:absolute;top:-58px;left:50%;transform:translate(-50%)translateY(8px)scale(.94);box-shadow:0 16px 40px #00000047}.orb-tip:after{content:"";background:#fffffff0;width:14px;height:14px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.orb-trigger:hover .orb-tip,.orb-trigger:focus-visible .orb-tip,.orb-trigger.is-welcomed .orb-tip{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.ai-orb{background:radial-gradient(circle at 35% 35%,#86efac 0%,#3b82f6 38%,#a855f7 72%,#6b21a8 100%);border:1px solid #ffffff24;border-radius:50%;width:264px;height:264px;transition:transform .5s,box-shadow .5s;display:block;position:relative;overflow:hidden;box-shadow:0 0 80px #a855f761,inset -18px -24px 48px #1b0c4c47}.orb-trigger:hover .ai-orb,.orb-trigger:focus-visible .ai-orb,.orb-trigger.is-welcomed .ai-orb{transform:scale(1.05);box-shadow:0 0 94px #22d3ee52,0 0 70px #a855f757,inset -18px -24px 48px #1b0c4c47}.orb-trigger.is-awake .ai-orb{animation:5s ease-in-out infinite orb-float}.orb-trigger.is-welcomed .ai-orb{animation:.9s cubic-bezier(.16,1,.3,1) orb-hello}.orb-trigger.is-dragging .ai-orb{transform:scale(1.08) rotate(var(--drag-tilt,0deg));animation:none}.orb-ring{opacity:0;border:1px solid #ffffff2e;border-radius:50%;transition:opacity .22s,transform .42s;position:absolute;inset:18px;transform:rotate(-18deg)scaleX(1.18)}.orb-trigger:hover .orb-ring,.orb-trigger:focus-visible .orb-ring,.orb-trigger.is-welcomed .orb-ring{opacity:1;transform:rotate(14deg)scaleX(1.24)}.orb-shine{filter:blur(2px);pointer-events:none;background:#ffffff40;border-radius:50%;display:block;position:absolute}.orb-shine-main{width:98px;height:54px;top:34px;left:42px;transform:rotate(-35deg)}.orb-shine-small{width:48px;height:48px;bottom:48px;right:48px}.orb-glance{filter:blur(8px);opacity:0;pointer-events:none;background:#fff3;border-radius:50%;width:46px;height:26px;transition:opacity .24s,transform 90ms ease-out;position:absolute;top:55px;left:70px}.orb-trigger.is-awake .orb-glance,.orb-trigger.is-welcomed .orb-glance{opacity:1}.orb-spark{z-index:3;opacity:0;pointer-events:none;background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:0 0 16px #ffffffe6}.orb-spark:before,.orb-spark:after{content:"";background:#fff;border-radius:999px;position:absolute;inset:3px -4px}.orb-spark:after{transform:rotate(90deg)}.orb-spark-one{top:42px;right:58px}.orb-spark-two{bottom:86px;right:34px;transform:scale(.75)}.orb-spark-three{bottom:52px;left:64px;transform:scale(.58)}.orb-trigger:hover .orb-spark,.orb-trigger:focus-visible .orb-spark,.orb-trigger.is-welcomed .orb-spark{animation:1.8s ease-in-out infinite spark-pop}.orb-trigger:hover .orb-spark-two,.orb-trigger:focus-visible .orb-spark-two,.orb-trigger.is-welcomed .orb-spark-two{animation-delay:.22s}.orb-trigger:hover .orb-spark-three,.orb-trigger:focus-visible .orb-spark-three,.orb-trigger.is-welcomed .orb-spark-three{animation-delay:.42s}.orb-dot{z-index:2;opacity:0;pointer-events:none;background:#ffffffc7;border-radius:50%;width:10px;height:10px;position:absolute}.orb-dot-one{transform-origin:0 106px;top:26px;left:50%}.orb-dot-two{transform-origin:-104px 0;width:7px;height:7px;top:50%;right:24px}.orb-trigger:hover .orb-dot,.orb-trigger:focus-visible .orb-dot,.orb-trigger.is-welcomed .orb-dot{opacity:.72;animation:4.4s linear infinite orbit-dot}.orb-trigger:hover .orb-dot-two,.orb-trigger:focus-visible .orb-dot-two,.orb-trigger.is-welcomed .orb-dot-two{animation-duration:5.8s;animation-direction:reverse}.orb-face{z-index:2;color:#fff;flex-direction:column;align-items:center;transition:transform .58s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;left:50%}.orb-eyes{justify-content:center;align-items:center;gap:24px;height:32px;display:flex}.orb-eye{background:#ffffffd1;border-radius:999px;width:16px;height:4px;margin-top:16px;transition:width .25s,height .25s,margin .25s;display:block}.orb-trigger.is-awake .orb-eye{background:#fff;width:18px;height:30px;margin-top:0}.orb-trigger.is-welcomed .orb-eye{width:20px;height:32px;animation:.9s cubic-bezier(.16,1,.3,1) eye-pop}.orb-trigger:not(.is-awake) .orb-eye{animation:4.8s ease-in-out infinite sleepy-blink}.orb-trigger:not(.is-awake) .orb-eye:nth-child(2){animation-delay:90ms}.orb-mouth{opacity:.72;width:24px;height:12px;margin-top:12px;transition:opacity .25s,transform .25s;transform:translateY(4px)scale(.78)}.orb-trigger.is-awake .orb-mouth{opacity:1;transform:translateY(0)scale(1)}.orb-trigger.is-welcomed .orb-mouth{opacity:1;transform:translateY(0)scale(1.18)}.home-copy h1{color:#fff;margin:0;font-size:clamp(42px,6vw,58px);font-weight:800;line-height:1.04}.home-copy h1 span{color:#0000;background:linear-gradient(90deg,#c084fc,#22d3ee);-webkit-background-clip:text;background-clip:text}.home-copy p{color:#a1a1aa;margin-top:16px;font-size:17px}.start-button{color:#fff;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;min-width:142px;height:48px;padding:2px;transition:transform .18s;display:inline-flex;position:relative;overflow:hidden}.start-button:hover{transform:scale(1.04)}.start-button:active{transform:scale(.96)}.start-button span{background:conic-gradient(from 90deg,#e2cbff 0%,#393bb2 50%,#e2cbff 100%);animation:3s linear infinite spin;position:absolute;inset:-820%}.start-button strong{z-index:1;background:#121212;border-radius:999px;justify-content:center;align-items:center;width:100%;height:100%;padding:0 28px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.chat-shell{background:var(--app-bg);height:100vh;min-height:100dvh;color:var(--text-primary);display:flex;overflow:hidden}.chat-sidebar{border-right:0 solid var(--border);background:var(--sidebar-bg);width:0;min-width:0;height:100vh;color:var(--text-primary);flex-direction:column;gap:14px;transition:width .2s,padding .2s,border-color .2s;display:flex;overflow:hidden}.chat-sidebar.is-open{border-right-width:1px;width:280px;min-width:280px;padding:20px}.sidebar-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.brand-button,.new-chat-button,.session-item,.mode-button,.attach-button,.primary-send,.icon-button,.theme-toggle,.clear-files{color:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.brand-button{gap:8px;min-width:0;padding:8px 0;font-weight:700}.brand-button span{color:#0000;background:linear-gradient(90deg,#a855f7,#0891b2);-webkit-background-clip:text;background-clip:text}.icon-button{border:1px solid var(--border);background:var(--control-bg);width:40px;height:40px;color:var(--text-secondary);border-radius:999px;transition:background .16s,color .16s}.icon-button:hover{background:var(--control-hover);color:var(--text-primary)}.new-chat-button{border:1px solid var(--border);background:var(--control-bg);border-radius:999px;gap:8px;width:100%;padding:12px 14px;font-size:14px;transition:background .16s}.new-chat-button:hover{background:var(--control-hover)}.session-search{border:1px solid var(--border);background:var(--control-bg);min-height:40px;color:var(--text-muted);border-radius:8px;grid-template-columns:18px 1fr 24px;align-items:center;gap:8px;padding:0 8px 0 11px;display:grid}.session-search input{min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.session-search input::placeholder{color:var(--text-muted)}.session-search button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.session-search button:hover{background:var(--control-hover);color:var(--text-primary)}.session-list{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.session-item{width:100%;color:var(--text-secondary);text-align:left;border-radius:8px;justify-content:space-between;gap:8px;padding:10px 10px 10px 12px;transition:background .16s,color .16s}.session-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.session-text{gap:2px;display:grid}.session-text strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.session-text small{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.session-empty{color:var(--text-muted);text-align:center;padding:12px 8px;font-size:12px}.session-item i{width:24px;height:24px;color:var(--text-muted);opacity:0;border-radius:6px;flex:0 0 24px;justify-content:center;align-items:center;transition:opacity .16s,background .16s,color .16s;display:inline-flex}.session-item:hover,.session-item.is-active{background:var(--session-active);color:var(--text-primary)}.session-item:hover i,.session-item:focus-visible i,.session-item.is-active i{opacity:1}.session-item i:hover{background:var(--danger-bg);color:var(--danger)}.chat-main{background:var(--main-bg);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;position:relative}.chat-header{z-index:8;border-bottom:1px solid var(--border);background:var(--main-bg);grid-template-columns:44px 1fr 52px;align-items:center;gap:10px;min-height:64px;padding:10px 18px;display:grid;position:sticky;top:0}.chat-header h2{min-width:0;color:var(--text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:650;line-height:1.25;overflow:hidden}.desktop-spacer{width:40px;height:40px}.theme-toggle{background:var(--theme-track);border-radius:999px;justify-self:end;width:48px;height:26px;transition:background .18s;position:relative}.theme-toggle span{background:var(--theme-thumb);color:#f59e0b;border-radius:50%;place-items:center;width:20px;height:20px;transition:transform .18s;display:grid;position:absolute;top:3px;left:3px}.theme-toggle span.is-dark{color:#0f172a;transform:translate(22px)}.message-list{flex-direction:column;flex:1;gap:18px;min-height:0;padding:26px max(18px,50vw - 460px) 170px;display:flex;overflow-y:auto}.empty-state{height:100%;color:var(--text-muted);place-content:center;place-items:center;display:grid}.empty-state span{border:1px solid var(--border);color:#0891b2;background:var(--control-bg);border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.empty-state h3{color:var(--text-primary);margin:14px 0 0;font-size:20px;font-weight:650}.message{gap:12px;width:100%;display:flex}.message.user{flex-direction:row-reverse}.message-avatar{background:var(--avatar-bg);width:34px;height:34px;color:var(--avatar-text);border-radius:50%;flex:0 0 34px;place-items:center;font-size:13px;font-weight:700;display:grid}.message.user .message-avatar{color:#fff;background:#2563eb}.message-body{flex-direction:column;align-items:flex-start;gap:8px;max-width:min(760px,78%);display:flex}.message.user .message-body{align-items:flex-end}.bubble{background:var(--assistant-bubble);max-width:100%;color:var(--text-primary);border-radius:8px;padding:12px 15px;box-shadow:0 1px #0f172a0a}.message.user .bubble{background:var(--user-bubble);color:#fff}.markdown{overflow-wrap:anywhere;white-space:normal}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre{margin:0 0 10px}.markdown ul,.markdown ol{padding-left:22px}.markdown li+li{margin-top:4px}.markdown code{background:var(--inline-code-bg);border-radius:5px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92em}.markdown pre{background:var(--code-bg);border-radius:8px;padding:12px;overflow-x:auto}.markdown pre code{color:inherit;background:0 0;padding:0}.markdown blockquote{border-left:3px solid var(--border-strong);color:var(--text-secondary);padding-left:10px}.reasoning-panel{border:1px solid var(--border);background:var(--reasoning-bg);border-radius:8px;width:min(100%,620px);overflow:hidden}.reasoning-panel>button{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.reasoning-panel>button span,.reasoning-step{align-items:center;gap:7px;display:inline-flex}.reasoning-panel svg.is-open{transform:rotate(180deg)}.reasoning-content{border-top:1px solid var(--border);color:var(--text-secondary);gap:8px;padding:10px;font-size:13px;line-height:1.55;display:grid}.reasoning-content p{white-space:pre-wrap;margin:0}.reasoning-step{color:var(--text-muted)}.message-files{flex-wrap:wrap;gap:8px;max-width:100%;display:flex}.file-preview,.file-chip{border:1px solid var(--border);background:var(--control-bg);min-width:0;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;display:inline-flex}.file-preview{max-width:260px;padding:7px 9px;font-size:13px}.file-preview img{object-fit:cover;border-radius:6px;width:34px;height:34px}.file-preview span,.file-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.composer-wrap{z-index:7;background:linear-gradient(180deg, transparent, var(--main-bg) 34%);justify-content:center;padding:0 18px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.composer{border:1px solid var(--border-strong);background:var(--composer-bg);width:min(750px,100%);color:var(--text-primary);border-radius:8px;overflow:hidden;box-shadow:0 18px 60px #0f172a1f}.file-row{align-items:center;gap:8px;padding:10px 12px 0;display:flex;overflow-x:auto}.file-chip{flex:none;max-width:230px;padding:7px 7px 7px 9px;font-size:12px}.file-chip.has-error{border-color:#f87171b3}.file-chip small{color:var(--text-muted);flex:none;font-size:11px}.file-chip button,.clear-files{width:22px;height:22px;color:var(--text-muted);border-radius:50%;flex:0 0 22px}.file-chip button:hover,.clear-files:hover{background:var(--control-hover);color:var(--danger)}.upload-note{color:var(--text-muted);padding:8px 14px 0;font-size:12px}.composer textarea{resize:none;width:100%;min-height:52px;max-height:200px;color:var(--text-primary);background:0 0;border:0;outline:0;padding:15px 16px 4px;display:block}.composer textarea::placeholder{color:var(--text-muted)}.composer-actions{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 12px;display:flex}.mode-buttons,.send-actions{align-items:center;gap:8px;display:flex}.mode-button{border:1px solid var(--border);min-height:36px;color:var(--text-secondary);background:var(--control-bg);border-radius:999px;gap:7px;padding:0 12px;font-size:12px;transition:border-color .16s,background .16s,color .16s}.mode-button:hover{background:var(--control-hover)}.mode-button:disabled{cursor:not-allowed;opacity:.52}.mode-button:disabled:hover{background:var(--control-bg)}.mode-button.is-active{color:#7e22ce;background:#a855f71f;border-color:#a855f78c}html.dark .mode-button.is-active{color:#e9d5ff}.attach-button,.primary-send{border-radius:8px;width:38px;height:38px;transition:transform .16s,background .16s,opacity .16s}.attach-button{border:1px solid var(--border);color:var(--text-secondary);background:var(--control-bg)}.attach-button:hover{background:var(--control-hover)}.primary-send{color:#fff;background:#3b82f6}.primary-send:hover:not(:disabled){transform:scale(1.05)}.primary-send:disabled{cursor:not-allowed;opacity:.5}.primary-send.is-stopping,.primary-send.is-recording{background:#f87171}.hidden-input{display:none}.typing-dots{align-items:center;gap:5px;min-width:42px;padding:4px 0;display:inline-flex}.typing-dots i{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite typing}.typing-dots i:nth-child(2){animation-delay:.12s}.typing-dots i:nth-child(3){animation-delay:.24s}.floating-sidebar-button{z-index:20;position:fixed;top:16px;left:16px}.sidebar-backdrop,.mobile-only{display:none}.spin{animation:1s linear infinite spin}@keyframes orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes orb-hello{0%{transform:translateY(0)scale(1)}34%{transform:translateY(-14px)scale(1.09)}62%{transform:translateY(4px)scale(.98)}to{transform:translateY(0)scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typing{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes sleepy-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.2)}}@keyframes eye-pop{0%,to{transform:scaleY(1)}42%{transform:scaleY(1.18)}}@keyframes spark-pop{0%,to{opacity:0;transform:translateY(8px)scale(.45)rotate(0)}22%,58%{opacity:1;transform:translateY(0)scale(1)rotate(18deg)}}@keyframes orbit-dot{to{transform:rotate(360deg)}}@media (width<=760px){.home-center{gap:28px}.ai-orb{width:226px;height:226px}.home-copy p{font-size:15px}.desktop-only,.desktop-spacer{display:none}.mobile-only{display:inline-flex}.chat-shell{display:block}.chat-sidebar,.chat-sidebar.is-open{z-index:50;border-right:1px solid var(--border);width:min(84vw,304px);min-width:0;padding:18px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-104%)}.chat-sidebar.is-mobile-open{transform:translate(0)}.sidebar-backdrop{z-index:40;pointer-events:none;opacity:0;background:#0000008a;transition:opacity .18s;display:block;position:fixed;inset:0}.sidebar-backdrop.is-open{pointer-events:auto;opacity:1}.chat-header{grid-template-columns:44px 1fr 52px;padding:10px 12px}.message-list{padding:18px 12px 176px}.message-body{max-width:calc(100% - 46px)}.composer-wrap{padding:0 10px 10px}.composer-actions{align-items:stretch}.mode-buttons{min-width:0;overflow-x:auto}.mode-button{flex:none}}
