@font-face{font-family:Geist;src:url(/fonts/GeistVF.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--brand-primary:#0072c6;--brand-light:#00c2ff;--brand-gradient:linear-gradient(135deg, #0072c6 0%, #0072c6 35%, #00c2ff 100%);--bg:#fff;--bg-card:#f8fafc;--bg-card-hover:#f0f7ff;--border:#0072c61f;--border-strong:#0072c640;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--particle-color:#0072c614;--glow-color:#00c2ff0f;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--max-width:680px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:.15s ease-out;--transition-base:.25s ease-out;--transition-slow:.4s ease-out}@media (prefers-color-scheme:dark){:root{--bg:#0a0f1a;--bg-card:#0f1829;--bg-card-hover:#152236;--border:#00c2ff1a;--border-strong:#00c2ff33;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0a0f1a;--particle-color:#00c2ff0d;--glow-color:#0072c614}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg);min-height:100vh;transition:background-color var(--transition-slow), color var(--transition-slow);line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:var(--brand-primary);transition:color var(--transition-fast), opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.8}@media (prefers-color-scheme:dark){a{color:var(--brand-light)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.bg-canvas{z-index:0;pointer-events:none;background:linear-gradient(135deg,#0072c60a 0%,#fff 40%,#00c2ff08 100%);position:fixed;inset:0;overflow:hidden}@media (prefers-color-scheme:dark){.bg-canvas{background:var(--bg)}}.bg-grid{background-image:radial-gradient(circle,#0072c68c 1.5px,#0000 1.5px);background-size:40px 40px;width:120%;height:120%;animation:30s linear infinite gridDrift;position:absolute;inset:-10%}@media (prefers-color-scheme:dark){.bg-grid{background-image:radial-gradient(circle,#00c2ff4d 1.5px,#0000 1.5px)}}@keyframes gridDrift{0%{transform:translate(0)}50%{transform:translate(20px,15px)}to{transform:translate(0)}}.bg-orb{opacity:0;border:1.5px solid #0072c680;border-radius:50%;animation:8s ease-out infinite ringPulse;position:absolute}.bg-orb-1{width:300px;height:300px;animation-duration:9s;animation-delay:0s;top:10%;left:15%}.bg-orb-2{width:200px;height:200px;animation-duration:7s;animation-delay:-3s;top:55%;right:20%}.bg-orb-3{width:250px;height:250px;animation-duration:11s;animation-delay:-6s;bottom:15%;left:50%}@media (prefers-color-scheme:dark){.bg-orb{border-color:#00c2ff40}}@keyframes ringPulse{0%{opacity:0;transform:scale(.4)}20%{opacity:1}60%{opacity:.5}to{opacity:0;transform:scale(1.8)}}.bg-scan{background:linear-gradient(90deg,#0000 0%,#0072c666 30%,#00c2ff99 50%,#0072c666 70%,#0000 100%);width:60%;height:1px;animation:14s linear infinite traceH;position:absolute;top:0;left:-100%}.bg-scan:after{content:"";background:linear-gradient(#0000 0%,#0072c64d 40%,#00c2ff80 60%,#0000 100%);width:1px;height:60vh;animation:10s linear -4s infinite traceV;position:absolute;top:-100vh;left:60%}@keyframes traceH{0%{opacity:0;top:20%;left:-60%}5%{opacity:1}95%{opacity:1}to{opacity:0;top:70%;left:110%}}@keyframes traceV{0%{opacity:0;top:-60vh;left:30%}5%{opacity:1}95%{opacity:1}to{opacity:0;top:120vh;left:70%}}.bg-node{background:var(--brand-primary);opacity:0;border-radius:50%;width:6px;height:6px;animation:4s ease-in-out infinite nodeBlink;position:absolute}.bg-node:first-child{animation-duration:4s;animation-delay:0s;top:20%;left:40%}.bg-node:nth-child(2){animation-duration:5s;animation-delay:-1.5s;top:55%;left:25%}.bg-node:nth-child(3){animation-duration:3.5s;animation-delay:-3s;top:35%;right:30%}.bg-node:nth-child(4){animation-duration:6s;animation-delay:-.8s;bottom:25%;left:60%}.bg-node:nth-child(5){animation-duration:4.5s;animation-delay:-2.2s;top:70%;right:15%}@media (prefers-color-scheme:dark){.bg-node{background:var(--brand-light);box-shadow:0 0 6px var(--brand-light)}}@keyframes nodeBlink{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.4)}60%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.page-wrapper{z-index:1;min-height:100vh;padding:var(--space-8) var(--space-4);flex-direction:column;align-items:center;display:flex;position:relative}.card{width:100%;max-width:var(--max-width);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000f, 0 4px 24px #0072c60f, 0 0 0 1px var(--border);transition:box-shadow var(--transition-base);overflow:hidden}@media (prefers-color-scheme:dark){.card{box-shadow:0 1px 3px #0000004d, 0 4px 32px #0072c61f, 0 0 0 1px var(--border)}}.hero-banner{aspect-ratio:16/7;background-image:url(/og-image.png);background-position:top;background-size:cover;background-color:var(--brand-primary);width:100%;position:relative;overflow:hidden}.hero-banner-overlay{background:linear-gradient(#00143c26 0%,#00143c8c 100%);position:absolute;inset:0}.hero-name{bottom:var(--space-5);left:var(--space-6);right:var(--space-6);text-align:center;position:absolute}.hero-name h1{letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px #0006;font-size:clamp(1.4rem,5vw,2rem);font-weight:700;line-height:1.1}.hero-name .title{margin-top:var(--space-1);color:#ffffffd9;letter-spacing:.02em;text-shadow:0 1px 6px #0000004d;font-size:clamp(.8rem,2.5vw,1rem);font-weight:400}.card-body{padding:var(--space-6) var(--space-6) var(--space-8)}.cta-section{margin-bottom:var(--space-6)}.cta-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-6);background:var(--brand-gradient);color:#fff;font-size:var(--text-base);border-radius:var(--radius-md);cursor:pointer;letter-spacing:.01em;transition:opacity var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:none;font-weight:600;text-decoration:none;display:flex;box-shadow:0 2px 12px #0072c659}.cta-btn:hover{opacity:1;transform:translateY(-1px);box-shadow:0 6px 24px #0072c673}.cta-btn:active{transform:translateY(0)}.cta-btn svg{flex-shrink:0;width:18px;height:18px}.bio-section{margin-bottom:var(--space-6)}.bio-section p{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-4);line-height:1.7}.bio-section p:last-child{margin-bottom:0}.bio-section a{border-bottom:1px solid;padding-bottom:1px;font-weight:600}.divider{background:var(--border);height:1px;margin:var(--space-6) 0}.section-label{font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-4);font-weight:700}.tags-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.02em;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:0 0;align-items:center;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.tag:before{content:"";background:linear-gradient(105deg,#0000 40%,#0072c626 50%,#0000 60%);transition:transform .4s;position:absolute;inset:0;transform:translate(-100%)}.tag:hover:before{transform:translate(100%)}.tag:hover{border-color:var(--brand-primary);color:var(--brand-primary);opacity:1;transform:translateY(-1px);box-shadow:0 2px 8px #0072c633}@media (prefers-color-scheme:dark){.tag:before{background:linear-gradient(105deg,#0000 40%,#00c2ff1f 50%,#0000 60%)}.tag:hover{color:var(--brand-light);border-color:var(--brand-light);box-shadow:0 2px 8px #00c2ff26}}.work-section{margin-bottom:0}.work-item{justify-content:center;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);letter-spacing:.05em;font-weight:500;display:flex}.work-dot{background:var(--brand-gradient);border-radius:50%;flex-shrink:0;width:8px;height:8px}.social-links{gap:var(--space-5);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.social-link{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);width:48px;height:48px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;display:flex}.social-link:hover{opacity:1;background:var(--bg-card-hover);transform:translateY(-3px)scale(1.08);box-shadow:0 6px 20px #0000001f}.social-link svg{width:24px;height:24px}.social-link[data-platform=github] svg{fill:#181717}.social-link[data-platform=linkedin] svg{fill:#0a66c2}.social-link[data-platform=reddit] svg{fill:#ff4500}.social-link[data-platform=spotify] svg{fill:#1db954}@media (prefers-color-scheme:dark){.social-link[data-platform=github] svg{fill:#fff}}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);text-align:center;justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.footer-copy{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.02em}.footer-link{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.03em;align-items:center;gap:var(--space-1);font-weight:500;display:inline-flex}.footer-link:hover{color:var(--brand-primary);opacity:1}@media (prefers-color-scheme:dark){.footer-link:hover{color:var(--brand-light)}}.footer-name-link{letter-spacing:.18em;color:var(--brand-primary);transition:border-color var(--transition-fast), color var(--transition-fast);white-space:nowrap;border-bottom:1px solid #0000;font-weight:700;text-decoration:none}.footer-name-link:hover{opacity:1;border-bottom-color:var(--brand-primary)}@media (prefers-color-scheme:dark){.footer-name-link{color:var(--brand-light)}.footer-name-link:hover{border-bottom-color:var(--brand-light)}}@media (width>=640px){.page-wrapper{padding:var(--space-12) var(--space-6)}.hero-name h1{letter-spacing:.14em;font-size:2rem}.card-body{padding:var(--space-8) var(--space-8) var(--space-10)}.card-footer{padding:var(--space-4) var(--space-8)}}@media (width>=1024px){.page-wrapper{padding:var(--space-16) var(--space-8)}:root{--max-width:700px}}@media (width>=1280px){:root{--max-width:720px}}.work-link{color:var(--brand-primary);letter-spacing:.08em;transition:border-color var(--transition-fast), color var(--transition-fast);border-bottom:1px solid #0000;font-weight:700;text-decoration:none}.work-link:hover{opacity:1;border-bottom-color:var(--brand-primary)}@media (prefers-color-scheme:dark){.work-link{color:var(--brand-light)}.work-link:hover{border-bottom-color:var(--brand-light)}}
