:root,:root.dark,.dark,html.dark,body.dark{--primary:20 95% 55%;--primary-foreground:220 20% 98%;--ring:20 95% 55%;--accent:20 95% 55%;--accent-foreground:220 20% 98%;--sidebar-primary:20 95% 55%;--sidebar-ring:20 95% 55%}.lovable-theme,.lovable-theme.dark{--background:240 15% 5%;--surface:240 12% 8%;--foreground:220 20% 92%;--card:240 12% 8%;--card-foreground:220 20% 92%;--popover:240 12% 8%;--popover-foreground:220 20% 92%;--primary:20 95% 55%;--primary-foreground:220 20% 98%;--secondary:240 10% 12%;--secondary-foreground:220 20% 92%;--muted:240 10% 11%;--muted-foreground:220 10% 55%;--accent:20 95% 55%;--accent-foreground:220 20% 98%;--destructive:0 75% 60%;--destructive-foreground:220 20% 98%;--border:20 15% 16%;--input:20 15% 16%;--ring:20 95% 55%;--positive:150 70% 55%;--negative:0 75% 60%;--chart-1:20 95% 55%;--chart-2:150 70% 55%;--chart-3:0 75% 60%;--chart-4:220 10% 55%;--chart-5:220 20% 92%;--sidebar-primary:20 95% 55%;--sidebar-ring:20 95% 55%;--sidebar-accent:20 95% 55%;--sidebar-background:240 12% 7%;--radius:.5rem;color-scheme:dark}.lovable-theme.light{--background:40 30% 98%;--surface:40 25% 95%;--foreground:240 15% 10%;--card:0 0% 100%;--card-foreground:240 15% 10%;--popover:0 0% 100%;--popover-foreground:240 15% 10%;--primary:20 95% 50%;--primary-foreground:0 0% 100%;--secondary:40 20% 92%;--secondary-foreground:240 15% 10%;--muted:40 20% 93%;--muted-foreground:240 8% 40%;--border:20 20% 88%;--input:20 20% 88%;--ring:20 95% 50%;--positive:150 65% 38%;--negative:0 75% 50%;color-scheme:light}.lovable-theme{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,ui-sans-serif,system-ui,sans-serif}.lovable-theme h1,.lovable-theme h2,.lovable-theme h3,.lovable-theme h4,.lovable-theme h5,.lovable-theme h6{font-family:Inter,system-ui,sans-serif}.font-serif-italic{letter-spacing:-.01em;font-family:Playfair Display,ui-serif,Georgia,Times New Roman,serif!important;font-style:italic!important;font-weight:700!important}.font-serif{font-family:Playfair Display,ui-serif,Georgia,serif}.font-mono,.lovable-theme code,.lovable-theme pre,code,pre,kbd,samp{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.lovable-theme.glass,.lovable-theme .glass{-webkit-backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(#8a380f1a,#0d0d1159),#1212178c;border:1px solid #59413659;box-shadow:inset 0 1px #fabd9e14,inset 0 0 0 1px #0006,0 30px 60px -30px #000000e6}.lovable-theme.glass-soft,.lovable-theme .glass-soft{-webkit-backdrop-filter:blur(14px)saturate(130%);background:linear-gradient(#1b1b228c,#0d0d1159);border:1px solid #43342d80;box-shadow:inset 0 1px #ffffff0a,0 20px 40px -24px #000c}.lovable-theme .glass-arc{position:relative}.lovable-theme .glass-arc:before{content:"";background:linear-gradient(135deg,hsl(var(--primary)/.4),transparent 60%);border-radius:inherit;z-index:-1;position:absolute;inset:-1px}.lovable-theme .grid-fade{background-image:linear-gradient(hsl(var(--border)/.4)1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)/.4)1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(60% 60%,#000,#0000 80%);mask-image:radial-gradient(60% 60%,#000,#0000 80%)}@keyframes lovable-drift{0%,to{transform:translate(0,0)}50%{transform:translate(20px,-30px)}}@keyframes lovable-breath{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}@keyframes lovable-pulse-dot{0%,to{box-shadow:0 0 0 0 hsl(var(--primary)/.6)}50%{box-shadow:0 0 0 8px hsl(var(--primary)/0)}}@keyframes lovable-liquid-rise{0%{opacity:0;filter:blur(8px);transform:translateY(24px)}to{opacity:1;filter:blur();transform:translate(0,0)}}.lovable-theme .animate-drift{animation:14s ease-in-out infinite lovable-drift}.lovable-theme .animate-breath{animation:9s ease-in-out infinite lovable-breath}.lovable-theme .animate-pulse-dot{animation:2.6s ease-in-out infinite lovable-pulse-dot}.lovable-theme .animate-liquid-rise{opacity:0;animation:.85s cubic-bezier(.2,.8,.2,1) forwards lovable-liquid-rise}@keyframes lovable-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes lovable-sheen{0%{transform:translate(-100%)}to{transform:translate(900%)}}@keyframes lovable-wordmark-shimmer{0%{background-position:130% 0}6%{background-position:-30% 0}6.01%,to{background-position:-30% 0}}@keyframes lovable-float-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes lovable-viz-blink{0%,to{opacity:.4}50%{opacity:1}}@keyframes lovable-viz-draw{0%{stroke-dasharray:200;stroke-dashoffset:200px}to{stroke-dasharray:200;stroke-dashoffset:0}}@keyframes lovable-viz-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes lovable-viz-pulse-ring{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(2.4)}}@keyframes lovable-viz-scan{0%{opacity:0;transform:translate(-100%)}20%{opacity:1}to{opacity:0;transform:translate(100%)}}.animate-ticker{animation:30s linear infinite lovable-ticker}.animate-sheen{animation:2.6s ease-in-out infinite lovable-sheen}.animate-wordmark-shimmer{color:#0000;background-image:linear-gradient(105deg,hsl(var(--foreground))0%,hsl(var(--foreground))42%,#fffffffa 50%,hsl(var(--foreground))58%,hsl(var(--foreground))100%);-webkit-text-fill-color:transparent;background-repeat:no-repeat;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:30s ease-out infinite lovable-wordmark-shimmer}@media (prefers-reduced-motion:reduce){.animate-wordmark-shimmer{color:hsl(var(--foreground));-webkit-text-fill-color:currentColor;animation:none}}.animate-float-up{animation:.6s cubic-bezier(.2,.8,.2,1) both lovable-float-up}.animate-viz-blink{animation:1.6s ease-in-out infinite lovable-viz-blink}.animate-viz-draw{animation:3.5s ease-in-out infinite alternate lovable-viz-draw}.animate-viz-float{animation:3.2s ease-in-out infinite lovable-viz-float}.animate-viz-pulse-ring{transform-origin:50%;animation:1.8s ease-out infinite lovable-viz-pulse-ring}.animate-viz-scan{animation:2.8s ease-in-out infinite lovable-viz-scan}:root,.lovable-theme,.lovable-theme.dark{--agent-head:#121b2b}.lovable-theme.light{--agent-head:#e4e9f1}@keyframes agent-glow{0%,to{box-shadow:0 0 #33ccff8c,0 6px 28px -4px #0080ff73,inset 0 0 18px #4cd2ff40}50%{box-shadow:0 0 0 8px #3cf0,0 8px 36px -2px #1a8cffa6,inset 0 0 22px #66d9ff59}}@keyframes agent-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes agent-blink{0%,93%,to{transform:scaleY(1)}95%,97%{transform:scaleY(.08)}}@keyframes agent-mouth{0%,to{transform:scaleY(1)}50%{transform:scaleY(.65)}}.agent-btn{color:#66b3ff;background:radial-gradient(circle at 50% 40%,#182339 0%,#0c121d 80%);border:1px solid #3399ff73;animation:2.4s ease-in-out infinite agent-glow}.agent-svg{transform-origin:50%;animation:3.6s ease-in-out infinite agent-float}.agent-eyes rect{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite agent-blink}.agent-mouth{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite agent-mouth}@keyframes dfDraw{0%{stroke-dashoffset:var(--df-dash,200);opacity:.2}40%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes dfFade{0%{opacity:0;transform:translateY(2px)}30%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0}}@keyframes dfPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.6)}}@keyframes dfTfHi{0%,to{color:hsl(var(--muted-foreground));border-color:hsl(var(--border)/.6);background-color:#0000}50%{color:#fb9a6a;background-color:#f9681f2e;border-color:#f9681f99}}@keyframes dfScrub{0%{transform:translate(6px)}50%{transform:translate(100px)}to{transform:translate(6px)}}@keyframes dfBarGrow{0%{width:0}50%{width:var(--df-w,60%)}to{width:var(--df-w,60%)}}@keyframes dfWidth{0%{width:0}60%{width:var(--df-w,50%)}to{width:var(--df-w,50%)}}@keyframes dfRowIn{0%{opacity:0;transform:translate(-6px)}25%{opacity:1;transform:translate(0)}85%{opacity:1}to{opacity:0;transform:translate(4px)}}@keyframes dfPop{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.15)}60%{transform:scale(1)}to{opacity:.85;transform:scale(1)}}@keyframes dfRise{0%{opacity:0;transform:scaleY(0)}50%{opacity:1;transform:scaleY(1)}to{opacity:1;transform:scaleY(1)}}@keyframes dfGaugeFill{0%{stroke-dashoffset:126px}50%{stroke-dashoffset:30px}to{stroke-dashoffset:30px}}@keyframes dfNeedle{0%{transform:rotate(-80deg)}50%{transform:rotate(30deg)}to{transform:rotate(30deg)}}@keyframes dfArrowSlide{0%,to{opacity:.4;transform:translate(-6px)}50%{opacity:1;transform:translate(0)}}@keyframes dfAlertIn{0%{opacity:0;transform:translateY(-4px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0;transform:translateY(2px)}}