:root{--bg-canvas:#fafafa;--bg-surface:#fff;--bg-surface-raised:#f4f4f5;--bg-surface-sunken:#f4f4f5;--border-subtle:#e4e4e7;--border-default:#d4d4d8;--text-primary:#18181b;--text-secondary:#71717a;--text-tertiary:#a1a1aa;--text-disabled:#d4d4d8;--brand-red:#e8483d;--brand-red-subtle:#e8483d14;--accent-primary:#18181b;--accent-primary-hover:#000;--accent-primary-subtle:#18181b0f;--on-accent:#fff;--positive:#16a34a;--negative:#dc2626;--neutral-metric:#a1a1aa;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--shadow-card:0 1px 2px #0000000a, 0 1px 8px #00000008}html,body{background:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0}*{box-sizing:border-box}a{color:var(--text-primary)}a:hover{color:var(--accent-primary-hover)}button,input,textarea{font-family:inherit}button{-webkit-tap-highlight-color:transparent}.composer-input::placeholder{font-size:14px}@keyframes clairDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes clairRay{0%,68%,to{opacity:.16}20%{opacity:1}}@keyframes clairCore{0%,to{opacity:.5;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}.clair-pulse path{transform-box:fill-box;transform-origin:50%;animation:2.04s linear infinite clairRay}.clair-pulse path.core{animation:2.04s ease-in-out infinite clairCore}@media (prefers-reduced-motion:reduce){.clair-pulse path{opacity:.65}*{transition:none!important;animation:none!important}}.hover-surface:hover{background:var(--bg-surface-raised)!important}.hover-accent-dark:hover{background:var(--accent-primary-hover)!important}.hover-danger:hover{background:var(--brand-red-subtle)!important}.hover-danger-solid:hover{background:#c42b26!important}.focus-ring-onwhite:focus-visible{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent-primary)}.focus-ring-oncanvas:focus-visible{box-shadow:0 0 0 2px var(--bg-canvas), 0 0 0 4px var(--accent-primary)}.focus-ring-solid:focus-visible{box-shadow:0 0 0 2px var(--accent-primary)}.input-focus-onwhite:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent-primary)}.input-focus-soft:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #fff,0 0 0 3px #18181b26}.composer-focus-within:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--bg-canvas), 0 0 0 4px var(--accent-primary)}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(90deg, var(--bg-surface-raised) 25%, var(--bg-canvas) 50%, var(--bg-surface-raised) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeletonShimmer}textarea:focus,button:focus{outline:none}.chat-kebab{opacity:0;pointer-events:none;transition:opacity .1s}.chat-row:hover .chat-kebab,.chat-row:focus-within .chat-kebab,.chat-kebab.is-open{opacity:1;pointer-events:auto}@media (max-width:767px),(hover:none){.chat-kebab{opacity:1;pointer-events:auto}}.mobile-topbar,.mobile-only,.sidebar-backdrop,.history-panel-backdrop{display:none}.chat-sidebar{flex:none;width:240px}.desktop-only{display:flex}@media (max-width:767px){.mobile-topbar,.mobile-only{display:flex}.desktop-only{display:none}.chat-sidebar{z-index:50;width:min(85vw,300px);max-width:300px;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.chat-sidebar.is-open{box-shadow:var(--shadow-card);transform:translate(0)}.history-panel{z-index:50;max-width:320px;transition:transform .22s;position:fixed;inset:0 0 0 auto;transform:translate(100%);width:min(85vw,320px)!important;padding:16px 12px 12px!important}.history-panel.is-open{box-shadow:var(--shadow-card);transform:translate(0)}.sidebar-backdrop.is-open,.history-panel-backdrop.is-open{z-index:40;background:#18181b66;animation:.15s overlayIn;display:block;position:fixed;inset:0}.suggestions-grid{grid-template-columns:1fr!important}.chat-thread-scroll{padding:20px 16px 16px!important}.composer-shell{padding:0 16px 16px!important}.empty-state-shell{padding:20px 16px!important}.empty-state-top-content{padding:20px 16px 0!important}.empty-state-greeting{font-size:22px!important;line-height:28px!important}.empty-state-heading{margin-bottom:20px!important;font-size:22px!important;line-height:28px!important}.auth-shell{padding:24px 16px!important}.user-bubble{max-width:85%!important}input,textarea{font-size:16px!important}}@keyframes clairSpin{to{transform:rotate(360deg)}}@keyframes modalIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes stepSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes blinkCursor{0%,to{opacity:1}50%{opacity:.15}}
