@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/46a9e2f250689b4a-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/76b70a1dbe058eb5-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/2fb76073e23fd9e4-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/6131cbbf5549afa2-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/45462fd7b7c12654-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/ba63f6a0e436df8e-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-20C4,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/07c7676b89ed2778-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%}.-T-KAq_className{font-family:Inter,Inter Fallback;font-style:normal}.-T-KAq_variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/6481e8356700f25f-s.22-vwy_zcz7be.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/3a41be36334ec777-s.3_q_pmj-3v7pv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/6aca2b2dd1e73eb2-s.0kupvvif_223v.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/f0ca9ca26c218c3f-s.11jlrhjosin9v.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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/53184f85607312d4-s.3z1vcboutudqk.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/7c42b85337e0c4bb-s.p.012bmydply3go.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:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}._9jTnnG_className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}._9jTnnG_variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
:root{--font-sans:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:var(--font-source-serif), "Source Serif 4", "New York", Georgia, "Times New Roman", Times, serif;--font-mono:"SF Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-body:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-caption:.75rem;--text-footnote:.813rem;--text-subhead:.938rem;--text-callout:1.063rem;--text-headline:1.063rem;--text-title-3:1.25rem;--text-title-2:1.375rem;--text-title-1:1.75rem;--text-large-title:2.125rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.025em;--tracking-wider:.05em;--space-4:.25rem;--space-8:.5rem;--space-12:.75rem;--space-16:1rem;--space-20:1.25rem;--space-24:1.5rem;--space-32:2rem;--space-40:2.5rem;--space-48:3rem;--space-56:3.5rem;--space-64:4rem;--space-80:5rem;--space-96:6rem;--space-128:8rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000029;--transition-fast:.15s cubic-bezier(.25, .1, .25, 1);--transition-base:.25s cubic-bezier(.25, .1, .25, 1);--transition-slow:.35s cubic-bezier(.25, .1, .25, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--transition-bounce:.6s cubic-bezier(.68, -.55, .265, 1.55);--transition-smooth:.4s cubic-bezier(.4, 0, 0, 1);--container-max:1200px;--container-narrow:800px;--nav-height:64px;--min-touch-target:44px;--focus-ring-width:3px;--focus-ring-offset:2px;--focus-ring-color:var(--accent);--glass-blur:20px;--glass-saturation:180%;--glass-opacity-light:.72;--glass-opacity-dark:.65}:root,[data-theme=light]{--color-red:#ff3b30;--color-orange:#ff9500;--color-yellow:#fc0;--color-green:#1e7332;--color-mint:#00c7be;--color-teal:#30b0c7;--color-cyan:#32ade6;--color-blue:#06c;--color-indigo:#5856d6;--color-purple:#8944ab;--color-pink:#ff2d55;--color-brown:#a2845e;--gray-1:#8e8e93;--gray-2:#aeaeb2;--gray-3:#c7c7cc;--gray-4:#d1d1d6;--gray-5:#e5e5ea;--gray-6:#f2f2f7;--bg-primary:#fff;--bg-secondary:#f2f2f7;--bg-tertiary:#fff;--bg-elevated:#fff;--text-primary:#000;--text-secondary:#3c3c43;--text-tertiary:#3c3c43bf;--text-quaternary:#3c3c434d;--separator:#3c3c431f;--separator-opaque:#c6c6c8;--fill:#78788033;--fill-secondary:#78788029;--fill-tertiary:#7676801f;--accent:var(--color-blue);--accent-hover:#05a;--card-shadow:0 2px 8px #0000000a, 0 8px 24px #0000000f;--nav-shadow:0 1px 0 var(--separator)}[data-theme=dark]{--color-red:#ff453a;--color-orange:#ff9f0a;--color-yellow:#ffd60a;--color-green:#30d158;--color-mint:#66d4cf;--color-teal:#40c8e0;--color-cyan:#64d2ff;--color-blue:#0a84ff;--color-indigo:#5e5ce6;--color-purple:#bf5af2;--color-pink:#ff375f;--color-brown:#ac8e68;--gray-1:#8e8e93;--gray-2:#636366;--gray-3:#48484a;--gray-4:#3a3a3c;--gray-5:#2c2c2e;--gray-6:#1c1c1e;--bg-primary:#000;--bg-secondary:#1c1c1e;--bg-tertiary:#2c2c2e;--bg-elevated:#1c1c1e;--text-primary:#fff;--text-secondary:#ebebf599;--text-tertiary:#ebebf587;--text-quaternary:#ebebf52e;--separator:#545458a6;--separator-opaque:#38383a;--fill:#7878805c;--fill-secondary:#78788052;--fill-tertiary:#7676803d;--accent:var(--color-blue);--accent-hover:#409cff;--card-shadow:0 2px 8px #0003, 0 8px 24px #0000004d;--nav-shadow:0 1px 0 var(--separator)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;transition:background-color var(--transition-base), color var(--transition-base)}img{max-width:100%;height:auto;display:block}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}::selection{background-color:var(--accent);color:#fff}.skip-nav{top:var(--space-12);background:var(--accent);color:#fff;padding:var(--space-12) var(--space-24);border-radius:var(--radius-lg);font-weight:600;font-size:var(--text-subhead);z-index:9999;transition:transform var(--transition-fast);will-change:transform;position:absolute;left:50%;transform:translate(-50%)translateY(-200%)}.skip-nav:focus{outline:none;transform:translate(-50%)translateY(0)}:focus{outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}a:focus-visible,button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.animate-fade-in-up,.animate-scale-in{opacity:1;animation:none}}.container{width:100%;max-width:var(--container-max);padding:0 var(--space-24);margin:0 auto}.container-narrow{max-width:var(--container-narrow)}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.serif{font-family:var(--font-serif)}.flex{display:flex}.justify-center{justify-content:center}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.gap-24{gap:var(--space-24)}.mb-8{margin-bottom:var(--space-8)}.mb-16{margin-bottom:var(--space-16)}.mb-24{margin-bottom:var(--space-24)}.mb-32{margin-bottom:var(--space-32)}.mt-16{margin-top:var(--space-16)}.mt-24{margin-top:var(--space-24)}.mt-32{margin-top:var(--space-32)}.hidden{display:none!important}.large-title{font-size:var(--text-large-title);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.title-1{font-size:var(--text-title-1);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.title-2{font-size:var(--text-title-2);font-weight:600;line-height:var(--leading-snug)}.title-3{font-size:var(--text-title-3);font-weight:600;line-height:var(--leading-snug)}.headline{font-size:var(--text-headline);font-weight:600;line-height:var(--leading-snug)}.body{font-size:var(--text-body);line-height:var(--leading-normal)}.callout{font-size:var(--text-callout);line-height:var(--leading-normal)}.subhead{font-size:var(--text-subhead);line-height:var(--leading-normal)}.footnote{font-size:var(--text-footnote);line-height:var(--leading-normal)}.caption{font-size:var(--text-caption);line-height:var(--leading-normal)}.accent-red{color:var(--color-red)}.accent-orange{color:var(--color-orange)}.accent-yellow{color:var(--color-yellow)}.accent-green{color:var(--color-green)}.accent-mint{color:var(--color-mint)}.accent-teal{color:var(--color-teal)}.accent-cyan{color:var(--color-cyan)}.accent-blue{color:var(--color-blue)}.accent-indigo{color:var(--color-indigo)}.accent-purple{color:var(--color-purple)}.accent-pink{color:var(--color-pink)}.accent-brown{color:var(--color-brown)}.nav{height:var(--nav-height);z-index:1000;position:fixed;top:0;left:0;right:0}.nav:before{content:"";z-index:-1;-webkit-backdrop-filter:saturate(180%)blur(20px);transition:background-color .3s,border-color .3s;position:absolute;inset:0}[data-theme=light] .nav:before{background:#fbfbfdcc;border-bottom:1px solid #0000001a}[data-theme=dark] .nav:before{background:#161617cc;border-bottom:1px solid #ffffff1a}.nav-content{max-width:var(--container-max);height:100%;padding:0 var(--space-24);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{letter-spacing:-.01em;font-size:21px;font-weight:600}[data-theme=light] .nav-logo{color:#1d1d1f}[data-theme=dark] .nav-logo{color:#f5f5f7}.nav-logo:hover{opacity:.8}.nav-links{align-items:center;gap:var(--space-24);display:flex}.nav-link{letter-spacing:-.01em;padding:var(--space-4) 0;min-height:var(--min-touch-target);align-items:center;font-size:12px;font-weight:400;display:flex}[data-theme=light] .nav-link{color:#1d1d1f}[data-theme=dark] .nav-link{color:#f5f5f7}.nav-link:hover{opacity:.64}.nav-link.active{font-weight:500}.theme-toggle{width:36px;height:36px;margin-left:var(--space-8);border-radius:50%;justify-content:center;align-items:center;display:flex}[data-theme=light] .theme-toggle{color:#1d1d1f}[data-theme=dark] .theme-toggle{color:#f5f5f7}.theme-toggle:hover{opacity:.64}.theme-toggle svg{width:17px;height:17px}.menu-toggle{cursor:pointer;z-index:1001;justify-content:center;align-items:center;width:44px;display:none;position:relative}.menu-toggle span{will-change:transform;background-color:currentColor;border-radius:1px;width:18px;height:2px;transition:transform .22s cubic-bezier(.4,0,.2,1);position:absolute;left:50%}.menu-toggle span:first-child{transform:translate(-50%,-5px)}.menu-toggle span:last-child{transform:translate(-50%,5px)}.menu-toggle.active span:first-child{transform:translate(-50%)rotate(45deg)}.menu-toggle.active span:last-child{transform:translate(-50%)rotate(-45deg)}[data-theme=light] .menu-toggle{color:#1d1d1f}[data-theme=dark] .menu-toggle{color:#f5f5f7}.menu-toggle:hover{opacity:.64}@media (max-width:768px){.nav-links{top:var(--nav-height);opacity:0;visibility:hidden;pointer-events:none;z-index:999;height:calc(100vh - var(--nav-height));will-change:transform, opacity;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:24px;padding:40px 48px;transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),visibility 0s linear .28s,pointer-events 0s linear .28s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(-12px)}[data-theme=light] .nav-links{background:#fbfbfd}[data-theme=dark] .nav-links{background:#161617}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),visibility linear,pointer-events linear;transform:translateY(0)}.nav-link{opacity:0;will-change:transform, opacity;justify-content:flex-start;width:100%;min-height:auto;padding:0;font-size:28px;font-weight:600;transition:opacity .22s,transform .22s;transform:translateY(-10px);border-bottom:none!important}.nav-links.open .nav-link{opacity:1;transform:translateY(0)}.nav-links.open .nav-link:first-child{transition-delay:80ms}.nav-links.open .nav-link:nth-child(2){transition-delay:.12s}.nav-links.open .nav-link:nth-child(3){transition-delay:.16s}.nav-links.open .nav-link:nth-child(4){transition-delay:.2s}.nav-link.active{color:var(--color-blue);font-weight:600}.theme-toggle{opacity:0;will-change:transform, opacity;border-radius:0;justify-content:flex-start;width:auto;height:auto;margin:0;font-size:28px;font-weight:600;transition:opacity .3s .3s,transform .3s .3s;transform:translateY(-10px)}.nav-links.open .theme-toggle{opacity:1;transform:translateY(0)}.theme-toggle svg{width:28px;height:28px;margin-right:12px}.menu-toggle{z-index:1001;display:flex}}.hero{min-height:100dvh;padding:var(--nav-height) var(--space-24) var(--space-48);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex}.hero-avatar{border-radius:var(--radius-full);width:120px;height:120px;margin:0 auto var(--space-32);box-shadow:var(--card-shadow);border:3px solid var(--bg-elevated);aspect-ratio:1;contain-intrinsic-size:120px 120px;overflow:hidden}.hero-avatar img{object-fit:cover;aspect-ratio:1;width:100%;height:100%}.hero-title{font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-24);white-space:nowrap}@media (max-width:520px){.hero-title{font-size:clamp(1.25rem,6vw,2rem)}}.hero-title .highlight{background:linear-gradient(135deg,#ff4a00,#ff6b2c,#ff8915);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{font-size:var(--text-title-3);color:var(--text-secondary);max-width:640px;margin:0 auto var(--space-32);line-height:var(--leading-relaxed);text-wrap:balance}.hero-link{color:var(--accent);text-underline-offset:2px;transition:color var(--transition-fast);text-decoration:underline}.hero-link:hover{color:var(--text-primary)}.hero-stats{justify-content:center;gap:var(--space-48);margin-top:var(--space-48);padding-top:var(--space-48);border-top:1px solid var(--separator);display:flex}.stat-item{text-align:center}.stat-value{font-size:var(--text-title-1);margin-bottom:var(--space-4);font-weight:700}.stat-label{font-size:var(--text-footnote);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.btn{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-24);font-size:var(--text-callout);border-radius:var(--radius-full);transition:all var(--transition-fast);min-height:var(--min-touch-target);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--text-primary);color:var(--bg-primary)}.btn-primary:hover{opacity:.85;color:var(--bg-primary)}.btn-primary:active{opacity:.9;transform:scale(.98)}.btn-secondary{background:var(--fill-tertiary);color:var(--text-primary)}.btn-secondary:hover{background:var(--fill-secondary);color:var(--text-primary)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover);color:#fff}.btn-accent:active{transform:scale(.98)}.btn-lg{padding:var(--space-16) var(--space-32);font-size:var(--text-body)}.section{padding:var(--space-80) 0}.section-header{text-align:center;margin-bottom:var(--space-64)}.section-eyebrow{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--accent);margin-bottom:var(--space-12);font-weight:600;display:inline-block}.section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-16)}.section-subtitle{font-size:var(--text-body);color:var(--text-secondary);max-width:600px;line-height:var(--leading-relaxed);margin:0 auto}.about-text{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-secondary);text-align:justify}.about-text p{margin-bottom:var(--space-16)}.about-text p:last-child{margin-bottom:0}.about-text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.about-text a:hover{color:var(--text-primary)}.about-content{flex-direction:column;max-width:720px;margin:0 auto;display:flex}.about-content .section-eyebrow{margin-bottom:var(--space-12);display:inline-block}.about-languages{gap:var(--space-24);margin-top:var(--space-32);padding-top:var(--space-24);border-top:1px solid var(--separator);display:flex}.about-language{align-items:center;gap:var(--space-8);font-size:var(--text-subhead);color:var(--text-secondary);font-weight:500;display:flex}.about-language .language-flag{border-radius:var(--radius-sm);flex-shrink:0;width:20px;height:20px}.section-alt{background:var(--bg-secondary)}.expertise-grid{gap:var(--space-24);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:1024px){.expertise-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.expertise-grid{grid-template-columns:1fr}}.expertise-card{padding:var(--space-32);background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--separator);transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.expertise-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.expertise-icon{background:var(--fill-tertiary);border-radius:var(--radius-lg);width:48px;height:48px;margin-bottom:var(--space-20);color:var(--accent);justify-content:center;align-items:center;display:flex}.expertise-title{font-size:var(--text-headline);margin-bottom:var(--space-8);color:var(--text-primary);font-weight:600}.expertise-description{font-size:var(--text-subhead);color:var(--text-secondary);line-height:var(--leading-relaxed)}.work-grid{gap:var(--space-24);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:1024px){.work-grid{grid-template-columns:1fr}}.work-card{padding:var(--space-32);background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--separator);color:inherit;transition:transform var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-fast);flex-direction:column;text-decoration:none;display:flex;position:relative}.work-card:hover{background:var(--bg-tertiary,var(--bg-secondary));transform:translateY(-4px);box-shadow:0 12px 40px #00000014}[data-theme=dark] .work-card:hover{box-shadow:0 12px 40px #00000040}.work-card-header{margin-bottom:var(--space-20);justify-content:space-between;align-items:center;display:flex}.work-card-icon{border-radius:var(--radius-lg);background:var(--fill-tertiary);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.work-card-icon img{object-fit:cover;width:100%;height:100%}.work-card-letter{font-size:var(--text-title-3);color:#fff;font-weight:700}.work-card-meta{align-items:center;gap:var(--space-8);display:flex}.work-card-status{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);padding:3px 8px;font-size:10px;font-weight:600;line-height:1}.status-development{color:var(--color-indigo);background:#5856d61f}.status-opensource{color:var(--color-green);background:#1e73321f}.status-acquired{color:var(--color-blue);background:#0066cc1f}.status-terminated{color:var(--gray-1);background:#8e8e931f}.status-online{color:var(--color-teal);background:#30b0c71f}[data-theme=dark] .status-development{background:#5e5ce633}[data-theme=dark] .status-opensource{background:#30d15826}[data-theme=dark] .status-acquired{background:#0a84ff26}[data-theme=dark] .status-online{background:#40c8e026}.work-card-date{font-size:var(--text-xs);color:var(--text-tertiary)}.work-card-title{font-size:var(--text-title-3);color:var(--text-primary);margin-bottom:var(--space-8);transition:color var(--transition-fast);font-weight:600}.work-card:hover .work-card-title{color:var(--accent)}.work-card-description{font-size:var(--text-subhead);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-20);flex:1}.work-card-tags{gap:var(--space-4);flex-wrap:wrap;display:flex}.work-card-tag{color:var(--text-tertiary);background:var(--fill-tertiary);border-radius:var(--radius-full);padding:2px 8px;font-size:10px}.work-card-arrow{top:var(--space-24);right:var(--space-24);color:var(--text-quaternary);transition:all var(--transition-fast);position:absolute}.work-card:hover .work-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.blog-home-grid{gap:var(--space-24);grid-template-columns:1fr 1fr;display:grid}@media (max-width:768px){.blog-home-grid{grid-template-columns:1fr}}.blog-home-featured{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-40);color:inherit;transition:transform var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-fast);border:1px solid var(--separator);flex-direction:column;justify-content:space-between;text-decoration:none;display:flex;position:relative}.blog-home-featured:hover{background:var(--bg-tertiary,var(--bg-secondary));transform:translateY(-4px);box-shadow:0 12px 40px #00000014}[data-theme=dark] .blog-home-featured:hover{box-shadow:0 12px 40px #00000040}.blog-home-featured .blog-card-title{font-size:var(--text-2xl)}.blog-home-featured .blog-card-description{-webkit-line-clamp:4;font-size:var(--text-body)}.blog-home-featured:hover .blog-card-title{color:var(--accent)}.blog-home-featured .blog-card-arrow{top:var(--space-32);right:var(--space-32);position:absolute}.blog-home-featured:hover .blog-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.blog-home-recent{gap:var(--space-24);flex-direction:column;display:flex}.blog-home-card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-32);color:inherit;transition:transform var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-fast);border:1px solid var(--separator);flex-direction:column;flex:1;justify-content:space-between;text-decoration:none;display:flex;position:relative}.blog-home-card:hover{background:var(--bg-tertiary,var(--bg-secondary));transform:translateY(-4px);box-shadow:0 12px 40px #00000014}[data-theme=dark] .blog-home-card:hover{box-shadow:0 12px 40px #00000040}.blog-home-card:hover .blog-card-title{color:var(--accent)}.blog-home-card .blog-card-arrow{top:var(--space-24);right:var(--space-24);position:absolute}.blog-home-card:hover .blog-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.bg-secondary{background:var(--bg-secondary)}.page-header{padding:calc(var(--nav-height) + var(--space-48)) 0 var(--space-24);text-align:center}.page-header+.section{padding-top:0}.page-title{letter-spacing:var(--tracking-tight);margin-bottom:var(--space-16);font-size:clamp(2rem,5vw,3rem);font-weight:700}.page-subtitle{font-size:var(--text-title-3);color:var(--text-secondary);max-width:600px;margin:0 auto}.two-col{gap:var(--space-48);grid-template-columns:1fr 340px;align-items:start;display:grid}@media (max-width:1024px){.two-col{grid-template-columns:1fr}}.widget{padding:var(--space-24);background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--separator);transition:border-color var(--transition-fast);position:relative}.widget:after{content:"";border-radius:inherit;opacity:0;transition:opacity var(--transition-fast);pointer-events:none;will-change:opacity;position:absolute;inset:0;box-shadow:0 2px 8px #00000014}[data-theme=dark] .widget:after{box-shadow:0 2px 8px #0003}.widget:hover:after{opacity:1}.widget-spotify{background:var(--spotify-bg);border:1px solid var(--spotify-border);transition:all var(--transition-base);border-radius:var(--radius-lg);max-width:340px;margin-top:var(--space-32);padding:0;text-decoration:none;display:block;overflow:hidden}:root{--spotify-bg:linear-gradient(145deg, #f8f8f8 0%, #fff 100%);--spotify-border:#00000014;--spotify-text:#00000080}[data-theme=dark]{--spotify-bg:linear-gradient(145deg, #181818 0%, #121212 100%);--spotify-border:#ffffff1a;--spotify-text:#ffffff80}.widget-spotify:after{box-shadow:0 4px 20px #1db95400}.widget-spotify:hover{border-color:#1ed76066;transform:translateY(-2px)}.widget-spotify:hover:after{opacity:1;box-shadow:0 8px 32px #1ed7601f}.spotify-header{margin-bottom:var(--space-8);padding:var(--space-16) var(--space-16) 0;justify-content:space-between;align-items:center;display:flex}.spotify-branding{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.spotify-branding-left{align-items:center;gap:8px;display:flex}.spotify-icon{flex-shrink:0;display:block;width:16px!important;height:16px!important}.spotify-label{color:var(--spotify-text);letter-spacing:.02em;font-size:10px;font-weight:500}.spotify-subtitle{font-size:var(--text-xs);color:var(--spotify-text);margin:var(--space-12) var(--space-16) var(--space-16)}.spotify-equalizer{align-items:flex-end;gap:2px;height:12px;display:flex}.spotify-equalizer span{background:#1ed760;border-radius:1px;width:2.5px}.spotify-equalizer span:first-child{height:12px;animation:.8s ease-in-out infinite alternate eq-1}.spotify-equalizer span:nth-child(2){height:12px;animation:.6s ease-in-out infinite alternate eq-2}.spotify-equalizer span:nth-child(3){height:12px;animation:.9s ease-in-out infinite alternate eq-3}.spotify-equalizer span:nth-child(4){height:12px;animation:.7s ease-in-out infinite alternate eq-4}@keyframes eq-1{0%{transform:scaleY(.3)}25%{transform:scaleY(.8)}50%{transform:scaleY(.5)}75%{transform:scaleY(1)}to{transform:scaleY(.4)}}@keyframes eq-2{0%{transform:scaleY(.7)}30%{transform:scaleY(.3)}60%{transform:scaleY(1)}to{transform:scaleY(.5)}}@keyframes eq-3{0%{transform:scaleY(.5)}20%{transform:scaleY(1)}45%{transform:scaleY(.35)}70%{transform:scaleY(.8)}to{transform:scaleY(.6)}}@keyframes eq-4{0%{transform:scaleY(.8)}35%{transform:scaleY(.4)}65%{transform:scaleY(.9)}to{transform:scaleY(.3)}}.spotify-track{align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-16) var(--space-16);display:flex}.spotify-album-art{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:56px;height:56px}.spotify-track-info{flex-direction:column;gap:2px;min-width:0;display:flex}.spotify-track-name{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.spotify-track-artist{font-size:var(--text-xs);color:var(--spotify-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spotify-idle{opacity:.85}.spotify-idle .spotify-icon{opacity:.6}@media (max-width:768px){.widget-spotify{max-width:100%;margin-left:auto;margin-right:auto}}.widget-header{font-size:var(--text-headline);margin-bottom:var(--space-8);font-weight:600}.languages-list{gap:var(--space-16);flex-direction:column;list-style:none;display:flex}.language-item{gap:var(--space-8);flex-direction:column;display:flex}.language-info{align-items:center;gap:var(--space-8);display:flex}.language-flag{border-radius:var(--radius-sm);width:20px;height:20px;overflow:hidden}.language-name{font-size:var(--text-subhead);font-weight:500}.language-level{background:var(--fill-tertiary);border-radius:var(--radius-full);height:4px;overflow:hidden}.language-level:after{content:"";width:var(--level);background:var(--accent);border-radius:var(--radius-full);height:100%;display:block}.tag{padding:var(--space-4) var(--space-12);font-size:var(--text-caption);color:var(--text-secondary);background:var(--fill-tertiary);border-radius:var(--radius-full);font-weight:500;display:inline-block}.contact-grid{gap:var(--space-16);margin-bottom:var(--space-48);grid-template-columns:repeat(3,1fr);display:grid}.contact-card{align-items:center;gap:var(--space-16);padding:var(--space-20) var(--space-24);background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--separator);transition:border-color var(--transition-fast), transform var(--transition-normal), box-shadow var(--transition-normal);text-decoration:none;display:flex;position:relative}.contact-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}[data-theme=dark] .contact-card:hover{box-shadow:0 8px 24px #0003}.contact-card-icon{background:var(--fill-tertiary);border-radius:var(--radius-lg);width:48px;min-width:48px;height:48px;color:var(--text-primary);transition:background var(--transition-fast);justify-content:center;align-items:center;display:flex}.contact-card:hover .contact-card-icon{background:var(--fill-secondary)}.contact-card-icon.accent-blue{color:var(--color-blue)}.contact-card-icon.accent-red{color:var(--color-red)}.contact-card-icon.accent-cyan{color:var(--color-cyan)}.contact-card-icon.accent-purple{color:var(--color-purple)}.contact-card-body{flex:1;min-width:0}.contact-card-title{font-size:var(--text-subhead);color:var(--text-primary);margin-bottom:2px;font-weight:600}.contact-card-text{font-size:var(--text-footnote);color:var(--text-secondary)}.contact-card-arrow{color:var(--text-quaternary);transition:all var(--transition-fast);flex-shrink:0}.contact-card:hover .contact-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.contact-preferred{text-align:center;padding:var(--space-48) var(--space-32);background:var(--bg-secondary);border-radius:var(--radius-2xl);border:1px solid var(--separator);margin-bottom:var(--space-48)}.contact-preferred-icon{background:var(--fill-tertiary);border-radius:var(--radius-xl);width:72px;height:72px;color:var(--accent);margin-bottom:var(--space-24);justify-content:center;align-items:center;display:inline-flex}.contact-preferred-title{font-size:var(--text-2xl);margin-bottom:var(--space-12);font-weight:700}.contact-preferred-text{font-size:var(--text-body);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:480px;margin:0 auto var(--space-24)}.contact-social-heading{font-size:var(--text-headline);color:var(--text-secondary);margin-bottom:var(--space-16);font-weight:600}@media (max-width:768px){.contact-grid{grid-template-columns:1fr}}.info-box{padding:var(--space-24);background:var(--bg-secondary);border-radius:var(--radius-xl)}.info-box-icon{color:var(--accent);margin-bottom:var(--space-12)}.info-box h3{font-size:var(--text-headline);margin-bottom:var(--space-8);font-weight:600}.info-box p{font-size:var(--text-subhead);color:var(--text-secondary);line-height:var(--leading-relaxed)}.error-section{min-height:100vh;padding:var(--nav-height) var(--space-24);justify-content:center;align-items:center;display:flex}.error-content{text-align:center}.error-code{background:linear-gradient(135deg, var(--color-blue), var(--color-purple), var(--color-pink));-webkit-text-fill-color:transparent;margin-bottom:var(--space-24);-webkit-background-clip:text;background-clip:text;font-size:clamp(6rem,20vw,12rem);font-weight:700;line-height:1}.error-title{font-size:var(--text-title-1);margin-bottom:var(--space-16);font-weight:600}.error-description{font-size:var(--text-body);color:var(--text-secondary);max-width:480px;margin:0 auto var(--space-32);line-height:var(--leading-relaxed)}.footer{padding:var(--space-48) 0;border-top:1px solid var(--separator);text-align:center}.footer-social{justify-content:center;gap:var(--space-16);margin-bottom:var(--space-24);display:flex}.footer-social a{width:var(--min-touch-target);height:var(--min-touch-target);border-radius:var(--radius-full);color:var(--text-secondary);transition:all var(--transition-fast);min-width:var(--min-touch-target);min-height:var(--min-touch-target);will-change:opacity;justify-content:center;align-items:center;display:flex}.footer-social a:hover{opacity:.7}.footer-social svg{will-change:opacity;width:20px;height:20px;transform:translateZ(0)}.footer-links{justify-content:center;gap:var(--space-24);margin-bottom:var(--space-16);display:flex}.footer-link{font-size:var(--text-footnote);color:var(--text-secondary)}.footer-link:hover{color:var(--text-primary)}.footer-text{font-size:var(--text-caption);color:var(--text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in-up{will-change:transform, opacity;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards fadeInUp}.animate-scale-in{will-change:transform, opacity;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}.animate-slide-in-right{will-change:transform, opacity;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards slideInRight}.stagger-1{opacity:0;animation-delay:80ms}.stagger-2{opacity:0;animation-delay:.16s}.stagger-3{opacity:0;animation-delay:.24s}.stagger-4{opacity:0;animation-delay:.32s}.stagger-5{opacity:0;animation-delay:.4s}.reveal{opacity:0;will-change:transform, opacity;contain:layout style;transition:opacity .4s,transform .4s;transform:translateY(8px)}.reveal.visible{opacity:1;will-change:auto;transform:translateY(0)}@media (max-width:768px){.hero{padding:calc(var(--nav-height) + var(--space-48)) var(--space-24) var(--space-48)}.hero-avatar{width:100px;height:100px}.hero-stats{gap:var(--space-32);flex-wrap:wrap}.section{padding:var(--space-48) 0}.projects-grid,.contact-grid{grid-template-columns:1fr}}@media (max-width:480px){.container{padding:0 var(--space-16)}.btn{width:100%}.flex.gap-16{flex-direction:column}}.hero-avatar,.contact-card,.widget{backface-visibility:hidden;transform:translateZ(0)}.contact-card,.widget{contain:layout style}img{content-visibility:auto}.nav:before{will-change:background-color}@media (prefers-contrast:high){:root,[data-theme=light]{--separator:#0000004d;--text-secondary:#282828;--text-tertiary:#3c3c3c}[data-theme=dark]{--separator:#fff6;--text-secondary:#ffffffd9;--text-tertiary:#ffffffb3}.btn-primary,.btn-accent{border:2px solid}.contact-card,.widget{border-width:2px}}@media (forced-colors:active){.btn,.skip-nav{border:2px solid}a:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid}}@media print{*,:before,:after{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}body{font-size:12pt;line-height:1.5}.nav,.footer-social,.theme-toggle,.menu-toggle,.skip-nav,.btn{display:none!important}a{text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;font-weight:400}.hero{min-height:auto;padding:2rem 0}.section{page-break-inside:avoid;padding:1.5rem 0}img{max-width:100%!important}.hero-avatar{width:80px;height:80px}}@supports (padding:env(safe-area-inset-top)){.nav{padding-top:env(safe-area-inset-top);height:calc(var(--nav-height) + env(safe-area-inset-top))}.footer{padding-bottom:calc(var(--space-48) + env(safe-area-inset-bottom))}.container{padding-left:max(var(--space-24), env(safe-area-inset-left));padding-right:max(var(--space-24), env(safe-area-inset-right))}}.btn,.nav-link,.theme-toggle,.menu-toggle,.contact-card-arrow{-webkit-user-select:none;user-select:none}.btn,.nav-link,.contact-card{touch-action:manipulation}html{scroll-padding-top:calc(var(--nav-height) + var(--space-24))}.section:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 500px}.widget{contain:layout style paint}.footer{content-visibility:auto;contain-intrinsic-size:auto 200px}.article-content{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-secondary);text-align:justify}.article-content h2{font-family:"Source Serif 4",Georgia,serif;font-size:var(--text-2xl);color:var(--color-text-primary);margin-top:var(--space-48);margin-bottom:var(--space-16);font-weight:600}.article-content h3{font-family:"Source Serif 4",Georgia,serif;font-size:var(--text-xl);color:var(--color-text-primary);margin-top:var(--space-32);margin-bottom:var(--space-12);font-weight:600}.article-content p{margin-bottom:var(--space-24)}.article-content a{color:var(--color-accent);text-underline-offset:2px;transition:color var(--transition-fast);text-decoration:underline}.article-content a:hover{color:var(--color-accent-hover)}.article-content ul,.article-content ol{margin-bottom:var(--space-24);padding-left:var(--space-32)}.article-content li{margin-bottom:var(--space-8)}.article-content blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-24);margin:var(--space-32) 0;color:var(--color-text-secondary);font-style:italic}.article-content code{background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:2px 6px;font-size:.9em}.article-content pre{background:var(--color-bg-secondary);padding:var(--space-24);border-radius:var(--radius-md);margin-bottom:var(--space-24);overflow-x:auto}.article-content pre code{background:0 0;padding:0}.article-content code[data-theme]{background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:2px 6px}.article-content figure[data-rehype-pretty-code-figure]{margin:0 0 var(--space-24)}.article-content figure[data-rehype-pretty-code-figure] pre{border:1px solid var(--color-border)}.article-content figure[data-rehype-pretty-code-figure] figcaption[data-rehype-pretty-code-title]{font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-8) var(--space-24);border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-bg-secondary);border-bottom:none}.article-content figure[data-rehype-pretty-code-figure] figcaption+pre{border-top-left-radius:0;border-top-right-radius:0}.article-content pre [data-highlighted-line]{background:rgba(var(--color-accent-rgb,99, 102, 241), .08);margin:0 calc(-1 * var(--space-24));padding:0 var(--space-24);width:calc(100% + var(--space-24) * 2);display:inline-block}.article-content pre [data-highlighted-chars]{background:rgba(var(--color-accent-rgb,99, 102, 241), .15);border-radius:var(--radius-sm);padding:2px 4px}[data-theme=light] code[data-theme] span[data-theme=dark],[data-theme=dark] code[data-theme] span[data-theme=light]{display:none}[data-theme=light] code[data-theme] span[data-theme=light],[data-theme=dark] code[data-theme] span[data-theme=dark]{display:inline}.article-content pre code[data-line-numbers]{counter-reset:line}.article-content pre code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);width:1rem;margin-right:var(--space-16);text-align:right;color:var(--color-text-tertiary);font-size:.85em;display:inline-block}.article-content strong{color:var(--color-text-primary);font-weight:600}.article-content img{border-radius:var(--radius-md);max-width:100%;margin:var(--space-32) 0}.article-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-48) 0}.blog-header-meta{margin-top:var(--space-16);gap:var(--space-12);justify-content:center;align-items:center;display:flex}.blog-header-count{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.blog-header-divider{color:var(--text-quaternary);font-size:var(--text-sm)}.blog-header-link{color:var(--text-tertiary);font-size:var(--text-sm);transition:color var(--transition-fast);align-items:center;gap:4px;text-decoration:none;display:flex}.blog-header-link:hover{color:var(--text-primary)}.category-tabs{border-bottom:1px solid var(--separator);margin-bottom:var(--space-32);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;justify-content:center;gap:0;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tab{align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);min-height:var(--min-touch-target);border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500;text-decoration:none;display:inline-flex}.category-tab:hover{color:var(--text-primary);border-bottom-color:var(--separator)}.category-tab-active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}.category-tab-active:hover{color:var(--text-primary);border-bottom-color:var(--accent)}.category-tab-count{color:var(--text-tertiary);font-size:.7rem;font-weight:400;line-height:1;position:relative;top:-1px}@media (max-width:480px){.category-tab-count{display:none}}.category-intro{font-size:var(--text-body);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:60ch;margin:0 auto var(--space-32);text-align:center}.tag-filter{align-items:center;gap:var(--space-8);margin-bottom:var(--space-24);flex-flow:wrap;display:flex}.tag-filter-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-tertiary);margin-right:var(--space-4);font-weight:500}.tag-pill{font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--separator);border-radius:var(--radius-full);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:0 0;align-items:center;padding:3px 10px;font-weight:400;text-decoration:none;display:inline-flex}.tag-pill:hover{color:var(--text-primary);background:var(--fill-tertiary);border-color:#0000}.tag-pill-active{color:var(--accent);background:var(--fill-tertiary);border-color:#0000;font-weight:500}.tag-pill-active:hover{color:var(--accent);background:var(--fill-secondary)}.blog-card-eyebrow{align-items:center;gap:var(--space-8);margin-bottom:var(--space-12);flex-flow:wrap;display:flex}.blog-card-eyebrow .blog-card-category{margin-bottom:0}.blog-card-featured-badge{text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--accent);background:var(--fill-tertiary);border-radius:var(--radius-full);transition:background var(--transition-fast);align-items:center;gap:4px;padding:2px 8px;font-size:.65rem;font-weight:600;line-height:1.4;display:inline-flex}.blog-empty{text-align:center;padding:var(--space-80) var(--space-24);flex-direction:column;align-items:center;display:flex}.blog-empty-mark{border-radius:var(--radius-full);background:var(--fill-tertiary);width:56px;height:56px;color:var(--text-quaternary);margin-bottom:var(--space-20);justify-content:center;align-items:center;display:flex}.blog-empty-title{margin-bottom:var(--space-12)}.blog-empty-link{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}.blog-empty-link:hover{color:var(--accent-hover)}.blog-grid{gap:var(--space-24);grid-template-columns:repeat(2,1fr);display:grid}.blog-grid>.blog-card:last-child:nth-child(odd){grid-column:1/-1}@media (max-width:768px){.blog-grid{grid-template-columns:1fr}.blog-grid>.blog-card:last-child:nth-child(odd){grid-column:auto}}.blog-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-32);color:inherit;transition:transform var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-fast);border:1px solid var(--separator);flex-direction:column;justify-content:space-between;text-decoration:none;display:flex;position:relative}.blog-card:hover{background:var(--bg-tertiary,var(--bg-secondary));transform:translateY(-4px);box-shadow:0 12px 40px #00000014}[data-theme=dark] .blog-card:hover{box-shadow:0 12px 40px #00000040}.blog-card-featured{margin-bottom:var(--space-8);grid-column:1/-1}.blog-card-featured .blog-card-title{font-size:var(--text-3xl)}.blog-card-featured .blog-card-description{font-size:var(--text-base);-webkit-line-clamp:3}.blog-card-content{flex:1}.blog-card-category{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--accent);margin-bottom:var(--space-12);font-weight:600;display:inline-block}.blog-card-title{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-8);font-weight:600;line-height:var(--leading-tight);transition:color var(--transition-fast)}.blog-card:hover .blog-card-title{color:var(--accent)}.blog-card-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-16);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-card-meta{align-items:center;gap:var(--space-8);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.blog-card-meta-dot{color:var(--text-quaternary)}.blog-card-tags{gap:var(--space-4);margin-top:var(--space-12);margin-bottom:var(--space-16);flex-wrap:wrap;display:flex}.blog-card-tag{color:var(--text-tertiary);background:var(--fill-tertiary);border-radius:var(--radius-full);padding:2px 8px;font-size:10px}.blog-card-arrow{top:var(--space-24);right:var(--space-24);color:var(--text-quaternary);transition:all var(--transition-fast);position:absolute}.blog-card:hover .blog-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.blog-pagination{margin-top:var(--space-48);padding-top:var(--space-32);border-top:1px solid var(--separator);justify-content:space-between;align-items:center;display:flex}.pagination-link{font-size:var(--text-sm);color:var(--accent);transition:color var(--transition-fast);font-weight:500;text-decoration:none}.pagination-link:hover{color:var(--accent-hover)}.pagination-disabled{color:var(--text-quaternary);pointer-events:none}.pagination-info{font-size:var(--text-sm);color:var(--text-tertiary)}.blog-card-skeleton{padding:var(--space-24);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--separator)}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-secondary) 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-category{width:80px;height:12px;margin-bottom:var(--space-12)}.skeleton-title{width:80%;height:20px;margin-bottom:var(--space-8)}.skeleton-description{width:100%;height:14px;margin-bottom:var(--space-16)}.skeleton-meta{width:120px;height:12px}.toc{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-24);margin-bottom:var(--space-48)}.toc-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-tertiary);margin-bottom:var(--space-16);font-weight:600}.toc-list{gap:var(--space-8);flex-direction:column;padding:0;list-style:none;display:flex}.toc-item-nested{padding-left:var(--space-16)}.toc-link{font-size:var(--text-sm);color:var(--text-secondary);transition:color var(--transition-fast);text-decoration:none}.toc-link:hover{color:var(--accent)}article.section{padding-top:calc(var(--nav-height) + var(--space-48))}.article-header{margin-bottom:var(--space-48)}.article-breadcrumb ol{gap:var(--space-8);font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-24);padding:0;list-style:none;display:flex}.article-breadcrumb a{color:var(--text-secondary);text-decoration:none}.article-breadcrumb a:hover{color:var(--accent)}.article-breadcrumb [aria-current=page]{color:var(--text-primary)}.article-header .title-1{margin-bottom:var(--space-16)}.article-description{font-size:var(--text-lg);margin-bottom:var(--space-32)}.article-meta{align-items:center;gap:var(--space-16);font-size:var(--text-sm);color:var(--text-tertiary);display:flex}.article-md-link{color:var(--text-secondary);font-size:var(--text-xs);border:1px solid var(--separator);border-radius:var(--radius-sm);padding:2px 8px;text-decoration:none}.article-md-link:hover{color:var(--accent);border-color:var(--accent)}.article-tags{gap:var(--space-8);margin-top:var(--space-16);flex-wrap:wrap;display:flex}.article-tag{font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-full);transition:color var(--transition-fast), background var(--transition-fast);padding:4px 12px;text-decoration:none}.article-tag:hover{color:var(--accent);background:var(--bg-tertiary)}.article-footer{margin-top:var(--space-32);padding-top:var(--space-32);border-top:1px solid var(--separator)}.blog-category-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--accent);margin-bottom:var(--space-16);font-weight:600;display:inline-block}.post-nav{gap:var(--space-24);margin-top:var(--space-48);padding-top:var(--space-32);border-top:1px solid var(--separator);grid-template-columns:1fr 1fr;display:grid}.post-nav-link{gap:var(--space-4);padding:var(--space-16);border-radius:var(--radius-lg);transition:background var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.post-nav-link:hover{background:var(--fill-tertiary)}.post-nav-next{text-align:right}.post-nav-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500}.post-nav-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:600;font-family:var(--font-serif)}@media (max-width:640px){.post-nav{grid-template-columns:1fr}}.related-posts{margin-top:var(--space-48);padding-top:var(--space-32);border-top:1px solid var(--separator)}.related-posts-title{font-size:var(--text-title-3);margin-bottom:var(--space-24);font-weight:600}.related-posts-grid{gap:var(--space-20);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.related-post-card{padding:var(--space-20);background:var(--bg-secondary);border-radius:var(--radius-lg);transition:background var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.related-post-card:hover{background:var(--fill-tertiary)}.related-post-title{font-size:var(--text-subhead);color:var(--text-primary);font-weight:600;font-family:var(--font-serif);margin-bottom:var(--space-8);line-height:var(--leading-snug)}.related-post-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-12);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.related-post-date{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:auto}.back-link{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-24);transition:color var(--duration-fast);text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-accent)}.reading-progress-bar{background:var(--color-accent);z-index:1001;pointer-events:none;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.toc-link-active{font-weight:500;color:var(--color-accent)!important}.code-copy-btn{top:var(--space-8);right:var(--space-8);font-size:var(--text-xs);font-family:var(--font-sans);color:var(--color-text-secondary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity var(--duration-fast), color var(--duration-fast);padding:4px 10px;position:absolute}pre:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{color:var(--color-accent)}.share-btn{color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.share-btn:hover,.share-btn-copied{color:var(--color-accent)}.blog-search{margin:0 auto var(--space-32);width:100%;max-width:600px;position:relative}.blog-search-input-wrap{align-items:center;display:flex;position:relative}.blog-search-icon{color:var(--text-tertiary);pointer-events:none;transition:color var(--duration-fast);position:absolute;left:16px}.blog-search-input-wrap:focus-within .blog-search-icon{color:var(--accent)}.blog-search-input{width:100%;font-size:var(--text-body);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);border:1.5px solid var(--separator);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);border-radius:14px;outline:none;padding:14px 68px 14px 44px}.blog-search-input:focus{border-color:var(--accent);background:var(--bg-primary);box-shadow:0 0 0 4px #0066cc14}.blog-search-input::placeholder{color:var(--text-tertiary)}.blog-search-shortcut{font-size:12px;font-family:var(--font-sans);color:var(--text-tertiary);background:var(--bg-secondary);border:1px solid var(--separator);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:3px;padding:3px 8px;font-weight:500;line-height:1.4;display:inline-flex;position:absolute;right:12px}.blog-search-input:focus~.blog-search-shortcut{display:none}@media (max-width:768px){.blog-search-shortcut{display:none}.category-tabs{justify-content:flex-start}}.search-dropdown{background:var(--bg-primary);border:1.5px solid var(--separator);z-index:50;border-radius:14px;max-height:440px;animation:.15s ease-out searchDropdownIn;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 48px #0000001a,0 2px 8px #0000000f}@keyframes searchDropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.search-loading,.search-empty{text-align:center;font-size:var(--text-sm);color:var(--text-tertiary);padding:24px 20px}.search-results{margin:0;padding:6px;list-style:none}.search-result-item{justify-content:space-between;align-items:flex-start;gap:var(--space-16);color:var(--text-primary);transition:background var(--duration-fast);border-radius:10px;padding:12px 14px;text-decoration:none;display:flex}.search-result-item:hover,.search-result-active{background:var(--bg-secondary)}.search-result-body{flex-direction:column;gap:3px;min-width:0;display:flex}.search-result-title{font-size:var(--text-sm);font-weight:600;line-height:1.4}.search-result-description{font-size:var(--text-xs);color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.search-result-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;padding-top:1px;display:flex}.search-result-category{color:var(--accent);white-space:nowrap;letter-spacing:.02em;text-transform:uppercase;font-size:11px;font-weight:600}.search-result-date{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.series-nav{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-24);margin-bottom:var(--space-32)}.series-nav-header{align-items:baseline;gap:var(--space-8);margin-bottom:var(--space-16);flex-wrap:wrap;display:flex}.series-nav-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);font-weight:600}.series-nav-title{font-size:var(--text-base);color:var(--color-text-primary);font-weight:600}.series-nav-count{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-left:auto}.series-nav-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.series-nav-item{align-items:center;gap:var(--space-12);font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background var(--duration-fast), color var(--duration-fast);padding:8px 12px;text-decoration:none;display:flex}a.series-nav-item:hover{background:var(--color-bg-primary);color:var(--color-text-primary)}.series-nav-item-active{color:var(--color-accent);background:var(--color-bg-primary);font-weight:500}.series-nav-number{width:22px;height:22px;font-size:var(--text-xs);background:var(--color-border);color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.series-nav-item-active .series-nav-number{background:var(--color-accent);color:#fff}[data-theme=light],[data-theme=dark]{--color-accent:var(--accent);--color-accent-hover:var(--accent-hover);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-tertiary);--color-bg-primary:var(--bg-primary);--color-bg-secondary:var(--bg-secondary);--color-border:var(--separator);--text-base:var(--text-body)}.content-provenance{margin-top:var(--space-24);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:.02em;text-align:center;text-decoration:none;transition:color .15s;display:block}.content-provenance:hover{color:var(--text-secondary)}.video-embed{margin:2rem 0}.video-embed iframe{aspect-ratio:16/9;border:0;border-radius:12px;width:100%;display:block}
