@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_b7d5735e-module__suUhcW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_b7d5735e-module__suUhcW__variable{--font-manrope:"Manrope","Manrope Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.e45fea2b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.20ecb425.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3b382e45.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.12167c5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.7a4e9fcc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.4adea45d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_811b4345-module__KUJ_XW__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_811b4345-module__KUJ_XW__variable{--font-space-mono:"Space Mono","Space Mono Fallback"}
:root{--bg-ink:#061722;--bg-teal:#118b96;--bg-amber:#ff9e2c;--card-bg:#04121ca3;--card-border:#ffffff38;--surface-soft:#071a2785;--surface-card:#0617239e;--text-main:#f8fbff;--text-dim:#f8fbffcc;--text-soft:#f8fbffad;--highlight:#ffe5b5;--robot-main:#cbe7ff;--robot-mid:#8ac6f5;--robot-accent:#fdb65a}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-manrope),"Segoe UI",sans-serif;color:var(--text-main);background:radial-gradient(circle at 18% 20%,#ff9e2c85,transparent 44%),radial-gradient(circle at 84% 30%,#118b966b,transparent 46%),linear-gradient(135deg,var(--bg-ink)0%,#0a3850 47%,var(--bg-amber)100%);overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:-20%}body:before{filter:blur(90px);background:conic-gradient(from 40deg,#118b968c,#ff9e2c33,#061722b8);animation:16s linear infinite drift}body:after{filter:blur(40px);background:radial-gradient(circle,#ffe5b52e,#0000 58%)}.intro-overlay{z-index:60;background:radial-gradient(circle at 30% 20%,#fdb65a52,#0000 50%),radial-gradient(circle at 76% 66%,#1893a54d,#0000 45%),linear-gradient(140deg,#061722f5,#093850f2);place-items:center;display:grid;position:fixed;inset:0}.intro-overlay-hide{animation:.72s cubic-bezier(.21,.74,.25,1) forwards introFadeOut}.intro-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051420bd;border:1px solid #ffffff38;border-radius:18px;width:min(520px,100% - 2rem);padding:clamp(1.3rem,3vw,2rem);animation:.66s ease-out introPanelIn;box-shadow:0 24px 62px #00000057}.intro-kicker{font-family:var(--font-space-mono),"Consolas",monospace;letter-spacing:.14em;text-transform:uppercase;color:#f5f9ffd6;margin:0;font-size:.74rem}.intro-title{letter-spacing:.01em;color:#fff8ebf5;margin:.65rem 0 0;font-size:clamp(1.05rem,2vw,1.35rem)}.intro-loader{background:#ffffff2e;border-radius:999px;height:8px;margin-top:1rem;overflow:hidden}.intro-loader span{border-radius:inherit;background:linear-gradient(90deg,#7de5f2,#fdb65a,#ffe5b5);width:0;height:100%;animation:1.3s ease-out forwards introLoad;display:block;box-shadow:0 0 24px #fdb65a85}.portfolio-main{width:100%}.hero-shell{place-items:center;min-height:100vh;padding:clamp(1.2rem,3vw,3rem) clamp(1.2rem,3vw,3rem) clamp(1.8rem,5vw,4rem);display:grid}.hero-card{border:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:28px;width:min(1060px,100%);padding:clamp(1.4rem,3.2vw,3rem);animation:.86s ease-out cardIn;box-shadow:0 26px 70px #02080f75}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(220px,.9fr);align-items:center;gap:clamp(.8rem,3vw,2.5rem);display:grid}.hero-copy{flex-direction:column;gap:clamp(.9rem,1.8vw,1.2rem);padding-right:clamp(0rem,1.2vw,.8rem);display:flex}.hero-title{letter-spacing:-.02em;margin:0;font-size:clamp(2.2rem,6vw,4.5rem);line-height:1.02}.hero-title-glow{color:#ffe6b2;text-shadow:0 0 22px #ffd68d6b}.hero-intro{color:#f8fbffdb;max-width:58ch;margin:0;font-size:clamp(.98rem,1.65vw,1.14rem);line-height:1.75}.typing-line{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.24rem;min-height:2.4rem;margin:0;font-size:clamp(1.15rem,3vw,1.8rem);font-weight:600;display:flex}.typing-prefix{color:var(--text-main);flex:none}.typed-slot{flex:0 auto;justify-content:flex-start;align-items:center;min-height:1.4em;display:inline-flex;overflow:hidden}.typed-word{color:var(--highlight);white-space:nowrap;display:inline-block}.typing-cursor{color:#ffe5b5e0;margin-left:.1rem;animation:.9s steps(2,start) infinite blink}.hero-actions{flex-wrap:wrap;gap:.8rem;display:flex}.hero-btn{border:1px solid #0000;border-radius:999px;padding:.66rem 1.18rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s,background-color .22s}.hero-btn:hover{transform:translateY(-2px)}.hero-btn-primary{color:#052030;background:linear-gradient(120deg,#ffe3ac,#fdb65a);box-shadow:0 10px 24px #fdb65a59}.hero-btn-primary:hover{box-shadow:0 14px 30px #fdb65a80}.hero-btn-ghost{color:#e9f8ff;background:#0926366b;border-color:#e9f8ff7a}.hero-btn-ghost:hover{background:#09263694;border-color:#e9f8ffd9}.hero-tags{flex-wrap:wrap;gap:.55rem;display:flex}.hero-tag{font-family:var(--font-space-mono),"Consolas",monospace;letter-spacing:.07em;text-transform:uppercase;color:#f2faffe6;background:#071a2785;border:1px solid #ffffff47;border-radius:999px;padding:.34rem .76rem;font-size:.72rem}.robot-wrap{cursor:pointer;border-radius:24px;place-items:center;min-height:clamp(290px,36vw,380px);transition:transform .24s;display:grid;position:relative}.robot-wrap:hover{transform:translateY(-4px)}.robot-wrap:focus-visible{outline-offset:8px;outline:2px solid #ffe5b5e6}.robot-bubble{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#f3fafff2;opacity:0;transform-origin:100% 100%;pointer-events:none;background:#051621db;border:1px solid #ffffff52;border-radius:14px;max-width:236px;padding:.62rem .76rem;font-size:.78rem;line-height:1.45;position:absolute;top:4%;right:-2%;transform:translateY(14px)scale(.92);box-shadow:0 16px 32px #00000038}.robot-bubble:after{content:"";background:inherit;border-bottom:1px solid #ffffff42;border-right:1px solid #ffffff42;width:12px;height:12px;position:absolute;bottom:-8px;right:18px;transform:rotate(45deg)}.robot-bubble-show{opacity:1;animation:2.2s ease-in-out bubbleFloat;transform:translateY(0)scale(1)}.robot-halo{aspect-ratio:1;filter:blur(8px);opacity:.85;background:radial-gradient(circle,#fdb65a54,#118b962e 45%,#0000 66%);border-radius:999px;width:min(350px,92%);animation:5s ease-in-out infinite haloPulse;position:absolute}.robot-ring{border:1px dashed #cbe7ff6b;border-radius:999px;position:absolute}.robot-ring-a{aspect-ratio:1;width:min(326px,88%);animation:16s linear infinite spin}.robot-ring-b{aspect-ratio:1;width:min(260px,70%);animation:10s linear infinite spinReverse}.robot-frame{width:clamp(180px,26vw,230px);height:clamp(250px,34vw,320px);animation:3.3s ease-in-out infinite floatBot;position:relative}.robot-antenna{background:linear-gradient(#fffc,#8ac6f599);border-radius:999px;width:4px;height:42px;position:absolute;top:2%;left:50%;transform:translate(-50%)}.robot-antenna-light{background:radial-gradient(circle,#ffe7b0 0%,#fdb65a 70%);border-radius:999px;width:14px;height:14px;animation:1.4s ease-in-out infinite blinkLight;position:absolute;top:-10px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #fdb65acc}.robot-head{background:linear-gradient(140deg,#cbe7ffe6,#8ac6f5cc);border:2px solid #ffffff59;border-radius:24px;justify-content:center;align-items:center;gap:.62rem;width:72%;height:29%;display:flex;position:absolute;top:17%;left:50%;transform:translate(-50%);box-shadow:inset 0 -10px 22px #ffffff2e}.robot-eye{aspect-ratio:1;background:radial-gradient(circle at 30% 30%,#fff,#9cd2f3 72%);border-radius:999px;place-items:center;width:clamp(17px,2vw,21px);animation:3.1s ease-in-out infinite eyeBlink;display:grid;overflow:hidden;box-shadow:0 0 12px #41b6eb9e}.robot-pupil{aspect-ratio:1;background:radial-gradient(circle at 30% 30%,#24557a,#123d5d 74%);border-radius:999px;width:44%;transition:transform 90ms linear;box-shadow:inset 0 0 3px #ffffff59}.robot-mouth{background:linear-gradient(90deg,#4aa8de33,#4aa8def2,#4aa8de33);border-radius:999px;width:34%;height:5px;animation:1.7s ease-in-out infinite scanner;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}.robot-torso{background:linear-gradient(145deg,#91cdf7d1,#65aee3d1);border:2px solid #ffffff4d;border-radius:20px;place-items:center;width:60%;height:30%;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%)}.robot-core{background:radial-gradient(circle,#ffe7b0,#fdb65ae6 65%,#ffba604d);border-radius:999px;width:42px;height:42px;animation:1.8s ease-in-out infinite corePulse;box-shadow:0 0 22px #fdb65ab8}.robot-arm{transform-origin:50% 10%;background:linear-gradient(#cbe7ffd9,#76bdece6);border-radius:999px;width:20px;height:96px;position:absolute;top:54%;box-shadow:inset 0 -8px 12px #fff3}.robot-arm-left{animation:2.5s ease-in-out infinite armWaveLeft;left:6%}.robot-arm-right{animation:3s ease-in-out infinite armWaveRight;right:6%}.robot-wrap-hover .robot-frame{animation-duration:2.4s}.robot-wrap-hover .robot-arm-left{animation:1s ease-in-out infinite armWaveLeftHi}.robot-wrap-hover .robot-arm-right{animation:1.1s ease-in-out infinite armWaveRightHi}.robot-wrap-hover .robot-core{animation-duration:1.1s}.robot-leg{background:linear-gradient(#cbe7ffe6,#76bdeccc);border-radius:999px;width:24px;height:70px;position:absolute;bottom:2%}.robot-leg-left{left:34%}.robot-leg-right{right:34%}.robot-shadow{filter:blur(6px);background:#040c1685;border-radius:999px;width:58%;height:16px;animation:3.3s ease-in-out infinite shadowScale;position:absolute;bottom:3%}.section-stack{gap:clamp(1rem,2vw,1.4rem);width:min(1060px,100%);margin:0 auto clamp(2.2rem,5vw,4.2rem);padding:0 clamp(1.2rem,3vw,3rem) clamp(2rem,4vw,3rem);display:grid}.section-card{border:1px solid var(--card-border);background:var(--surface-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:clamp(1.2rem,2.8vw,2rem);box-shadow:0 18px 44px #00081047}.section-card-contact{background:linear-gradient(145deg,#061825d6,#0a293ba3)}.section-head{gap:.5rem;margin-bottom:clamp(1rem,2vw,1.5rem);display:grid}.section-kicker{font-family:var(--font-space-mono),"Consolas",monospace;letter-spacing:.14em;text-transform:uppercase;color:#fff0d6d9;margin:0;font-size:.72rem}.section-title{max-width:30ch;margin:0;font-size:clamp(1.3rem,2.4vw,2.05rem);line-height:1.22}.about-grid{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:clamp(1rem,2.4vw,1.8rem);display:grid}.about-text{color:var(--text-dim);margin:0;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.86}.about-highlights{flex-wrap:wrap;gap:.55rem;margin-top:1.2rem;display:flex}.about-highlight{background:var(--surface-soft);color:#f3faffe6;border:1px solid #ffffff42;border-radius:999px;padding:.34rem .74rem;font-size:.78rem}.about-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.68rem;display:grid}.about-pillar{background:#ffffff0a;border:1px solid #ffffff2e;border-radius:14px;padding:.76rem}.about-pillar h3{margin:0;font-size:.89rem}.about-pillar p{color:var(--text-soft);margin:.45rem 0 0;font-size:.83rem;line-height:1.55}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.78rem;display:grid}.skill-card{background:#ffffff08;border:1px solid #ffffff2b;border-radius:16px;padding:.9rem}.skill-card h3{margin:0;font-size:.96rem}.skill-card p{color:var(--text-soft);margin:.48rem 0 0;font-size:.84rem;line-height:1.6}.skill-list{gap:.62rem;margin:.88rem 0 0;padding:0;list-style:none;display:grid}.skill-item{gap:.3rem;display:grid}.skill-meta{color:#f0f8ffeb;justify-content:space-between;gap:.4rem;font-size:.79rem;display:flex}.skill-track{background:#ffffff29;border-radius:999px;height:7px;overflow:hidden}.skill-track span{border-radius:inherit;background:linear-gradient(90deg,#7de5f2f2,#fdb65af2);height:100%;display:block;box-shadow:0 0 18px #7de5f240}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(.9rem,2vw,1.4rem);display:grid}.contact-copy p{color:var(--text-dim);margin:0;font-size:clamp(.95rem,1.4vw,1.04rem);line-height:1.84}.contact-badges{flex-wrap:wrap;gap:.56rem;margin-top:1rem;display:flex}.contact-badges span{color:#eef7ffe6;background:#ffffff0d;border:1px solid #ffffff38;border-radius:999px;padding:.34rem .66rem;font-size:.76rem}.contact-links{gap:.66rem;display:grid}.contact-link{color:inherit;background:#ffffff0a;border:1px solid #fff3;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .85rem;text-decoration:none;transition:transform .22s,border-color .22s,background-color .22s;display:flex}.contact-link:hover{background:#ffffff14;border-color:#ffe5b5b3;transform:translateY(-3px)}.contact-link h3{margin:0;font-size:.93rem}.contact-link p{color:var(--text-soft);margin:.33rem 0 0;font-size:.82rem;line-height:1.5}.contact-link span{white-space:nowrap;border:1px solid #ffffff40;border-radius:999px;padding:.28rem .62rem;font-size:.73rem}@keyframes blink{50%{opacity:0}}@keyframes drift{to{transform:rotate(360deg)}}@keyframes cardIn{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes introPanelIn{0%{opacity:0;transform:translateY(22px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes introLoad{0%{width:0}to{width:100%}}@keyframes introFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}@keyframes bubbleFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.01)}}@keyframes haloPulse{0%,to{opacity:.75;transform:scale(.95)}50%{opacity:.95;transform:scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@keyframes floatBot{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes shadowScale{0%,to{opacity:.45;transform:scaleX(1)}50%{opacity:.28;transform:scaleX(.86)}}@keyframes armWaveLeft{0%,to{transform:rotate(18deg)}50%{transform:rotate(38deg)}}@keyframes armWaveRight{0%,to{transform:rotate(-10deg)}50%{transform:rotate(-24deg)}}@keyframes armWaveLeftHi{0%,to{transform:rotate(8deg)}50%{transform:rotate(58deg)}}@keyframes armWaveRightHi{0%,to{transform:rotate(-12deg)}50%{transform:rotate(-40deg)}}@keyframes scanner{0%,to{opacity:.45;transform:translate(-50%)scaleX(.6)}50%{opacity:1;transform:translate(-50%)scaleX(1)}}@keyframes corePulse{0%,to{transform:scale(.85)}50%{transform:scale(1.08)}}@keyframes eyeBlink{0%,47%,53%,to{transform:scaleY(1)}50%{transform:scaleY(.08)}}@keyframes blinkLight{0%,to{opacity:.4}50%{opacity:1}}@media (max-width:1080px){.about-grid,.contact-layout{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:940px){.hero-grid{text-align:center;grid-template-columns:1fr;justify-items:center}.hero-copy{padding-right:0}.typing-line,.hero-actions,.hero-tags{justify-content:center}.hero-intro{margin-left:auto;margin-right:auto}.section-head{text-align:center;justify-items:center}.section-title{max-width:100%}}@media (max-width:760px){.about-pillar-grid,.skills-grid{grid-template-columns:1fr}.contact-link{flex-direction:column;align-items:flex-start}.contact-link span{align-self:flex-start}}@media (max-width:640px){.hero-card,.section-card{border-radius:22px}.typing-line{gap:.2rem;min-height:3rem}.hero-actions{width:100%}.hero-btn{text-align:center;flex:170px}.robot-wrap{min-height:280px}.robot-bubble{max-width:210px;font-size:.74rem;right:2%}}@media (prefers-reduced-motion:reduce){body:before,.hero-card,.typing-cursor,.intro-panel,.intro-loader span,.robot-halo,.robot-ring,.robot-frame,.robot-eye,.robot-mouth,.robot-core,.robot-arm,.robot-shadow,.robot-antenna-light,.robot-bubble-show{animation:none!important}.hero-btn,.contact-link,.robot-wrap,.robot-pupil{transition:none!important}.intro-overlay{display:none}}
