.cs{--side:var(--gutter);font-size:var(--size-cs-body);line-height:var(--leading-cs-body);color:var(--color-ink)}@media (width<=600px){.cs{font-size:var(--size-cs-body-sm)}}.cs .read,.cs .mid,.cs .full{padding-left:var(--side);padding-right:var(--side);margin-left:auto;margin-right:auto}.cs .read{max-width:calc(var(--cs-read) + 2 * var(--side))}.cs .mid{max-width:calc(var(--cs-mid) + 2 * var(--side))}.cs .full{max-width:calc(var(--cs-full) + 2 * var(--side))}.cs p{color:var(--color-ink-2);margin:0}.cs p+p{margin-top:var(--cs-para-gap)}.cs h1{font-family:var(--font-display);font-weight:var(--weight-headline);font-optical-sizing:auto;font-size:var(--size-cs-h1);letter-spacing:-.02em;color:var(--color-ink);margin:0;line-height:1.08}.cs h1 em{font-style:italic}.cs h3{margin:0 0 var(--cs-h3-gap);font-family:var(--font-display);font-weight:var(--font-weight-regular);font-size:var(--size-cs-h3);letter-spacing:-.01em;color:var(--color-ink);line-height:1.2}.cs .sub{font-size:var(--size-cs-sub);color:var(--color-ink-3)}.cs .label{font-family:var(--font-mono);font-size:var(--size-cs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-3)}.cs a{color:inherit}.cs ul,.cs ol{margin:0}.cs .chunk ul{padding-left:calc(var(--spacing) * 6);color:var(--color-ink-2);list-style:outside}.cs .chunk p+ul,.cs .chunk ul+p{margin-top:var(--cs-para-gap)}.cs .chunk ul li+li{margin-top:calc(var(--spacing) * 2)}.cs strong{font-weight:var(--font-weight-medium);color:var(--color-ink)}.cs .q{align-items:center;gap:18px;display:flex}.cs .q .ti{border-radius:5px;flex:none;width:30px;height:30px;transition:transform .6s cubic-bezier(.2,.8,.2,1);transform:rotate(-4deg)}.cs .q.in .ti{transform:rotate(0)}.cs .qt{font-family:var(--font-display);font-style:italic;font-weight:var(--font-weight-light);font-size:var(--size-cs-q);letter-spacing:-.015em;color:var(--color-ink);padding-bottom:10px;line-height:1.15;display:inline-block;position:relative}.cs .qt .w{width:100%;height:14px;position:absolute;bottom:-4px;left:0;overflow:visible}.cs .qt .w path{fill:none;stroke:var(--color-terracotta);stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}.cs .q.in .qt .w path{animation:1.1s cubic-bezier(.6,.05,.3,1) .15s forwards cs-wave}@keyframes cs-wave{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.cs .section{padding-top:var(--cs-section)}.cs .section>.q-wrap{margin-bottom:var(--cs-q-gap)}.cs .chunk+.chunk{margin-top:var(--cs-chunk-gap)}.cs .fig{margin-top:var(--cs-fig-gap)}.cs .fig+.chunk,.cs .fig+.read,.cs .fig+.mid,.cs .fig+.full{margin-top:var(--cs-chunk-gap)}.cs .chunk:not(:has(p,ul,ol))+.chunk{margin-top:var(--cs-fig-gap)}.cs .chunk:not(:has(p,ul,ol))+.decision+.fig{margin-top:var(--cs-chunk-gap)}.cs .shot{border:var(--rule-width) solid color-mix(in srgb, var(--color-ink) 14%, transparent);border-radius:var(--cs-radius);background:var(--color-cs-card);overflow:hidden}.cs .art{color:var(--color-ink)}.cs .art svg{width:100%;height:auto;display:block}.cs .shot,.cs .raster{box-sizing:border-box;margin-inline:auto}.cs .shot img,.cs .raster img{width:100%;height:auto;display:block}.cs .vid{aspect-ratio:var(--ar,16 / 10);border-radius:var(--cs-radius);background:var(--color-sand);position:relative;overflow:hidden}.cs .vid video,.cs .vid img{object-fit:contain;background:var(--color-sand);width:100%;height:100%;display:block}.cs .vid .play{background:color-mix(in srgb, var(--color-ivory) 90%, transparent);cursor:pointer;width:64px;height:64px;transition:opacity var(--duration-link) var(--ease-site);border:0;border-radius:50%;padding:0;position:absolute;top:calc(50% - 32px);left:calc(50% - 32px)}.cs .vid .play:after{content:"";border-left:18px solid var(--color-night);border-top:10px solid #0000;border-bottom:10px solid #0000;position:absolute;top:calc(50% - 10px);left:calc(50% - 6px)}.cs .vid[data-playing] .play{opacity:0;pointer-events:none}html:not(.js) .cs .vid .play{display:none}.cs .vid[data-failed]{background-position:50%;background-repeat:no-repeat;background-size:contain}.cs .vid[data-failed] video,.cs .vid[data-failed] .play{visibility:hidden}.cs .hero{padding-top:24px}.cs .hero .hero-art{max-width:var(--cs-mid);margin:var(--cs-hero-shot-top) auto 0}.cs .hero .hero-art svg{width:100%;height:auto;display:block}.cs .hero .vid{width:100%;max-height:var(--cs-hero-max)}.cs .hero .still{padding:var(--cs-hero-pad);border-radius:var(--cs-radius);background:var(--color-sand);position:relative}.cs .hero .still-shot{width:min(var(--cs-hero-shot), 100%, (var(--cs-hero-frame-max) - 2 * var(--cs-hero-pad)) * var(--ar,16 / 10));border-radius:var(--radius-shot) var(--radius-shot) 0 0;box-shadow:var(--shadow-shot);margin:0 auto;overflow:hidden}.cs .hero .still-shot img{width:100%;height:auto;display:block}@media (width<=639.98px){.cs .hero{padding-inline:0}.cs .hero .still,.cs .hero .vid{aspect-ratio:auto;height:auto;max-height:none;padding:var(--cs-hero-inset-sm);background:var(--color-sand);border-radius:0}.cs .hero .still-shot{border-radius:var(--radius-shot) var(--radius-shot) 0 0;width:100%}.cs .hero .vid video{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:contain;border-radius:var(--radius-shot) var(--radius-shot) 0 0;background:0 0}.cs .hero .vid .play{top:calc(50% - 24px);left:calc(50% - 24px)}}.cs .head{padding-top:56px}.cs .head h1{margin-bottom:10px}.cs .head .sub{border-bottom:var(--rule-width) solid var(--color-ink-3);margin-bottom:28px;padding-bottom:24px}.cs .summary{margin:36px 0 0}.cs .summary>div{grid-template-columns:var(--cs-summary-label) 1fr;align-items:baseline;gap:6px 24px;padding-block:12px;display:grid}.cs .summary>div:first-child{padding-top:0}.cs .summary>div+div{border-top:var(--rule-width) solid color-mix(in srgb, var(--color-ink) 18%, transparent)}.cs .summary dt{font-family:var(--font-mono);font-size:var(--size-cs-summary-label);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-3)}.cs .summary dd{line-height:var(--leading-cs-body);color:var(--color-ink-2);margin:0}.cs .meta{grid-template-columns:1fr 1fr 1.4fr;gap:32px;margin:0;display:grid}.cs .meta dt{font-family:var(--font-display);font-size:var(--size-cs-meta-dt);color:var(--color-ink);margin-bottom:4px}.cs .meta dd{font-size:var(--size-cs-meta-dd);color:var(--color-ink-3);margin:0;line-height:1.5}@media (width<=639.98px){.cs .meta.meta{grid-template-columns:1fr;gap:12px}.cs .meta>div{grid-template-columns:7.5em 1fr;align-items:baseline;column-gap:12px;display:grid}.cs .meta dt{margin-bottom:0}}.cs .nums{text-align:center;grid-auto-columns:minmax(0,440px);grid-auto-flow:column;justify-content:center;gap:48px 80px;display:grid}.cs .num span{font-size:var(--size-cs-small);color:var(--color-ink-3);margin-top:12px;display:block}.cs .num .pill{border:var(--rule-width) solid var(--color-ink);border-radius:var(--radius-full);font-family:var(--font-display);font-size:var(--size-cs-pill);margin-bottom:14px;padding:6px 18px;display:inline-block}.cs .num:first-child .pill{background:var(--color-cs-azure-tint)}.cs .num b{font-family:var(--font-display);font-weight:var(--font-weight-regular);font-size:var(--size-cs-num);letter-spacing:-.02em;color:var(--color-ink);line-height:1;display:block}.cs .quote p{color:inherit;margin:0}.cs .quote{font-family:var(--font-display);font-style:italic;font-size:var(--size-cs-quote);color:var(--color-ink);margin:0;line-height:1.35}.cs .cols h3{border-bottom:var(--rule-width) solid var(--color-ink-3);margin-bottom:32px;padding-bottom:22px}.cs .cols .row{grid-template-columns:1fr 1fr;gap:32px;display:grid}:is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row){grid-template-columns:1fr;gap:0}:is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row)>div{grid-template-columns:var(--cs-row-title) 1fr;align-items:start;column-gap:24px;padding-block:12px;display:grid}:is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row)>div:first-child{padding-top:0}:is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row)>div+div{border-top:var(--rule-width) solid color-mix(in srgb, var(--color-ink) 18%, transparent)}:is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row) h4{font-size:var(--size-body-large);line-height:var(--leading-cs-body);margin:0}.cs .cols h4{font-family:var(--font-display);font-weight:var(--font-weight-regular);font-size:var(--size-cs-col-title);color:var(--color-ink);align-items:center;gap:10px;margin:0 0 10px;display:flex}.cs .cols h4 i{background:var(--color-sea);border-radius:2px;flex:none;align-self:start;width:10px;height:10px;margin-top:calc(.5lh - 5px)}.cs .cols .row p{font-size:var(--size-cs-small);color:var(--color-ink-3)}.cs .sticky .q-wrap{top:var(--nav-height-compact);z-index:2;margin-bottom:calc(var(--cs-q-gap) - 24px);background:var(--color-paper);padding-block:12px;position:sticky}.cs .sticky .chunk+.chunk{margin-top:var(--cs-sticky-gap)}.cs .sticky ol,.cs .sticky ul{counter-reset:n;margin-top:4px;padding:0;list-style:none}.cs .sticky li{counter-increment:n;border-top:var(--rule-width) solid color-mix(in srgb, var(--color-ink) 18%, transparent);color:var(--color-ink-2);grid-template-columns:36px 1fr;margin:0;padding:14px 0;display:grid}.cs .sticky li:before{content:counter(n, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--size-cs-label);color:var(--color-accent-text);line-height:2.2}.cs .pill-h{border:var(--rule-width) solid var(--color-ink);border-radius:var(--radius-full);font-family:var(--font-display);font-size:var(--size-cs-pill-h);color:var(--color-ink);margin-bottom:28px;padding:8px 22px;display:inline-block}.cs .instead{border-top:2px solid var(--color-sand);margin-top:24px;padding-top:12px}.cs .instead .label{margin-bottom:4px;display:block}.cs .instead p{font-size:var(--size-cs-small);color:var(--color-ink-3)}.cs .pair{grid-template-columns:1fr 1fr;gap:32px;display:grid}.cs .pair h4{font-family:var(--font-display);font-weight:var(--font-weight-regular);font-size:var(--size-cs-pair-title);color:var(--color-ink);margin:18px 0 4px}.cs .pair p{font-size:var(--size-cs-small);color:var(--color-ink-3)}.cs .pn{margin-top:var(--cs-section);border-top:var(--rule-width) solid var(--color-ink-3);grid-template-columns:1fr 1fr;padding-top:48px;padding-bottom:120px;display:grid}.cs .pn a{color:var(--color-ink);text-decoration:none}.cs .pn b{font-family:var(--font-display);font-weight:var(--font-weight-regular);font-size:var(--size-cs-pn);margin-top:6px;display:block}.cs .pn .r{text-align:right}.cs .pn a:hover b{color:var(--color-accent-text)}body.night .cs .shot,body.night .cs .vid,body.night .cs .vid video,body.night .cs .vid img,body.night .cs .hero .still{background:var(--color-card-night)}body.night .cs .shot,body.night .cs .vid,body.night .cs .hero .still{box-shadow:inset 0 0 0 var(--rule-width) var(--color-card-night-border)}body.night .cs .cols .row>div{border:var(--rule-width) solid var(--color-card-night-border);border-radius:var(--cs-radius);background:var(--color-card-night);--color-ink:var(--color-card-night-text);--color-ink-2:var(--color-card-night-text);--color-ink-3:var(--color-card-night-text);padding:20px}body.night :is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row)>div{padding:20px}body.night :is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row)>div+div{border-top:var(--rule-width) solid var(--color-card-night-border);margin-top:12px}body.night .cs .cols .row .label{color:var(--color-card-night-label)}body.night .cs .num:first-child .pill{border-color:var(--color-card-night-border);background:var(--color-card-night);color:var(--color-card-night-text)}@media (width<=600px){.cs .cols .row,.cs .meta,.cs .summary>div,:is(.cs .cols .row:has(>:nth-child(3):last-child),.cs .cols.stack .row)>div{grid-template-columns:1fr}}@media (width<=900px){.cs .pair{grid-template-columns:1fr;gap:32px}.cs .nums{grid-auto-columns:auto;grid-auto-flow:row}.cs .section{padding-top:var(--cs-section-sm)}}@media (width<=600px){.cs .q{padding:16px 18px}}@media (prefers-reduced-motion:reduce){.cs .q .ti{transition:none}.cs .qt .w path,.cs .q.in .qt .w path{stroke-dashoffset:0;animation:none}}@media (width<=600px){.cs .pn{padding-bottom:var(--page-end-gap-sm)}}.cs .cols .col-linked{position:relative}.cs .cols .col-linked h4 a{color:inherit;text-decoration:none}.cs .cols .col-linked h4 a:after{content:"";position:absolute;inset:0}.cs .cols .col-linked:hover h4 a{text-decoration:underline;text-decoration-color:var(--color-terracotta);text-decoration-thickness:var(--underline-width);text-underline-offset:var(--underline-offset)}.cs .tool-index{margin-top:var(--space-block)}.cs .chunk[id]{scroll-margin-top:calc(var(--nav-height-compact) + var(--spacing) * 8)}.cs p,.cs dd,.cs li{text-wrap:pretty}.cs h3,.cs h4,.cs .pill-h,.cs .head .sub{text-wrap:balance}.principles-list[data-astro-cid-wfumfjmp] ul,.principles-list[data-astro-cid-wfumfjmp] ol{grid-template-columns:1fr;gap:0 40px;margin:0;padding:0;list-style:none;display:grid}.principles-list[data-astro-cid-wfumfjmp] li{padding:calc(var(--spacing) * 5) 0;border-bottom:var(--rule-width) solid color-mix(in srgb, var(--color-ink) 18%, transparent);color:var(--color-ink-2);margin:0}.principles-list[data-astro-cid-wfumfjmp] li:first-child{padding-top:0}.sides[data-astro-cid-mg2jhtxx]{border-top:var(--rule-width) solid var(--color-rule)}.side[data-astro-cid-oe55b3vi]{gap:var(--space-stack) var(--beat-gap);padding:var(--side-pad) 0;border-bottom:var(--rule-width) solid var(--color-rule);grid-template-columns:1fr;display:grid}.side[data-astro-cid-oe55b3vi] .side-name[data-astro-cid-oe55b3vi]{font-family:var(--font-display);font-size:var(--size-side-name);line-height:var(--leading-h2);letter-spacing:-.01em;color:var(--color-ink);max-width:none;margin:0}.side-name[data-astro-cid-oe55b3vi] a[data-astro-cid-oe55b3vi]{color:inherit;text-decoration:none}.side-name[data-astro-cid-oe55b3vi] a[data-astro-cid-oe55b3vi]:hover{color:var(--color-accent-text)}.side-name[data-astro-cid-oe55b3vi] svg[data-astro-cid-oe55b3vi]{width:var(--arrow-size);height:var(--arrow-size);margin-left:calc(var(--spacing) * 1.5);vertical-align:-.05em;color:var(--color-accent);display:inline-block}.side[data-astro-cid-oe55b3vi] .side-tag[data-astro-cid-oe55b3vi]{margin:calc(var(--spacing) * 2) 0 0;font-family:var(--font-mono);font-size:var(--size-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--color-ink-3);max-width:none}.side-body[data-astro-cid-oe55b3vi]{font-size:var(--size-body);line-height:var(--leading-body);color:var(--color-ink-2);max-width:var(--container-prose)}.side-body[data-astro-cid-oe55b3vi] p{margin:0}.sr-only[data-astro-cid-oe55b3vi]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
