:root{--bg: #0d0015;--bg-elevated: #1a0a2e;--text: #f0e6ff;--text-muted: #9a7bb5;--text-dim: #6b4f8a;--accent: #c910e0;--accent-glow: #e040ff;--accent2: #ff00aa;--accent2-glow: #ff44cc;--border: rgba(201, 16, 224, .2);--border-hover: rgba(201, 16, 224, .5);--radius: 12px;--radius-sm: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--max-width: 640px;--transition: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;align-items:center}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(201,16,224,.08) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 80%,rgba(255,0,170,.06) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 20% 60%,rgba(201,16,224,.04) 0%,transparent 50%);pointer-events:none;z-index:0}.container{width:100%;max-width:var(--max-width);padding:2rem 1.5rem;position:relative;z-index:1}.hero{text-align:center;padding:3rem 0 2rem}.hero-portrait{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;display:block;border:2px solid var(--border);transition:border-color var(--transition),box-shadow var(--transition);box-shadow:0 0 30px #c910e026}.hero-portrait:hover{border-color:var(--accent);box-shadow:0 0 40px #c910e04d}.hero-name{font-size:2.5rem;font-weight:700;line-height:1.1;margin-bottom:.5rem;letter-spacing:-.02em;color:var(--accent-glow)}.hero-tagline{font-size:1.05rem;color:var(--text-muted);font-weight:400;max-width:480px;margin:0 auto}.section{padding:2rem 0}.section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:1rem}.bio-text{font-size:1rem;color:var(--text-muted);line-height:1.7}.bio-text p+p{margin-top:1rem}.links-grid{display:flex;flex-direction:column;gap:.75rem}.link-card{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);font-size:.95rem;font-weight:500;transition:all var(--transition);position:relative;overflow:hidden}.link-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#c910e00d,#ff00aa08);opacity:0;transition:opacity var(--transition)}.link-card:hover{border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 4px 20px #c910e026}.link-card:hover:before{opacity:1}.link-card:active{transform:translateY(0)}.link-icon{width:20px;height:20px;flex-shrink:0;position:relative;z-index:1}.link-icon svg{width:100%;height:100%;fill:var(--text-muted);transition:fill var(--transition)}.link-card:hover .link-icon svg{fill:var(--accent-glow)}.link-label{flex:1;margin-left:.85rem;position:relative;z-index:1}.link-arrow{color:var(--text-dim);font-size:1.1rem;position:relative;z-index:1;transition:transform var(--transition),color var(--transition)}.link-card:hover .link-arrow{color:var(--accent);transform:translate(3px)}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:.5rem 0}.footer{text-align:center;padding:3rem 0 1.5rem}.footer-text{font-size:.75rem;color:var(--text-dim);line-height:1.6}.footer-text a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border);transition:color var(--transition),text-decoration-color var(--transition)}.footer-text a:hover{color:var(--accent);text-decoration-color:var(--accent)}@media(max-width:480px){.container{padding:1.5rem 1rem}.hero{padding:2rem 0 1.5rem}.hero-portrait{width:100px;height:100px}.hero-name{font-size:2rem}.hero-tagline{font-size:.95rem}}@media(min-width:768px){.hero{padding:4rem 0 2.5rem}.hero-portrait{width:140px;height:140px}.hero-name{font-size:3rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .6s ease-out both}.animate-in-delay-1{animation-delay:.1s}.animate-in-delay-2{animation-delay:.2s}.animate-in-delay-3{animation-delay:.3s}.animate-in-delay-4{animation-delay:.4s}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #c910e04d}50%{box-shadow:0 0 35px #c910e080}}.hero-portrait{animation:glowPulse 4s ease-in-out infinite}
