:root,[data-theme=light]{--color-primary: #5e6ad2;--color-primary-dark: #4f56b8;--color-accent: #0070f3;--color-text: #171717;--color-text-muted: #737373;--color-border: #e5e5e5;--color-bg: #fafafa;--color-bg-alt: #ffffff;--color-surface: #ffffff;--color-hero-gradient: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(94, 106, 210, .08), transparent);--color-navbar-bg: rgba(250, 250, 250, .82);--color-navbar-bg-solid: #fafafa;--color-drawer-overlay: rgba(0, 0, 0, .4);--color-card-bg: #ffffff;--color-card-border: #ebebeb;--color-card-footer-bg: #f5f5f5;--color-card-title: #171717;--color-card-desc: #737373;--color-card-shadow: 0 1px 3px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .04);--color-card-tag-bg: #f4f4f5;--color-card-tag-text: #52525b;--color-badge-bg: rgba(34, 197, 94, .12);--color-badge-text: #15803d;--color-glow: rgba(94, 106, 210, .15);--color-logo-bg: #f3e8ff;--color-logo-border: #8b5cf6;--color-logo-inner: #a855f7;--color-logo-text: #6d28d9;--color-terminal-bg: #f7f8fc;--color-terminal-head-bg: #dfe5f2;--color-terminal-field-bg: #ffffff;--color-terminal-text: #1f2937;--color-terminal-muted: #6b7280;--color-control-bg: rgba(255, 255, 255, .7);--color-control-bg-solid: #ffffff;--color-control-border: rgba(120, 120, 140, .15);--color-button-hover-bg: rgba(0, 0, 0, .04)}[data-theme=dark]{--color-primary: #818cf8;--color-primary-dark: #6366f1;--color-accent: #3291ff;--color-text: #ededed;--color-text-muted: #a1a1aa;--color-border: #27272a;--color-bg: #0a0a0a;--color-bg-alt: #111111;--color-surface: #141414;--color-hero-gradient: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(129, 140, 248, .1), transparent);--color-navbar-bg: rgba(10, 10, 10, .85);--color-navbar-bg-solid: #0a0a0a;--color-drawer-overlay: rgba(0, 0, 0, .65);--color-card-bg: #141414;--color-card-border: #27272a;--color-card-footer-bg: #111111;--color-card-title: #fafafa;--color-card-desc: #a1a1aa;--color-card-shadow: 0 1px 3px rgba(0, 0, 0, .2), 0 12px 32px rgba(0, 0, 0, .35);--color-card-tag-bg: #1f1f23;--color-card-tag-text: #d4d4d8;--color-badge-bg: rgba(34, 197, 94, .15);--color-badge-text: #4ade80;--color-glow: rgba(129, 140, 248, .12);--color-logo-bg: #1b132a;--color-logo-border: #a855f7;--color-logo-inner: #c084fc;--color-logo-text: #ddd6fe;--color-terminal-bg: #101010;--color-terminal-head-bg: #1c1c24;--color-terminal-field-bg: rgba(22, 22, 22, .92);--color-terminal-text: #e5e7eb;--color-terminal-muted: #9ca3af;--color-control-bg: rgba(25, 25, 28, .75);--color-control-bg-solid: #141414;--color-control-border: rgba(255, 255, 255, .06);--color-button-hover-bg: rgba(255, 255, 255, .06)}.section{padding:var(--section-space) var(--layout-gutter)}.section__container{max-width:var(--max-width);margin:0 auto}.section__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--color-primary) 64%,var(--color-text-muted));opacity:.62;margin-bottom:.75rem;transition:opacity .2s ease,color .2s ease,text-shadow .2s ease}.section__title{font-size:1.75rem;font-weight:700;letter-spacing:normal;color:var(--color-text);margin-bottom:var(--section-subtitle-gap);display:block;overflow:visible;white-space:normal;max-width:none;width:100%;word-break:normal;overflow-wrap:normal}@media (min-width: 768px){.section__title{font-size:2.125rem}}.section__subtitle{font-size:1.0625rem;color:var(--color-text-muted);line-height:1.7;max-width:640px}.card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:12px;box-shadow:var(--color-card-shadow);color:var(--color-text);transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .2s ease}.card:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-card-border));transform:translateY(-2px);transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .2s ease,transform .2s ease}.chip{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--color-control-border);background:var(--color-control-bg-solid);color:var(--color-text);font-size:.8125rem;font-weight:500;letter-spacing:normal;white-space:nowrap;transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease}.chip:hover{border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-control-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 14%,transparent);background:color-mix(in srgb,var(--color-control-bg-solid) 88%,var(--color-primary) 12%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;border:1px solid var(--color-control-border);background:var(--color-control-bg-solid);transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.btn--primary{background:var(--color-control-bg-solid);border-color:var(--color-control-border);color:var(--color-text)}.btn--primary:hover{transform:translateY(-2px);background:var(--color-button-hover-bg);border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border));box-shadow:none}.btn--primary:hover app-svg-icon{transform:translate(1px)}.btn--primary:active{transform:scale(.98)}.btn--ghost{background:var(--color-control-bg-solid);border-color:var(--color-control-border);color:var(--color-text)}.btn--ghost:hover{background:var(--color-button-hover-bg);transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-primary) 48%,var(--color-border));box-shadow:none}.btn--ghost:hover app-svg-icon{transform:translate(1px)}.btn--ghost:active{transform:scale(.98)}.btn--accent{background:var(--color-primary);color:#fff}.btn--accent:hover{background:color-mix(in srgb,var(--color-primary) 90%,var(--color-button-hover-bg));transform:translateY(-2px)}.btn app-svg-icon{transition:transform .2s ease}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 22%,transparent)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.portfolio-page section.active-section .section__eyebrow{opacity:1;color:var(--color-primary)}.portfolio-page:not(.reveal-init) .reveal-item{opacity:0;transform:translate3d(0,40px,0)}.portfolio-page .reveal-item.reveal-up-hidden{opacity:0;transform:translate3d(0,40px,0);overflow:visible;backface-visibility:hidden;will-change:transform,opacity;transition:none!important}.portfolio-page .reveal-item.reveal-up-visible{opacity:1;transform:translateZ(0);overflow:visible;backface-visibility:hidden;will-change:transform,opacity;transition:opacity .7s ease-out,transform .7s ease-out!important}.portfolio-page .reveal-item.reveal-up-visible.reveal-done{will-change:auto;transform:none}.portfolio-page .reveal-item.reveal-up-visible.reveal-done.card:hover{transform:translate3d(0,-2px,0);transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .2s ease,transform .2s ease!important}@media (max-width: 768px){.card,.chip,.btn{transition:border-color .16s ease,background .16s ease,color .16s ease}.card:hover,.chip:hover,.btn:hover{transform:none;box-shadow:none}}@media (prefers-reduced-motion: reduce){.card,.chip,.btn{transition:none}.portfolio-page:not(.reveal-init) .reveal-item{opacity:1;transform:none}.portfolio-page .reveal-item.reveal-up-hidden,.portfolio-page .reveal-item.reveal-up-visible,.portfolio-page .reveal-item.reveal-up-visible.reveal-done{opacity:1;transform:none;transition:none!important;will-change:auto}}html.tg-webview{scroll-behavior:auto}html.tg-webview body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;transition:none!important}html.tg-webview .header{position:relative!important;top:auto!important}html.tg-webview .header__container{width:100%!important;flex-wrap:wrap;row-gap:.5rem}html.tg-webview .header__nav{flex:1 1 100%;order:3;min-width:auto!important;overflow-x:auto;-webkit-overflow-scrolling:touch}html.tg-webview .header__links{justify-content:flex-start;width:auto!important}html.tg-webview .header__links a,html.tg-webview .header__brand-name,html.tg-webview .header__brand-role,html.tg-webview .section__title:not(.reveal-item),html.tg-webview .section__subtitle:not(.reveal-item),html.tg-webview .about__summary,html.tg-webview .experience__company,html.tg-webview .drawer__links a,html.tg-webview h1,html.tg-webview h2,html.tg-webview h3,html.tg-webview p{letter-spacing:normal!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow:visible!important;white-space:normal}html.tg-webview .header__links a,html.tg-webview .header__brand-name,html.tg-webview .header__brand-role,html.tg-webview .drawer__links a{white-space:nowrap!important}html.tg-webview .section__title{display:block!important;font-size:1.75rem!important;width:100%!important}html.tg-webview .card,html.tg-webview .chip,html.tg-webview .btn,html.tg-webview .header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html.tg-webview .card:hover,html.tg-webview .chip:hover,html.tg-webview .btn:hover{transform:none!important}html.tg-webview .portfolio-page:not(.reveal-init) .reveal-item{opacity:0!important;transform:none!important}html.tg-webview .portfolio-page .reveal-item.reveal-up-hidden{opacity:0!important;transform:none!important;transition:none!important;will-change:opacity!important}html.tg-webview .portfolio-page .reveal-item.reveal-up-visible{opacity:1!important;transform:none!important;transition:opacity .7s ease-out!important;will-change:auto!important}html.tg-webview .portfolio-page .reveal-item.reveal-up-visible.reveal-done{will-change:auto!important}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width: 1200px;--layout-gutter: clamp(16px, 4vw, 40px);--section-space: clamp(3rem, 6vw, 5rem);--section-title-gap: clamp(2rem, 4vw, 3rem);--section-subtitle-gap: clamp(1rem, 2vw, 1.5rem);--section-content-gap: clamp(1.25rem, 2.8vw, 2rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;translate:no}.notranslate,[translate=no]{translate:no}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;translate:no;transition:background .25s ease,color .25s ease}.header__brand-name,.header__brand-role,.header__links a,.section__title:not(.reveal-item),.section__subtitle:not(.reveal-item),.contact__title:not(.reveal-item),.about__summary{letter-spacing:normal;transform:none;filter:none;backface-visibility:visible}html.theme-switching,html.theme-switching body,html.theme-switching .header,html.theme-switching .footer,html.theme-switching .chip,html.theme-switching .btn,html.theme-switching input,html.theme-switching textarea{transition:background .28s ease,background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,fill .28s ease,stroke .28s ease!important}html.theme-switching .card:not(.reveal-up-hidden):not(.reveal-up-visible),html.theme-switching .portfolio-page .reveal-up-visible.reveal-done.card{transition:background .28s ease,background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease!important}html.theme-switching .portfolio-page .reveal-item.reveal-up-hidden,html.theme-switching .portfolio-page .reveal-item.reveal-up-visible:not(.reveal-done){transition:opacity .7s ease-out,transform .7s ease-out!important}@media (prefers-reduced-motion: reduce){html.theme-switching,html.theme-switching *{transition:none!important}}img{max-width:100%;height:auto;display:block}a{color:inherit}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
