@font-face{font-family:PixeloidSans;src:url(/assets/fonts/FiraCode-Regular.ttf) format("truetype");font-weight:400}@font-face{font-family:PixeloidSans;src:url(/assets/fonts/FiraCode-Bold.ttf) format("truetype");font-weight:700}:root{--black: #07050b;--surface: #110c1a;--surface-raised: #1a1226;--border: #2c1f40;--purple: #9b5cff;--purple-bright: #c29bff;--purple-deep: #5b21b6;--text: #ece6f7;--text-muted: #9a8fb0;font-family:PixeloidSans,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text);background-color:var(--black);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}body:before,body:after{content:"";position:fixed;z-index:-1;pointer-events:none}body:before{top:-25%;right:-25%;bottom:-25%;left:-25%;background:radial-gradient(circle at 30% 20%,rgba(123,58,237,.35),transparent 35%),radial-gradient(circle at 75% 35%,rgba(194,155,255,.14),transparent 30%),radial-gradient(circle at 40% 85%,rgba(91,33,182,.3),transparent 35%);filter:blur(40px);animation:drift 18s ease-in-out infinite alternate}body:after{top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"),radial-gradient(rgba(194,155,255,.18) 1px,transparent 1.5px) 0 0 / 22px 22px;-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 100%);animation:grid-scroll 6s linear infinite}@keyframes drift{0%{transform:translate(0) rotate(0) scale(1)}33%{transform:translate(12%,6%) rotate(35deg) scale(1.15)}66%{transform:translate(-8%,10%) rotate(-20deg) scale(.95)}to{transform:translate(-12%,-4%) rotate(-40deg) scale(1.1)}}@keyframes grid-scroll{0%{background-position:0 0,0 0}to{background-position:0 0,22px 22px}}@media (prefers-reduced-motion: reduce){body:before,body:after,.card h3:before{animation:none!important}}#root{width:100%;max-width:720px;margin:0 auto;padding:calc(clamp(1.5rem,6vh,3.5rem) + env(safe-area-inset-top,0px)) 1rem 2rem;display:flex;flex-direction:column;gap:1.75rem}header{display:flex;align-items:center;gap:1.25rem}h1{margin:0;font-size:clamp(1.4rem,5vw,1.9rem);line-height:1.15;letter-spacing:.02em;color:#fff}section{display:flex;flex-direction:column;gap:.75rem}h2{margin:0;display:flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}nav{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}nav.projects{grid-template-columns:repeat(3,1fr)}nav.socials{grid-template-columns:repeat(4,1fr)}@media (max-width: 640px){nav.projects,nav.socials{grid-template-columns:repeat(2,1fr)}nav>:last-child:nth-child(odd){grid-column:span 2}}footer{width:100%}footer:empty{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.card h3{margin:0 0 .75rem;font-size:.8rem;font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.card h3:before{content:"";width:8px;height:8px;border-radius:50%;background:#3ba55d;box-shadow:0 0 #3ba55db3;animation:status-ping 2s ease-out infinite}@keyframes status-ping{0%{box-shadow:0 0 #3ba55db3}70%,to{box-shadow:0 0 0 7px #3ba55d00}}.card .activity{display:flex;align-items:baseline;gap:.75rem;font-size:.9rem;overflow-wrap:anywhere}.card .activity+.activity{margin-top:.5rem}.card .activity svg{color:var(--purple);flex-shrink:0}@media (max-width: 480px){:root{font-size:14px}#root{padding-top:calc(clamp(1rem,3vh,2rem) + env(safe-area-inset-top,0px));gap:1.25rem}}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}header,h2,nav>*,.card{animation:enter .6s cubic-bezier(.2,.7,.2,1) var(--enter-delay, 0s) both}section{--s: 0}section:nth-of-type(2){--s: 1}section:nth-of-type(3){--s: 2}nav>*{--t: 1}nav>:nth-child(2){--t: 2}nav>:nth-child(3){--t: 3}nav>:nth-child(4){--t: 4}h2,nav>*{--enter-delay: calc(.15s + var(--s) * .15s + var(--t, 0) * .06s)}@media (prefers-reduced-motion: reduce){header,h2,nav>*,.card{animation:none}}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:.5rem;left:.5rem;z-index:10;padding:.5rem .75rem;background:var(--surface-raised);color:var(--text);border-radius:6px}
