:root{--color-bg: #ffffff;--color-bg-secondary: #f5f5f7;--color-bg-tertiary: #fbfbfd;--color-text: #1d1d1f;--color-text-secondary: #6e6e73;--color-text-tertiary: #86868b;--color-border: #d2d2d7;--color-accent: #0071e3;--color-accent-hover: #0077ed;--color-card-bg: #ffffff;--color-card-border: #e8e8ed;--color-code-bg: #f5f5f7;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", SFMono-Regular, ui-monospace, Menlo, Monaco, "Cascadia Code", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--max-width: 720px;--max-width-wide: 960px;--transition: .2s ease}[data-theme=dark]{--color-bg: #000000;--color-bg-secondary: #1c1c1e;--color-bg-tertiary: #0a0a0a;--color-text: #f5f5f7;--color-text-secondary: #a1a1a6;--color-text-tertiary: #6e6e73;--color-border: #38383a;--color-accent: #2997ff;--color-accent-hover: #64b5f6;--color-card-bg: #1c1c1e;--color-card-border: #2c2c2e;--color-code-bg: #1c1c1e}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;transition:background-color var(--transition),color var(--transition)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.container--wide{max-width:var(--max-width-wide)}.page{min-height:100vh;display:flex;flex-direction:column}.page__content{flex:1;padding:var(--space-3xl) 0}.header{position:sticky;top:0;z-index:100;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);backdrop-filter:saturate(180%) blur(20px);background-color:color-mix(in srgb,var(--color-bg) 80%,transparent)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:52px}.header__logo{font-weight:600;font-size:1rem;color:var(--color-text);letter-spacing:-.01em}.header__logo:hover{color:var(--color-text)}.header__nav{display:flex;align-items:center;gap:var(--space-lg)}.header__link{font-size:.8125rem;color:var(--color-text-secondary);transition:color var(--transition)}.header__link:hover,.header__link--active{color:var(--color-text)}.header__controls{display:flex;align-items:center;gap:var(--space-sm)}.header__lang{font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:6px;transition:all var(--transition);cursor:pointer;background:none}.header__lang:hover{color:var(--color-text);border-color:var(--color-text-tertiary)}.header__toggle{display:none;background:none;border:none;color:var(--color-text);cursor:pointer;padding:var(--space-xs)}.header__toggle svg{width:24px;height:24px}@media(max-width:768px){.header__nav{display:none;position:absolute;top:52px;left:0;right:0;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;padding:var(--space-md) var(--space-lg);gap:var(--space-md)}.header__nav--open{display:flex}.header__toggle{display:block}}.theme-toggle{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-xs);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color var(--transition)}.theme-toggle:hover{color:var(--color-text)}.theme-toggle svg{width:18px;height:18px}.theme-toggle__sun,.theme-toggle__moon{display:none}[data-theme=light] .theme-toggle__moon,[data-theme=dark] .theme-toggle__sun{display:block}.hero{padding:var(--space-4xl) 0;text-align:center}.hero__greeting{font-size:.875rem;font-family:var(--font-mono);color:var(--color-text-tertiary);margin-bottom:var(--space-md);letter-spacing:.02em}.hero__title{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-lg);color:var(--color-text)}.hero__subtitle{font-size:1.125rem;color:var(--color-text-secondary);max-width:540px;margin:0 auto;line-height:1.5}.pillars{padding:var(--space-3xl) 0}.pillars__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-top:var(--space-xl)}@media(max-width:768px){.pillars__grid{grid-template-columns:1fr}}.pillar{padding:var(--space-xl);border:1px solid var(--color-card-border);border-radius:12px;background:var(--color-card-bg);transition:border-color var(--transition)}.pillar:hover{border-color:var(--color-text-tertiary)}.pillar__title{font-size:1rem;font-weight:600;margin-bottom:var(--space-sm);letter-spacing:-.01em}.pillar__desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6}.section{padding:var(--space-3xl) 0}.section__title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-2xl)}.section__subtitle{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin-bottom:var(--space-md)}.section__text{font-size:1rem;color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-lg)}.experience-list{display:flex;flex-direction:column;gap:var(--space-md)}.experience-row{display:grid;grid-template-columns:100px 160px 1fr;gap:var(--space-md);align-items:baseline;padding-bottom:var(--space-md);border-bottom:1px solid var(--color-card-border)}.experience-row:last-child{border-bottom:none}.experience-row__period{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-tertiary)}.experience-row__company{font-size:.875rem;font-weight:600;letter-spacing:-.01em}.experience-row__desc{font-size:.8125rem;color:var(--color-text-secondary)}@media(max-width:768px){.experience-row{grid-template-columns:1fr;gap:var(--space-xs)}}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}}.project-card{border:1px solid var(--color-card-border);border-radius:12px;padding:var(--space-xl);background:var(--color-card-bg);display:flex;flex-direction:column;transition:border-color var(--transition)}.project-card:hover{border-color:var(--color-text-tertiary)}.project-card__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-xs)}.project-card__name{font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.project-card__role{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-tertiary)}.project-card__tagline{font-size:.875rem;color:var(--color-accent);margin-bottom:var(--space-md)}.project-card__desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;flex:1;margin-bottom:var(--space-lg)}.project-card__footer{display:flex;align-items:center;justify-content:space-between}.project-card__since{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-tertiary)}.project-card__link{font-size:.8125rem;font-weight:500}.project-card__link:after{content:" →"}.contact-links{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl)}.contact-link{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-card-border);border-radius:12px;background:var(--color-card-bg);transition:border-color var(--transition)}.contact-link:hover{border-color:var(--color-text-tertiary);color:var(--color-text)}.contact-link__label{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-tertiary);min-width:60px}.contact-link__value{font-size:1rem;font-weight:500;color:var(--color-text)}.skills-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl)}.skill-tag{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-code-bg);padding:var(--space-xs) var(--space-sm);border-radius:6px;border:1px solid var(--color-card-border)}.footer{border-top:1px solid var(--color-border);padding:var(--space-xl) 0}.footer__inner{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--color-text-tertiary)}@media(max-width:768px){.footer__inner{flex-direction:column;gap:var(--space-sm)}}
