@keyframes aurora-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes aurora-breathe{0%,to{opacity:.5;filter:blur(8px)}50%{opacity:.8;filter:blur(12px)}}@keyframes aurora-fade-out{0%{opacity:1}to{opacity:0}}.aurora-container{position:relative;isolation:isolate}.aurora-effect{position:absolute;inset:-2px;border-radius:inherit;z-index:-1;overflow:hidden;pointer-events:none}.aurora-effect:before{content:"";position:absolute;inset:-50%;background:linear-gradient(135deg,#60a5fa,#a78bfa 50%,#2dd4bf);background:conic-gradient(from 0deg,#60a5fa,#a78bfa,#2dd4bf,#60a5fa);animation:aurora-rotate 3s linear infinite,aurora-breathe 2s ease-in-out infinite;will-change:transform,opacity,filter}.aurora-effect:after{content:"";position:absolute;inset:2px;background:#171717;border-radius:inherit}.aurora-effect.aurora-fading{animation:aurora-fade-out 2s ease-out forwards}.aurora-glow{box-shadow:0 0 20px rgba(96,165,250,.3),0 0 40px rgba(167,139,250,.2),0 0 60px rgba(45,212,191,.1);transition:box-shadow .3s ease-out}.aurora-glow.aurora-fading{box-shadow:0 0 0 rgba(96,165,250,0),0 0 0 rgba(167,139,250,0),0 0 0 rgba(45,212,191,0)}:root{--micro-instant:100ms;--micro-fast:150ms;--micro-normal:200ms;--micro-slow:300ms;--ease-out-smooth:cubic-bezier(0.33,1,0.68,1);--ease-in-smooth:cubic-bezier(0.32,0,0.67,0);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275);--duration-exit:150ms;--duration-enter:210ms;--duration-move:400ms}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}.chat-bubble-ripple{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.4) 0,transparent 70%);animation:ripple .6s var(--ease-out-smooth)}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.15);opacity:.2}}.chat-bubble-pulse{animation:pulse-ring 2s var(--ease-out-smooth) infinite;will-change:transform,opacity}.chat-bubble-magnetic{transition:transform var(--micro-normal) var(--ease-out-smooth);will-change:transform}.chat-bubble-magnetic:hover{transform:scale(1.08)}.chat-bubble-magnetic:active{transform:scale(.95);transition-duration:var(--micro-instant)}@keyframes fade{0%{filter:blur(3px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes slide{0%{translate:var(--slide-offset)}to{translate:0}}@keyframes slide-y{0%{transform:translateY(var(--slide-y-offset,10px))}to{transform:translateY(0)}}@keyframes scale-down{0%{transform:scale(1);opacity:1}to{transform:scale(.92);opacity:0}}@keyframes scale-up{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}::view-transition-old(.fade-out){animation:var(--duration-exit) ease-in fade reverse}::view-transition-new(.fade-in){animation:var(--duration-enter) ease-out var(--duration-exit) both fade}::view-transition-old(.slide-down){animation:var(--duration-exit) ease-out both fade reverse,var(--duration-exit) ease-out both slide-y reverse}::view-transition-new(.slide-up){animation:var(--duration-enter) ease-in var(--duration-exit) both fade,var(--duration-move) ease-in both slide-y}::view-transition-old(.nav-forward){--slide-offset:-60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-forward){--slide-offset:60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.nav-back){--slide-offset:60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-back){--slide-offset:-60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-group(.morph){animation-duration:var(--duration-move)}::view-transition-image-pair(.morph){animation-name:via-blur}@keyframes via-blur{30%{filter:blur(3px)}}::view-transition-group(.text-morph){animation-duration:var(--duration-move)}::view-transition-old(.text-morph){display:none}::view-transition-new(.text-morph){animation:none;-o-object-fit:none;object-fit:none;-o-object-position:left top;object-position:left top}::view-transition-old(.scale-out){animation:var(--duration-exit) ease-in scale-down}::view-transition-new(.scale-in){animation:var(--duration-enter) ease-out var(--duration-exit) both scale-up}::view-transition-group(persistent-nav){animation:none;z-index:100}.chat-panel-surface{background:radial-gradient(circle at top right,rgba(37,99,235,.08),transparent 26%),radial-gradient(circle at 20% 20%,rgba(234,179,8,.05),transparent 28%),linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.98))}.chat-message-shell{backdrop-filter:blur(16px)}@keyframes send-slide{0%{transform:translate(0);opacity:1}50%{transform:translate(4px,-4px);opacity:.6}to{transform:translate(0);opacity:1}}.send-button-icon{transition:transform var(--micro-fast) var(--ease-out-smooth);will-change:transform}.send-button:hover .send-button-icon{animation:send-slide .4s var(--ease-out-smooth)}.send-button:active .send-button-icon{transform:scale(.9)}@keyframes glow-pulse{0%,to{box-shadow:0 4px 12px rgba(99,102,241,.3)}50%{box-shadow:0 6px 20px rgba(99,102,241,.5)}}.send-button-enabled{animation:glow-pulse 2s var(--ease-out-smooth) infinite}.prompt-card{transition:transform var(--micro-normal) var(--ease-out-smooth),box-shadow var(--micro-normal) var(--ease-out-smooth),border-color var(--micro-normal) var(--ease-out-smooth);will-change:transform,box-shadow}.prompt-card:hover{transform:translateY(-2px)}.prompt-card:active{transform:translateY(0) scale(.98);transition-duration:var(--micro-instant)}@keyframes arrow-slide-in{0%{transform:translateX(-8px);opacity:0}to{transform:translateX(0);opacity:1}}.prompt-card:hover .prompt-arrow{animation:arrow-slide-in var(--micro-fast) var(--ease-out-smooth) forwards}.prompt-card:hover .prompt-icon{animation:icon-bounce .5s var(--ease-bounce)}@keyframes icon-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes focus-ring{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.chat-input-focused{animation:focus-ring var(--micro-fast) var(--ease-out-smooth)}.chat-input::-moz-placeholder{-moz-transition:opacity var(--micro-normal) var(--ease-out-smooth);transition:opacity var(--micro-normal) var(--ease-out-smooth)}.chat-input::placeholder{transition:opacity var(--micro-normal) var(--ease-out-smooth)}.chat-input:focus::-moz-placeholder{opacity:.4}.chat-input:focus::placeholder{opacity:.4}@keyframes ai-indicator-glow{0%,to{background:rgba(99,102,241,.1)}50%{background:rgba(99,102,241,.2)}}.ai-indicator-focused{animation:ai-indicator-glow 2s var(--ease-out-smooth) infinite}@keyframes message-enter{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-enter{animation:message-enter var(--micro-slow) var(--ease-out-smooth)}@keyframes message-enter-user{0%{opacity:0;transform:translateX(12px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.message-enter-user{animation:message-enter-user var(--micro-slow) var(--ease-out-smooth)}@keyframes avatar-scale{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.message-avatar{animation:avatar-scale var(--micro-normal) var(--ease-spring);animation-delay:.1s;animation-fill-mode:backwards}@keyframes check-scale{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.copy-success{animation:check-scale var(--micro-normal) var(--ease-bounce)}@keyframes success-flash{0%{background:rgba(30,30,30,.9)}50%{background:rgba(34,197,94,.3)}to{background:rgba(30,30,30,.9)}}.copy-button-success{animation:success-flash .4s var(--ease-out-smooth)}@keyframes dot-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.typing-dot{animation:dot-bounce 1.4s var(--ease-out-smooth) infinite}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes prompt-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.prompt-list-item{animation:prompt-fade-in var(--micro-slow) var(--ease-out-smooth) backwards}.prompt-list-item:first-child{animation-delay:0s}.prompt-list-item:nth-child(2){animation-delay:80ms}.prompt-list-item:nth-child(3){animation-delay:.16s}.prompt-list-item:nth-child(4){animation-delay:.24s}@keyframes panel-slide-in{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.panel-enter{animation:panel-slide-in var(--micro-slow) var(--ease-out-smooth)}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.backdrop-enter{animation:backdrop-fade var(--micro-normal) ease-out}.transition-colors{transition:color var(--micro-fast) var(--ease-out-smooth),background-color var(--micro-fast) var(--ease-out-smooth),border-color var(--micro-fast) var(--ease-out-smooth)}.transition-transform{transition:transform var(--micro-normal) var(--ease-out-smooth);will-change:transform}.transition-opacity{transition:opacity var(--micro-normal) var(--ease-out-smooth)}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-shimmer{background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.15) 50%,rgba(255,255,255,.05));background-size:200% 100%;animation:shimmer 2s linear infinite}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton-loading{animation:skeleton-pulse 2s var(--ease-out-smooth) infinite}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.error-shake{animation:shake .3s var(--ease-out-smooth)}@keyframes error-glow{0%,to{box-shadow:0 0 0 rgba(220,38,38,0)}50%{box-shadow:0 0 12px rgba(220,38,38,.5)}}.error-glow{animation:error-glow 1s var(--ease-out-smooth) 2}