@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--background:220 20% 3%;--foreground:0 0% 100%;--card:220 20% 6%;--card-foreground:0 0% 100%;--popover:220 20% 6%;--popover-foreground:0 0% 100%;--primary:263 70% 60%;--primary-foreground:0 0% 100%;--secondary:220 20% 10%;--secondary-foreground:0 0% 100%;--muted:220 20% 15%;--muted-foreground:220 10% 60%;--accent:180 100% 50%;--accent-foreground:0 0% 0%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:220 20% 15%;--input:220 20% 12%;--ring:263 70% 60%;--sidebar:220 20% 6%;--sidebar-foreground:0 0% 100%;--radius:0.75rem;--neon-purple:#a855f7;--neon-cyan:#06b6d4;--neon-pink:#ec4899;--neon-blue:#3b82f6;--neon-green:#10b981;--glow-purple:rgba(168,85,247,.5);--glow-cyan:rgba(6,182,212,.5);--glow-pink:rgba(236,72,153,.5)}*{@apply border-border}html{scroll-behavior:smooth}body{@apply bg-background text-foreground antialiased;background:linear-gradient(135deg,#0a0a0f,#1a1a2e 50%,#16213e);min-height:100vh}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes text-shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes border-glow{0%,to{border-color:var(--neon-purple);box-shadow:0 0 10px var(--glow-purple)}33%{border-color:var(--neon-cyan);box-shadow:0 0 10px var(--glow-cyan)}66%{border-color:var(--neon-pink);box-shadow:0 0 10px var(--glow-pink)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(168,85,247,.1)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--neon-purple),var(--neon-cyan));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--neon-cyan),var(--neon-pink))}.monaco-editor,.monaco-editor .current-line,.monaco-editor .line-numbers,.monaco-editor .margin{@apply text-muted-foreground}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(59,130,246,.5)}50%{box-shadow:0 0 30px rgba(59,130,246,.8)}}.pulse-glow{animation:pulse-glow 2s infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin 3s linear infinite}.btn-hover,.code-block{@apply transition-all duration-200 hover:scale-105 active:scale-95}.glass{background:hsla(0,0%,100%,.05)}.glass,.glass-dark{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1)}.glass-dark{background:rgba(0,0,0,.2)}.animated-gradient{background:linear-gradient(-45deg,#0a0a0f,#1a1a2e,#16213e,#0f172a,#1e1b4b);background-size:400% 400%;animation:gradient-shift 15s ease infinite}.animated-gradient-fast{background:linear-gradient(-45deg,#a855f7,#06b6d4,#ec4899,#3b82f6,#10b981);background-size:400% 400%;animation:gradient-shift 3s ease infinite}.gradient-text{background:linear-gradient(135deg,#a855f7,#06b6d4 50%,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-animated{background:linear-gradient(90deg,#a855f7,#06b6d4,#ec4899,#a855f7);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:text-shimmer 3s linear infinite}.text-glow{text-shadow:0 0 10px var(--glow-purple),0 0 20px var(--glow-cyan)}.text-glow-purple{text-shadow:0 0 20px rgba(168,85,247,.8)}.text-glow-cyan{text-shadow:0 0 20px rgba(6,182,212,.8)}.glass{background:rgba(17,17,27,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(168,85,247,.2)}.glass-hover{transition:all .3s ease}.glass-hover:hover{background:rgba(168,85,247,.1);border-color:rgba(168,85,247,.5);box-shadow:0 0 30px var(--glow-purple)}.glass-cyan{background:rgba(17,17,27,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(6,182,212,.2)}.glass-cyan:hover{border-color:rgba(6,182,212,.5);box-shadow:0 0 30px var(--glow-cyan)}.btn-neon{position:relative;background:linear-gradient(135deg,rgba(168,85,247,.2),rgba(6,182,212,.2));border:1px solid var(--neon-purple);color:#fff;transition:all .3s ease;overflow:hidden}.btn-neon:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s ease}.btn-neon:hover:before{left:100%}.btn-neon:hover{box-shadow:0 0 30px var(--glow-purple),inset 0 0 20px rgba(168,85,247,.2);transform:translateY(-2px)}.btn-cyan{background:linear-gradient(135deg,rgba(6,182,212,.2),rgba(168,85,247,.2));border:1px solid var(--neon-cyan)}.btn-cyan:hover{box-shadow:0 0 30px var(--glow-cyan),inset 0 0 20px rgba(6,182,212,.2)}.border-glow{animation:border-glow 3s ease-in-out infinite}.float{animation:float 6s ease-in-out infinite}.float-delay-1{animation-delay:-1s}.float-delay-2{animation-delay:-2s}.float-delay-3{animation-delay:-3s}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 10s ease-in-out infinite}.orb-purple{background:var(--neon-purple);box-shadow:0 0 100px var(--neon-purple)}.orb-cyan{background:var(--neon-cyan);box-shadow:0 0 100px var(--neon-cyan)}.orb-pink{background:var(--neon-pink);box-shadow:0 0 100px var(--neon-pink)}.grid-bg{background-image:linear-gradient(rgba(168,85,247,.03) 1px,transparent 0),linear-gradient(90deg,rgba(168,85,247,.03) 1px,transparent 0);background-size:50px 50px}.focus-ring{@apply focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 focus:ring-offset-background}.card-glow{transition:all .3s ease}.card-glow:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(168,85,247,.2)}@keyframes arc-pulse{0%,to{opacity:.3;transform:translateX(-50%) translateY(60%) rotateX(60deg) scale(1)}50%{opacity:.6;transform:translateX(-50%) translateY(60%) rotateX(60deg) scale(1.02)}}.input-glow:focus{box-shadow:0 0 30px rgba(168,85,247,.3)}.animated-border{background:linear-gradient(90deg,#a855f7,#06b6d4,#ec4899,#a855f7);background-size:300% 100%;animation:gradient-shift 3s linear infinite;padding:2px;border-radius:1rem}.animated-border-inner{background:#0d0d12;border-radius:calc(1rem - 2px)}