@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#020617;--bg-secondary:#030712;--bg-tertiary:#0f172a;--accent:#8b5cf6;--accent-2:#7c3aed;--accent-3:#6366f1;--text:#fff;--text-soft:#e2e8f0;--muted:#94a3b8;--muted-soft:#64748b;--line:#8b5cf61f;--line-strong:#8b5cf640;--glass:#0f172aa6;--glass-strong:#0f172ad9;--glass-border:#8b5cf61f;--glass-hover:#8b5cf62e;--shadow:0 8px 32px #00000080;--shadow-sm:0 4px 16px #0000004d;--shadow-card:0 2px 8px #0000004d, 0 8px 24px #0003;--shadow-lg:0 20px 50px #0006, 0 0 80px #8b5cf614;--gradient-accent:linear-gradient(135deg, #8b5cf6, #6366f1);--gradient-hero:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 45%, #6366f1 100%);--radius:12px;--radius-lg:16px;--radius-xl:20px;--transition:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--container-max:1120px;--container-padding:32px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-tertiary:#e2e8f0;--text:#0f172a;--text-soft:#1e293b;--muted:#475569;--muted-soft:#64748b;--line:#6366f11f;--line-strong:#6366f140;--glass:#ffffffbf;--glass-strong:#ffffffeb;--glass-border:#6366f11a;--glass-hover:#6366f126;--shadow:0 8px 32px #0f172a1a;--shadow-sm:0 4px 16px #0f172a0f;--shadow-card:0 2px 8px #0f172a0a, 0 8px 24px #0f172a0f;--gradient-accent:linear-gradient(135deg, #8b5cf6, #6366f1);--gradient-hero:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 45%, #6366f1 100%)}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}html:focus-within{scroll-behavior:auto}body{background:var(--bg-primary);color:var(--text);font-family:var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%}::selection{background:var(--accent);color:#fff}.starfield-bg{z-index:0;pointer-events:none;position:fixed;inset:0}.portfolio-layout{z-index:1;min-height:100vh;position:relative}.top-navbar{z-index:50;background:var(--glass);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);position:sticky;top:0}.navbar-inner{max-width:var(--container-max);padding:0 var(--container-padding);justify-content:space-between;align-items:center;height:64px;margin:0 auto;display:flex}.navbar-brand{transition:opacity var(--transition);align-items:center;gap:10px;display:flex}.navbar-brand:hover{opacity:.8}.brand-name{letter-spacing:-.02em;font-size:.95rem;font-weight:800}.brand-mark{background:var(--gradient-accent);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.8rem;font-weight:900;display:grid;box-shadow:0 0 12px #8b5cf64d}.navbar-links{align-items:center;gap:2px;display:flex}.navbar-link{color:var(--muted);transition:all var(--transition);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:8px 12px;font-size:.85rem;font-weight:500;display:flex}.navbar-link:hover{color:var(--text);background:var(--glass-hover)}.navbar-link.active{color:#fff;background:var(--gradient-accent)}.navbar-link svg{flex-shrink:0}.navbar-actions{align-items:center;gap:8px;display:flex}.navbar-toggle{border:1px solid var(--glass-border);background:var(--glass);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:10px;place-items:center;display:none}.navbar-mobile{border-top:1px solid var(--glass-border);flex-direction:column;gap:2px;padding:12px 16px 20px;display:none}.navbar-mobile .navbar-link{padding:10px 14px;font-size:.9rem}.navbar-overlay{display:none}.portfolio-main{padding:56px var(--container-padding);z-index:1;min-height:calc(100vh - 64px);position:relative}.icon-button,.button{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(8px);min-height:40px;color:var(--text);cursor:pointer;transition:all var(--transition);white-space:nowrap;justify-content:center;align-items:center;font-size:.88rem;font-weight:600;display:inline-flex}.icon-button{width:40px}.button{gap:7px;padding:0 16px}.button.primary{background:var(--gradient-accent);color:#fff;border-color:#0000;box-shadow:0 2px 16px #8b5cf64d}.button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 24px #8b5cf680}.button.lg{border-radius:999px;min-height:48px;padding:0 24px;font-size:.95rem}.button.social{border-radius:999px}.button:hover,.icon-button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #8b5cf626}.button:active,.icon-button:active{transform:translateY(0)}.page-content{max-width:var(--container-max);z-index:1;margin:0 auto;position:relative}.page-header{margin-bottom:44px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;text-shadow:0 0 24px #8b5cf659;align-items:center;gap:8px;font-size:.8rem;font-weight:800;display:inline-flex}.page-header h1{letter-spacing:-.02em;background:linear-gradient(135deg,#f8fafc,#cbd5e1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:12px 0 0;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.1}.section-reveal{border-top:1px solid var(--glass-border);padding:80px 0}.section-reveal:first-of-type{border-top:none}.section-reveal:nth-of-type(2){padding-top:72px}@media (max-width:920px){.section-reveal{padding:64px 0}}@media (max-width:620px){.section-reveal{padding:48px 0}}.page-home{max-width:100%}.home-hero{min-height:calc(100vh - 80px);max-width:var(--container-max);grid-template-columns:1.15fr .85fr;align-items:center;gap:36px;margin:0 auto;display:grid;position:relative}.home-hero-content{flex-direction:column;display:flex}.home-title{letter-spacing:-.045em;margin:20px 0 12px;font-size:clamp(2.8rem,6vw,5rem);line-height:.9}.home-title span{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lead{max-width:480px;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7}.lead.sub{margin-top:6px;font-size:.9rem}.hero-actions,.social-row{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.hero-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px;display:grid}.stat{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:blur(8px);transition:all var(--transition);text-align:center;padding:14px}.stat:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 24px #8b5cf61f}.stat strong{letter-spacing:-.03em;background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.3rem;display:block}.stat span{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.home-hero-visual{border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:radial-gradient(ellipse at center, #8b5cf60f, transparent 70%), var(--glass);-webkit-backdrop-filter:blur(8px);min-height:310px;box-shadow:var(--shadow), 0 0 60px #8b5cf60d;overflow:hidden}.panel,.card{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-card);transition:all var(--transition)}.panel{padding:28px}.panel h3,.card h3{letter-spacing:-.02em;margin:0 0 8px;font-size:1.1rem}.panel p,.card p{color:var(--muted);line-height:1.65}.card:hover{border-color:var(--accent);box-shadow:0 12px 40px #8b5cf61f, var(--shadow-card);transform:translateY(-4px)}.about-layout{grid-template-columns:1fr 1.3fr;align-items:start;gap:36px;display:grid}.about-image-wrapper{flex-direction:column;align-items:center;display:flex;position:relative}.about-image-accent{background:var(--gradient-accent);opacity:.15;z-index:0;filter:blur(8px);border-radius:9999px;position:absolute;inset:-8px}.about-image{z-index:1;object-fit:cover;aspect-ratio:1;width:100%;max-width:300px;height:auto;box-shadow:0 0 0 4px #8b5cf626, 0 0 24px #8b5cf61f, var(--shadow);transition:box-shadow var(--transition), transform var(--transition);border-radius:9999px;position:relative}.about-image:hover{box-shadow:0 0 0 4px #8b5cf640, 0 0 36px #8b5cf633, var(--shadow);transform:scale(1.02)}.about-bio{color:var(--text-soft);margin-bottom:20px;font-size:.95rem;line-height:1.75}.about-details{flex-direction:column;align-items:center;gap:6px;margin-top:14px;display:flex}.about-detail{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.about-detail svg{color:var(--accent);flex-shrink:0}.about-highlights{flex-wrap:wrap;gap:8px;display:flex}.highlight-card{border:1px solid var(--glass-border);transition:all var(--transition);background:#8b5cf60f;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.highlight-card:hover{border-color:var(--accent);background:#8b5cf61f}.highlight-card strong{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.7rem}.highlight-card span{color:var(--text-soft);font-size:.84rem}.skill-orbit{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.skill-orbit-group{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(8px);transition:all var(--transition);flex-direction:column;gap:12px;padding:16px 20px;display:flex}.skill-orbit-group:hover{border-color:var(--accent);box-shadow:0 4px 20px #8b5cf614}.skill-orbit-label{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.skill-orbit-pills{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{color:var(--text);cursor:default;transition:all var(--transition);will-change:transform;background:#8b5cf614;border:1px solid #8b5cf626;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.skill-pill:hover{background:#8b5cf629;border-color:#8b5cf659;transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf626}.project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.project-card{transform-style:preserve-3d;will-change:transform;background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition);padding:0;overflow:hidden}.project-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 12px 40px #8b5cf626}.project-image-wrapper{position:relative;overflow:hidden}.project-image-wrapper img{aspect-ratio:3;object-fit:cover;border-bottom:1px solid var(--glass-border);width:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);display:block}.project-card:hover .project-image-wrapper img{transform:scale(1.06)}.project-link-badge{background:var(--glass-strong);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);width:36px;height:36px;color:var(--text);opacity:0;transition:all var(--transition);border-radius:8px;place-items:center;display:grid;position:absolute;top:12px;right:12px;transform:translateY(-6px)}.project-card:hover .project-link-badge{opacity:1;transform:translateY(0)}.project-body{padding:18px}.project-body h3{background:linear-gradient(135deg,#f8fafc,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:1.05rem}.project-desc{margin-top:8px;font-size:.9rem}.tag-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{color:var(--muted);transition:all var(--transition);background:#8b5cf60d;border:1px solid #8b5cf633;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:500}.tag:hover{border-color:var(--accent);color:var(--accent);background:#8b5cf61a}.timeline{gap:0;max-width:100%;padding-left:8px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--accent), transparent);opacity:.4;width:2px;position:absolute;top:8px;bottom:8px;left:9px}.timeline-item{grid-template-columns:28px 150px 1fr;align-items:start;gap:14px;padding:18px 0;display:grid;position:relative}.timeline-dot{background:var(--gradient-accent);border:3px solid var(--bg-primary);z-index:1;border-radius:50%;width:20px;height:20px;margin-top:2px;box-shadow:0 0 12px #8b5cf666}.timeline-date{color:var(--accent);padding-top:2px;font-size:.88rem;font-weight:800}.timeline-content{background:var(--glass);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:var(--radius);transition:all var(--transition);padding:14px 16px}.timeline-content:hover{border-color:var(--accent);box-shadow:0 4px 16px #8b5cf614}.timeline-content h3{margin:0 0 4px;font-size:1rem}.timeline-org{color:var(--muted);margin-bottom:6px;font-size:.85rem}.timeline-content p:last-child{font-size:.9rem;line-height:1.65}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.cert-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition);padding:20px}.cert-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 28px #8b5cf61f}.cert-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cert-issuer{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.cert-date{color:var(--muted);font-size:.82rem}.cert-card h3{margin-bottom:6px;font-size:1rem}.cert-link{color:var(--accent);transition:gap var(--transition);align-items:center;gap:5px;margin-top:10px;font-size:.88rem;font-weight:600;display:inline-flex}.cert-link:hover{gap:8px}.resume-viewer{flex-direction:column;gap:20px;display:flex}.resume-actions{gap:10px;display:flex}.resume-embed{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(8px);overflow:hidden}.resume-iframe{border:none;width:100%;height:80vh}.contact-layout{grid-template-columns:1fr 1.05fr;align-items:start;gap:32px;display:grid}.contact-info .lead{margin-bottom:18px}.contact-details{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.contact-detail{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.contact-detail svg{color:var(--accent)}.contact-detail a{color:var(--accent);font-weight:600}.contact-detail a:hover{text-decoration:underline}.contact-form{border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-card);gap:12px;padding:24px;display:grid}.field{gap:6px;display:grid}.field.full{grid-column:1/-1}.field label{color:var(--text-soft);font-size:.85rem;font-weight:700}.field input,.field textarea,.field select{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-strong);width:100%;color:var(--text);transition:all var(--transition);padding:10px 12px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #8b5cf626,0 0 16px #8b5cf614}.field textarea{resize:vertical;min-height:90px}.contact-form-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:280px;padding:24px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.notice{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);color:var(--muted);padding:10px 14px;font-size:.9rem}.hero-visual{width:100%;height:100%;min-height:inherit}.admin-layout{background:var(--bg-primary);z-index:1;min-height:100vh;position:relative}.admin-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(12px);flex-direction:column;height:100vh;padding:20px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar .brand{margin-bottom:4px}.admin-main{padding:24px;overflow-y:auto}.admin-tabs{gap:3px;margin-top:18px;display:grid}.admin-tab{justify-content:flex-start;width:100%;min-height:36px;font-size:.85rem}.admin-tab.active{background:var(--gradient-accent);color:#fff;border-color:#0000;box-shadow:0 2px 12px #8b5cf64d}.admin-tab:not(.active):hover{background:var(--glass-hover);border-color:var(--glass-border)}.dashboard-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0;display:grid}.dashboard-grid .stat{text-align:center}.editor-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:14px;display:grid}.editor-list{gap:5px;display:grid}.list-button{text-align:left;justify-content:flex-start;width:100%;padding:10px 12px;font-size:.86rem}.list-button.active{border-color:var(--accent);background:var(--glass-hover)}.form-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.section-heading h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.4rem,2.5vw,2rem)}.nav-actions{align-items:center;gap:8px;display:flex}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 16px #8b5cf633}50%{box-shadow:0 0 32px #8b5cf666}}.float-anim{animation:4s ease-in-out infinite float}.glow-pulse{animation:3s ease-in-out infinite glow-pulse}@media (max-width:920px){.navbar-links{display:none}.navbar-toggle{display:grid}.navbar-mobile{display:flex}.navbar-overlay{z-index:25;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02061799;display:block;position:fixed;inset:0}.portfolio-main{padding:56px 24px 24px}.home-hero,.about-layout,.contact-layout{grid-template-columns:1fr}.home-hero-visual{min-height:320px}.about-highlights{justify-content:center}.skill-orbit,.project-grid,.cert-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(3,1fr)}.editor-grid,.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-tabs{flex-flow:wrap;gap:6px}.about-image{max-width:240px}}@media (max-width:620px){.hero-stats,.form-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:24px 1fr}.timeline-date,.timeline-content{grid-column:2}.about-highlights{justify-content:center}.skill-orbit{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.portfolio-main{padding:48px 16px 16px}.about-image{max-width:200px}}
