*{margin:0;padding:0;box-sizing:border-box}html{width:100%;min-height:100%;scroll-behavior:smooth;background-color:#000}body{width:100%;min-height:100%;background-color:var(--bg-color, #000000);color:var(--text-color, #ffffff);overflow-x:hidden;max-width:100vw}#root{width:100%;min-height:100%}:root{--bg-color: #000000;--text-color: #ffffff;--text-muted: #cbd5e1;--card-bg: rgba(255, 255, 255, .02);--card-bg-hover: rgba(59, 130, 246, .08);--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(59, 130, 246, .5);--skill-bg: rgba(255, 255, 255, .015);--skill-bg-hover: rgba(255, 255, 255, .05);--accent: #3b82f6;--glass-bg: rgba(10, 10, 10, .95)}[data-theme=light]{--bg-color: #f1f5f9;--text-color: #0f172a;--text-muted: #475569;--card-bg: rgba(0, 0, 0, .03);--card-bg-hover: rgba(59, 130, 246, .1);--border-color: rgba(0, 0, 0, .1);--border-hover: rgba(59, 130, 246, .4);--skill-bg: rgba(0, 0, 0, .02);--skill-bg-hover: rgba(0, 0, 0, .06);--accent: #2563eb;--glass-bg: rgba(255, 255, 255, .95)}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}.hover-card{transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,background-color .3s ease,box-shadow .3s ease;will-change:transform}.hover-card:hover{transform:translateY(-8px) scale(1.012);border-color:var(--border-hover)!important;background-color:var(--card-bg-hover)!important;box-shadow:0 20px 45px -10px #3b82f638}.hover-card:active{transform:translateY(-2px) scale(.988);transition:transform .1s ease}.hover-card img{transition:transform .4s cubic-bezier(.16,1,.3,1),filter .3s ease;will-change:transform}.hover-card:hover img{transform:scale(1.05) translateY(-2px);filter:brightness(1.06)}.nitro-btn{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;will-change:transform}.nitro-btn:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 12px 30px 2px #5b42f373}.nitro-btn:active{transform:translateY(0) scale(.96);box-shadow:0 4px 15px #5b42f34d;transition:transform .08s ease}.nitro-btn:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(60deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:rotate(25deg) translateY(-100%);transition:transform .6s ease;pointer-events:none}.nitro-btn:hover:after{transform:rotate(25deg) translateY(100%)}.skill-pill{transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s ease,background-color .25s ease,box-shadow .25s ease;will-change:transform;cursor:pointer}.skill-pill:hover{transform:translateY(-6px) scale(1.06);background-color:var(--skill-bg-hover)!important;border-color:var(--accent)!important;box-shadow:0 10px 25px -5px #3b82f64d}.skill-pill:hover svg{color:var(--accent)!important;opacity:1!important;transform:scale(1.2) rotate(6deg);transition:transform .25s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 0 10px var(--accent))}.skill-pill:active{transform:scale(.94);transition:transform .08s ease}.nav-item-btn{transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s ease,color .2s ease;cursor:pointer}.nav-item-btn:hover{transform:translateY(-2px) scale(1.15);background-color:var(--card-bg-hover);color:var(--text-color)!important}.nav-item-btn:active{transform:scale(.9)}.project-link-btn{transition:transform .2s cubic-bezier(.16,1,.3,1),opacity .2s ease,color .2s ease;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.project-link-btn:hover{transform:translateY(-2px);opacity:.95}.project-link-btn:hover svg{transform:translate(3px,-3px);transition:transform .2s ease}.project-link-btn:active{transform:translateY(0) scale(.96)}.filter-tab-btn{transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;will-change:transform}.filter-tab-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 8px 20px #3b82f633}.filter-tab-btn:active{transform:scale(.94);transition:transform .08s ease}@keyframes pulseDotGlow{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}.pulse-dot{animation:pulseDotGlow 2s infinite}
