@font-face{font-family:__Archivo_afd4a3;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/_next/static/media/8a053b136321ec99-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Archivo_afd4a3;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/_next/static/media/2a8fe189f1a8dd0c-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c0,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__Archivo_afd4a3;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/_next/static/media/c214ffb7f5362987-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Archivo_Fallback_afd4a3;src:local("Arial");ascent-override:89.50%;descent-override:21.41%;line-gap-override:0.00%;size-adjust:98.10%}.__className_afd4a3{font-family:__Archivo_afd4a3,__Archivo_Fallback_afd4a3;font-style:normal}.__variable_afd4a3{--font-archivo:"__Archivo_afd4a3","__Archivo_Fallback_afd4a3"}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c0,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c0,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c0,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__IBM_Plex_Sans_1bc20f;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__IBM_Plex_Sans_Fallback_1bc20f;src:local("Arial");ascent-override:101.44%;descent-override:27.22%;line-gap-override:0.00%;size-adjust:101.04%}.__className_1bc20f{font-family:__IBM_Plex_Sans_1bc20f,__IBM_Plex_Sans_Fallback_1bc20f;font-style:normal}.__variable_1bc20f{--font-plex-sans:"__IBM_Plex_Sans_1bc20f","__IBM_Plex_Sans_Fallback_1bc20f"}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c0,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,U+1d00-1dbf,U+1e00-1e9f,U+1ef2-1eff,U+2020,U+20a0-20ab,U+20ad-20c0,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:__IBM_Plex_Mono_46fe82;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__IBM_Plex_Mono_Fallback_46fe82;src:local("Arial");ascent-override:75.41%;descent-override:20.23%;line-gap-override:0.00%;size-adjust:135.93%}.__className_46fe82{font-family:__IBM_Plex_Mono_46fe82,__IBM_Plex_Mono_Fallback_46fe82;font-style:normal}.__variable_46fe82{--font-plex-mono:"__IBM_Plex_Mono_46fe82","__IBM_Plex_Mono_Fallback_46fe82"}:root{--paper:#eef1f4;--surface:#fff;--ink:#15202b;--muted:#56616e;--line:#d3dae2;--accent:#2a4d8c;--accent-soft:#dce5f3;--signal:#c9661a;--on-accent:#fff;--good:#2e8a57;--c-net:#7457c4;--c-compute:#d06a14;--c-data:#2c64b4;--c-store:#2f8a5c;--c-ops:#b8406f;--c-ai:#12858a;--display:var(--font-archivo),"Helvetica Neue",Arial,sans-serif;--body:var(--font-plex-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--mono:var(--font-plex-mono),ui-monospace,SFMono-Regular,Menlo,monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0e141b;--surface:#151e28;--ink:#e6ebf0;--muted:#98a5b3;--line:#263341;--accent:#8eafe8;--accent-soft:#1c2a3d;--signal:#f0a04b;--on-accent:#0e141b;--good:#5cc48a;--c-net:#a58cf0;--c-compute:#f0994b;--c-data:#6fa2ec;--c-store:#63c08e;--c-ops:#e47aa5;--c-ai:#4fc7c9;color-scheme:dark}}:root[data-theme=dark]{--paper:#0e141b;--surface:#151e28;--ink:#e6ebf0;--muted:#98a5b3;--line:#263341;--accent:#8eafe8;--accent-soft:#1c2a3d;--signal:#f0a04b;--on-accent:#0e141b;--good:#5cc48a;--c-net:#a58cf0;--c-compute:#f0994b;--c-data:#6fa2ec;--c-store:#63c08e;--c-ops:#e47aa5;--c-ai:#4fc7c9;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{max-width:1140px;margin:0 auto;padding-inline:20px}h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}p{margin:0}strong{font-weight:600}.top{position:sticky;top:env(safe-area-inset-top,0);z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;flex-wrap:wrap;padding-block:8px}.brand{font-family:var(--display);font-weight:700;font-stretch:112%;color:var(--ink);text-decoration:none;font-size:17px;letter-spacing:.01em}.top nav{display:flex;gap:20px;flex-wrap:wrap}.top nav a{color:var(--muted);text-decoration:none;font-size:15px}.top nav a:hover{color:var(--ink)}.hero{padding-block:56px 40px}.hero .wrap{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.25fr);gap:40px;align-items:center}.name{font-size:clamp(34px,3.7vw,50px);font-weight:800;font-stretch:102%;letter-spacing:-.01em;line-height:1.02}.name .jp{display:block;font-family:var(--body);font-size:15px;font-weight:500;letter-spacing:.04em;color:var(--muted);margin-top:14px;font-stretch:100%}.thesis{font-size:19px;line-height:1.55;margin-top:22px;max-width:34ch}.proof{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;font-size:15px;color:var(--muted)}.proof b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.status{display:flex;align-items:center;gap:10px;margin-top:20px;color:var(--muted);font-size:15px}.status i{width:8px;height:8px;border-radius:50%;background:var(--good);flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 22%,transparent)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--body);padding:13px 18px;border-radius:6px;text-decoration:none;border:1px solid var(--accent);cursor:pointer}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.ghost{background:transparent;color:var(--accent)}.btn:hover{filter:brightness(1.08)}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tab{flex:none;font:500 14px/1 var(--body);padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.tab:hover{color:var(--ink);border-color:var(--ink)}.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.caption{font-size:14px;color:var(--muted);margin-bottom:12px;min-height:3em;max-width:70ch}.scene{position:relative;aspect-ratio:1.2/1;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden;touch-action:pan-y;cursor:grab}.scene:active{cursor:grabbing}.scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .6s}.scene.live canvas{opacity:1}.scene .fallback{position:absolute;inset:0;width:100%;height:100%;padding:14px;color:var(--ink);transition:opacity .4s}.scene.live .fallback,.tag{opacity:0;pointer-events:none}.tag{position:absolute;left:0;top:0;font:500 12px/1.2 var(--body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--cat,var(--line));padding:3px 7px;border-radius:4px;white-space:nowrap;transition:opacity .3s}.scene.live .tag{opacity:.96}.tag.dim{opacity:.4!important}.tag .zh{display:block;font-size:11px;margin-bottom:2px}.tag .zh,.tag.zone{font-weight:600;color:var(--muted)}.tag.zone{background:transparent;border:0;letter-spacing:.03em;padding:0}.tip{position:absolute;max-width:250px;font-size:13px;line-height:1.45;background:var(--ink);color:var(--paper);padding:9px 11px;border-radius:6px;pointer-events:none;z-index:3}.tip b{display:block;font-weight:600;margin-bottom:2px}.hint{right:12px}.hint,.legend{position:absolute;bottom:10px;font-size:12px;color:var(--muted);pointer-events:none}.legend{left:12px;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:60%}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:2px;background:var(--cat)}.console{margin-top:14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 20px;align-items:start}.console .ctrls{display:flex;flex-direction:column;gap:8px}.chip{font:500 14px/1.2 var(--body);padding:10px 14px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left}.chip:hover,.chip[aria-pressed=true]{border-color:var(--accent)}.chip[aria-pressed=true]{background:var(--accent-soft)}.readout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0;font-size:13px}.readout div{display:flex;flex-direction:column;gap:1px;border-bottom:1px dashed var(--line);padding-block:4px 6px}.readout dt{color:var(--muted)}.readout dd{margin:0;font:500 14px/1.4 var(--mono);font-variant-numeric:tabular-nums}.readout dd.win{color:var(--good)}.note{grid-column:1/-1;font-size:13px;color:var(--muted)}section.block{padding-block:72px;border-top:1px solid var(--line)}.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px;align-items:end;margin-bottom:36px}.head h2{font-size:clamp(28px,3.6vw,42px);font-weight:750;font-stretch:112%}.head p{color:var(--muted);max-width:58ch}.cases{display:flex;flex-direction:column}.case{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);gap:32px;padding-block:32px;border-top:1px solid var(--line);scroll-margin-top:80px}.case:last-child{border-bottom:1px solid var(--line)}.case h3{font-size:clamp(22px,2.4vw,28px);font-weight:700;font-stretch:106%}.case .ctx{margin-top:12px;color:var(--muted);max-width:62ch}.case ul{margin:16px 0 0;padding-left:1.1em;max-width:64ch}.case li{margin-top:6px}.case li::marker{color:var(--accent)}.case .more{display:inline-block;margin-top:16px;font-weight:500}.result{display:flex;flex-direction:column;gap:10px;align-self:start}.figure{font-family:var(--display);font-weight:800;font-stretch:120%;font-size:clamp(40px,5vw,60px);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.figure small{font-size:.36em;font-weight:600;font-stretch:100%;color:var(--muted);letter-spacing:0;margin-left:6px}.figure.word{font-size:clamp(26px,2.8vw,34px);font-stretch:110%}.result p{color:var(--muted);font-size:15px}.stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.stack span{font-size:12.5px;padding:4px 8px;border-radius:4px;background:var(--accent-soft);color:var(--ink)}.xp{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:48px}.roles{list-style:none;margin:0;padding:0}.role{padding-block:24px;border-top:1px solid var(--line)}.role:last-child{border-bottom:1px solid var(--line)}.role h3{font-size:21px;font-weight:700;font-stretch:106%}.role .org{color:var(--muted);margin-top:3px}.role .sum{margin-top:10px;max-width:62ch}.role ul{margin:10px 0 0;padding-left:1.1em;max-width:64ch}.role li{margin-top:6px}.role li::marker{color:var(--accent)}.role li strong{color:var(--ink)}.projects{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.proj{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-top:1px solid var(--line)}.proj:first-of-type{border-top:0}.proj .pt{font-weight:500}.proj .ps{font-size:13px;color:var(--muted)}.side h3{font-size:18px;font-weight:700;font-stretch:108%;margin-bottom:10px}.side .group{padding-block:16px;border-top:1px solid var(--line)}.side .group:first-child{border-top:0;padding-top:0}.side p{font-size:15px}.side .k{color:var(--muted);font-size:13px;display:block;margin-bottom:2px}.aws{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.aws span{font-size:12.5px;padding:4px 8px;border-radius:4px;border:1px solid var(--line);background:var(--surface)}.posts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.posts li{border-top:1px solid var(--line);padding-block:18px}.posts a{font-family:var(--display);font-weight:650;font-stretch:104%;font-size:19px;line-height:1.3;color:var(--ink);text-decoration:none}.posts a:hover{color:var(--accent)}.posts time{display:block;margin-top:6px;font:400 13px/1.4 var(--mono);color:var(--muted)}.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:start}.contact h2{font-size:clamp(30px,4.4vw,52px);font-weight:800;font-stretch:115%}.contact .lead{margin-top:16px;color:var(--muted);max-width:44ch;font-size:17px}.links{display:flex;flex-direction:column}.links .row{display:flex;align-items:center;gap:12px;padding-block:14px;border-top:1px solid var(--line);flex-wrap:wrap}.links .row:last-child{border-bottom:1px solid var(--line)}.links .lbl{color:var(--muted);font-size:14px;min-width:80px}.links .val{font-weight:500;overflow-wrap:anywhere;margin-left:auto;text-align:right}.copy{font:500 13px/1 var(--body);padding:7px 10px;border-radius:5px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}footer{padding-block:28px 40px;color:var(--muted);font-size:13px}@media (max-width:900px){.case,.contact,.head,.hero .wrap,.xp{grid-template-columns:minmax(0,1fr)}.hero{padding-block:36px 28px}.hero .wrap{gap:28px}.head{gap:12px}.case{gap:18px}.result{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.result p{flex-basis:100%}}@media (max-width:600px){.top nav{gap:14px}.top nav a{font-size:14px}.console{grid-template-columns:minmax(0,1fr)}.console .ctrls{flex-direction:row;flex-wrap:wrap}.readout{grid-template-columns:minmax(0,1fr)}.scene{aspect-ratio:1/1.1}.tag{font-size:11px;padding:2px 5px}.tag.minor{display:none}.posts{grid-template-columns:minmax(0,1fr)}section.block{padding-block:52px}.hint,.legend{display:none}}.page-head{padding-block:56px 28px}.page-head h1{font-size:clamp(34px,5vw,56px);font-weight:800;font-stretch:112%}.page-head p{margin-top:14px;color:var(--muted);max-width:60ch;font-size:17px}.back{display:inline-block;margin-bottom:24px;font-weight:500;text-decoration:none}.back:hover{text-decoration:underline}.post-list{list-style:none;margin:0 0 72px;padding:0}.post-list li{border-top:1px solid var(--line);padding-block:26px;display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px}.post-list li:last-child{border-bottom:1px solid var(--line)}.post-list time{font:400 13px/1.8 var(--mono);color:var(--muted)}.post-list h2{font-size:clamp(21px,2.4vw,26px);font-weight:700;font-stretch:106%}.post-list h2 a{color:var(--ink);text-decoration:none}.post-list h2 a:hover{color:var(--accent)}.post-list p{margin-top:8px;color:var(--muted);max-width:66ch}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tags span{font-size:12.5px;padding:3px 8px;border-radius:4px;background:var(--accent-soft)}.article{max-width:720px;margin:0 auto;padding-block:48px 72px}.article .meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;color:var(--muted);font-size:14px}.article .meta time{font-family:var(--mono)}.article h1{font-size:clamp(32px,4.6vw,48px);font-weight:800;font-stretch:110%;margin-top:14px}.article .lede{margin-top:16px;font-size:19px;color:var(--muted)}.prose{margin-top:40px;font-size:17.5px;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{font-size:28px;font-weight:750;font-stretch:108%;margin-top:2em}.prose h3{font-size:21px;font-weight:700;margin-top:1.6em}.prose ol,.prose ul{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--accent)}.prose a{color:var(--accent)}.prose strong{color:var(--ink)}.prose code{font-family:var(--mono);font-size:.88em;background:var(--accent-soft);padding:.12em .35em;border-radius:4px}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;overflow-x:auto;font-size:14px;line-height:1.6}.prose pre code{background:none;padding:0}.prose blockquote{margin-inline:0;padding-left:16px;border-left:3px solid var(--accent);color:var(--muted)}.prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.prose td,.prose th{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}.prose img{border-radius:8px}.article-end{margin-top:56px;padding-top:28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}.article-end p{color:var(--muted)}.nf{padding-block:96px;max-width:560px}.nf .code{font-family:var(--display);font-weight:800;font-stretch:120%;font-size:clamp(64px,12vw,120px);line-height:1;color:var(--accent)}.nf h1{margin-top:16px;font-size:32px;font-weight:750}.nf p{margin-top:12px;color:var(--muted)}.nf .actions{margin-top:28px}@media (max-width:600px){.post-list li{grid-template-columns:minmax(0,1fr);gap:6px}}