*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #000;--bg-card: #0a0a0a;--bg-card-hover: #111;--text: #afafaf;--text-dim: #666;--text-bright: #e0e0e0;--border: #1a1a1a;--gradient: linear-gradient( 125deg, #00ff8b 0%, #1497b8 30%, #b090fc 70%, #f88493 100% );--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#222 #000}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--text);text-decoration:none;transition:color .3s ease}a:hover{color:var(--text-bright)}.hero{min-height:100vh;display:flex;align-items:center;padding-bottom:30vh;justify-content:center;padding:2rem;overflow:visible}.hero-content{position:relative;opacity:0;animation:fadeUp 1s ease .2s forwards;padding-bottom:2.5rem}.hero-inner{position:relative}.hero-bar{position:absolute;height:10px;overflow:visible}.hero-greeting{position:absolute;font-size:clamp(24px,2.8vw,32px);color:var(--text);letter-spacing:0;line-height:1}.hero-name{position:absolute;font-size:clamp(52px,5.5vw,62px);font-weight:800;letter-spacing:-2px;padding-right:3px;line-height:1;top:0;background:var(--gradient);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 15s ease infinite}.hero-tagline{font-size:clamp(.7rem,1.2vw,.8rem);color:var(--text);text-transform:uppercase;margin-top:0}.hero-bar-fill{width:15%;height:100%;position:absolute;left:3px;top:0;border-radius:3px;background:var(--gradient);background-size:400% 400%;animation:loading 4s ease-in-out infinite,gradientShift 15s ease infinite}.hero-bar-dot{width:10px;height:10px;border-radius:3px;position:absolute;right:-13px;top:0;background:var(--gradient);background-size:400% 400%;opacity:0;animation:dotAppear 4s ease-in-out infinite,gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes loading{0%{width:15%}80%{width:calc(100% - 2px)}}@keyframes dotAppear{0%,60%{opacity:0}80%{opacity:1}to{opacity:0}}
