:root{--color-desk:oklch(31% .049 188.6);--color-desk-deep:oklch(22.9% .035 182.3);--color-teal:oklch(52.3% .088 182.6);--color-teal-deep:oklch(43.5% .073 184.5);--color-paper:oklch(97.5% .008 75);--color-paper-2:oklch(94.6% .011 89.8);--color-fold:oklch(88.3% .014 84.6);--color-fold-face:oklch(94.6% .011 89.8);--color-ink:oklch(22.9% .035 182.3);--color-ink-2:oklch(37% .03 184);--color-muted:oklch(46% .025 184);--color-rule:oklch(86% .014 84);--color-coral:oklch(70.7% .187 34.1);--color-selection:oklch(88% .04 185);--color-focus:oklch(43.5% .073 184.5);--color-on-teal:oklch(97.5% .008 75);--color-shadow:oklch(18% .04 185/.4);--font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body:"Newsreader", ui-serif, Georgia, serif;--font-mono:"Space Mono", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1.0625rem;--text-md:1.25rem;--text-lg:1.5rem;--text-xl:1.875rem;--text-2xl:2.25rem;--text-3xl:2.75rem;--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--rule-hair:1px;--radius-sm:8px;--page-max:66rem;--measure:40rem;--fold:4.5rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-desk);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-variant-numeric:oldstyle-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:clip}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal;font-weight:800;line-height:1.05}p{margin:0}a{color:inherit;text-decoration-thickness:1px;text-decoration-color:var(--color-teal);text-underline-offset:.18em}a:hover{color:var(--color-teal-deep)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-selection);color:var(--color-ink)}img,svg{max-width:100%;height:auto}.skip{z-index:10;padding:var(--space-xs) var(--space-sm);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);text-decoration:none;position:absolute;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);transform:translateY(-200%)}.skip:focus{transform:translateY(0)}.desk{min-height:100vh;padding:clamp(.5rem,2vw,1.5rem)}.sheet-shadow{max-width:var(--page-max);filter:drop-shadow(0 18px 28px var(--color-shadow));margin-inline:auto}.sheet{background:var(--color-paper);color:var(--color-ink);min-height:calc(100vh - 3rem);clip-path:polygon(0 0, calc(100% - var(--fold)) 0, 100% var(--fold), 100% 100%, 0 100%);padding:clamp(1.25rem,3vw,2.75rem) clamp(1.15rem,4vw,3.5rem) clamp(2.25rem,6vw,4.5rem);position:relative}.fold{width:var(--fold);height:var(--fold);background:linear-gradient(135deg, var(--color-fold) 0 10%, var(--color-fold-face) 10% 100%);clip-path:polygon(0 0,100% 100%,0 100%);pointer-events:none;position:absolute;top:0;right:0}.mast{justify-content:space-between;align-items:center;gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;margin-block-end:clamp(2.5rem,8vw,5.5rem);padding-inline-end:calc(var(--fold) - .5rem);display:flex}.mark{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:.6rem;line-height:1;text-decoration:none;display:inline-flex}.mark img{width:2rem;height:2rem;display:block}.mast nav{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;display:flex}.mast nav a{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;padding-block:var(--space-2xs);text-decoration:none}.mast nav a:hover{text-decoration:underline;text-decoration-color:var(--color-teal)}.opening{max-width:var(--measure);margin-block-end:var(--space-2xl)}h1{font-size:var(--text-display);margin-block-end:var(--space-md)}.sig{width:7.5rem;height:auto;color:var(--color-coral);margin-block-end:var(--space-lg);display:block}.lead{max-width:var(--measure);font-size:var(--text-md);color:var(--color-ink-2);line-height:1.45}.opening .lead{max-width:none}.actions{gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-xl);display:flex}.btn{min-height:44px;padding:var(--space-xs) var(--space-lg);border:var(--rule-hair) solid var(--color-ink);color:var(--color-ink);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;border-radius:999px;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-ink);color:var(--color-paper);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn--fill{background:var(--color-desk);border-color:var(--color-desk);color:var(--color-on-teal)}.btn--fill:hover{background:var(--color-teal);border-color:var(--color-teal);color:var(--color-on-teal)}.statement{max-width:16ch;margin:0 0 var(--space-2xl);font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.03em;font-style:normal;line-height:1.05}.split{gap:var(--space-xl);grid-template-columns:minmax(0,1fr);margin-block-end:var(--space-3xl);display:grid}.split h2,.install h2,.missing h1{font-size:var(--text-2xl);margin-block-end:var(--space-lg)}.prose{max-width:var(--measure);gap:var(--space-md);display:grid}.prose p{color:var(--color-ink-2)}.facts{align-self:start;margin:0;padding:0}.facts div{gap:var(--space-sm) var(--space-md);padding-block:var(--space-sm);border-block-start:var(--rule-hair) solid var(--color-rule);grid-template-columns:5.75rem minmax(0,1fr);align-items:baseline;display:grid}.facts div:last-child{border-block-end:var(--rule-hair) solid var(--color-rule)}.facts dt{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap}.facts dd{color:var(--color-ink-2);margin:0}.install{max-width:calc(var(--measure) + 4rem);gap:var(--space-md);margin-block-end:var(--space-3xl);display:grid}.install>p{max-width:var(--measure);color:var(--color-ink-2)}.recipes{gap:var(--space-lg);margin-block-start:var(--space-md);display:grid}.recipes h3{font-size:var(--text-md);margin-block-end:var(--space-xs)}pre{max-width:100%;padding:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-sm);margin:0;overflow-x:auto}code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.78rem;line-height:1.55}.closer{margin-block-start:var(--space-sm)}.foot{border-block-start:var(--rule-hair) solid var(--color-rule);gap:var(--space-lg);padding-block-start:var(--space-xl);display:grid}.foot-line{max-width:18em;font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.5rem,3.4vw,2.35rem);font-weight:800;line-height:1.08}.foot-line a{text-wrap:balance;text-decoration:none}.foot-line a:hover{text-decoration:underline;text-decoration-color:var(--color-teal)}.foot-meta{align-items:baseline;gap:var(--space-sm) var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.foot-meta a{color:var(--color-muted);white-space:nowrap;text-decoration:none}.foot-meta a:hover{color:var(--color-teal-deep);text-decoration:underline}.foot-meta span{margin-inline-start:auto}.missing{max-width:var(--measure);padding-block:var(--space-2xl) var(--space-3xl)}.missing p{color:var(--color-ink-2);margin-block-end:var(--space-xl)}@media (width<=23rem){.foot-line{font-size:1.22rem}}@media (width<=40rem){.mast{padding-inline-end:0}.mark{padding-inline-end:calc(var(--fold) - .25rem)}.foot-meta span{margin-inline-start:0}}@media (width>=40rem){.lead{font-size:var(--text-lg)}.statement{font-size:var(--text-3xl)}}@media (width>=52rem){.split{gap:var(--space-2xl);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.btn:hover,.btn:active{transition:none;transform:none}}
