:root{--bg:#02040a;--surface:#060b15;--surface-2:#0a1120;--border:#141f35;--text:#e4ecf8;--muted:#8496b3;--blue:#3b82f6;--blue-soft:#60a5fa;--blue-dim:#3b82f624;--radius:14px;--mono:"JetBrains Mono", ui-monospace, monospace;--display:"Space Grotesk", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:linear-gradient(#60a5fa09 1px, transparent 1px) 0 0 / 48px 48px, linear-gradient(90deg, #60a5fa09 1px, transparent 1px) 0 0 / 48px 48px, var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.65 Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.15}.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}.glow{filter:blur(40px);pointer-events:none;z-index:-1;background:radial-gradient(closest-side,#3b82f624,#0000);width:70vw;height:70vh;position:fixed;inset:-30vh -20vw auto auto}.nav{z-index:10;backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#02040abf;position:sticky;top:0}.nav-inner{align-items:center;gap:24px;height:64px;display:flex}.logo{font-family:var(--display);font-size:20px;font-weight:700}.logo span{color:var(--blue)}.nav-links{color:var(--muted);opacity:0;visibility:hidden;gap:22px;margin-left:auto;font-size:14px;transition:opacity .3s,transform .3s,visibility .3s;display:flex;transform:translateY(-4px)}.nav.scrolled .nav-links{opacity:1;visibility:visible;transform:none}.nav-links a:hover{color:var(--text)}.lang{border:1px solid var(--border);border-radius:999px;padding:3px;display:flex}.lang a{font:500 12px var(--mono);color:var(--muted);border-radius:999px;padding:4px 10px}.lang a:hover{color:var(--text)}.lang a[aria-current]{background:var(--blue);color:#fff}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100svh - 64px);padding-top:40px;padding-bottom:80px;display:flex;position:relative}.hero:before{content:"";filter:blur(30px);z-index:-1;background:radial-gradient(closest-side,#3b82f629,#0000);position:absolute;inset:15% 10%}.kicker{font:500 13px/1.6 var(--mono);color:var(--blue-soft);letter-spacing:.06em;text-transform:uppercase;text-wrap:balance;max-width:640px;margin:0 0 16px}.hero h1{letter-spacing:-.035em;background:linear-gradient(#fff 30%,#9dbcf0);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(42px,9vw,96px)}.hero-nav{grid-template-columns:repeat(4,1fr);gap:12px;width:100%;max-width:720px;margin-top:48px;display:grid}.hero-nav a{border:1px solid var(--border);font-family:var(--display);background:#060b15b3;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;font-weight:500;transition:border-color .2s,background .2s,transform .2s;display:flex}.hero-nav a:hover{border-color:var(--blue);background:var(--blue-dim);transform:translateY(-2px)}.hero-nav .num{font-size:12px}.scroll-hint{color:var(--muted);font-size:20px;animation:2.4s ease-in-out infinite bob;position:absolute;bottom:24px}.scroll-hint:hover{color:var(--blue-soft)}@keyframes bob{50%{transform:translateY(6px)}}.about{text-align:center;padding-top:72px}.about .lead{max-width:720px;color:var(--text);text-wrap:balance;margin:0 auto;font-size:20px}.hero-title{font-family:var(--display);letter-spacing:-.01em;background:linear-gradient(90deg, var(--blue-soft), #a5c8ff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:14px 0 0;font-size:clamp(20px,3vw,30px);font-weight:500}.lead{color:var(--muted);max-width:620px;margin:0;font-size:18px}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{border:1px solid var(--border);border-radius:10px;align-items:center;gap:6px;padding:11px 20px;font-size:15px;font-weight:500;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.btn:hover{border-color:var(--blue);transform:translateY(-1px)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:#2f6fe0}.socials{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px;display:flex}.social{border:1px solid var(--border);background:var(--surface);min-width:180px;font-family:var(--display);border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:16px 26px;font-size:17px;font-weight:500;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.social:hover{border-color:var(--blue);background:var(--blue-dim);transform:translateY(-2px)}.social .icon{width:22px;height:22px;color:var(--blue-soft);margin:0}.icon{vertical-align:-1px;width:12px;height:12px;-webkit-mask:var(--src) center / contain no-repeat;mask:var(--src) center / contain no-repeat;background:currentColor;margin-right:6px;display:inline-block}.section{padding-top:56px;padding-bottom:56px}.section h2{align-items:baseline;gap:14px;margin-bottom:32px;font-size:30px;display:flex}.num{font:500 14px var(--mono);color:var(--blue)}.project{background:linear-gradient(180deg, var(--surface-2), var(--surface)) padding-box, linear-gradient(180deg, #60a5fa73, var(--border) 40%) border-box;border:1px solid #0000;border-radius:20px;grid-template-columns:1.05fr 1fr;gap:40px;padding:32px;display:grid;box-shadow:0 40px 80px -40px #000000e6}.project+.project{margin-top:24px}.project h3{margin:12px 0 10px;font-size:32px}.project p{color:var(--muted);margin:0}.meta{flex-wrap:wrap;gap:10px;display:flex}.tag,.status{font:500 12px var(--mono);border-radius:999px;padding:4px 10px}.tag{background:var(--blue-dim);color:var(--blue-soft)}.status{border:1px solid var(--border);color:var(--muted)}.status:before{content:"";vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status.live:before{background:#34d399;box-shadow:0 0 8px #34d399}.status.wip:before{background:#fbbf24}.points{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.points li{color:var(--muted);padding-left:20px;font-size:15px;position:relative}.points li:before{content:"›";color:var(--blue);font-weight:600;position:absolute;left:4px}.project-visual{flex-direction:column;justify-content:center;gap:16px;min-width:0;display:flex}.screen{aspect-ratio:16/10;border:1px solid var(--border);background:#050912;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 30px 60px -30px #3b82f673}.strip{gap:3%;width:220%;padding-left:5%;animation:12s cubic-bezier(.65,0,.35,1) infinite glide;display:flex;position:absolute;inset:10% auto 10% 0}.win{background:linear-gradient(#13223d,#0c1729);border:1px solid #22385e;border-radius:8px;flex:none;padding:6px}.win i{background:#22385e;border-radius:3px;width:30%;height:6px;display:block}.w1{width:14%}.w2{width:21%}.w3{border-color:var(--blue);width:14%;box-shadow:0 0 0 1px var(--blue), 0 0 24px #3b82f659}.w3 i{background:var(--blue)}.w4{width:21%}.w5{width:14%}@keyframes glide{0%,18%{transform:translate(0)}28%,46%{transform:translate(-17%)}56%,74%{transform:translate(-32%)}84%,to{transform:translate(0)}}.keys{justify-content:center;gap:6px;display:flex}kbd{font:500 13px var(--mono);text-align:center;border:1px solid var(--border);background:var(--surface);min-width:30px;color:var(--muted);border-bottom-width:3px;border-radius:7px;padding:5px 8px}.racks{justify-content:space-around;align-items:stretch;padding:10% 6%;display:flex}.rack{background:repeating-linear-gradient(#13223d 0 14%,#050912 14% 18%);border:1px solid #22385e;border-radius:4px;width:9%}.picker{background:var(--blue);width:12px;height:12px;box-shadow:0 0 14px var(--blue);border-radius:50%;animation:9s ease-in-out infinite pick;position:absolute;bottom:5%;left:14%}@keyframes pick{0%{bottom:5%;left:14%}20%{bottom:70%;left:14%}35%{bottom:70%;left:46%}55%{bottom:20%;left:46%}75%{bottom:20%;left:80%}to{bottom:5%;left:14%}}.degree{background:linear-gradient(180deg, var(--surface-2), var(--surface)) padding-box, linear-gradient(180deg, #60a5fa73, var(--border) 40%) border-box;border:1px solid #0000;border-radius:20px;justify-content:space-between;align-items:center;gap:40px;margin-bottom:16px;padding:40px;display:flex}.majors{letter-spacing:-.025em;flex-direction:column;gap:2px;margin:20px 0 16px;font-size:clamp(28px,4.4vw,46px);display:flex}.majors .plus{color:var(--blue);font-size:.8em;line-height:1.1}.degree .tag{text-transform:uppercase;letter-spacing:.08em;padding:6px 14px;font-size:14px}.tl-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.tl-head h3{font-size:20px}.when{font:500 13px var(--mono);color:var(--blue-soft);white-space:nowrap}.detail{color:var(--text);margin:6px 0 0}.uab{filter:brightness(0)invert();opacity:.85;flex:none;width:200px}.where{color:var(--muted);margin:4px 0 0;font-size:15px}.tech{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.tech-item{border:1px solid var(--border);background:var(--surface-2);font-family:var(--display);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;font-weight:500;transition:border-color .2s,transform .2s;display:flex}.tech-item:hover{border-color:#2a4170;transform:translateY(-2px)}.tech-item .icon{flex:none;width:24px;height:24px;margin:0}.langs{margin-top:16px}.lang-list{color:var(--muted);flex-wrap:wrap;gap:8px 32px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.card h4{font-size:13px;font-family:var(--mono);color:var(--blue-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-weight:500}.card ul{color:var(--muted);margin:0;padding-left:18px}.job{padding:28px}.note{border-top:1px solid var(--border);color:var(--text);margin:20px 0 0;padding-top:16px;font-style:italic}.contact{padding-bottom:96px}.footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;padding-bottom:40px;font-size:13px;display:flex}@media (width<=820px){.project{grid-template-columns:1fr;gap:28px;padding:22px}.nav-links{display:none}.lang{margin-left:auto}.hero-nav{grid-template-columns:repeat(2,1fr)}.social{width:100%;max-width:320px}.degree{flex-direction:column-reverse;align-items:flex-start;gap:24px;padding:26px}.uab{width:140px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.strip,.picker,.scroll-hint{animation:none}}
