:root{--bg:#07111f;--surface:#0f172ad1;--surface-strong:#0f172a;--surface-soft:#162133;--text:#e2e8f0;--text-muted:#94a3b8;--border:#94a3b82e;--primary:#38bdf8;--primary-strong:#0ea5e9;--accent:#22c55e;--shadow:0 20px 45px #02061759;--radius:24px;--container:1120px;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;background:radial-gradient(circle at 100% 0,#38bdf82e,#0000 28%),radial-gradient(circle at 0 0,#22c55e24,#0000 22%),linear-gradient(#020617 0%,#07111f 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6}:root[data-theme=light]{--bg:#f5f7fb;--surface:#ffffffdb;--surface-strong:#fff;--surface-soft:#e8edf5;--text:#142033;--text-muted:#516173;--border:#4755692e;--primary:#0369a1;--primary-strong:#0284c7;--accent:#15803d;--shadow:0 18px 42px #0f172a1f;color-scheme:light;background:radial-gradient(circle at 100% 0,#0284c724,#0000 28%),radial-gradient(circle at 0 0,#15803d1a,#0000 22%),linear-gradient(#f8fafc 0%,#edf2f8 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}#root,.app-shell{min-height:100vh}.app-shell{isolation:isolate;flex-direction:column;display:flex;position:relative}.main-content{flex:1}.animated-background{z-index:-2;pointer-events:none;background:linear-gradient(180deg, #0206172e, #07111fad), var(--bg);position:fixed;inset:0;overflow:hidden}.liquid-field{filter:blur(46px)saturate(145%);opacity:.78;transform-origin:50%;will-change:transform, opacity;position:absolute;inset:-28%}.liquid-field-primary{background:conic-gradient(from 142deg,#0000 0deg,#38bdf85c 34deg,#0ea5e91a 78deg,#0000 122deg,#22c55e2e 174deg,#38bdf857 226deg,#0000 292deg,#0ea5e933 330deg,#0000 360deg);animation:26s ease-in-out infinite alternate liquid-drift}.liquid-field-secondary{opacity:.55;background:linear-gradient(118deg,#0000 8%,#3b82f633 28%,#0000 46%),linear-gradient(238deg,#0000 18%,#2dd4bf29 42%,#0000 64%),conic-gradient(from 260deg at 52% 48%,#02061700 0deg,#7dd3fc3d 54deg,#02061700 118deg,#22c55e24 190deg,#02061700 266deg,#38bdf838 318deg,#02061700 360deg);animation:34s ease-in-out infinite alternate liquid-breathe;inset:-18%}.liquid-mesh{opacity:.34;background-color:#0000;background-image:linear-gradient(#94a3b80b 1px,#0000 1px),linear-gradient(90deg,#94a3b809 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;mask-image:linear-gradient(#00000080,#0000 82%)}:root[data-theme=light] .animated-background{background:linear-gradient(180deg, #f8fafcbd, #edf2f8e6), var(--bg)}:root[data-theme=light] .liquid-field-primary{opacity:.42;filter:blur(54px)saturate(122%)}:root[data-theme=light] .liquid-field-secondary{opacity:.34;filter:blur(58px)saturate(112%)}:root[data-theme=light] .liquid-mesh{opacity:.26;background:linear-gradient(#4755690f 1px,#0000 1px),linear-gradient(90deg,#4755690d 1px,#0000 1px)}@keyframes liquid-drift{0%{transform:translate(-4%,-2%)rotate(0)scale(1.05,.92)}45%{transform:translate(3%,2%)rotate(34deg)scale(.95,1.08)}to{transform:translate(5%,-3%)rotate(76deg)scale(1.12,.98)}}@keyframes liquid-breathe{0%{opacity:.38;transform:translate(4%,3%)rotate(0)scale(1.06)}50%{opacity:.62;transform:translate(-3%,-2%)rotate(-24deg)scale(1.18)}to{opacity:.5;transform:translate(1%,4%)rotate(-58deg)scale(1.04)}}@media (prefers-reduced-motion:reduce){.liquid-field-primary,.liquid-field-secondary{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.container{width:min(var(--container), calc(100% - 2rem));margin:0 auto}.site-header{z-index:30;backdrop-filter:blur(18px);border-bottom:1px solid var(--border);background:#020617b3;animation:.62s cubic-bezier(.16,1,.3,1) both header-drop;position:sticky;top:0}:root[data-theme=light] .site-header{background:#f8fafcc7}.nav-wrapper,.footer-grid,.hero-grid,.cta-panel,.filters-panel{gap:1rem;display:grid}.nav-wrapper{grid-template-columns:1fr auto;align-items:center;min-height:78px}.brand{align-items:center;gap:.85rem;animation:.7s cubic-bezier(.16,1,.3,1) both fade-slide-right;display:inline-flex}.brand-mark{background:linear-gradient(135deg, var(--primary), var(--accent));color:#03111f;border-radius:16px;flex-shrink:0;place-items:center;width:44px;height:44px;font-weight:800;display:grid;overflow:hidden}.brand-avatar{border:1px solid #ffffff14;animation:4.8s ease-in-out infinite avatar-glow;box-shadow:0 10px 26px #0206174d}.brand-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.brand-subtitle{color:var(--text-muted);font-size:.875rem;display:block}.nav-links{align-items:center;gap:.5rem;animation:.76s cubic-bezier(.16,1,.3,1) .12s both fade-slide-left;display:inline-flex}.nav-link{color:var(--text-muted);border:1px solid #0000;border-radius:999px;padding:.7rem 1rem;transition:all .16s;position:relative;overflow:hidden}.nav-link:hover,.nav-link-active{color:var(--text);background:linear-gradient(#ffffff1f,#0000 48%),#38bdf81f;border-color:#38bdf838;box-shadow:inset 0 1px #ffffff29,inset 0 -6px 12px #0ea5e914}.language-toggle{border:1px solid var(--border);min-width:44px;min-height:40px;color:var(--text);background:#0f172abd;border-radius:999px;font-size:.82rem;font-weight:800;box-shadow:inset 0 1px #ffffff29,inset 0 -6px 12px #00000038}.icon-toggle{border:1px solid var(--border);width:44px;min-height:40px;color:var(--text);background:#0f172abd;border-radius:999px;font-size:1rem;font-weight:800;box-shadow:inset 0 1px #ffffff29,inset 0 -6px 12px #00000038}.language-toggle:hover,.icon-toggle:hover{border-color:var(--primary);color:var(--primary)}:root[data-theme=light] .language-toggle,:root[data-theme=light] .icon-toggle{background:#ffffffc7}.hero-section,.section{padding:5rem 0}.section{animation:both section-rise view();animation-range:entry 8% cover 28%}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center}.hero-section h1,.section h2,.article-card h1,.empty-state h1{margin:0;line-height:1.1}.hero-section h1{max-width:12ch;font-size:clamp(2.75rem,5vw,4.8rem);animation:.82s cubic-bezier(.16,1,.3,1) 80ms both hero-title-in}.hero-role{color:var(--primary);margin:.75rem 0 1rem;font-size:1.05rem;font-weight:700;animation:.78s cubic-bezier(.16,1,.3,1) .19s both fade-slide-up}.hero-copy,.section-description,.footer-copy,.muted,.article-lead,.empty-state p{color:var(--text-muted)}.hero-copy{max-width:60ch;font-size:1.075rem;animation:.78s cubic-bezier(.16,1,.3,1) .3s both fade-slide-up}.hero-card,.timeline-card,.project-card,.blog-card,.article-card,.filters-panel,.empty-state,.cta-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:var(--radius);transition:transform .22s,border-color .22s,box-shadow .22s}.hero-card,.project-card,.blog-card,.article-card,.empty-state,.cta-panel{padding:1.5rem}.hero-profile-card{padding:0;animation:.9s cubic-bezier(.16,1,.3,1) .24s both profile-card-in,7s ease-in-out 1.2s infinite float-card;overflow:hidden}.hero-profile-media{aspect-ratio:1;background:linear-gradient(#38bdf814,#22c55e0f)}.hero-profile-media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .42s}.hero-profile-card:hover .hero-profile-media img{transform:scale(1.04)}.hero-profile-copy{padding:1.5rem}.hero-profile-copy h2{margin:.3rem 0 .7rem;font-size:1.45rem;line-height:1.2}.hero-profile-text{color:var(--text-muted);margin:0}.hero-bullet-list{margin-top:1rem}.hero-card-label,.section-eyebrow,.project-category,.timeline-period{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.section-heading{max-width:64ch;margin-bottom:2rem}.section-heading h2{margin-bottom:.75rem;font-size:clamp(2rem,4vw,3rem)}.hero-actions,.hero-social-actions,.tag-group{flex-wrap:wrap;gap:.75rem;display:flex}.hero-actions{z-index:4;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.8rem;animation:.78s cubic-bezier(.16,1,.3,1) .41s both fade-slide-up;display:grid;position:relative}.hero-social-actions{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.95rem;margin-top:1.1rem;animation:.78s cubic-bezier(.16,1,.3,1) .52s both fade-slide-up;display:grid;position:relative}.button{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#03111f;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:.85rem 1.2rem;font-weight:800;transition:transform .18s,box-shadow .18s;display:inline-flex}.button-icon{flex:none;place-items:center;width:1.15rem;height:1.15rem;display:inline-grid}.button-icon svg,.button-icon img{fill:currentColor;width:100%;height:100%;display:block}.button-primary,.project-links .button,.cta-panel .button{background:linear-gradient(180deg, #fff3, transparent 42%), linear-gradient(135deg, var(--primary), var(--primary-strong));border-color:#67e8f96b;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff7a,inset 0 -8px 18px #0369a15c,0 12px 24px #0ea5e938}.button-primary:after,.project-links .button:after,.cta-panel .button:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff38,#0000);height:38%;position:absolute;inset:4px 8px auto}.project-links .button-secondary{color:#fff;background:linear-gradient(#ffffff1f,#0000 42%),linear-gradient(#0f253ffa,#030d1dfa);border-color:#94b7d66b;box-shadow:inset 0 1px #ffffff47,inset 0 -8px 18px #00000061,0 12px 24px #02061738}.project-links .button-demo{color:#fff;background:linear-gradient(#fff3,#0000 42%),linear-gradient(135deg,#ef4444,#b91c1c);border-color:#f8717180;box-shadow:inset 0 1px #ffffff6b,inset 0 -8px 18px #7f1d1d57,0 12px 24px #b91c1c3d}.project-links .button-demo:hover{box-shadow:inset 0 1px #ffffff6b,inset 0 -8px 18px #7f1d1d57,0 14px 30px #b91c1c57}.project-links .button-site{color:#fff;background:linear-gradient(#fff3,#0000 42%),linear-gradient(135deg,#22c55e,#15803d);border-color:#4ade8085;box-shadow:inset 0 1px #ffffff6b,inset 0 -8px 18px #14532d57,0 12px 24px #15803d3d}.project-links .button-site:hover{box-shadow:inset 0 1px #ffffff6b,inset 0 -8px 18px #14532d57,0 14px 30px #15803d57}.button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #0ea5e940}.button-secondary{color:var(--text);background:linear-gradient(#ffffff1a,#0000 48%),#0f172a5c;border-color:#94a3b83d;box-shadow:inset 0 1px #ffffff24,inset 0 -7px 14px #0000002e}.button-secondary:hover{border-color:var(--primary);color:var(--primary);background:#38bdf814}.hero-button,.button-youtube{color:#fff;letter-spacing:0;text-shadow:0 2px #00000038,0 8px 16px #00000073;border-radius:999px;justify-content:flex-start;gap:.8rem;width:100%;min-width:0;min-height:64px;padding:.52rem 1.05rem .52rem .52rem;font-size:clamp(.96rem,1.35vw,1.13rem);font-weight:900;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffffad,inset 0 0 0 1px #ffffff29,inset 0 -14px 28px #00000061,0 2px #ffffff14,0 18px 34px #02061752}.hero-button:before,.button-youtube:before,.button-github:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff2e;position:absolute;inset:5px}.hero-button:after,.button-youtube:after,.button-github:after{content:"";pointer-events:none;opacity:.72;background:linear-gradient(#fff3,#0000);border-radius:999px;height:44%;transition:transform .26s,opacity .26s;position:absolute;inset:7px 12px auto 72px;transform:translate(-18%)}.hero-button:hover:after,.button-youtube:hover:after,.button-github:hover:after{opacity:.95;transform:translate(8%)}.hero-button-primary{background:radial-gradient(circle at 16% 24%,#ffffff61,#0000 26%),linear-gradient(#53d7fffa 0%,#0484edfa 56%,#0348adfa 100%);border:1px solid #67e8f9eb;animation:4.8s ease-in-out 1.1s infinite glossy-pulse-blue;box-shadow:inset 0 2px #ffffffb8,inset 0 0 0 1px #ffffff38,inset 0 -15px 30px #00348e85,0 0 0 2px #22d3ee3d,0 0 34px #22d3ee38,0 20px 38px #0ea5e961}.hero-button-secondary{color:#fff;background:radial-gradient(circle at 16% 24%,#fff3,#0000 26%),linear-gradient(#142e4dfc 0%,#07162dfc 58%,#020815fc 100%);border:1px solid #a8c9e89e;box-shadow:inset 0 2px #ffffff5c,inset 0 0 0 1px #ffffff21,inset 0 -14px 28px #0000006b,0 0 0 2px #94b7d61f,0 18px 34px #02061752}.hero-button:hover,.button-youtube:hover,.button-github:hover{transform:translateY(-2px)}.hero-button-primary:hover{color:#fff;border-color:#67e8f9f0;box-shadow:inset 0 2px #ffffffc7,inset 0 0 0 1px #ffffff42,inset 0 -15px 30px #00348e94,0 0 0 2px #22d3ee4d,0 0 40px #22d3ee4d,0 24px 44px #0ea5e975}.hero-button-secondary:hover{color:#fff;background:radial-gradient(circle at 16% 26%,#ffffff38,#0000 28%),linear-gradient(#193352fa,#041228fa);border-color:#c7e0f4bd;box-shadow:inset 0 2px #ffffff6b,inset 0 0 0 1px #ffffff29,inset 0 -14px 28px #0000007a,0 0 0 2px #94b7d62e,0 22px 40px #0206175c}.hero-button-icon,.button-icon{color:#fff;background:radial-gradient(circle at 34% 22%,#ffffff57,#0000 33%),linear-gradient(#25446af5,#040d1df0);border-radius:999px;flex-shrink:0;place-items:center;width:3.25rem;height:3.25rem;display:inline-grid;position:relative;box-shadow:inset 0 2px #ffffff6b,inset 0 0 0 1px #ffffff29,inset 0 -10px 18px #0000005c,0 0 0 1px #ffffff1f,0 10px 22px #0000004d}.hero-button-icon:after,.button-icon:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff1f;position:absolute;inset:5px}.hero-button-icon svg,.button-icon svg{fill:currentColor;filter:drop-shadow(0 3px 5px #0000006b);width:1.58rem;height:1.58rem}.button-youtube{color:#fff;background:radial-gradient(circle at 17% 24%,#ffffff3d,#0000 25%),linear-gradient(#ff2929fa 0%,#be0808fa 52%,#680000f5 100%);border:1px solid #ff5c5cdb;justify-content:flex-start;min-width:0;min-height:68px;padding:.58rem 1.55rem .58rem .58rem;animation:5.4s ease-in-out 1.3s infinite glossy-pulse-red;box-shadow:inset 0 2px #ffffffa3,inset 0 0 0 1px #ffffff26,inset 0 -15px 30px #3600008a,0 0 0 2px #ef444429,0 0 36px #ef444438,0 20px 38px #ef44444d}.button-youtube:hover{color:#fff;background:radial-gradient(circle at 17% 24%,#ffffff3d,#0000 24%),linear-gradient(#f83030,#910000f0);border-color:#f55;box-shadow:inset 0 2px #ffffffb3,inset 0 0 0 1px #ffffff2e,inset 0 -15px 30px #36000099,0 0 0 2px #ef444433,0 0 42px #ef44444d,0 24px 44px #ef444461}.button-github{color:#fff;text-shadow:0 2px #00000042,0 8px 16px #0000007a;background:radial-gradient(circle at 17% 24%,#ffffff2e,#0000 25%),linear-gradient(#2a2e31fc 0%,#0f1113fc 54%,#020508fc 100%);border:1px solid #c5d8e6a3;border-radius:999px;justify-content:flex-start;gap:1.05rem;width:100%;min-width:0;min-height:68px;padding:.58rem 1.65rem .58rem .58rem;font-size:clamp(1.02rem,1.5vw,1.16rem);font-weight:900;animation:5.8s ease-in-out 1.5s infinite glossy-pulse-dark;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff5c,inset 0 0 0 1px #ffffff1f,inset 0 -15px 30px #0009,0 0 0 2px #cbd5e11a,0 20px 38px #02061757}.button-github:hover{color:#fff;background:radial-gradient(circle at 17% 24%,#ffffff2e,#0000 24%),linear-gradient(#31363b,#02060a);border-color:#dbeafe;box-shadow:inset 0 2px #ffffff6b,inset 0 0 0 1px #ffffff24,inset 0 -15px 30px #000000a8,0 0 0 2px #cbd5e124,0 24px 44px #0206176b}.button-icon-youtube{color:#dc2626;background:#fff;width:3.45rem;height:3.45rem;box-shadow:inset 0 2px #ffffffe6,inset 0 -8px 16px #dc26261a,0 10px 22px #7f1d1d4d}.button-icon-github{background:#fff;width:3.45rem;height:3.45rem;overflow:hidden;box-shadow:inset 0 2px #ffffffe6,inset 0 -8px 16px #00000014,0 10px 22px #0000004d}.button-icon-github img{-o-object-fit:contain;object-fit:contain;width:2rem;height:2rem}.button-label{text-overflow:ellipsis;min-width:0;overflow:hidden}:root[data-theme=light] .button-youtube{color:#fff;box-shadow:inset 0 1px #ffffff94,inset 0 -10px 24px #36000061,0 14px 30px #dc262638}:root[data-theme=light] .button-youtube:hover{color:#fff}:root[data-theme=light] .button-github{color:#fff;box-shadow:inset 0 1px #ffffff57,inset 0 -10px 24px #00000070,0 14px 30px #0f172a33}.resume-download{min-width:0;display:block;position:relative}.resume-download[open]{z-index:50}.resume-download summary{list-style:none}.resume-download summary::-webkit-details-marker{display:none}.resume-options{z-index:60;border:1px solid var(--border);background:var(--surface-strong);width:max-content;min-width:210px;box-shadow:var(--shadow);border-radius:16px;gap:.35rem;padding:.75rem;display:grid;position:absolute;top:calc(100% + .55rem);left:0}.resume-options span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.resume-options a{color:var(--text);white-space:nowrap;border-radius:10px;padding:.55rem .65rem;font-weight:800}.resume-options a:hover{color:var(--primary);background:#38bdf81f}.project-links{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.project-links .button{letter-spacing:.01em;flex:1;gap:.62rem;min-width:140px;min-height:50px;padding:.72rem 1.08rem;font-size:.9rem}.project-links .button .button-icon{background:linear-gradient(#ffffff38,#ffffff14),#ffffff1a;border-radius:999px;width:1.75rem;height:1.75rem;padding:.18rem;transition:transform .18s,background .18s;box-shadow:inset 0 1px #ffffff3d,0 4px 10px #00000024}.project-links .button[href*="apps.apple.com"] .button-icon,.project-links .button[href*="play.google.com"] .button-icon{background:0 0;width:1.9rem;height:1.9rem;padding:0;box-shadow:0 5px 14px #0000002e}.project-links .button[href*="apps.apple.com"] .button-icon img{border-radius:31%}.project-links .button:hover .button-icon{background:#ffffff38;transform:translate(1px)scale(1.05)}.project-links .button[href*="apps.apple.com"]:hover .button-icon,.project-links .button[href*="play.google.com"]:hover .button-icon{background:0 0}.project-card,.blog-card,.timeline-card,.cert-card,.stat-card{animation:both card-reveal view();animation-range:entry 10% cover 26%}.project-card,.blog-card,.cert-card{position:relative;overflow:hidden}.project-card:before,.blog-card:before,.cert-card:before,.timeline-card:before,.stat-card:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 20% 10%,#38bdf829,#0000 28%),linear-gradient(115deg,#0000 8%,#ffffff14 42%,#0000 60%);transition:all .26s;position:absolute;inset:0;transform:translate(-24%)}.project-card:hover,.blog-card:hover,.cert-card:hover,.timeline-card:hover,.stat-card:hover{border-color:#38bdf84d;transform:translateY(-7px);box-shadow:0 26px 54px #02061752,inset 0 1px #ffffff1a}.project-card:hover:before,.blog-card:hover:before,.cert-card:hover:before,.timeline-card:hover:before,.stat-card:hover:before{opacity:1;transform:translate(0)}.project-card>*,.blog-card>*,.cert-card>*,.timeline-card>*,.stat-card>*{z-index:1;position:relative}.text-link{color:var(--primary);font-weight:700}.card-grid,.timeline,.blog-grid{gap:1rem;display:grid}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-card{grid-template-columns:140px 1fr;padding:1.25rem;display:grid}.timeline-meta{align-items:flex-start;gap:.75rem;display:flex}.timeline-title{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.timeline-dot{background:var(--primary);border:2px solid var(--surface-strong);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:2.8s ease-in-out infinite dot-pulse;box-shadow:0 0 0 3px #38bdf81a}.timeline-company{margin:.3rem 0 .7rem;font-weight:700}.bullet-list{color:var(--text-muted);margin:1rem 0 0;padding-left:1.1rem}.tag{color:#cbeeff;background:linear-gradient(#ffffff2e,#0000 48%),#38bdf81a;border:1px solid #38bdf82e;border-radius:999px;padding:.48rem .86rem;font-size:.85rem;font-weight:650;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff2e,inset 0 -5px 12px #0ea5e914}.tag:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#fff3,#0000);height:34%;position:absolute;inset:3px 8px auto}.skill-card:hover .tag{animation:.42s both skill-tag-pop}.skill-card:hover .tag:nth-child(2){animation-delay:40ms}.skill-card:hover .tag:nth-child(3){animation-delay:80ms}.skill-card:hover .tag:nth-child(4){animation-delay:.12s}.skill-card:hover .tag:nth-child(5){animation-delay:.16s}.tag:hover{border-color:#38bdf86b;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff3d,inset 0 -6px 14px #0ea5e91f,0 8px 18px #0ea5e91f}:root[data-theme=light] .tag{color:#075985;background:linear-gradient(#ffffffb8,#0000 52%),#0369a11a;border-color:#0369a152}@keyframes skill-card-rise{0%{opacity:0;transform:translateY(28px)rotateX(8deg)scale(.98)}to{opacity:1;transform:translateY(0)rotateX(0)scale(1)}}@keyframes skill-tag-pop{0%{transform:translateY(0)scale(1)}45%{transform:translateY(-3px)scale(1.04)}to{transform:translateY(0)scale(1)}}@keyframes backend-grid-drift{0%{background-position:0 0}to{background-position:52px 52px}}@keyframes blueprint-drift{0%{background-position:0 0,0 0,0 0;transform:scale(1)}to{background-position:0 0,48px 24px,-54px 32px;transform:scale(1.03)}}@keyframes frontend-ribbon{0%,to{opacity:.26;transform:translate(-34%)skew(-8deg)}50%{opacity:.62;transform:translate(34%)skew(-8deg)}}@keyframes cloud-particles{0%,to{filter:blur();transform:translate(0,0)scale(1)}35%{filter:blur(.2px);transform:translate(10px,-8px)scale(1.04)}70%{filter:blur();transform:translate(-8px,10px)scale(1.02)}}@keyframes backend-chip-scan{0%{filter:brightness();transform:translate(0)}45%{filter:brightness(1.22);transform:translate(3px)}to{filter:brightness();transform:translate(0)}}@keyframes architecture-chip-lock{0%{transform:rotate(0)scale(1)}35%{transform:rotate(-1deg)scale(1.035)}70%{transform:rotate(1deg)scale(1.02)}to{transform:rotate(0)scale(1)}}@keyframes frontend-chip-bounce{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-5px)scale(1.06)}}@keyframes cloud-chip-float{0%,to{transform:translate(0,0)}50%{transform:translateY(-5px)}}@keyframes header-drop{0%{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-slide-right{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes fade-slide-left{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-title-in{0%{opacity:0;filter:blur(10px);transform:translateY(24px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes profile-card-in{0%{opacity:0;transform:translateY(28px)rotateX(8deg)rotateY(-5deg)scale(.96)}to{opacity:1;transform:translateY(0)rotateX(0)rotateY(0)scale(1)}}@keyframes float-card{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes section-rise{0%{opacity:.2;transform:translateY(44px)}to{opacity:1;transform:translateY(0)}}@keyframes card-reveal{0%{opacity:0;transform:translateY(30px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes avatar-glow{0%,to{box-shadow:0 10px 26px #0206174d}50%{box-shadow:0 10px 26px #0206174d,0 0 24px #38bdf842}}@keyframes glossy-pulse-blue{0%,to{filter:saturate()}50%{filter:saturate(1.16)brightness(1.04)}}@keyframes glossy-pulse-red{0%,to{filter:saturate()}50%{filter:saturate(1.18)brightness(1.04)}}@keyframes glossy-pulse-dark{0%,to{filter:brightness()}50%{filter:brightness(1.1)}}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 3px #38bdf81a}50%{box-shadow:0 0 0 3px #38bdf829,0 0 0 9px #38bdf814}}.section-accent{background:linear-gradient(#38bdf80a,#0000)}.cta-panel{grid-template-columns:1fr auto;align-items:center}.filters-panel{grid-template-columns:1.4fr .8fr;margin-bottom:1.25rem;padding:1rem}.field{gap:.5rem;display:grid}.field span{font-size:.95rem;font-weight:700}.field input,.field select{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);background:#02061799;border-radius:14px;padding:.8rem .95rem}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card{flex-direction:column;gap:1rem;display:flex}.blog-card-top h3,.project-card h3,.timeline-body h3{margin:0}.blog-meta{color:var(--text-muted);flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem;font-size:.9rem;display:flex}.article-container{max-width:860px}.article-card h1{margin-top:1rem;font-size:clamp(2.2rem,5vw,3.6rem)}.article-content{margin-top:2rem}.article-content h2{margin-top:1.75rem;margin-bottom:.4rem;font-size:1.5rem}.article-content p{color:var(--text);margin:.75rem 0}.article-list{margin:1rem 0}.loader{color:var(--text-muted);align-items:center;gap:.75rem;margin:1rem 0 1.5rem;display:inline-flex}.loader-dot{background:var(--primary);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 8px #38bdf814}.helper-text{color:#facc15;margin:0 0 1rem}.footer-grid{grid-template-columns:1fr auto;align-items:center}.site-footer{border-top:1px solid var(--border);padding:2rem 0 3rem}.footer-brand{align-items:center;gap:1rem;display:inline-flex}.footer-brand-mark{border-radius:18px;flex-shrink:0;width:52px;height:52px;overflow:hidden}.footer-title{margin-bottom:.4rem;font-weight:700}.footer-links{color:var(--text-muted);flex-wrap:wrap;gap:1rem;display:flex}.empty-state{text-align:center;padding:2rem}@media (width<=980px){.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-download{grid-column:1/-1}.resume-options{width:100%;min-width:0;margin-top:.65rem;position:static}.hero-social-actions,.hero-grid,.card-grid,.blog-grid,.timeline-card,.cta-panel,.footer-grid,.filters-panel{grid-template-columns:1fr}.nav-wrapper{grid-template-columns:1fr;padding:1rem 0}.nav-links{flex-wrap:wrap}}@media (width<=640px){.hero-section,.section{padding:4rem 0}.container{width:min(var(--container), calc(100% - 1.25rem))}.hero-actions,.hero-social-actions{grid-template-columns:1fr}.hero-card,.project-card,.blog-card,.article-card,.timeline-card,.empty-state,.cta-panel{padding:1.15rem}.hero-profile-card{padding:0}.hero-profile-copy{padding:1.15rem}.button-youtube,.button-github{width:100%}}.section-tight-top{padding-top:0}.stats-grid,.skills-grid,.certifications-grid{gap:1rem;display:grid}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skills-grid{perspective:1200px;grid-template-columns:repeat(2,minmax(0,1fr))}.certifications-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.skill-card,.cert-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:var(--radius);padding:1.35rem}.stat-card:first-child{animation-delay:60ms}.stat-card:nth-child(2){animation-delay:.14s}.stat-card:nth-child(3){animation-delay:.22s}.skill-card{background:linear-gradient(145deg, #ffffff14, transparent 42%), var(--surface);transform-style:preserve-3d;transition:transform .22s,border-color .22s,box-shadow .22s;animation:.68s cubic-bezier(.16,1,.3,1) both skill-card-rise;position:relative;overflow:hidden}.skill-card:after{content:"";z-index:0;border-radius:calc(var(--radius) - 1px);opacity:.34;pointer-events:none;transition:opacity .22s,transform .22s;position:absolute;inset:1px}.skill-card:nth-child(2){animation-delay:90ms}.skill-card:nth-child(3){animation-delay:.18s}.skill-card:nth-child(4){animation-delay:.27s}.skill-card:first-child:after{background-color:#0000;background-image:linear-gradient(90deg,#38bdf821 1px,#0000 1px),linear-gradient(#38bdf814 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:11s linear infinite backend-grid-drift;mask-image:linear-gradient(120deg,#0000 8%,#000 35% 68%,#0000 94%)}.skill-card:nth-child(2):after{background:radial-gradient(circle at 18% 22%,#22c55e38,#0000 24%),linear-gradient(135deg,#0000 0 42%,#7dd3fc21 42% 43%,#0000 43% 100%) 0 0/48px 48px,linear-gradient(45deg,#0000 0 48%,#22c55e1f 48% 49%,#0000 49% 100%) 0 0/54px 54px;animation:13s ease-in-out infinite alternate blueprint-drift}.skill-card:nth-child(3):after{background:radial-gradient(circle at 18% 18%,#f472b624,#0000 28%),radial-gradient(circle at 82% 68%,#38bdf82e,#0000 28%),linear-gradient(115deg,#0000 8%,#ffffff1f 42%,#0000 60%);animation:7.2s ease-in-out infinite frontend-ribbon;transform:translate(-30%)}.skill-card:nth-child(4):after{background:radial-gradient(circle at 18% 24%,#22c55e38,#0000 14%),radial-gradient(circle at 72% 26%,#38bdf833,#0000 14%),radial-gradient(circle at 52% 78%,#a855f729,#0000 16%),linear-gradient(135deg,#0000,#38bdf814);animation:6.8s ease-in-out infinite cloud-particles}.skill-card:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 18% 14%,#38bdf829,#0000 28%),linear-gradient(120deg,#0000 0%,#ffffff14 42%,#0000 64%);transition:all .26s;position:absolute;inset:0;transform:translate(-24%)}.skill-card:hover{border-color:#38bdf857;transform:translateY(-10px)rotateX(2deg)rotateY(-1deg);box-shadow:0 24px 52px #02061752,inset 0 1px #ffffff1f}.skill-card:hover:before{opacity:1;transform:translate(0)}.skill-card:hover:after{opacity:.74}.skill-card:first-child:hover{box-shadow:0 26px 54px #0ea5e92e,inset 0 1px #ffffff24}.skill-card:nth-child(2):hover{transform:translateY(-10px)rotateX(1.5deg)rotateY(1deg);box-shadow:0 26px 54px #22c55e29,inset 0 1px #ffffff24}.skill-card:nth-child(3):hover{transform:translateY(-10px)rotateX(2deg)rotate(-.35deg);box-shadow:0 26px 54px #38bdf829,0 0 36px #f472b614,inset 0 1px #ffffff24}.skill-card:nth-child(4):hover{transform:translateY(-10px)rotateX(1.5deg)rotateY(-1.2deg);box-shadow:0 26px 54px #14b8a62e,0 0 36px #a855f714,inset 0 1px #ffffff24}.stat-value{color:var(--primary);margin:0;font-size:1.7rem;font-weight:800}.stat-label{margin:.35rem 0 .45rem;font-weight:700}.skill-card h3{z-index:1;margin-top:0;margin-bottom:.35rem;position:relative}.skill-card .muted,.skill-card .tag-group{z-index:1;position:relative}.skill-card:first-child:hover .tag{animation-name:backend-chip-scan}.skill-card:nth-child(2):hover .tag{animation-name:architecture-chip-lock}.skill-card:nth-child(3):hover .tag{animation-name:frontend-chip-bounce}.skill-card:nth-child(4):hover .tag{animation-name:cloud-chip-float}.cert-card{grid-template-columns:1fr;align-items:start;gap:1rem;min-height:100%;display:grid;overflow:hidden}.cert-card-featured{grid-template-columns:1fr}.cert-media{appearance:none;cursor:zoom-in;aspect-ratio:16/10;border-radius:calc(var(--radius) - 8px);border:1px solid var(--border);background:linear-gradient(145deg,#ffffff14,#0000),#02061752;align-self:stretch;width:100%;min-height:0;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 12px 24px #0206172e}.cert-media img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:100%;height:100%;transition:transform .18s,filter .18s}.cert-media span{color:#fff;opacity:0;background:#020617c7;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;font-weight:800;transition:all .16s;position:absolute;bottom:.65rem;right:.65rem;transform:translateY(4px)}.cert-media:hover img{filter:brightness(.92);transform:scale(1.035)rotate(.25deg)}.cert-media:hover span,.cert-media:focus-visible span{opacity:1;transform:translateY(0)}.cert-content{flex-direction:column;justify-content:space-between;gap:1rem;min-width:0;display:flex}.cert-category{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .35rem;font-size:.78rem;font-weight:800}.cert-content h3{margin:0;font-size:1.12rem;line-height:1.25}.cert-issuer{color:var(--text-muted);margin:.35rem 0 0}.cert-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.cert-meta div{min-width:0}.cert-meta dt{color:var(--text-muted);font-size:.76rem;font-weight:700}.cert-meta dd{color:var(--text);overflow-wrap:anywhere;margin:.1rem 0 0;font-size:.9rem;font-weight:700}@media (width<=900px){.stats-grid,.skills-grid,.certifications-grid,.hero-grid,.cert-card,.cert-card-featured{grid-template-columns:1fr}}@media (width<=640px){.cert-card,.cert-card-featured{grid-template-columns:1fr}.cert-media{aspect-ratio:16/10;min-height:0}.cert-meta{grid-template-columns:1fr}}body.modal-open{overflow:hidden}.cert-modal-backdrop{z-index:80;backdrop-filter:blur(14px);background:#020617d1;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.cert-modal{background:var(--surface-strong);border:1px solid #94a3b842;border-radius:22px;grid-template-rows:auto 1fr;width:min(1120px,100%);max-height:min(90vh,860px);display:grid;overflow:hidden;box-shadow:0 28px 80px #0000006b}.cert-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.cert-modal-header h2{margin:0;font-size:1rem;line-height:1.3}.cert-modal-header button{border:1px solid var(--border);width:2.35rem;height:2.35rem;color:var(--text);background:#0f172ab8;border-radius:999px;font-size:1.5rem;line-height:1}.cert-modal-header button:hover{border-color:var(--primary);color:var(--primary)}.cert-modal-media{background:#0206176b;padding:1rem;overflow:auto}.cert-modal-media img{-o-object-fit:contain;object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:calc(90vh - 6.5rem);margin:0 auto}@media (width<=640px){.hero-actions,.hero-social-actions{gap:.65rem}.hero-button,.button-youtube,.button-github{width:100%;min-width:0;min-height:56px;font-size:1rem}.button-icon,.button-icon-youtube,.button-icon-github,.hero-button-icon{width:2.75rem;height:2.75rem}.cert-modal-backdrop{padding:.65rem}}
