:root{
--ink:#161A1E;--text:#1B1E24;--muted:#5B6470;--faint:#626D79;--line:#E7EBEF;--ice:#F8FAFB;--white:#FFFFFF;--paper:#FFFFFF;--g:#1F7A4D;--g2:#34B98A;--btn:#161A1E;--btn-h:#000000;
--s1:#F1F3F6;--i1:#1B1E24;--m1:#5B6470;--s2:#F6F3EC;--i2:#2A2418;--m2:#6E634F;--s3:#EDF2F8;--i3:#1A2233;--m3:#55627A;
--on-dark:#FFFFFF;--muted-dark:#BDC6D0;--line-dark:#46515C;--input-line:#85909C;--focus:#1F7A4D;
--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-7:4rem;--space-8:5rem;--space-9:6rem;--space-10:9rem;--space-close:11rem;--field-gap:.5rem;
--gutter:5rem;--width-narrow:52rem;--width-standard:80rem;--width-wide:92rem;--header-height:4.5rem;--hero-top:5rem;--hero-crumb-top:3rem;--crumb-gap:1.5rem;--stage-min:28rem;
--r-xl:2rem;--r-lg:1.5rem;--r-md:1rem;--r-sm:.625rem;--r-pill:999px;
--shadow:0 40px 80px -36px rgba(22,26,30,.28),0 12px 28px -18px rgba(22,26,30,.18);--shadow-s:0 18px 40px -24px rgba(22,26,30,.30);
--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1.0625rem;--fs-lg:1.25rem;--fs-xl:2rem;--fs-section:3rem;--fs-display:clamp(2.5rem,4.73vw,4.25rem);
--lh-tight:1.15;--lh-heading:1.2;--lh-body:1.65;--lh-small:1.5;
--fh:"Chivo","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic",sans-serif;
--fb:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic",sans-serif;
--fm:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
--duration:200ms;--ease:cubic-bezier(.2,.7,.2,1)
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ice);scroll-padding-top:calc(var(--header-height) + var(--space-3))}
body{margin:0;background:var(--ice);color:var(--text);font-family:var(--fb);font-size:var(--fs-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote,pre{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--fh);font-weight:800;letter-spacing:0;color:var(--ink);overflow-wrap:break-word}
h1{font-size:var(--fs-display);line-height:var(--lh-tight)}
h2{font-size:var(--fs-section);line-height:var(--lh-tight)}
h3{font-size:var(--fs-lg);line-height:var(--lh-heading)}
h4{font-size:var(--fs-base);line-height:var(--lh-heading)}
h5,h6{font-size:var(--fs-sm);line-height:var(--lh-small)}
p,li,dt,dd,label{font-size:var(--fs-base);line-height:var(--lh-body)}
small,figcaption{font-size:var(--fs-sm);line-height:var(--lh-small)}
blockquote{font-size:var(--fs-lg);line-height:var(--lh-body)}
code{font-family:var(--fm);font-size:var(--fs-sm);line-height:var(--lh-body);font-variant-numeric:tabular-nums}
th,td{font-size:var(--fs-base);line-height:var(--lh-body)}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;line-height:var(--lh-small)}
button{cursor:pointer}
button,input,select,textarea{max-width:100%}
button{color:inherit}
img,svg{vertical-align:middle}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
ul,ol{padding-inline-start:var(--space-3)}
button:disabled{cursor:not-allowed;opacity:.55}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
::selection{background:var(--g);color:var(--white)}
.wrap,.container{width:100%;max-width:var(--width-standard);margin-inline:auto;padding-inline:var(--gutter)}
.container-narrow{width:min(calc(100% - var(--gutter)*2),var(--width-narrow));margin-inline:auto}
.container-wide{width:100%;max-width:var(--width-wide);margin-inline:auto;padding-inline:var(--gutter)}
.mono{font-family:var(--fm);font-variant-numeric:tabular-nums}
.h2{font-size:var(--fs-section);line-height:var(--lh-tight);font-weight:800}
.h3{font-size:var(--fs-xl);line-height:var(--lh-heading);font-weight:800}
.lead{font-size:var(--fs-lg);line-height:1.6;color:var(--muted)}
.small{font-size:var(--fs-sm);line-height:var(--lh-small);color:var(--faint)}
.center{text-align:center}
.grid{display:grid;gap:var(--space-3);align-items:stretch}
.grid>*{min-width:0}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stack{display:flex;flex-direction:column;gap:var(--space-3)}
.mt-1{margin-top:var(--space-1)}
.mt-3{margin-top:var(--space-3)}
.mt-5{margin-top:var(--space-5)}
.mt-7{margin-top:var(--space-7)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.c-prose{max-width:var(--width-narrow);font-size:var(--fs-base);line-height:var(--lh-body)}
.c-prose :is(h2,h3){font-size:var(--fs-lg);line-height:var(--lh-heading);margin-block:var(--space-6) var(--space-3)}
.c-prose :is(p,ul,ol,pre,blockquote,.table-scroll)+*{margin-top:var(--space-3)}
.c-prose a{text-decoration:underline;text-underline-offset:.2em}
.c-prose :is(a,code){overflow-wrap:anywhere}
pre{max-width:100%;overflow-x:auto;padding:var(--space-3);border-radius:var(--r-md);background:var(--s1);color:var(--i1);font-family:var(--fm);font-size:var(--fs-sm);line-height:var(--lh-body)}
code{max-width:100%;overflow-x:auto}
.reveal{opacity:1;transform:none}
.reveal.is-pending{opacity:0;transform:translateY(var(--space-3));transition:opacity 600ms var(--ease),transform 600ms var(--ease)}
.reveal.reveal-left.is-pending{transform:translateX(calc(var(--space-3)*-1))}
.reveal.reveal-right.is-pending{transform:translateX(var(--space-3))}
@media(max-width:64rem){
:root{--gutter:2rem;--space-10:6rem;--space-close:7rem}
.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
:root{--gutter:1.25rem;--hero-top:3rem;--fs-section:2rem;--space-10:4.5rem;--space-close:5rem}
.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
.reveal.is-pending,.reveal.reveal-left.is-pending,.reveal.reveal-right.is-pending{opacity:1;transform:none}
}
