@tailwind base;@tailwind components;@tailwind utilities;:root{--brand-green: #a3e635;--brand-dark: #020617}html{scroll-behavior:smooth;background-color:var(--brand-dark)}body{overflow-x:hidden;background-color:var(--brand-dark);color:#fff;font-family:Inter,sans-serif}::selection{background-color:var(--brand-green);color:var(--brand-dark)}section{background-color:var(--brand-dark);background-image:radial-gradient(circle at 2px 2px,rgba(163,230,53,.35) 1.2px,transparent 0),linear-gradient(to right,rgba(163,230,53,.12) 1px,transparent 0),linear-gradient(to bottom,rgba(163,230,53,.12) 1px,transparent 0);background-size:44px 44px,44px 44px,44px 44px;position:relative;contain:paint}section.bg-white,section.bg-slate-50{background-color:#fff;background-image:radial-gradient(circle,rgba(0,0,0,.14) 1.5px,transparent 0);background-size:32px 32px}section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(163,230,53,.03),transparent 40%);pointer-events:none;z-index:1;will-change:background}@keyframes neon-sweep{0%{transform:translate(-150%);opacity:0}15%{opacity:.1}50%{opacity:1}85%{opacity:.1}to{transform:translate(250%);opacity:0}}.animate-neon-sweep{animation:neon-sweep 8s cubic-bezier(.4,0,.2,1) infinite}@keyframes neon-pulse{0%,to{opacity:.1}50%{opacity:.4}}.animate-neon-pulse{animation:neon-pulse 4s ease-in-out infinite}.terminal-card{background:#0b0f1a;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(163,230,53,.15);box-shadow:0 40px 100px -20px #000000b3,0 0 40px #a3e6350d;position:relative;overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1)}.terminal-card:hover{border-color:#a3e63566;box-shadow:0 40px 120px -15px #000c,0 0 60px #a3e63526;transform:translateY(-8px) scale(1.01)}.terminal-header{background:#0f172acc;border-bottom:1px solid rgba(255,255,255,.05);padding:14px 20px;display:flex;align-items:center;gap:8px}.terminal-dot{width:10px;height:10px;border-radius:full}.neon-glow-green{box-shadow:0 0 15px #a3e63580,0 0 30px #a3e63533}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s infinite linear}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.glass{background:#0f172aa6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.07)}.glass-light{background:#ffffff0a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.07)}.neon-card{position:relative;background:linear-gradient(135deg,#0f172ae6,#020617f2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(163,230,53,.12);overflow:hidden}.neon-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(163,230,53,.07) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.neon-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(163,230,53,.6),transparent);pointer-events:none}.neon-card:hover{border-color:#a3e6354d;box-shadow:0 0 30px #a3e63514,0 20px 60px #0006}@media(max-width:768px){h1{font-size:2.5rem!important;line-height:1.1!important}}.snap-x-mandatory{scroll-snap-type:x mandatory}.snap-center{scroll-snap-align:center}#scroll-indicator{position:fixed;top:0;left:0;height:2px;background:linear-gradient(to right,var(--brand-green),#60efff,var(--brand-green));z-index:200;transition:width .1s ease;box-shadow:0 0 8px var(--brand-green)}@keyframes gradient-x{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient-x{background-size:200% 200%;animation:gradient-x 3s ease infinite}.mask-gradient-x{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}.reveal-hidden{opacity:0;transform:translateY(32px);will-change:transform,opacity;transition:opacity .85s cubic-bezier(.25,.46,.45,.94),transform .85s cubic-bezier(.25,.46,.45,.94)}.reveal-visible{opacity:1;transform:translateY(0)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fade-in-up .6s ease-out forwards}
