html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}html{height:100%;scroll-behavior:smooth;color-scheme:light dark}*,*:before,*:after{box-sizing:border-box}:root,body{max-width:100%;overflow-x:hidden}:root{--page-max-width: 1120px;--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--border-color: color-mix(in srgb, var(--mat-sys-outline) 55%, transparent);--shadow-sm: 0 10px 30px rgba(0, 0, 0, .08)}body{background-color:var(--mat-sys-background, var(--mat-sys-surface));color:var(--mat-sys-on-surface);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.6;margin:0;height:100%;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.dark-theme{color-scheme:dark;--mat-sys-background: #0e1117;--mat-sys-on-background: #e5e7eb;--mat-sys-surface: #0e1117;--mat-sys-surface-container: #111827;--mat-sys-surface-container-low: #0b1220;--mat-sys-surface-container-high: #162033;--mat-sys-surface-container-highest: #1f2a44;--mat-sys-surface-variant: #1f2937;--mat-sys-on-surface: #e5e7eb;--mat-sys-on-surface-variant: #9ca3af;--mat-sys-outline: #374151;--mat-sys-primary: #3b82f6;--mat-sys-primary-container: #1e3a8a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #bfdbfe;--mat-sys-surface-tint: #3b82f6}html.light-theme{color-scheme:light;--mat-sys-background: #f8fafc;--mat-sys-on-background: #0f172a;--mat-sys-surface: #f8fafc;--mat-sys-surface-container: #ffffff;--mat-sys-surface-container-low: #ffffff;--mat-sys-surface-container-high: #f1f5f9;--mat-sys-surface-container-highest: #e2e8f0;--mat-sys-surface-variant: #e2e8f0;--mat-sys-on-surface: #0f172a;--mat-sys-on-surface-variant: #475569;--mat-sys-outline: #cbd5e1;--mat-sys-primary: #2563eb;--mat-sys-primary-container: #dbeafe;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #1e3a8a;--mat-sys-surface-tint: #2563eb}html.full-width{--page-max-width: 100%}html.dark-theme body{background-color:#0e1117;color:var(--mat-sys-on-surface)}html.light-theme body{background-color:var(--mat-sys-background, var(--mat-sys-surface))}.section-content{padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:color-mix(in srgb,var(--mat-sys-surface-container) 92%,transparent);box-shadow:var(--shadow-sm)}@media(min-width:900px){.section-content{padding:2rem}}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;position:relative}.section-header mat-icon{font-size:28px;width:28px;height:28px;color:var(--mat-sys-primary)}.section-header mat-icon.icon-section{width:40px;height:40px;font-size:24px;display:grid;place-items:center;border-radius:50%;color:var(--mat-sys-primary);background:#3884ff24}.icon-home{color:#3b82f6;background:#3b82f62e}.icon-skills{color:#22c55e;background:#22c55e2e}.icon-projects{color:#f59e0b;background:#f59e0b2e}.icon-resume{color:#ef4444;background:#ef44442e}.icon-experience{color:#8b5cf6;background:#8b5cf62e}.icon-contact{color:#0ea5e9;background:#0ea5e92e}.list-icon{color:var(--mat-sys-primary)}.mat-mdc-list-item.mdc-list-item{align-items:center}.mat-mdc-list-item .mdc-list-item__start{display:flex;align-items:center;align-self:center!important;margin-top:0!important}.mat-mdc-list-item .mat-mdc-list-item-icon{display:grid;place-items:center;line-height:1}.icon-edu{color:#3b82f6}.icon-cert{color:#f59e0b}.icon-work{color:#10b981}.icon-dev{color:#8b5cf6}.icon-cta{color:currentColor;opacity:.9}.section-title{margin:0;font-weight:600;font-size:1.5rem;letter-spacing:-.01em}.section-subtitle{margin:.15rem 0 0;color:var(--mat-sys-on-surface-variant);font-size:.95rem}.accent-bar{height:2px;width:72px;background:linear-gradient(90deg,color-mix(in srgb,var(--mat-sys-primary) 70%,transparent),transparent);border-radius:2px;margin:.5rem 0 1rem}.lead{color:var(--mat-sys-on-surface);font-size:1.05rem}.cta-group{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.cta-group a[mat-flat-button],.cta-group a[mat-stroked-button]{transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.cta-group a:hover mat-icon{transform:translate(3px)}.cta-group a mat-icon{transition:transform .2s ease}.cta-group a[mat-flat-button]:hover{background:color-mix(in srgb,var(--mat-sys-primary) 12%,transparent)}.cta-group a[mat-stroked-button]:hover{box-shadow:0 12px 28px color-mix(in srgb,var(--mat-sys-primary) 20%,transparent)}.section.visible .accent-bar{animation:growBar .8s ease-out both}@keyframes growBar{0%{width:0;opacity:.4}to{width:120px;opacity:1}}.reveal-up,.reveal-left,.reveal-right,.reveal-fade{opacity:0}.reveal-up{transform:translateY(18px)}.reveal-left{transform:translate(-18px)}.reveal-right{transform:translate(18px)}.reveal-fade{transform:none}.visible.reveal-up,.visible.reveal-left,.visible.reveal-right,.visible.reveal-fade{opacity:1;transform:none;transition:opacity .42s ease,transform .52s ease}.reveal-stagger>*{opacity:0;transform:translateY(12px)}.visible.reveal-stagger>*{opacity:1;transform:none;transition:opacity .42s ease,transform .52s ease}.visible.reveal-stagger>*:nth-child(1){transition-delay:60ms}.visible.reveal-stagger>*:nth-child(2){transition-delay:.12s}.visible.reveal-stagger>*:nth-child(3){transition-delay:.18s}.visible.reveal-stagger>*:nth-child(4){transition-delay:.24s}.visible.reveal-stagger>*:nth-child(5){transition-delay:.3s}.visible.reveal-stagger>*:nth-child(6){transition-delay:.36s}.section-header:before{content:"";position:absolute;left:-12px;top:-8px;width:72px;height:72px;border-radius:50%;filter:blur(18px);opacity:.12}.section.visible .section-header:before{animation:floatBlob 6s ease-in-out infinite}@keyframes floatBlob{0%{transform:translate(0)}50%{transform:translate(8px,-6px)}to{transform:translate(0)}}.section--home .section-header:before{background:radial-gradient(circle,#3b82f699,#3b82f600)}.section--skills .section-header:before{background:radial-gradient(circle,#22c55e99,#22c55e00)}.section--projects .section-header:before{background:radial-gradient(circle,#f59e0b99,#f59e0b00)}.section--resume .section-header:before{background:radial-gradient(circle,#ef444499,#ef444400)}.section--experience .section-header:before{background:radial-gradient(circle,#8b5cf699,#8b5cf600)}.section--contact .section-header:before{background:radial-gradient(circle,#0ea5e999,#0ea5e900)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
