@import "https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8f6f1;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Sora,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100svh}html{scroll-behavior:smooth}#app{display:block}#app:after{content:"";pointer-events:none;z-index:30;background:linear-gradient(#17181f00 0%,#17181f42 48%,#17181fb8 100%);height:18vh;position:fixed;bottom:0;left:0;right:0}body{color:#f8f6f1;background:linear-gradient(#1f2027 0%,#17181f 100%);margin:0;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:-1;filter:blur(8px);position:fixed;inset:-18%}body:before{background:radial-gradient(circle at 18% 16%,#5d6bc447,#0000 34%),radial-gradient(circle at 76% 22%,#8258be33,#0000 32%),radial-gradient(circle at 52% 8%,#ffffff0d,#0000 24%);animation:14s ease-in-out infinite alternate ambientDrift}body:after{background:radial-gradient(circle at 48% 80%,#35499038,#0000 38%),radial-gradient(circle at 70% 52%,#ffffff0f,#0000 26%),radial-gradient(circle at 12% 72%,#52358a24,#0000 30%);animation:19s ease-in-out infinite alternate ambientDriftSlow}button,input,textarea,select{font:inherit}.portfolio-shell{width:100%;min-height:100svh;padding:14px 16px 40px;display:block}.scroll-scene{--scene-translate:0px;--scene-scale:1;--scene-opacity:1;--scene-blur:0px;transform:translate3d(0, var(--scene-translate), 0) scale(var(--scene-scale));opacity:var(--scene-opacity);filter:blur(var(--scene-blur));will-change:transform, opacity, filter;transition:transform .18s linear,opacity .18s linear,filter .18s linear}.site-logo-link{z-index:24;justify-content:center;align-items:center;width:46px;height:46px;text-decoration:none;transition:opacity .22s,transform .22s;display:inline-flex;position:fixed;top:16px;left:16px}.site-logo-link:hover,.site-logo-link:focus-visible{opacity:.86;transform:translateY(-1px)}.site-logo{object-fit:contain;filter:drop-shadow(0 8px 16px #070b162e);width:100%;height:100%}.site-logo-label{color:#f8f6f1e0;letter-spacing:.01em;white-space:nowrap;opacity:0;pointer-events:none;font-size:.9rem;font-weight:500;transition:opacity .22s,transform .22s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)translate(-8px)}.site-logo-link:hover .site-logo-label,.site-logo-link:focus-visible .site-logo-label{opacity:1;transform:translateY(-50%)translate(0)}.hero-panel{text-align:center;margin-inline:auto;place-items:center;gap:22px;width:min(1180px,100%);min-height:min(78vh,820px);margin-bottom:30px;padding:72px 24px 84px;scroll-margin-top:104px;animation:7s ease-in-out infinite heroFloat;display:grid}.hero-title{letter-spacing:.015em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:clamp(.03em,.2vw,.1em);margin:0;font-size:clamp(4.6rem,12vw,8.8rem);font-weight:400;line-height:.92;transition:opacity .32s,transform .32s;display:flex}.hero-title-wrap{place-items:center;display:grid;position:relative}.hero-letter{color:#fcfbf6;text-shadow:0 0 18px #ffffff0d;transform-origin:50% 65%;will-change:transform;transition:transform 1s cubic-bezier(.22,1,.36,1);display:inline-block}.hero-title-alt{color:#fcfbf6f5;letter-spacing:.015em;text-transform:uppercase;opacity:0;pointer-events:none;margin:0;font-family:Sora,Segoe UI,sans-serif;font-size:clamp(3.85rem,10vw,7.4rem);font-weight:400;line-height:.92;transition:opacity .32s,transform .32s;position:absolute;transform:scale(.975)}.hero-title-wrap:hover .hero-title,.hero-title-wrap:focus-within .hero-title{opacity:0;transform:scale(.985)}.hero-title-wrap:hover .hero-title-alt,.hero-title-wrap:focus-within .hero-title-alt{opacity:1;transform:scale(1)}.font-1{font-family:Sora,Segoe UI,sans-serif;font-weight:700}.font-2{font-family:Sora,Segoe UI,sans-serif;font-weight:500}.font-3{font-family:Sora,Segoe UI,sans-serif;font-weight:600}.font-4{font-family:Sora,Segoe UI,sans-serif;font-weight:300}.font-5{font-family:Sora,Segoe UI,sans-serif;font-weight:700}.font-6{font-family:Sora,Segoe UI,sans-serif;font-weight:400}.font-7{font-family:Sora,Segoe UI,sans-serif;font-weight:600}.font-8{font-family:Sora,Segoe UI,sans-serif;font-weight:500}.hero-subtitle{color:#f8f6f1f5;text-transform:uppercase;letter-spacing:.02em;will-change:transform;margin:-116px 0 0;font-family:Sora,Segoe UI,sans-serif;font-size:clamp(1.75rem,4vw,3rem);font-weight:400;transition:transform 1s cubic-bezier(.22,1,.36,1)}.stats-grid{perspective:1200px;grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr) minmax(0,.92fr);gap:32px;width:min(1120px,100%);margin-top:18px;scroll-margin-top:124px;display:grid}.stat-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12141d6b;border:1px solid #3743783d;border-radius:28px;align-content:center;justify-items:center;min-height:134px;padding:30px 28px 26px;transition:transform .26s,border-color .26s,background .26s;animation:5.2s ease-in-out infinite cardIdle;display:grid;position:relative;overflow:hidden;transform:translateY(0)rotateX(0)scale(1);box-shadow:0 16px 32px #04060d33}.stat-value{color:#fcfbf6;letter-spacing:-.04em;text-align:center;white-space:nowrap;width:100%;margin:0;font-family:Sora,Segoe UI,sans-serif;font-size:clamp(2rem,4.1vw,3.45rem);line-height:1;transition:transform .26s,text-shadow .26s}.stat-card-visits{padding-inline:42px}.stat-value-static{letter-spacing:-.06em}.stat-label{color:#f2efe7e0;text-transform:uppercase;margin:10px 0 0;font-family:Sora,Segoe UI,sans-serif;font-size:clamp(.98rem,1.7vw,1.55rem);line-height:1.08;transition:transform .26s,opacity .26s}.stat-card:before{content:"";opacity:0;background:linear-gradient(90deg,#0000 0%,#ffffff05 40%,#c5d2ff24 50%,#ffffff05 60%,#0000 100%);width:44%;position:absolute;inset:-40% auto -40% -20%;transform:translate(-180%)skew(-18deg)}.stat-card:after{content:"";border-radius:inherit;opacity:.45;background:radial-gradient(circle at top,#7588ff14,#0000 58%);transition:opacity .26s;position:absolute;inset:0}.stat-card:nth-child(2){animation-delay:.8s}.stat-card:nth-child(3){animation-delay:1.6s}.stat-card:hover,.stat-card:focus-within{background:#161823b8;border-color:#7382dc57;animation-play-state:paused;transform:translateY(-8px)rotateX(7deg)scale(1.025)}.stat-card:hover:before,.stat-card:focus-within:before{opacity:1;animation:.9s forwards cardShimmer}.stat-card:hover:after,.stat-card:focus-within:after{opacity:.75}.stat-card:hover .stat-value,.stat-card:focus-within .stat-value{text-shadow:0 8px 18px #b6c0ff24;transform:translateY(-2px)scale(1.02)}.stat-card:hover .stat-label,.stat-card:focus-within .stat-label{opacity:1;transform:translateY(2px)}.tools-panel{margin-inline:auto;width:min(1180px,100%);margin-top:-54px;padding:0 8px 20px}.skills-panel{margin-inline:auto;width:min(1180px,100%);margin-top:clamp(60px,12vh,130px);padding:10px 8px 40px;scroll-margin-top:124px}.projects-panel{width:min(1180px,100%);margin-inline:auto;padding:10px 8px 40px}.projects-heading{text-align:center;width:min(780px,100%);margin:0 auto 28px;animation:8s ease-in-out infinite headingFloat}.projects-title{color:#fcfbf6;letter-spacing:-.04em;margin:0;font-size:clamp(2.5rem,4.6vw,4.1rem);font-weight:400}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-card{background:linear-gradient(#1c1e26e6,#15161df5),radial-gradient(circle at top,#6e7be00f,#0000 56%);border:1px solid #ffffff14;border-radius:22px;gap:16px;padding:14px;animation:7.4s ease-in-out infinite projectFloat;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 34px #02040924}.project-card:nth-child(2){animation-delay:.9s}.project-card:nth-child(3){animation-delay:1.8s}.project-thumb-link{text-decoration:none;display:block}.project-thumb-frame{aspect-ratio:16/9;background:radial-gradient(circle at 20% 20%,#7a86e033,#0000 34%),linear-gradient(#1e212ce6,#14161df5);border-radius:16px;position:relative;overflow:hidden}.project-icon-badge{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12141d94;border:1px solid #ffffff14;border-radius:12px;place-items:center;width:38px;height:38px;animation:6.4s ease-in-out infinite projectBadgeFloat;display:grid;position:absolute;top:14px;left:14px;box-shadow:0 10px 20px #060a1424}.project-icon{opacity:.92;filter:invert();width:18px;height:18px}.project-thumb-frame:after{content:"";pointer-events:none;background:linear-gradient(#ffffff05,#fff0);animation:6.8s ease-in-out infinite projectOverlayDrift;position:absolute;inset:0}.project-thumb{object-fit:cover;width:100%;height:100%;transition:transform .42s,filter .42s,opacity .36s;animation:8.2s ease-in-out infinite projectImageDrift;display:block;position:absolute;inset:0;transform:scale(1.01)}.project-thumb-hover{opacity:0}.project-card:hover .project-thumb,.project-card:focus-within .project-thumb{filter:saturate(1.05);transform:scale(1.045)}.project-card:hover .project-thumb-hover,.project-card:focus-within .project-thumb-hover{opacity:1}.project-copy{gap:10px;padding:4px 4px 2px;animation:6.6s ease-in-out infinite projectCopyFloat;display:grid}.project-title-wrap{align-items:start;min-height:2.8rem;display:grid;position:relative}.project-title{color:#fcfbf6;margin:0;font-size:clamp(1.16rem,1.8vw,1.45rem);font-weight:500;line-height:1.2;transition:opacity .26s,transform .26s}.project-title-alt{color:#e2dfd8c7;opacity:0;pointer-events:none;margin:0;font-size:clamp(1.06rem,1.7vw,1.3rem);font-weight:400;line-height:1.2;transition:opacity .26s,transform .26s;position:absolute;inset:0 auto auto 0;transform:translateY(8px)}.project-card:hover .project-title,.project-card:focus-within .project-title{opacity:0;transform:translateY(-8px)}.project-card:hover .project-title-alt,.project-card:focus-within .project-title-alt{opacity:1;transform:translateY(0)}.project-summary{color:#dfdcd6bd;margin:0;font-size:.95rem;line-height:1.52;transition:color .24s,transform .24s}.project-card:hover .project-summary,.project-card:focus-within .project-summary{color:#e8e5ded1;transform:translateY(1px)}.skills-heading{text-align:center;width:min(780px,100%);margin:0 auto 28px;animation:8s ease-in-out infinite headingFloat}.skills-title{color:#fcfbf6;letter-spacing:-.04em;margin:0;font-size:clamp(2.8rem,5vw,4.6rem);font-weight:400}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.skill-card{background:linear-gradient(#1f2027eb,#191a21f5),radial-gradient(circle at top,#6e7be014,#0000 58%);border:1px solid #ffffff14;border-radius:18px;min-height:384px;animation:7.2s ease-in-out infinite skillCardFloat;position:relative;overflow:hidden;box-shadow:0 18px 34px #0204092e}.skill-card:nth-child(2){animation-delay:.9s}.skill-card:nth-child(3){animation-delay:1.8s}.skill-card:nth-child(4){animation-delay:2.7s}.skill-visual{height:100%;min-height:384px;position:relative;overflow:hidden}.skill-copy-block{z-index:3;text-align:center;background:linear-gradient(#12141d00 0%,#12141dd1 56%,#12141dfa 100%);padding:36px 20px 18px;animation:7s ease-in-out infinite overlayBreathe;position:absolute;inset:auto 0 0}.skill-card-title{color:#fcfbf6;margin:0;font-size:clamp(1.15rem,1.5vw,1.5rem);font-weight:700;line-height:1.2;transition:opacity .24s,transform .24s}.skill-card-description{color:#dcdad5b8;opacity:0;pointer-events:none;max-width:14.5rem;margin:8px auto 0;font-size:.95rem;font-weight:400;line-height:1.4;transition:opacity .24s,transform .24s;transform:translateY(8px)}.skill-card:hover .skill-card-title,.skill-card:focus-within .skill-card-title{opacity:0;transform:translateY(-8px)}.skill-card:hover .skill-card-description,.skill-card:focus-within .skill-card-description{opacity:1;transform:translateY(0)}.code-visual{background:radial-gradient(circle at 15% 15%,#7970ff1f,#0000 30%),linear-gradient(#26233f80,#18182233);padding:18px 18px 8px}.code-visual:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#18182200 0%,#18182229 28%,#18182294 70%,#181822f0 100%);height:64px;position:absolute;inset:auto 0 0}.code-aurora{background:linear-gradient(#0000 0%,#ffffff08 50%,#0000 100%);animation:4.2s ease-in-out infinite codeSweep;position:absolute;inset:0;transform:translateY(-100%)}.code-lines{z-index:1;color:#eeecfde0;white-space:pre;max-height:268px;margin:0;font-family:Consolas,Courier New,monospace;font-size:.64rem;line-height:1.28;position:relative;overflow:hidden}.code-dim{color:#c5bfffa6}.code-keyword{color:#cdb4ff}.code-name{color:#f8f7ff}.code-accent{color:#74d7ff}.git-visual{padding:18px 18px 8px}.git-chip{border-radius:7px;padding:3px 8px;font-size:.75rem;line-height:1.1;transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);position:absolute;box-shadow:0 8px 14px #05070f29}.git-chip-top{color:#3d69ff;background:#e3e9fff5;animation:4.8s ease-in-out infinite chipFloat;top:18px;left:50%;transform:translate(-50%)}.git-chip-left{color:#ff5e68;background:#ffe7e7f5;animation:4.8s ease-in-out .9s infinite chipFloatLeft;top:88px;left:24px}.git-branches{width:100%;height:auto;margin-top:14px;overflow:visible}.git-line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;transition:opacity .26s,filter .26s}.git-line-flow{stroke-dasharray:340;stroke-dashoffset:340px;filter:drop-shadow(0 0 8px #ffffff2e);animation:.9s cubic-bezier(.22,1,.36,1) forwards gitLineTrace}.git-line-blue{stroke:#2da4ff}.git-line-red{stroke:#ff5f6b}.git-line-green{stroke:#2bd0a2}.git-node{transform-box:fill-box;transform-origin:50%}.git-node-blue{fill:#2da4ff;animation:2.6s ease-in-out infinite gitPulse}.git-node-red{fill:#ff5f6b;animation:2.6s ease-in-out .65s infinite gitPulse}.git-node-green{fill:#f5c64a;animation:2.6s ease-in-out 1.2s infinite gitPulse}.git-node-spawn{animation:2.6s ease-in-out infinite gitPulse,.68s ease-out gitSpawn}.git-node-merge{animation:2.6s ease-in-out infinite gitPulse,.76s ease-out gitMerge}.git-node-destroy{animation:2.6s ease-in-out infinite gitPulse,.76s ease-out gitDestroy}.git-commit{color:#f3f1eceb;align-items:flex-start;gap:12px;margin-top:-4px;transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);animation:2.2s ease-in-out infinite commitBreathe;display:flex}.git-commit.is-swapping,.git-chip.is-swapping{opacity:0;transform:translateY(10px)}.git-commit.is-entering,.git-chip.is-entering{opacity:0;transform:translateY(-10px)}.git-commit strong{font-size:.95rem;font-weight:700;line-height:1.25;display:block}.git-commit p{color:#d0cec9ad;margin:6px 0 0;font-size:.84rem}.git-commit-icon{background:#fff;border-radius:999px;flex-shrink:0;width:12px;height:12px;margin-top:3px;position:relative}.git-commit-icon:before{content:"";background:#ffffffe0;width:10px;height:2px;position:absolute;top:5px;left:11px}.explorer-visual{padding:22px 18px 12px}.tree-group{border-left:1px solid #ffffff14;margin-left:22px;padding-left:16px;animation:7.5s ease-in-out infinite treeGlow}.tree-line{color:#ebe9e3bd;align-items:center;gap:9px;min-height:26px;display:flex}.tree-line+.tree-line{margin-top:8px}.tree-line.tree-leaf{color:#d6d3cda8}.tree-line-root{margin-bottom:10px}.tree-toggle{width:18px;height:18px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.tree-chevron{border-bottom:2px solid #e4e2dcc2;border-right:2px solid #e4e2dcc2;width:8px;height:8px;transition:transform .18s;transform:rotate(-45deg)}.tree-toggle.is-open .tree-chevron{transform:rotate(45deg)}.tree-spacer{width:18px;height:18px;position:relative}.tree-label{font-size:.98rem}.ci-visual{background:linear-gradient(#1d1e25f5,#191b21cc 52%,#13492be0 100%);padding:0}.ci-badge{color:#f7f5ef;z-index:3;background:#191b25f5;border:1px solid #ffffff14;border-radius:8px;padding:6px 12px;font-size:.73rem;position:absolute;top:16px;left:50%;transform:translate(-50%)}.ci-grid{background:linear-gradient(90deg,#ffffff14 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#ffffff0d 1px,#0000 1px) 0 0/24px 24px;border-radius:14px 14px 0 0;animation:10s linear infinite gridDrift;position:absolute;inset:6px;-webkit-mask-image:linear-gradient(#000000c7,#0000 85%);mask-image:linear-gradient(#000000c7,#0000 85%)}.ci-connectors{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ci-connector{fill:none;stroke:#ffffff47;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round}.ci-check{color:#baf2cf;z-index:3;background:#102217e0;border:1px solid #88e9ab4d;border-radius:50%;place-items:center;width:29px;height:29px;display:grid;position:absolute;bottom:62px;box-shadow:0 0 #48da8000}.ci-check-left{animation:3.8s ease-in-out infinite checkPulse;left:20px}.ci-check-center{animation:3.8s ease-in-out 1.1s infinite checkPulse;left:50%;transform:translate(-50%)}.ci-check-right{animation:3.8s ease-in-out 2.2s infinite checkPulse;right:20px}.ci-floor{background:linear-gradient(#1f7b4500,#1f7b4594);height:96px;position:absolute;inset:auto 0 0}.ci-card .skill-copy-block{padding-top:48px;padding-bottom:14px}.marquee-shell{width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.marquee-track{will-change:transform;gap:30px;width:max-content;padding:22px 18px;animation:30s linear infinite marqueeScroll;display:flex}.marquee-shell:hover .marquee-track,.marquee-shell:focus-within .marquee-track{animation-play-state:paused}.tool-pill{place-items:center;transition:transform .22s;animation:4.8s ease-in-out infinite toolFloat;display:inline-grid;transform:translateY(0)}.tool-pill:nth-child(4n+2){animation-delay:.8s}.tool-pill:nth-child(4n+3){animation-delay:1.6s}.tool-pill:nth-child(4n+4){animation-delay:2.4s}.tool-pill:hover{transform:translateY(-6px)}.tool-icon-wrap{filter:drop-shadow(0 12px 20px #06091233);flex-shrink:0;place-items:center;width:60px;height:60px;display:grid}.tool-icon{object-fit:contain;width:42px;height:42px}.tool-glyph{color:#faf9f4f5;letter-spacing:.04em;text-transform:uppercase;font-family:Palatino Linotype,Palatino,serif;font-size:1rem;font-weight:700}@keyframes ambientDrift{0%{opacity:.82;transform:translate(-3.5%,-2.5%)scale(1.02)}to{opacity:1;transform:translate(3.5%,2.5%)scale(1.12)}}@keyframes ambientDriftSlow{0%{opacity:.7;transform:translate(3%,-2%)scale(1)}to{opacity:.98;transform:translate(-3%,2.4%)scale(1.1)}}@keyframes topbarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes cardIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cardShimmer{0%{transform:translate(-180%)skew(-18deg)}to{transform:translate(360%)skew(-18deg)}}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 9px))}}@keyframes toolFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes headingFloat{0%,to{opacity:.96;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes skillCardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes projectFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes projectImageDrift{0%,to{filter:saturate();transform:scale(1.01)translateY(0)}50%{filter:saturate(1.04);transform:scale(1.035)translateY(-3px)}}@keyframes projectOverlayDrift{0%,to{opacity:.42;transform:translateY(0)}50%{opacity:.78;transform:translateY(6px)}}@keyframes projectCopyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes projectBadgeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes overlayBreathe{0%,to{opacity:.96}50%{opacity:1}}@keyframes codeSweep{0%,16%{transform:translateY(-100%)}42%,to{transform:translateY(140%)}}@keyframes gitPulse{0%,to{filter:drop-shadow(0 0 #fff0);transform:scale(1)}45%{filter:drop-shadow(0 0 8px #fff6);transform:scale(1.3)}}@keyframes gitSpawn{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.45)}to{opacity:1;transform:scale(1)}}@keyframes gitMerge{0%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}@keyframes gitDestroy{0%{opacity:1;transform:scale(1)}55%{opacity:.3;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes gitLineTrace{0%{opacity:.35;stroke-dashoffset:340px}50%{opacity:1}to{opacity:1;stroke-dashoffset:0}}@keyframes commitBreathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes chipFloat{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-3px)}}@keyframes chipFloatLeft{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes treeGlow{0%,to{border-left-color:#ffffff14}50%{border-left-color:#9baaff29}}@keyframes checkPulse{0%,to{transform:translateY(0);box-shadow:0 0 #48da8000}45%{transform:translateY(-2px);box-shadow:0 0 0 12px #48da8014}}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:24px 0,0 24px}}@media (width<=900px){.site-logo-link{width:40px;height:40px;top:14px;left:14px}.site-logo-label{font-size:.84rem;left:calc(100% + 8px)}.hero-panel{gap:18px;margin-bottom:28px;padding:48px 16px 56px}.tools-panel{margin-top:-28px}.skills-panel{margin-top:40px}.stats-grid{grid-template-columns:1fr;gap:18px}.stat-card{border-radius:24px;min-height:116px;padding:24px 22px 22px}.marquee-track{gap:22px;padding:18px 14px;animation-duration:28s}.tool-icon-wrap{width:52px;height:52px}.tool-icon{width:36px;height:36px}.skills-heading{margin-bottom:28px}.skills-grid{grid-template-columns:1fr}.projects-heading{margin-bottom:28px}.projects-grid{grid-template-columns:1fr}.skill-card,.skill-visual{min-height:340px}.project-card{padding:12px}.project-icon-badge{width:34px;height:34px;top:12px;left:12px}.project-icon{width:16px;height:16px}}
