.root{--c-ground:#e9e4da;--c-tile:#fff;--c-pill:#ede7da;--c-text:#1a1917;--c-muted:#5a564e;--c-line:#d3cbbd;--c-accent:#f6be0f;--c-on-accent:#1a1917;--c-inverse:#1c1b19;--c-on-inverse:#f2eee6;--c-footer:#1c1b19;--font:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--fs--1:.9375rem;--fs-0:clamp(1.0625rem,1rem + .3cqi,1.1875rem);--fs-1:clamp(1.25rem,1.1rem + .6cqi,1.5rem);--fs-2:clamp(1.5rem,1.2rem + 1.3cqi,2.25rem);--fs-3:clamp(2.25rem,1.4rem + 3.6cqi,4.5rem);--fs-4:clamp(2.75rem,1.5rem + 5.5cqi,6rem);--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--gap:6px;--radius:14px;--tap:44px;--w-max:90rem;--w-prose:68ch;--cols:1;color-scheme:light;container-type:inline-size}.root[data-theme=dark]{--c-ground:#0f0e0d;--c-tile:#1c1b19;--c-pill:#2b2926;--c-text:#f2eee6;--c-muted:#ada79c;--c-line:#3a3632;--c-accent:#f6be0f;--c-on-accent:#1a1917;--c-inverse:#f2eee6;--c-on-inverse:#1a1917;--c-footer:#1c1b19;color-scheme:dark}@media (prefers-color-scheme:dark){.root:not([data-theme=light]){--c-ground:#0f0e0d;--c-tile:#1c1b19;--c-pill:#2b2926;--c-text:#f2eee6;--c-muted:#ada79c;--c-line:#3a3632;--c-accent:#f6be0f;--c-on-accent:#1a1917;--c-inverse:#f2eee6;--c-on-inverse:#1a1917;--c-footer:#1c1b19;color-scheme:dark}}.site{background:var(--c-footer);color:var(--c-text);font-family:var(--font);font-size:var(--fs-0);--cols:1;min-height:100vh;line-height:1.6}.site *{box-sizing:border-box}.site h1,.site h2,.site h3{text-wrap:balance;margin:0;line-height:1.05}.site p{margin:0}.site a{color:inherit}.site :focus-visible{outline-offset:3px;border-radius:6px;outline:3px solid}@container (width>=40rem){.site{--cols:2}}@container (width>=64rem){.site{--cols:4}}.page{background:var(--c-ground);padding:var(--gap);border-radius:0 0 28px 28px}.page>*{max-width:var(--w-max);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--sp-4);z-index:10;background:var(--c-text);color:var(--c-ground);padding:var(--sp-3) var(--sp-4);border-radius:999px;font-weight:700;position:absolute;top:-100px}.skip:focus{top:var(--sp-4)}.bento{gap:var(--gap);grid-template-columns:repeat(var(--cols),minmax(0,1fr));margin-top:var(--gap);display:grid}.tile{background:var(--c-tile);border-radius:var(--radius);padding:clamp(1.25rem,2.5cqi,2rem)}.tile--accent{background:var(--c-accent);color:var(--c-on-accent)}.tile--inverse{background:var(--c-inverse);color:var(--c-on-inverse)}.full{grid-column:1/-1}@container (width>=40rem){.span-2,.span-3{grid-column:span 2}}@container (width>=64rem){.span-3{grid-column:span 3}}.label-tile{justify-content:space-between;align-items:flex-end;gap:var(--sp-5);min-height:9rem;display:flex;position:relative;overflow:hidden}.label{font-size:var(--fs-1);font-weight:400;line-height:1.3}.pill{justify-content:space-between;align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:0 var(--sp-5);background:var(--c-pill);color:var(--c-text);border-radius:999px;font-weight:500;text-decoration:none;display:inline-flex}.tile--accent .pill{color:#1a1917;background:#ede7da}.pill:hover{background:var(--c-text);color:var(--c-tile)}.tile--accent .pill:hover{color:#f6be0f;background:#1a1917}.pill--wide{width:100%;max-width:26rem}.pill--accent{background:var(--c-accent);color:var(--c-on-accent)}.arrow{font-size:1.25em;line-height:1}.pills{gap:var(--sp-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag{background:var(--c-pill);color:var(--c-text);border-radius:999px;padding:.1rem .6rem;font-size:.8125rem;font-weight:600;display:inline-block}.sticker{aspect-ratio:1;text-align:center;width:clamp(6.5rem,12cqi,9.5rem);padding:var(--sp-3);background:var(--c-accent);color:var(--c-on-accent);font-weight:900;line-height:1;font-size:var(--fs--1);text-transform:uppercase;letter-spacing:.02em;border-radius:50%;flex:none;place-content:center;display:grid;transform:rotate(-10deg)}.sticker b{letter-spacing:-.03em;font-size:2.4em;display:block}.sticker--ink{background:var(--c-text);color:var(--c-tile)}.hl{background:var(--c-pill);color:var(--c-text);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:999px;padding:0 .25em}.tile--accent .hl{color:#1a1917;background:#ede7da}.topbar{gap:var(--gap);grid-template-columns:auto minmax(0,1fr);display:grid}.brand{align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);background:var(--c-accent);color:var(--c-on-accent);font-size:.9375rem;font-weight:800;line-height:1.05;text-decoration:none;display:flex}.brand span span{display:block}.brand svg{flex:none;width:28px;height:28px}.brand path{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round}.navbar{background:var(--c-accent);color:var(--c-on-accent);border-radius:var(--radius);padding:var(--sp-2);scrollbar-width:none;align-items:center;display:flex;overflow-x:auto}.navbar ul{gap:var(--sp-1);margin:0 0 0 auto;padding:0;list-style:none;display:flex}.navbar a{min-height:var(--tap);padding:0 var(--sp-4);white-space:nowrap;border-radius:999px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.navbar a:hover{background:#ede7da}.navbar a[aria-current=page]{color:#f6be0f;background:#1a1917}.burger,.offcanvas{display:none}@media (width<=47.99rem){.js .topbar{grid-template-columns:minmax(0,1fr) auto}.js .navbar{display:none}.js .burger{align-items:center;gap:var(--sp-3);min-height:100%;padding:0 var(--sp-4) 0 var(--sp-5);border-radius:var(--radius);background:var(--c-inverse);color:var(--c-on-inverse);font:inherit;cursor:pointer;border:0;font-size:.9375rem;font-weight:700;display:inline-flex}.js .brand{padding:var(--sp-3)}}.burger__icon{width:22px;height:14px;display:block;position:relative}.burger__icon i{background:var(--c-accent);border-radius:2px;height:2.5px;transition:transform .25s,width .25s;position:absolute;left:0;right:0}.burger__icon i:first-child{top:0}.burger__icon i:nth-child(2){width:70%;margin-top:-1.25px;top:50%}.burger__icon i:nth-child(3){bottom:0}.burger:hover .burger__icon i:nth-child(2){width:100%}.burger:focus-visible{outline:3px solid var(--c-text);outline-offset:3px}.offcanvas{color:#f2eee6;background:0 0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.offcanvas[open]{display:block}.offcanvas::backdrop{-webkit-backdrop-filter:blur(6px);opacity:1;transition:opacity .26s ease,display .26s allow-discrete,overlay .26s allow-discrete;background:#0f0e0d8c}.offcanvas.is-closing::backdrop{opacity:0}@starting-style{.offcanvas[open]::backdrop{opacity:0}}.offcanvas__panel{gap:var(--sp-5);width:min(92vw,26rem);padding:var(--sp-4) var(--sp-4) var(--sp-5);overscroll-behavior:contain;background:#1c1b19;border-radius:28px 0 0 28px;flex-direction:column;transition:transform .26s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(0)}.offcanvas.is-closing .offcanvas__panel{transform:translate(100%)}@starting-style{.offcanvas[open] .offcanvas__panel{transform:translate(100%)}}.offcanvas__panel:before{content:"";aspect-ratio:1;opacity:.1;pointer-events:none;background:#f6be0f;border-radius:50%;width:14rem;position:absolute;top:-5rem;right:-5rem}.offcanvas__top{justify-content:space-between;align-items:stretch;gap:var(--sp-3);display:flex;position:relative}.offcanvas__close{width:var(--tap);min-height:var(--tap);border-radius:var(--radius);color:#f2eee6;cursor:pointer;background:#2b2926;border:0;flex:none;place-items:center;display:grid}.offcanvas__close svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:22px;height:22px}.offcanvas__close:hover{color:#1a1917;background:#f6be0f}.offcanvas__kicker{margin:var(--sp-3) 0 0 var(--sp-2);letter-spacing:.08em;text-transform:uppercase;color:#ada79c;font-size:.8125rem;font-weight:700}.offcanvas__list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid;position:relative}.offcanvas__list li{opacity:1;transition:opacity .35s,transform .35s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 45ms + 90ms);transform:none}@starting-style{.offcanvas[open] .offcanvas__list li{opacity:0;transform:translate(1.25rem)}}.offcanvas__list a{align-items:center;gap:var(--sp-4);min-height:3.75rem;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);color:#f2eee6;letter-spacing:-.01em;background:#2b2926;font-size:1.25rem;font-weight:700;line-height:1.15;text-decoration:none;transition:background .2s,color .2s;display:flex}.offcanvas__n{color:#f6be0f;font-variant-numeric:tabular-nums;flex:none;font-size:.8125rem;font-weight:700}.offcanvas__t{flex:1}.offcanvas__arrow{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;transition:transform .2s}.offcanvas__list a:hover,.offcanvas__list a:focus-visible{color:#1a1917;background:#f6be0f}.offcanvas__list a:hover .offcanvas__n,.offcanvas__list a:focus-visible .offcanvas__n{color:#1a1917}.offcanvas__list a:hover .offcanvas__arrow{transform:translate(4px)}.offcanvas__list a[aria-current=page]{color:#1a1917;background:#f6be0f}.offcanvas__list a[aria-current=page] .offcanvas__n{color:#1a1917}.offcanvas a:focus-visible,.offcanvas button:focus-visible{outline-offset:2px;outline:3px solid #f2eee6}.offcanvas__foot{gap:var(--sp-4);padding:var(--sp-2) var(--sp-2) 0;font-size:var(--fs--1);color:#ada79c;margin-top:auto;display:grid}.offcanvas__foot .pill{justify-self:start}@media (prefers-reduced-motion:reduce){.offcanvas__panel,.offcanvas__list li,.offcanvas::backdrop{transition:none}}.hero{gap:var(--sp-5);flex-direction:column;min-height:clamp(22rem,40cqi,34rem);display:flex}.hero--cat{min-height:clamp(15.4rem,28cqi,23.8rem)}.hero h1{font-size:var(--fs-4);letter-spacing:-.025em;font-weight:900;line-height:.98}.hero .lede{max-width:46ch;margin-top:auto}.lede{font-size:var(--fs-0);line-height:1.5}.kicker{font-size:var(--fs--1);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.featured{gap:var(--sp-4);flex-direction:column;min-height:clamp(22rem,40cqi,34rem);display:flex;position:relative}.featured .sticker{margin-bottom:calc(-1 * var(--sp-6));align-self:flex-end}.featured__title{font-size:var(--fs-3);letter-spacing:-.02em;max-width:16ch;margin-top:auto;font-weight:800}.featured__excerpt{opacity:.92;max-width:52ch}.featured__foot{align-items:center;gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.featured .pill{background:var(--c-accent);color:var(--c-on-accent)}.card{position:relative}.card__link{text-decoration:none}.card__link:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.card:hover .card__link{text-underline-offset:.15em;text-decoration:underline 2px}.card:focus-within{outline:3px solid var(--c-text);outline-offset:3px}.card .card__link:focus-visible{outline:none}.cards{gap:var(--gap);grid-column:1/-1;grid-template-columns:repeat(var(--cols),minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.post{gap:var(--sp-4);flex-direction:column;min-height:clamp(15rem,24cqi,21rem);display:flex}.post__title{font-size:var(--fs-1);font-weight:600;line-height:1.2}.post__excerpt{font-size:var(--fs--1);color:var(--c-muted);margin-top:auto;line-height:1.55}.post__foot{justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:.8125rem;font-weight:600;display:flex}.explore{gap:var(--sp-4);flex-direction:column;display:flex}.explore .pills{flex-direction:column;margin-top:auto}.explore .pill{width:100%}.toc{gap:var(--sp-6);align-content:start;display:grid}.toc__group{gap:var(--sp-2);display:grid}.toc__head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.toc__head h3{font-size:var(--fs-1);font-weight:500}.badge{border:1.5px solid;border-radius:999px;flex:none;padding:.05rem .6rem;font-size:.75rem;font-weight:700}.toc ol{margin:0;padding:0;list-style:none}.toc__row{align-items:baseline;gap:var(--sp-2);min-height:var(--tap);padding-block:var(--sp-2);font-size:var(--fs--1);line-height:1.4;text-decoration:none;display:flex}.toc__row:hover .toc__t{text-decoration:underline}.leader{border-bottom:2px dotted var(--c-line);flex:1;min-width:1.5rem}.toc__n{color:var(--c-muted);font-variant-numeric:tabular-nums;flex:none}.crumbs ol{align-items:center;gap:var(--sp-2);font-size:var(--fs--1);flex-wrap:wrap;margin:0;padding:0;font-weight:500;list-style:none;display:flex}.crumbs [aria-current]{padding:0 var(--sp-2);text-overflow:ellipsis;white-space:nowrap;max-width:26ch;overflow:hidden}.crumbs .pill{padding:0 var(--sp-4)}.art-head{gap:var(--sp-5);flex-direction:column;display:flex}.art-head h1{font-size:var(--fs-3);letter-spacing:-.025em;max-width:22ch;margin-top:var(--sp-5);font-weight:900}.art-head .lede{max-width:60ch;color:var(--c-muted);font-size:var(--fs-1);line-height:1.45}.meta-pills{gap:var(--sp-2);font-size:var(--fs--1);flex-wrap:wrap;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.meta-pills li{background:var(--c-pill);border-radius:999px;padding:.35rem .9rem}.meta-pills .is-sample{border:1.5px dashed var(--c-muted);color:var(--c-muted);background:0 0}.side{align-self:start}.side h2{font-size:var(--fs--1);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-2)}@container (width>=64rem){.side{top:var(--gap);grid-area:2/4/span 2;position:sticky}.art-body{grid-area:2/1/auto/4}.art-keys{grid-area:3/1/auto/4}}.prose-tile{padding:clamp(1.25rem,4cqi,3.5rem)}.prose{max-width:var(--w-prose)}.prose>*+*{margin-top:var(--sp-5)}.prose h2{font-size:var(--fs-2);letter-spacing:-.015em;margin-top:var(--sp-8);scroll-margin-top:var(--sp-5);font-weight:800}.prose h3{font-size:var(--fs-1);margin-top:var(--sp-6);font-weight:700}.prose h2+*,.prose h3+*{margin-top:var(--sp-3)}.prose>:first-child{margin-top:0}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:var(--sp-2)}.prose ul li::marker{color:var(--c-text)}.prose ol li::marker{font-weight:800}.prose a{text-decoration-color:var(--c-accent);text-underline-offset:.12em;text-decoration-thickness:.18em}.prose blockquote{padding:var(--sp-5) var(--sp-6);background:var(--c-pill);border-radius:var(--radius);font-size:var(--fs-1);margin-inline:0;font-weight:500;line-height:1.4}.prose cite{margin-top:var(--sp-3);font-style:normal;font-size:var(--fs--1);color:var(--c-muted);font-weight:600;display:block}.scroll{border-radius:var(--radius);overflow-x:auto}.prose table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs--1);border:1.5px solid var(--c-line);border-radius:var(--radius);min-width:34rem;line-height:1.5}.prose caption{text-align:left;padding:0 0 var(--sp-3);caption-side:top;font-weight:700}.prose th,.prose td{text-align:left;vertical-align:top;padding:var(--sp-3) var(--sp-4)}.prose tbody th,.prose tbody td{border-top:1.5px solid var(--c-line)}.prose thead th{font-weight:700}.prose pre{padding:var(--sp-5) var(--sp-6);background:var(--c-inverse);color:var(--c-on-inverse);border-radius:var(--radius);font-family:var(--font-mono);white-space:pre;margin:0;font-size:.9375rem;line-height:1.65}.keypoints{gap:var(--sp-5);display:grid}.keypoints h2{font-size:var(--fs-2);letter-spacing:-.02em;font-weight:900}.keypoints ul{gap:var(--gap);grid-template-columns:repeat(var(--cols),minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.keypoints li{color:#1a1917;border-radius:var(--radius);padding:var(--sp-5);background:#ede7da;font-weight:500;line-height:1.45}@container (width>=64rem){.keypoints{grid-template-columns:1fr 3fr;align-items:start}.keypoints ul{grid-template-columns:repeat(3,minmax(0,1fr))}}.site-footer{background:var(--c-footer);color:#f2eee6;padding:var(--sp-8) clamp(1rem,4cqi,2.5rem) var(--sp-7)}.footer__inner{gap:var(--sp-5);max-width:36rem;font-size:var(--fs--1);margin-inline:auto;display:grid}.footer__inner .brand{justify-self:start}.footer__label{margin-bottom:var(--sp-2);font-weight:600}.site-footer .pill{color:#f2eee6;background:#2b2926}.site-footer .pill--accent{color:#1a1917;background:#f6be0f}.site-footer .pill:hover{color:#1a1917;background:#f2eee6}.footer__legal{color:#ada79c}.prose pre{overflow-x:auto}.prose img{border-radius:var(--radius);max-width:100%;height:auto}.prose table{display:block;overflow-x:auto}.empty{max-width:46ch}body{margin:0}
