@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gradientMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse-slow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-pulse-slow{animation:pulse-slow 4s cubic-bezier(.4,0,.6,1) infinite}.pattern-grid-lg{background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(180deg,rgba(255,255,255,.05) 1px,transparent 0);background-size:20px 20px;background-position:50%}.financial-page-bg{background-size:400% 400%;animation:gradientMove 15s ease infinite}.float-animation{animation:float 6s ease-in-out infinite}.animate-spin-slow{animation:spin-slow 20s linear infinite}.sparkle{width:10px;height:10px;background:white;box-shadow:0 0 10px 2px rgba(255,255,255,.8);animation:sparkle 2s ease-in-out infinite}.glow-text{text-shadow:0 0 10px rgba(100,116,255,.5),0 0 20px rgba(100,116,255,.3)}.glow-box{box-shadow:0 0 15px rgba(74,109,255,.4);transition:box-shadow .3s ease}.glow-box:hover{box-shadow:0 0 25px rgba(74,109,255,.6),0 0 40px rgba(74,109,255,.3)}.glass-effect{border:1px solid rgba(255,255,255,.1)}.dark .glass-effect{background:rgba(20,20,40,.3);border:1px solid rgba(255,255,255,.05)}.bg-dots{background-image:radial-gradient(circle,#4a6dff25 1px,transparent 0);background-size:30px 30px}.bg-lines{background-image:linear-gradient(90deg,#4a6dff10 1px,transparent 0),linear-gradient(180deg,#4a6dff10 1px,transparent 0);background-size:50px 50px}.enhanced-transition{transition:all .5s cubic-bezier(.175,.885,.32,1.275)}@media (prefers-reduced-motion:reduce){.animate-pulse-slow,.animate-spin-slow,.financial-page-bg,.float-animation,.sparkle{animation:none!important;transform:none!important}}.wave-pattern{background-image:url("data:image/svg+xml,%3Csvg width='100' height='20' viewBox='0 0 100 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.184 20c.357-.13.72-.264.888-.14 1.24.19 1.64.39 1.85.39h1.87c.16-.392.37-.782.57-.792h2.02c.765 0 1.322.88 1.872 1.08 2.518.2 4.375.791 5.76.693 1.386-.357 1.983-.692 1.983-.692l.744.443c2.42 1.535 3.806.52 5.682.371.924-.148 2.066-.257 2.898-.38V0H0v20h21.184z' fill='%233b82f6' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");animation:wave-move 20s linear infinite}@keyframes wave-move{0%{background-position:0 0}to{background-position:1000px 0}}.float-animation{animation:enhanced-float 6s ease-in-out infinite}@keyframes enhanced-float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.enhanced-glow{filter:drop-shadow(0 0 15px rgba(74,109,255,.4));transition:filter .3s ease-in-out}.enhanced-glow-hover:hover{filter:drop-shadow(0 0 20px rgba(74,109,255,.6))}.button-glow{filter:drop-shadow(0 0 10px rgba(74,109,255,.5));transition:filter .3s ease}.button-glow:hover{filter:drop-shadow(0 0 25px rgba(74,109,255,.8))}.icon-glow{transition:all .3s ease}.icon-glow:hover{filter:brightness(1.2) drop-shadow(0 0 5px currentColor);transform:scale(1.1)}.sparkle{position:absolute;border-radius:50%;pointer-events:none;z-index:1}.sparkle-sm{width:4px;height:4px;background:white;box-shadow:0 0 10px 2px rgba(255,255,255,.8);animation:sparkle 4s ease-in-out infinite}.sparkle-md{width:6px;height:6px;background:white;box-shadow:0 0 15px 3px rgba(255,255,255,.8);animation:sparkle 5s ease-in-out infinite}.sparkle-lg{width:8px;height:8px;background:white;box-shadow:0 0 20px 4px rgba(255,255,255,.8);animation:sparkle 6s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.bg-dots{background-image:radial-gradient(rgba(74,109,255,.1) 1px,transparent 0);background-size:20px 20px}.glass-effect{position:relative;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease-out}.glass-effect:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.1) 50%,transparent 55%);pointer-events:none;z-index:-1;opacity:0;transition:opacity .3s ease}.glass-effect:hover:before{opacity:1;animation:glass-shimmer 2s infinite}@keyframes glass-shimmer{0%{background-position:-100% -100%}to{background-position:200% 200%}}.financial-page-bg:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(76,128,241,.1) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(138,43,226,.1) 0,transparent 50%);z-index:-1}.enhanced-transition{transition:all .3s cubic-bezier(.25,.46,.45,.94)}@media (max-width:768px){.float-animation{animation-duration:4s}.sparkle{display:none}}@media (prefers-reduced-motion:reduce){.enhanced-transition,.financial-page-bg:before,.float-animation,.sparkle,.wave-pattern{animation:none!important;transition:none!important}}.chat-message-user{color:white!important;font-weight:600!important;text-shadow:0 1px 2px rgba(0,0,0,.4)!important;border:2px solid rgba(255,255,255,.1)!important;background-color:#4866fe!important}.chat-message-assistant{color:#000000!important;font-weight:600!important;border:2px solid rgba(0,0,0,.1)!important;background-color:rgba(255,255,255,.95)!important}.dark .chat-message-assistant{color:#ffffff!important;background-color:rgba(30,41,59,.95)!important;border:2px solid rgba(255,255,255,.1)!important}.market-data-item{text-shadow:0 0 1px rgba(0,0,0,.1)}.dark .market-data-item{text-shadow:0 0 1px rgba(255,255,255,.1)}.chat-message{padding:16px!important;border-radius:12px!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;margin-bottom:16px!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:90%!important}.dark .chat-message{background-color:rgba(15,23,42,.9);box-shadow:0 2px 8px rgba(0,0,0,.3)}.chat-message-content{line-height:1.6!important;font-size:1rem!important}.symbol,.ticker{font-weight:600}table{width:100%;border-collapse:collapse;margin:12px 0}td,th{padding:8px 12px;border:1px solid #e2e8f0;text-align:left}.dark td,.dark th{border-color:#334155}th{background-color:#f8fafc;font-weight:600}.dark th{background-color:#1e293b}.send-button{position:relative;overflow:hidden;font-weight:600!important}.send-button:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;z-index:-1;background:linear-gradient(45deg,#4866fe,#1a45ff);border-radius:.5rem}@media (max-width:640px){.send-button{min-width:60px!important;padding:.5rem!important;font-size:.95rem!important}}@media (forced-colors:active){.send-button{border:2px solid!important}}@media (max-width:1023px){.market-data-container{overflow-x:auto}.market-data-table{min-width:650px}.market-data-filters{flex-wrap:wrap;justify-content:space-between;gap:8px}.sort-button{padding:4px 8px;font-size:.8rem}}@media (max-width:767px){.chat-message{max-width:95%!important;padding:12px!important}.chat-input-container{padding:8px!important}.chat-input{font-size:.9rem!important}.send-button{min-width:40px!important;padding:8px!important}.market-card{margin-bottom:12px!important}.market-card,.news-item{padding:12px!important}.stock-info-grid{grid-template-columns:1fr!important}h1{font-size:1.75rem!important}h2{font-size:1.4rem!important}.preference-toggle{width:100%;margin-bottom:8px}.canvas-container{opacity:.5}}@media (max-width:480px){.financial-tabs{gap:2px!important}.financial-tab{padding:6px 10px!important;font-size:.8rem!important}.market-metrics{flex-direction:column!important;align-items:flex-start!important}.metric-item{width:100%!important;margin-bottom:8px!important}.chart-container{height:200px!important}.chart-controls{flex-wrap:wrap!important}.decorative-element{display:none!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:8px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.dark ::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}.dark ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2)}.dark ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.market-card{display:flex;flex-direction:column}.market-card table{table-layout:fixed}.chat-message{border-radius:12px;overflow-wrap:break-word;word-break:break-word}.chat-message-assistant{border-top-left-radius:0;margin-right:24px}.chat-message-user{border-top-right-radius:0;margin-left:24px;color:white}.glow-text{text-shadow:0 0 30px rgba(65,105,225,.3)}.volatility-chart-container{display:flex;flex-direction:column;align-items:center}.chart-container canvas+div,.chart-instructions,.volatility-chart-label{text-align:center!important;width:100%!important}.chart-instructions{font-size:.8rem;color:rgba(100,116,139,.8);margin-top:.5rem}.checkbox-container{flex-wrap:wrap;gap:.5rem}.chart-wrapper,.checkbox-container{display:flex;justify-content:center}.chart-wrapper{width:100%}.checkbox-container label{white-space:nowrap}@media (max-width:640px){.checkbox-container{flex-direction:column;align-items:center}}.financial-assistant-layout [tabindex]:focus,.financial-assistant-layout button:focus,.financial-assistant-layout input:focus,.financial-assistant-layout textarea:focus{scroll-margin:0!important}.financial-assistant-layout{overflow-anchor:none!important}.financial-assistant-layout *{scroll-behavior:auto!important}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-in-out}.news-card-optimized{will-change:auto;transform:translateZ(0)}.chart-carousel{overscroll-behavior-x:contain;scroll-snap-type:x mandatory}.chart-carousel-item{scroll-snap-align:start;flex-shrink:0}.skeleton-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.volatility-chart-optimized{contain:layout style paint;transform:translateZ(0)}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.mobile-optimized{touch-action:pan-x pan-y;overscroll-behavior:contain}.chart-mobile{min-height:300px;max-height:400px}.news-mobile{padding:12px;margin-bottom:12px}}@media (prefers-reduced-motion:reduce){.animate-fade-in,.smooth-transition{animation:none;transition:none}.skeleton-pulse{animation:none}}