@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAVsABAAAAAACiAAAAUUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cKAZgAFQIQgmCcxEQCoNAg0ELDgABNgIkAxgEIAWDSgdGDINWG/cICK4HeEMa9QvHYUYoWISVufhyPO4rK4wq8QCvG/Z+khpQ9VQUKmJGR7VhNlofJtO7WzYT/m8t/bOzfITh2QAfBfFyYSBXUpF13botgcrzFYYlS+gb3HN6PVb2Pa4Ohav2P3Vx21PdwH74+5m+WGikRhOOaID//63f/qKCK3XA6Xdii6sAOUw+PJpdIB2Anpo55RTBIV+qjt97ogBkBAqERo6uaAAeDSgHkzpSJOpY48behSnQAuzbkigomguDqKglYMKfHRZrCf1AlOVYhsJAxQBiIALAuOGVBA0F6YM49791KCQBmVJAFwBRhnoKpCggAmKgDgwBddDygBwehQaqIm7SB+UEjwrl396mQnbvWd+AKeW8YuRrU69KowkVkuwYc+WOB0Cu3Jc6lGLDLDYSQR09HcCnD1kChQkKYercxyFczSuF8qkSb9MnBHjJYocCFVJSNOqVw9JOCqpQgjq2cChwIfXJcZvRdS1hreQsLY5beZaOJiO9A3LSRtMZWwbP5nUhsvq5o3Nvw1xJHjovwDe0qrU1w6GgeTgJnM2TKBkj4TG6fszfTmIKE4gct53aUtsiHx3ZuHKNbPokiRTJr6fOPSZGNpY2uvazL0zr7Oao/dUhF2Q71l6e5prRuobWFa3FYrAQJslH21rjYqt54UWK143ZgDs0rCC3xm1GKeHo1BzXUfEEVNSZ6gKtAft/g9ehEAoT6luKvAGS1OoABOOJ9JhyWXWAigA5IAaGANMASIC/RQAEkCSpBzQV1f0VMnRv8Us4dqdxJqia56CZmaC5eyMce5kpDp396Gv2/GdHbzbIEmfOhOYs9VU7L7LnR8x6/imK1SO5tdXnLFQW9naoNqxorzQebJ1StVTlLgoR11a8P3n4ZJcuP8Ph+zBo/B/yaQNtbZXGQ6Oi0uWTtlS6N3nYbZr/2GNs/R7MisJ7eIrDE2rWSldwNUrwOyUwaq4Cd2n8BGYa3KqAn8Ue3dht437u2u0pq1RpxY4iFCgOFMREEIhA7WRgjSdbE/2KVhO4dZu2yzBMRwttm3jXaAYuwt9bnuCJvxYQ3r+NI/wabY0ndIEk9pZYLw6FvktTDkZAHsZADsa7oUzogZSJOB632//uQPD+xr5ZUn3gb5Wr4G/wE8PLAfi5/vf/yZ1kD0JAAQSQhH+TvDMBCyA7k4rhIcL7aShHI0mh5w9ARbU4fVgIIAMi6BcJBFQ2BEOJAGB+yECL5LnVUrSea7ECa/O0VcuwGtCy3JI+o1YSsNaCBTMyuLjM6zdn1IwF85zmjZrgNG3OMJdqPhVKFahUY8KgFfV6TZlXaNqUAQ71Bk0aVWDahAFNBs2ZN9p2Eh5OiYrNpG6WyOTDutlhiyb0muM5OH7S+UlHBsOnDxpAqIw1PWP1N5Dh33MWkcDNIx15iI341TkznIh8EyaQQjIfdA9qOEiWHviLThSAMi12j6gIhEABDhjR3OLmUTc8Xl1JcBckhS/Ndysg7ylEg8qHSaTFwFeXxAkVyEIDVM4vlnWSxApdpBdlPcsgQjA7AxFJo3Dh2+7wCpIinsSPYTpJcYuSszCfdA4SE86iVcrlFs4PZzGOTWmSJhxnsep5JYtkQ5OTxdP6Ax7Q5OVKcvzAswSFUsUJY4GxqFQWF9fvLJVEsSR2WrBqq1Ri3qcxppmXRyAOesqEw+VL4P/T91QuG7RTc/O4M9wbpAe7BD38wA6kBzu501DH2KTfNcYBrFtwDQA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAASIAA0AAAAABWQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHUE9TAAABMAAAAB4AAAAeRHRMdUdTVUIAAAFQAAAAJwAAACi4/LjqT1MvMgAAAXgAAABTAAAAYGncofljbWFwAAABzAAAADwAAABUAMohV2dhc3AAAAIIAAAAEAAAABAAGAAhZ2x5ZgAAAhgAAADEAAAAxFI/PixoZWFkAAAC3AAAADYAAAA2GuVJ6WhoZWEAAAMUAAAAHgAAACQHjQKuaG10eAAAAzQAAAAXAAAAGAZoAEFsb2NhAAADTAAAAA4AAAAOAIwAjG1heHAAAANcAAAAHAAAACAAGAC1bmFtZQAAA3gAAADeAAAByiPTQMdwb3N0AAAEWAAAADAAAABG/6irTAABAAAACgAcABwAAURGTFQACAAEAAAAAP//AAAAAAAAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaLYUxDkBAFAXnv10k6NSSLZQuoBOdiH4rB9K6isrlWGEyk8GrVcSB9nRYvttGtAFUFXkmRxLexM88rcFGCKer7856b9YE7ABQqQsI6AGbcwjaAHjaY2BgYAJiZiAWAZKMYJqFwQFI8zBwAOVYgCxeBgWGBQpb/v8HspF5jP+//n/8P/V+AEgfAgAAknEOOQABAAMACAAKABAABf//AA8AAgAgAAABiAMMAAMABwAAEyERISURIxEgAWj+mAEQuAMM/PRYAlz9pAAAAQAh//QCJALGADYAAAUiJjU0NjcjNTM/ATUHIzUhPgE1NCYjIgcnPgEzMhYVFAYHMxUjDwEVNzMVIQYVFBYzMjcXDgEBLmtkCQhPdk9GaaIBQgcGJi1GLj4gZDhkWwkIT3ZOR2mh/r8NLzNILj4hZAxcTRIlEU4xIAoHTg4fDyskN0smLFtNEiYRTjAiCghOGyArJDdLJi0AAAEAAAABAMSgvffYXw889QAJA+gAAAAA2zdCSwAAAADc58KH/ur+9gSfBHcAIAAJAAIAAAAAAAB42mNgZGBgYfz3Fkhe+Pfq3yuW+UARVMAGALBLB0AAAHjaY1zBoMAAAlcgmMmFQRFEAwAsfQOtAAAAABUAFQAVABUAYgBiAAB42mNgZGBgYGMIZGBnSALSIB4CsDAwAgASBQDOeNqVkEWWQkEQBGPcZznrPsC4u7s7ssLdHc7GCTgV+frhrPgaVZ2lwCwhJhibnBO7x+ZbPMYljRaPs0y9xRNcU2vxZI9mihUCLZ5mk90WL4sgQkF3hmM2dOfxkyMquyBeJy9O6J+WN6zzD+555Ylr3vjUSZAKP3hJSXkjVUqV1uQJklTktTwJef5l52wuKTBsKeNO63vSymZEo+b9lh2mKPaSa+fpxJtOBtPJEbR2UGSGsklDhio5+cJ2L4ZtNtniSNTKblU56dbFVyR0m56IvLWCtkaOkq203gTmuEO8AAB42mNgYgCD/1sZIhiwATYgZmRkYmBmZGZkYS/NyzQwMHAB0UYGTiYQvqMBANKMCJs=) format("woff");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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-condensed-vietnamese-600-normal.CdKbmnAp.woff2) format("woff2"),url(/_astro/ibm-plex-sans-condensed-vietnamese-600-normal.-5ui7us-.woff) format("woff");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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-condensed-latin-ext-600-normal.CBdNZ9Ci.woff2) format("woff2"),url(/_astro/ibm-plex-sans-condensed-latin-ext-600-normal.DvCwRnqE.woff) format("woff");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 Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-condensed-latin-600-normal.CRd5VyFf.woff2) format("woff2"),url(/_astro/ibm-plex-sans-condensed-latin-600-normal.6XnkKYvF.woff) format("woff");unicode-range:U+0000-00FF,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;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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+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;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+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;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+0000-00FF,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;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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+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;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+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;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+0000-00FF,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}:root{color-scheme:dark;--bg: #0e1116;--bg-sunken: #0a0d11;--surface: #151920;--surface-raised: #1c212a;--line: #262c36;--line-strong: #3a424f;--text: #e8ebf0;--text-soft: #b3bac6;--text-muted: #9aa3b2;--text-faint: #7c8697;--amber: #e0a64b;--amber-dim: #a87c33;--cyan: #4fc3d9;--cyan-dim: #2f8ea3;--violet: #9b8cf0;--ok: #74cfa0;--warn: #ddb44e;--fault: #e0736f;--accent-blue: var(--cyan);--accent-teal: var(--ok);--accent-violet: var(--violet);--font-display: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--font-body: "IBM Plex Sans Variable", "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--step--2: clamp(.7rem, .68rem + .1vw, .76rem);--step--1: clamp(.8rem, .77rem + .15vw, .88rem);--step-0: clamp(.94rem, .9rem + .2vw, 1.05rem);--step-1: clamp(1.13rem, 1.05rem + .35vw, 1.35rem);--step-2: clamp(1.4rem, 1.25rem + .6vw, 1.85rem);--step-3: clamp(1.65rem, 1.45rem + .9vw, 2.35rem);--step-4: clamp(1.9rem, 1.5rem + 1.5vw, min(3rem, 7svh));--step-5: clamp(2.3rem, 1.7rem + 2.6vw, min(4.2rem, 10svh));--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-s: 1rem;--space-m: 1.5rem;--space-l: 2.25rem;--space-xl: 3.5rem;--radius-xs: 2px;--radius-s: 4px;--radius-m: 8px;--page-width: 1180px;--rail-width: 3.5rem;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-signal: cubic-bezier(.4, 0, .1, 1)}:root[data-theme=light]{color-scheme:light;--bg: #eef1f5;--bg-sunken: #e3e7ed;--surface: #ffffff;--surface-raised: #f7f9fb;--line: #d2d9e2;--line-strong: #a9b3c1;--text: #11151b;--text-soft: #414b59;--text-muted: #545f70;--text-faint: #646d7c;--amber: #8a5d0c;--amber-dim: #a97c2a;--cyan: #106b7e;--cyan-dim: #14829a;--violet: #5744bd;--ok: #1c7c53;--warn: #8a6410;--fault: #b1423e}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 60%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 45%,transparent) 1px,transparent 1px);background-size:64px 64px;opacity:.5;mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,black 20%,transparent 78%)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;line-height:1.04;letter-spacing:-.015em;text-wrap:balance}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-2)}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}img,svg{display:block;max-width:100%}ul,ol{margin:0;padding:0;list-style:none}::selection{background:color-mix(in srgb,var(--amber) 32%,transparent);color:var(--text)}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:var(--radius-xs)}.container{width:min(100% - 2.5rem,var(--page-width));margin-inline:auto}.mono{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:var(--space-2xs);left:var(--space-2xs);z-index:100;padding:var(--space-2xs) var(--space-s);background:var(--surface-raised);border:1px solid var(--amber);border-radius:var(--radius-s);transform:translateY(-160%);transition:transform .2s var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}html.js [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease-out) var(--reveal-delay, 0s),transform .45s var(--ease-out) var(--reveal-delay, 0s)}html.js [data-reveal].is-revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js [data-reveal]{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-height:1000px){:root{--space-m: 1.15rem;--space-l: 1.6rem;--space-xl: 2.4rem}}@media(max-height:860px){:root{--space-s: .85rem;--space-m: 1rem;--space-l: 1.35rem;--space-xl: 2rem}}.deck{position:relative;scroll-snap-type:y proximity}@media(min-height:780px)and (prefers-reduced-motion:no-preference){html:has(.deck){scroll-snap-type:y proximity}}@media(max-height:779px){.deck{scroll-snap-type:none}.sheet{min-height:0;padding-block:clamp(2.5rem,7vh,4rem)}}.sheet{position:relative;display:flex;flex-direction:column;justify-content:safe center;min-height:100svh;padding-block:clamp(2rem,5svh,3.5rem);padding-left:var(--rail-width);scroll-snap-align:start;scroll-margin-top:0}.sheet+.sheet{border-top:1px solid var(--line)}.sheet:before{content:"";position:absolute;inset-block:0;left:var(--rail-width);width:1px;background:linear-gradient(to bottom,transparent,var(--line) 12%,var(--line) 88%,transparent);pointer-events:none}.sheet__head,.sheet__foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-s);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.sheet__head{padding-bottom:var(--space-s);margin-bottom:clamp(var(--space-m),4vh,var(--space-xl));border-bottom:1px solid var(--line)}.sheet__head b{color:var(--amber);font-weight:500}.sheet__foot{padding-top:var(--space-s);margin-top:clamp(var(--space-m),4vh,var(--space-xl));border-top:1px solid var(--line)}.sheet__body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(var(--space-s),2.5vw,var(--space-l));align-items:start}.col-full{grid-column:1 / -1}.col-half{grid-column:span 6}.col-third{grid-column:span 4}.col-two-thirds{grid-column:span 8}.col-seven{grid-column:span 7}.col-five{grid-column:span 5}@media(max-width:900px){.col-half,.col-third,.col-two-thirds,.col-seven,.col-five{grid-column:1 / -1}}.eyebrow{display:flex;align-items:center;gap:var(--space-2xs);margin:0 0 var(--space-xs);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.eyebrow:before{content:"";width:1.75rem;height:1px;background:currentColor}.lead{max-width:62ch;color:var(--text-soft);font-size:var(--step-1);line-height:1.5}.body-copy{max-width:68ch;color:var(--text-soft)}.body-copy p+p{margin-top:var(--space-s)}.body-copy strong{color:var(--text);font-weight:600}.rail{position:fixed;inset-block:0;left:0;z-index:20;width:var(--rail-width);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-block:var(--space-s);background:color-mix(in srgb,var(--bg) 88%,transparent);border-right:1px solid var(--line);backdrop-filter:blur(8px)}.rail__brand{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--line-strong);border-radius:var(--radius-s);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;color:var(--amber)}.rail__nav{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2xs);width:100%;max-height:62svh;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.rail__link{position:relative;display:block;width:100%;height:6.5rem}.rail__link-text{position:absolute;top:50%;left:50%;display:block;padding:.3rem .55rem;border:1px solid transparent;border-radius:999px;white-space:nowrap;color:var(--text-muted);translate:-50% -50%;rotate:-90deg;transition:rotate .42s var(--ease-out),translate .42s var(--ease-out),color .25s,background .25s,border-color .25s}.rail__link.is-flat .rail__link-text,.rail__link:focus-visible .rail__link-text{rotate:0deg;translate:calc(-50% + 4.2rem) -50%;color:var(--text);background:var(--surface-raised);border-color:var(--line-strong);box-shadow:0 .4rem 1rem color-mix(in srgb,black 28%,transparent)}.rail__link:focus-visible{outline:none}.rail__link:focus-visible .rail__link-text{outline:2px solid var(--amber);outline-offset:2px}.rail{overflow:visible}@media(prefers-reduced-motion:reduce){.rail__link-text{transition:color .25s,background .25s,border-color .25s}}.rail__actions{display:flex;flex-direction:column;gap:var(--space-2xs);align-items:center}.rail__button{display:grid;place-items:center;width:2.1rem;height:2.1rem;background:transparent;border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s}.rail__button:hover{color:var(--amber);border-color:var(--line-strong)}.rail__lang{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;color:var(--text-muted)}.rail__lang b{color:var(--text);font-weight:500}.trace{position:fixed;top:50%;right:clamp(.5rem,1.6vw,1.4rem);z-index:20;transform:translateY(-50%);display:flex;flex-direction:column;gap:0}.trace__link{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2xs);padding:.42rem 0;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;color:var(--text-faint);transition:color .25s var(--ease-out)}.trace__label{opacity:0;transform:translate(6px);text-transform:uppercase;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.trace__tick{position:relative;width:1.5rem;height:1px;background:var(--line-strong);transition:background .25s var(--ease-out),width .25s var(--ease-out)}.trace__tick:after{content:"";position:absolute;top:50%;right:0;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:var(--line-strong);transition:background .25s var(--ease-out),box-shadow .25s var(--ease-out),transform .25s var(--ease-out)}.trace__link:hover,.trace__link:focus-visible{color:var(--text-soft)}.trace__link:hover .trace__label,.trace__link:focus-visible .trace__label{opacity:1;transform:none}.trace__link[aria-current=page]{color:var(--amber)}.trace__link[aria-current=page] .trace__label{opacity:1;transform:none}.trace__link[aria-current=page] .trace__tick{width:2.25rem;background:var(--amber)}.trace__link[aria-current=page] .trace__tick:after{background:var(--amber);transform:scale(1.6);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 18%,transparent)}@media(max-width:720px){:root{--rail-height: 3.25rem}.trace{display:none}.rail{inset:auto 0 0;width:100%;height:var(--rail-height);flex-direction:row;align-items:center;gap:var(--space-2xs);padding:0 var(--space-2xs);border-right:0;border-top:1px solid var(--line)}.rail__brand{flex-shrink:0;width:1.9rem;height:1.9rem}.rail__nav{flex:1 1 auto;flex-direction:row;min-width:0;max-height:none;gap:var(--space-s);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding-block:var(--space-3xs)}.rail__nav::-webkit-scrollbar{display:none}.rail__link{width:auto;height:auto}.rail__link-text{position:static;padding:0;border:0;translate:none;rotate:none;white-space:nowrap;background:transparent}.rail__actions{flex-direction:row;flex-shrink:0;align-items:center;gap:var(--space-3xs)}.view-switch{grid-auto-flow:column}.rail__lang{white-space:nowrap}.sheet{padding-left:0;padding-inline:0;padding-block:var(--space-m);min-height:0}.sheet:last-of-type{padding-bottom:calc(var(--rail-height) + var(--space-m))}.sheet:before{display:none}.deck,html:has(.deck){scroll-snap-type:none}.container{width:min(100% - 1.75rem,var(--page-width))}}.button{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:.65rem 1.15rem;border:1px solid var(--line-strong);border-radius:var(--radius-s);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--text);transition:border-color .2s,color .2s,background .2s}.button:hover{border-color:var(--amber);color:var(--amber)}.button--primary{background:var(--amber);border-color:var(--amber);color:var(--bg);font-weight:600}.button--primary:hover{background:color-mix(in srgb,var(--amber) 82%,white);border-color:transparent;color:var(--bg)}.text-link{display:inline-flex;align-items:center;gap:var(--space-3xs);padding-bottom:2px;border-bottom:1px solid color-mix(in srgb,var(--amber) 45%,transparent);color:var(--amber);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.06em;transition:border-color .2s}.text-link:hover{border-color:var(--amber)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-3xs)}.tag{padding:.18rem .5rem;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.card-grid{display:grid;gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.card{--card-accent: var(--cyan);position:relative;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-s);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);transition:border-color .25s var(--ease-out),transform .25s var(--ease-out)}.card[data-accent=teal]{--card-accent: var(--accent-teal)}.card[data-accent=violet]{--card-accent: var(--accent-violet)}.card:before{content:"";position:absolute;inset-inline:var(--space-s);top:-1px;height:2px;background:var(--card-accent);opacity:0;transition:opacity .25s var(--ease-out)}.card:hover,.card:focus-within{border-color:var(--line-strong);transform:translateY(-2px)}.card:hover:before,.card:focus-within:before{opacity:1}.card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.card__signal{width:6px;height:6px;border-radius:50%;background:var(--card-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent) 16%,transparent);flex-shrink:0}.card__eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--card-accent)}.card__title{font-size:var(--step-2)}.card__summary{color:var(--text-soft);font-size:var(--step--1);line-height:1.55}.card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2xs);flex-wrap:wrap;margin-top:auto;padding-top:var(--space-2xs)}.card__link:after{content:"";position:absolute;inset:0;border-radius:inherit}.card--feature{gap:var(--space-xs);padding:clamp(var(--space-s),2.5vh,var(--space-m));border-color:var(--line-strong);background:linear-gradient(180deg,var(--surface-raised),var(--surface))}.card--feature .card__title{font-size:var(--step-3)}.card--feature .card__summary{font-size:var(--step-0)}.index-list{display:grid;gap:0}.index-row{position:relative;display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;gap:var(--space-s);align-items:baseline;padding:var(--space-xs) 0;border-bottom:1px solid var(--line);transition:background .2s}.index-row:first-child{border-top:1px solid var(--line)}.index-row:hover{background:color-mix(in srgb,var(--surface) 70%,transparent)}.index-row__num{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint)}.index-row__title{font-family:var(--font-display);font-size:var(--step-1);font-weight:600}.index-row__summary{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--step--1);line-height:1.45}.index-row__tags{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint);text-align:right}@media(max-width:720px){.index-row{grid-template-columns:2rem minmax(0,1fr)}.index-row__tags{display:none}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden}.stat{padding:var(--space-s);background:var(--surface)}.stat strong{display:block;font-family:var(--font-display);font-size:var(--step-3);font-weight:600;line-height:1;color:var(--amber)}.stat span{display:block;margin-top:var(--space-3xs);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.principles{display:grid;gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.principle{padding-top:var(--space-xs);border-top:2px solid var(--amber)}.principle__num{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;color:var(--amber)}.principle h3{margin:var(--space-3xs) 0 var(--space-2xs);font-size:var(--step-1)}.principle p{color:var(--text-muted);font-size:var(--step--1);line-height:1.5}.toolkit{display:grid;gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.toolkit__group>p{margin-bottom:var(--space-2xs);padding-bottom:var(--space-3xs);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.toolkit__items{display:flex;flex-direction:column;gap:var(--space-3xs)}.toolkit__item{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--step--1);color:var(--text-soft)}.tech-icon{display:grid;place-items:center;width:1rem;height:1rem;color:var(--text-faint);flex-shrink:0}.tech-icon svg{width:100%;height:100%;fill:currentColor}.contact-form{display:grid;gap:var(--space-2xs);max-width:30rem}.field{display:grid;gap:var(--space-3xs)}.field label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.field input,.field textarea{padding:.55rem .7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--text);font:inherit;font-size:var(--step--1)}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--amber);outline-offset:1px}.field textarea{min-height:6rem;resize:vertical}.contact-links{display:flex;flex-wrap:wrap;gap:var(--space-s);font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted)}.contact-links a:hover{color:var(--amber)}.case{padding-left:var(--rail-width)}.case__hero{padding-block:clamp(4rem,12vh,7rem) var(--space-l);border-bottom:1px solid var(--line)}.case__meta{display:flex;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-s);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.case__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,18rem);gap:clamp(var(--space-m),4vw,var(--space-xl));padding-block:var(--space-l) var(--space-xl);align-items:start}@media(max-width:900px){.case__grid{grid-template-columns:minmax(0,1fr)}.case{padding-left:0;padding-bottom:5rem}}.case__section+.case__section{margin-top:var(--space-l)}.case__section h2{margin-bottom:var(--space-xs);font-size:var(--step-2)}.case__prose{color:var(--text-soft)}.case__prose h2{margin:var(--space-l) 0 var(--space-xs);font-size:var(--step-2);color:var(--text)}.case__prose h3{margin:var(--space-m) 0 var(--space-2xs);font-size:var(--step-1);color:var(--text)}.case__prose p+p,.case__prose ul{margin-top:var(--space-s)}.case__prose ul{display:grid;gap:var(--space-2xs)}.case__prose li{position:relative;padding-left:var(--space-s)}.case__prose li:before{content:"";position:absolute;left:0;top:.65em;width:.5rem;height:1px;background:var(--amber)}.case__prose strong{color:var(--text)}.case__prose blockquote{margin:var(--space-m) 0 0;padding:var(--space-s);border-left:2px solid var(--line-strong);background:var(--surface);border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--text-muted);font-size:var(--step--1)}.case__prose blockquote p{margin:0}.decision{display:grid;gap:var(--space-2xs);padding:var(--space-s);border:1px solid var(--line);border-left:2px solid var(--amber);border-radius:0 var(--radius-s) var(--radius-s) 0;background:var(--surface)}.decision+.decision{margin-top:var(--space-2xs)}.decision__row{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--space-2xs);align-items:baseline}.decision__key{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.decision__value{font-size:var(--step--1);line-height:1.5;color:var(--text-soft)}.decision__row--choice .decision__value{color:var(--text);font-weight:500}.decision__row--alternative .decision__value{color:var(--text-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--fault) 60%,transparent)}@media(max-width:560px){.decision__row{grid-template-columns:minmax(0,1fr);gap:0}}.case__aside{display:grid;gap:var(--space-m);position:sticky;top:var(--space-m)}.case__block>p:first-child{margin-bottom:var(--space-2xs);padding-bottom:var(--space-3xs);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.spec-list{display:grid;gap:var(--space-3xs)}.spec-list li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:var(--space-2xs);font-size:var(--step--1);color:var(--text-soft)}.spec-list dt,.spec-list .spec-key{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.bullet-list{display:grid;gap:var(--space-2xs)}.bullet-list li{position:relative;padding-left:var(--space-s);font-size:var(--step--1);line-height:1.5;color:var(--text-soft)}.bullet-list li:before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:1px;background:var(--amber)}.notice{padding:var(--space-xs);border:1px dashed var(--line-strong);border-radius:var(--radius-s);font-family:var(--font-mono);font-size:var(--step--2);line-height:1.5;color:var(--text-muted)}.sheet__intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(var(--space-s),3vw,var(--space-l));align-items:end;margin-bottom:var(--space-m)}@media(max-width:860px){.sheet__intro{grid-template-columns:minmax(0,1fr);gap:var(--space-s);align-items:start}}.cover__copy{display:grid;gap:var(--space-s);align-content:center}.cover__name{color:var(--text-muted)}.cover__actions{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.cover__index{align-self:center;display:grid;gap:var(--space-2xs);padding-left:clamp(var(--space-s),3vw,var(--space-l));border-left:1px solid var(--line)}@media(max-width:900px){.cover__index{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:var(--space-s)}}.cover__index-label{margin-bottom:var(--space-2xs);color:var(--text-faint)}.cover__list{display:grid;gap:0 var(--space-s)}@media(min-width:1100px){.cover__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.cover__list a{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--space-2xs);padding:.38rem 0;border-bottom:1px solid var(--line);color:var(--text-soft);font-size:var(--step--1);transition:color .2s,padding-left .2s var(--ease-out)}.cover__list a:hover{color:var(--amber);padding-left:var(--space-3xs)}.cover__list .mono{color:var(--text-faint)}.profile__lead,.profile__body,.profile__stats{margin-top:var(--space-s)}.profile__aside-label{margin-bottom:var(--space-2xs);padding-bottom:var(--space-3xs);border-bottom:1px solid var(--line);color:var(--text-faint)}.approach__pipeline{margin-top:var(--space-m)}.approach__pipeline-label{color:var(--amber)}.approach__pipeline-lead{margin:var(--space-3xs) 0 var(--space-s)}.architecture__copy,.architecture__layers{margin-top:var(--space-s)}.architecture__self{display:grid;gap:var(--space-2xs);margin-top:var(--space-m);padding-top:var(--space-s);border-top:1px solid var(--line)}.architecture__self h3{font-size:var(--step-1)}.architecture__self .text-link{justify-self:start}.contact__ai-title{font-size:var(--step-2)}.contact__ai-copy{margin-top:var(--space-2xs);font-size:var(--step--1)}.contact__title{margin-top:var(--space-l)}.contact__actions{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-top:var(--space-s)}.contact__links{margin-top:var(--space-s);padding-top:var(--space-s);border-top:1px solid var(--line)}.case__eyebrow{margin-top:var(--space-m)}.case__summary{margin-top:var(--space-s)}.contact-form__status{min-height:1.2em;margin-top:var(--space-3xs);color:var(--text-muted)}.contact-form__status[data-state=ok]{color:var(--ok)}.contact-form__status[data-state=error]{color:var(--fault)}.thanks{display:grid;gap:var(--space-s);justify-items:start;align-content:center;min-height:70svh;padding-block:var(--space-xl)}.thanks .button{margin-top:var(--space-2xs)}.photo{margin:0;display:grid;gap:var(--space-3xs)}.photo img{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface)}.photo figcaption{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;color:var(--text-faint)}.photo--portrait{margin-bottom:var(--space-s)}.photo--portrait img{aspect-ratio:4 / 5;max-height:26svh;width:auto;object-fit:cover;filter:grayscale(1) contrast(1.05)}.photo--shot{margin-bottom:var(--space-l)}.photo--shot img{aspect-ratio:16 / 10;object-fit:cover}.profile__side{display:grid;gap:var(--space-s);align-content:start}.profile__side .stats{grid-template-columns:minmax(0,1fr)}.profile__timeline{margin-top:var(--space-m);padding-top:var(--space-s);border-top:1px solid var(--line)}@media(max-width:900px){.profile__side .stats{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.photo--portrait img{max-height:18svh}}.card__summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}.index-row__summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}@media(max-height:900px){.index-row{padding-block:var(--space-3xs);align-items:center}.index-row__summary{display:none}.card__summary{-webkit-line-clamp:3;line-clamp:3}.photo--portrait img{max-height:20svh}.profile__timeline{margin-top:var(--space-s);padding-top:var(--space-2xs)}.timeline__row{padding-block:var(--space-3xs)}}@media(min-width:1100px){.index-list--split{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-l)}.index-list--split .index-row:nth-child(2){border-top:1px solid var(--line)}}@media(min-width:900px){.card-grid--pairs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:820px){.card__summary{-webkit-line-clamp:2;line-clamp:2}.lead{font-size:var(--step-0)}}.track__note{margin-top:var(--space-m);padding-top:var(--space-s);border-top:1px solid var(--line)}.track__note .body-copy{font-size:var(--step--1)}.practice__ai{padding-left:var(--space-s);border-left:1px solid var(--line)}@media(max-width:900px){.practice__ai{padding-left:0;padding-top:var(--space-s);border-left:0;border-top:1px solid var(--line)}}.art{position:relative;aspect-ratio:var(--art-ratio, 16 / 10);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-s);background:linear-gradient(160deg,var(--surface-raised),var(--surface));color:var(--amber)}.art svg{width:100%;height:100%;fill:none;stroke-width:1}.photo--portrait .art{height:26svh;width:auto;aspect-ratio:4 / 5;margin-inline:auto}@media(max-height:900px){.photo--portrait .art{height:20svh}}@container (max-width: 560px){.photo--portrait .art{height:14svh}}.figure{display:grid;gap:var(--space-2xs)}.figure svg{width:100%;height:auto;overflow:visible}.figure figcaption{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.dg-surface{fill:var(--surface);stroke:var(--line);stroke-width:1}.dg-surface--accent{stroke:var(--amber)}.dg-surface--muted{fill:var(--bg-sunken)}.dg-edge{fill:none;stroke:var(--line-strong);stroke-width:1}.dg-edge--active{stroke:var(--amber);stroke-width:1.5}.dg-edge--dashed{stroke-dasharray:3 4}.dg-label{fill:var(--text);font-family:var(--font-display);font-size:12px;font-weight:600}.dg-sub{fill:var(--text-muted);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.06em}.dg-axis{fill:var(--text-faint);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em}.dg-dot{fill:var(--amber)}.dg-dot--muted{fill:var(--line-strong)}.timeline{display:grid;gap:0}.timeline__row{display:grid;grid-template-columns:4.5rem 1.25rem minmax(0,1fr);gap:var(--space-2xs);align-items:start;padding-block:var(--space-2xs)}.timeline__year{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;color:var(--text-faint);padding-top:.15rem}.timeline__mark{position:relative;align-self:stretch;display:flex;justify-content:center}.timeline__mark:before{content:"";position:absolute;inset-block:-.5rem;width:1px;background:var(--line)}.timeline__row:first-child .timeline__mark:before{top:.45rem}.timeline__row:last-child .timeline__mark:before{bottom:calc(100% - .45rem)}.timeline__node{position:relative;width:7px;height:7px;margin-top:.4rem;border-radius:50%;background:var(--bg);border:1px solid var(--line-strong)}.timeline__row[data-current] .timeline__node{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 20%,transparent)}.timeline__label{font-family:var(--font-display);font-size:var(--step-0);font-weight:600}.timeline__detail{display:block;color:var(--text-muted);font-size:var(--step--1);line-height:1.45}.pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden}.pipeline__step{position:relative;padding:var(--space-xs) var(--space-2xs) var(--space-s);background:var(--surface)}.pipeline__step:before{content:"";position:absolute;inset-inline:0;top:0;height:2px;background:var(--amber)}.pipeline__num{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;color:var(--amber)}.pipeline__name{display:block;margin-top:var(--space-3xs);font-family:var(--font-display);font-size:var(--step-0);font-weight:600}.pipeline__detail{display:block;margin-top:var(--space-3xs);color:var(--text-muted);font-size:var(--step--2);line-height:1.4}.layers{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden}.layer{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-2xs);align-items:baseline;padding:var(--space-xs) var(--space-s);background:var(--surface)}.layer__num{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint)}.layer strong{font-family:var(--font-display);font-size:var(--step-0)}.layer small{display:block;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em}.layer[data-core]{background:var(--surface-raised)}.layer[data-core] strong{color:var(--amber)}@media(prefers-reduced-motion:no-preference){html.js .figure svg .dg-edge{stroke-dasharray:var(--dash, 300);stroke-dashoffset:var(--dash, 300)}html.js .figure.is-drawn svg .dg-edge{animation:draw-edge .9s var(--ease-out) forwards;animation-delay:calc(var(--edge-index, 0) * 45ms)}html.js .figure svg .dg-surface{opacity:0;transform:translateY(6px);transform-box:fill-box;transform-origin:center}html.js .figure.is-drawn svg .dg-surface{animation:settle-node .46s var(--ease-out) forwards;animation-delay:calc(var(--node-index, 0) * 65ms)}html.js .figure svg text{opacity:0}html.js .figure.is-drawn svg text{animation:fade-in .42s var(--ease-out) forwards;animation-delay:.32s}html.js .figure svg .dg-dot{opacity:0}html.js .figure.is-drawn svg .dg-dot{animation:fade-in .42s var(--ease-out) forwards;animation-delay:.44s}}@keyframes draw-edge{to{stroke-dashoffset:0}}@keyframes settle-node{to{opacity:1;transform:none}}@keyframes fade-in{to{opacity:1}}.instrument{position:relative;display:grid;place-items:center;aspect-ratio:1;width:100%;max-width:min(14rem,24svh);margin-inline:auto;color:var(--amber)}.instrument svg{width:100%;height:auto}.instrument__label{position:absolute;bottom:0;right:0;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.14em;color:var(--text-faint)}@media(prefers-reduced-motion:no-preference){.instrument__orbit{transform-box:fill-box;transform-origin:center;animation:orbit-spin 44s linear infinite}.instrument__orbit--reverse{animation-duration:68s;animation-direction:reverse}.instrument__core{transform-box:fill-box;transform-origin:center;animation:core-breathe 6s ease-in-out infinite}.instrument__sweep{stroke-dasharray:620;animation:sweep 4s var(--ease-signal) infinite}.instrument__blip{transform-box:fill-box;transform-origin:center;animation:blip 4s var(--ease-signal) infinite}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes core-breathe{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.05);opacity:1}}@keyframes sweep{0%{stroke-dashoffset:620;opacity:0}10%{opacity:1}68%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes blip{0%,60%{opacity:0;transform:scale(.4)}68%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media(prefers-reduced-motion:no-preference){html.js .toolkit__group.is-revealed .toolkit__item{animation:icon-in .38s var(--ease-out) both;animation-delay:calc(var(--icon-index, 0) * 45ms)}}@keyframes icon-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.toolkit__item{transition:color .2s}.toolkit__item:hover{color:var(--text)}.tech-icon{transition:color .2s,transform .2s var(--ease-out)}.toolkit__item:hover .tech-icon{color:var(--amber);transform:translateY(-1px) scale(1.1)}@media(prefers-reduced-motion:no-preference){.sheet:not(.is-active) .instrument__orbit,.sheet:not(.is-active) .instrument__core,.sheet:not(.is-active) .instrument__sweep,.sheet:not(.is-active) .instrument__blip{animation-play-state:paused}}@media(min-width:901px){.timeline--track{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:var(--space-2xs)}.timeline--track .timeline__row{display:block;position:relative;padding:.85rem var(--space-s) 0 0}.timeline--track .timeline__row:before{content:"";position:absolute;top:4px;left:0;right:0;height:1px;background:var(--line)}.timeline--track .timeline__row:last-child:before{right:var(--space-s)}.timeline--track .timeline__mark{position:absolute;top:0;left:0;display:block;width:auto;height:auto}.timeline--track .timeline__mark:before{display:none}.timeline--track .timeline__node{display:block;margin:0;width:9px;height:9px}.timeline--track .timeline__year{display:block;padding-top:0;margin-bottom:.15rem}.timeline--track .timeline__label{display:block;font-size:var(--step--1);line-height:1.25}.timeline--track .timeline__detail{margin-top:.25rem;font-size:var(--step--1);line-height:1.45}.timeline--track .timeline__label{font-size:var(--step-0)}}:root[data-view=book]{--paper: color-mix(in srgb, var(--surface) 94%, var(--bg));--paper-edge: color-mix(in srgb, var(--line-strong) 70%, var(--bg));--spine: color-mix(in srgb, var(--bg-sunken) 88%, black);--page-lift: 0 1.4rem 3rem color-mix(in srgb, black 42%, transparent);--page-ratio: 1.5;--page-margin: clamp(1rem, 3.5vw, 3rem);--page-h: min( 86svh, 820px, calc((100vw - var(--rail-width) - var(--page-margin) * 2) / var(--page-ratio)) );--page-w: calc(var(--page-h) * var(--page-ratio))}:root[data-theme=light][data-view=book]{--paper: #fbfaf7;--paper-edge: #ccc6b8;--spine: #e0dbd0;--page-lift: 0 1.2rem 2.6rem color-mix(in srgb, #4a4436 22%, transparent)}[data-view=book] body:has(.deck){overflow:hidden}[data-view=book] .deck{position:relative;height:100svh;overflow:hidden;display:grid;place-items:center;padding-left:var(--rail-width);perspective:2400px;perspective-origin:50% 45%;scroll-snap-type:none}[data-view=book] body:before{opacity:.28}[data-view=book] .sheet{position:absolute;inset:0;display:grid;place-items:center;min-height:0;padding:0;border-top:0;visibility:hidden;pointer-events:none}[data-view=book] .sheet:before{display:none}[data-view=book] .sheet.is-active{visibility:visible;pointer-events:auto;z-index:2}[data-view=book] .sheet>.container{--sheet-pad: clamp(.9rem, 2.2cqw, 2.25rem);position:relative;display:flex;flex-direction:column;width:var(--page-w);height:var(--page-h);max-width:calc(100vw - var(--rail-width) - var(--page-margin) * 2);padding:var(--sheet-pad);background:var(--paper);border:1px solid var(--paper-edge);border-radius:2px 6px 6px 2px;container-type:inline-size;transform-style:preserve-3d;box-shadow:var(--page-lift),.36rem .3rem 0 -.06rem var(--paper-edge),.66rem .58rem 0 -.14rem color-mix(in srgb,var(--paper-edge) 68%,transparent),.94rem .84rem 0 -.24rem color-mix(in srgb,var(--paper-edge) 40%,transparent)}[data-view=book] .sheet>.container:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background-image:repeating-linear-gradient(0deg,transparent 0 15px,color-mix(in srgb,var(--paper-edge) 22%,transparent) 15px 16px),repeating-linear-gradient(90deg,transparent 0 23px,color-mix(in srgb,var(--paper-edge) 10%,transparent) 23px 24px);opacity:.5;mask-image:linear-gradient(to bottom,black,transparent 94%)}[data-view=book] .sheet>.container:after{content:"";position:absolute;inset-block:0;left:0;width:clamp(.7rem,1.6vw,1.3rem);pointer-events:none;border-radius:2px 0 0 2px;background:linear-gradient(to right,color-mix(in srgb,var(--spine) 78%,transparent),color-mix(in srgb,var(--spine) 22%,transparent) 55%,transparent)}[data-view=book] .sheet__body{position:relative;z-index:1;flex:1 1 auto;min-height:0;align-content:safe center;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}[data-view=book] .sheet__head,[data-view=book] .sheet__foot{flex:0 0 auto}[data-view=book] .sheet__head{margin-bottom:clamp(.6rem,2cqw,1.5rem)}[data-view=book] .sheet__foot{margin-top:clamp(.6rem,2cqw,1.5rem)}[data-view=book] .sheet h1{font-size:clamp(1.9rem,5.2cqw,3.4rem)}[data-view=book] .sheet h2{font-size:clamp(1.5rem,3.6cqw,2.5rem)}[data-view=book] .sheet__foot:after{content:"";position:absolute;right:0;bottom:0;width:clamp(1.2rem,2.4cqw,2.2rem);aspect-ratio:1;background:linear-gradient(135deg,transparent 48%,color-mix(in srgb,var(--paper-edge) 55%,transparent) 50%,var(--paper) 52%);border-left:1px solid color-mix(in srgb,var(--paper-edge) 60%,transparent);border-top:1px solid color-mix(in srgb,var(--paper-edge) 60%,transparent);pointer-events:none}[data-view=book] .sheet__foot{position:relative;padding-right:clamp(1.4rem,3cqw,2.6rem)}@media(prefers-reduced-motion:no-preference){[data-view=book] .sheet.is-leaving-forward,[data-view=book] .sheet.is-turning-back{visibility:visible;z-index:3}[data-view=book] .sheet.is-turning-forward,[data-view=book] .sheet.is-leaving-back{visibility:visible;z-index:1}[data-view=book] .sheet.is-leaving-forward>.container,[data-view=book] .sheet.is-turning-back>.container{transform-origin:left center;backface-visibility:hidden;will-change:transform}[data-view=book] .sheet.is-leaving-forward>.container{animation:leaf-turn-away .62s cubic-bezier(.4,.02,.28,1) both}[data-view=book] .sheet.is-turning-back>.container{animation:leaf-turn-back .62s cubic-bezier(.4,.02,.28,1) both}[data-view=book] .sheet.is-turning-forward>.container,[data-view=book] .sheet.is-leaving-back>.container{animation:leaf-underneath .62s ease-out both}}@keyframes leaf-turn-away{0%{transform:rotateY(0);filter:brightness(1);box-shadow:var(--page-lift),.36rem .3rem 0 -.06rem var(--paper-edge),.66rem .58rem 0 -.14rem color-mix(in srgb,var(--paper-edge) 68%,transparent),.94rem .84rem 0 -.24rem color-mix(in srgb,var(--paper-edge) 40%,transparent)}35%{filter:brightness(1.08);box-shadow:-1.5rem .8rem 2.4rem color-mix(in srgb,black 42%,transparent)}to{transform:rotateY(-172deg);filter:brightness(.62);box-shadow:-2.5rem .4rem 3rem color-mix(in srgb,black 30%,transparent)}}@keyframes leaf-turn-back{0%{transform:rotateY(-172deg);filter:brightness(.62);box-shadow:-2.5rem .4rem 3rem color-mix(in srgb,black 30%,transparent)}65%{filter:brightness(1.08);box-shadow:-1.5rem .8rem 2.4rem color-mix(in srgb,black 42%,transparent)}to{transform:rotateY(0);filter:brightness(1);box-shadow:var(--page-lift),.36rem .3rem 0 -.06rem var(--paper-edge),.66rem .58rem 0 -.14rem color-mix(in srgb,var(--paper-edge) 68%,transparent),.94rem .84rem 0 -.24rem color-mix(in srgb,var(--paper-edge) 40%,transparent)}}@keyframes leaf-underneath{0%{filter:brightness(.72)}45%{filter:brightness(.82)}to{filter:brightness(1)}}[data-view=book] .card,[data-view=book] .stat,[data-view=book] .layer,[data-view=book] .pipeline__step,[data-view=book] .decision,[data-view=book] .tag{background:color-mix(in srgb,var(--surface) 55%,var(--paper))}[data-view=book] .card--feature{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-raised) 55%,var(--paper)),color-mix(in srgb,var(--surface) 45%,var(--paper)))}[data-view=book] .stats,[data-view=book] .layers,[data-view=book] .pipeline{background:var(--paper-edge)}[data-view=book] .trace{top:50%}.view-switch{display:grid;gap:2px;padding:2px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface)}.view-switch__option{display:grid;place-items:center;width:1.7rem;height:1.7rem;border:0;border-radius:2px;background:transparent;color:var(--text-faint);cursor:pointer;transition:color .2s,background .2s}.view-switch__option svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.view-switch__option:hover{color:var(--text-soft)}.view-switch__option[aria-pressed=true]{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}.pager{display:flex;align-items:center;gap:.15rem}.pager__count{min-width:3.2rem;text-align:center;white-space:nowrap}.pager__count b{color:var(--amber);font-weight:500}.pager__button{display:grid;place-items:center;width:1.35rem;height:1.35rem;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-faint);cursor:pointer;transition:color .2s,background .2s,transform .15s var(--ease-out)}.pager__button svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pager__button:hover:not(:disabled){color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,transparent)}.pager__button:active:not(:disabled){transform:scale(.88)}.pager__button:disabled{opacity:.3;cursor:default}:root[data-view=sheet] .pager__button{display:none}@media(max-width:720px){:root[data-view=book]{--page-margin: .6rem;--page-h: calc(100svh - var(--rail-height, 3.25rem) - var(--page-margin) * 2 - 2.6rem);--page-w: calc(100vw - var(--page-margin) * 2)}[data-view=book] .deck{padding-left:0;height:calc(100svh - var(--rail-height, 3.25rem));align-items:start;padding-top:var(--page-margin)}[data-view=book] .sheet>.container{max-width:none;border-radius:2px 4px 4px 2px;box-shadow:0 .6rem 1.4rem color-mix(in srgb,black 34%,transparent),.26rem .22rem 0 -.04rem var(--paper-edge),.46rem .4rem 0 -.1rem color-mix(in srgb,var(--paper-edge) 55%,transparent)}[data-view=book] .sheet>.container:after{width:.5rem}[data-view=book] .sheet.is-turning-forward>.container,[data-view=book] .sheet.is-turning-back>.container{animation:page-slide .32s var(--ease-out) both}[data-view=book] .sheet.is-leaving-forward,[data-view=book] .sheet.is-leaving-back{display:none}.pager__button{width:1.9rem;height:1.9rem}.pager__button svg{width:1rem;height:1rem}}@keyframes page-slide{0%{opacity:.6;transform:translate(14px)}to{opacity:1;transform:none}}[data-view=book] .sheet__body{scroll-timeline:--body-scroll block}[data-view=book] .sheet.is-active .sheet__body:after{content:"";position:sticky;bottom:calc(var(--sheet-pad) * -1);display:block;height:2rem;margin-top:-2rem;pointer-events:none;background:linear-gradient(to top,var(--paper),transparent)}@container (max-width: 980px){[data-view=book] .lead{font-size:var(--step-0)}[data-view=book] .card{padding:var(--space-xs);gap:var(--space-2xs)}[data-view=book] .card--feature{padding:var(--space-s)}[data-view=book] .card__summary{-webkit-line-clamp:3;line-clamp:3}[data-view=book] .principle p,[data-view=book] .pipeline__detail,[data-view=book] .toolkit__item{font-size:var(--step--2)}[data-view=book] .pipeline__step{padding:var(--space-2xs) var(--space-3xs) var(--space-xs)}}@container (max-width: 980px){[data-view=book] .sheet__body{gap:var(--space-2xs)}[data-view=book] .sheet__intro{margin-bottom:var(--space-2xs);gap:var(--space-2xs)}[data-view=book] .principles,[data-view=book] .toolkit{gap:var(--space-2xs)}[data-view=book] .architecture__self h3{font-size:var(--step-0)}[data-view=book] .architecture__self,[data-view=book] .approach__pipeline{margin-top:var(--space-2xs);padding-top:var(--space-2xs)}[data-view=book] .layer{padding:var(--space-3xs) var(--space-2xs)}}@container (max-width: 560px){[data-view=book] .sheet h1{font-size:clamp(1.5rem,7.5cqw,2.1rem)}[data-view=book] .sheet h2{font-size:clamp(1.3rem,6.4cqw,1.8rem)}[data-view=book] .lead,[data-view=book] .body-copy{font-size:var(--step--1)}[data-view=book] .body-copy p+p{margin-top:var(--space-2xs)}[data-view=book] .card-grid{gap:var(--space-2xs)}[data-view=book] .card__title{font-size:var(--step-1)}[data-view=book] .card--feature .card__title{font-size:var(--step-2)}[data-view=book] .card__summary{font-size:var(--step--2);-webkit-line-clamp:3;line-clamp:3}[data-view=book] .stat strong{font-size:var(--step-2)}[data-view=book] .cover__list a{padding-block:.22rem;font-size:var(--step--2)}[data-view=book] .instrument{max-width:min(10rem,16svh)}[data-view=book] .photo--portrait img{max-height:14svh}[data-view=book] .toolkit__item{font-size:var(--step--2)}[data-view=book] .figure figcaption{display:none}}@container (max-width: 430px){[data-view=book] .cover__list,[data-view=book] .cover__index-label{display:none}[data-view=book] .cover__index{border-left:0;border-top:0;padding:0}[data-view=book] .card--feature .card__summary{-webkit-line-clamp:2;line-clamp:2}[data-view=book] .card--feature p:has(strong){display:none}[data-view=book] .tags{max-height:1.6rem;overflow:hidden}[data-view=book] .timeline__detail{-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}[data-view=book] .toolkit{grid-template-columns:repeat(2,minmax(0,1fr))}}
