[data-theme=dark]{--bg-primary:#0f0f0f;--bg-secondary:#121212;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--accent-color:#2997ff;--border-color:#ffffff14;--hover-state:#ffffff0d;--bg:var(--bg-primary);--bg2:var(--bg-secondary);--bg3:#1a1a1a;--surface:#1c1c1ecc;--surface2:#242426b3;--border:#ffffff14;--border2:#ffffff26;--fg:var(--text-primary);--fg2:var(--text-secondary);--fg3:#6e6e73;--accent:var(--accent-color);--accent2:#5ac8fa;--green:#30d158;--gold:#ffd60a;--glass:#1c1c1e66;--glass2:#2c2c2e99;--nav-bg:#0f0f0fbf;--ga:#2997ff1f;--gb:#5ac8fa14;--c-shadow:0 4px 24px #0006}[data-theme=light]{--bg-primary:#f5f5f7;--bg-secondary:#ebebeb;--text-primary:#1d1d1f;--text-secondary:#86868b;--accent-color:#0071e3;--border-color:#00000014;--hover-state:#0000000a;--bg:var(--bg-primary);--bg2:var(--bg-secondary);--bg3:#e5e5e5;--surface:#ffffffd9;--surface2:#f2f2f7bf;--border:var(--border-color);--border2:#00000026;--fg:var(--text-primary);--fg2:var(--text-secondary);--fg3:#515154;--accent:var(--accent-color);--accent2:#0077ed;--green:#34c759;--gold:#fc0;--glass:#ffffffb3;--glass2:#ffffffe6;--nav-bg:#f5f5f7cc;--ga:#0071e30f;--gb:#0077ed0a;--c-shadow:0 4px 20px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;transition:background .4s ease-in-out,color .4s ease-in-out;overflow-x:hidden}a{color:inherit;text-decoration:none}button{background:0 0;border:none;font-family:inherit}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent)}body:after{content:"";pointer-events:none;z-index:9998;opacity:.5;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");position:fixed;inset:0}nav{z-index:500;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;height:66px;padding:0 clamp(18px,4vw,52px);transition:background .4s ease-in-out,border-color .4s ease-in-out,-webkit-backdrop-filter .4s ease-in-out,backdrop-filter .4s ease-in-out;display:flex;position:fixed;inset:0 0 auto}nav.scrolled{background:var(--nav-bg);border-color:var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nlogo{color:var(--fg);letter-spacing:-.02em;z-index:502;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:500;position:relative}.nlogo span{color:var(--accent)}.nlinks{background:var(--glass);border:1px solid var(--border2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:100px;align-items:center;gap:2px;padding:4px;display:flex;position:relative}.nav-pill{background:var(--accent);z-index:0;pointer-events:none;will-change:transform, width;border-radius:100px;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px;left:0}.nlinks a{z-index:1;letter-spacing:.05em;text-transform:uppercase;color:var(--fg2);border-radius:100px;padding:7px 15px;font-size:.68rem;font-weight:600;transition:background .3s ease-in-out,color .3s ease-in-out,transform .3s ease-in-out;position:relative}.nlinks a:hover{background:var(--hover-state);color:var(--fg);transform:scale(1.02)}.nlinks a.act{color:#fff}.nright{z-index:502;align-items:center;gap:10px;display:flex;position:relative}.tbtn{border:1px solid var(--border2);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:38px;height:38px;color:var(--fg);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;transition:background .3s ease-in-out,transform .3s ease-in-out,color .3s ease-in-out;display:flex}.tbtn svg{transition:transform .4s cubic-bezier(.4,0,.2,1)}.tbtn:hover svg{transform:scale(1.1)rotate(15deg)}.tbtn:hover{background:var(--hover-state);transform:rotate(18deg)scale(1.05)}.hbtn{border:1px solid var(--border2);background:var(--glass);z-index:502;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;display:none;position:relative}.hbtn span{background:var(--fg);transform-origin:50%;border-radius:2px;width:17px;height:1.5px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s,width .3s;display:block}.hbtn.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hbtn.open span:nth-child(2){opacity:0;width:0}.hbtn.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.drawer{z-index:498;background:var(--bg);opacity:0;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:opacity .4s,visibility .4s;display:flex;position:fixed;inset:0}.drawer.open{opacity:1;visibility:visible}.drawer a{color:var(--fg3);opacity:0;padding:8px 20px;font-family:JetBrains Mono,monospace;font-size:clamp(1.7rem,7vw,3rem);font-weight:700;transition:color .25s,transform .25s,opacity .25s;transform:translateY(14px)}.drawer.open a{opacity:1;transform:translateY(0)}.drawer.open a:first-child{transition-delay:40ms}.drawer.open a:nth-child(2){transition-delay:80ms}.drawer.open a:nth-child(3){transition-delay:.12s}.drawer.open a:nth-child(4){transition-delay:.16s}.drawer.open a:nth-child(5){transition-delay:.2s}.drawer a:hover{color:var(--accent);transform:translate(8px)!important}.drawer-ft{letter-spacing:.15em;text-transform:uppercase;color:var(--fg3);opacity:0;font-family:JetBrains Mono,monospace;font-size:.6rem;transition:opacity .4s .28s;position:absolute;bottom:28px}.drawer.open .drawer-ft{opacity:1}#hero{flex-direction:column;justify-content:center;min-height:100dvh;padding:clamp(100px,15vh,140px) clamp(20px,5vw,52px) clamp(56px,8vh,96px);display:flex;position:relative;overflow:hidden}.orb{filter:blur(40px);pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.orb1{background:radial-gradient(circle, var(--ga), transparent 70%);width:clamp(280px,50vw,680px);height:clamp(280px,50vw,680px);animation:9s ease-in-out infinite flt;top:-25%;right:-8%}.orb2{background:radial-gradient(circle, var(--gb), transparent 70%);width:clamp(180px,35vw,480px);height:clamp(180px,35vw,480px);animation:11s ease-in-out infinite reverse flt;bottom:5%;left:-6%}@keyframes flt{0%,to{transform:translate(0, var(--py,0px)) scale(1)}50%{transform:translate(10px, calc(var(--py,0px) - 15px)) scale(1.02)}}.hbadge{background:var(--glass);border:1px solid var(--border2);letter-spacing:.07em;text-transform:uppercase;color:var(--accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;border-radius:100px;align-items:center;gap:10px;width:fit-content;margin-bottom:28px;padding:9px 22px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;animation:.7s .3s forwards fsu;display:inline-flex}.hbdot{background:var(--green);width:7px;height:7px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:2.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.hhd{letter-spacing:-.05em;font-family:JetBrains Mono,monospace;font-size:clamp(2.6rem,8.5vw,9.5rem);font-weight:800;line-height:1.05;overflow:visible}.hl{padding-bottom:.1em;display:block;overflow:hidden}.hl>span{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) forwards lu;display:block;transform:translateY(108%)}.hl:first-child>span{animation-delay:.4s}.hl:nth-child(2)>span{animation-delay:.54s}.hl:nth-child(3)>span{animation-delay:.68s}.ghost{-webkit-text-stroke:1px var(--border2);color:#0000}.hi{color:var(--accent)}@keyframes lu{to{opacity:1;transform:translateY(0)}}@keyframes fsu{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.htw{color:var(--fg2);opacity:0;flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;font-family:JetBrains Mono,monospace;font-size:clamp(.72rem,1.4vw,.88rem);animation:.7s 1s forwards fsu;display:flex}.tw-pre{color:var(--green)}.tw-txt{color:var(--fg)}.tw-cur{background:var(--accent);vertical-align:text-bottom;width:2px;height:.88em;box-shadow:0 0 5px var(--accent);border-radius:1px;margin-left:1px;animation:.75s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hsub{border-top:1px solid var(--border);opacity:0;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:36px;padding-top:26px;animation:.7s 1.15s forwards fsu;display:flex}.hdesc{color:var(--fg2);max-width:420px;font-size:clamp(.85rem,1.4vw,.98rem);line-height:1.78}.hdesc strong{color:var(--fg);font-weight:700}.hact{flex-shrink:0;align-items:center;gap:12px;display:flex}.btn{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;transform:translate3d(var(--mx,0px), var(--my,0px), 0);border-radius:10px;justify-content:center;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500;transition:transform .2s cubic-bezier(.2,1,.3,1),background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn.magnet-leave{transition:transform .6s cubic-bezier(.16,1,.3,1),background .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.btn svg{transform:translate3d(calc(var(--mx,0px) * 1.6), calc(var(--my,0px) * 1.6), 0);transition:inherit}.ba{background:var(--accent);color:#fff;padding:12px 22px;box-shadow:0 8px 24px #7c6dff4d}.ba:hover{transform:translate3d(var(--mx,0px), var(--my,0px), 0) translateY(-2px) scale(1.02);box-shadow:0 14px 32px #7c6dff8c}.bo{border:1px solid var(--border2);color:var(--fg2);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:11px 18px}.bo:hover{color:var(--fg);border-color:var(--fg2);background:var(--glass2);transform:translate3d(var(--mx,0px), var(--my,0px), 0) translateY(-2px) scale(1.02);box-shadow:0 8px 24px var(--border2)}.hscroll{opacity:0;flex-direction:column;align-items:center;gap:5px;animation:.7s 1.5s forwards fsu;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-ln{background:linear-gradient(180deg, var(--accent), transparent);width:1px;height:36px;animation:1.6s ease-in-out infinite sd}@keyframes sd{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.scroll-lb{letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);font-family:JetBrains Mono,monospace;font-size:.58rem}.mqw{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg2);padding:13px 0;overflow:hidden}.mqt{width:max-content;animation:26s linear infinite tick;display:flex}.mqi{letter-spacing:.12em;text-transform:uppercase;color:var(--fg3);white-space:nowrap;align-items:center;gap:22px;padding:0 28px;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:500;display:flex}.mki{background:var(--accent);width:4px;height:4px;box-shadow:0 0 5px var(--accent);border-radius:50%;flex-shrink:0}@keyframes tick{0%{transform:translate(0)}to{transform:translate(-50%)}}section{will-change:transform;padding:clamp(60px,9vw,120px) clamp(20px,5vw,52px)}.slbl{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);align-items:center;gap:9px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:500;display:flex}.slbl:before{content:"";background:var(--accent);width:26px;height:1px}.stit{letter-spacing:-.03em;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:clamp(1.8rem,5vw,4rem);font-weight:700;line-height:1.1;transition:color .3s cubic-bezier(.4,0,.2,1)}.stit:hover{color:var(--accent)}.shd{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;margin-bottom:52px;padding-bottom:26px;display:flex}.reveal{opacity:0;will-change:transform, opacity;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);transform:translateY(30px)scale(.98)}.reveal.in{opacity:1;transform:translateY(0)scale(1)}#work{background:var(--bg)}.pgrid{flex-direction:column;gap:16px;margin-top:10px;display:flex}.pcard{background:var(--surface2);border:1px solid var(--border);color:inherit;box-shadow:var(--c-shadow);-webkit-backdrop-filter:blur(10px);will-change:transform, box-shadow;border-radius:16px;flex-direction:column;padding:20px;text-decoration:none;transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),border-color .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;transform:translateY(0)scale(1)translateZ(0)}.pcard:hover{border-color:var(--accent);transform:translateY(-4px)scale(1.01)translateZ(0);box-shadow:0 12px 40px #0000004d}.pcard:before{content:"";background:radial-gradient(600px circle at 30% 20%, var(--ga), transparent 50%);opacity:0;z-index:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.pcard--expanded:before,.pcard:hover:before{opacity:1}.pcard>*{z-index:1;position:relative}.pcard-content{flex-direction:column;height:100%;display:flex}.pcard-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.pcard-num{color:var(--fg3);font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:500}.pcard-year{color:var(--fg3);border:1px solid var(--border);border-radius:100px;padding:3px 11px;font-family:JetBrains Mono,monospace;font-size:.78rem}.pcard-body{flex-direction:column;flex:1;min-height:0;padding-bottom:12px;display:flex}.pcard-title{letter-spacing:-.02em;color:var(--fg);margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:clamp(1.1rem,2.2vw,1.5rem);font-weight:500;line-height:1.3;transition:color .3s}.pcard--expanded .pcard-title,.pcard:hover .pcard-title{color:var(--accent)}.pcard-ext{opacity:0;max-height:0;margin-top:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),margin-top .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);overflow:hidden;transform:translateY(10px)}.pcard--expanded .pcard-ext{opacity:1;max-height:500px;margin-top:12px}.pcard-desc{color:var(--fg2);margin:0 0 12px;font-size:.92rem;line-height:1.6}.pcard-details{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pcard-details li{color:var(--fg3);padding-left:16px;font-size:.88rem;line-height:1.55;position:relative}.pcard-details li:before{content:"•";color:var(--accent);position:absolute;top:0;left:0}.pcard-footer{border-top:1px dashed var(--border);justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:12px;display:flex}.pcard-tags{flex-wrap:wrap;gap:5px;display:flex}.pcard-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--fg3);border:1px solid var(--border);background:var(--bg);border-radius:100px;padding:4px 10px;font-size:.62rem;font-weight:600;transition:border-color .3s,color .3s}.pcard--expanded .pcard-tag,.pcard:hover .pcard-tag{border-color:var(--accent);color:var(--accent)}.pcard-arr{color:var(--fg3);flex-shrink:0;padding-left:8px;transition:color .3s,transform .3s cubic-bezier(.16,1,.3,1)}.pcard--expanded .pcard-arr,.pcard:hover .pcard-arr{color:var(--accent);transform:translate(3px,-3px)}@media (width>=1025px) and (hover:hover) and (pointer:fine){.pgrid{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;align-items:stretch;gap:16px;display:grid}.pcard{cursor:pointer;height:auto}.pcard-ext{opacity:1;max-height:none;margin-top:12px;transition:none;transform:none}}@media (width<=1024px){.pgrid{grid-template-columns:repeat(2,1fr);display:grid}.pcard{cursor:pointer;height:auto}.pcard--expanded{border-color:var(--accent)}}@media (width<=640px){.pgrid{grid-template-columns:1fr}}#languages{background:var(--bg2)}.stack-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.stack-card{opacity:0;transition:opacity .7s cubic-bezier(.16, 1, .3, 1) calc(var(--i,0) * .1s), transform .7s cubic-bezier(.16, 1, .3, 1) calc(var(--i,0) * .1s);transform:translateY(26px)scale(.96)}.stack-grid.in .stack-card{opacity:1;transform:translateY(0)scale(1)}.stack-card-glass{background:var(--glass);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);height:100%;box-shadow:var(--c-shadow);border-radius:18px;padding:26px 24px;transition:transform .4s cubic-bezier(.4,0,.2,1),border-color .35s,box-shadow .35s;position:relative;overflow:hidden}.stack-card-glass:before{content:"";background:radial-gradient(ellipse 120% 90% at 10% 0%, var(--cg,#7c6dff1a), transparent 62%);pointer-events:none;position:absolute;inset:0}.stack-card-glass:after{content:"";background:linear-gradient(90deg, transparent, var(--cc,var(--accent)), transparent);opacity:.45;height:1px;transition:opacity .35s;position:absolute;top:0;left:0;right:0}@media (hover:hover) and (pointer:fine){.stack-card:hover .stack-card-glass{border-color:var(--cc,var(--accent));transform:translateY(-5px);box-shadow:0 16px 40px #00000052}.stack-card:hover .stack-card-glass:after{opacity:1}}.stack-card-head{z-index:1;align-items:center;gap:14px;margin-bottom:20px;display:flex;position:relative}.stack-icon{background:var(--cg,#7c6dff1a);border:1px solid var(--border);width:44px;height:44px;color:var(--cc,var(--accent));border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s;display:flex}@media (hover:hover) and (pointer:fine){.stack-card:hover .stack-icon{box-shadow:0 0 22px var(--cg,#7c6dff4d);transform:scale(1.08)rotate(-4deg)}}.stack-card-title{letter-spacing:-.01em;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;line-height:1.25}.stack-card-count{letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);margin-top:4px;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:500;display:block}.stack-chips{z-index:1;flex-wrap:wrap;gap:7px;display:flex;position:relative}.stack-chip{color:var(--fg2);background:var(--bg);border:1px solid var(--border);opacity:0;transition:opacity .5s cubic-bezier(.16, 1, .3, 1) calc(var(--ci,0) * 45ms + .15s), transform .5s cubic-bezier(.16, 1, .3, 1) calc(var(--ci,0) * 45ms + .15s), border-color .25s, color .25s, background .25s;border-radius:10px;padding:11px 18px;font-family:JetBrains Mono,monospace;font-size:.79rem;font-weight:900;transform:translateY(6px)}.stack-grid.in .stack-chip{opacity:1;transform:translateY(0)}@media (hover:hover) and (pointer:fine){.stack-card:hover .stack-chip{border-color:var(--cc,var(--accent));color:var(--fg);background:var(--cg,#7c6dff1a)}}#about{background:var(--bg)}.stats-row{flex-wrap:wrap;gap:clamp(28px,5vw,56px);margin:20px 0 32px;display:flex}.stat-item{flex-direction:column;gap:4px;display:flex}.stat-num{letter-spacing:-.02em;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;line-height:1}.stat-label{letter-spacing:.07em;text-transform:uppercase;color:var(--fg2);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500}.agrid{grid-template-columns:1fr 1.45fr;align-items:start;gap:clamp(36px,7vw,96px);display:grid}.aphw{position:relative}.aph{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:18px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.aph:before{content:"";background:linear-gradient(135deg, var(--ga), transparent 60%);position:absolute;inset:0}.acorner{border-top:2px solid var(--accent);border-left:2px solid var(--accent);border-radius:2px 0 0;width:20px;height:20px;position:absolute;top:-1px;left:-1px}.aname{color:var(--accent);letter-spacing:-.02em;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:700}.astmt{letter-spacing:-.02em;color:var(--fg);margin-top:18px;margin-bottom:24px;font-family:JetBrains Mono,monospace;font-size:clamp(1.1rem,2.2vw,1.75rem);font-weight:300;line-height:1.28}.astmt em{color:var(--accent);font-style:normal}.abdy{color:var(--fg2);margin-bottom:32px;font-size:.95rem;line-height:1.85;transition:color .4s ease-in-out}.abdy p+p{margin-top:12px}.skgrid{background:var(--border);border:1px solid var(--border);border-radius:11px;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:32px;display:grid;overflow:hidden}.skcell{background:var(--surface);padding:16px 18px;transition:background .3s ease-in-out,transform .3s ease-in-out}.skcell:hover{background:var(--bg3);transform:scale(1.01)}.sklbl{letter-spacing:.12em;text-transform:uppercase;color:var(--fg3);margin-bottom:5px;font-family:JetBrains Mono,monospace;font-size:.54rem}.skval{color:var(--fg);font-size:.82rem;font-weight:700}#education{background:var(--bg2)}.edgrid{grid-template-columns:35fr 65fr;align-items:stretch;gap:clamp(20px,3vw,40px);display:grid}.edgrid>.reveal{flex-direction:column;display:flex}.edhd{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);align-items:center;gap:9px;margin-bottom:28px;font-family:JetBrains Mono,monospace;font-size:.6rem;display:flex}.edhd:after{content:"";background:var(--border);flex:1;height:1px}.tl{padding-left:22px;position:relative}.tl:before{content:"";background:linear-gradient(180deg, var(--accent), transparent);width:1px;position:absolute;top:5px;bottom:0;left:0}.tli{padding-bottom:36px;position:relative}.tli:last-child{padding-bottom:0}.tli:before{content:"";background:var(--bg2);border:2px solid var(--accent);border-radius:50%;width:9px;height:9px;transition:background .3s ease-in-out,box-shadow .3s ease-in-out,transform .3s ease-in-out;position:absolute;top:5px;left:-26px}.tli:hover:before{background:var(--accent);box-shadow:0 0 9px var(--accent)}.tldt{letter-spacing:.08em;color:var(--fg3);align-items:center;gap:7px;margin-bottom:7px;font-family:JetBrains Mono,monospace;font-size:.6rem;display:flex}.tlbg{color:var(--accent);letter-spacing:.07em;background:#7c6dff1f;border:1px solid #7c6dff47;border-radius:100px;padding:2px 7px;font-size:.48rem}.tlsc{color:var(--fg);margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:400;transition:color .3s cubic-bezier(.4,0,.2,1)}.tli:hover .tlsc{color:var(--accent)}.tlde{color:var(--fg2);margin-bottom:11px;font-size:.8rem;line-height:1.6}.tlpls{flex-wrap:wrap;gap:4px;display:flex}.tlpl{letter-spacing:.05em;color:var(--fg3);border:1px solid var(--border);border-radius:100px;padding:2px 8px;font-size:.56rem;transition:border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1)}.tli:hover .tlpl{color:var(--fg2);border-color:#7c6dff47}#contact{background:var(--bg);position:relative;overflow:hidden}.corb{background:radial-gradient(ellipse, var(--ga), transparent 65%);filter:blur(70px);pointer-events:none;width:80vw;max-width:800px;height:60vw;max-height:600px;position:absolute;bottom:-25%;left:50%;transform:translate(-50%)}.chl{letter-spacing:-.04em;z-index:1;margin-bottom:44px;font-family:JetBrains Mono,monospace;font-size:clamp(2.2rem,8vw,8rem);font-weight:700;line-height:1.02;position:relative}.chl .ghost{-webkit-text-stroke:1px var(--border2);color:#0000;display:block}.crow{border-top:1px solid var(--border);z-index:1;flex-wrap:wrap;gap:clamp(36px,7vw,96px);padding-top:36px;display:flex;position:relative}.clb{letter-spacing:.15em;text-transform:uppercase;color:var(--fg3);margin-bottom:9px;font-family:JetBrains Mono,monospace;font-size:.72rem}.cvl{margin-bottom:24px;font-size:1.15rem;font-weight:700}.cvl a{color:var(--fg);border-bottom:1px solid var(--border2);padding-bottom:2px;transition:color .3s,border-color .3s}.cvl a:hover{color:var(--accent);border-color:var(--accent)}.socls{flex-direction:column;gap:12px;display:flex}.socl{letter-spacing:.07em;text-transform:uppercase;color:var(--fg2);align-items:center;gap:14px;font-family:JetBrains Mono,monospace;font-size:1rem;transition:color .3s;display:flex}.socl:before{display:none}.socl-icon{background:var(--surface);border:1px solid var(--border);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:border-color .3s,background .3s;display:flex}.socl-icon svg{color:var(--fg3);transition:color .3s}.socl:hover{color:var(--fg);transform:translate(4px)}.socl:hover .socl-icon{border-color:var(--accent);background:var(--ga)}.socl:hover .socl-icon svg{color:var(--accent)}footer{border-top:1px solid var(--border);background:var(--bg2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:22px clamp(20px,5vw,52px);display:flex}.ftc{color:var(--fg3);letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:.6rem}.ftt{letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:.6rem;transition:color .3s;display:flex}.ftt:hover{color:var(--accent)}.clst{flex:1;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.ccard{background:var(--surface);border:1px solid var(--border);cursor:pointer;box-shadow:var(--c-shadow);border-radius:12px;flex:1;align-items:center;gap:18px;min-height:152px;padding:16px;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.ccard:before{content:"";background:linear-gradient(120deg, var(--accent) 0%, transparent 60%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.ccard:hover{border-color:var(--accent);background:var(--surface2);transform:translateY(-2px)scale(1.01)translateZ(0);box-shadow:0 8px 24px #7c6dff24}.ccard:hover:before{opacity:.04}.ccard-thumb{aspect-ratio:4/3;border:1px solid var(--border2);border-radius:7px;flex-shrink:0;align-self:center;width:200px;position:relative;overflow:hidden}.ccard-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.ccard:hover .ccard-thumb img{transform:scale(1.06)}.ccard-thumb-fallback{opacity:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:absolute;inset:0}.ccard-thumb img[data-failed]+.ccard-thumb-fallback{opacity:1}.ccard-body{flex:1;min-width:0}.ccard-title{color:var(--fg);letter-spacing:-.01em;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:.87rem;font-weight:600;line-height:1.35;transition:color .2s;display:-webkit-box;overflow:hidden}.ccard:hover .ccard-title{color:var(--accent2)}.ccard-issuer{color:var(--fg2);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-family:JetBrains Mono,monospace;font-size:.74rem;overflow:hidden}.ccard-date{color:var(--green);opacity:.85;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:.68rem}.ccard-arr{color:var(--fg3);flex-shrink:0;transition:color .2s,transform .2s cubic-bezier(.16,1,.3,1)}.ccard:hover .ccard-arr{color:var(--accent);transform:translate(2px,-1px)}@media (width<=1024px){.nlinks{gap:0}.nlinks a{padding:6px 11px;font-size:.64rem}.agrid{gap:44px}.edgrid{gap:20px}}@media (width<=768px){.nlinks{display:none}.hbtn{display:flex}#hero{padding:108px clamp(18px,5vw,28px) clamp(48px,7vw,68px)}.hhd{font-size:clamp(2.3rem,12vw,5rem);line-height:1.09}.hl{padding-bottom:.13em}.hsub{flex-direction:column;align-items:flex-start;gap:18px;margin-top:24px}.hdesc{max-width:100%;font-size:1rem;line-height:1.6}.hact{flex-direction:column;align-items:stretch;gap:12px;width:100%}.hscroll{display:none}section{padding:clamp(70px,12vw,90px) clamp(24px,5vw,32px)}.shd{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:26px}.stack-grid{gap:12px}.stack-card-glass{padding:20px 18px}.agrid{grid-template-columns:1fr;gap:36px}.aphw{max-width:270px}.skgrid{grid-template-columns:1fr 1fr}.edgrid{grid-template-columns:1fr;gap:20px}.clst{grid-template-columns:1fr}.chl{margin-bottom:28px;font-size:clamp(1.9rem,10vw,5rem)}.crow{gap:28px;padding-top:24px}footer{text-align:center;flex-direction:column;padding:18px 22px}}@media (width<=480px){nav{padding:0 18px}#hero{padding:96px 18px 44px}.hhd{font-size:clamp(2rem,13vw,3.6rem)}.hact{flex-direction:column;align-items:flex-start;gap:9px}.btn{padding:10px 16px!important;font-size:.65rem!important}.stack-grid{grid-template-columns:1fr}.stack-card-head{gap:11px;margin-bottom:16px}.stack-icon{border-radius:11px;width:38px;height:38px}.aname{font-size:1.5rem}.astmt{font-size:1.05rem}.skgrid{grid-template-columns:1fr}.aphw{max-width:100%}.tlsc{font-size:.9rem}.ccn{font-size:.75rem}.chl{font-size:clamp(1.6rem,11vw,2.8rem)}.crow{flex-direction:column;gap:20px}.stit{font-size:clamp(1.5rem,7vw,2.4rem)}.ccard{align-items:flex-start;gap:10px;padding:10px}.ccard-thumb{flex-shrink:0;width:92px}.ccard-title{white-space:normal;font-size:.78rem;line-height:1.35}.ccard-issuer{white-space:normal;font-size:.67rem}.ccard-arr{display:none}}.preloader{z-index:9999;background:var(--bg);opacity:1;justify-content:center;align-items:center;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0;transform:scale(1)}.preloader-out{opacity:0;pointer-events:none;transform:scale(1.03)}.preloader-inner{flex-direction:column;align-items:center;gap:16px;display:flex}.preloader-logo{letter-spacing:-.02em;color:var(--fg);font-family:JetBrains Mono,monospace;font-size:1.7rem;font-weight:500}.preloader-logo span{color:var(--accent)}.preloader-bar{background:var(--border);border-radius:2px;width:64px;height:2px;display:block;overflow:hidden}.preloader-bar-fill{background:var(--accent);border-radius:2px;width:0%;height:100%;animation:.8s cubic-bezier(.4,0,.2,1) forwards preload-fill;display:block}@keyframes preload-fill{0%{width:0%}to{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal.in{opacity:1!important;transition:none!important;transform:none!important}.hl>span{opacity:1!important;animation:none!important;transform:none!important}.orb{display:none!important}.hbadge,.htw,.hsub,.hscroll{opacity:1!important;animation:none!important;transform:none!important}}.liquid-ether-container{touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}
