@tailwind base;@tailwind components;@tailwind utilities;:root{--button-outline: rgba(0,0,0, .1);--badge-outline: rgba(0,0,0, .05);--opaque-button-border-intensity: -8;--elevate-1: rgba(0,0,0, .03);--elevate-2: rgba(0,0,0, .08);--background: 210 5% 98%;--foreground: 210 6% 12%;--border: 210 5% 92%;--card: 210 5% 96%;--card-foreground: 210 6% 12%;--card-border: 210 5% 90%;--sidebar: 0 0% 100%;--sidebar-foreground: 210 6% 12%;--sidebar-border: 210 5% 88%;--sidebar-primary: 217 91% 42%;--sidebar-primary-foreground: 217 91% 98%;--sidebar-accent: 210 8% 86%;--sidebar-accent-foreground: 210 6% 12%;--sidebar-ring: 217 91% 42%;--popover: 210 5% 90%;--popover-foreground: 210 6% 12%;--popover-border: 210 5% 84%;--primary: 217 91% 42%;--primary-foreground: 217 91% 98%;--secondary: 210 8% 86%;--secondary-foreground: 210 6% 12%;--muted: 210 10% 88%;--muted-foreground: 210 6% 25%;--accent: 210 12% 90%;--accent-foreground: 210 6% 12%;--destructive: 0 84% 48%;--destructive-foreground: 0 0% 98%;--input: 210 5% 75%;--ring: 217 91% 42%;--chart-1: 217 91% 42%;--chart-2: 142 76% 36%;--chart-3: 280 65% 48%;--chart-4: 32 95% 44%;--chart-5: 340 82% 52%;--font-sans: Open Sans, sans-serif;--font-serif: Georgia, serif;--font-mono: Menlo, monospace;--radius: .5rem;--shadow-2xs: 0px 2px 0px 0px hsl(210 5% 12% / 0);--shadow-xs: 0px 2px 0px 0px hsl(210 5% 12% / 0);--shadow-sm: 0px 2px 0px 0px hsl(210 5% 12% / 0), 0px 1px 2px -1px hsl(210 5% 12% / 0);--shadow: 0px 2px 0px 0px hsl(210 5% 12% / 0), 0px 1px 2px -1px hsl(210 5% 12% / 0);--shadow-md: 0px 2px 0px 0px hsl(210 5% 12% / 0), 0px 2px 4px -1px hsl(210 5% 12% / 0);--shadow-lg: 0px 2px 0px 0px hsl(210 5% 12% / 0), 0px 4px 6px -1px hsl(210 5% 12% / 0);--shadow-xl: 0px 2px 0px 0px hsl(210 5% 12% / 0), 0px 8px 10px -1px hsl(210 5% 12% / 0);--shadow-2xl: 0px 2px 0px 0px hsl(210 5% 12% / 0);--tracking-normal: 0em;--spacing: .25rem;--sidebar-primary-border: hsl(var(--sidebar-primary));--sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--sidebar-accent-border: hsl(var(--sidebar-accent));--sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--primary-border: hsl(var(--primary));--primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--secondary-border: hsl(var(--secondary));--secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--muted-border: hsl(var(--muted));--muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--accent-border: hsl(var(--accent));--accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--destructive-border: hsl(var(--destructive));--destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha)}.dark{--button-outline: rgba(255,255,255, .1);--badge-outline: rgba(255,255,255, .05);--opaque-button-border-intensity: 9;--elevate-1: rgba(255,255,255, .04);--elevate-2: rgba(255,255,255, .09);--background: 210 6% 8%;--foreground: 210 5% 96%;--border: 210 6% 16%;--card: 210 6% 10%;--card-foreground: 210 5% 96%;--card-border: 210 6% 14%;--sidebar: 210 6% 12%;--sidebar-foreground: 210 5% 96%;--sidebar-border: 210 6% 18%;--sidebar-primary: 217 91% 52%;--sidebar-primary-foreground: 217 91% 98%;--sidebar-accent: 210 8% 18%;--sidebar-accent-foreground: 210 5% 96%;--sidebar-ring: 217 91% 52%;--popover: 210 6% 14%;--popover-foreground: 210 5% 96%;--popover-border: 210 6% 20%;--primary: 217 91% 48%;--primary-foreground: 217 91% 98%;--secondary: 210 8% 20%;--secondary-foreground: 210 5% 96%;--muted: 210 10% 18%;--muted-foreground: 210 5% 70%;--accent: 210 12% 16%;--accent-foreground: 210 5% 96%;--destructive: 0 72% 42%;--destructive-foreground: 0 0% 98%;--input: 210 6% 28%;--ring: 217 91% 52%;--chart-1: 217 91% 65%;--chart-2: 142 76% 58%;--chart-3: 280 65% 68%;--chart-4: 32 95% 62%;--chart-5: 340 82% 68%;--shadow-2xs: 0px 2px 0px 0px hsl(210 6% 8% / 0);--shadow-xs: 0px 2px 0px 0px hsl(210 6% 8% / 0);--shadow-sm: 0px 2px 0px 0px hsl(210 6% 8% / 0), 0px 1px 2px -1px hsl(210 6% 8% / 0);--shadow: 0px 2px 0px 0px hsl(210 6% 8% / 0), 0px 1px 2px -1px hsl(210 6% 8% / 0);--shadow-md: 0px 2px 0px 0px hsl(210 6% 8% / 0), 0px 2px 4px -1px hsl(210 6% 8% / 0);--shadow-lg: 0px 2px 0px 0px hsl(210 6% 8% / 0), 0px 4px 6px -1px hsl(210 6% 8% / 0);--shadow-xl: 0px 2px 0px 0px hsl(210 6% 8% / 0), 0px 8px 10px -1px hsl(210 6% 8% / 0);--shadow-2xl: 0px 2px 0px 0px hsl(210 6% 8% / 0);--sidebar-primary-border: hsl(var(--sidebar-primary));--sidebar-primary-border: hsl(from hsl(var(--sidebar-primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--sidebar-accent-border: hsl(var(--sidebar-accent));--sidebar-accent-border: hsl(from hsl(var(--sidebar-accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--primary-border: hsl(var(--primary));--primary-border: hsl(from hsl(var(--primary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--secondary-border: hsl(var(--secondary));--secondary-border: hsl(from hsl(var(--secondary)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--muted-border: hsl(var(--muted));--muted-border: hsl(from hsl(var(--muted)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--accent-border: hsl(var(--accent));--accent-border: hsl(from hsl(var(--accent)) h s calc(l + var(--opaque-button-border-intensity)) / alpha);--destructive-border: hsl(var(--destructive));--destructive-border: hsl(from hsl(var(--destructive)) h s calc(l + var(--opaque-button-border-intensity)) / alpha)}@layer base{*{@apply border-border;}body{@apply font-sans antialiased bg-background text-foreground;}}@layer utilities{input[type=search]::-webkit-search-cancel-button{@apply hidden;}[contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:hsl(var(--muted-foreground));pointer-events:none}.toggle-elevate:before,.toggle-elevate-2:before{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;z-index:-1}.toggle-elevate.toggle-elevated:before{background-color:var(--elevate-2)}.border.toggle-elevate:before{inset:-1px}.hover-elevate:not(.no-default-hover-elevate),.active-elevate:not(.no-default-active-elevate),.hover-elevate-2:not(.no-default-hover-elevate),.active-elevate-2:not(.no-default-active-elevate){position:relative;z-index:0}.hover-elevate:not(.no-default-hover-elevate):after,.active-elevate:not(.no-default-active-elevate):after,.hover-elevate-2:not(.no-default-hover-elevate):after,.active-elevate-2:not(.no-default-active-elevate):after{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;z-index:999}.hover-elevate:hover:not(.no-default-hover-elevate):after,.active-elevate:active:not(.no-default-active-elevate):after{background-color:var(--elevate-1)}.hover-elevate-2:hover:not(.no-default-hover-elevate):after,.active-elevate-2:active:not(.no-default-active-elevate):after{background-color:var(--elevate-2)}.border.hover-elevate:not(.no-hover-interaction-elevate):after,.border.active-elevate:not(.no-active-interaction-elevate):after,.border.hover-elevate-2:not(.no-hover-interaction-elevate):after,.border.active-elevate-2:not(.no-active-interaction-elevate):after{inset:-1px}}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ring-pulse{0%{transform:scale(.55);opacity:.9}70%{transform:scale(1.35);opacity:0}to{transform:scale(1.35);opacity:0}}@keyframes scan-line-y{0%{top:8%;opacity:0}12%{opacity:1}88%{opacity:1}to{top:92%;opacity:0}}@keyframes dot-blink{0%,to{opacity:.15}50%{opacity:.85}}@keyframes core-breathe{0%,to{box-shadow:0 0 24px 4px #3b82f673,inset 0 0 12px #3b82f640}50%{box-shadow:0 0 48px 14px #3b82f6b3,inset 0 0 20px #3b82f673}}@keyframes dash-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes check-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}@keyframes ripple-out{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.8);opacity:0}}@keyframes ellipsis-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.vision-scan-beam{animation:radar-sweep 2.4s linear infinite}.vision-ring-pulse{animation:ring-pulse 2.4s ease-out infinite}.vision-scan-line{animation:scan-line-y 3.2s ease-in-out infinite}.vision-dot-blink{animation:dot-blink 1.8s ease-in-out infinite}.vision-core{animation:core-breathe 2.2s ease-in-out infinite}.vision-dash-orbit{animation:dash-rotate 8s linear infinite}.vision-check-pop{animation:check-pop .45s cubic-bezier(.34,1.56,.64,1) forwards}.vision-ripple{animation:ripple-out .9s ease-out forwards}.vision-ellipsis:after{content:"";animation:ellipsis-dots 1.6s steps(1) infinite}@media(prefers-reduced-motion:reduce){.vision-scan-beam,.vision-ring-pulse,.vision-scan-line,.vision-dot-blink,.vision-core,.vision-dash-orbit,.vision-check-pop,.vision-ripple,.vision-ellipsis:after{animation:none}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f64d}50%{box-shadow:0 0 20px #3b82f680}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes float-particle{0%,to{transform:translateY(0) translate(0);opacity:.3}25%{transform:translateY(-20px) translate(10px);opacity:.8}50%{transform:translateY(-40px) translate(-5px);opacity:.5}75%{transform:translateY(-20px) translate(-10px);opacity:.7}}.animate-float-particle{animation:float-particle ease-in-out infinite}@media(prefers-reduced-motion:reduce){.animate-float-particle{animation:none}}.animate-fade-in-up{animation:fade-in-up .5s ease-out forwards;opacity:0}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
