:root{--bg:#07080d;--bg-deep:#040509;--surface:#0d1018;--surface-2:#111621;--surface-3:#171c28;--text:#f5f7fb;--muted:#929aaa;--muted-2:#697181;--line:#ffffff17;--line-bright:#ffffff29;--pink:#ff5dd6;--pink-soft:#ff5dd621;--cyan:#18e2fa;--cyan-soft:#18e2fa1f;--success:#4ce6a1;--danger:#ff718b;--container:1320px;--header-height:84px;--radius:24px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);background:var(--bg)}body{background:radial-gradient(circle at 5% 7%, #ff5dd60f, transparent 26rem), radial-gradient(circle at 96% 42%, #18e2fa0b, transparent 30rem), var(--bg);min-width:320px;color:var(--text);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}body:before{z-index:-2;content:"";pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}::selection{color:#05070a;background:var(--cyan)}a{color:inherit;text-decoration:none}button,input,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}.skip-link{z-index:999;background:var(--text);color:var(--bg);border-radius:10px;padding:10px 14px;font-weight:800;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(calc(100% - 64px), var(--container));margin-inline:auto}.content-section{padding-block:148px}.eyebrow{color:var(--cyan);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.section-index{color:var(--muted-2);letter-spacing:.12em;margin-bottom:20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;display:block}.section-heading-grid{grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr);align-items:start;gap:60px;margin-bottom:76px;display:grid}.section-heading-grid h2,.contact-heading h2,.education-title h2{letter-spacing:-.055em;max-width:980px;margin:0;font-size:clamp(2.6rem,5.4vw,5.4rem);font-weight:630;line-height:.98}.reveal{--reveal-delay:0s;opacity:0;transition:opacity .85s var(--ease) var(--reveal-delay), transform .85s var(--ease) var(--reveal-delay);transform:translateY(34px)}.reveal[data-visible=true]{opacity:1;transform:translateY(0)}.site-header{z-index:100;width:100%;height:var(--header-height);padding-inline:max(32px, calc((100vw - var(--container)) / 2));-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#07080dbf;border-bottom:1px solid #fff1;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0}.brand-mark{border:1px solid var(--line-bright);letter-spacing:-.04em;width:44px;height:44px;transition:border-color .25s ease, transform .25s var(--ease);background:#ffffff06;border-radius:13px;place-items:center;font-size:.76rem;font-weight:900;display:grid;position:relative}.brand-mark:hover{border-color:var(--pink);transform:rotate(-3deg)scale(1.04)}.brand-mark i{border:2px solid var(--bg);background:var(--cyan);width:10px;height:10px;box-shadow:0 0 16px var(--cyan);border-radius:50%;position:absolute;bottom:-3px;right:-3px}.main-nav{align-items:center;gap:32px;display:flex}.main-nav>a:not(.nav-github){color:#c4cad5;font-size:.83rem;font-weight:650;transition:color .2s;position:relative}.main-nav>a:not(.nav-github):after{content:"";transform-origin:100%;background:linear-gradient(90deg, var(--pink), var(--cyan));height:1px;transition:transform .26s var(--ease);position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.main-nav>a:hover{color:var(--text)}.main-nav>a:hover:after{transform-origin:0;transform:scaleX(1)}.main-nav>a span,.mobile-nav-label{display:none}.nav-github{border:1px solid var(--line-bright);border-radius:999px;align-items:center;gap:8px;height:40px;padding-inline:17px;font-size:.79rem;font-weight:750;transition:border-color .2s,background .2s;display:inline-flex}.nav-github:hover{background:var(--cyan-soft);border-color:#18e2fa99}.menu-toggle{border:1px solid var(--line);background:var(--surface);border-radius:12px;place-items:center;width:44px;height:44px;display:none}.button{cursor:pointer;min-height:52px;transition:transform .24s var(--ease), box-shadow .24s ease, border-color .24s ease, background .24s ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:.88rem;font-weight:780;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-3px)}.button-primary{background:linear-gradient(110deg, var(--pink), #cb78ff 48%, var(--cyan));color:#080910;box-shadow:0 12px 40px #ff5dd62b}.button-primary:hover:not(:disabled){box-shadow:0 17px 50px #18e2fa33,0 10px 34px #ff5dd633}.button-ghost{border-color:var(--line-bright);color:var(--text);background:#ffffff06}.button-ghost:hover{background:#ffffff0f;border-color:#ffffff4d}.hero{min-height:max(760px,100svh);padding-top:calc(var(--header-height) + 70px);grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:center;gap:clamp(54px,8vw,130px);padding-bottom:90px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(90deg, var(--line-bright), transparent);height:1px;position:absolute;bottom:0;left:0;right:20%}.hero-ambient,.hero-ambient i{pointer-events:none;position:absolute}.hero-ambient{z-index:-1;inset:0}.hero-ambient i:first-child{background:var(--cyan);opacity:.07;filter:blur(115px);border-radius:50%;width:420px;height:420px;animation:11s ease-in-out infinite alternate ambient-float;top:20%;right:2%}.hero-ambient i:nth-child(2){background:var(--pink);opacity:.08;filter:blur(120px);border-radius:50%;width:320px;height:320px;animation:14s ease-in-out -5s infinite alternate-reverse ambient-float;top:38%;left:26%}.hero-ambient i:last-child{border:1px solid #ffffff0d;border-radius:50%;width:220px;height:220px;top:9%;right:18%;box-shadow:0 0 0 90px #ffffff03,0 0 0 180px #ffffff02}@keyframes ambient-float{to{transform:translate(45px,-35px)scale(1.15)}}.hero-copy{z-index:2;animation:hero-enter .9s var(--ease) both;padding-top:28px;position:relative}@keyframes hero-enter{0%{opacity:0;transform:translateY(30px)}}.hero-eyebrow{align-items:center;gap:10px;margin-bottom:28px;display:flex}.hero-eyebrow span{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 14px #4ce6a1cc}.hero h1{letter-spacing:-.075em;max-width:920px;margin:0;font-size:clamp(3.7rem,7vw,7.5rem);font-weight:660;line-height:.89}.hero h1 span{color:#0000;background:linear-gradient(100deg, var(--pink) 7%, #c189ff 48%, var(--cyan) 90%);-webkit-background-clip:text;background-clip:text;padding-block:7px 10px;display:block}.hero-intro{color:#aeb5c2;max-width:670px;margin:34px 0 0;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.75}.hero-actions{flex-wrap:wrap;gap:13px;margin-top:35px;display:flex}.hero-facts{gap:clamp(30px,5vw,72px);margin:54px 0 0;display:flex}.hero-facts div{grid-template-columns:auto auto;align-items:center;gap:11px;display:grid;position:relative}.hero-facts div:not(:last-child):after{content:"";background:var(--line);width:1px;height:35px;position:absolute;top:4px;right:clamp(-36px,-2.5vw,-16px)}.hero-facts dt{letter-spacing:-.06em;font-size:1.7rem;font-weight:760}.hero-facts dd{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:.68rem;line-height:1.45}.hero-visual{min-height:580px;animation:hero-visual-enter 1.1s var(--ease) .15s both;place-items:center;display:grid;position:relative}@keyframes hero-visual-enter{0%{opacity:0;transform:translate(45px)scale(.96)}}.hero-visual:before,.hero-visual:after{content:"";border-radius:50%;position:absolute}.hero-visual:before{aspect-ratio:1;background:radial-gradient(circle,#ffffff06,#0000 65%);border:1px solid #ffffff12;width:min(32vw,480px)}.hero-visual:after{aspect-ratio:1;border:1px dashed #18e2fa2e;width:min(25vw,375px);animation:36s linear infinite slow-spin}@keyframes slow-spin{to{transform:rotate(360deg)}}.avatar-frame{z-index:3;aspect-ratio:.86;background:linear-gradient(145deg,#ff5dd629,#0000 35%),linear-gradient(320deg,#18e2fa26,#0000 36%),#0d1017;border:1px solid #ffffff26;border-radius:48% 48% 25% 25%/38% 38% 20% 20%;width:min(22vw,330px);min-width:270px;position:relative;box-shadow:0 40px 90px #0006,inset 0 1px #ffffff14}.avatar-frame:before{z-index:-1;content:"";border-radius:inherit;background:linear-gradient(140deg, var(--pink), transparent 38%, transparent 60%, var(--cyan));padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.avatar-frame img,.avatar-placeholder{border-radius:inherit;width:100%;height:100%}.avatar-frame img{z-index:2;object-fit:cover;object-position:center top;filter:saturate(.82)contrast(1.06);position:relative}.avatar-placeholder{color:#ffffff1c;letter-spacing:-.1em;place-items:center;font-size:6rem;font-weight:900;display:grid;position:absolute;inset:0}.avatar-orbit{z-index:-1;border-radius:50%;position:absolute}.avatar-orbit-one{border:1px solid #ff5dd61f;inset:-34px -46px;transform:rotate(18deg)}.avatar-orbit-two{border:1px solid #18e2fa14;inset:-65px -83px;transform:rotate(-22deg)}.avatar-status{z-index:4;border:1px solid var(--line-bright);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;background:#090b11e0;border-radius:999px;align-items:center;gap:8px;padding:10px 13px;font-size:.67rem;font-weight:700;display:inline-flex;position:absolute;bottom:34px;right:-56px;box-shadow:0 14px 34px #00000052}.avatar-status i{background:var(--success);width:7px;height:7px;box-shadow:0 0 12px var(--success);border-radius:50%}.coordinate-card,.stack-card{z-index:4;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0f16c2;position:absolute;box-shadow:0 18px 50px #00000047}.coordinate-card{color:var(--muted);border-radius:14px;align-items:center;gap:11px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.64rem;line-height:1.4;animation:5s ease-in-out infinite card-float;display:flex;top:17%;left:-5%}.coordinate-card svg{color:var(--pink)}.stack-card{border-radius:14px;gap:2px;padding:13px 15px;animation:6s ease-in-out -2.2s infinite reverse card-float;display:grid;top:11%;right:-3%}.stack-card span{color:var(--muted-2);letter-spacing:.13em;text-transform:uppercase;font-size:.57rem;font-weight:800}.stack-card strong{font-size:.7rem}@keyframes card-float{50%{transform:translateY(-9px)}}.scroll-cue{color:var(--muted-2);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:11px;font-size:.62rem;font-weight:750;display:inline-flex;position:absolute;bottom:34px;left:0}.scroll-cue svg{animation:1.8s ease-in-out infinite scroll-bounce}@keyframes scroll-bounce{50%{transform:translateY(5px)}}.about-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(60px,9vw,150px);display:grid}.about-story{align-self:start}.about-story p{color:var(--muted);font-size:1rem;line-height:1.85}.about-story .lead-copy{color:#e9edf3;letter-spacing:-.025em;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:510;line-height:1.5}.language-line{border-top:1px solid var(--line);color:#c3c9d4;align-items:center;gap:12px;margin-top:32px;padding-top:25px;font-size:.85rem;display:flex}.language-line svg{color:var(--cyan)}.pillar-list{gap:12px;display:grid}.pillar-card{border:1px solid var(--line);min-height:124px;transition:transform .3s var(--ease), border-color .3s ease, background .3s ease;background:linear-gradient(110deg,#ffffff06,#0000);border-radius:20px;grid-template-columns:48px 40px minmax(180px,.7fr) minmax(220px,1fr);align-items:center;gap:18px;padding:24px;display:grid;position:relative}.pillar-card:hover{background:linear-gradient(110deg,#18e2fa0f,#ff5dd606);border-color:#18e2fa3d;transform:translate(6px)}.pillar-icon{border:1px solid var(--line);width:46px;height:46px;color:var(--cyan);background:var(--surface);border-radius:14px;place-items:center;display:grid}.pillar-card>span{color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,monospace;font-size:.65rem}.pillar-card h3{letter-spacing:-.025em;margin:0;font-size:1.05rem}.pillar-card p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.65}.github-strip{padding-bottom:30px}.github-panel{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 0 0, #ff5dd61a, transparent 28rem), radial-gradient(circle at 100% 100%, #18e2fa14, transparent 28rem), var(--surface);padding:34px;position:relative;overflow:hidden}.github-panel:before{content:"";pointer-events:none;opacity:.3;background-image:radial-gradient(#ffffff14 .7px,#0000 .7px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 40%);mask-image:linear-gradient(90deg,#000,#0000 40%)}.github-panel-top,.github-identity,.github-panel-top>a{align-items:center;display:flex;position:relative}.github-panel-top{justify-content:space-between;gap:24px}.github-identity{gap:14px}.github-icon{border:1px solid var(--line-bright);background:#0003;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.github-identity span{color:var(--muted-2);letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:800}.github-identity h2{margin:2px 0 0;font-size:1.05rem}.github-panel-top>a{color:#cbd0da;gap:8px;font-size:.76rem;font-weight:700}.github-panel-top>a:hover{color:var(--cyan)}.github-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:32px;display:grid;position:relative}.github-metrics>div{grid-template-columns:auto 1fr;align-items:center;gap:1px 12px;padding:27px 20px;display:grid;position:relative}.github-metrics>div:not(:last-child){border-right:1px solid var(--line)}.github-metrics svg{color:var(--pink);grid-row:1/span 2}.github-metrics strong{letter-spacing:-.04em;font-size:1.4rem}.github-metrics span{color:var(--muted-2);text-transform:uppercase;letter-spacing:.07em;font-size:.66rem}.language-pulse{margin-top:25px;position:relative}.language-bar{background:var(--line);border-radius:999px;height:7px;display:flex;overflow:hidden}.language-bar span{min-width:2px}.language-legend{flex-wrap:wrap;gap:12px 22px;margin-top:13px;display:flex}.language-legend span{color:var(--muted);align-items:center;gap:7px;font-size:.68rem;display:inline-flex}.language-legend i{border-radius:50%;width:7px;height:7px}.github-empty{color:var(--muted-2);margin:20px 0 0;font-size:.76rem;position:relative}.github-sync-state{color:var(--muted-2);align-items:center;gap:7px;margin:17px 0 0;font-size:.62rem;display:flex;position:relative}.github-sync-state i{background:var(--cyan);border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #18e2facc}.timeline{border-top:1px solid var(--line)}.timeline-row{border-bottom:1px solid var(--line);grid-template-columns:92px minmax(280px,.85fr) minmax(320px,1fr);align-items:center;gap:35px;min-height:190px;transition:background .3s;display:grid}.timeline-row:hover{background:linear-gradient(90deg,#ff5dd609,#0000 55%)}.timeline-marker{color:var(--muted-2);align-items:center;gap:12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.62rem;display:flex}.timeline-marker i{border:2px solid var(--bg);background:var(--pink);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #ff5dd64d,0 0 14px #ff5dd680}.timeline-period{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:12px;font-size:.68rem;font-weight:750;display:flex}.timeline-period em{color:var(--success);background:#4ce6a11c;border-radius:999px;padding:3px 7px;font-size:.55rem;font-style:normal}.timeline-main h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.65rem,3vw,2.6rem)}.timeline-main h4{color:var(--cyan);margin:5px 0 0;font-size:.78rem;font-weight:650}.timeline-description{max-width:560px;color:var(--muted);margin:0;font-size:.89rem;line-height:1.75}.archive-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:80px;margin-top:100px;padding:45px;display:grid}.archive-intro h3{letter-spacing:-.04em;margin:16px 0;font-size:1.65rem;line-height:1.2}.archive-intro>p:last-child{color:var(--muted);font-size:.84rem;line-height:1.75}.archive-list>div{border-bottom:1px solid var(--line);grid-template-columns:100px minmax(140px,.8fr) minmax(150px,1fr) auto;align-items:center;gap:15px;min-height:58px;font-size:.75rem;display:grid}.archive-list>div:first-child{border-top:1px solid var(--line)}.archive-list span,.archive-list p{color:var(--muted-2);margin:0}.archive-list strong{font-size:.8rem}.archive-list svg{color:var(--muted-2)}.skills-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.skill-card{border:1px solid var(--line);min-height:225px;transition:border-color .28s ease, transform .28s var(--ease), background .28s ease;background:#ffffff05;border-radius:20px;padding:30px}.skill-card:hover{background:linear-gradient(140deg,#ff5dd60b,#18e2fa06);border-color:#ff5dd640;transform:translateY(-5px)}.skill-card-heading{align-items:center;gap:12px;margin-bottom:26px;display:flex}.skill-card-heading svg{color:var(--cyan)}.skill-card-heading h3{letter-spacing:.01em;margin:0;font-size:.88rem}.skill-tags{flex-wrap:wrap;gap:9px;display:flex}.skill-tags span{border:1px solid var(--line);color:#b8bfca;background:#0000001f;border-radius:999px;padding:7px 11px;font-size:.71rem}.workflow-panel{border:1px solid var(--line);background:radial-gradient(circle at 90% 20%, #18e2fa12, transparent 20rem), var(--surface);border-radius:20px;grid-template-columns:1fr 1fr;gap:70px;margin-top:14px;padding:42px;display:grid}.workflow-panel h3{letter-spacing:-.04em;margin:15px 0 0;font-size:clamp(1.5rem,3vw,2.2rem)}.workflow-panel ul{grid-template-columns:1fr 1fr;gap:16px 20px;margin:0;padding:0;list-style:none;display:grid}.workflow-panel li{color:var(--muted);align-items:center;gap:10px;font-size:.78rem;display:flex}.workflow-panel li svg{color:var(--pink);flex:none}.education-section{padding-block:140px}.education-layout{border:1px solid var(--line);background:radial-gradient(circle at 0 100%,#ff5dd614,#0000 27rem),linear-gradient(145deg,#10141e,#0a0d14);border-radius:28px;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:clamp(60px,10vw,150px);padding:70px;display:grid}.education-title h2{margin:20px 0 35px;font-size:clamp(2.3rem,4.5vw,4rem)}.education-title>svg{color:var(--pink);opacity:.8}.education-list article{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr;gap:17px;min-height:125px;padding-block:25px;display:grid}.education-list article:first-child{padding-top:0}.education-list article:last-child{border-bottom:0;padding-bottom:0}.education-list article>span{color:var(--muted-2);font-family:ui-monospace,SFMono-Regular,monospace;font-size:.62rem}.education-list p{color:var(--cyan);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:.66rem;font-weight:700}.education-list h3{letter-spacing:-.02em;margin:0;font-size:1.12rem}.education-list h4{color:var(--muted);margin:6px 0 0;font-size:.78rem;font-weight:500}.project-section{overflow:hidden}.project-card{border:1px solid var(--line);background:radial-gradient(circle at 15% 0,#ff5dd61f,#0000 28rem),linear-gradient(135deg,#111520,#080a10);border-radius:30px;grid-template-columns:minmax(300px,.63fr) minmax(550px,1.37fr);min-height:660px;display:grid;position:relative;overflow:hidden}.project-copy{z-index:2;flex-direction:column;justify-content:center;padding:64px 20px 64px 64px;display:flex;position:relative}.concept-label{width:fit-content;color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:26px;font-size:.65rem;font-weight:800;display:inline-flex}.concept-label svg{animation:9s linear infinite slow-spin}.project-copy h3{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.95}.project-copy>p{max-width:440px;color:var(--muted);margin:28px 0 0;font-size:.9rem;line-height:1.8}.project-stack{flex-wrap:wrap;gap:8px;margin-top:25px;display:flex}.project-stack span{border:1px solid var(--line);color:#adb4c0;border-radius:999px;padding:5px 9px;font-size:.63rem}.project-disabled{width:fit-content;color:var(--muted-2);background:0 0;border:0;align-items:center;gap:9px;margin-top:34px;padding:0;font-size:.76rem;font-weight:700;display:inline-flex}.project-mock{transform-origin:0;width:820px;transition:transform .8s var(--ease);background:#080b11;border:1px solid #ffffff1f;border-radius:17px;align-self:center;overflow:hidden;transform:perspective(1200px)rotateY(-7deg)rotateX(2deg)translate(70px);box-shadow:-30px 40px 100px #00000080}.project-card:hover .project-mock{transform:perspective(1200px)rotateY(-3deg)rotateX(1deg)translate(50px)translateY(-5px)}.mock-window-bar{border-bottom:1px solid var(--line);background:#0c1017;align-items:center;gap:6px;height:36px;padding:0 13px;display:flex}.mock-window-bar>i{background:#383e49;border-radius:50%;width:7px;height:7px}.mock-window-bar>i:first-child{background:var(--pink)}.mock-window-bar>i:nth-child(2){background:#f6c85e}.mock-window-bar>i:nth-child(3){background:var(--cyan)}.mock-window-bar span{color:var(--muted-2);margin-left:12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.56rem}.mock-dashboard{grid-template-columns:65px 1fr;min-height:470px;display:grid}.mock-dashboard aside{border-right:1px solid var(--line);background:#090c12;flex-direction:column;align-items:center;gap:27px;padding-top:20px;display:flex}.mock-logo{background:linear-gradient(135deg, var(--pink), var(--cyan));color:#07080d;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.mock-dashboard aside>i{background:#272d38;border-radius:99px;width:18px;height:5px}.mock-dashboard aside>i:first-of-type{background:var(--cyan);width:25px}.mock-dashboard main{padding:34px}.mock-heading{justify-content:space-between;align-items:center;display:flex}.mock-heading>div{display:grid}.mock-heading small{color:var(--muted-2);letter-spacing:.11em;font-size:.48rem}.mock-heading strong{margin-top:3px;font-size:1.1rem}.mock-heading>span{color:var(--success);background:#4ce6a10f;border:1px solid #4ce6a124;border-radius:99px;align-items:center;gap:6px;padding:7px 9px;font-size:.5rem;display:inline-flex}.mock-heading>span i{background:var(--success);width:5px;height:5px;box-shadow:0 0 8px var(--success);border-radius:50%}.mock-kpis{grid-template-columns:repeat(3,1fr);gap:11px;margin-top:26px;display:grid}.mock-kpis>div{border:1px solid var(--line);background:#0d1119;border-radius:12px;grid-template-columns:auto 1fr;gap:4px 10px;padding:17px;display:grid}.mock-kpis svg{color:var(--pink);grid-row:1/span 2}.mock-kpis small{color:var(--muted-2);letter-spacing:.1em;font-size:.43rem}.mock-kpis strong{font-size:1.1rem}.mock-kpis em{color:var(--success);grid-column:2;font-size:.45rem;font-style:normal}.mock-chart{border:1px solid var(--line);background:#0d1119;border-radius:12px;margin-top:14px;padding:19px}.mock-chart-label{justify-content:space-between;align-items:center;display:flex}.mock-chart-label span{font-size:.74rem;font-weight:700}.mock-chart-label small{color:var(--muted-2);letter-spacing:.1em;font-size:.43rem}.mock-chart svg{margin-top:14px;overflow:visible}.chart-area{fill:url(#chart-fill)}.chart-line{fill:none;stroke:var(--cyan);stroke-width:2.5px;filter:drop-shadow(0 0 5px #18e2fa66)}.project-list{gap:34px;display:grid}.project-entry-card{border:1px solid var(--line);background:radial-gradient(circle at 5% 8%,#ff5dd61f,#0000 28rem),linear-gradient(135deg,#111520,#080a10 68%);border-radius:30px;grid-template-columns:minmax(320px,.65fr) minmax(540px,1.35fr);min-height:620px;display:grid;position:relative;overflow:hidden}.project-entry-card:before{z-index:3;content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);opacity:.68;height:2px;position:absolute;top:0;left:0;right:0}.project-entry-card.status-planned:before{background:linear-gradient(90deg,#0000,#ae75ff,#0000)}.project-entry-card.status-completed:before{background:linear-gradient(90deg, transparent, var(--success), transparent)}.project-entry-copy{z-index:2;flex-direction:column;justify-content:center;min-width:0;padding:64px 24px 64px 64px;display:flex;position:relative}.project-entry-copy h3{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance;letter-spacing:-.065em;margin:0;font-size:clamp(2.55rem,3.7vw,4.2rem);line-height:.94}.project-entry-copy>p{max-width:500px;color:var(--muted);white-space:pre-line;margin:28px 0 0;font-size:.9rem;line-height:1.82}.project-entry-copy .project-disabled{margin-top:34px}.project-link{color:#d6dbe4;align-items:center;gap:9px;width:fit-content;margin-top:34px;font-size:.76rem;font-weight:750;display:inline-flex}.project-link svg{color:var(--cyan);transition:transform .25s var(--ease)}.project-link:hover{color:var(--cyan)}.project-link:hover svg{transform:translate(3px,-3px)}.project-gallery{transform-origin:0;width:calc(100% + 64px);height:510px;transition:transform .7s var(--ease);background:#080b11;border:1px solid #ffffff1f;border-radius:17px 0 0 17px;align-self:center;margin-right:-64px;position:relative;overflow:hidden;transform:perspective(1200px)rotateY(-4deg)translate(16px);box-shadow:-30px 40px 100px #0000007a}.project-entry-card:hover .project-gallery{transform:perspective(1200px)rotateY(-1deg)translate(4px)translateY(-4px)}.project-gallery-bar{border-bottom:1px solid var(--line);background:#0c1017;align-items:center;gap:6px;height:38px;padding:0 13px;display:flex}.project-gallery-bar>i{background:#383e49;border-radius:50%;width:7px;height:7px}.project-gallery-bar>i:first-child{background:var(--pink)}.project-gallery-bar>i:nth-child(2){background:#f6c85e}.project-gallery-bar>i:nth-child(3){background:var(--cyan)}.project-gallery-bar span{max-width:60%;color:var(--muted-2);text-overflow:ellipsis;white-space:nowrap;margin-left:10px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.53rem;overflow:hidden}.project-gallery-bar em{color:var(--muted-2);margin-left:auto;font-size:.5rem;font-style:normal}.project-gallery-image{background:#080b11;height:calc(100% - 38px);position:relative}.project-gallery-image:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 50px #0000001f}.project-gallery-image img{object-fit:cover;object-position:top center}.project-gallery-empty{color:var(--muted-2);place-content:center;justify-items:center;gap:12px;font-size:.68rem;display:grid;transform:none}.project-gallery-empty svg{color:var(--cyan);opacity:.65}.project-gallery-arrow{z-index:3;width:38px;height:38px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05070bc7;border:1px solid #ffffff24;border-radius:11px;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.project-gallery-arrow:hover{color:var(--cyan);border-color:#18e2fa66}.project-gallery-arrow.previous{left:14px}.project-gallery-arrow.next{right:14px}.project-gallery-dots{z-index:3;justify-content:center;gap:7px;display:flex;position:absolute;bottom:15px;left:0;right:0}.project-gallery-dots button{cursor:pointer;background:#ffffff59;border:0;border-radius:50%;width:7px;height:7px;padding:0;box-shadow:0 0 0 4px #05070b61}.project-gallery-dots button.active{background:var(--cyan);border-radius:99px;width:22px}.contact-section{padding-block:150px 110px;position:relative}.contact-section:before{content:"";background:linear-gradient(90deg, transparent, var(--line-bright), transparent);height:1px;position:absolute;top:0;left:8%;right:8%}.contact-heading{max-width:1050px;margin-bottom:75px}.contact-heading .eyebrow{margin-bottom:20px}.contact-heading h2{font-size:clamp(3.2rem,7vw,7rem)}.contact-heading>p:last-child{max-width:600px;color:var(--muted);margin:27px 0 0;font-size:1.04rem}.contact-layout{grid-template-columns:minmax(270px,.6fr) minmax(0,1.4fr);gap:clamp(50px,9vw,130px);display:grid}.contact-details{align-content:start;display:grid}.contact-details>div,.contact-details>a{border-bottom:1px solid var(--line);min-height:86px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;grid-template-columns:28px 1fr auto;align-items:center;gap:13px;font-size:.66rem;display:grid}.contact-details>div:first-child{border-top:1px solid var(--line)}.contact-details>a:hover{color:var(--cyan)}.contact-details>*>svg:first-child{color:var(--pink)}.contact-details span{gap:2px;display:grid}.contact-details strong{color:var(--text);letter-spacing:0;text-transform:none;overflow-wrap:anywhere;font-size:.78rem}.discord-button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:13px;min-height:86px;padding:0;display:flex}.discord-button>span{color:var(--text);text-transform:none;font-size:.78rem;font-weight:700}.discord-button small{color:var(--muted);font-size:.64rem;font-weight:500}.discord-button>svg{color:var(--cyan)}.discord-button{color:var(--muted);text-transform:uppercase;font-size:.64rem;font-weight:700}.contact-form-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:38px}.contact-form{gap:24px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{gap:9px;display:grid}.contact-form label>span{color:#c3c9d4;letter-spacing:.06em;text-transform:uppercase;font-size:.69rem;font-weight:750}.contact-form input,.contact-form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#0305096b;border-radius:13px;outline:none;font-size:.85rem;transition:border-color .2s,background .2s,box-shadow .2s}.contact-form input{height:52px;padding:0 15px}.contact-form textarea{resize:vertical;min-height:150px;padding:14px 15px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5d6574}.contact-form input:focus,.contact-form textarea:focus{background:#18e2fa06;border-color:#18e2fa80;box-shadow:0 0 0 3px #18e2fa0f}.form-honeypot{width:1px;height:1px;left:-9999px;overflow:hidden;position:absolute!important}.form-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.form-footer p{max-width:350px;color:var(--muted-2);margin:0;font-size:.66rem;line-height:1.6}.contact-form button:disabled{opacity:.65;cursor:wait}.form-message{border-radius:11px;align-items:center;gap:9px;padding:12px 14px;font-size:.75rem;display:flex}.form-message.success{color:var(--success);background:#4ce6a112;border:1px solid #4ce6a133}.form-message.error{color:var(--danger);background:#ff718b12;border:1px solid #ff718b33}.spin{animation:.9s linear infinite slow-spin}.site-footer{border-top:1px solid var(--line);min-height:115px;color:var(--muted-2);justify-content:space-between;align-items:center;gap:25px;font-size:.68rem;display:flex}.site-footer>div{align-items:center;gap:12px;display:flex}.site-footer>div>span{border:1px solid var(--line);width:33px;height:33px;color:var(--text);border-radius:10px;place-items:center;font-size:.62rem;font-weight:900;display:grid}.site-footer p{margin:0}.site-footer a{color:#aeb5c2;align-items:center;gap:7px;font-weight:700;display:inline-flex}.site-footer a:hover{color:var(--cyan)}.status-page{text-align:center;place-content:center;justify-items:center;min-height:100svh;padding:30px;display:grid}.status-page>span{color:#0000;background:linear-gradient(90deg, var(--pink), var(--cyan));letter-spacing:-.09em;-webkit-background-clip:text;background-clip:text;font-size:clamp(5rem,18vw,13rem);font-weight:900;line-height:.9}.status-page h1{margin:25px 0 8px;font-size:1.8rem}.status-page p{color:var(--muted);margin-bottom:28px}@media (max-width:1120px){.hero{grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:40px}.hero h1{font-size:clamp(3.4rem,7.6vw,6.2rem)}.avatar-frame{min-width:245px}.hero-facts{gap:30px}.hero-facts div:not(:last-child):after{display:none}.coordinate-card{left:-12%}.stack-card{right:-10%}.pillar-card{grid-template-columns:45px 28px 1fr}.pillar-card p{grid-column:3}.project-card{grid-template-columns:minmax(300px,.72fr) minmax(430px,1.28fr)}.project-copy{padding-left:44px}.project-mock{width:700px}}@media (max-width:900px){:root{--header-height:72px}.section-shell{width:min(calc(100% - 40px), var(--container))}.content-section{padding-block:110px}.site-header{padding-inline:20px}.menu-toggle{z-index:3;display:grid}.main-nav{z-index:2;opacity:0;transition:transform .55s var(--ease), opacity .4s ease;background:radial-gradient(circle at 90% 15%,#18e2fa1f,#0000 24rem),radial-gradient(circle at 5% 90%,#ff5dd61a,#0000 25rem),#07080dfb;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:100px 32px 40px;display:flex;position:fixed;inset:0;transform:translateY(-105%)}.main-nav.is-open{opacity:1;transform:translateY(0)}.mobile-nav-label{color:var(--muted-2);text-transform:uppercase;letter-spacing:.15em;margin-bottom:22px;font-size:.65rem;display:block}.main-nav>a:not(.nav-github){letter-spacing:-.05em;align-items:baseline;gap:16px;padding:11px 0;font-size:clamp(2rem,8vw,3.4rem);font-weight:650;display:flex}.main-nav>a span{color:var(--muted-2);letter-spacing:0;font-family:ui-monospace,monospace;font-size:.6rem;display:inline}.nav-github{width:fit-content;margin-top:20px}body.menu-open{overflow:hidden}.hero{grid-template-columns:1fr;min-height:auto;padding-top:150px;padding-bottom:120px}.hero-copy{max-width:760px}.hero-visual{min-height:560px;margin-top:-20px}.hero-visual:before{width:min(70vw,480px)}.hero-visual:after{width:min(55vw,375px)}.avatar-frame{width:min(52vw,330px)}.coordinate-card{left:10%}.stack-card{right:8%}.section-heading-grid{grid-template-columns:1fr;gap:22px;margin-bottom:55px}.section-heading-grid>div{align-items:center;gap:14px;display:flex}.section-index{margin:0}.about-grid{grid-template-columns:1fr;gap:60px}.github-metrics{grid-template-columns:1fr 1fr}.github-metrics>div:nth-child(2){border-right:0}.github-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.timeline-row{grid-template-columns:62px minmax(220px,.85fr) minmax(260px,1fr);gap:20px}.archive-block{grid-template-columns:1fr;gap:40px;padding:35px}.education-layout{grid-template-columns:1fr;gap:60px;padding:50px}.project-card{grid-template-columns:1fr;padding-top:10px}.project-copy{padding:52px}.project-mock{width:760px;margin:0 0 50px 40px;transform:perspective(1200px)rotateY(-5deg)translate(30px)}.contact-layout{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr 1fr;column-gap:25px}.contact-details>div:first-child{border-top:0}}@media (max-width:680px){.section-shell{width:min(calc(100% - 28px), var(--container))}.content-section{padding-block:86px}.hero{padding-top:125px;padding-bottom:95px}.hero h1{font-size:clamp(3.15rem,15vw,5rem);line-height:.92}.hero-intro{margin-top:26px;font-size:.98rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-facts{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.hero-facts div{grid-template-columns:1fr;align-items:start;gap:0;display:grid}.hero-facts dt{font-size:1.45rem}.hero-facts dd{font-size:.55rem}.hero-visual{min-height:440px}.avatar-frame{width:min(65vw,290px);min-width:0}.avatar-status{font-size:.58rem;bottom:20px;right:-22px}.coordinate-card{top:13%;left:0}.stack-card{top:5%;right:0}.scroll-cue{bottom:25px}.section-heading-grid h2,.contact-heading h2,.education-title h2{font-size:clamp(2.5rem,12vw,4rem)}.pillar-card{grid-template-columns:45px 1fr;padding:20px}.pillar-card>span{position:absolute;top:20px;right:20px}.pillar-card h3{grid-column:2}.pillar-card p{grid-column:1/-1}.github-panel{padding:24px 20px}.github-panel-top{align-items:flex-start}.github-panel-top>a{font-size:0}.github-panel-top>a svg{width:20px;height:20px}.github-metrics>div{gap:2px 9px;padding:22px 10px}.github-metrics strong{font-size:1.12rem}.github-metrics span{font-size:.54rem}.timeline{border-top:0}.timeline-row{grid-template-columns:36px 1fr;gap:14px;padding:35px 0}.timeline-marker{flex-direction:column;grid-row:1/span 2}.timeline-description{grid-column:2;margin-top:12px}.archive-block{margin-top:70px;padding:28px 20px}.archive-list>div{grid-template-columns:82px 1fr auto;padding:10px 0}.archive-list p{grid-column:2}.archive-list svg{grid-area:1/3/span 2}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:0;padding:25px 20px}.workflow-panel{grid-template-columns:1fr;gap:35px;padding:28px 20px}.workflow-panel ul{grid-template-columns:1fr}.education-section{padding-block:80px}.education-layout{border-radius:22px;gap:45px;padding:35px 20px}.education-list article{grid-template-columns:28px 1fr}.project-card{border-radius:22px}.project-copy{padding:40px 24px}.project-mock{transform-origin:0 100%;width:620px;margin-bottom:-105px;margin-left:15px;transform:scale(.72)translate(-20%,12%)}.project-card:hover .project-mock{transform:scale(.72)translate(-20%,8%)}.contact-section{padding-block:100px 75px}.contact-heading{margin-bottom:50px}.contact-details{grid-template-columns:1fr}.contact-form-wrap{padding:25px 18px}.form-grid{grid-template-columns:1fr}.form-footer{flex-direction:column;align-items:stretch}.form-footer .button{width:100%}.site-footer{text-align:center;flex-wrap:wrap;justify-content:center;padding-block:30px}.site-footer>div{justify-content:center;width:100%}}@media (max-width:420px){.hero-facts{grid-template-columns:1fr 1fr}.hero-facts>div:last-child{display:none}.hero-visual{min-height:400px}.coordinate-card{display:none}.stack-card{right:-7px}.avatar-status{right:-8px}.project-mock{margin-bottom:-160px;transform:scale(.6)translate(-30%,22%)}.project-card:hover .project-mock{transform:scale(.6)translate(-30%,18%)}}@media (max-width:1120px){.project-entry-card{grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr)}.project-entry-copy{padding-left:44px}.project-gallery{height:470px}}@media (max-width:900px){.project-entry-card{grid-template-columns:1fr;min-height:0;padding-top:8px}.project-entry-copy{padding:52px}.project-gallery{border-radius:17px 0 0 17px;width:calc(100% - 40px);height:min(66vw,500px);margin:0 0 42px 40px;transform:perspective(1200px)rotateY(-3deg)translate(12px)}}@media (max-width:680px){.project-list{gap:22px}.project-entry-card{border-radius:22px}.project-entry-copy{padding:40px 24px}.project-entry-copy h3{font-size:clamp(2.7rem,14vw,4.3rem)}.project-entry-copy>p{font-size:.82rem}.project-gallery{width:calc(100% - 16px);height:72vw;min-height:280px;max-height:430px;margin:0 0 24px 16px;transform:none}.project-entry-card:hover .project-gallery{transform:translateY(-3px)}.project-gallery-arrow{width:34px;height:34px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
