:root{--bg-0:#0c0b12;--bg-1:#14131a;--bg-2:#1c1b23;--bg-3:#23223300;--bg-hover:#2c2b3d;--accent:#fff;--accent-light:#c8c8c8;--accent-muted:#ffffff0f;--accent-glow:#ffffff14;--text-0:#fff;--text-1:#efefef;--text-2:#9a9aaa;--text-3:#5a5a6a;--border:#ffffff14;--border-strong:#ffffff24;--border-accent:#ffffff38;--shadow-sm:0 1px 4px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--glow-accent:0 0 24px #ffffff12;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--ease:cubic-bezier(0.4,0,0.2,1);--duration-fast:150ms;--duration-base:250ms;--duration-slow:400ms;--sidebar-w:250px;--font:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#14131a;background-color:var(--bg-1);color:#efefef;color:var(--text-1);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font);line-height:1.65;overflow-x:hidden}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#14131a;background:var(--bg-1)}::-webkit-scrollbar-thumb{background:#2c2b3d;background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff;background:var(--accent)}::selection{background-color:#fff;background-color:var(--accent);color:#fff}:focus-visible{border-radius:3px;outline:2px solid #fff;outline:2px solid var(--accent);outline-offset:2px}a{color:inherit;text-decoration:none}img{display:block;height:auto;max-width:100%}h1,h2,h3,h4,h5,h6{color:#fff;color:var(--text-0);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font);font-weight:700;line-height:1.25}.section-heading{align-items:center;color:#9a9aaa;color:var(--text-2);display:flex;font-size:1.1rem;font-weight:600;gap:12px;letter-spacing:.5px;margin-bottom:20px;text-transform:uppercase}.section-heading:after{background:#ffffff14;background:var(--border);content:"";flex:1 1;height:1px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-in-up{animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) both;animation:fadeInUp var(--duration-slow) var(--ease) both}body.root-access{filter:invert(1) hue-rotate(180deg);transition:filter .2s ease}.sidenav{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#0a0a0ef5;border-right:1px solid #ffffff14;border-right:1px solid var(--border,#ffffff14);display:flex;flex-direction:column;inset:0 auto 0 0;overflow-x:hidden;overflow-y:auto;position:fixed;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;transition:transform .3s var(--ease,cubic-bezier(.4,0,.2,1)),box-shadow .3s ease;width:250px;width:var(--sidebar-w,250px);z-index:100}.nav-brand{border-bottom:1px solid var(--border);gap:12px;padding:24px 20px 20px}.brand-logo,.nav-brand{align-items:center;display:flex;flex-shrink:0}.brand-logo{background:#ffffff1a;border:1px solid #ffffff26;border-radius:9px;color:#fff;font-size:.7rem;font-weight:800;height:32px;justify-content:center;letter-spacing:.5px;width:32px}.brand-label{color:#5a5a6a;color:var(--text-3,#5a5a6a);font-size:.8rem;font-weight:600;letter-spacing:2px;text-transform:uppercase}.nav-links{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:12px 10px 0}.nav-item{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;border-radius:var(--radius-sm,8px);color:#5a5a6a;color:var(--text-3,#5a5a6a);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:12px;outline:none;padding:10px 14px;position:relative;text-decoration:none;transition:background .15s ease,color .15s ease,transform .15s ease}.nav-item:hover{background:#ffffff0d;transform:translateX(2px)}.nav-item.active,.nav-item:hover{color:#fff;color:var(--text-0,#fff)}.nav-item.active{background:#ffffff12}.nav-item.active:before{background:#fff;border-radius:0 2px 2px 0;content:"";height:60%;left:0;position:absolute;top:20%;width:2px}.nav-icon{flex-shrink:0;font-size:1rem;transition:transform .15s ease}.nav-item:hover .nav-icon{transform:scale(1.15)}.nav-cmdk{align-items:center;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;display:flex;font-family:var(--font);font-size:.78rem;gap:8px;justify-content:space-between;margin:8px 10px 0;padding:8px 12px;transition:background .15s ease,color .15s ease}.nav-cmdk:hover{background:#ffffff12;color:#fff}.nav-cmdk kbd{border:1px solid #ffffff24;border-radius:4px;font-family:var(--font-mono);font-size:.65rem;padding:2px 6px}.nav-socials{border-top:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:6px;margin-top:auto;padding:16px 10px 24px}.socials-label{color:#5a5a6a;color:var(--text-3,#5a5a6a);font-size:.67rem;font-weight:700;letter-spacing:2.5px;padding:0 14px;text-transform:uppercase}.socials-list{display:flex;flex-direction:column;gap:2px}.social-item{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;border-radius:var(--radius-sm,8px);color:#5a5a6a;color:var(--text-3,#5a5a6a);display:flex;font-size:.875rem;font-weight:500;gap:10px;padding:8px 14px;text-decoration:none;transition:background .15s ease,color .15s ease}.social-item:hover{background:#ffffff0d;color:#fff;color:var(--text-0,#fff)}.social-item svg{flex-shrink:0;font-size:1rem}.nav-clock{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px;padding:12px 24px 20px}.nav-clock-time{font-feature-settings:"tnum";color:#fff;font-family:var(--font-mono);font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.08em}.nav-clock-label{color:var(--text-3);font-size:.65rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}.nav-toggle{align-items:center;background:#111114;border:1px solid #ffffff1f;border-radius:8px;border-radius:var(--radius-sm,8px);color:#efefef;color:var(--text-1,#efefef);cursor:pointer;display:none;font-size:16px;height:38px;justify-content:center;left:14px;position:fixed;top:14px;transition:background .15s ease,border-color .15s ease;width:38px;z-index:200}.nav-toggle:hover{background:#1c1c20;border-color:#fff3}.nav-toggle.open{background:#ffffff14;border-color:#fff3;color:#fff}.nav-overlay{animation:fadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#000000b3;cursor:pointer;inset:0;position:fixed;z-index:99}@media (max-width:768px){.sidenav{box-shadow:none;transform:translateX(-100%);width:min(250px,80vw);width:min(var(--sidebar-w,250px),80vw)}.sidenav.open{box-shadow:4px 0 40px #000000b3;transform:translateX(0)}.nav-toggle{display:flex}.socials-list{flex-direction:row;flex-wrap:wrap;gap:4px}.social-item{flex:1 1 45%}}@media (min-width:769px){.nav-overlay,.nav-toggle{display:none!important}}.home{display:flex;flex-direction:column;gap:28px;padding:24px}.home>*{animation:fadeInUp .45s cubic-bezier(.4,0,.2,1) both;animation:fadeInUp .45s var(--ease,cubic-bezier(.4,0,.2,1)) both}.home>:first-child{animation-delay:.05s}.home>:nth-child(2){animation-delay:.1s}.home>:nth-child(3){animation-delay:.16s}.home>:nth-child(4){animation-delay:.22s}.home>:nth-child(5){animation-delay:.28s}.home>:nth-child(6){animation-delay:.32s}.home-intro{background:#1c1b23;background:var(--bg-2,#1c1b23);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:12px;border-radius:var(--radius-md,12px);display:flex;flex-direction:column;gap:14px;padding:20px 24px}.home-intro p{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.925rem;line-height:1.7;margin:0}.home-intro p strong{color:#fff;color:var(--text-0,#fff);font-weight:600}.home-intro-tags{display:flex;flex-wrap:wrap;gap:8px}.intro-tag{background:#ffffff0d;border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:20px;color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.72rem;font-weight:600;letter-spacing:.6px;padding:3px 10px;transition:background .15s ease,border-color .15s ease,color .15s ease}.intro-tag:hover{background:#ffffff17;border-color:#ffffff2e;color:#efefef;color:var(--text-1,#efefef)}@media (max-width:480px){.home{gap:20px;padding:16px}}.profile-card{align-items:center;background:#1c1b23;background:var(--bg-2,#1c1b23);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:16px;border-radius:var(--radius-lg,16px);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px;transition:box-shadow .25s ease,border-color .25s ease}.profile-card:hover{border-color:#ffffff2e;box-shadow:0 0 28px #ffffff0d}.profile-card-left{align-items:center;display:flex;gap:20px;min-width:0}.avatar-wrap{border-radius:50%;cursor:pointer;flex-shrink:0;outline:none;position:relative}.avatar-wrap:before{background:linear-gradient(135deg,#fff,#888);border-radius:50%;content:"";inset:-3px;opacity:0;position:absolute;transition:opacity .25s ease;z-index:0}.avatar-wrap:focus-visible:before,.avatar-wrap:hover:before{opacity:1}.avatar-img{border:3px solid #1c1b23;border:3px solid var(--bg-2,#1c1b23);border-radius:50%;height:84px;object-fit:cover;position:relative;transition:transform .25s cubic-bezier(.4,0,.2,1);transition:transform .25s var(--ease,cubic-bezier(.4,0,.2,1));width:84px;will-change:transform;z-index:1}.avatar-wrap:hover .avatar-img{transform:scale(1.04)}.avatar-overlay{align-items:center;background:#000000bf;border-radius:50%;color:#fff;display:flex;font-size:.68rem;font-weight:700;inset:0;justify-content:center;letter-spacing:.5px;opacity:0;position:absolute;text-transform:uppercase;transition:opacity .15s ease;z-index:2}.avatar-wrap:hover .avatar-overlay{opacity:1}.profile-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-name{color:#fff;font-family:Inter,sans-serif;font-family:var(--font,"Inter",sans-serif);font-size:clamp(1.25rem,3.5vw,2rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0;position:relative;text-transform:uppercase}.profile-name:hover{animation:name-glitch .45s steps(2)}@keyframes name-glitch{0%{text-shadow:2px 0 #fff,-2px 0 #888;transform:translate(0)}20%{text-shadow:-2px 0 #fff,2px 0 #666;transform:translate(-1px,1px)}40%{text-shadow:2px 0 #aaa,-1px 0 #fff;transform:translate(1px,-1px)}60%{text-shadow:none;transform:translate(0)}80%{text-shadow:-1px 0 #fff;transform:translate(-1px)}to{text-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){.profile-name:hover{animation:none}}.profile-role{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.82rem;font-weight:500;margin:0;min-height:1.3em}.role-static{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.role-rotator{animation:role-swap .35s cubic-bezier(.4,0,.2,1);animation:role-swap .35s var(--ease,cubic-bezier(.4,0,.2,1));color:#fff;display:inline-block;font-weight:600}@keyframes role-swap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.profile-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.73rem;font-weight:600;gap:6px;padding:3px 10px;white-space:nowrap}.badge-green{background:#22c55e1a;border:1px solid #22c55e40;color:#4ade80}.badge-neutral{background:#ffffff0d;border:1px solid var(--border);color:#9a9aaa;color:var(--text-2,#9a9aaa)}.badge-pulse{animation:pulse-dot 2s infinite;background:#4ade80;border-radius:50%;flex-shrink:0;height:6px;width:6px}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 #4ade8080}50%{box-shadow:0 0 0 4px #4ade8000}}.profile-card-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.btn-github,.btn-resume-cta{align-items:center;border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;white-space:nowrap;will-change:transform}.btn-github{background:#0d0d0d;border:1px solid #ffffff24;color:#fff;text-decoration:none}.btn-github:hover{background:#1e1e1e;border-color:#ffffff40;box-shadow:0 6px 16px #00000080;transform:translateY(-2px)}.btn-resume-cta{background:#0000;border:1px solid #ffffff24;color:#efefef;color:var(--text-1,#efefef)}.btn-resume-cta:hover{background:#ffffff0f;border-color:#ffffff40;box-shadow:0 6px 16px #0006;transform:translateY(-2px)}.resume-overlay{align-items:center;animation:fadeIn .2s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#000000d1;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.resume-modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);animation:slideUp .3s var(--ease,cubic-bezier(.4,0,.2,1));background:#111114;border:1px solid #ffffff24;border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:0 20px 60px #000000b3;display:flex;flex-direction:column;height:min(88vh,860px);overflow:hidden;width:min(920px,100%)}.resume-modal-header{border-bottom:1px solid #ffffff14;flex-shrink:0;font-size:.875rem;font-weight:600;justify-content:space-between;padding:14px 20px}.btn-close-modal,.resume-modal-header{align-items:center;color:#9a9aaa;color:var(--text-2,#9a9aaa);display:flex}.btn-close-modal{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;font-size:.9rem;height:32px;justify-content:center;transition:background .15s ease,color .15s ease;width:32px}.btn-close-modal:hover{background:#ef444426;color:#f87171}.resume-iframe{border:none;flex:1 1;width:100%}@media (max-width:600px){.profile-card{align-items:flex-start;flex-direction:column}.profile-card-left{width:100%}.avatar-img{height:68px;width:68px}.profile-role{white-space:normal}.profile-card-actions{flex-direction:row;width:100%}.btn-github,.btn-resume-cta{flex:1 1;justify-content:center}}.projects-section{padding:0 0 8px}.projects-head{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.projects-head .section-heading{margin-bottom:0}.project-filters{display:flex;flex-wrap:wrap;gap:8px}.project-filter{align-items:center;background:#ffffff0a;border:1px solid var(--border);border-radius:999px;color:var(--text-2);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.78rem;font-weight:600;gap:8px;padding:6px 12px;transition:background .15s ease,color .15s ease,border-color .15s ease}.project-filter:hover{border-color:#fff3;color:#fff}.project-filter.active{background:#fff;border-color:#fff;color:#0a0a0f}.filter-count{font-feature-settings:"tnum";font-size:.68rem;font-variant-numeric:tabular-nums;opacity:.7}.project-filter.active .filter-count{opacity:.55}.projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.project-card-wrap{display:contents}.project-card{background:#1c1b23;background:var(--bg-2,#1c1b23);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:12px;border-radius:var(--radius-md,12px);color:inherit;display:flex;flex-direction:column;overflow:hidden;position:relative;text-decoration:none;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .25s ease,border-color .25s ease;transition:transform .18s var(--ease,cubic-bezier(.4,0,.2,1)),box-shadow .25s ease,border-color .25s ease}.project-card:hover{border-color:#ffffff2e;box-shadow:0 12px 32px #0000008c;transform:translateY(-6px)}.project-img-wrap{aspect-ratio:16/9;background:#111;overflow:hidden;position:relative}.project-img-wrap img{height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1);transition:transform .4s var(--ease,cubic-bezier(.4,0,.2,1));width:100%;will-change:transform}.project-card:hover .project-img-wrap img{transform:scale(1.07)}.project-img-overlay{align-items:center;background:#000000b8;color:#fff;display:flex;font-size:1.4rem;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .25s ease}.project-card:hover .project-img-overlay{opacity:1}.project-info{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:14px 16px 16px}.project-category{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.project-title{color:#fff;color:var(--text-0,#fff);font-size:.975rem;font-weight:700;line-height:1.3;margin:2px 0 4px}.project-desc{color:#9a9aaa;color:var(--text-2,#9a9aaa);flex:1 1;font-size:.815rem;line-height:1.5}.tech-icons{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.tech-icon{align-items:center;display:flex;font-size:1.2rem;transition:transform .15s ease}.tech-icon:hover{transform:scale(1.2) translateY(-1px)}@media (max-width:1199px) and (min-width:900px){.projects-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:899px) and (min-width:560px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:559px){.projects-grid{gap:14px;grid-template-columns:1fr}.project-title{font-size:1rem}}.skillbase{padding-bottom:8px;width:100%}.skills-container{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.skills-card{background:#1c1b23;background:var(--bg-2,#1c1b23);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:12px;border-radius:var(--radius-md,12px);overflow:hidden;padding:22px 24px;position:relative;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s ease,border-color .25s ease;transition:transform .25s var(--ease,cubic-bezier(.4,0,.2,1)),box-shadow .25s ease,border-color .25s ease;will-change:transform}.skills-card:before{background:linear-gradient(90deg,#0000,#ffffff80,#0000);content:"";height:1px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s ease}.skills-card:hover:before{opacity:1}.skills-card:hover{border-color:#ffffff29;box-shadow:0 10px 28px #00000080;transform:translateY(-6px)}.skills-card h3{border-bottom:1px solid var(--border);color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.8rem;font-weight:700;letter-spacing:1.5px;margin-bottom:16px;padding-bottom:10px;text-transform:uppercase}.skills-card ul{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.skills-card li{align-items:center;color:#9a9aaa;color:var(--text-2,#9a9aaa);cursor:default;display:flex;font-size:.9rem;font-weight:500;gap:10px;padding:4px 0;transition:color .15s ease,transform .15s ease}.skills-card li svg{flex-shrink:0;font-size:1.2rem;transition:transform .15s ease}.skills-card li:hover{color:#fff;color:var(--text-0,#fff);transform:translateX(3px)}.skills-card li:hover svg{transform:scale(1.2)}@media (max-width:768px){.skills-container{gap:12px;grid-template-columns:repeat(2,1fr)}.skills-card{padding:18px 16px}}@media (max-width:560px){.skills-container{grid-template-columns:1fr}}.live-shell{background:#0a0a0e;border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:12px;border-radius:var(--radius-md,12px);cursor:text;overflow:hidden}.live-shell-bar{align-items:center;background:#ffffff08;border-bottom:1px solid #ffffff0f;display:flex;gap:6px;padding:10px 12px}.live-shell-bar .dot{background:#3a3a44;border-radius:50%;height:8px;width:8px}.live-shell-bar .dot:first-child{background:#ff5f57}.live-shell-bar .dot:nth-child(2){background:#febc2e}.live-shell-bar .dot:nth-child(3){background:#28c840}.live-shell-title{color:var(--text-3);font-family:var(--font-mono);font-size:.72rem;margin-left:8px}.live-shell-body{font-family:var(--font-mono);font-size:.78rem;line-height:1.55;max-height:220px;overflow-y:auto;padding:12px 14px 8px}.shell-line{align-items:baseline;color:var(--text-2);display:flex;flex-wrap:wrap;gap:8px;white-space:pre-wrap;word-break:break-word}.shell-line.in{color:#fff}.shell-line.sys{color:var(--text-3);font-style:italic}.shell-prompt{color:#9ae6b4;font-weight:600}.shell-sep{color:var(--text-3)}.shell-input{background:#0000;border:none;caret-color:#fff;color:#fff;flex:1 1;font-family:inherit;font-size:inherit;min-width:80px;outline:none}.shell-hints{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 12px}.shell-hint{background:#ffffff0a;border:1px solid var(--border);border-radius:999px;color:var(--text-2);cursor:pointer;font-family:var(--font-mono);font-size:.68rem;padding:3px 9px}.shell-hint:hover{border-color:#fff3;color:#fff}.tech-marquee{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);-webkit-mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);overflow:hidden}.tech-marquee-track{animation:marquee 28s linear infinite;display:flex;gap:0;width:-webkit-max-content;width:max-content}.tech-marquee:hover .tech-marquee-track{animation-play-state:paused}.tech-marquee-item{align-items:center;color:var(--text-2);display:inline-flex;font-size:.78rem;font-weight:700;gap:18px;letter-spacing:1.4px;padding:12px 4px 12px 22px;text-transform:uppercase;white-space:nowrap}.tech-marquee-dot{color:var(--text-3);font-size:.45rem}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.tech-marquee-track{animation:none}}.about-page{display:flex;justify-content:center;padding:32px 24px 48px}.about-container{display:flex;flex-direction:column;gap:32px;max-width:820px;width:100%}.about-intro h1{color:#fff;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;margin-bottom:16px}.about-intro p{font-size:1rem;line-height:1.75;margin-bottom:10px}.about-intro p,.about-sub{color:#9a9aaa;color:var(--text-2,#9a9aaa)}.about-sub{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border,#ffffff14);font-size:.75rem;font-weight:700;letter-spacing:2px;margin-bottom:4px;padding-bottom:10px;text-transform:uppercase}.about-skills{display:flex;flex-wrap:wrap;gap:10px}.skill-chip{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:20px;color:#9a9aaa;color:var(--text-2,#9a9aaa);cursor:default;display:inline-flex;font-size:.85rem;font-weight:600;gap:7px;padding:6px 14px;transition:transform .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.skill-chip:hover{border-color:#fff3;box-shadow:0 4px 12px #0000004d;color:#fff;transform:translateY(-2px)}.skill-chip svg{font-size:1rem}.skill-chip.aws svg{color:#f90}.skill-chip.jenkins svg{color:#d24939}.skill-chip.docker svg{color:#2496ed}.skill-chip.k8s svg{color:#326ce5}.skill-chip.terraform svg{color:#7b42bc}.skill-chip.prometheus svg{color:#e6522c}.skill-chip.grafana svg{color:#f46800}.skill-chip.azure svg{color:#0089d6}.skill-chip.react svg{color:#61dafb}.skill-chip.github-icon svg{color:#e2e2e2}.skill-chip.cloud svg{color:#a0a0a0}.about-projects{display:flex;flex-direction:column;gap:0}.about-project-item{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border,#ffffff14);padding:16px 0}.about-project-item:last-child{border-bottom:none}.about-project-item h3{color:#efefef;color:var(--text-1,#efefef);font-size:1rem;font-weight:700;margin-bottom:6px}.about-project-item p{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.9rem;line-height:1.6}.about-education{display:flex;flex-direction:column;gap:0;padding-left:8px;position:relative}.about-education:before{background:linear-gradient(180deg,#ffffff47,#0000);bottom:8px;content:"";left:0;position:absolute;top:8px;width:1px}.about-edu-item{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border,#ffffff14);display:flex;gap:20px;padding:16px 0}.about-edu-item:last-child{border-bottom:none}.edu-year{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;border-radius:var(--radius-sm,8px);color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.75rem;font-weight:700;height:-webkit-fit-content;height:fit-content;margin-top:2px;padding:4px 10px;white-space:nowrap}.edu-detail h3{color:#efefef;color:var(--text-1,#efefef);font-size:1rem;font-weight:700;margin-bottom:4px}.edu-detail p{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.875rem;line-height:1.55}.edu-detail strong{color:#efefef;color:var(--text-1,#efefef)}@media (max-width:600px){.about-page{padding:20px 16px 48px}.about-edu-item{flex-direction:column;gap:8px}}.contact-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:40px 24px}.contact-container{grid-gap:40px;background:#1c1b23;background:var(--bg-2,#1c1b23);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:24px;border-radius:var(--radius-xl,24px);display:grid;gap:40px;grid-template-columns:1fr 1.4fr;max-width:900px;padding:48px 40px;width:100%}.contact-heading{color:#fff;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;margin-bottom:12px}.contact-subtext{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.95rem;line-height:1.65;margin-bottom:32px}.contact-details{display:flex;flex-direction:column;gap:14px}.contact-detail-item{align-items:center;color:#9a9aaa;color:var(--text-2,#9a9aaa);display:flex;font-size:.9rem;gap:12px}.contact-detail-item svg{color:#9a9aaa;color:var(--text-2,#9a9aaa);flex-shrink:0;font-size:1rem}.contact-detail-item a{color:#9a9aaa;color:var(--text-2,#9a9aaa);text-decoration:none;transition:color .15s ease}.contact-detail-item a:hover{color:#fff}.btn-copy-email{align-items:center;background:#ffffff0d;border:1px solid var(--border);border-radius:6px;color:var(--text-2);cursor:pointer;display:inline-flex;font-size:.75rem;height:28px;justify-content:center;margin-left:auto;transition:background .15s ease,color .15s ease;width:28px}.btn-copy-email:hover{background:#ffffff1a;color:#fff}.contact-form,.contact-form-wrap{display:flex;flex-direction:column}.contact-form{gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:.82rem;font-weight:600;letter-spacing:.3px}.form-group input,.form-group textarea{background:#0006;border:1px solid #ffffff1a;border-radius:8px;border-radius:var(--radius-sm,8px);color:#efefef;color:var(--text-1,#efefef);font-family:Inter,sans-serif;font-family:var(--font,"Inter",sans-serif);font-size:.9rem;outline:none;padding:11px 14px;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:#5a5a6a;color:var(--text-3,#5a5a6a)}.form-group input:focus,.form-group textarea:focus{border-color:#ffffff59;box-shadow:0 0 0 3px #ffffff0f}.btn-send{align-self:flex-start;background:#fff;border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:#0a0a0f;cursor:pointer;font-family:Inter,sans-serif;font-family:var(--font,"Inter",sans-serif);font-size:.9rem;font-weight:700;padding:12px 28px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;will-change:transform}.btn-send:hover{background:#e0e0e0;box-shadow:0 6px 20px #ffffff1f;transform:translateY(-2px)}.btn-send:active{transform:translateY(0)}@media (max-width:768px){.contact-container{gap:32px;grid-template-columns:1fr;padding:32px 24px}.btn-send{text-align:center;width:100%}}@media (max-width:480px){.contact-page{align-items:flex-start;padding:24px 16px}.contact-container{border-radius:16px;border-radius:var(--radius-lg,16px);padding:24px 18px}}.site-toast{animation:toast-in .22s cubic-bezier(.4,0,.2,1);animation:toast-in .22s var(--ease,cubic-bezier(.4,0,.2,1));background:#fff;border-radius:999px;bottom:28px;box-shadow:0 10px 30px #00000073;color:#0a0a0f;font-size:.82rem;font-weight:700;left:50%;letter-spacing:.2px;padding:10px 18px;position:fixed;transform:translateX(-50%);z-index:1200}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (min-width:769px){.site-toast{left:calc(50% + 125px);left:calc(50% + var(--sidebar-w, 250px)/2)}}.blogs-page{margin:0 auto;max-width:1040px;padding:40px 24px 60px}.blogs-header{margin-bottom:28px}.blogs-title{color:#fff;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;margin-bottom:10px}.blogs-subtitle{color:#9a9aaa;color:var(--text-2,#9a9aaa);font-size:1rem;line-height:1.6;max-width:640px}.blog-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr}.blog-card{background:#1c1b23;background:var(--bg-2,#1c1b23);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:16px;border-radius:var(--radius-lg,16px);overflow:hidden;transition:box-shadow .25s ease,border-color .25s ease}.blog-card:hover{border-color:#ffffff29;box-shadow:0 10px 28px #00000080}.blog-card-link{color:inherit;display:grid;grid-template-columns:minmax(180px,280px) 1fr;min-height:100%;text-decoration:none;transition:transform .18s cubic-bezier(.4,0,.2,1);transition:transform .18s var(--ease,cubic-bezier(.4,0,.2,1))}.blog-cover{background:#111;min-height:180px;overflow:hidden}.blog-cover img{display:block;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1);transition:transform .4s var(--ease,cubic-bezier(.4,0,.2,1));width:100%}.blog-card:hover .blog-cover img{transform:scale(1.05)}.blog-content{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px}.blog-meta{align-items:center;color:#5a5a6a;color:var(--text-3,#5a5a6a);display:flex;font-size:.75rem;gap:12px;justify-content:space-between}.blog-source{align-items:center;color:var(--text-2);display:inline-flex;font-weight:600;gap:6px;letter-spacing:.3px;text-transform:uppercase}.blog-name{color:#fff;color:var(--text-0,#fff);font-size:1.15rem;font-weight:700;line-height:1.35;margin:0}.blog-description{color:#9a9aaa;color:var(--text-2,#9a9aaa);flex:1 1;font-size:.875rem;line-height:1.6;margin:0}.blog-tags{display:flex;flex-wrap:wrap;gap:6px}.blog-tag{background:#ffffff0d;border:1px solid var(--border);border-radius:20px;color:var(--text-2);font-size:.7rem;font-weight:600;letter-spacing:.4px;padding:3px 9px}.blog-link{align-items:center;color:#efefef;color:var(--text-1,#efefef);display:inline-flex;font-size:.825rem;font-weight:600;gap:6px;margin-top:4px}.blog-card:hover .blog-link{color:#fff}@media (max-width:720px){.blog-card-link{grid-template-columns:1fr}.blog-cover{aspect-ratio:16/8;min-height:0}.blogs-page{padding:24px 16px 48px}}.site-footer{background:#14131a;background:var(--bg-1,#14131a);border-top:1px solid #ffffff12;border-top:1px solid var(--border,#ffffff12);margin-top:auto;padding:20px 24px}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.footer-copy{color:#6a6a80;color:var(--text-3,#6a6a80);font-size:.825rem;margin:0}.footer-socials{display:flex;gap:4px}.footer-social-link{align-items:center;border-radius:8px;border-radius:var(--radius-sm,8px);color:#6a6a80;color:var(--text-3,#6a6a80);display:flex;font-size:1rem;height:34px;justify-content:center;transition:background .15s ease,color .15s ease;transition:background var(--duration-fast,.15s) ease,color var(--duration-fast,.15s) ease;width:34px}.footer-social-link:hover{background:#ffffff0f;color:#f0f0f5;color:var(--text-1,#f0f0f5)}@media (max-width:480px){.footer-inner{justify-content:center;text-align:center}}.scroll-progress{background:linear-gradient(90deg,#fff,#888);box-shadow:0 0 12px #ffffff59;height:2px;left:0;top:0;width:0;z-index:400}.ambient-noise,.scroll-progress{pointer-events:none;position:fixed}.ambient-noise{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");inset:0;mix-blend-mode:overlay;opacity:.035;z-index:350}.cmdk-overlay{animation:fadeIn .18s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0000009e;display:flex;inset:0;justify-content:center;padding:12vh 16px 24px;position:fixed;z-index:1100}.cmdk-modal{animation:slideUp .22s cubic-bezier(.4,0,.2,1);animation:slideUp .22s var(--ease,cubic-bezier(.4,0,.2,1));background:#121218;border:1px solid #ffffff24;border-radius:16px;box-shadow:0 24px 80px #000000a6;display:flex;flex-direction:column;max-height:min(72vh,640px);overflow:hidden;width:min(560px,100%)}.cmdk-search{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border,#ffffff14);color:var(--text-2);display:flex;gap:10px;padding:14px 16px}.cmdk-search input{background:#0000;border:none;color:var(--text-0);flex:1 1;font-family:var(--font);font-size:.95rem;outline:none}.cmdk-search kbd{border:1px solid #ffffff24;border-radius:5px;color:var(--text-3);font-family:var(--font-mono);font-size:.68rem;padding:2px 6px}.cmdk-list{overflow-y:auto;padding:8px}.cmdk-group{color:var(--text-3);font-size:.68rem;font-weight:700;letter-spacing:1.6px;padding:10px 10px 6px;text-transform:uppercase}.cmdk-item{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-2);cursor:pointer;display:flex;font-family:var(--font);font-size:.9rem;gap:12px;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.cmdk-item.active{background:#ffffff14;color:#fff}.cmdk-item-label{align-items:center;display:flex;gap:10px;min-width:0}.cmdk-dot{background:#888;border-radius:50%;height:6px;width:6px}.cmdk-hint{color:var(--text-3);font-size:.75rem;white-space:nowrap}.cmdk-empty{color:var(--text-3);font-size:.9rem;padding:28px 12px;text-align:center}.route-flash{background:linear-gradient(180deg,#ffffff14,#0000 40%,#ffffff0a);inset:0;opacity:0;pointer-events:none;position:fixed;z-index:900}.route-flash.run{animation:route-wipe .5s cubic-bezier(.4,0,.2,1);animation:route-wipe .5s var(--ease,cubic-bezier(.4,0,.2,1))}@keyframes route-wipe{0%{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);opacity:.55}35%{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:.2}to{-webkit-clip-path:inset(100% 0 0 0);clip-path:inset(100% 0 0 0);opacity:0}}@media (prefers-reduced-motion:reduce){.route-flash{display:none}}.hire-dock{align-items:center;background:#fff;border-radius:999px;bottom:22px;box-shadow:0 10px 30px #00000073;color:#0a0a0f;display:inline-flex;font-size:.82rem;font-weight:700;gap:10px;padding:11px 16px;position:fixed;right:22px;transition:transform .18s cubic-bezier(.4,0,.2,1);transition:transform .18s var(--ease,cubic-bezier(.4,0,.2,1));z-index:80}.hire-dock:hover{transform:translateY(-3px) scale(1.03)}.hire-dock-pulse{animation:hire-ping 1.8s infinite;background:#22c55e;border-radius:50%;box-shadow:0 0 0 0 #22c55e8c;height:8px;width:8px}@keyframes hire-ping{70%{box-shadow:0 0 0 8px #22c55e00}}@media (max-width:768px){.hire-dock{bottom:14px;padding:10px 14px;right:14px}}.not-found-page{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:68vh;padding:72px 24px;text-align:center}.not-found-code{color:var(--text-2);font:600 clamp(4rem,14vw,8rem)/1 var(--font-mono);letter-spacing:-.08em;margin-bottom:20px}.not-found-terminal{background:var(--bg-0);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:24px;overflow:hidden;width:min(100%,340px)}.not-found-terminal-bar{align-items:center;border-bottom:1px solid var(--border);color:var(--text-3);display:flex;font:.72rem var(--font-mono);gap:7px;padding:11px 13px}.not-found-terminal-bar span{background:var(--text-3);border-radius:50%;height:8px;width:8px}.not-found-terminal-bar span:first-child{background:#f87171}.not-found-terminal-bar span:nth-child(2){background:#fbbf24}.not-found-terminal-bar span:nth-child(3){background:#4ade80}.not-found-terminal-bar code{margin-left:auto}.not-found-terminal-line{align-items:center;color:var(--text-1);display:flex;font:.9rem var(--font-mono);gap:12px;min-height:64px;padding:16px;text-align:left}.not-found-terminal-line svg{color:var(--text-2);font-size:1rem}.not-found-terminal-line i{animation:terminal-cursor 1s steps(2,start) infinite;background:var(--text-1);height:17px;width:7px}.not-found-page h1{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:12px}.not-found-page>p:not(.not-found-code){color:var(--text-2);margin-bottom:28px}.not-found-home{border:1px solid var(--border-strong);border-radius:var(--radius-md);display:inline-flex;padding:10px 18px;transition:background var(--duration-fast) ease}.not-found-home:hover{background:var(--accent-muted)}@keyframes terminal-cursor{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.not-found-terminal-line i{animation:none}}.page-content{animation:fadeInUp .4s cubic-bezier(.4,0,.2,1) both;animation:fadeInUp .4s var(--ease,cubic-bezier(.4,0,.2,1)) both;display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1}.skip-link{background:var(--bg-0);border-radius:var(--radius-sm);color:var(--text-0);left:12px;padding:10px 14px;position:fixed;top:12px;transform:translateY(-160%);z-index:10000}.skip-link:focus{transform:translateY(0)}@media (min-width:769px){.page-content{margin-left:250px;margin-left:var(--sidebar-w,250px)}}@media (max-width:768px){.page-content{padding-top:56px}}
/*# sourceMappingURL=main.055360b5.css.map*/