@import "https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900&family=Syne:wght@400;500;600;700;800&display=swap";
:root{--color-bg-primary:#080810;--color-bg-secondary:#0e0e1a;--color-bg-card:#12121f;--color-bg-card-hover:#1a1a2e;--color-bg-glass:#ffffff08;--color-accent-primary:#7c6af7;--color-accent-secondary:#5e9cf0;--color-accent-tertiary:#c084fc;--color-accent-glow:#7c6af740;--color-text-primary:#f0eff8;--color-text-secondary:#9896b8;--color-text-muted:#5b5977;--color-text-accent:#7c6af7;--color-border:#7c6af726;--color-border-subtle:#ffffff0f;--font-primary:"Outfit", sans-serif;--font-display:"Syne", sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:30px;--radius-full:9999px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 32px #00000080;--shadow-lg:0 16px 60px #0009;--shadow-accent:0 0 30px #7c6af74d;--shadow-card:0 0 0 1px var(--color-border), 0 8px 32px #0006;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.45s cubic-bezier(.16, 1, .3, 1);--sidebar-width:260px;--content-max-w:900px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.7;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-accent-primary);border-radius:var(--radius-full)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-primary);font-weight:700;line-height:1.2}a{color:inherit;transition:color var(--transition-base);text-decoration:none}p{color:var(--color-text-secondary);line-height:1.8}ul{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.section-inner{max-width:var(--content-max-w);padding:var(--space-2xl) var(--space-xl);margin:0 auto}.section-title{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent-primary);margin-bottom:var(--space-sm);font-size:.7rem;font-weight:700}.section-heading{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:var(--space-xl);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;position:relative}.section-heading:after{content:"";background:linear-gradient(90deg, var(--color-accent-primary), var(--color-accent-secondary));width:40px;height:3px;margin-top:var(--space-sm);border-radius:var(--radius-full);display:block}.glass-card{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.btn-primary{align-items:center;gap:var(--space-sm);background:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));color:#fff;font-family:var(--font-display);letter-spacing:.05em;border-radius:var(--radius-full);transition:all var(--transition-base);cursor:pointer;border:none;padding:.75rem 1.75rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 20px #7c6af766}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #7c6af799}.btn-ghost{align-items:center;gap:var(--space-sm);color:var(--color-accent-primary);font-family:var(--font-display);letter-spacing:.03em;border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-base);background:0 0;padding:.6rem 1.4rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:var(--color-accent-glow);border-color:var(--color-accent-primary);transform:translateY(-1px)}.skill-bar-bg{border-radius:var(--radius-full);background:#ffffff0f;height:6px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--color-accent-primary), var(--color-accent-secondary));border-radius:var(--radius-full);height:100%;transition:width 1s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #7c6af780}.tag{color:var(--color-accent-tertiary);border-radius:var(--radius-full);letter-spacing:.04em;background:#7c6af71f;border:1px solid #7c6af733;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.social-icon{border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);width:40px;height:40px;color:var(--color-text-secondary);transition:all var(--transition-base);justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.social-icon:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:var(--color-accent-glow);transform:translateY(-2px)}.orb{filter:blur(100px);opacity:.12;pointer-events:none;z-index:0;border-radius:50%;animation:8s ease-in-out infinite orbFloat;position:fixed}.orb-1{background:var(--color-accent-primary);width:500px;height:500px;animation-delay:0s;top:-100px;left:-100px}.orb-2{background:var(--color-accent-secondary);width:400px;height:400px;animation-delay:4s;bottom:-100px;right:-100px}@keyframes orbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-30px)scale(1.05)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes typeWrite{0%{width:0}to{width:100%}}@keyframes blink{0%,to{border-color:var(--color-accent-primary)}50%{border-color:#0000}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-fade-up{animation:fadeInUp .6s var(--transition-slow) both}.anim-fade-in{animation:.5s both fadeIn}.anim-scale-in{animation:scaleIn .5s var(--transition-slow) both}.anim-slide-left{animation:slideInLeft .6s var(--transition-slow) both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.timeline-item{border-left:2px solid var(--color-border);padding-left:1.5rem;padding-bottom:var(--space-lg);position:relative}.timeline-item:before{content:"";background:var(--color-accent-primary);width:8px;height:8px;box-shadow:0 0 12px var(--color-accent-primary);border-radius:50%;position:absolute;top:4px;left:-5px}.timeline-item:last-child{border-left-color:#0000;padding-bottom:0}@media (max-width:768px){.section-inner{padding:var(--space-xl) var(--space-lg)}}
