@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/88e4012f2051f8b4-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:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0be08cad6fae8421-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:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/61d96c4884191721-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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cd5242d34e82716d-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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6662f7f4c6f2f062-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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b0bb26939bb40fdb-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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7816b93d847886e9-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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ea06843a6d8e9ab3-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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/60c9b95e8d9e49be-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:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1e6ec62843814326-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:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a8bcd0492b5976ee-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:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6ad0344ed98ac2e9-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:Barlow Fallback;src:local("Arial");ascent-override:103.43%;descent-override:20.69%;line-gap-override:0.00%;size-adjust:96.68%}.__className_52f0b0{font-family:Barlow,Barlow Fallback;font-style:normal}.__variable_52f0b0{--font-barlow:"Barlow","Barlow Fallback"}@font-face{font-family:IBM Plex Mono;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;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;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;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;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;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;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;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;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;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;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--ink:#1b2023;--petrol:#067176;--petrol-hover:#06585f;--paper:#f6f8f9;--card:#ffffff;--mist:#dde1e4;--mist2:#ebeef0;--muted:#67707a;--text:#1b2023;--text2:#4e565f;--petrol-text:#06585f;--petrol-soft:#d3eef3;--rule:#dde1e4;--grid:#dde1e4;--g-surface:#1b2023;--g-card:#22282c;--g-text:#eef1f2;--g-text2:#c6ccd0;--g-muted:#a2aaaf;--g-rule:#2a3236;--g-petrol-text:#8abcbe;--good:#258651;--warn:#cc9c20;--serious:#d55c13;--critical:#be222a;--s1:#009298;--s2:#b37903;--s3:#7165ad;--s4:#b75037;--focus:var(--petrol);--font-text:var(--font-barlow),"Helvetica Neue",Arial,sans-serif;--font-data:var(--font-plex-mono),ui-monospace,"SFMono-Regular",Menlo,monospace;--fs-display:clamp(44px,7.2vw,92px);--fs-h1:clamp(38px,5vw,64px);--fs-h2:clamp(30px,3.4vw,44px);--fs-h3:24px;--fs-lead:19px;--fs-body:16px;--fs-small:14px;--fs-eyebrow:12.5px;--fs-mono-label:12px;--container:1200px;--measure:68ch;--gutter:24px;--space-chapter:clamp(96px,14vh,176px);--space-block:64px;--space-el:24px;--header-h:64px;--ease-out:cubic-bezier(0.22,1,0.36,1);--dur-reveal:600ms;--dur-ui:160ms;color-scheme:light}@media (min-width:900px){:root{--gutter:32px;--header-h:72px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#15191c;--card:#1b2023;--mist:#2a3236;--mist2:#22282c;--muted:#a2aaaf;--text:#eef1f2;--text2:#c6ccd0;--petrol-text:#5aa0a0;--petrol-soft:#123b3e;--rule:#2a3236;--grid:#2a3236;--s1:#209fa5;--s2:#c0851f;--s3:#7d71ba;--s4:#c55c43;color-scheme:dark}}:root[data-theme=dark]{--paper:#15191c;--card:#1b2023;--mist:#2a3236;--mist2:#22282c;--muted:#a2aaaf;--text:#eef1f2;--text2:#c6ccd0;--petrol-text:#5aa0a0;--petrol-soft:#123b3e;--rule:#2a3236;--grid:#2a3236;--s1:#209fa5;--s2:#c0851f;--s3:#7d71ba;--s4:#c55c43;color-scheme:dark}.chapter-dark{--paper:var(--g-surface);--card:var(--g-card);--mist:var(--g-rule);--mist2:#22282c;--muted:var(--g-muted);--text:var(--g-text);--text2:var(--g-text2);--petrol-text:var(--g-petrol-text);--rule:var(--g-rule);--focus:var(--g-petrol-text);background:var(--g-surface);color:var(--g-text);color-scheme:dark}*,:after,:before{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--text);font-family:var(--font-text);font-size:var(--fs-body);line-height:1.55;font-feature-settings:"kern";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body,dl,figure,h1,h2,h3,h4,ol,p,ul{margin:0}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit;border-radius:0}::selection{background:var(--petrol-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.measure{max-width:var(--measure)}.display{font-size:var(--fs-display);line-height:1.02;letter-spacing:-.015em}.display,.h1{font-weight:700;text-wrap:balance}.h1{font-size:var(--fs-h1);line-height:1.05}.h1,.h2{letter-spacing:-.01em}.h2{font-size:var(--fs-h2);line-height:1.1;text-wrap:balance}.h2,.h3{font-weight:600}.h3{font-size:var(--fs-h3);line-height:1.25}.lead{font-size:var(--fs-lead);line-height:1.5;max-width:var(--measure);text-wrap:pretty}.body2,.lead{color:var(--text2)}.small{font-size:var(--fs-small)}.eyebrow{font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol-text)}.eyebrow,.mono{font-family:var(--font-data)}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono-label{font-family:var(--font-data);font-size:var(--fs-mono-label);letter-spacing:.08em;text-transform:uppercase}.mono-label,.muted{color:var(--muted)}.rule{border:0;border-top:1px solid var(--rule)}.rule-accent{width:48px;height:2px}.btn,.rule-accent{background:var(--petrol)}.btn{font-weight:600;font-size:15px;line-height:1;padding:14px 22px;border:1.5px solid transparent;color:#fff;display:inline-flex;align-items:center;gap:10px;min-height:44px;transition:background var(--dur-ui)}.btn:hover{background:var(--petrol-hover)}.btn--sec{background:transparent;color:var(--text);border-color:var(--text)}.btn--sec:hover{background:var(--mist2)}.btn--ghost{background:transparent;color:var(--petrol-text);padding-inline:0;border:0;min-height:44px}.btn--ghost:hover{text-decoration:underline;text-underline-offset:4px;background:transparent}.btn--compact{padding:10px 16px;min-height:40px}.btn:disabled{opacity:.45;cursor:not-allowed}.skip-link{position:absolute;left:var(--gutter);top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;font-size:14px;font-weight:600;transform:translateY(-64px);transition:transform var(--dur-ui)}.skip-link:focus-visible{transform:translateY(0)}html.js .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}html.js .reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}}.drawing{--accent-draw:var(--petrol);width:100%;height:auto;color:var(--text2)}.chapter-dark .drawing{--accent-draw:var(--g-petrol-text)}.drawing .d-obj{fill:none;stroke:var(--text2);stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}.drawing .d-fine{fill:none;stroke:var(--muted);stroke-width:.75;stroke-linecap:butt}.drawing .d-centre{fill:none;stroke:var(--muted);stroke-width:.75;stroke-dasharray:12 4 3 4}.drawing .d-hidden{fill:none;stroke:var(--muted);stroke-width:.75;stroke-dasharray:6 4}.drawing .d-hatch{fill:none;stroke:var(--muted);stroke-width:.75;opacity:.7}.drawing .d-accent{fill:none;stroke:var(--accent-draw);stroke-width:1.5;stroke-linecap:square}.drawing .d-accent-fill{fill:var(--accent-draw);stroke:none}.drawing .d-dot{fill:var(--muted);stroke:none}.drawing .d-label{font-family:var(--font-data);font-size:11px;letter-spacing:.08em;fill:var(--muted);text-transform:uppercase}.drawing .d-label-strong{fill:var(--text2)}.drawing .d-ground{fill:var(--card);stroke:none}html.js [data-anim] .drawing .d-accent[pathLength]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease-out) .25s}html.js [data-anim].is-visible .drawing .d-accent[pathLength]{stroke-dashoffset:0}@media (prefers-reduced-motion:reduce){html.js [data-anim] .drawing .d-accent[pathLength]{stroke-dashoffset:0;transition:none}}