:root{--glass-blur:16px;--glass-blur-strong:24px;--glass-bg:#ffffff0f;--glass-bg-strong:#ffffff1a;--glass-border:#ffffff14;--glass-border-strong:#ffffff24;--gradient-mesh-1:#1e1820;--gradient-mesh-2:#201a24;--gradient-mesh-3:#1a161e;--gradient-mesh-4:#1c1822;--gradient-mesh-5:#201c26}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0;position:relative;overflow:hidden}body:after{content:"";pointer-events:none;z-index:0;opacity:.5;background:radial-gradient(ellipse 60% 50% at 20% 30%, var(--gradient-mesh-1) 0%, transparent 70%), radial-gradient(ellipse 50% 60% at 80% 20%, var(--gradient-mesh-2) 0%, transparent 65%), radial-gradient(ellipse 55% 45% at 50% 80%, var(--gradient-mesh-3) 0%, transparent 60%), radial-gradient(ellipse 45% 55% at 70% 60%, var(--gradient-mesh-4) 0%, transparent 55%), radial-gradient(ellipse 50% 50% at 30% 70%, var(--gradient-mesh-5) 0%, transparent 60%);width:200%;height:200%;animation:20s ease-in-out infinite alternate meshDrift;position:fixed;inset:-50%}@keyframes meshDrift{0%{transform:translate(0%)rotate(0)scale(1)}25%{transform:translate(2%,-1.5%)rotate(.5deg)scale(1.02)}50%{transform:translate(-1%,2%)rotate(-.3deg)scale(1.01)}75%{transform:translate(1.5%,.5%)rotate(.2deg)scale(1.03)}to{transform:translate(-.5%,-1%)rotate(-.5deg)scale(1)}}body:before{content:"";pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}#root{z-index:1;position:relative}::selection{background-color:var(--color-accent);color:var(--color-bg-primary)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.glass-strong{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--glass-border-strong)}::-webkit-scrollbar{width:0;height:0}*{scrollbar-width:none}.health-icon-pulse{animation:3s ease-in-out infinite gentle-pulse}@keyframes gentle-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.health-starter-card{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.health-starter-card:hover{box-shadow:var(--shadow-glow), var(--shadow-md);transform:translateY(-2px);background-color:var(--color-bg-secondary)!important;border-color:var(--color-accent)!important}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes orbFloat1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(12px,-18px)scale(1.05)}66%{transform:translate(-8px,10px)scale(.97)}}@keyframes orbFloat2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-15px,12px)scale(.96)}66%{transform:translate(10px,-14px)scale(1.04)}}@keyframes orbFloat3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(8px,-20px)scale(1.06)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 2px var(--color-accent-glow), 0 0 12px var(--color-accent-glow)}50%{box-shadow:0 0 0 3px var(--color-accent-glow), 0 0 20px var(--color-accent-glow)}}.gradient-line-top{position:relative}.gradient-line-top:before{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);opacity:.5;height:2px;position:absolute;top:0;left:0;right:0}.gradient-line-bottom{position:relative}.gradient-line-bottom:after{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);opacity:.3;height:1px;position:absolute;bottom:0;left:0;right:0}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes skeletonShimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-shimmer{background:linear-gradient(90deg, var(--color-bg-primary) 0%, var(--color-bg-secondary) 30%, var(--color-bg-surface) 50%, var(--color-bg-secondary) 70%, var(--color-bg-primary) 100%);background-size:800px 100%;animation:1.8s ease-in-out infinite skeletonShimmer}@media (prefers-reduced-motion:reduce){body:after,.health-icon-pulse{animation:none!important}.health-starter-card{transition:none!important}.skeleton-shimmer{animation:none!important}}@keyframes messageBubbleEnter{0%{opacity:0;transform:translateY(20px)scale(.96)}60%{opacity:1;transform:translateY(-3px)scale(1.01)}80%{transform:translateY(1px)scale(.998)}to{opacity:1;transform:translateY(0)scale(1)}}.message-bubble{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s ease-out,background-color .2s ease-out;animation:.5s cubic-bezier(.34,1.56,.64,1) both messageBubbleEnter}.message-bubble-enter{animation:.5s cubic-bezier(.34,1.56,.64,1) both messageBubbleEnter}.message-bubble:hover{box-shadow:var(--shadow-md), 0 0 16px var(--color-accent-glow);transform:translateY(-2px)scale(1.005)}.message-bubble--user:before,.message-bubble--assistant:before{content:"";border-radius:inherit;pointer-events:none;opacity:.5;z-index:0;position:absolute;inset:0}.message-bubble--user:before{background:linear-gradient(135deg, transparent 0%, color-mix(in srgb, var(--color-accent) 8%, transparent) 100%)}.message-bubble--assistant:before{background:linear-gradient(135deg, transparent 0%, color-mix(in srgb, var(--color-accent) 6%, transparent) 100%)}.message-bubble>*{z-index:1;position:relative}.message-bubble--user:hover{box-shadow:var(--shadow-md), 0 0 16px color-mix(in srgb, var(--color-accent) 15%, transparent)}.message-bubble--assistant:hover{box-shadow:var(--shadow-md), 0 0 16px color-mix(in srgb, var(--color-accent) 12%, transparent)}.send-button{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease-out,background-color .2s ease-out;position:relative;overflow:hidden}.send-button:before{content:"";border-radius:inherit;border:2px solid var(--color-accent);opacity:0;background:0 0;transition:opacity .2s ease-out;animation:none;position:absolute;inset:-3px}.send-button:not(:disabled):hover{box-shadow:var(--shadow-glow), 0 4px 16px var(--color-accent-glow);transform:scale(1.08)}.send-button:not(:disabled):hover:before{opacity:.5;animation:1.5s ease-out infinite sendPulseRing}@keyframes sendPulseRing{0%{opacity:.5;inset:-3px}to{opacity:0;inset:-10px}}.send-button:not(:disabled):active{transform:scale(.94)}.send-button:after{content:"";border-radius:inherit;opacity:0;background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);transition:none;position:absolute;inset:0;transform:scale(0)}.send-button:not(:disabled):active:after{opacity:1;transition:transform .4s ease-out,opacity .4s ease-out;transform:scale(2)}.sidebar-item{transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.sidebar-item:before{content:"";background:var(--color-accent);opacity:0;width:3px;box-shadow:0 0 8px var(--color-accent-glow);border-radius:0 3px 3px 0;transition:opacity .25s ease-out;position:absolute;top:20%;bottom:20%;left:0}.sidebar-item:hover{background:var(--glass-bg)!important}.sidebar-item:hover:before{opacity:.7}.sidebar-item--active:before{box-shadow:0 0 12px var(--color-accent-glow), 0 0 4px var(--color-accent);opacity:1!important}.sidebar-item--active{box-shadow:var(--shadow-glow)}@keyframes typingWave{0%,to{opacity:.4;transform:translateY(0)}25%{opacity:1;transform:translateY(-8px)}50%{opacity:.7;transform:translateY(0)}75%{opacity:.5;transform:translateY(3px)}}.typing-dot{animation:1.6s ease-in-out infinite typingWave}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingTextShimmer{0%{background-position:-100%}to{background-position:200%}}.typing-text-shimmer{background:linear-gradient(90deg, var(--color-text-muted) 0%, var(--color-accent) 50%, var(--color-text-muted) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2.5s linear infinite typingTextShimmer}@keyframes cascadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cascade-sidebar{animation:.4s cubic-bezier(.4,0,.2,1) both cascadeIn}.cascade-header{animation:.4s cubic-bezier(.4,0,.2,1) .1s both cascadeIn}.cascade-content{animation:.4s cubic-bezier(.4,0,.2,1) .2s both cascadeIn}.cascade-input{animation:.4s cubic-bezier(.4,0,.2,1) .3s both cascadeIn}.theme-toggle{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .2s ease-out,background-color .2s ease-out,border-color .2s ease-out}.theme-toggle:hover{box-shadow:0 0 14px var(--color-accent-glow);border-color:var(--color-accent)!important}.theme-toggle:active{transform:rotate(180deg)scale(.9)}.new-conversation-btn{transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.new-conversation-btn:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff14 50%,#0000 100%);width:100%;height:100%;transition:none;position:absolute;top:0;left:-100%}.new-conversation-btn:hover{box-shadow:var(--shadow-glow);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover))!important;color:#fff!important;border-color:#0000!important}.new-conversation-btn:hover:after{animation:.8s ease-out btnShimmer}@keyframes btnShimmer{0%{left:-100%}to{left:100%}}.starter-card{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.starter-card:hover{box-shadow:var(--shadow-glow), var(--shadow-md);transform:translateY(-3px);border-color:var(--color-accent)!important}.gradient-text{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes orbBorderRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glowing-orb{border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.glowing-orb:before{content:"";background:conic-gradient(from 0deg, var(--color-accent), var(--color-accent-hover), transparent, var(--color-accent));opacity:.6;border-radius:50%;animation:4s linear infinite orbBorderRotate;position:absolute;inset:-3px}.glowing-orb:after{content:"";background:var(--color-bg-surface);z-index:1;border-radius:50%;position:absolute;inset:0}.input-glow:focus{animation:2s ease-in-out infinite glowPulse;border-color:var(--color-accent)!important}.floating-orb{pointer-events:none;filter:blur(40px);opacity:.15;border-radius:50%;position:absolute}.floating-orb--1{background:var(--color-accent);width:120px;height:120px;animation:12s ease-in-out infinite orbFloat1;top:15%;right:10%}.floating-orb--2{background:var(--color-accent-hover);width:80px;height:80px;animation:15s ease-in-out infinite orbFloat2;bottom:25%;left:8%}.floating-orb--3{background:var(--color-accent);width:60px;height:60px;animation:10s ease-in-out infinite orbFloat3;top:55%;right:25%}.empty-state-icon{animation:.5s cubic-bezier(.34,1.56,.64,1) both scaleIn}.empty-state-title{animation:.5s cubic-bezier(.4,0,.2,1) .1s both slideUp}.empty-state-subtitle{animation:.5s cubic-bezier(.4,0,.2,1) .2s both slideUp}.empty-state-cards{animation:.5s cubic-bezier(.4,0,.2,1) .35s both slideUp}@keyframes voiceRecordPulse{0%{box-shadow:0 0 #e0525266}70%{box-shadow:0 0 0 10px #e0525200}to{box-shadow:0 0 #e0525200}}.voice-btn-recording{animation:1.5s ease-out infinite voiceRecordPulse}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-slow{animation:1.2s linear infinite spinSlow}@media (prefers-reduced-motion:reduce){.message-bubble,.message-bubble-enter{opacity:1!important;animation:none!important;transform:none!important}.message-bubble:hover{transform:none!important}.send-button{transition:none!important}.send-button:not(:disabled):hover{transform:none!important}.send-button:before,.send-button:after{animation:none!important;display:none!important}.sidebar-item{transition:background-color!important}.sidebar-item:before{transition:none!important}.typing-dot{opacity:.6!important;animation:none!important}.typing-text-shimmer{-webkit-text-fill-color:var(--color-text-muted)!important;background:0 0!important;animation:none!important}.cascade-sidebar,.cascade-header,.cascade-content,.cascade-input{opacity:1!important;animation:none!important}.theme-toggle{transition:none!important}.theme-toggle:active{transform:none!important}.new-conversation-btn{transition:none!important}.new-conversation-btn:after{animation:none!important;display:none!important}.starter-card{transition:none!important}.starter-card:hover{transform:none!important}.glowing-orb:before,.floating-orb{animation:none!important}.empty-state-icon,.empty-state-title,.empty-state-subtitle,.empty-state-cards{opacity:1!important;animation:none!important}.input-glow:focus,.voice-btn-recording,.spin-slow{animation:none!important}}
