html{scroll-behavior:smooth}.container-max-w{max-width:1280px}.scrollbar-none::-webkit-scrollbar{display:none}.wrapper{position:relative}.section-alt{background-color:hsl(var(--section-alt));border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));position:relative}.section-alt:before,.section-alt:after{content:"";background:linear-gradient(90deg, transparent 0%, hsl(var(--primary-theme) / .4) 50%, transparent 100%);pointer-events:none;width:min(70%,600px);height:1px;position:absolute;left:50%;transform:translate(-50%)}.section-alt:before{top:-1px}.section-alt:after{bottom:-1px}.font-mono-tech{font-family:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:-.01em}.section-eyebrow{font-family:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.18em;text-transform:uppercase;color:hsl(var(--primary-theme));align-items:center;gap:.5rem;font-size:.75rem;display:inline-flex}.section-eyebrow:before{content:"";background:hsl(var(--primary-theme));width:28px;height:1px;display:inline-block}.glass-card{background:hsl(var(--panel));border:1px solid hsl(var(--border));box-shadow:0 1px 0 hsl(var(--primary-theme) / .04) inset}.dot-bg{background-image:radial-gradient(hsl(var(--border)) 1px, transparent 1px);background-size:24px 24px}.grid-bg{background-image:linear-gradient(hsl(var(--border) / .5) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--border) / .5) 1px, transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.status-dot{background:#22c55e;border-radius:999px;width:8px;height:8px;position:relative;box-shadow:0 0 0 4px #21c45d26}.status-dot:after{content:"";background:#22c55e;border-radius:999px;animation:1.6s ease-out infinite pingDot;position:absolute;inset:0}@keyframes pingDot{0%{opacity:.7;transform:scale(1)}80%,to{opacity:0;transform:scale(2.4)}}.nav-header a{color:hsl(var(--muted-foreground));font-family:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, monospace;font-size:.9rem;transition:color .2s;position:relative}.nav-header a:hover{color:hsl(var(--foreground))}.nav-header .active a,.mobile-header .active{color:hsl(var(--primary-theme))}.mobile-header li a{padding:.625rem .25rem}.text-accent-gradient{background:linear-gradient(135deg, hsl(var(--primary-theme)) 0%, hsl(var(--accent-2)) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.span-text{color:hsl(var(--primary-theme));font-family:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, monospace}.btn-primary{background:hsl(var(--primary-theme));color:hsl(var(--hint-color));box-shadow:0 0 0 1px hsl(var(--primary-theme) / .4);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn-primary:hover{box-shadow:0 0 0 1px hsl(var(--primary-theme) / .6), 0 6px 24px hsl(var(--primary-theme) / .25);transform:translateY(-1px)}.btn-ghost{color:hsl(var(--foreground));border:1px solid hsl(var(--border));background:0 0;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.btn-ghost:hover{border-color:hsl(var(--primary-theme) / .6);background:hsl(var(--primary-theme) / .05);transform:translateY(-1px)}@media (min-width:640px){.btn-primary,.btn-ghost{padding:.75rem 1.5rem}}.dark .social-svg{filter:invert()brightness(1.1)}.dark .tech-invert-dark{filter:invert()brightness(.95)}:root:not(.dark) .tech-invert-light{filter:invert()brightness(.6)}.select-container:focus-within i{transform:rotate(180deg)}.hidden-left{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(-24px)}.hidden-right{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(24px)}.animate-side{opacity:1;transform:translate(0)}.hidden-up,.tech-up{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(24px)}.hidden-down,.tech-down{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(-24px)}.animate-up{opacity:1;transform:translateY(0)}.hidden-pop{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:scale(.95)}.animate-pop{opacity:1;transform:scale(1)}.hidden-left-up{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(-24px,24px)}.animate-left-up{opacity:1;transform:translate(0)}#desc-info span{opacity:0;animation:.3s ease-out forwards slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.marquee-mask{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%)}.marquee-track{will-change:transform;gap:1.25rem;width:max-content;animation:30s linear infinite marqueeLeft;display:flex}.marquee-track:hover{animation-play-state:paused}@keyframes marqueeLeft{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@keyframes miniSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slideIn{animation:.3s ease-out forwards miniSlideIn}@keyframes mobileMenuIn{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.animate-mobileMenuIn{animation:.25s ease-out forwards mobileMenuIn}@keyframes mobileItemIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.mobile-menu-item{opacity:0;animation:.4s ease-out forwards mobileItemIn}.avatar-glow{position:relative}.avatar-glow:before{content:"";border-radius:inherit;background:linear-gradient(135deg, hsl(var(--primary-theme) / .5), transparent 60%);filter:blur(24px);z-index:-1;position:absolute;inset:-8px}.project-card-modern{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;transition:transform .3s,border-color .3s,box-shadow .3s;overflow:hidden}.project-card-modern:hover{border-color:hsl(var(--primary-theme) / .4);box-shadow:0 4px 14px -8px hsl(var(--primary-theme) / .12);transform:translateY(-2px)}:root:not(.dark) .project-card-modern:hover{box-shadow:0 8px 24px -8px hsl(var(--primary-theme) / .35), 0 2px 6px -2px hsl(var(--primary-theme) / .18)}
