@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wdth-normal.B3DCApw5.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-cyrillic-wdth-normal.CwO2bDOr.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-greek-wdth-normal.Cpo2W_k7.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-vietnamese-wdth-normal.BhOg1xFT.woff2)format("woff2-variations");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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-latin-ext-wdth-normal.Cd4fXGu8.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-latin-wdth-normal.Dew2wRiQ.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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}:root{--bg:#fff;--sf:#f5f5f4;--sf2:#ededec;--hl:#e3e3e1;--bd:#cbcbc8;--fg:#0b0b0c;--fg2:#4a4a4f;--fg3:#6b6b70;--ok:#0b0b0c;--acc:#2b44ff;--acc-solid:#2b44ff;--on-acc:#fff;--acc-wash:#eef0ff;--c1:#e3e3e1;--c2:#bdbdba;--c3:#86868b;--c4:#45454a;--c5:#0b0b0c;--logo-ink:var(--fg2);--scrim:#00000047;--on-photo:#fff;--font-sans:"IBM Plex Sans Variable", "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:clamp(.625rem, .6rem + .11vw, .75rem);--space-s:clamp(.75rem, .65rem + .45vw, 1rem);--space-m:clamp(1rem, .9rem + .45vw, 1.5rem);--space-l:clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);--space-xl:clamp(2.25rem, 1.8rem + 2vw, 3.5rem);--space-2xl:clamp(3rem, 2.4rem + 3vw, 5rem);--space-section:clamp(4rem, 3rem + 4.5vw, 7rem);--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:clamp(1.5rem, 1.3rem + .9vw, 1.875rem);--text-2xl:clamp(2.125rem, 1.6rem + 2.4vw, 3.25rem);--text-hero:clamp(2.5rem, 1.7rem + 3.6vw, 4.25rem);--leading-tight:1.05;--leading-snug:1.3;--leading-body:1.55;--measure:64ch;--r-s:3px;--r-m:4px;--r-l:4px;--r-pill:3px;--dur-1:.15s;--dur-2:.25s;--ease:cubic-bezier(.2, .7, .2, 1);--header-h:56px;--wrap:1240px;--gutter:24px;--tap:44px;--z-header:20;--z-pop:40;--z-skip:50;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0a0b;--sf:#131314;--sf2:#1b1b1d;--hl:#232325;--bd:#34343a;--fg:#f2f2f1;--fg2:#a8a8ad;--fg3:#8a8a90;--ok:#f2f2f1;--acc:#7c8cff;--acc-wash:#161a3a;--c1:#232325;--c2:#3a3a40;--c3:#6a6a72;--c4:#a8a8ad;--c5:#f2f2f1;--scrim:#0000008c;color-scheme:dark}}:root[data-theme=dark]{--bg:#0a0a0b;--sf:#131314;--sf2:#1b1b1d;--hl:#232325;--bd:#34343a;--fg:#f2f2f1;--fg2:#a8a8ad;--fg3:#8a8a90;--ok:#f2f2f1;--acc:#7c8cff;--acc-wash:#161a3a;--c1:#232325;--c2:#3a3a40;--c3:#6a6a72;--c4:#a8a8ad;--c5:#f2f2f1;--scrim:#0000008c;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-s))}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:var(--leading-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;overflow-x:clip}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::selection{background:color-mix(in srgb, var(--acc) 22%, transparent)}:lang(de) :is(p,li,dd){-webkit-hyphens:auto;hyphens:auto}:lang(de) :is(h1,h2,h3,.h-hero,.h1,.h2){-webkit-hyphens:manual;hyphens:manual;text-wrap:balance}[hidden]{display:none!important}sup{font-family:var(--font-mono);color:var(--fg3);vertical-align:top;margin-left:2px;font-size:10px;font-weight:400;position:relative;top:-2px}sup a:hover{color:var(--fg)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.01em;color:var(--fg3)}.eyebrow-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--fg3);text-transform:none}.h-hero{font-size:var(--text-hero);letter-spacing:-.032em;text-wrap:balance;font-weight:600;line-height:1.05}.h1{font-size:var(--text-2xl);letter-spacing:-.03em;text-wrap:balance;font-weight:600;line-height:1.06}.h2{font-size:var(--text-xl);letter-spacing:-.022em;text-wrap:balance;font-weight:600;line-height:1.15}.h3{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:1.25}.lead{font-size:var(--text-md);color:var(--fg2);text-wrap:pretty;max-width:56ch;line-height:1.6}.p{font-size:var(--text-base);color:var(--fg2);max-width:var(--measure);text-wrap:pretty;line-height:1.6}.small{font-size:var(--text-sm);color:var(--fg2);line-height:1.5}.lead a,.p a,.prose a{text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--bd)}.lead a:hover,.p a:hover,.prose a:hover{text-decoration-color:var(--fg)}.wrap{max-width:var(--wrap);padding-left:max(var(--gutter), env(safe-area-inset-left,0px));padding-right:max(var(--gutter), env(safe-area-inset-right,0px));margin-inline:auto}.section{padding-block-start:var(--space-section)}.section.first{padding-block-start:var(--space-2xl)}.section--tint{background:var(--sf);padding-block:var(--space-section);margin-block-start:var(--space-section)}.section--tint+.section{padding-block-start:var(--space-section)}.section-head{justify-content:space-between;align-items:end;gap:var(--space-s) var(--space-l);flex-wrap:wrap;margin-block-end:var(--space-l);display:flex}.section-head>div{gap:var(--space-2xs);flex-direction:column;min-width:0;display:flex}.section-head .h2{max-width:30ch}.section-head p{font-size:var(--text-base);color:var(--fg2);max-width:52ch}.vstack>*+*{margin-block-start:var(--stack-gap,var(--space-s))}.vstack[data-gap="2xs"]{--stack-gap:var(--space-2xs)}.vstack[data-gap=xs]{--stack-gap:var(--space-xs)}.vstack[data-gap=m]{--stack-gap:var(--space-m)}.vstack[data-gap=l]{--stack-gap:var(--space-l)}.vstack[data-gap=xl]{--stack-gap:var(--space-xl)}.cluster{gap:var(--cluster-gap,var(--space-2xs));flex-wrap:wrap;align-items:center;display:flex}.skip-link{background:var(--bg);border:1px solid var(--bd);z-index:30;border-radius:8px;padding:8px 12px;position:absolute;top:-3rem;left:16px}.skip-link:focus{top:16px}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hl);position:sticky;top:0}.hdr{align-items:center;gap:var(--space-m);min-height:var(--header-h);flex-wrap:nowrap;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;min-height:var(--tap);flex:none;align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.brand .mark{background:var(--fg);width:24px;height:24px;color:var(--bg);letter-spacing:0;border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.hdr-nav{flex-wrap:nowrap;align-items:center;gap:2px;display:flex}.hdr-nav a{color:var(--fg2);border-radius:var(--r-s);white-space:nowrap;align-items:center;min-height:36px;padding:0 10px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.hdr-nav a:hover{color:var(--fg);background:var(--sf2)}.hdr-nav a[aria-current=page]{color:var(--fg)}.hdr-nav a[aria-current=page]:after{content:"";background:var(--fg);border-radius:1px;height:2px;position:absolute;bottom:3px;left:10px;right:10px}.hdr-actions{flex:none;align-items:center;gap:6px;margin-inline-start:auto;display:flex}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--r-s);color:var(--fg2);border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--fg);background:var(--sf2)}.icon-btn svg{width:18px;height:18px}.lang-btn{min-width:var(--tap);height:var(--tap);border-radius:var(--r-s);font-family:var(--font-mono);color:var(--fg2);letter-spacing:.04em;justify-content:center;align-items:center;padding:0 8px;font-size:12.5px;font-weight:500;display:inline-flex}.lang-btn:hover{color:var(--fg);background:var(--sf2)}.theme-ic-sun{display:none}:root[data-theme=dark] .theme-ic-sun{display:block}:root[data-theme=dark] .theme-ic-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-ic-sun{display:block}:root:not([data-theme=light]) .theme-ic-moon{display:none}}.menu-btn{display:none}.menu-sheet{inset:var(--header-h) 0 auto 0;width:100%;max-width:none;max-height:calc(100dvh - var(--header-h));border:0;border-bottom:1px solid var(--hl);padding:var(--space-2xs) 0 var(--space-m);background:var(--bg);color:var(--fg);margin:0;position:fixed;overflow-y:auto;box-shadow:0 18px 40px -24px #00000059}.menu-sheet::backdrop{background:var(--scrim)}.menu-sheet .wrap{flex-direction:column;display:flex}.menu-sheet nav a{border-bottom:1px solid var(--hl);justify-content:space-between;align-items:center;min-height:52px;font-size:1.0625rem;font-weight:500;display:flex}.menu-sheet nav a[aria-current=page]{font-weight:600}.menu-sheet nav a[aria-current=page]:after{content:"";background:var(--fg);border-radius:50%;width:7px;height:7px}.menu-row{gap:var(--space-2xs);padding-top:var(--space-s);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.menu-row>*{white-space:nowrap;text-overflow:ellipsis;justify-content:center;min-width:0;overflow:hidden}.menu-row>:last-child:nth-child(odd){grid-column:1/-1}.site-footer{border-top:1px solid var(--hl);padding:var(--space-l) 0 var(--space-xl);margin-top:var(--space-section)}.ftr{gap:var(--space-m) var(--space-l);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.ftr-id{flex-direction:column;gap:6px;display:flex}.ftr-id .brand{min-height:0}.ftr-links{flex-wrap:wrap;justify-content:flex-end;gap:4px 20px;display:flex}.ftr-links a{font-size:var(--text-sm);color:var(--fg2);min-height:var(--tap);align-items:center;display:inline-flex}.ftr-links a:hover{color:var(--fg);text-underline-offset:3px;text-decoration:underline}.ftr-note{padding-top:var(--space-s);border-top:1px solid var(--hl);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:8px 24px;display:flex}.btn,.btn2{min-height:var(--tap);border-radius:var(--r-s);border:1px solid var(--fg);background:var(--fg);color:var(--bg);white-space:nowrap;align-items:center;gap:8px;padding:0 18px;font-size:14.5px;font-weight:500;display:inline-flex}.btn:hover{opacity:.9}.btn2{background:var(--bg);color:var(--fg);border-color:var(--bd)}.btn2:hover{background:var(--sf2)}.btn.sm,.btn2.sm{min-height:var(--tap);padding:0 14px;font-size:14px}.btn svg,.btn2 svg{flex:none;width:15px;height:15px}.pill{color:var(--fg2);border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-pill);align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:13px;font-weight:500;display:inline-flex}.dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 18%, transparent);border-radius:50%;flex:none}.chip{font-family:var(--font-mono);color:var(--fg2);border:1px solid var(--hl);background:var(--sf);border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:inline-flex}.chip .logo{--logo-ink:currentColor}.chips{flex-wrap:wrap;gap:6px;display:flex}.proof{font-family:var(--font-mono);color:var(--fg2);border:1px solid var(--hl);background:var(--bg);white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:3px 7px;font-size:11px;display:inline-flex}.proof:before{content:"";background:var(--ok);border-radius:50%;width:5px;height:5px}.proof.p2:before{background:var(--fg3)}.go{color:var(--fg);white-space:nowrap;min-height:var(--tap);align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:inline-flex}.go:hover{text-underline-offset:3px;text-decoration:underline}.go.quiet{color:var(--fg2)}.go svg{width:14px;height:14px}.badge{font:600 var(--text-2xs)/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-pill);border:1px solid var(--bd);color:var(--fg2);white-space:nowrap;align-items:center;gap:6px;padding:5px 8px;display:inline-flex}.badge--win{background:var(--fg);color:var(--bg);border-color:var(--fg)}.badge--prize{border-color:var(--bd);color:var(--fg)}.badge--quiet{color:var(--fg3);border-color:#0000;padding-inline:0}.illus-tag{z-index:2;font:600 10.5px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2);background:color-mix(in srgb, var(--bg) 88%, transparent);border:1px solid var(--bd);border-radius:5px;padding:4px 6px;position:absolute;top:10px;right:10px}.logo{height:var(--logo-h,24px);width:var(--logo-w,auto);color:var(--logo-ink);vertical-align:middle;flex:none;display:inline-block}.logo>svg,span.logo svg{width:100%;height:100%;display:block}.logo--raster{object-fit:contain;filter:brightness(0);opacity:.72}.logo--raster.logo--color{filter:none;opacity:1}:root[data-theme=dark] .logo--raster:not(.logo--color){filter:brightness(0)invert();opacity:.7}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo--raster:not(.logo--color){filter:brightness(0)invert();opacity:.7}}.logo-tile{width:var(--tile,40px);height:var(--tile,40px);background:var(--bg);border:1px solid var(--hl);color:var(--logo-ink);border-radius:10px;flex:none;place-items:center;display:inline-grid}.logo-tile .logo{height:var(--logo-h);width:var(--logo-w)}.logo-mono{min-width:var(--logo-h,24px);height:var(--logo-h,24px);border:1px solid var(--bd);font:600 calc(var(--logo-h,24px) * .38)/1 var(--font-mono);letter-spacing:.02em;color:var(--logo-ink);background:var(--bg);white-space:nowrap;border-radius:6px;flex:none;place-items:center;padding:0 6px;display:inline-grid}.logo-mono--tile{width:var(--logo-h);border-color:var(--hl);border-radius:10px;padding:0;font-size:11px}.logo-row{align-items:center;gap:var(--space-l) var(--space-xl);flex-wrap:wrap;display:flex}.logo-row a{min-height:var(--tap);--logo-ink:var(--fg2);transition:color var(--dur-1);align-items:center;display:inline-flex}.logo-row a:hover .logo,.logo-row a:focus-visible .logo{color:var(--fg)}.more{border-top:1px solid var(--hl)}.more.more--bare{border-top:0}.more>summary{min-height:var(--tap);border-radius:var(--r-s);cursor:pointer;font-size:var(--text-sm);color:var(--fg);user-select:none;align-items:center;gap:10px;margin-inline:-12px;padding:6px 12px;font-weight:500;list-style:none;display:flex}.more>summary::-webkit-details-marker{display:none}.more>summary::marker{content:""}.more>summary:hover{background:var(--sf2)}.more>summary:focus-visible{outline:2px solid var(--acc);outline-offset:0}.more-count{font:500 11px/1 var(--font-mono);color:var(--fg2);border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-pill);padding:3px 7px}.more-chev{border:1px solid var(--bd);width:28px;height:28px;color:var(--fg2);background:var(--bg);border-radius:50%;flex:none;margin-inline-start:auto;padding:6px}.more[open]>summary .more-chev{rotate:180deg}.more .when-open,.more[open] .when-closed{display:none}.more[open] .when-open{display:inline}.more-body{padding:var(--space-2xs) 0 var(--space-m)}.more-body>*+*{margin-top:var(--space-xs)}.more-body ul{flex-direction:column;gap:8px;display:flex}.more-body li{font-size:var(--text-sm);color:var(--fg2);text-indent:-1.1em;max-width:66ch;padding-left:1.1em;line-height:1.55}.more-body li:before{content:"–";text-indent:0;width:1.1em;color:var(--fg3);display:inline-block}.more-body p{font-size:var(--text-sm);color:var(--fg2);max-width:66ch;line-height:1.6}.expand-all{font-size:var(--text-sm);color:var(--fg2);min-height:var(--tap);border:1px solid var(--hl);border-radius:var(--r-pill);align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.expand-all:hover{color:var(--fg);background:var(--sf2)}.tl{margin:0;padding:0;list-style:none;position:relative}.tl-item{column-gap:var(--space-m);padding-block:var(--space-m);scroll-margin-top:calc(var(--header-h) + var(--space-s));grid-template-columns:56px 40px minmax(0,1fr);display:grid;position:relative}.tl-item:before{content:"";top:0;bottom:0;left:calc(56px + var(--space-m) + 19.5px);border-left:1px solid var(--hl);position:absolute}.tl-item:first-child:before{top:calc(var(--space-m) + 20px)}.tl-item:last-child:before{height:calc(var(--space-m) + 20px);bottom:auto}.tl-item:only-child:before{display:none}.tl-year{font:500 var(--text-xs)/1 var(--font-mono);color:var(--fg3);padding-top:14px}.tl-node{z-index:1;align-self:start;position:relative}.tl-node>.logo-tile,.tl-node>.logo-mono{width:40px;height:40px}.tl-item.is-current .tl-node:after{content:"";background:var(--ok);width:10px;height:10px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:-3px;right:-3px}.tl-body{flex-direction:column;gap:6px;min-width:0;display:flex}.tl-kind{font:500 10.5px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg3)}.tl-title{letter-spacing:-.012em;font-size:1.0625rem;font-weight:600;line-height:1.3}.tl-title a:hover{text-underline-offset:3px;text-decoration:underline}.tl-org{color:var(--fg2);font-weight:500}.tl-meta{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--fg3)}.tl-line{font-size:var(--text-base);color:var(--fg2);max-width:var(--measure);text-wrap:pretty;line-height:1.55}.tl-extra{gap:var(--space-xs);flex-direction:column;margin-top:6px;display:flex}.tl--compact .tl-item{padding-block:var(--space-s)}.tl--compact .tl-title a:after{content:"";border-radius:var(--r-s);position:absolute;inset:0}.tl--compact .tl-title a:focus-visible{outline:none}.tl--compact .tl-title a:focus-visible:after{outline:2px solid var(--acc);outline-offset:2px}.tl--compact .tl-extra{z-index:1;position:relative}.tl--compact .tl-item:first-child:before{top:calc(var(--space-s) + 20px)}.tl--compact .tl-item:last-child:before{height:calc(var(--space-s) + 20px)}.car{position:relative}.car-track{grid-auto-flow:column;grid-auto-columns:var(--car-slide,min(86%, 560px));gap:var(--space-m);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--r-m);margin:0;padding:0;list-style:none;display:grid;position:relative;overflow-x:auto}.car-track::-webkit-scrollbar{display:none}.car-track:focus-visible{outline:2px solid var(--acc);outline-offset:4px}.car-slide{scroll-snap-align:start;min-width:0}.car-slide figure{gap:var(--space-2xs);flex-direction:column;margin:0;display:flex}.car-slide img{width:100%;height:auto;aspect-ratio:var(--car-ratio,4 / 3);object-fit:cover;border-radius:var(--r-m);background:var(--sf2);display:block}.car-slide figcaption{font:400 var(--text-xs)/1.45 var(--font-mono);color:var(--fg3)}.car-bar{align-items:center;gap:var(--space-2xs);margin-top:var(--space-s);display:flex}.car-btn{width:var(--tap);height:var(--tap);border:1px solid var(--bd);color:var(--fg);background:var(--bg);border-radius:50%;flex:none;place-items:center;display:inline-grid}.car-btn:hover{background:var(--sf2)}.car-btn svg{width:16px;height:16px}.car-btn[data-state=play] .car-ic-pause,.car-btn[data-state=pause] .car-ic-play{display:none}.car-count{font:500 var(--text-xs)/1 var(--font-mono);color:var(--fg2);text-align:center;min-width:4.5ch}.car-progress{min-width:60px;flex:1;gap:6px;margin-inline-start:var(--space-2xs);display:flex}.car-progress button{height:var(--tap);flex:1;position:relative}.car-progress button:before{content:"";background:var(--hl);border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.car-progress button:hover:before{background:var(--fg3)}.hs{aspect-ratio:var(--hs-ratio,16 / 10);border-radius:var(--hs-radius,var(--r-m));background:var(--sf2);position:relative;overflow:hidden}.hs-track{position:absolute;inset:0}.hs-img{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.hs-img.is-on{opacity:1}.hs-bars{z-index:1;pointer-events:none;gap:4px;display:flex;position:absolute;top:10px;left:10px;right:10px}.hs-bars span{background:color-mix(in srgb, var(--on-photo) 45%, transparent);border-radius:1px;flex:1;height:2px;box-shadow:0 0 2px #00000059}.hs-bars span.is-on{background:var(--on-photo)}.hs-count{z-index:1;font:500 10.5px/1 var(--font-mono);color:#fff;background:#0000008c;border-radius:5px;padding:4px 6px;position:absolute;bottom:10px;right:10px}@media (hover:none){.hs-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;position:absolute;inset:0;overflow-x:auto}.hs-track::-webkit-scrollbar{display:none}.hs-img{opacity:1;scroll-snap-align:start;flex:0 0 100%;position:relative}.hs-bars{display:none}}@media (hover:hover){.hs-count{display:none}}.frame{position:relative}.frame-browser{border:1px solid var(--bd);border-radius:var(--r-m);background:var(--sf);overflow:hidden}.fb-bar{border-bottom:1px solid var(--hl);background:var(--sf2);align-items:center;gap:6px;height:28px;padding-inline:10px;display:flex}.fb-bar i{background:var(--bd);border-radius:50%;flex:none;width:8px;height:8px}.fb-bar span{font:400 11px/1 var(--font-mono);color:var(--fg3);white-space:nowrap;text-overflow:ellipsis;margin-inline-start:8px;overflow:hidden}.frame-browser .frame-shot{width:100%;height:auto;aspect-ratio:var(--frame-ratio,16 / 10);object-fit:cover;object-position:top;background:var(--bg);display:block}.frame-phone{width:var(--phone-w,168px);aspect-ratio:9/19.5;border:6px solid var(--fg);background:var(--bg);border-radius:26px;position:relative;overflow:hidden}.frame-phone .frame-shot{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.frame-body{aspect-ratio:var(--frame-ratio,16 / 10);background:var(--bg);overflow:hidden}.frame-browser+.illus-tag{top:38px}.frame figcaption{margin-top:var(--space-2xs);font:400 var(--text-xs)/1.45 var(--font-mono);color:var(--fg3)}.photo{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.photo img,.photo-img{object-fit:cover;border-radius:var(--r-m);background:var(--sf2);width:100%;height:100%;display:block}.photo figcaption{contain:inline-size;font-size:12px}.ratio-4-5{aspect-ratio:4/5}.ratio-16-9{aspect-ratio:16/9}.ratio-3-2{aspect-ratio:3/2}.ratio-4-3{aspect-ratio:4/3}.ratio-16-10{aspect-ratio:16/10}.ratio-1-1{aspect-ratio:1}.jump{border-bottom:1px solid var(--hl);flex-wrap:wrap;align-items:center;gap:6px;padding-block:14px;display:flex}.jump a{color:var(--fg2);border:1px solid var(--hl);background:var(--bg);border-radius:999px;align-items:center;min-height:36px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.jump a:hover{color:var(--fg);background:var(--sf2)}.jump .mono{white-space:nowrap;margin-right:6px}.disc{border-top:1px solid var(--hl)}.disc summary{cursor:pointer;color:var(--fg2);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 0;font-size:14px;font-weight:500;list-style:none;display:flex}.disc summary::-webkit-details-marker{display:none}.disc-body{padding:2px 0 14px}.gallery{scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(260px,32%);grid-auto-flow:column;gap:12px;padding:4px 0 12px;display:grid;overflow-x:auto}.gallery>*{scroll-snap-align:start}.gallery .photo img{aspect-ratio:4/3}.entry-photo{max-width:100%}.entry-photo img{aspect-ratio:16/10;border-radius:10px}.slot{background:var(--sf2);color:var(--fg3);text-align:center;border:1px dashed var(--bd);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;display:flex}.slot b{font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg2);font-size:12px;font-weight:500}.slot span{max-width:26ch;font-size:12.5px;line-height:1.4}.sec{padding-block-start:var(--space-section)}.sec.first{padding-top:0}.sechead{margin-bottom:var(--space-l);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;display:flex}.eyebrow{flex-direction:column;gap:8px;display:flex}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:64px;display:grid}.two.narrow{grid-template-columns:minmax(0,1fr) 320px}.two.narrow .row{grid-template-columns:112px minmax(0,1fr) 150px 20px;gap:16px}.two.about{grid-template-columns:minmax(0,1fr) 400px}.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.hero{grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:80px;display:grid}.hero-text{flex-direction:column;gap:24px;min-width:0;display:flex}.hero-text .h1{font-size:var(--text-hero)}.hero-figure{flex-direction:column;gap:10px;width:100%;margin:0;display:flex}.hero-figure .slot,.hero-figure img{aspect-ratio:4/5;object-fit:cover;border-radius:14px;width:100%}.hero-figure figcaption{justify-content:space-between;gap:12px;display:flex}.stats{border-top:1px solid var(--hl);margin-top:var(--space-xl);grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;display:grid}.stat{flex-direction:column;gap:8px;padding:24px 0;display:flex}.stat b{letter-spacing:-.03em;font-size:36px;font-weight:600;line-height:1}.stat span{color:var(--fg2);font-size:14px;line-height:1.45}.cards{gap:var(--space-m);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card{border:1px solid var(--hl);background:var(--sf);border-radius:14px;flex-direction:column;min-width:0;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.card:hover{border-color:var(--bd);transform:translateY(-2px)}.card.wide{grid-column:span 2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.card .fig{aspect-ratio:16/9;border-bottom:1px solid var(--hl)}.card .fig.photo-img,.card .fig img{object-fit:cover;border-radius:0;width:100%;height:100%}.card .body{flex-direction:column;gap:10px;padding:22px 24px 24px;display:flex}.card.wide .body{border-right:1px solid var(--hl);justify-content:center;gap:14px;padding:32px}.card .top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.card h3{letter-spacing:-.015em;font-size:19px;font-weight:600;line-height:1.25}.card.wide h3{font-size:24px}.card p{color:var(--fg2);text-wrap:pretty;font-size:15px;line-height:1.55}.card .meta{border-top:1px solid var(--hl);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding-top:14px;display:flex}.side{background:var(--sf2);flex-direction:column;justify-content:center;gap:14px;min-width:0;padding:28px;display:flex}.pipe{align-items:stretch;gap:6px;display:flex}.node{border:1px solid var(--hl);background:var(--bg);border-radius:8px;flex-direction:column;flex:1;gap:4px;min-width:0;padding:10px 12px;display:flex}.node b{font-size:12.5px;font-weight:600}.node span{font-family:var(--font-mono);color:var(--fg3);overflow-wrap:anywhere;font-size:10.5px}.arrow{color:var(--fg3);flex:none;align-self:center;font-size:13px}.call{background:var(--sf2);border-bottom:1px solid var(--hl);flex-direction:column;justify-content:center;gap:8px;min-height:230px;padding:22px 24px;display:flex}.bubble{border-radius:12px;max-width:82%;padding:9px 12px;font-size:13.5px;line-height:1.45}.bubble.c{background:var(--bg);color:var(--fg);border:1px solid var(--hl);align-self:flex-start}.bubble.a{background:var(--fg);color:var(--bg);align-self:flex-end}.tool{font-family:var(--font-mono);color:var(--fg3);border:1px dashed var(--bd);border-radius:6px;align-self:flex-end;padding:4px 8px;font-size:10.5px}.row{border-top:1px solid var(--hl);grid-template-columns:140px minmax(0,1fr) 180px 24px;align-items:center;gap:24px;padding:18px 0;display:grid}.row:hover{background:linear-gradient(90deg, transparent, var(--sf) 8%, var(--sf) 92%, transparent)}.rows>.row:last-child{border-bottom:1px solid var(--hl)}.row .t{min-width:0;font-size:16px;font-weight:500}.row .t small{-webkit-line-clamp:2;color:var(--fg2);-webkit-box-orient:vertical;max-width:70ch;margin-top:3px;font-size:14px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.row .r{color:var(--fg2);text-align:right;font-size:13.5px}.row .arr{color:var(--fg3)}.row.now{grid-template-columns:120px minmax(0,1fr)}.row.award{grid-template-columns:80px minmax(0,1fr) auto}.entries{flex-direction:column;display:flex}.entries>.entry:last-child{border-bottom:1px solid var(--hl)}.entry{border-top:1px solid var(--hl);grid-template-columns:160px minmax(0,1fr);gap:8px 32px;padding:26px 0;scroll-margin-top:80px;display:grid}.entry.has-photo{grid-template-columns:160px minmax(0,1fr) 240px}.entry.has-photo .entry-photo{grid-area:1/3}.entry--plain{grid-template-columns:minmax(0,1fr)}.entry-date{font-family:var(--font-mono);color:var(--fg3);letter-spacing:.01em;padding-top:4px;font-size:12.5px}.entry-body{flex-direction:column;gap:10px;min-width:0;display:flex}.entry-title{letter-spacing:-.015em;font-size:18px;font-weight:600;line-height:1.3}.entry-title a:hover{text-underline-offset:3px;text-decoration:underline}.entry-sub{color:var(--fg2);font-size:14px}.entry-body p{color:var(--fg2);text-wrap:pretty;max-width:66ch;font-size:15px;line-height:1.6}.entry-detail{flex-direction:column;gap:8px;max-width:66ch;display:flex}.entry-detail ul{flex-direction:column;gap:8px;display:flex}.entry-detail li{color:var(--fg2);text-indent:-1.1em;padding-left:1.1em;font-size:15px;line-height:1.6}.entry-detail li:before{content:"–";text-indent:0;width:1.1em;color:var(--fg3);display:inline-block}.entry-meta{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:4px;display:flex}.entry-meta .stack{flex:100%}.skill{border-top:1px solid var(--hl);grid-template-columns:200px minmax(0,1fr) 160px;align-items:start;gap:8px 24px;padding:18px 0;display:grid}.skill .more{border-top:0;grid-column:2/-1}.skills>.skill:last-child{border-bottom:1px solid var(--hl)}.skill b{font-size:15.5px;font-weight:600}.skill p{color:var(--fg2);max-width:62ch;font-size:14.5px;line-height:1.55}.skill .n{text-align:right;font-size:14px;font-weight:500}.skill .n small{font-family:var(--font-mono);color:var(--fg3);margin-top:3px;font-size:11.5px;font-weight:400;display:block}.panel{border:1px solid var(--hl);background:var(--sf);border-radius:14px;flex-direction:column;gap:16px;padding:22px;display:flex}.panel .ph{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;font-size:13.5px;display:grid}.bar i{background:var(--c1);border-radius:3px;grid-column:1/-1;height:6px;display:block;overflow:hidden}.bar i:after{content:"";height:100%;width:var(--w);background:var(--c5);border-radius:3px;display:block}.bar b{font-weight:500}.beyond{flex-direction:column;gap:12px;display:flex}.beyond .slot,.beyond img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%}.beyond b{font-size:15.5px;font-weight:600}.beyond span{color:var(--fg2);font-size:14px;line-height:1.5}.contact-box{border:1px solid var(--hl);background:var(--sf);border-radius:18px;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:48px;padding:48px;display:grid}.copy-email{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:inline-flex}.copy-email code{font-family:var(--font-mono);overflow-wrap:anywhere;user-select:all;font-size:13.5px}.copy-email button{font-family:var(--font-mono);color:var(--fg3);text-underline-offset:3px;min-height:32px;font-size:12px;text-decoration:underline}.copy-email button:hover{color:var(--fg)}.copy-email button[data-copied=true]{color:var(--ok);text-decoration:none}.src{color:var(--fg2);grid-template-columns:28px minmax(0,1fr);gap:8px 12px;max-width:80ch;font-size:13px;line-height:1.5;display:grid}.src .mono{padding-top:2px}.pagehead{padding-block:var(--space-2xl) var(--space-l);grid-template-columns:minmax(0,1fr) 320px;align-items:end;gap:48px;display:grid}.pagehead .copy{flex-direction:column;gap:20px;display:flex}.pagehead .facts{border-left:1px solid var(--hl);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-left:32px;display:grid}.pagehead .facts div{flex-direction:column;gap:4px;display:flex}.pagehead .facts span:first-child{letter-spacing:-.03em;font-size:28px;font-weight:600}.filter{flex-wrap:wrap;gap:6px;display:flex}.filter button{border:1px solid var(--hl);background:var(--bg);min-height:40px;color:var(--fg2);border-radius:999px;padding:0 14px;font-size:13.5px;font-weight:500}.filter button:hover{background:var(--sf2);color:var(--fg)}.filter button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.year{color:var(--fg3);letter-spacing:.06em;text-transform:uppercase;padding:40px 0 12px;font-size:13px;font-weight:600}.proj{border-top:1px solid var(--hl);grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:40px;padding:28px 0;scroll-margin-top:80px;display:grid}.proj:hover{background:linear-gradient(90deg, transparent, var(--sf) 6%, var(--sf) 94%, transparent)}.proj .info{flex-direction:column;gap:12px;min-width:0;display:flex}.proj h2{letter-spacing:-.015em;font-size:20px;font-weight:600;line-height:1.25}.proj p{color:var(--fg2);text-wrap:pretty;max-width:62ch;font-size:15px;line-height:1.55}.proj .fig{aspect-ratio:16/10;border-radius:10px}.proj[hidden]{display:none}.proj.no-fig{grid-template-columns:minmax(0,1fr)}.proj .fig.photo-img{aspect-ratio:16/10}.prose{flex-direction:column;gap:18px;max-width:62ch;display:flex}.prose p{color:var(--fg2);text-wrap:pretty;font-size:16px;line-height:1.65}.prose h2{margin-top:12px}.dl{gap:10px;max-width:62ch;display:grid}.dl div{grid-template-columns:160px 1fr;gap:16px;font-size:15px;display:grid}.dl dt{color:var(--fg3);font-family:var(--font-mono);padding-top:3px;font-size:12.5px}@media (prefers-reduced-motion:no-preference){.more-chev{transition:rotate var(--dur-2) var(--ease)}.more{interpolate-size:allow-keywords}.more::details-content{block-size:0;transition:block-size var(--dur-2) var(--ease), content-visibility var(--dur-2) allow-discrete;overflow:clip}.more[open]::details-content{block-size:auto}.hs-img{transition:opacity var(--dur-2) ease}.menu-sheet{transition:opacity var(--dur-1), translate var(--dur-1), display var(--dur-1) allow-discrete, overlay var(--dur-1) allow-discrete}.menu-sheet:not(:popover-open){opacity:0;translate:0 -6px}@starting-style{.menu-sheet:popover-open{opacity:0;translate:0 -6px}}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.card:hover{transform:none}}@media (width<=1099px){.hdr-nav,.hide-md{display:none!important}.menu-btn{display:inline-grid}}@media (width<=639px){.hide-sm{display:none!important}.hdr{gap:var(--space-s)}}@supports not selector(:popover-open){.menu-btn{display:none!important}.menu-sheet{display:none}@media (width<=1099px){.hdr-nav{overflow-x:auto;display:flex!important}}}@media (width>=1100px){.menu-sheet{display:none!important}}@media (width<=900px){:root{--gutter:20px}.hero{grid-template-columns:minmax(0,1fr);gap:32px}.hero-figure{max-width:320px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cards{grid-template-columns:minmax(0,1fr)}.card.wide{grid-column:span 1;grid-template-columns:minmax(0,1fr)}.card.wide .body{border-right:0;border-bottom:1px solid var(--hl)}.pipe{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pipe .arrow{display:none}.row,.skill,.row.now,.row.award{grid-template-columns:minmax(0,1fr);gap:6px}.row .r,.skill .n{text-align:left}.row .arr{display:none}.two,.two.narrow,.two.about,.three{grid-template-columns:minmax(0,1fr);gap:40px}.contact-box{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px}.pagehead{grid-template-columns:minmax(0,1fr)}.pagehead .facts{border-left:0;border-top:1px solid var(--hl);padding-top:20px;padding-left:0}.proj{grid-template-columns:minmax(0,1fr);gap:16px}.proj .fig{order:-1}.entry,.entry.has-photo{grid-template-columns:minmax(0,1fr);gap:6px;padding:20px 0}.entry.has-photo .entry-photo{order:-1;grid-area:auto/1;margin-bottom:8px}.gallery{grid-auto-columns:82%}.jump{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.jump a{white-space:nowrap}.ftr{grid-template-columns:minmax(0,1fr)}.ftr-links{justify-content:flex-start}}@media (width<=639px){.tl-item{column-gap:var(--space-s);grid-template-columns:40px minmax(0,1fr)}.tl-year{padding:0 0 var(--space-xs);grid-column:1/-1}.tl-item:before{left:19.5px}.tl-year:empty{display:none}.car-track{--car-slide:86%}.car-progress{display:none}}.xp-head{padding-top:var(--space-2xl);gap:var(--space-l);flex-direction:column;display:flex}.xp-head-copy{gap:var(--space-xs);flex-direction:column;display:flex}.xp-head-copy .h1{margin-top:var(--space-3xs)}.xp-jump ul{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.xp-jump a{min-height:var(--tap);border:1px solid var(--hl);border-radius:var(--r-pill);font-size:var(--text-sm);color:var(--fg2);background:var(--bg);align-items:center;gap:8px;padding:0 14px 0 10px;display:inline-flex}.xp-jump a:hover{background:var(--sf2);color:var(--fg)}.xp-jump a:hover .logo{--logo-ink:var(--fg)}.xp-jump a:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.xp-jump .logo-mono{border-radius:6px;width:24px;height:24px;font-size:8.5px}.xp-body{padding-top:var(--space-xl);padding-bottom:var(--space-section)}.xp-tools{justify-content:flex-end;align-items:center;gap:var(--space-xs);padding-bottom:var(--space-2xs);border-bottom:1px solid var(--hl);flex-wrap:wrap;display:flex}.xp-tools .expand-all{min-height:40px}#xp-list{max-width:1060px}.xp-tl>.tl-item{padding-block:var(--space-l)}.xp-tl>.tl-item+.tl-item{border-top:0}.xp-tl>.tl-item:first-child:before{top:calc(var(--space-l) + 20px)}.xp-tl>.tl-item:last-child:before{height:calc(var(--space-l) + 20px)}.xp-tl .tl-year{padding-top:14px}.xp-tl .tl-body{gap:0}.xp-tl .tl-title{font-size:var(--text-lg);margin-top:6px}.xp-tl .tl-org{display:inline}.xp-tl .tl-meta{margin-top:6px}.xp-tl .tl-line{margin-top:var(--space-xs);color:var(--fg)}.xp-tl .tl-extra{display:contents}.xp-tl .tl-extra>*{margin-top:var(--space-s)}.xp-tl .tl-extra>.more{margin-top:var(--space-s);max-width:var(--measure)}.xp-chips{padding:0;list-style:none}.xp-chips .chip{color:var(--fg)}.xp-milestone{border:1px solid var(--hl);border-radius:var(--r-m);background:var(--sf);font-size:var(--text-sm);color:var(--fg);max-width:var(--measure);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.xp-milestone-text{flex:100%;order:3;min-width:0}.xp-milestone-text sup{color:var(--fg2);padding-left:2px}.xp-milestone-date{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg3);order:2;margin-left:auto}.xp-media{max-width:520px}.xp-fig{margin:0}.xp-fig figcaption,.xp-media .frame figcaption{margin-top:var(--space-2xs);font:400 var(--text-xs)/1.45 var(--font-mono);color:var(--fg3)}.xp-shot{border-radius:var(--r-m);display:block}.xp-shot:hover .frame-browser{border-color:var(--fg3)}.xp-shot:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.xp-stack{gap:var(--space-2xs);padding-top:var(--space-2xs);flex-direction:column;display:flex}.xp-stack .chips,.more-body .xp-stack ul.chips{flex-flow:wrap;gap:6px;padding:0;list-style:none}.more-body .xp-stack li{text-indent:0;padding-left:8px;font-size:12px}.more-body .xp-stack li:before{content:none}@media (width>=900px){.xp-head{justify-content:space-between;align-items:end;gap:var(--space-xl);flex-direction:row}.xp-head-copy{flex:auto}.xp-jump{flex:0 460px}.xp-jump ul{justify-content:flex-end}.xp-tl>.xp-has-media .tl-body{column-gap:var(--space-xl);grid-template-rows:repeat(8,auto) 1fr;grid-template-columns:minmax(0,1fr) 300px;display:grid}.xp-tl>.xp-has-media .tl-body>*,.xp-tl>.xp-has-media .tl-extra>*{grid-column:1}.xp-tl>.xp-has-media .tl-extra>.xp-media{grid-area:1/2/-1;align-self:start;margin-top:4px}.xp-tl>.tl-item:not(.xp-has-media) .tl-body{max-width:calc(100% - 300px - var(--space-xl))}}@media (width>=1200px){.xp-tl>.xp-has-media .tl-body{grid-template-columns:minmax(0,1fr) 340px}.xp-tl>.tl-item:not(.xp-has-media) .tl-body{max-width:calc(100% - 340px - var(--space-xl))}}.xp-note{margin-top:var(--space-l);font:400 var(--text-xs)/1.5 var(--font-mono);color:var(--fg3)}.xp-cv{margin-top:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-s) var(--space-l);padding:var(--space-m);border:1px solid var(--hl);border-radius:var(--r-l);background:var(--sf);flex-wrap:wrap;max-width:1060px;display:flex}.xp-cv-title{font-weight:600;font-size:var(--text-md)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .xp-shot .frame-shot{filter:brightness(.88)}}:root[data-theme=dark] .xp-shot .frame-shot{filter:brightness(.88)}@media (width<=699px){.xp-tools{justify-content:flex-start}}.xp-milestone-link{white-space:nowrap;margin-left:6px;font-weight:500}.pj-head{padding-block:var(--space-2xl) var(--space-xl);gap:var(--space-s);flex-direction:column;display:flex}.pj-head .h1{max-width:20ch}.pj-head .lead{color:var(--fg2);max-width:52ch}.pj-head .lead a{color:var(--fg);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--bd)}.pj-tools{justify-content:space-between;align-items:center;gap:var(--space-s);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.pj-tools .filter button{min-height:var(--tap)}.pj-list{gap:var(--space-l);padding-bottom:var(--space-section);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.pj-card{border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-l);min-width:0;scroll-margin-top:calc(var(--header-h,64px) + 16px);flex-direction:column;display:flex;overflow:hidden}.pj-card[hidden]{display:none}.pj-card--wide{grid-column:1/-1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);display:grid}.pj-empty{padding-block:var(--space-l);grid-column:1/-1}.pj-stage{aspect-ratio:16/10;background:var(--sf2);border-bottom:1px solid var(--hl);position:relative;overflow:hidden;container-type:inline-size}.pj-stage--browser{padding:clamp(14px,5cqi,28px) clamp(14px,5cqi,28px) 0}.pj-stage--browser .frame-browser{border-bottom-right-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 2px #0000000a,0 12px 32px -12px #0000002e}.pj-stage--phone{justify-content:center;padding-top:clamp(14px,5cqi,28px);display:flex}.pj-stage .pj-phone .frame-phone{--phone-w:min(44cqi, 230px);box-shadow:0 12px 32px -12px #00000040}.pj-stage .pj-phone .illus-tag{white-space:nowrap;top:10px;right:-6px;translate:100%}@media (width<=600px){.pj-stage .pj-phone.frame{position:static}.pj-stage .pj-phone .illus-tag{top:10px;left:10px;right:auto;translate:none}}.pj-phones{justify-content:center;align-items:flex-start;gap:clamp(12px,5cqi,32px);display:flex}.pj-phones:has(.pj-phone--2) .frame-phone{--phone-w:min(36cqi, 200px)}.pj-phones .pj-phone--2{margin-top:clamp(10px,4cqi,24px)}.pj-stage .pj-phone--2 .illus-tag{inset:auto auto calc(100% + 6px) 50%;translate:-50%}@media (width<=600px){.pj-stage .pj-phone--2.frame{position:relative}.pj-stage .pj-phone--2 .illus-tag{top:auto;left:50%;translate:-50%}}.pj-bslides .hs{border-radius:0}.pj-card--wide .pj-stage{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--hl);padding:clamp(14px,3cqi,28px)}@media (any-hover:hover) and (prefers-reduced-motion:no-preference){.pj-stage--browser .frame-browser,.pj-stage .frame-phone{transition:translate var(--dur-2) var(--ease)}.pj-card:hover .pj-stage--browser .frame-browser,.pj-card:hover .pj-stage .frame-phone{translate:0 -6px}}.pj-body{gap:var(--space-xs);padding:var(--space-m) var(--space-m) var(--space-2xs);flex-direction:column;flex:1;min-width:0;display:flex}.pj-card--wide .pj-body{padding:var(--space-l) var(--space-l) var(--space-2xs)}.pj-meta{justify-content:flex-start;align-items:center;gap:var(--space-2xs) var(--space-s);flex-wrap:wrap;min-height:24px;display:flex}.pj-meta .mono{font-size:var(--text-xs);color:var(--fg3)}.pj-title{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:1.25}.pj-card--wide .pj-title{font-size:var(--text-xl)}.pj-line{font-size:var(--text-base);color:var(--fg2);max-width:52ch;line-height:1.5}.pj-metric{font-size:var(--text-xs);color:var(--fg);padding-left:14px;line-height:1.5;position:relative}.pj-metric:before{content:"";background:var(--fg);border-radius:50%;width:6px;height:6px;position:absolute;top:.6em;left:0}.pj-stack{margin-top:var(--space-3xs)}.pj-stack .chip{list-style:none}.pj-foot{padding-top:var(--space-xs);gap:var(--space-xs);flex-direction:column;margin-top:auto;display:flex}.pj-links{flex-wrap:wrap;gap:8px;display:flex}.pj-link.btn2.sm{min-height:var(--tap);font-size:var(--text-sm)}.pj-link--main.btn2{border-color:var(--fg)}.pj-foot .proof{align-self:flex-start}.pj-more.more{margin-top:var(--space-3xs)}.pj-more .more-body>p{font-size:var(--text-sm)}.pj-role .mono,.pj-rest{font-size:var(--text-xs);color:var(--fg3)}.pj-sl{gap:var(--space-xs);flex-direction:column;height:100%;display:flex}.pj-sl-track{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r-m);outline-offset:3px;display:flex;overflow-x:auto}.pj-sl-track::-webkit-scrollbar{display:none}.pj-sl-track:focus-visible{outline:2px solid var(--acc)}.pj-sl-item{scroll-snap-align:start;flex:0 0 100%;min-width:0;list-style:none}.pj-sl-item figure{gap:var(--space-2xs);flex-direction:column;margin:0;display:flex}.pj-sl-item figcaption{font:400 var(--text-xs)/1.45 var(--font-mono);color:var(--fg3)}.pj-sl-media{aspect-ratio:16/10;border-radius:var(--r-m);border:1px solid var(--hl);background:var(--bg);overflow:hidden}.pj-sl-media img{width:100%;height:100%;display:block}.pj-sl-media--dark{background:#0c0c0e}.pj-sl-media--dark img{object-fit:contain}.pj-sl-media--photo img{object-fit:cover}.pj-sl-bar{align-items:center;gap:4px;display:flex}.pj-sl-btn{width:var(--tap);height:var(--tap);border:1px solid var(--bd);background:var(--bg);color:var(--fg);border-radius:50%;place-items:center;display:grid}.pj-sl-btn:hover{background:var(--sf2)}.pj-sl-btn:focus-visible,.pj-sl-dots button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.pj-sl-btn svg{width:16px;height:16px}.pj-sl-count{font-size:var(--text-xs);color:var(--fg2);text-align:center;white-space:nowrap;flex:none;min-width:6ch}.pj-sl-dots{flex:0 240px;gap:2px;min-width:0;margin-left:auto;display:flex}.pj-sl-btn{flex:none}.pj-sl-dots button{height:var(--tap);cursor:pointer;background:0 0;border:0;flex:1;min-width:24px;padding:0;position:relative}.pj-sl-dots button:after{content:"";background:var(--bd);border-radius:2px;height:3px;position:absolute;top:50%;left:0;right:0;translate:0 -50%}.pj-sl-dots button[aria-current]:after{background:var(--fg)}.pj-arch{background:var(--bg);flex-direction:column;justify-content:center;gap:8px;padding:clamp(12px,3.5cqi,28px) clamp(14px,5cqi,40px);display:flex}.pj-arch ol{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pj-arch li{border:1px solid var(--bd);background:var(--sf);border-radius:var(--r-s);grid-template-columns:2.4em minmax(0,11.5em) minmax(0,1fr);align-items:baseline;gap:10px;padding:8px 12px;display:grid;position:relative}.pj-arch li:last-child{border-color:var(--fg)}.pj-arch li:not(:last-child):after{content:"";background:var(--fg3);width:1px;height:8px;position:absolute;bottom:-9px;left:22px}.pj-arch strong{font-size:13.5px;font-weight:600;line-height:1.3}.pj-arch-d{color:var(--fg2);font-size:12.5px;line-height:1.4}.pj-arch-n{color:var(--fg3);font-size:11px}.pj-arch-io{font-size:var(--text-xs);color:var(--fg2);border:1px dashed var(--bd);border-radius:var(--r-pill);align-self:flex-start;padding:3px 10px}.pj-arch-out{color:var(--fg);border-style:solid}@media (width<=1100px){.pj-card--wide{grid-template-columns:minmax(0,1fr)}.pj-card--wide .pj-stage{border-right:0;border-bottom:1px solid var(--hl)}}@media (width<=900px){.pj-list{gap:var(--space-m);grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.pj-sl-media{aspect-ratio:4/3}.pj-sl-dots{display:none}.pj-arch{gap:6px;padding:10px 12px}.pj-arch ol{gap:7px}.pj-arch li{grid-template-columns:2em minmax(0,1fr);padding:4px 9px}.pj-arch li:not(:last-child):after{height:7px;bottom:-8px;left:19px}.pj-arch strong{font-size:12.5px}.pj-arch-d{display:none}.pj-arch-io{padding:2px 8px;font-size:11px}.pj-arch-out{display:none}.pj-tools{flex-direction:column;align-items:flex-start}}.aw-head{gap:var(--space-l) var(--space-xl);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.aw-head-copy{gap:var(--space-xs);flex-direction:column;display:flex}.aw-head-copy .lead{margin-top:var(--space-2xs)}.aw-stats{gap:var(--space-m) var(--space-l);grid-template-columns:repeat(3,auto);margin:0;display:grid}.aw-stats>div{border-inline-start:1px solid var(--hl);flex-direction:column-reverse;gap:6px;padding-inline-start:var(--space-s);display:flex}.aw-stats dd{font-size:var(--text-xl);letter-spacing:-.02em;white-space:nowrap;margin:0;font-weight:600;line-height:1}.aw-stats dt{max-width:15ch;line-height:1.35}@media (width<=900px){.aw-head{grid-template-columns:1fr;align-items:start}}@media (width<=520px){.aw-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.aw-stats>div:first-child{grid-column:1/-1}}.aw-cards{gap:var(--space-m);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.aw-card{border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-l);scroll-margin-top:calc(var(--header-h) + var(--space-s));overflow:hidden}.aw-card-media{border-bottom:1px solid var(--hl)}.aw-card-body{padding:var(--space-m) var(--space-m) var(--space-2xs);gap:var(--space-2xs);flex-direction:column;display:flex}.aw-card-top{justify-content:space-between;align-items:center;gap:var(--space-s);min-height:32px;margin-bottom:var(--space-2xs);display:flex}.aw-metric{font-size:var(--text-xl);letter-spacing:-.022em;font-weight:600;line-height:1.1}.aw-result{font-size:var(--text-sm);color:var(--fg);margin-top:-4px;font-weight:500}.aw-line{font-size:var(--text-base);color:var(--fg2);max-width:var(--measure);text-wrap:pretty;line-height:1.55}.aw-meta{margin-top:2px}.aw-note{font:400 var(--text-xs)/1.45 var(--font-mono);color:var(--fg3)}.aw-card .more{margin-top:var(--space-xs)}.aw-links{gap:4px var(--space-m);flex-wrap:wrap;display:flex}.aw-links .go{min-height:var(--tap)}@media (width<=760px){.aw-cards{grid-template-columns:1fr}}.aw-hack{margin-top:var(--space-xl)}.aw-subhead{margin-bottom:var(--space-m);flex-direction:column;gap:4px;display:flex}.aw-wins{gap:var(--space-l);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.aw-win{border-top:1px solid var(--fg);padding-top:var(--space-m);gap:var(--space-2xs);scroll-margin-top:calc(var(--header-h) + var(--space-s));flex-direction:column;display:flex}.aw-win-logos{min-height:36px;margin-bottom:var(--space-2xs);align-items:center;gap:8px;display:flex}.aw-x{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg3)}.aw-win-top{align-items:center;gap:var(--space-2xs);flex-wrap:wrap;display:flex}.aw-win-title{font-size:var(--text-lg);letter-spacing:-.015em;text-wrap:balance;margin-top:4px;font-weight:600;line-height:1.25}.aw-win-org{margin-top:-4px}.aw-win .more{padding-top:var(--space-2xs);border-top:0;margin-top:auto}.aw-win .more>summary{border-top:1px solid var(--hl);border-radius:0;margin-inline:0;padding-inline:0}.aw-win .more>summary:hover{color:var(--fg);background:0 0}.aw-win .more>summary:hover .more-chev{background:var(--sf2);color:var(--fg)}@media (width<=900px){.aw-wins{gap:var(--space-l);grid-template-columns:1fr}}.aw-groups{gap:var(--space-xl) var(--space-l);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.aw-group-h{font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg2);margin-bottom:var(--space-2xs);align-items:center;gap:8px;display:flex}.aw-group-n{font:500 11px/1 var(--font-mono);color:var(--fg2);border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-pill);letter-spacing:0;padding:3px 7px}.aw-list{margin:0;padding:0;list-style:none}.aw-li{border-top:1px solid var(--hl);scroll-margin-top:calc(var(--header-h) + var(--space-s))}.aw-li:last-child{border-bottom:1px solid var(--hl)}.aw-row>summary{gap:var(--space-s);padding:var(--space-s) 10px;border-radius:var(--r-s);cursor:pointer;grid-template-columns:96px minmax(0,1fr) 28px;align-items:start;min-height:64px;margin-inline:-10px;list-style:none;display:grid}.aw-row>summary::-webkit-details-marker{display:none}.aw-row>summary::marker{content:""}.aw-row>summary:hover{background:var(--sf2)}.aw-row>summary:focus-visible{outline:2px solid var(--acc);outline-offset:0}.aw-row>summary>.logo-plate{align-self:center}.aw-row>summary:hover .logo-plate{color:var(--fg)}.aw-row-main{flex-direction:column;gap:5px;min-width:0;display:flex}.aw-row-title{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.aw-row-name{font-size:var(--text-base);letter-spacing:-.01em;color:var(--fg);font-weight:600;line-height:1.3}.aw-row-line{font-size:var(--text-sm);color:var(--fg2);text-wrap:pretty;line-height:1.5}.aw-row-meta{line-height:1.4}.aw-chev{border:1px solid var(--bd);width:28px;height:28px;color:var(--fg2);background:var(--bg);transition:rotate var(--dur-2) var(--ease);border-radius:50%;align-self:center;padding:6px}.aw-row[open] .aw-chev{rotate:180deg}.aw-row>summary:hover .aw-chev{color:var(--fg)}.aw-row-body{gap:var(--space-s) var(--space-m);padding:0 0 var(--space-m) calc(96px + var(--space-s));grid-template-columns:minmax(0,1fr) auto;padding-inline-end:calc(28px + var(--space-s));display:grid}.aw-row-text{gap:var(--space-2xs);flex-direction:column;display:flex}.aw-row-text>p:first-child{font-size:var(--text-sm);color:var(--fg2);max-width:60ch;line-height:1.6}.aw-row-photo{flex-direction:column;gap:6px;width:168px;margin:0;display:flex}.aw-row-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-m);background:var(--sf2);width:100%;height:auto;display:block}.aw-row-photo figcaption{line-height:1.4}@media (width<=900px){.aw-groups{gap:var(--space-xl);grid-template-columns:1fr}}@media (width<=520px){.aw-row>summary{gap:var(--space-xs);grid-template-columns:77px minmax(0,1fr) 28px}.aw-row>summary>.logo-plate,.aw-schol-item>.logo-plate{zoom:.8}.aw-row-body{grid-template-columns:1fr;padding-inline-start:calc(77px + var(--space-xs));padding-inline-end:0}.aw-row-photo{width:100%;max-width:320px}}@media (prefers-reduced-motion:reduce){.aw-chev{transition:none}}.aw-schol-list{gap:var(--space-m) var(--space-l);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.aw-schol-item{gap:var(--space-s);border-top:1px solid var(--hl);padding-top:var(--space-m);grid-template-columns:96px minmax(0,1fr);align-items:center;display:grid}.aw-schol-item>div{flex-direction:column;gap:4px;display:flex}.aw-schol-name{font-size:var(--text-base);font-weight:600;line-height:1.35}@media (width<=760px){.aw-schol-list{grid-template-columns:1fr}}@media (width<=520px){.aw-schol-item{gap:var(--space-xs);grid-template-columns:77px minmax(0,1fr)}}.aw-story{gap:var(--space-m);padding-top:var(--space-2xs);flex-direction:column;display:flex}.aw-story-facts{padding:var(--space-s);border:1px solid var(--hl);border-radius:var(--r-m);background:var(--sf2);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0;display:grid}.aw-story-facts div{flex-direction:column;gap:2px;min-width:0;display:flex}.aw-story-facts dt{font-size:var(--text-2xs,11px);color:var(--fg3)}.aw-story-facts dd{font-size:var(--text-sm);color:var(--fg);margin:0;line-height:1.4}.aw-story-sec{gap:var(--space-2xs);flex-direction:column;display:flex}.aw-story-sec h4{font-size:var(--text-base);letter-spacing:-.01em;font-weight:600}.aw-story-sec ul{flex-direction:column;gap:6px;margin:0;padding-left:1.1em;display:flex}.aw-story-sec li{font-size:var(--text-sm);color:var(--fg2);line-height:1.5}.aw-story-sec li::marker{color:var(--fg3)}@media (width<=599px){.aw-story-facts{grid-template-columns:minmax(0,1fr)}}.ab .section-head{margin-block-end:var(--space-l)}.ab-head-copy{gap:var(--space-s);flex-direction:column;min-width:0;display:flex}.ab-head-copy .h1{max-width:18ch}.ab-line{font-size:var(--text-base);color:var(--fg2);max-width:var(--measure);text-wrap:pretty;line-height:1.55}.ab .chips{margin:0;padding:0;list-style:none}.ab-rows{flex-direction:column;display:flex}.ab-row{column-gap:var(--space-m);padding-block:var(--space-m);border-top:1px solid var(--hl);scroll-margin-top:calc(var(--header-h) + var(--space-s));grid-template-columns:40px minmax(0,1fr);display:grid}.ab-row:last-child{border-bottom:1px solid var(--hl)}.ab-row-body{gap:var(--space-2xs);flex-direction:column;min-width:0;display:flex}.ab-row-body .chips{margin-top:4px}.ab-row-body .more{margin-top:2px}.ab-row-top{justify-content:space-between;align-items:baseline;gap:var(--space-2xs) var(--space-m);flex-wrap:wrap;display:flex}.ab-org{color:var(--fg2);font-weight:400}.ab-row-date{white-space:nowrap}.ab-head{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.ab-figure{gap:var(--space-2xs);flex-direction:column;width:280px;margin:0;display:flex}.ab-figure-img{aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:var(--r-l);background:var(--sf2);width:100%;height:auto;display:block}.ab-figure figcaption{contain:inline-size;text-align:left}.ab-jump{gap:var(--space-2xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.ab-jump a{min-height:var(--tap);border:1px solid var(--hl);border-radius:var(--r-pill);font-size:var(--text-sm);color:var(--fg2);transition:background var(--dur-1), color var(--dur-1);align-items:center;padding:0 14px;display:inline-flex}.ab-jump a:hover{background:var(--sf2);color:var(--fg)}.ab-steps{gap:var(--space-l) var(--space-m);counter-reset:none;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ab-step{gap:var(--space-2xs);padding-top:var(--space-s);border-top:1px solid var(--bd);flex-direction:column;display:flex;position:relative}.ab-step:before{content:"";background:var(--fg);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0}.ab-step:last-child:before{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 18%, transparent)}.ab-step-n{color:var(--fg3)}.ab-step-text{font-size:var(--text-sm);color:var(--fg2);text-wrap:pretty;line-height:1.6}.ab-step-logos{align-items:center;gap:var(--space-s);padding-top:var(--space-xs);--logo-ink:var(--fg2);flex-wrap:wrap;margin-top:auto;display:flex}.ab-habits{gap:var(--space-l) var(--space-m);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ab-habit{grid-template-rows:subgrid;row-gap:var(--space-2xs);grid-row:span 4;align-content:start;display:grid}@media (width<=900px){.ab-habit{flex-direction:column;display:flex}}.ab-metric{font-size:var(--text-xl);letter-spacing:-.022em;font-weight:600;line-height:1.15}.ab-metric-note{margin-bottom:var(--space-xs)}.ab-habit-text{font-size:var(--text-sm);color:var(--fg2);text-wrap:pretty;line-height:1.6}.ab-skills{column-gap:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-skill{gap:var(--space-2xs);padding-block:var(--space-m);border-top:1px solid var(--hl);flex-direction:column;min-width:0;display:flex}.ab-skill-top{flex-direction:column;gap:4px;display:flex}.ab-skill-name{font-size:var(--text-md);letter-spacing:-.01em;font-weight:600}.ab-skill-metric{font-size:var(--text-sm);line-height:1.5}.ab-skill-metric b{font-weight:600}.ab-skill-short{font-size:var(--text-sm);color:var(--fg2);text-wrap:pretty;line-height:1.55}.ab-skill-chips{margin-top:4px}.ab-also{border-top:1px solid var(--hl);padding-block:var(--space-m);align-items:center;gap:var(--space-xs) var(--space-m);flex-wrap:wrap;display:flex}.ab-also .small{max-width:70ch}.ab-also .mono{margin-right:6px}.ab-evidence-list{gap:var(--space-s);margin:0;display:grid}.ab-evidence-list div{gap:var(--space-m);grid-template-columns:220px minmax(0,1fr);display:grid}.ab-evidence-list dt{font-size:var(--text-sm);font-weight:600}.ab-evidence-list dd{font-size:var(--text-sm);color:var(--fg2);max-width:70ch;line-height:1.6}.ab-langs{flex-direction:column;display:flex}.ab-lang{align-items:center;gap:var(--space-s) var(--space-l);min-height:56px;padding-block:var(--space-xs);border-top:1px solid var(--hl);grid-template-columns:160px auto minmax(0,1fr);display:grid}.ab-lang:last-child{border-bottom:1px solid var(--hl)}.ab-lang-name{font-weight:600;font-size:var(--text-base)}.ab-lang-level{font-size:var(--text-sm);color:var(--fg2)}.ab-meter{grid-template-columns:repeat(6,44px);gap:4px;display:inline-grid}.ab-seg{border:1px solid var(--bd);height:26px;font:500 10px/1 var(--font-mono);color:var(--fg3);border-radius:5px;place-items:center;display:grid}.ab-seg.is-on{background:var(--fg);border-color:var(--fg);color:var(--bg)}.ab-lang-note{margin-top:var(--space-s)}.ab-sprint{border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-l);padding:var(--space-l);gap:var(--space-l);flex-direction:column;display:flex}.ab-sprint-head{gap:var(--space-2xs) var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;display:grid}.ab-sprint-head>.mono,.ab-sprint-head>.h3,.ab-sprint-head>.ab-sprint-text{grid-column:1}.ab-sprint-text{font-size:var(--text-sm);color:var(--fg2);line-height:1.6}.ab-route{flex-wrap:wrap;grid-area:1/2/span 3;align-self:center;align-items:center;gap:6px;display:flex}.ab-route li{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg2);align-items:center;gap:6px;display:inline-flex}.ab-route li+li:before{content:"→";color:var(--fg3)}.ab-route li span,.ab-route li{white-space:nowrap}.ab-strip{gap:var(--space-s);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.ab-strip:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:var(--r-m)}.ab-shot figure{gap:var(--space-2xs);flex-direction:column;margin:0;display:flex}.ab-shot img{aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-m);background:var(--sf2);width:100%;height:auto;display:block}.ab-shot figcaption span{border:1px solid var(--bd);width:18px;height:18px;color:var(--fg2);border-radius:50%;place-items:center;margin-right:4px;font-size:10px;display:inline-grid}.ab-regions{column-gap:var(--space-xl);margin-top:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-region{gap:var(--space-xs);padding-block:var(--space-m);border-top:1px solid var(--hl);flex-direction:column;display:flex}.ab-region-head{flex-direction:column;gap:2px;display:flex}.ab-region-name{font-size:var(--text-base);font-weight:600}.ab-countries{flex-wrap:wrap;gap:6px;display:flex}.ab-country{font-size:var(--text-sm);color:var(--fg);border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-pill);align-items:center;gap:7px;padding:4px 12px 4px 4px;display:inline-flex}.ab-iso{border-radius:var(--r-pill);background:var(--sf2);min-width:26px;height:20px;font:600 10px/1 var(--font-mono);letter-spacing:.04em;color:var(--fg2);place-items:center;padding:0 4px;text-decoration:none;display:inline-grid}.ab-total{border-top:1px solid var(--hl);padding-top:var(--space-s)}.ab-beyond h3{font-weight:400}.ab-beyond{margin-top:var(--space-xl);gap:var(--space-s);flex-direction:column;display:flex}.ab-beyond-list{gap:var(--space-2xs) var(--space-l);flex-wrap:wrap;display:flex}.ab-beyond-list li{font-size:var(--text-base);align-items:baseline;gap:8px;display:inline-flex}.ab-beyond-list b{font-weight:600}.ab-vhead{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:end;display:grid}.ab-facts{gap:var(--space-m) var(--space-l);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.ab-facts div{border-top:1px solid var(--hl);padding-top:var(--space-s);flex-direction:column-reverse;justify-content:flex-end;gap:4px;display:flex}.ab-facts dd{font-size:var(--text-xl);letter-spacing:-.025em;font-weight:600;line-height:1.1}.ab-facts dt{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--fg3)}.ab-cards{gap:var(--space-m);margin-bottom:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-card{border:1px solid var(--hl);background:var(--sf);border-radius:var(--r-l);scroll-margin-top:calc(var(--header-h) + var(--space-s));grid-template-columns:200px minmax(0,1fr);display:grid;overflow:hidden}.ab-card-fig{gap:var(--space-2xs);padding:var(--space-s) 0 var(--space-s) var(--space-s);flex-direction:column;margin:0;display:flex}.ab-card-fig img{aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-m);background:var(--sf2);flex:1;width:100%;min-height:0;display:block}.ab-card-fig figcaption{contain:inline-size}.ab-card-body{gap:var(--space-2xs);padding:var(--space-m);flex-direction:column;min-width:0;display:flex}.ab-card-org{gap:var(--space-s);align-items:center;margin-bottom:4px;display:flex}.ab-card-org .h3{line-height:1.2}.ab-card-metric{font-size:var(--text-md);letter-spacing:-.01em;margin-top:2px;font-weight:600}.ab-card-body .more{margin-top:auto}.ab-sch{column-gap:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ab-sch-item{column-gap:var(--space-m);padding-block:var(--space-m);border-top:1px solid var(--hl);scroll-margin-top:calc(var(--header-h) + var(--space-s));grid-template-columns:40px minmax(0,1fr);display:grid}.ab-sch-meta{align-items:center;gap:var(--space-2xs);flex-wrap:wrap;display:flex}.ab-sch-name{font-size:var(--text-base);font-weight:600;line-height:1.35}.ab-sch-item .go{min-height:var(--tap);align-self:flex-start}@media (width<=1000px){.ab-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-cards{grid-template-columns:minmax(0,1fr)}.ab-vhead{grid-template-columns:minmax(0,1fr);align-items:start}}@media (width<=900px){.ab-habits,.ab-skills,.ab-regions,.ab-sch,.ab-sprint-head{grid-template-columns:minmax(0,1fr)}.ab-route{margin-top:var(--space-2xs);grid-area:auto/1}.ab-strip{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;margin-inline:calc(-1 * var(--space-l));padding-inline:var(--space-l);scroll-padding-inline:var(--space-l);display:flex;overflow-x:auto}.ab-strip::-webkit-scrollbar{display:none}.ab-shot{scroll-snap-align:start;flex:0 0 min(62%,260px)}.ab-evidence-list div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (width<=700px){.ab-head{grid-template-columns:minmax(0,1fr);align-items:start}.ab-figure{width:100%}.ab-figure-img{aspect-ratio:4/3;object-position:center 25%}.ab-steps{grid-template-columns:minmax(0,1fr)}.ab-lang{row-gap:var(--space-2xs);padding-block:var(--space-s);grid-template-columns:minmax(0,1fr) auto}.ab-meter{grid-area:2/1/auto/-1;grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.ab-lang-level{text-align:right}.ab-sprint{padding:var(--space-m)}.ab-strip{margin-inline:calc(-1 * var(--space-m));padding-inline:var(--space-m);scroll-padding-inline:var(--space-m)}.ab-card{grid-template-columns:minmax(0,1fr)}.ab-card-fig{padding:var(--space-s) var(--space-s) 0}.ab-card-fig img{aspect-ratio:4/3;object-position:center 35%;flex:none;height:auto}.ab-facts dd{font-size:var(--text-lg)}}body{text-rendering:optimizelegibility;font-size:16px;font-stretch:100%}p,li,dd,figcaption{text-wrap:pretty}h1,h2,h3{text-wrap:balance}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:2px}::selection{background:var(--acc-solid);color:var(--on-acc)}.mono,.eyebrow-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--fg3)}.eyebrow-label{text-transform:uppercase;letter-spacing:.06em}.h-hero,.h1,.h2,.h3{font-weight:600}.h1{letter-spacing:-.03em}.lead{color:var(--fg2)}code{font-family:var(--font-mono)}.site-header{background:var(--bg);-webkit-backdrop-filter:none;border-bottom:1px solid var(--hl);z-index:var(--z-header)}.brand{letter-spacing:-.01em;gap:10px;font-size:15px;font-weight:600}.brand-mk{background:var(--fg);width:28px;height:28px;color:var(--bg);font:500 11px/1 var(--font-mono);letter-spacing:.04em;border-radius:2px;place-items:center;display:inline-grid}.hdr-nav a{border-radius:2px}.hdr-nav a:hover{background:var(--sf)}.hdr-nav a[aria-current=page]:after{border-radius:0;height:2px;bottom:4px}.icon-btn,.lang-btn{border-radius:2px}.icon-btn:hover,.lang-btn:hover{background:var(--sf)}.menu-sheet{box-shadow:none;border-bottom:2px solid var(--fg)}.skip-link{z-index:var(--z-skip);border-radius:2px}.site-footer{border-top:2px solid var(--fg);margin-top:var(--space-section)}.ftr-note{border-top-color:var(--hl)}.btn-acc,.btn-line,.btn-ink,.btn,.btn2{min-height:var(--tap);font:500 15px/1 var(--font-sans);white-space:nowrap;transition:background-color var(--dur-1), color var(--dur-1), border-color var(--dur-1);border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.btn-acc{background:var(--acc-solid);color:var(--on-acc);border-color:var(--acc-solid)}.btn-acc:hover{background:color-mix(in oklab, var(--acc-solid) 86%, black)}.btn-ink,.btn{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn-ink:hover,.btn:hover{opacity:1;background:var(--fg2);border-color:var(--fg2)}.btn-line,.btn2{color:var(--fg);border-color:var(--bd);background:0 0}.btn-line:hover,.btn2:hover{border-color:var(--fg);background:0 0}.btn-line svg{width:15px;height:15px}.btn-text{min-height:var(--tap);color:var(--fg2);text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:4px;align-items:center;padding:0 6px;font-size:15px;display:inline-flex}.btn-text:hover{color:var(--fg);text-decoration-color:var(--fg)}.btn-acc.sm,.btn-line.sm,.btn-ink.sm{padding:0 14px;font-size:14px}.go-link{min-height:var(--tap);color:var(--fg);text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:4px;white-space:nowrap;align-items:center;font-size:14px;font-weight:500;display:inline-flex}.go-link:hover{text-decoration-color:var(--fg)}.tag{font:400 12px/1 var(--font-mono);color:var(--fg2);border:1px solid var(--hl);white-space:nowrap;border-radius:2px;align-items:center;padding:5px 7px;display:inline-flex}.tag--ink{background:var(--fg);border-color:var(--fg);color:var(--bg)}.tags{flex-wrap:wrap;gap:6px;display:flex}.chip{background:0 0;border-radius:2px}.badge,.pill{border-radius:2px}.live-dot{background:var(--acc);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.ref{font:500 10.5px/1 var(--font-mono);vertical-align:super;margin-left:2px;position:static;top:0}.ref a{text-align:center;min-width:1.5em;color:var(--fg2);border:1px solid var(--hl);border-radius:2px;padding:2px 3px;text-decoration:none;display:inline-block}.ref a:before{content:"";position:absolute;inset:-10px -4px}.ref a{position:relative}.ref a:hover,.ref a:focus-visible,.ref a[aria-describedby]{color:var(--acc);border-color:var(--acc)}.lab-sec{padding-top:var(--space-section);scroll-margin-top:var(--header-h)}.lh{align-items:baseline;gap:6px var(--space-m);border-top:2px solid var(--fg);margin-bottom:var(--space-l);grid-template-columns:4.5rem minmax(0,1fr) auto;padding-top:14px;display:grid}.lh-no{font:500 13px/1 var(--font-mono);color:var(--fg)}.lh-title{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600;line-height:1.1}.lh-prov{font:400 13px/1.4 var(--font-mono);color:var(--fg3);grid-column:2}.lh-act{grid-area:1/3/span 2;align-self:start;margin-top:-10px}@media (width<=699px){.lh{grid-template-columns:minmax(0,1fr) auto}.lh-no{grid-column:1}.lh-title{grid-area:2/1/auto/-1}.lh-prov{grid-area:3/1/auto/-1}.lh-act{grid-area:1/2;margin-top:-14px}}.lx-hero{padding-top:var(--space-m)}.entry-bar{border-bottom:1px solid var(--hl);font:400 12px/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg3);flex-wrap:wrap;gap:4px 0;padding-bottom:12px;display:flex}.entry-bar span+span:before{content:"/";color:var(--bd);margin:0 12px}.hero-grid{gap:var(--space-l) 24px;padding-top:var(--space-xl);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.hero-main{gap:var(--space-m);flex-direction:column;grid-column:1/span 8;display:flex}.hero-name{font:400 13px/1.4 var(--font-mono);color:var(--fg2)}.hero-h{font-size:var(--text-hero);letter-spacing:-.035em;max-width:15ch;font-weight:600;line-height:1}.hero-lead{color:var(--fg2);max-width:46ch;font-size:clamp(1.0625rem,1rem + .35vw,1.3125rem);line-height:1.5}.hero-links{gap:4px;display:inline-flex}.hero-cta{flex-wrap:wrap;align-items:center;gap:10px;padding-top:6px;display:flex}.record{border-top:2px solid var(--fg);flex-direction:column;grid-column:9/span 4;align-self:end;gap:16px;padding-top:14px;display:flex}.record-photo{grid-template-columns:112px minmax(0,1fr);align-items:end;gap:14px;display:grid}.record-photo img{object-fit:cover;object-position:50% 20%;background:var(--sf);filter:grayscale()contrast(1.05);border-radius:2px;width:112px;height:140px}.record-photo figcaption{font:400 12px/1.4 var(--font-mono);color:var(--fg3)}.record-dl>div{border-top:1px solid var(--hl);grid-template-columns:6.5rem minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.record-dl dt{font:400 11.5px/1.6 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg3)}.record-dl dd{color:var(--fg);font-size:14px;line-height:1.5}.record-status dd{font-weight:500}@media (width<=1023px){.hero-main,.record{grid-column:1/-1}.record{max-width:560px}}.figs{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fig{border-left:1px solid var(--hl);flex-direction:column;gap:10px;min-width:0;padding:4px 24px 0;display:flex}.fig:first-child{border-left:0;padding-left:0}.fig-src{font:400 12px/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg3)}.fig-v{letter-spacing:-.04em;font-variant-numeric:tabular-nums lining-nums;font-size:clamp(3rem,2rem + 3.6vw,5.5rem);font-weight:500;font-stretch:85%;line-height:.9}.fig-v .ref{letter-spacing:0;vertical-align:top;margin-left:6px;font-size:11px;font-stretch:100%;position:relative;top:.3em}.fig-t{color:var(--fg2);max-width:30ch;font-size:14.5px;line-height:1.45}@media (width<=899px){.figs{row-gap:var(--space-l);grid-template-columns:repeat(2,minmax(0,1fr))}.fig:nth-child(odd){border-left:0;padding-left:0}.fig{padding-left:16px;padding-right:12px}}.case{gap:var(--space-m) 24px;padding:var(--space-l) 0;border-top:1px solid var(--hl);scroll-margin-top:var(--header-h);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.case:first-child{border-top:0;padding-top:0}.case-meta{flex-direction:column;grid-column:1/span 3;align-items:flex-start;gap:8px;display:flex}.case-no{font:500 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg)}.case-org{--logo-ink:var(--fg);align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.case-role{font:400 12.5px/1.45 var(--font-mono);color:var(--fg3)}.case-main{flex-direction:column;grid-column:4/span 5;gap:14px;min-width:0;display:flex}.case-h{letter-spacing:-.02em;font-size:clamp(1.375rem,1.2rem + .7vw,1.75rem);font-weight:600;line-height:1.15}.case-line{color:var(--fg2);max-width:52ch;font-size:16px;line-height:1.55}.case-result{color:var(--fg);border-left:2px solid var(--fg);padding-left:12px;font-size:15px}.case-ev{flex-direction:column;grid-column:9/span 4;align-items:flex-start;gap:8px;display:flex}.case-photo{width:100%;margin-bottom:8px}.case-photo img{aspect-ratio:3/2;object-fit:cover;background:var(--sf);border-radius:2px;width:100%;height:auto}.case-photo figcaption{font:400 12px/1.4 var(--font-mono);color:var(--fg3);margin-top:6px}.ev-label{font:400 11.5px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg3)}.ev-metric{letter-spacing:-.01em;font-size:19px;font-weight:600;font-stretch:92%;line-height:1.3}.ev-note{font:400 12.5px/1.45 var(--font-mono);color:var(--fg2)}.ev-note:before{content:"† "}.calllog{border:1px solid var(--hl);background:var(--sf);border-radius:2px}.calllog figcaption{border-bottom:1px solid var(--hl);font:400 12px/1.3 var(--font-mono);color:var(--fg3);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.calllog .tag{background:var(--bg)}.calllog ol{padding:6px 0}.cl{grid-template-columns:3.2rem 4rem minmax(0,1fr);gap:8px;padding:5px 12px;font-size:14px;line-height:1.45;display:grid}.cl-t,.cl-who{font:400 12px/1.7 var(--font-mono);color:var(--fg3)}.cl--a .cl-who{color:var(--fg);font-weight:500}.cl--tool .cl-x{font:400 12.5px/1.6 var(--font-mono);color:var(--fg3)}.cl--tool .cl-x:before{content:"→ "}.calllog-note{border-top:1px solid var(--hl);color:var(--fg3);padding:8px 12px;font-size:12.5px}.steps{counter-reset:s;border-top:1px solid var(--hl);gap:0;display:grid}.steps li{border-bottom:1px solid var(--hl);grid-template-columns:2rem minmax(0,1fr);column-gap:10px;padding:10px 0;display:grid}.steps-n{font:500 12px/1.6 var(--font-mono);color:var(--fg);grid-row:span 2}.steps strong{font-size:15px;font-weight:600}.steps li>span:last-child{color:var(--fg2);font-size:14.5px;line-height:1.5}.case-more summary{min-height:var(--tap);cursor:pointer;text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:4px;align-items:center;gap:10px;font-size:14px;font-weight:500;list-style:none;display:inline-flex}.case-more summary::-webkit-details-marker{display:none}.case-more summary:hover{text-decoration-color:var(--fg)}.case-more-n{font:400 11px/1 var(--font-mono);border:1px solid var(--hl);color:var(--fg2);border-radius:2px;padding:3px 5px;text-decoration:none}.case-more .when-open,.case-more[open] .when-closed{display:none}.case-more[open] .when-open{display:inline}.case-more ul{border-left:1px solid var(--bd);gap:6px;padding:4px 0 4px 14px;display:grid}.case-more li{color:var(--fg2);font-size:14.5px;line-height:1.5}.mini-facts{border-top:1px solid var(--hl);border-bottom:1px solid var(--hl);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mini-facts>div{flex-direction:column-reverse;gap:4px;padding:10px 12px 10px 0;display:flex}.mini-facts>div+div{border-left:1px solid var(--hl);padding-left:12px}.mini-facts dd{letter-spacing:-.03em;font-size:34px;font-weight:500;font-stretch:85%;line-height:1}.mini-facts dt{color:var(--fg2);font-size:13px;line-height:1.35}@media (width<=1023px){.case-meta{flex-flow:wrap;grid-column:1/-1;align-items:center;gap:8px 14px}.case-main{grid-column:1/span 7}.case-ev{grid-column:8/span 5}}@media (width<=699px){.case-main,.case-ev{grid-column:1/-1}.cl{grid-template-columns:3.4rem minmax(0,1fr)}.cl-t{display:none}}.ledger{gap:var(--space-xl) 48px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.ledger figure{flex-direction:column;gap:14px;min-width:0;display:flex}.ledger-cap{font:500 12px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);border-bottom:1px solid var(--fg);padding-bottom:10px}.ledger-note{color:var(--fg3);max-width:60ch;font-size:12.5px;line-height:1.5}.bars{flex-direction:initial;gap:14px;display:grid}.bars li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l v""t t";gap:6px 12px;display:grid}.bars-l{color:var(--fg);grid-area:l;font-size:14px}.bars-v{font:500 13px/1.5 var(--font-mono);color:var(--fg);grid-area:v}.bars-track{background:var(--sf2);border-radius:1px;grid-area:t;height:14px;overflow:hidden}.bars-fill,.mult-fill{background:var(--fg);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--v));display:block}.multiples{border-left:1px solid var(--hl);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0;display:grid}.mult{border-right:1px solid var(--hl);border-bottom:1px solid var(--hl);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"h h""y y""p p""t t""v v";gap:4px;min-width:0;padding:12px 14px 14px;display:grid}.mult-h{grid-area:h;font-size:14px;font-weight:600;line-height:1.3}.mult-h:hover{text-underline-offset:3px;text-decoration:underline}.mult-y{font:400 11.5px/1.3 var(--font-mono);color:var(--fg3);grid-area:y}.mult-pct{letter-spacing:-.03em;grid-area:p;margin-top:8px;font-size:40px;font-weight:500;font-stretch:85%;line-height:1}.mult-pct small{color:var(--fg2);margin-left:1px;font-size:18px}.mult-track{background:var(--sf2);grid-area:t;height:6px;margin-top:4px;overflow:hidden}.mult-fill{background:var(--fg)}.mult-v{font:400 11.5px/1.4 var(--font-mono);color:var(--fg2);grid-area:v}@media (width<=1023px){.ledger{grid-template-columns:minmax(0,1fr)}}@media (width<=699px){.multiples{grid-template-columns:repeat(2,minmax(0,1fr))}.mult-pct{font-size:34px}}.gantt{--gl:300px;--gd:190px;--gg:20px}.gantt-axis{height:22px;margin:0 calc(var(--gd) + var(--gg)) 0 calc(var(--gl) + var(--gg));border-bottom:1px solid var(--fg);position:relative}.gantt-axis span{left:var(--at);font:400 11.5px/1 var(--font-mono);color:var(--fg3);white-space:nowrap;position:absolute;bottom:6px}.gantt-axis span:after{content:"";border-left:1px solid var(--fg);height:5px;position:absolute;bottom:-7px;left:0}.gantt-axis span:last-child:not(:first-child){transform:translate(-100%)}.gantt-axis span:last-child:after{left:auto;right:0}.gr{grid-template-columns:var(--gl) minmax(0, 1fr) var(--gd);gap:var(--gg);border-bottom:1px solid var(--hl);align-items:center;min-height:60px;display:grid}.gr-label{flex-direction:column;gap:2px;min-width:0;padding:8px 0;display:flex}.gr-label:hover .gr-org{text-underline-offset:3px;text-decoration:underline}.gr-org{--logo-ink:var(--fg);align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:inline-flex}.gr-role{color:var(--fg2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.35;overflow:hidden}.gr-track{height:100%;min-height:28px;position:relative}.gr-bar{top:50%;left:var(--x);width:var(--w);background:var(--fg);transform-origin:0;height:14px;margin-top:-7px;position:absolute}.gr--study .gr-bar{background:var(--sf2);border:1px solid var(--fg)}.gr--open .gr-bar:after{content:"";background:var(--acc);width:3px;position:absolute;top:-4px;bottom:-4px;right:-1px}.gr-dates{font:400 12.5px/1.4 var(--font-mono);color:var(--fg2)}@media (width<=899px){.gantt{--gl:0px;--gd:0px;--gg:0px}.gantt-axis{margin:0}.gr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l d""t t";gap:0 12px;padding-bottom:10px}.gr-label{grid-area:l}.gr-dates{text-align:right;grid-area:d;font-size:11.5px}.gr-track{grid-area:t;min-height:16px}.gr-role{white-space:normal}}.pi-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:16px;display:flex}.pi-filter{flex-wrap:wrap;gap:6px;display:flex}.pi-filter button{border:1px solid var(--bd);min-height:40px;color:var(--fg);transition:background-color var(--dur-1), border-color var(--dur-1), color var(--dur-1);border-radius:2px;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:inline-flex}.pi-filter button:hover{border-color:var(--fg)}.pi-filter button[aria-pressed=true]{background:var(--acc-wash);border-color:var(--acc);color:var(--acc)}.pi-n{font:400 12px/1 var(--font-mono);color:inherit;opacity:.75}.pi-count{font:400 12.5px/1 var(--font-mono);color:var(--fg3)}.pi-table,.reg{border-collapse:collapse;width:100%;font-size:14.5px}.pi-table thead th,.reg thead th{font:500 11.5px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg3);text-align:left;border-bottom:1px solid var(--fg);white-space:nowrap;padding:10px 12px 10px 0}.pi-table td,.pi-table tbody th,.reg td,.reg tbody th{text-align:left;vertical-align:top;border-bottom:1px solid var(--hl);padding:14px 16px 14px 0;font-weight:400}.pi-table tbody tr,.reg tbody tr{transition:background-color var(--dur-1)}.pi-table tbody tr:hover,.reg tbody tr:hover{background:var(--sf)}.pi-table .c-year,.reg-date{font:400 13px/1.5 var(--font-mono);color:var(--fg2);white-space:nowrap;width:4.5rem}.pi-table .c-proj{width:34%}.pi-table .c-proj a{font-size:15.5px;font-weight:600}.pi-table .c-proj a:hover{text-underline-offset:3px;text-decoration:underline}.pi-line{color:var(--fg2);margin-top:3px;font-size:14px;line-height:1.45;display:block}.pi-table .c-kind,.pi-table .c-field{color:var(--fg2);font-size:13.5px}.pi-table .c-ev{font:400 13px/1.5 var(--font-mono);color:var(--fg)}.pi-table .c-code{white-space:nowrap;font-size:14px}.pi-table .c-code a{text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:3px}.pi-table .c-code a:hover{text-decoration-color:var(--fg)}.pi-pending{font:400 12.5px/1.5 var(--font-mono);color:var(--fg3)}.pi-table tr[hidden]{display:none}@media (width<=899px){.pi-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.pi-table,.pi-table tbody{display:block}.pi-table tbody tr{border-bottom:1px solid var(--hl);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"y k c""p p p""e e e""f f f";gap:6px 10px;padding:14px 0;display:grid}.pi-table tbody tr[hidden]{display:none}.pi-table td,.pi-table tbody th{border:0;width:auto;padding:0}.pi-table .c-year{grid-area:y}.pi-table .c-kind{font:400 12.5px/1.5 var(--font-mono);grid-area:k}.pi-table .c-code{grid-area:c}.pi-table .c-proj{grid-area:p;width:auto}.pi-table .c-ev{grid-area:e}.pi-table .c-field{font:400 12px/1.4 var(--font-mono);color:var(--fg3);grid-area:f}}.reg-kind{width:8.5rem}.reg-title a{font-size:15px;font-weight:600}.reg-title a:hover{text-underline-offset:3px;text-decoration:underline}.reg-result{color:var(--fg2);margin-top:2px;font-size:14px;line-height:1.45;display:block}.reg-mark{font-family:var(--font-mono);color:var(--fg);margin-left:4px}.reg-note{font:400 12px/1.4 var(--font-mono);color:var(--fg3);margin-top:4px;display:block}.reg-place{color:var(--fg2);width:12rem;font-size:13.5px}.reg--participation .reg-title a,.reg--participation .reg-result{color:var(--fg2)}.reg-foot{font:400 12.5px/1.5 var(--font-mono);color:var(--fg2);margin-top:12px}@media (width<=899px){.reg thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.reg,.reg tbody{display:block}.reg tbody tr{border-bottom:1px solid var(--hl);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"d k""t t""p p";align-items:center;gap:6px 12px;padding:14px 0;display:grid}.reg td,.reg tbody th{border:0;width:auto;padding:0}.reg-date{grid-area:d}.reg-kind{grid-area:k}.reg-title{grid-area:t}.reg-place{font:400 12px/1.4 var(--font-mono);color:var(--fg3);grid-area:p}.reg-place--none{display:none}}.method-grid{gap:var(--space-l) 48px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.method-text{color:var(--fg2);flex-direction:column;gap:14px;max-width:52ch;font-size:16.5px;line-height:1.6;display:flex}.method-text p:first-child{color:var(--fg);font-size:18px;line-height:1.5}.method{border-top:1px solid var(--fg);display:grid}.method li{border-bottom:1px solid var(--hl);grid-template-columns:11rem minmax(0,1fr);grid-template-areas:"m s""mn t";gap:4px 24px;padding:16px 0;display:grid}.method-m{letter-spacing:-.03em;white-space:nowrap;grid-area:m;font-size:30px;font-weight:500;font-stretch:85%;line-height:1}.method-mn{font:400 11.5px/1.45 var(--font-mono);color:var(--fg3);grid-area:mn}.method strong{grid-area:s;font-size:16px;font-weight:600}.method-t{color:var(--fg2);grid-area:t;font-size:14.5px;line-height:1.5}.now{margin-top:var(--space-xl)}.now-h{border-bottom:1px solid var(--fg);align-items:baseline;gap:14px;padding-bottom:10px;font-size:15px;font-weight:600;display:flex}.now-h span{font:400 12.5px/1 var(--font-mono);color:var(--fg3);font-weight:400}.log li{border-bottom:1px solid var(--hl);grid-template-columns:10rem minmax(0,18rem) minmax(0,1fr);gap:4px 24px;padding:12px 0;font-size:14.5px;line-height:1.5;display:grid}.log-d{font:400 12.5px/1.6 var(--font-mono);color:var(--fg2)}.log strong{font-weight:600}.log-t{color:var(--fg2)}@media (width<=1023px){.method-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=699px){.method li{grid-template-columns:minmax(0,1fr);grid-template-areas:"m""mn""s""t"}.log li{grid-template-columns:minmax(0,1fr)}}.sheet{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.sheet-f img{aspect-ratio:4/5;object-fit:cover;background:var(--sf);border-radius:2px;width:100%;height:auto}.sheet-f figcaption{color:var(--fg2);margin-top:8px;font-size:13px;line-height:1.45}.sheet-f figcaption span{font:500 12px/1 var(--font-mono);color:var(--fg);margin-right:6px}@media (width<=899px){.sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}.contact{flex-direction:column;gap:16px;display:flex}.contact-h{letter-spacing:-.03em;text-wrap:balance;max-width:22ch;font-size:clamp(1.75rem,1.3rem + 2vw,3rem);font-weight:600;line-height:1.08}.contact-av{color:var(--fg2);max-width:60ch;font-size:16px}.contact-row{flex-wrap:wrap;align-items:center;gap:10px;padding-top:8px;display:flex}.contact-mail{border:1px solid var(--bd);min-height:var(--tap);border-radius:2px;align-items:center;gap:0;max-width:100%;display:inline-flex}.contact-mail code{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 12px;font-size:14px;overflow:hidden}.contact-mail .btn-line{border:0;border-left:1px solid var(--bd);min-height:calc(var(--tap) - 2px);border-radius:0}.srcs{border-top:1px solid var(--hl);display:grid}.srcs li{border-bottom:1px solid var(--hl);color:var(--fg2);scroll-margin-top:calc(var(--header-h) + 16px);grid-template-columns:3.5rem minmax(0,1fr);gap:12px;max-width:980px;padding:12px 8px 12px 0;font-size:14px;line-height:1.55;display:grid}.srcs-n{font:500 13px/1.6 var(--font-mono);color:var(--fg)}.srcs li:target{background:var(--acc-wash);box-shadow:-8px 0 0 var(--acc-wash)}.srcs li:target .srcs-n{color:var(--acc)}@media (width<=699px){.contact-row>.btn-acc,.contact-row>.btn-line{flex:100%}.contact-mail{justify-content:space-between;width:100%}}.src-pop{z-index:var(--z-pop);background:var(--fg);color:var(--bg);pointer-events:none;border-radius:2px;padding:10px 12px;font-size:13px;line-height:1.5;position:fixed}.grow-ready [data-grow]{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.grow-ready .bars-fill[data-grow]:not(.is-grown),.grow-ready .mult-fill[data-grow]:not(.is-grown),.grow-ready .gr-bar[data-grow]:not(.is-grown){transform:scaleX(0)}.gr-bar{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.grow-ready [data-grow]{transition:none}*{scroll-behavior:auto!important}}.section-head{border-top:2px solid var(--fg);padding-top:14px}.section.first .section-head,.section-head:first-child{border-top-width:2px}.logo-tile,.logo-mono,.logo-mono--tile,.car-btn,.more-chev,.more>summary,.more-count,.expand-all{border-radius:2px}.tl-item.is-current .tl-node:after{background:var(--acc)}.frame-browser,.frame,.hs,.car-slide img,.car-track{border-radius:2px}.car-progress button[aria-current=true]:before{background:var(--fg)}.pp-head{padding-top:var(--space-l)}.pp-h1{font-size:var(--text-2xl);letter-spacing:-.035em;max-width:18ch;margin-top:var(--space-l);font-weight:600;line-height:1.02}.pp-lead{color:var(--fg2);max-width:60ch;margin-top:16px;font-size:18px;line-height:1.55}.pp-lead a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:3px}.pp-figs{margin-top:var(--space-xl)}.sheet-pj{gap:var(--space-m) 24px;padding:var(--space-xl) 0;border-top:1px solid var(--hl);scroll-margin-top:var(--header-h);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.sheet-pj[hidden]{display:none}.sheet-pj:first-of-type{border-top:0;padding-top:0}.sp-stage{background:var(--sf);border-bottom:0;border-radius:2px;grid-column:1/span 7;align-self:start;min-width:0}.sp-stage:has(.pj-sl){aspect-ratio:auto;padding:clamp(14px,2.5vw,28px);overflow:visible}.sp-stage .frame-browser,.sp-stage .frame-phone{border:1px solid var(--bd);box-shadow:none!important}.sp-data{flex-direction:column;grid-column:8/span 5;gap:14px;min-width:0;display:flex}.sp-no{font:500 12px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sp-h{letter-spacing:-.025em;font-size:clamp(1.5rem,1.3rem + .9vw,2rem);font-weight:600;line-height:1.1}.sp-line{color:var(--fg2);font-size:16.5px;line-height:1.5}.sp-dl>div{border-top:1px solid var(--hl);grid-template-columns:6.5rem minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.sp-dl>div:last-child{border-bottom:1px solid var(--hl)}.sp-dl dt{font:400 11.5px/1.6 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg3)}.sp-dl dd{font-size:14px;line-height:1.5}.sp-dl .sp-ev{font-family:var(--font-mono);font-size:13.5px}.sp-links{flex-wrap:wrap;gap:4px 16px;display:flex}.sp-notes{gap:6px;display:grid}.sp-notes li{color:var(--fg2);padding-left:16px;font-size:14px;line-height:1.5;position:relative}.sp-notes li:before{content:"—";color:var(--fg3);position:absolute;left:0}.sp-sum{color:var(--fg3);font-size:14px;line-height:1.5}@media (width<=1023px){.sp-stage,.sp-data{grid-column:1/-1}}sup.ref,sup.ref a{font-family:var(--font-mono);letter-spacing:0;font-size:11px;font-weight:500;font-stretch:100%;line-height:1}.nobr{white-space:nowrap}@media (width<=699px){.entry-bar{gap:4px 16px}.entry-bar span+span:before{content:none}}a,button,summary{touch-action:manipulation}@media (pointer:coarse){.pi-filter button{min-height:var(--tap)}}.pi-table .c-code a{margin:-12px 0;padding:12px 0;display:inline-block}.lab-demo{gap:12px;min-width:0;margin:0;display:grid}.lab-demo .sc{--sc-radius:4px;--sc-accent:var(--acc-solid);--sc-accent-dark:var(--acc)}.lab-demo .sc-btn,.lab-demo .sc-chapter{border-radius:2px}.lab-demo .sc-chapter[aria-current=step]:after{border-radius:0}.lab-demo-cap{border-top:1px solid var(--fg);color:var(--fg2);flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding-top:10px;font-size:14px;line-height:1.5;display:flex}.lab-demo-k{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);white-space:nowrap}.lab-demo-stage{background:var(--sf);border-radius:2px;padding:clamp(12px,2.4vw,28px)}.case-demo{margin-top:var(--space-s);grid-column:1/-1}.case--bundesliga .case-demo .sc-stage{background:var(--sf);border-radius:2px;padding:clamp(16px,3vw,32px) 12px}.sp-stage.sp-stage--demo{aspect-ratio:auto;padding:clamp(12px,2.4vw,28px);overflow:visible}.sp-stage--demo .lab-demo-cap{border-top-color:var(--bd)}.xp-demo{margin-top:var(--space-m);max-width:980px}@media (width>=1024px){.xp-tl>.xp-has-media .tl-extra>.xp-demo{grid-area:auto/1/auto/-1}}.bl{border-top:1px solid var(--fg)}.bl-row{border-bottom:1px solid var(--hl);grid-template-columns:7.5rem minmax(0,1fr) 160px;gap:8px 24px;padding:18px 0;display:grid;position:relative}.bl-row[hidden]{display:none}.bl--compact .bl-row{grid-template-columns:7.5rem minmax(0,1fr)}.bl-date{font:400 13px/1.6 var(--font-mono);color:var(--fg3);font-variant-numeric:tabular-nums}.bl-main{flex-direction:column;gap:6px;min-width:0;display:flex}.bl-h{letter-spacing:-.015em;text-wrap:balance;max-width:40ch;font-size:20px;font-weight:600;line-height:1.25}.bl-h a{color:var(--fg);text-decoration:none}.bl-h a:after{content:"";position:absolute;inset:0}.bl-h a:focus-visible{outline:none}.bl-row:has(.bl-h a:focus-visible){outline:2px solid var(--acc);outline-offset:4px}.bl-row:hover .bl-h a{text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:4px}.bl-desc{color:var(--fg2);text-wrap:pretty;max-width:66ch;font-size:15px;line-height:1.55}.bl-meta{font:400 12px/1.5 var(--font-mono);color:var(--fg3);flex-wrap:wrap;gap:4px 0;display:flex}.bl-meta>span+span:before{content:"/";color:var(--bd);margin:0 10px}.bl-lb{color:var(--acc)}.bl-tags{margin-top:4px}.bl-thumb{aspect-ratio:3/2;background:var(--sf);border-radius:2px;align-self:start;overflow:hidden}.bl-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.bl-row:hover .bl-thumb img{transform:scale(1.03)}.bl-thumb--none{border:1px solid var(--hl);letter-spacing:-.03em;color:var(--fg3);font-variant-numeric:tabular-nums;background:0 0;place-items:center;font-size:34px;font-weight:500;font-stretch:85%;line-height:1;display:grid}@media (prefers-reduced-motion:reduce){.bl-thumb img{transition:none}.bl-row:hover .bl-thumb img{transform:none}}@media (width<=899px){.bl-row{grid-template-columns:minmax(0,1fr) 96px}.bl--compact .bl-row{grid-template-columns:minmax(0,1fr)}.bl-date{grid-column:1/-1}.bl-thumb{grid-area:2/2}.bl-thumb--none{display:none}.bl-row:has(.bl-thumb--none){grid-template-columns:minmax(0,1fr)}.bl-h{font-size:18px}}.bl-filter{margin-bottom:var(--space-l);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bl-chip{border:1px solid var(--hl);min-height:36px;color:var(--fg2);font:400 12.5px/1 var(--font-mono);cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.bl-chip span{color:var(--fg3)}.bl-chip:hover{border-color:var(--fg3);color:var(--fg)}.bl-chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.bl-chip[aria-pressed=true] span{color:var(--acc)}.bl-shown{font:400 12px/1 var(--font-mono);color:var(--fg3);margin-left:auto}.bl-year+.bl-year{margin-top:var(--space-xl)}.bl-year[hidden]{display:none}.bl-year-h{letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:baseline;gap:12px;margin-bottom:10px;font-size:clamp(2rem,1.5rem + 2vw,3.25rem);font-weight:500;font-stretch:85%;line-height:1;display:flex}.bl-year-n{font:400 12px/1 var(--font-mono);letter-spacing:.04em;color:var(--fg3)}.post{padding-top:var(--space-m)}.post-bar a.post-back{color:var(--fg);text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:3px}.post-bar a.post-back:hover{text-decoration-color:var(--fg)}.post-head{max-width:860px;padding-top:var(--space-xl);gap:var(--space-s);display:grid}.post-lb{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}.post-h{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.125rem,1.4rem + 3vw,4rem);font-weight:600;line-height:1.02}.post-lead{color:var(--fg2);text-wrap:pretty;max-width:58ch;font-size:clamp(1.125rem,1rem + .4vw,1.3125rem);line-height:1.5}.post-dl{margin-top:var(--space-s);border-top:1px solid var(--fg);grid-template-columns:repeat(4,minmax(0,auto));justify-content:start;display:grid}.post-dl>div{flex-direction:column;gap:6px;min-width:0;padding:12px 24px 0 0;display:flex}.post-dl>div+div{border-left:1px solid var(--hl);padding-left:16px}.post-dl dt{font:400 11.5px/1.4 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg3)}.post-dl dd{color:var(--fg);font-size:14px;line-height:1.45}.post-dl .tags{gap:4px}@media (width<=899px){.post-dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.post-dl>div{border-bottom:1px solid var(--hl);padding:12px 12px 12px 0}.post-dl>div+div{border-left:0;padding-left:0}.post-dl>div:nth-child(2n){border-left:1px solid var(--hl);padding-left:12px}.post-dl>div:last-child:nth-child(odd){grid-column:1/-1}}.post-cover{margin:var(--space-xl) 0 0;max-width:1000px}.post-cover img{aspect-ratio:16/9;object-fit:cover;object-position:50% 35%;background:var(--sf);border-radius:2px;width:100%;height:auto;display:block}.post-cover figcaption{font:400 12px/1.4 var(--font-mono);color:var(--fg3);margin-top:8px}.post-cover figcaption span{color:var(--fg);margin-right:6px}.prose{max-width:66ch;color:var(--fg);hanging-punctuation:first;font-size:18px;line-height:1.7}.post-body{margin-top:var(--space-xl)}.prose>*+*{margin-top:1.1em}.prose p{text-wrap:pretty}.post-body:not(.post-body--after)>p:first-child:first-line,.prose:not(.post-body)>p:first-child:first-line{font-weight:600}.prose h2{letter-spacing:-.02em;margin-top:2em;font-size:26px;font-weight:600;line-height:1.2}.prose h3{margin-top:1.6em;font-size:20px;font-weight:600;line-height:1.3}.prose a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:3px}.prose a:hover{color:var(--acc)}.prose ul,.prose ol{padding-left:1.3em}.prose ul{list-style:square}.prose ol{list-style:decimal}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--fg3)}.prose blockquote{border-left:2px solid var(--fg);color:var(--fg2);padding-left:18px;font-size:20px;line-height:1.5}.prose strong{font-weight:600}.prose code{font:400 .88em/1 var(--font-mono);background:var(--sf);border-radius:2px;padding:2px 5px}.prose hr{border:0;border-top:1px solid var(--hl);margin:2em 0}@media (width<=699px){.prose{font-size:17px;line-height:1.65}}.post-foot{margin-top:var(--space-2xl);gap:var(--space-l);justify-items:start;max-width:1000px;display:grid}.post-nav{border-top:2px solid var(--fg);grid-template-columns:1fr 1fr;width:100%;display:grid}.post-nav-a{color:var(--fg);min-height:var(--tap);flex-direction:column;gap:8px;padding:16px 16px 16px 0;text-decoration:none;display:flex}.post-nav-a--r{text-align:right;border-left:1px solid var(--hl);grid-column:2;padding:16px 0 16px 16px}.post-nav-k{font:400 12px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg3)}.post-nav-t{text-wrap:balance;font-size:16px;font-weight:500;line-height:1.35}.post-nav-a:hover .post-nav-t{text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:4px}@media (width<=599px){.post-nav{grid-template-columns:1fr}.post-nav-a--r{border-left:0;border-top:1px solid var(--hl);text-align:left;grid-column:1;padding-left:0}}@media (width>=1024px){.xp-tl>.tl-item:not(.xp-has-media):has(.xp-demo) .tl-body{max-width:none}.xp-tl>.tl-item:has(.xp-demo) .tl-line{max-width:60ch}}.sp-a,.sp-b{display:contents}.sp-data .sp-sum{order:1}.sheet-pj--wide .sp-data{grid-column:1/-1;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:14px 48px;display:grid}.sheet-pj--wide .sp-a,.sheet-pj--wide .sp-b{flex-direction:column;gap:14px;min-width:0;display:flex}.sheet-pj--wide .sp-sum{color:var(--fg2);max-width:62ch;font-size:15px}.sheet-pj--wide .sp-stage{grid-column:1/-1}@media (width<=1023px){.sheet-pj--wide .sp-data{grid-template-columns:minmax(0,1fr)}}@media (width<=699px){.sheet-pj--wide .sp-stage--demo{background:0 0;padding:0}}.lab-demo-more{margin-top:var(--space-m);border-top:1px solid var(--bd)}.lab-demo-more>summary{cursor:pointer;min-height:44px;font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);align-items:center;gap:10px;list-style:none;display:flex}.lab-demo-more>summary::-webkit-details-marker{display:none}.lab-demo-more>summary:before{content:"+";border:1px solid var(--bd);border-radius:2px;place-items:center;width:20px;height:20px;font-size:14px;display:inline-grid}.lab-demo-more[open]>summary:before{content:"−"}.lab-demo-more>summary:hover{color:var(--acc)}.lab-demo-more>.lab-demo{margin-top:var(--space-s)}.sp-stage--empty{place-items:center;min-height:180px;padding:24px;display:grid}.sp-stage--empty p{font:400 13px/1.5 var(--font-mono);color:var(--fg3);text-align:center;max-width:32ch}.post-demo,.post-body--after{margin-top:var(--space-xl)}.pd-body{gap:var(--space-m);min-width:0;display:grid}.pd-stage{min-width:0}.pd--own .v3x-cap,.pd--own .gp-caption{color:var(--fg2);font-size:14px}.pd--own .v3x-cap:before{border-radius:0}@media (width>=1200px){.pd--aside .pd-body{grid-template-columns:minmax(0,1fr) 260px;align-items:start}}.pd-aside{gap:var(--space-m);border-top:2px solid var(--fg);align-content:start;padding-top:12px;display:grid}@media (width>=700px) and (width<=1199px){.pd-aside{gap:var(--space-l);grid-template-columns:1fr 1fr}}.pd-aside-h{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);margin-bottom:8px}.pd-learned{counter-reset:l;gap:0;display:grid}.pd-learned li{counter-increment:l;border-bottom:1px solid var(--hl);color:var(--fg);grid-template-columns:2.2em minmax(0,1fr);padding:8px 0;font-size:14px;line-height:1.45;display:grid}.pd-learned li:before{content:counter(l, decimal-leading-zero);font:400 12px/1.6 var(--font-mono);color:var(--fg3)}.pd-tools>div{border-bottom:1px solid var(--hl);grid-template-columns:6.5em minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.pd-tools dt{font:400 11.5px/1.6 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--fg3)}.pd-tools dd{color:var(--fg);font-size:14px;line-height:1.45}.post-more{margin-top:var(--space-2xl);max-width:1000px}.post-more-h{font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--fg);padding-bottom:10px}.post-more-list li{border-bottom:1px solid var(--hl)}.post-more-list a{min-height:var(--tap);color:var(--fg);grid-template-columns:11rem minmax(0,1fr);gap:4px 24px;padding:14px 0;font-size:16px;font-weight:500;line-height:1.4;text-decoration:none;display:grid}.post-more-list a:hover span:last-child{text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:4px}.post-more-k{font:400 12px/1.7 var(--font-mono);letter-spacing:.04em;color:var(--fg3)}@media (width<=599px){.post-more-list a{grid-template-columns:1fr}}.post-foot-links{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.sc .sc-cursor{visibility:hidden!important}a.sp-stage{color:inherit;text-decoration:none;display:block}a.sp-stage:hover .frame,a.sp-stage:hover .pj-poster,a.sp-stage:hover .pj-poster-phone{outline:1px solid var(--fg3);outline-offset:0}.sp-stage.pj-stage--poster{aspect-ratio:auto;align-content:center;justify-items:center;gap:12px;padding:clamp(14px,2.5vw,28px);display:grid;position:relative;overflow:visible}.pj-stage--poster>.frame{width:100%}.pj-stage--poster .frame-browser{border-radius:4px!important}.pj-poster{border:1px solid var(--hl);border-radius:2px;width:100%;height:auto;display:block}.pj-poster-phone{width:min(240px,60%);height:auto;display:block}.pj-poster-cap{font:400 11.5px/1.4 var(--font-mono);letter-spacing:.04em;color:var(--fg3);justify-self:start;margin-top:-2px}.sp-h a{color:inherit;text-decoration:none}.sp-h a:hover{text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:5px}.sp-post{margin:4px 0 6px}.go-link--post{margin-top:6px;display:inline-block}.sc .kb-scroll,.sc .mj-transcript,.sc .bl-messages,.sc .bl-scroll,.sc .ms-scroll{overscroll-behavior:auto}.bl-demo{color:var(--fg);font-weight:500}
