:root{--bg-primary: #09090b;--bg-secondary: #18181b;--bg-tertiary: #27272a;--bg-sidebar: #0c0c0e;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--gradient-purple: linear-gradient(135deg, #7c3aed, #a855f7);--gradient-cyan: linear-gradient(135deg, #06b6d4, #22d3ee);--card-bg: rgba(24, 24, 27, .95)}body{background-color:var(--bg-primary);color:var(--text-primary);margin:0;min-height:100vh;transition:background-color .5s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1)}:root[data-theme=dark]{--bg-primary: #09090b;--bg-secondary: #18181b;--bg-tertiary: #27272a;--bg-sidebar: #0c0c0e;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--gradient-purple: linear-gradient(135deg, #7c3aed, #a855f7);--gradient-cyan: linear-gradient(135deg, #06b6d4, #22d3ee);--card-bg: rgba(24, 24, 27, .95)}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--border-color: rgba(0, 0, 0, .1);--border-hover: rgba(0, 0, 0, .2);--gradient-purple: linear-gradient(135deg, #7c3aed, #a855f7);--gradient-cyan: linear-gradient(135deg, #06b6d4, #22d3ee);--card-bg: #ffffff}.btn-gradient-glow{position:relative;background:transparent;color:#fff;z-index:1;transition:all .3s ease}.btn-gradient-glow:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:-1;background:linear-gradient(90deg,#06b6d4,#7c3aed,#db2777);border-radius:10px;filter:blur(8px);opacity:.6;transition:all .3s ease}.btn-gradient-glow:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:-1;background:#020204;border-radius:9px;transition:all .3s ease}[data-theme=light] .btn-gradient-glow:after{background:#fff}[data-theme=light] .btn-gradient-glow{color:#111827}.btn-gradient-glow:hover:before{opacity:1;filter:blur(12px)}.btn-gradient-glow:hover{transform:scale(1.02)}.tech-card{position:relative;overflow:hidden;background:#0a0a0c99;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}[data-theme=light] .tech-card{background:#fffffff2;border:1px solid rgba(0,0,0,.1)}.tech-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#7c3aed0d,#06b6d40d);opacity:0;transition:opacity .3s ease;pointer-events:none}.tech-card:hover:before{opacity:1}@keyframes grid-move{0%{background-position:0 0}to{background-position:50px 50px}}.bg-grid-animated{background-image:linear-gradient(rgba(124,58,237,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.05) 1px,transparent 1px);background-size:50px 50px;animation:grid-move 20s linear infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7c3aed33;border-radius:10px;border:1px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#7c3aed80;border:1px solid transparent;background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.2) transparent}.text-glow{text-shadow:0 0 20px rgba(124,58,237,.5)}@media(max-width:768px){html,body{overflow-x:hidden;width:100%}.max-w-7xl,.max-w-6xl,.max-w-5xl,.max-w-4xl{padding-left:1rem;padding-right:1rem}.blur-lg,.blur-md,.blur-[150px]{display:none}.animate-scroll{animation-duration:40s}button,a{min-height:44px}.gap-8{gap:1rem}.gap-6{gap:.75rem}}*{max-width:100vw}section{overflow-x:hidden}@keyframes tooltipScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.react-joyride__spotlight{transition:all .4s cubic-bezier(.25,.46,.45,.94)!important}.react-joyride__overlay{transition:background-color .4s ease!important}.__floater__open{transition:opacity .2s ease-out!important}.react-joyride__tooltip{animation:tooltipScaleIn .3s cubic-bezier(.16,1,.3,1) forwards!important;transform-origin:center center}
