@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_63da58;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_63da58;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_63da58;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_63da58;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_63da58;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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_63da58;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_63da58{font-family:__Inter_63da58,__Inter_Fallback_63da58;font-style:normal}.__variable_63da58{--font-sans:"__Inter_63da58","__Inter_Fallback_63da58"}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__JetBrains_Mono_da2297;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_da2297;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__JetBrains_Mono_da2297;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_da2297;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_da2297{font-family:__JetBrains_Mono_da2297,__JetBrains_Mono_Fallback_da2297;font-style:normal}.__variable_da2297{--font-mono:"__JetBrains_Mono_da2297","__JetBrains_Mono_Fallback_da2297"}:root{--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--color-bg:#fafafa;--color-surface:#fff;--color-text:#111;--color-text-secondary:#555;--color-text-muted:#888;--color-accent:#f60;--color-border:#e5e5e5;--max-width:600px;--spacing-unit:8px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6}::selection{background:var(--color-accent);color:#fff}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;line-height:1.3;letter-spacing:-.03em}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.25rem}h3{font-size:1rem}p{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.7}a{color:var(--color-text);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}a:hover{border-bottom-color:var(--color-text)}code{font-family:var(--font-mono);font-size:.875em;background:var(--color-surface);padding:.15em .4em;border-radius:3px;border:1px solid var(--color-border)}.container{max-width:var(--max-width);margin:0 auto;padding:0 calc(var(--spacing-unit) * 3)}.nav{padding:calc(var(--spacing-unit) * 4) 0;border-bottom:1px solid var(--color-border);margin-bottom:calc(var(--spacing-unit) * 4)}.nav-list{list-style:none;display:flex;justify-content:flex-start;gap:calc(var(--spacing-unit) * 3);flex-wrap:wrap}.nav-link{font-family:var(--font-mono);font-size:.8125rem;font-weight:400;color:var(--color-text-muted);border-bottom:none;transition:color .15s ease}.nav-link:hover{color:var(--color-text);border-bottom:none}.nav-link.active{color:var(--color-accent)}.main{padding-bottom:calc(var(--spacing-unit) * 8)}.hero{margin-top:calc(var(--spacing-unit) * 2)}.hero-name{margin-bottom:calc(var(--spacing-unit) * .5);display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5)}.status-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-tagline{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-muted);letter-spacing:.01em}.hero-bio,.hero-tagline{margin-bottom:calc(var(--spacing-unit) * 4)}.hero-bio{max-width:100%}.portrait-wrapper{margin:calc(var(--spacing-unit) * 5) 0;display:flex;justify-content:flex-start}.portrait{width:100%;max-width:320px;height:auto;filter:grayscale(100%) contrast(1.1);border-radius:4px}.portrait-placeholder{width:320px;height:320px;background:var(--color-surface);border:1px dashed var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;text-align:center;padding:calc(var(--spacing-unit) * 2);border-radius:4px}.highlights{margin-top:calc(var(--spacing-unit) * 5)}.highlights-label{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:calc(var(--spacing-unit) * 2)}.highlights-list{list-style:none;padding-left:0}.highlights-list li{position:relative;padding-left:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 1.25);font-size:.875rem;color:var(--color-text-secondary);line-height:1.6}.highlights-list li:before{content:"→";position:absolute;left:0;color:var(--color-accent);font-family:var(--font-mono);font-size:.75rem}.links-section{margin-top:calc(var(--spacing-unit) * 6);padding-top:calc(var(--spacing-unit) * 4);border-top:1px solid var(--color-border)}.links-label{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:calc(var(--spacing-unit) * 2)}.links-list{display:flex;gap:calc(var(--spacing-unit) * 2.5);flex-wrap:wrap}.links-list a{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-secondary)}.links-list a:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.lang-switcher{position:fixed;top:calc(var(--spacing-unit) * 2);right:calc(var(--spacing-unit) * 3);display:flex;gap:calc(var(--spacing-unit));font-size:.75rem;z-index:100;background:var(--color-bg);padding:calc(var(--spacing-unit) * .5);border-radius:4px}.lang-btn{background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit));transition:color .15s ease;border-radius:3px}.lang-btn:hover{color:var(--color-text);background:var(--color-surface)}.lang-btn.active{color:var(--color-accent);background:var(--color-surface)}.page-header{margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3)}.page-title{font-size:1.5rem}.page-content{color:var(--color-text-secondary)}.page-content p{margin-bottom:calc(var(--spacing-unit) * 2)}.coming-soon{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-muted);margin-top:calc(var(--spacing-unit) * 3);padding:calc(var(--spacing-unit) * 2);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:4px;display:inline-block}.projects-list{margin-top:calc(var(--spacing-unit) * 4);display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.project-card{display:block;padding:calc(var(--spacing-unit) * 3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;transition:border-color .15s ease,box-shadow .15s ease}.project-card:hover{border-color:var(--color-accent);box-shadow:0 2px 8px rgba(0,0,0,.04)}.project-header{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 1)}.project-name{font-size:1rem;font-weight:600;color:var(--color-text)}.project-year{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.project-status{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:3px}.project-status--live{color:#22c55e;background:rgba(34,197,94,.1)}.project-status--coming-soon,.project-status--early-access{color:var(--color-accent);background:rgba(255,102,0,.1)}.project-status--closed{color:var(--color-text-secondary);background:hsla(0,0%,50%,.12)}.project-description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:calc(var(--spacing-unit) * 1.5)}.project-link{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}.project-card:hover .project-link{color:var(--color-accent)}.portfolio-chart{position:relative;display:flex;justify-content:center;margin:calc(var(--spacing-unit) * 4) 0 calc(var(--spacing-unit) * 3)}.donut{width:100%;max-width:400px;height:auto;overflow:visible}.donut-label-group{transition:opacity .18s ease}.donut-label-group.is-dimmed{opacity:.25}.donut-leader{fill:none;stroke:#d8d5d1;stroke-width:1;vector-effect:non-scaling-stroke}.donut-label{font-family:var(--font-mono);font-size:13px;fill:var(--color-text-secondary);cursor:pointer;transition:fill .15s ease}.donut-label.is-active{fill:var(--color-accent)}.donut-label--tail{fill:var(--color-text-muted);cursor:default}.donut-segment{cursor:pointer;transition:stroke-width .18s ease,opacity .18s ease}.donut-segment.is-dimmed{opacity:.22}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;pointer-events:none}.donut-center-value{font-size:1.25rem;font-weight:600;letter-spacing:-.03em;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.donut-center-label,.portfolio-meta{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.portfolio-meta{margin-bottom:calc(var(--spacing-unit) * 5)}.holdings{list-style:none;border-top:1px solid var(--color-border)}.holding{display:grid;grid-template-columns:9px 56px 124px minmax(32px,1fr) 56px;align-items:center;grid-gap:calc(var(--spacing-unit) * 1.5);gap:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 1.5) 0;border-bottom:1px solid var(--color-border);cursor:pointer;transition:color .15s ease,opacity .18s ease}.holding.is-dimmed{opacity:.4}.holding:focus-visible{outline:1px solid var(--color-accent);outline-offset:2px}.holding-swatch{width:9px;height:9px;border-radius:2px}.holding-ticker{font-family:var(--font-mono);font-size:.8125rem;font-weight:500;color:var(--color-text);transition:color .15s ease}.holding.is-active .holding-ticker{color:var(--color-accent)}.holding-name{font-size:.8125rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holding-bar{height:3px;background:var(--color-border);border-radius:2px;overflow:hidden}.holding-bar-fill{display:block;height:100%;border-radius:2px}.holding-weight{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-secondary);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.holding.is-active .holding-weight{color:var(--color-text)}.portfolio-footnote{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);margin-top:calc(var(--spacing-unit) * 3)}.footer{padding:calc(var(--spacing-unit) * 4) 0;border-top:1px solid var(--color-border);margin-top:calc(var(--spacing-unit) * 6)}.footer-text{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}@media (max-width:640px){html{font-size:15px}h1{font-size:1.5rem}.nav-list{gap:calc(var(--spacing-unit) * 2)}.lang-switcher{top:calc(var(--spacing-unit) * 1.5);right:calc(var(--spacing-unit) * 2)}.portrait{max-width:280px}.holding{grid-template-columns:9px 50px minmax(24px,1fr) 52px;gap:var(--spacing-unit)}.holding-bar{display:none}.portfolio-chart{margin-left:calc(var(--spacing-unit) * -3);margin-right:calc(var(--spacing-unit) * -3)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .4s ease-out forwards}.animate-delay-1{animation-delay:.05s;opacity:0}.animate-delay-2{animation-delay:.1s;opacity:0}.animate-delay-3{animation-delay:.15s;opacity:0}.animate-delay-4{animation-delay:.2s;opacity:0}.animate-delay-5{animation-delay:.25s;opacity:0}