html,body,#root{height:100%}body{background:#05060a;color:#e5e7eb;font-family:Inter,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.bg-grid{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;background-position:-1px -1px}.bg-radial-fade{background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(139,92,246,.22),transparent 60%),radial-gradient(ellipse 50% 50% at 80% 10%,rgba(34,211,238,.14),transparent 60%),radial-gradient(ellipse 60% 60% at 10% 30%,rgba(99,102,241,.1),transparent 60%)}.aurora{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.aurora:before,.aurora:after{content:"";position:absolute;border-radius:9999px;filter:blur(80px);opacity:.55}.aurora:before{width:520px;height:520px;left:-120px;top:-120px;background:radial-gradient(circle,rgba(139,92,246,.6),transparent 60%);animation:float1 14s ease-in-out infinite}.aurora:after{width:460px;height:460px;right:-80px;top:40px;background:radial-gradient(circle,rgba(34,211,238,.45),transparent 60%);animation:float2 16s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0)}50%{transform:translate(40px,30px)}}@keyframes float2{0%,to{transform:translate(0)}50%{transform:translate(-30px,20px)}}.glass{background:linear-gradient(180deg,#ffffff0a,#ffffff04);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.glass-hover{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.glass-hover:hover{transform:translateY(-2px);border-color:#8b5cf659;box-shadow:0 0 30px -10px #8b5cf673}.text-gradient{background:linear-gradient(90deg,#c4b5fd,#a78bfa 35%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.text-gradient-2{background:linear-gradient(90deg,#f472b6,#a78bfa,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.border-glow{position:relative}.border-glow:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#8b5cf68c,#22d3ee59,#f472b659);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.btn-primary{background:linear-gradient(135deg,#8b5cf6,#6366f1,#22d3ee);color:#0a0c14;font-weight:600;border-radius:12px;padding:.7rem 1.2rem;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;box-shadow:0 10px 30px -10px #8b5cf699}.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 36px -10px #8b5cf6bf}.btn-primary:active{transform:translateY(0)}.btn-ghost{border:1px solid rgba(255,255,255,.1);background:#ffffff05;color:#e5e7eb;border-radius:12px;padding:.65rem 1.15rem;transition:all .18s ease}.btn-ghost:hover{background:#ffffff0f;border-color:#ffffff2e}.input{width:100%;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:#e5e7eb;border-radius:10px;padding:.7rem .85rem;font-size:.92rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input::placeholder{color:#e5e7eb59}.input:focus{outline:none;border-color:#8b5cf68c;box-shadow:0 0 0 4px #8b5cf61f;background:#ffffff0b}select.input{color-scheme:dark}select.input option{background:#11151f;color:#e5e7eb}.label{display:block;font-size:.78rem;color:#e5e7eba6;margin-bottom:.4rem;font-weight:500;letter-spacing:.01em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0a0c14}::-webkit-scrollbar-thumb{background:#1f2638;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#2a324a}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1);will-change:opacity,transform}.reveal.in{opacity:1;transform:translateY(0)}.pulse-dot{position:relative}.pulse-dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 #34d3998c;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #34d3998c}70%{box-shadow:0 0 0 12px #34d39900}to{box-shadow:0 0 #34d39900}}.marquee-track{animation:marquee 28s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dot-flash{animation:flash 1.4s infinite both}.dot-flash:nth-child(2){animation-delay:.2s}.dot-flash:nth-child(3){animation-delay:.4s}@keyframes flash{0%,80%,to{opacity:.2;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 37%,#ffffff0d 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:8px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.recharts-cartesian-axis-tick text{fill:#e5e7eb8c;font-size:11px}.recharts-tooltip-wrapper{outline:none!important}.recharts-default-tooltip{background:#0a0c14eb!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;color:#e5e7eb!important;box-shadow:0 10px 30px #0006}.recharts-legend-item-text{color:#e5e7ebbf!important;font-size:12px}.ai-thinking{background:radial-gradient(ellipse at center,rgba(139,92,246,.2),transparent 60%)}::selection{background:#8b5cf659;color:#fff}.mobile-menu-enter{opacity:0;transform:translateY(-8px)}.mobile-menu-enter-active{opacity:1;transform:translateY(0);transition:all .2s ease}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#05060a;z-index:9999}@keyframes scroll-hint{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(7px);opacity:1}}.scroll-hint{animation:scroll-hint 1.9s ease-in-out infinite}.text-shadow-deep{text-shadow:0 2px 12px rgba(0,0,0,.85),0 8px 40px rgba(0,0,0,.55),0 0 80px rgba(0,0,0,.4)}.text-shadow-cyan{text-shadow:0 2px 12px rgba(0,0,0,.85),0 0 30px rgba(34,211,238,.45),0 0 80px rgba(34,211,238,.25)}.text-shadow-soft{text-shadow:0 2px 18px rgba(0,0,0,.7),0 0 50px rgba(0,0,0,.45)}.text-gradient-bright{background:linear-gradient(90deg,#fff,#c4b5fd 35%,#a78bfa 60%,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.caption-card{position:relative;padding:1.5rem 1.75rem 1.6rem;border-radius:22px;background:linear-gradient(180deg,#080a10c7,#080a10a6);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 30px 80px -20px #000000b3,0 0 0 1px #ffffff05 inset}@media(min-width:640px){.caption-card{padding:2rem 2.25rem 2.1rem;border-radius:26px}}.caption-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#a78bfa73,#22d3ee40 60%,#f472b640);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}.caption-card-cyan:before{background:linear-gradient(135deg,#22d3ee8c,#a78bfa40)}.caption-card-violet:before{background:linear-gradient(135deg,#a78bfa8c,#22d3ee4d,#f472b659)}.caption-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .7rem;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#e5e7ebd9}
