:root{--bg-main: #1E1E1E;--accent-lime: #A4FF00;--accent-pink: #FF6B8B;--highlight-purple: #B388EB;--text-primary: #E0E0E0;--text-secondary: #A0A0A0;--border-color: #444444;--bg-card: rgba(30, 30, 30, .7);--bg-card-hover: rgba(45, 45, 45, .8)}body{font-family:Inter,sans-serif;background-color:var(--bg-main);color:var(--text-primary);overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,rgba(164,255,0,.05),transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,107,139,.05),transparent 40%),radial-gradient(circle at 50% 50%,rgba(179,136,235,.03),transparent 30%);z-index:-1;animation:subtle-pulse 15s ease-in-out infinite;pointer-events:none}@keyframes subtle-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.font-mono,.font-fira{font-family:Fira Code,monospace}h1,h2,h3,.font-fira{font-family:Fira Code,monospace;word-break:break-word;hyphens:auto}h1{overflow-wrap:break-word}.btn-code{font-family:Fira Code,monospace;background-color:#ffffff0d;border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1rem;border-radius:.5rem;transition:all .3s ease;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;line-height:1.3;text-align:center}.btn-code:before{content:"";position:absolute;top:0;left:0;height:100%;width:0;background-color:var(--accent-lime);transition:width .4s ease-out;z-index:0;opacity:.8}.btn-code span,.btn-code i,.btn-code img{position:relative;z-index:1}.btn-code:hover:before{width:100%}.btn-code:hover{color:var(--bg-main)!important;border-color:var(--accent-lime);box-shadow:0 0 15px #a4ff004d}.btn-code-primary{background-color:var(--accent-lime);color:var(--bg-main)!important;border-color:var(--accent-lime);font-weight:700}.btn-code-primary:before{background-color:var(--accent-pink)}.btn-code-primary:hover{color:var(--bg-main)!important;border-color:var(--accent-pink);box-shadow:0 0 15px #ff6b8b66}.btn-code-alt{color:var(--accent-pink)!important;border-color:var(--border-color);background-color:#ffffff0d}.btn-code-alt:before{background-color:var(--accent-pink);opacity:.8}.btn-code-alt:hover{color:var(--bg-main)!important;border-color:var(--accent-pink);box-shadow:0 0 15px #ff6b8b4d}.card-module{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;transition:all .3s ease;position:relative;display:flex;flex-direction:column;height:100%;backdrop-filter:blur(5px)}.card-module:after{content:"";position:absolute;top:1rem;right:1rem;width:8px;height:1.2em;background-color:var(--accent-lime);opacity:0;animation:blink 1s infinite;transition:opacity .3s ease}.card-module:hover{border-color:var(--accent-lime);transform:translateY(-5px);background-color:var(--bg-card-hover);box-shadow:0 10px 20px #0000004d,0 0 15px #a4ff001a}.card-module:hover:after{opacity:1}.card-module-highlight{border-color:var(--accent-lime);box-shadow:0 0 25px #a4ff0033}.card-module-highlight:after{opacity:1}.card-module-highlight:hover{box-shadow:0 10px 30px #0006,0 0 30px #a4ff004d}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.glitch-shadow-hover:hover{text-shadow:1px 1px 0 var(--accent-pink),-1px -1px 0 var(--accent-lime);transition:text-shadow .05s ease-in-out}.typewriter-cursor:after{content:"_";display:inline-block;margin-left:2px;background-color:var(--accent-lime);color:var(--bg-main);animation:blink 1s infinite;font-weight:700}.text-gradient-lime-pink{background:linear-gradient(90deg,var(--accent-lime),var(--accent-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.text-gradient-lime-purple{background:linear-gradient(90deg,var(--accent-lime),var(--highlight-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.data-flow-viz{position:relative;width:100%;height:200px;perspective:600px;overflow:hidden}.data-flow-viz .flow-node{position:absolute;text-align:center;font-size:.8rem;line-height:1.2;width:80px}.data-flow-viz .flow-node i{font-size:2rem;margin-bottom:.25rem;display:block}.data-flow-viz .node-dev{top:30%;left:15%;transform:translateZ(20px);color:var(--accent-lime)}.data-flow-viz .node-ai{top:30%;right:15%;transform:translateZ(-30px);color:var(--accent-pink)}.data-flow-viz .node-code{bottom:15%;left:50%;transform:translate(-50%) translateZ(0);color:var(--highlight-purple)}.data-flow-viz .particle{position:absolute;width:4px;height:4px;border-radius:50%;opacity:0;animation:flow 3s linear infinite;transform-style:preserve-3d}.data-flow-viz .particle.lime{background-color:var(--accent-lime);box-shadow:0 0 5px var(--accent-lime)}.data-flow-viz .particle.pink{background-color:var(--accent-pink);box-shadow:0 0 5px var(--accent-pink)}.data-flow-viz .particle.purple{background-color:var(--highlight-purple);box-shadow:0 0 5px var(--highlight-purple)}@keyframes flow{0%{transform:translate3d(var(--x-start),var(--y-start),var(--z-start));opacity:0}10%,20%{opacity:1}80%,90%{opacity:1}to{transform:translate3d(var(--x-end),var(--y-end),var(--z-end));opacity:0}}.ide-tree ul{padding-left:1.5rem;margin-top:.5rem}.ide-tree li{margin-bottom:.3rem;position:relative;word-break:break-word}.ide-tree .folder:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--highlight-purple);margin-right:.75rem;font-size:.9em;width:1em;display:inline-block;vertical-align:middle}.ide-tree .file:before{content:"";font-family:"Font Awesome 6 Free";font-weight:400;color:var(--accent-lime);margin-right:.75rem;font-size:.9em;width:1em;display:inline-block;vertical-align:middle}.ide-tree span{font-family:Fira Code,monospace;color:var(--text-secondary);cursor:default;font-size:.9rem;line-height:1.4;display:inline-block;vertical-align:middle}.ide-tree span:hover{color:var(--text-primary)}.scroll-fade-in{opacity:0;transform:translateY(30px);transition:opacity .7s ease-out,transform .7s ease-out}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}
