@font-face{font-family:Libre Caslon Display;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/libre-caslon-display-latin-ext-400-normal.CUYASYSA.woff2) format("woff2"),url(/_astro/libre-caslon-display-latin-ext-400-normal.xXeWa_lF.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:Libre Caslon Display;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/libre-caslon-display-latin-400-normal.n_DgBRfq.woff2) format("woff2"),url(/_astro/libre-caslon-display-latin-400-normal.BbfEE5V2.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:Libre Caslon Text;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/libre-caslon-text-latin-ext-400-italic.BHleWajS.woff2) format("woff2"),url(/_astro/libre-caslon-text-latin-ext-400-italic.B6hJLy3e.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:Libre Caslon Text;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/libre-caslon-text-latin-400-italic.snTzlHlN.woff2) format("woff2"),url(/_astro/libre-caslon-text-latin-400-italic.C1OAqZ6C.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:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/epilogue-vietnamese-wght-normal.CCSRnr7S.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:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/epilogue-latin-ext-wght-normal.C9jy1SL9.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:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/epilogue-latin-wght-normal.BnupfK5F.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:Libre Caslon Display Fallback;src:local("Georgia");size-adjust:83.11%;ascent-override:116.71%;descent-override:32%}@font-face{font-family:Libre Caslon Text Fallback;font-style:italic;src:local("Georgia Italic");size-adjust:105.32%;ascent-override:92.1%;descent-override:24.69%}@font-face{font-family:Epilogue Fallback;src:local("Arial");size-adjust:112.56%;ascent-override:70.19%;descent-override:20.88%;line-gap-override:0%}:root{--paper: #ffffff;--well: #f4f4f5;--sheet: #ffffff;--ink: #0f0f11;--ink-soft: #6b6b72;--rule: #e4e4e7;--accent: #ff4f00;--on-accent: #0f0f11;--panel: #0f0f11;--on-panel: #f2f2f3;--under: #e9e9ec;--shadow: .35;--sans: "Epilogue Variable", "Epilogue Fallback", sans-serif;--serif: "Libre Caslon Display", "Libre Caslon Display Fallback", serif;--mono: ui-monospace, "SF Mono", menlo, monospace;--radius: 14px;--gutter: clamp(24px, 6vw, 96px);color-scheme:light;&[data-mode=dark]{--paper: #0f0f11;--well: #1c1c20;--sheet: #17171a;--ink: #f2f2f3;--ink-soft: #9b9ba4;--rule: #2b2b31;--panel: #1c1c20;--under: #050506;--shadow: .7;color-scheme:dark}}html{scrollbar-width:none}*{margin:0;padding:0;box-sizing:border-box}body>section{min-height:100dvh}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}p{text-wrap:pretty}code{font-family:var(--mono);font-size:.88em}.label{color:var(--ink-soft);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:3px}[data-tone=panel] a{text-decoration-color:currentcolor}.headline{max-width:48rem;margin-top:1.2rem;font-family:var(--serif);font-size:clamp(1.7rem,3.6vw,3.2rem);font-weight:400;line-height:1.1;letter-spacing:-.01em;text-wrap:balance}.numbered{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 2rem;margin-top:clamp(3rem,8vh,5rem);border-top:1px solid var(--ink);list-style:none;counter-reset:item;li{min-width:0;padding:1.2rem 0 1.6rem;counter-increment:item;&:before{content:counter(item,decimal-leading-zero);color:var(--ink);font-family:var(--serif);font-size:clamp(2.6rem,5vw,4rem);font-weight:400;line-height:1;letter-spacing:-.02em}}h3{margin-top:1.4rem;font-size:1.1rem;font-weight:700}p{max-width:34ch;margin-top:.5rem;color:var(--ink-soft);line-height:1.5;text-wrap:balance}@media(width<36rem){li{display:grid;grid-template-columns:3rem minmax(0,1fr);padding:1.4rem 0;+li{border-top:1px solid var(--rule)}&:before{grid-row:span 3;font-size:2.2rem}>*{grid-column:2}}h3{margin-top:.3rem}p{max-width:none;text-wrap:pretty}}}.window{overflow:hidden;border:1px solid var(--rule);border-radius:var(--radius);background:var(--sheet);figcaption{display:flex;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:.8rem;span{color:var(--ink-soft)}}}.scrub{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--chapter;animation-range:contain calc((var(--at) - .3) / var(--duration) * 100%) contain calc((var(--at) - .3 + var(--for)) / var(--duration) * 100%)}@keyframes show{0%{opacity:0;visibility:hidden}12%,88%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes leave{0%,88%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes show-stay{0%{opacity:0;visibility:hidden}12%,to{opacity:1;visibility:visible}}@media(prefers-reduced-motion:no-preference){:is(.why,.start,.poke,.faq,.download) :is(.label,.headline,.subhead,.intro,.nos,.numbered>li,.examples>li,.ideas,details,.get,.window){animation:rise ease-out both;animation-timeline:view();animation-range:entry 0% entry 70%}.numbered>li:nth-child(2){animation-range:entry 10% entry 80%}.numbered>li:nth-child(3){animation-range:entry 20% entry 90%}.numbered>li:nth-child(n+4){animation-range:entry 30% entry 100%}body:has(>section~section){background:var(--under)}body>section{position:relative;background:var(--paper);view-timeline:--section block;~section{border-top:1px solid var(--rule);box-shadow:0 -20px 48px -12px rgb(0,0,0,calc(var(--shadow) * .5))}&:not(.chapter,.hood,:last-of-type){animation:sink linear both;animation-timeline:--section;animation-range:exit}~section:not(.hood){animation:lift linear both;animation-timeline:--section;animation-range:entry}~section:not(.chapter,.hood,:last-of-type){animation:lift linear both,sink linear both;animation-timeline:--section;animation-range:entry,exit}~.hood{box-shadow:none}}.chapter .viewport{animation:sink linear both;animation-timeline:--chapter;animation-range:exit}}@keyframes sink{15%{opacity:1}85%,to{opacity:0;scale:.96;translate:0 55vh}}@keyframes lift{0%{border-radius:calc(var(--radius) * 2) calc(var(--radius) * 2) 0 0}}@keyframes draw{0%{stroke-dashoffset:1}}@keyframes rise{0%{opacity:0;translate:0 24px}}.nav{position:fixed;inset:0 0 auto;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px var(--gutter);border-bottom:1px solid var(--rule);background:var(--paper);a{text-decoration:none}.wordmark span,.links a{text-box:trim-both cap alphabetic}.wordmark{display:flex;gap:.5rem;align-items:center;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;svg{width:1.2rem;height:1.2rem;fill:var(--ink)}.hole{fill:var(--paper)}}.links{display:flex;align-items:center;gap:clamp(20px,2.2vw,32px);color:var(--ink-soft);font-size:.9rem;a:hover,a[aria-current]{color:var(--ink)}.actions{display:flex;align-items:center;gap:.5rem;margin-left:clamp(4px,1vw,16px)}.cta{padding:.65rem 1.15rem;font-weight:600;border-radius:999px;background:var(--accent);color:var(--on-accent);&:hover{color:var(--paper);background:var(--ink)}}}.mode{display:grid;place-items:center;width:2rem;height:2rem;border:0;background:none;color:var(--ink-soft);cursor:pointer;&:hover{color:var(--ink)}svg{width:1.1rem;fill:none;stroke:currentcolor;stroke-width:1.8;stroke-linecap:round}:root:not([data-mode=dark]) & .sun,:root[data-mode=dark] & .moon{display:none}}@media(width<48rem){.links a:not(.cta){display:none}}}
