:root{--bg:#07080c;--bg-alt:#0c0e15;--panel:#0e111ad9;--panel-solid:#0b0d14;--panel-hover:#161b2af2;--border:#00f0ff2e;--border-active:#00f0ff8c;--border-purple:#a855f773;--ink:#f8fafc;--ink-bright:#fff;--muted:#cbd5e1;--muted-dark:#64748b;--accent-cyan:#00f0ff;--accent-lime:#d8ff63;--accent-purple:#a855f7;--accent-pink:#ec4899;--accent-orange:#ff7a3d;--gradient-glow:linear-gradient(135deg, #00f0ff 0%, #a855f7 50%, #d8ff63 100%);--gradient-text:linear-gradient(135deg, #fff 0%, #00f0ff 50%, #d8ff63 100%);--gradient-accent:linear-gradient(90deg, #00f0ff, #a855f7, #d8ff63);--pointer-x:0;--pointer-y:0;--progress:0%;--scroll-y:0px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background-color:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;position:relative;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#00f0ff40;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00f0ff99}::selection{background:var(--accent-cyan);color:#000}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;outline:none}img,svg,video,canvas{max-width:100%}pre,code{white-space:pre-wrap;overflow-wrap:anywhere}body:before{content:"";z-index:-2;pointer-events:none;background-image:linear-gradient(#00f0ff0a 1px,#0000 1px),linear-gradient(90deg,#00f0ff0a 1px,#0000 1px);background-position:50%;background-size:60px 60px;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 20%,#00f0ff0f 0%,#0000 45%),radial-gradient(circle at 85% 60%,#a855f70f 0%,#0000 45%),radial-gradient(circle at 50% 90%,#d8ff630d 0%,#0000 50%);position:fixed;inset:0}.portfolio-shell{min-height:100vh;position:relative}section[id],div[id]{scroll-margin-top:110px}.intro-loader{z-index:999;background:var(--bg);pointer-events:none;place-items:center;animation:.8s cubic-bezier(.77,0,.175,1) 1.2s forwards introFadeOut;display:grid;position:fixed;inset:0}.intro-loader-content{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.intro-loader span{letter-spacing:.3em;color:var(--accent-cyan);text-transform:uppercase;font-size:13px;font-weight:700;animation:1s infinite alternate pulseGlow}.intro-loader strong{background:var(--gradient-text);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;font-family:Antonio,Inter,sans-serif;font-size:clamp(2.5rem,8vw,6rem);font-weight:700}.intro-bar{background:#ffffff1a;border-radius:3px;width:180px;height:3px;margin-top:8px;overflow:hidden}.intro-progress{background:var(--gradient-accent);width:0%;height:100%;animation:1.1s cubic-bezier(.65,0,.35,1) forwards loadProgress}@keyframes loadProgress{0%{width:0%}to{width:100%}}@keyframes introFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;visibility:hidden;transform:scale(1.05)}}@keyframes pulseGlow{0%{opacity:.6;text-shadow:0 0 5px #00f0ff66}to{opacity:1;text-shadow:0 0 15px #00f0ffcc}}.scroll-progress{width:var(--progress);background:var(--gradient-accent);z-index:1000;height:3px;box-shadow:0 0 12px var(--accent-cyan);transition:width .1s ease-out;position:fixed;top:0;left:0}.pointer-spotlight{z-index:1;pointer-events:none;background:radial-gradient(600px circle at var(--x,50%) var(--y,50%), #00f0ff0f, transparent 80%);position:fixed;inset:0}.cursor-follower{top:var(--cursor-y,-100px);left:var(--cursor-x,-100px);pointer-events:none;z-index:998;border:1.5px solid #00f0ff80;border-radius:50%;width:32px;height:32px;transition:width .2s cubic-bezier(.2,0,.2,1),height .2s cubic-bezier(.2,0,.2,1),border-color .2s,background-color .2s;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 15px #00f0ff33}.cursor-follower.is-hovering{border-color:var(--accent-lime);background:#d8ff6314;width:54px;height:54px;box-shadow:0 0 25px #d8ff6366}.scroll-top-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);width:52px;height:52px;color:var(--accent-cyan);z-index:990;opacity:0;pointer-events:none;background:#0e111ad9;border-radius:50%;justify-content:center;align-items:center;transition:all .35s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:32px;right:32px;transform:translateY(20px)scale(.8);box-shadow:0 8px 24px #00000080,0 0 15px #00f0ff33}.scroll-top-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scroll-top-btn:hover{border-color:var(--accent-cyan);background:#00f0ff26;transform:translateY(-4px)scale(1.1);box-shadow:0 12px 32px #00f0ff66}.scroll-svg-ring{width:56px;height:56px;position:absolute;inset:-2px;transform:rotate(-90deg)}.scroll-svg-ring circle{fill:none;stroke:var(--accent-cyan);stroke-width:2.5px;stroke-dasharray:157;stroke-dashoffset:calc(157 - (157 * var(--progress-pct,0)) / 100);transition:stroke-dashoffset .1s linear}.site-nav{z-index:100;-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);background:#0a0d14e0;border-radius:999px;justify-content:space-between;align-items:center;width:min(100% - 32px,1100px);padding:12px 24px;transition:all .3s;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #0009,inset 0 1px #ffffff26}.site-nav.scrolled{border-color:var(--border-active);background:#07090ff2;top:12px;box-shadow:0 16px 45px #000c,0 0 25px #00f0ff33}.logo{letter-spacing:.05em;color:var(--ink-bright);align-items:center;gap:10px;font-family:Antonio,sans-serif;font-size:1.25rem;font-weight:700;transition:color .3s;display:flex}.logo-badge{border:1px solid var(--border-active);width:32px;height:32px;color:var(--accent-cyan);background:linear-gradient(135deg,#00f0ff40,#a855f740);border-radius:8px;justify-content:center;align-items:center;display:flex;box-shadow:0 0 12px #00f0ff4d}.logo:hover{color:var(--accent-cyan)}.site-nav nav{align-items:center;gap:8px;display:flex}.nav-link{letter-spacing:.04em;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .25s cubic-bezier(.2,0,.2,1);display:flex}.nav-link:hover,.nav-link.active{color:var(--ink-bright);background:#ffffff14}.nav-link.active{color:var(--accent-cyan);background:#00f0ff26;border:1px solid #00f0ff66;box-shadow:0 0 14px #00f0ff4d}.nav-cta{color:#000;background:var(--accent-lime);border-radius:999px;align-items:center;gap:6px;padding:8px 18px;font-size:.85rem;font-weight:700;transition:all .3s cubic-bezier(.2,0,.2,1);display:flex;box-shadow:0 0 18px #d8ff6366}.nav-cta:hover{background:#e5ff85;transform:translateY(-2px);box-shadow:0 0 30px #d8ff63b3}.mobile-menu-btn{border:1px solid var(--border);width:40px;height:40px;color:var(--ink-bright);background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;display:none}.mobile-nav-drawer{-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-active);z-index:99;opacity:0;visibility:hidden;background:#0a0d14fa;border-radius:24px;flex-direction:column;gap:12px;width:min(92%,400px);padding:24px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 20px 50px #000000e6,0 0 30px #00f0ff33}.mobile-nav-drawer.open{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.mobile-nav-drawer a{color:var(--ink-bright);background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:12px;padding:14px 20px;font-size:1rem;font-weight:600;display:flex}.brand-tech-icon{vertical-align:middle;width:24px;height:24px;display:inline-block}.reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-rotate,.reveal-flip{opacity:0;will-change:transform, opacity;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0s)}.reveal{transform:translateY(45px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left{transform:translate(-60px)}.reveal-left.is-visible{opacity:1;transform:translate(0)}.reveal-right{transform:translate(60px)}.reveal-right.is-visible{opacity:1;transform:translate(0)}.reveal-scale{transform:scale(.88)translateY(30px)}.reveal-scale.is-visible{opacity:1;transform:scale(1)translateY(0)}.reveal-rotate{transform:perspective(1000px)rotateX(15deg)translateY(50px)}.reveal-rotate.is-visible{opacity:1;transform:perspective(1000px)rotateX(0)translateY(0)}.reveal-flip{transform:perspective(1000px)rotateY(-20deg)scale(.9)}.reveal-flip.is-visible{opacity:1;transform:perspective(1000px)rotateY(0)scale(1)}.scan-card{position:relative;overflow:hidden}.scan-card:after{content:"";pointer-events:none;background:linear-gradient(45deg,#0000 45%,#00f0ff26 50%,#0000 55%);width:200%;height:200%;transition:transform .8s;position:absolute;top:-50%;left:-50%;transform:rotate(30deg)translateY(-100%)}.scan-card:hover:after{transform:rotate(30deg)translateY(100%)}.hero-section{isolation:isolate;flex-direction:column;justify-content:space-between;max-width:none;min-height:100svh;margin:0 auto;padding:clamp(96px,12vh,128px) clamp(20px,3vw,48px) clamp(28px,5vh,48px);display:flex;position:relative;overflow:hidden}.hero-section:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#07080cfa 0%,#07080ce6 42%,#07080c6b 72%,#07080ce0 100%),linear-gradient(#07080cd1 0%,#07080c2e 48%,#07080cf5 100%);position:absolute;inset:0}.hero-background-portrait{z-index:0;opacity:.92;pointer-events:none;width:min(58vw,820px);min-width:520px;position:absolute;top:74px;bottom:0;right:max(-90px,50vw - 810px)}.hero-background-portrait:after{content:"";background:linear-gradient(90deg,#07080c8c,#0000 38%),radial-gradient(circle,#0000 0%,#07080ca6 76%);position:absolute;inset:0}.hero-background-portrait img{object-fit:cover;object-position:center top;filter:saturate(1.12)contrast(1.08)brightness(.92);width:100%;height:100%}.hero-stage{z-index:2;grid-template-columns:minmax(0,900px);justify-content:start;align-items:center;gap:0;width:min(100%,1360px);margin:auto;display:grid;position:relative}.hero-main{z-index:3;max-width:900px;position:relative}.hero-kicker{letter-spacing:.1em;color:var(--accent-cyan);text-transform:uppercase;background:#00f0ff1a;border:1px solid #00f0ff59;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 0 15px #00f0ff26}.hero-title{letter-spacing:0;text-transform:uppercase;color:var(--ink-bright);text-shadow:0 4px 20px #000c;font-family:Antonio,sans-serif;font-size:clamp(3.15rem,6.8vw,6.7rem);font-weight:700;line-height:.96}.hero-title-line{white-space:nowrap;display:inline-block}.hero-title .highlight-cyan{background:linear-gradient(135deg,#fff 0%,#00f0ff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-title .highlight-lime{color:var(--accent-lime);align-items:center;gap:12px;display:inline-flex;position:relative}.hero-summary{max-width:660px;margin-top:22px}.hero-summary p{color:#f8fafc;text-shadow:0 2px 10px #000000e6;font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.btn-primary{background:var(--accent-cyan);color:#000;letter-spacing:.04em;border-radius:999px;align-items:center;gap:10px;padding:14px 28px;font-size:.95rem;font-weight:700;transition:all .3s cubic-bezier(.2,0,.2,1);display:inline-flex;box-shadow:0 0 24px #00f0ff73}.btn-primary:hover{background:#52f4ff;transform:translateY(-3px)scale(1.02);box-shadow:0 0 40px #00f0ffcc}.btn-secondary{color:var(--ink-bright);letter-spacing:.04em;border:1px solid var(--border-active);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e111acc;border-radius:999px;align-items:center;gap:10px;padding:14px 28px;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent-cyan);background:#ffffff1f;transform:translateY(-3px);box-shadow:0 8px 24px #00000080}.hero-aside{z-index:3;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding-top:170px;display:none;position:relative}.portrait-tech-card{border:2px solid var(--border-active);background:#090b10;border-radius:24px;width:100%;max-width:380px;height:240px;transition:all .35s;display:none;position:relative;overflow:hidden;box-shadow:0 20px 50px #000c,0 0 30px #00f0ff40}.portrait-tech-card:hover{border-color:var(--accent-cyan);transform:scale(1.02);box-shadow:0 25px 60px #000000e6,0 0 45px #00f0ff66}.portrait-tech-card img{object-fit:cover;object-position:center 20%;filter:contrast(1.1)brightness(1.05);width:100%;height:100%}.portrait-badge-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--accent-cyan);color:var(--ink-bright);white-space:nowrap;background:#0a0d14eb;border-radius:999px;align-items:center;gap:8px;padding:6px 16px;font-size:.75rem;font-weight:700;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #000000b3,0 0 15px #00f0ff4d}.code-window{-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-active);background:#080a10f2;border-radius:20px;width:100%;max-width:420px;padding:24px;transition:all .3s;box-shadow:0 24px 50px #000c,0 0 25px #00f0ff26}.code-window:hover{border-color:var(--accent-cyan);box-shadow:0 30px 60px #000000e6,0 0 35px #00f0ff4d}.window-header{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.window-dots{gap:8px;display:flex}.window-dots span{border-radius:50%;width:10px;height:10px}.window-dots span:first-child{background:#ff5f56}.window-dots span:nth-child(2){background:#ffbd2e}.window-dots span:nth-child(3){background:#27c93f}.window-title{color:var(--accent-cyan);font-family:monospace;font-size:.75rem;font-weight:600}.code-body{color:#f1f5f9;font-family:Fira Code,monospace,Consolas;font-size:.85rem;line-height:1.75}.code-body .token-keyword{color:var(--accent-purple);font-weight:700}.code-body .token-variable{color:var(--accent-cyan);font-weight:700}.code-body .token-string{color:var(--accent-lime)}.code-body .token-boolean{color:var(--accent-orange);font-weight:700}.hero-meta{z-index:2;letter-spacing:.08em;width:min(100%,1360px);color:var(--muted);border-top:1px solid #ffffff1f;justify-content:space-between;margin:0 auto;padding-top:24px;font-size:.8rem;font-weight:600;display:flex;position:relative}.stats-section{max-width:1280px;margin:56px auto 80px;padding:0 24px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;display:grid}.stat-card{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);text-align:center;border-radius:20px;padding:28px 22px;transition:all .3s cubic-bezier(.2,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--gradient-accent);opacity:0;width:100%;height:2px;transition:opacity .3s;position:absolute;top:0;left:0}.stat-card:hover{border-color:var(--border-active);transform:translateY(-6px);box-shadow:0 16px 36px #0006,0 0 20px #00f0ff26}.stat-card:hover:before{opacity:1}.stat-icon{width:48px;height:48px;color:var(--accent-cyan);background:#00f0ff14;border:1px solid #00f0ff33;border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.stat-number{color:var(--ink-bright);background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-family:Antonio,sans-serif;font-size:3.2rem;font-weight:700;line-height:1}.stat-label{color:var(--muted);letter-spacing:.02em;font-size:.9rem;font-weight:600}.kinetic-strip{white-space:nowrap;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#00f0ff0a;margin:60px 0;padding:16px 0;display:flex;overflow:hidden}.marquee-track{gap:40px;animation:20s linear infinite marqueeScroll;display:flex}.marquee-item{letter-spacing:.08em;color:var(--muted);align-items:center;gap:16px;font-family:Antonio,sans-serif;font-size:1.5rem;font-weight:700;display:flex}.marquee-item .dot{background:var(--accent-cyan);width:8px;height:8px;box-shadow:0 0 8px var(--accent-cyan);border-radius:50%}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.section-label{letter-spacing:.15em;color:var(--accent-cyan);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:.8rem;font-weight:700;display:inline-flex}.section-title{color:var(--ink-bright);margin-bottom:20px;font-family:Antonio,sans-serif;font-size:clamp(2.2rem,4vw,3.8rem);font-weight:700;line-height:1.1}.section-desc{color:var(--muted);max-width:640px;font-size:1.1rem;line-height:1.6}.about-section{max-width:1280px;margin:clamp(72px,9vw,110px) auto;padding:0 24px}.about-grid{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:32px;grid-template-columns:1fr 1.2fr;align-items:center;gap:48px;padding:48px;display:grid;position:relative;overflow:hidden}.about-highlight{color:var(--ink-bright);font-family:Antonio,sans-serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:700;line-height:1.15}.about-highlight span{color:var(--accent-lime)}.about-content p{color:var(--muted);margin-bottom:20px;font-size:1.1rem;line-height:1.7}.skills-section{max-width:1280px;margin:clamp(80px,10vw,120px) auto;padding:0 24px}.filter-bar{flex-wrap:wrap;gap:12px;margin:32px 0 40px;display:flex}.filter-btn{border:1px solid var(--border);color:var(--muted);background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.2,0,.2,1);display:flex}.filter-btn:hover{color:var(--ink-bright);background:#ffffff14;border-color:#fff3}.filter-btn.active{background:var(--accent-cyan);color:#000;border-color:var(--accent-cyan);font-weight:700;box-shadow:0 0 20px #00f0ff66}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:60px;display:grid}.tech-chip{background:var(--panel);border:1px solid var(--border);border-radius:16px;align-items:center;gap:14px;padding:16px 20px;transition:all .3s cubic-bezier(.2,0,.2,1);display:flex;position:relative;overflow:hidden}.tech-chip:hover{border-color:var(--border-active);background:var(--panel-hover);transform:translateY(-4px)scale(1.02);box-shadow:0 12px 28px #0006,0 0 20px #00f0ff26}.tech-icon-wrapper{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.tech-chip span{color:var(--ink-bright);font-size:.95rem;font-weight:600}.skill-cards-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:24px;display:grid}.skill-card{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);transform-style:preserve-3d;border-radius:24px;padding:36px;transition:all .35s cubic-bezier(.2,0,.2,1);position:relative}.skill-card:hover{transform:translateY(-8px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));border-color:var(--border-active);box-shadow:0 20px 40px #00000080,0 0 30px #00f0ff33}.skill-card-num{color:var(--accent-cyan);align-items:center;gap:8px;margin-bottom:20px;font-family:Antonio,sans-serif;font-size:1.25rem;font-weight:700;display:flex}.skill-card h3{color:var(--ink-bright);margin-bottom:12px;font-family:Antonio,sans-serif;font-size:1.8rem;font-weight:700}.skill-card p{color:var(--muted);font-size:1rem;line-height:1.6}.lab-section{max-width:1280px;margin:clamp(80px,10vw,120px) auto;padding:0 24px}.lab-container{background:var(--panel-solid);border:1px solid var(--border);border-radius:28px;padding:40px;position:relative;overflow:hidden;box-shadow:0 24px 48px #0009}.lab-tabs{border-bottom:1px solid #ffffff14;gap:12px;margin-bottom:32px;padding-bottom:16px;display:flex;overflow-x:auto}.lab-tab{border:1px solid var(--border);color:var(--muted);background:#ffffff08;border-radius:12px;align-items:center;gap:10px;padding:12px 24px;font-size:.9rem;font-weight:600;transition:all .3s;display:flex}.lab-tab:hover{color:var(--ink-bright);background:#ffffff14}.lab-tab.active{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#00f0ff1f;box-shadow:0 0 15px #00f0ff33}.lab-display{grid-template-columns:1fr 1.2fr;align-items:center;gap:32px;display:grid}.lab-metrics{background:#0006;border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:20px;padding:28px;display:flex}.metric-bar-group{flex-direction:column;gap:8px;display:flex}.metric-header{color:var(--muted);justify-content:space-between;font-size:.85rem;font-weight:600;display:flex}.metric-bar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.metric-fill{background:var(--gradient-accent);border-radius:4px;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.lab-output{color:var(--ink-bright);background:#090b10;border:1px solid #00f0ff33;border-radius:20px;padding:28px;font-family:Fira Code,monospace;font-size:.9rem}.lab-output h4{color:var(--accent-cyan);margin-bottom:12px;font-family:Antonio,sans-serif;font-size:1.6rem}.lab-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.lab-tag{color:var(--accent-cyan);background:#00f0ff1a;border:1px solid #00f0ff40;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:600}.work-section{max-width:1280px;margin:clamp(80px,10vw,120px) auto;padding:0 24px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px;margin-top:40px;display:grid}.project-card{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:28px;flex-direction:column;justify-content:space-between;padding:32px;transition:all .4s cubic-bezier(.2,0,.2,1);display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--border-active);transform:translateY(-8px);box-shadow:0 24px 48px #0009,0 0 35px #00f0ff33}.project-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.project-num{color:var(--accent-cyan);font-family:Antonio,sans-serif;font-size:1.25rem;font-weight:700}.project-icon-link{border:1px solid var(--border);width:40px;height:40px;color:var(--ink-bright);background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;transition:all .3s;display:flex}.project-card:hover .project-icon-link{background:var(--accent-cyan);color:#000;border-color:var(--accent-cyan);box-shadow:0 0 15px #00f0ff80}.project-code-snippet{color:var(--accent-lime);word-break:break-all;background:#080a0f;border:1px solid #ffffff14;border-radius:14px;margin-bottom:20px;padding:16px;font-family:monospace;font-size:.8rem}.project-title{color:var(--ink-bright);margin-bottom:8px;font-family:Antonio,sans-serif;font-size:1.8rem;font-weight:700}.project-type{color:var(--muted);margin-bottom:20px;font-size:.9rem}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tag{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;display:flex}.contact-section{max-width:1280px;margin:clamp(80px,10vw,120px) auto 80px;padding:0 24px}.build-flow-section,.social-section{max-width:1280px;margin:clamp(80px,10vw,110px) auto;padding:0 24px}.build-flow-card{border:1px solid var(--border);background:#090b10;border-radius:24px;padding:32px}.contact-grid{background:var(--panel-solid);border:1px solid var(--border);border-radius:36px;grid-template-columns:1fr 1.2fr;gap:48px;padding:56px;display:grid;box-shadow:0 24px 60px #0009}.contact-info h2{color:var(--ink-bright);margin-bottom:20px;font-family:Antonio,sans-serif;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:700;line-height:1.1}.contact-form{flex-direction:column;gap:20px;display:flex}.form-group{position:relative}.form-input{border:1px solid var(--border);width:100%;color:var(--ink-bright);background:#ffffff08;border-radius:14px;padding:16px 20px 16px 48px;font-size:.95rem;transition:all .3s}.form-input:focus{border-color:var(--accent-cyan);background:#00f0ff0a;box-shadow:0 0 20px #00f0ff40}.form-icon{color:var(--muted);transition:color .3s;position:absolute;top:18px;left:16px}.form-input:focus+.form-icon,.form-input:focus~.form-icon{color:var(--accent-cyan)}textarea.form-input{resize:vertical;min-height:140px}.file-input-label{border:1px dashed var(--border-active);width:100%;min-height:58px;color:var(--muted);letter-spacing:.04em;cursor:pointer;background:#ffffff08;border-radius:14px;align-items:center;gap:12px;padding:16px 20px;font-size:.9rem;font-weight:700;transition:all .3s;display:flex;position:relative}.file-input-label:hover{color:var(--ink-bright);border-color:var(--accent-cyan);background:#00f0ff0d}.file-input-label svg{color:var(--accent-cyan);flex:none}.file-input-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-input-label input{opacity:0;cursor:pointer;position:absolute;inset:0}.form-btn{background:var(--accent-cyan);color:#000;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:18px 32px;font-size:1rem;font-weight:700;transition:all .3s cubic-bezier(.2,0,.2,1);display:inline-flex;box-shadow:0 0 25px #00f0ff59}.form-btn:hover{background:#52f4ff;transform:translateY(-2px);box-shadow:0 0 35px #00f0ffb3}.form-btn:disabled{cursor:wait;opacity:.72}.form-status.success{border:1px solid var(--accent-cyan);background:#00f0ff1a}.form-status.error{background:#ff7a3d1a;border:1px solid #ff7a3d8c}.site-footer{max-width:1280px;color:var(--muted);border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:40px 24px;font-size:.85rem;display:flex}.footer-link{color:var(--ink-bright);align-items:center;gap:6px;transition:color .3s;display:inline-flex}.footer-link:hover{color:var(--accent-cyan)}@media (max-width:1100px){.site-nav nav{display:none}.mobile-menu-btn{display:flex}.site-nav{width:min(100% - 32px,720px)}}@media (max-width:1024px){.hero-background-portrait{opacity:.62;width:760px;min-width:0;right:-180px}.hero-section{padding-top:118px}.hero-stage{grid-template-columns:1fr;align-items:start;gap:0;margin-top:clamp(36px,6vh,72px);margin-bottom:0}.hero-main{max-width:760px}.hero-title{font-size:clamp(3.25rem,8vw,5.4rem)}.hero-summary{max-width:620px}.hero-aside{align-items:flex-start;padding-top:0}.about-grid,.contact-grid,.lab-display{grid-template-columns:1fr}.contact-grid{gap:36px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media (max-width:768px){.hero-section{min-height:100svh;padding-top:110px;padding-bottom:24px}.hero-stage{margin-top:0}.hero-section:before{background:linear-gradient(90deg,#07080cfa 0%,#07080cd6 62%,#07080cb3 100%),linear-gradient(#07080cd9 0%,#07080c52 45%,#07080cf5 100%)}.hero-background-portrait{opacity:.42;width:620px;height:72%;top:94px;right:-220px}.hero-title{max-width:100%;font-size:clamp(2.2rem,8.8vw,3.3rem);line-height:1}.hero-kicker{white-space:normal;text-align:center;justify-content:center;width:100%;font-size:.78rem;line-height:1.35}.hero-summary{margin-top:22px}.hero-summary p{font-size:1rem;line-height:1.55}.hero-actions{gap:12px;margin-top:22px}.hero-meta{flex-direction:column;gap:10px;padding-top:18px;font-size:.78rem}.about-grid,.contact-grid,.lab-container{padding:28px 20px}.about-section,.skills-section,.lab-section,.work-section,.contact-section,.build-flow-section,.social-section{padding-left:20px;padding-right:20px}.section-title{font-size:clamp(2rem,9vw,3rem)}.section-desc,.about-content p{font-size:1rem}.about-content>div{flex-wrap:wrap}.about-grid{border-radius:24px;gap:28px}.filter-bar{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{flex:none}.project-grid{grid-template-columns:1fr;gap:20px}.btn-primary,.btn-secondary{justify-content:center;width:100%;min-height:54px;padding:14px 20px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.stat-card{padding:24px 16px}.stat-number{font-size:2.8rem}.stat-label{font-size:.82rem}.project-card,.skill-card,.build-flow-card{border-radius:20px;padding:24px}.build-flow-card pre{font-size:.78rem!important;line-height:1.65!important}.contact-grid{border-radius:24px;gap:32px}.contact-info h2{font-size:clamp(2rem,10vw,2.8rem)}.site-footer{text-align:center;justify-content:center}}@media (max-width:480px){.site-nav{width:calc(100% - 24px);padding:10px 12px}.logo{font-size:1.02rem}.logo-badge{width:36px;height:36px}.nav-cta{padding:8px 14px;font-size:.78rem}.mobile-menu-btn{width:38px;height:38px}.hero-section{min-height:auto;padding-bottom:28px;padding-left:20px;padding-right:20px}.hero-background-portrait{opacity:.34;width:650px;right:-250px}.hero-title{font-size:clamp(2.55rem,12.5vw,3.55rem);line-height:.95}.hero-title-line{white-space:normal}.hero-title .highlight-cyan{display:block}.hero-title .highlight-lime{display:inline-flex}.hero-summary p{font-size:.96rem}.hero-meta{margin-top:28px}.stats-grid{grid-template-columns:1fr}.filter-bar{gap:8px}.filter-btn{padding:8px 14px;font-size:.78rem}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.tech-chip{padding:14px}.lab-container,.contact-grid,.about-grid,.build-flow-card{padding:24px 18px}.build-flow-section,.social-section,.about-section,.skills-section,.lab-section,.work-section,.contact-section{margin-top:72px;margin-bottom:72px}.lab-output,.lab-metrics{padding:20px}.lab-tabs{gap:8px}.lab-tab{padding:10px 14px;font-size:.82rem}.project-title,.skill-card h3{font-size:1.55rem}.project-code-snippet{padding:14px;font-size:.74rem}.form-input{padding-right:16px}.form-btn{padding:16px 18px;font-size:.94rem}}@media (max-width:360px){.nav-cta{display:none}.hero-title{font-size:2.38rem}.hero-kicker{font-size:.7rem}}
