:root{color-scheme:dark;--bg:#07060f;--ink:#ece9ff;--mute:#cbc7f0;--glass:rgba(10,8,26,.55);--line:rgba(255,255,255,.13);--a:#7c5cff;--b:#22d3ee;--c:#ff5ca8;--grad:linear-gradient(120deg,var(--a),var(--b) 55%,var(--c));box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:80px}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}*,*:before,*:after{box-sizing:inherit}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 Bricolage Grotesque,system-ui,sans-serif;overflow-x:hidden}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background:#000 70% 35%/cover no-repeat}#vortex{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.aurora:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 28% 45%,#04030c99,#04030c2e 75%)}nav{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:4px;padding:6px;border-radius:999px;background:#0e0c208c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);max-width:calc(100% - 24px);overflow-x:auto;margin-top:env(safe-area-inset-top,0px)}nav a{color:var(--mute);text-decoration:none;font-size:15px;padding:7px 14px;border-radius:999px;white-space:nowrap;transition:background .25s,color .25s}nav a:hover,nav a:focus-visible{color:var(--ink);background:#ffffff1a;outline:none}main{max-width:1080px;margin:0 auto;padding:0 22px}section{padding:96px 0 24px}h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.02em}h2{font-size:clamp(30px,5vw,46px);font-weight:800;margin-bottom:36px}.glass{background:var(--glass);border:1px solid var(--line);border-radius:22px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 50px -25px #000000b3,inset 0 1px #ffffff14}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:flow 8s linear infinite}@keyframes flow{to{background-position:-200% 0}}#inicio{min-height:100svh;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-top:110px}h1{font-size:clamp(38px,7vw,74px);font-weight:800}.w{white-space:nowrap;width:fit-content}.gw .l{background:var(--grad);background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent}h1 .w{display:block}h1 .l{display:inline-block;opacity:0}.role{font-size:clamp(18px,2.4vw,23px);color:var(--mute);margin:22px 0 30px;max-width:30em}.cta{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;text-decoration:none;color:var(--ink);padding:13px 24px;border-radius:999px;font-weight:600;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .2s,box-shadow .3s}.btn.main{background:var(--grad);border:0;color:#09071a;box-shadow:0 10px 30px -10px var(--a)}.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px -10px var(--b);outline:none}.term{font:400 13.5px/1.7 JetBrains Mono,monospace;padding:0;overflow:hidden;opacity:0}.term .bar{display:flex;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line)}.term .bar i{width:11px;height:11px;border-radius:50%;background:#fff3}.term pre{margin:0;padding:18px 20px;overflow-x:auto;color:#f2f0ff;white-space:pre}.k{color:var(--c)}.s{color:var(--b)}.f{color:#b7a4ff}.m{color:#a9a4d6}.cur{display:inline-block;width:8px;height:1em;background:var(--b);vertical-align:-2px;animation:bl 1s steps(1) infinite}@keyframes bl{50%{opacity:0}}.about{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.about>div{padding:28px}.about p{margin:0;color:#f2f0ff}.stats{display:grid;gap:18px;align-content:center}.stat b{display:block;font-size:40px;font-weight:800;line-height:1}.stat span{color:var(--mute);font-size:15px}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.skills .glass{padding:24px}.skills h3{font-size:20px;margin-bottom:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:14px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;transition:background .25s,border-color .25s}.chip:hover{background:#7c5cff40;border-color:var(--a)}.tl{position:relative;padding-left:30px;display:grid;gap:22px}.tl:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--grad);border-radius:2px;opacity:.7}.job{padding:26px;position:relative}.job:before{content:"";position:absolute;left:-30px;top:32px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--b);box-shadow:0 0 16px var(--b)}.job h3{font-size:22px}.job .when{color:var(--b);font:500 13px JetBrains Mono,monospace;margin:4px 0 14px}.job ul{margin:0;padding-left:20px;color:#f2f0ff}.job li{margin:6px 0}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.card{padding:26px;display:flex;flex-direction:column;gap:14px;transition:transform .35s,border-color .35s;position:relative;overflow:hidden}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(124,92,255,.22),transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}.card:hover{transform:translateY(-6px);border-color:#7c5cff99}.card:hover:after{opacity:1}.card h3{font-size:22px}.card p{margin:0;color:#f2f0ff;font-size:16px;flex:1}.card a{color:var(--b);text-decoration:none;font-weight:600}.card a:hover{text-decoration:underline}.edu{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.edu .glass{padding:22px}.edu b{display:block;font-size:18px;margin-bottom:4px}.edu span{color:var(--mute);font-size:15px}.contact{padding:44px 28px;text-align:center}.contact h2{margin-bottom:12px}.contact p{color:var(--mute);margin:0 auto 26px;max-width:32em}.cta.c{justify-content:center}footer{text-align:center;color:var(--mute);font-size:14px;padding:50px 0 40px}#prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:30;background:var(--grad);transform:scaleX(0);transform-origin:0 50%;box-shadow:0 0 14px var(--b)}main section{transform-origin:50% 100%;will-change:transform,opacity}nav a.on{color:var(--ink);background:#ffffff1f}@media (max-width:820px){#inicio{grid-template-columns:1fr;padding-top:100px;gap:30px}.about{grid-template-columns:1fr}section{padding-top:72px}}nav a{position:relative;z-index:1}nav a.on{background:none}nav .pill{position:absolute;top:6px;bottom:6px;left:0;width:0;border-radius:999px;opacity:0;pointer-events:none;background:linear-gradient(120deg,#7c5cff59,#22d3ee40);border:1px solid rgba(255,255,255,.18);box-shadow:0 0 18px #7c5cff59;transition:transform .6s cubic-bezier(.22,1,.36,1),width .6s cubic-bezier(.22,1,.36,1),opacity .3s}nav a.logo{display:flex;align-items:center;padding:4px 10px;background:none}nav a.logo img{height:28px;width:28px;display:block;transition:transform .4s,filter .4s;filter:drop-shadow(0 0 6px rgba(190,50,90,.5))}nav a.logo:hover img{transform:rotate(-12deg) scale(1.12);filter:drop-shadow(0 0 10px rgba(230,60,110,.9))}
