:root{--bg-void: #020509;--bg-deep: #05080f;--bg-surface: #080d17;--bg-elevated: #0d1520;--bg-glass: rgba(8, 13, 23, .7);--accent-cyan: #00d4ff;--accent-cyan-dim: rgba(0, 212, 255, .08);--accent-cyan-mid: rgba(0, 212, 255, .3);--accent-violet: #7b2fbe;--accent-violet-dim: rgba(123, 47, 190, .1);--accent-violet-mid: rgba(123, 47, 190, .35);--accent-pink: #ff2d78;--accent-green: #00ff94;--text-primary: #e8edf5;--text-secondary: rgba(232, 237, 245, .6);--text-muted: rgba(232, 237, 245, .35);--text-accent: var(--accent-cyan);--border-subtle: rgba(255, 255, 255, .06);--border-glow: rgba(0, 212, 255, .2);--shadow-glow-cyan: 0 0 40px rgba(0, 212, 255, .15), 0 0 80px rgba(0, 212, 255, .05);--shadow-glow-violet: 0 0 40px rgba(123, 47, 190, .2), 0 0 80px rgba(123, 47, 190, .08);--font-display: "Syne", sans-serif;--font-mono: "Syne Mono", monospace;--font-body: "Outfit", sans-serif;--section-padding: clamp(80px, 10vw, 140px);--container-max: 1200px;--ease-smooth: cubic-bezier(.25, .46, .45, .94);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{background-color:var(--bg-void);color:var(--text-primary);font-family:var(--font-body);font-weight:400;line-height:1.78;letter-spacing:.01em;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.12;letter-spacing:-.022em}p{line-height:1.82}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:none;border:none;background:none;font-family:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--accent-cyan-mid);border-radius:2px}::selection{background:var(--accent-cyan-mid);color:var(--bg-void)}.container{max-width:var(--container-max);margin:0 auto;padding:0 clamp(20px,5vw,60px)}.section{padding:var(--section-padding) 0;position:relative}.section-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:12px;display:flex;align-items:center;gap:12px}.section-label:before{content:"";display:block;width:24px;height:1px;background:var(--accent-cyan)}.section-title{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:700;color:var(--text-primary);margin-bottom:20px;line-height:1.1;letter-spacing:-.025em}.section-subtitle{font-size:clamp(.95rem,2vw,1.05rem);color:var(--text-secondary);max-width:560px;line-height:1.85;letter-spacing:.005em}.glow-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;position:relative;overflow:hidden;transition:border-color .3s var(--ease-smooth),transform .3s var(--ease-smooth)}.glow-card:hover{border-color:var(--border-glow);transform:translateY(-3px)}.gradient-text{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.reveal.revealed{opacity:1;transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 12px #00d4ff4d}50%{box-shadow:0 0 28px #00d4ffb3,0 0 50px #00d4ff33}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.97)}}app-hero{display:block}app-about,app-education,app-skills,app-experience,app-projects,app-contact{display:block;padding-top:80px}
