:root{
--primary:#E0103A;--accent:#FF6B4A;--ink:#0C0C10;--paper:#FFFFFF;--light:#FEFEFD;--muted:#55555A;--soft:#F4F4F1;--yellow:#FFF1C2;--yellow-ink:#3D2E00;--mint:#DDF3E6;--mint-ink:#0E3B24;--ice:#E4ECFF;--ice-ink:#14275C;--line:#E6E6E2;--line-strong:#D6D6D1;--line-on-dark:#4A4A50;--control-line:#85858A;--code-ink:#E9E9E4;--code-muted:#A4A4AA;--bar-gray:#B4B4AE;--white:#FFFFFF;
--font-heading:"Chivo",-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;
--font-body:"Manrope",-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;
--font-mono:"SFMono-Regular","SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",-apple-system,"PingFang SC","Microsoft YaHei",monospace;
--text-xs:.6875rem;--text-sm:.8125rem;--text-button:.8125rem;--text-base:.9375rem;--text-lead:1.0625rem;--text-card:1.3125rem;--text-reading:1.5rem;--text-section:clamp(1.875rem,3.1vw,2.75rem);--text-display:clamp(2.5rem,4.73vw,4.25rem);
--leading-body:1.6;--leading-code:1.72;--leading-title:1.15;--leading-card:1.25;--leading-control:1.3;
--weight-normal:400;--weight-medium:600;--weight-bold:700;--weight-heavy:800;--weight-display:900;
--tracking-title:-.035em;--tracking-section:-.03em;--tracking-label:.14em;
--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:2.5rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-close:6rem;--field-gap:.5rem;--gutter:1.5rem;
--width-reading:48rem;--width-standard:75rem;--width-wide:80rem;--hero-pad:3.5rem;--hero-crumb-pad:3rem;--crumb-gap:1.5rem;--hero-gap:4.5rem;--stage-min:30rem;--stage-width:35rem;
--radius-sm:.25rem;--radius-md:.5rem;--radius-pill:999px;--border:1px;--icon-size:1.125rem;--logo-size:1.875rem;--control-height:2.75rem;--button-height:2.5rem;--language-height:1.875rem;--header-height:4rem;
--shadow:none;--shadow-menu:0 .5rem 1.5rem #0C0C1010;--duration:180ms;--ease:cubic-bezier(.2,.7,.2,1);--z-header:50;--z-menu:60;--sticky-offset:7.5rem
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font-family:var(--font-body);text-size-adjust:100%;scroll-padding-top:var(--sticky-offset)}
body{margin:0;background:var(--paper);color:var(--ink);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,pre{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:var(--leading-title);font-weight:var(--weight-display);letter-spacing:var(--tracking-title)}
h2{font-size:var(--text-section);line-height:var(--leading-title);font-weight:var(--weight-display);letter-spacing:var(--tracking-section)}
h3{font-size:var(--text-card);line-height:var(--leading-card);font-weight:var(--weight-heavy);letter-spacing:-.02em}
h4{font-size:var(--text-lead);line-height:var(--leading-card);font-weight:var(--weight-bold)}
h5{font-size:var(--text-base);line-height:var(--leading-card);font-weight:var(--weight-bold)}
h6{font-size:var(--text-sm);line-height:var(--leading-card);font-weight:var(--weight-bold)}
p,li,blockquote,th,td,dt,dd,label{font-size:var(--text-base);line-height:var(--leading-body)}
small,figcaption{font-size:var(--text-sm);line-height:var(--leading-body)}
code,kbd,samp,pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-code);font-variant-numeric:tabular-nums}
pre{max-width:100%;overflow-x:auto;white-space:pre;tab-size:2}
code{overflow-wrap:anywhere}
pre code{display:block;width:max-content;min-width:100%;overflow-wrap:normal}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button,input,select,textarea{max-width:100%}
button{line-height:var(--leading-control)}
button:disabled{cursor:not-allowed;opacity:.55}
img,svg,video{display:block;max-width:100%}
img{height:auto}
svg{flex-shrink:0}
svg:not([width]):not([class]){width:var(--icon-size);height:var(--icon-size)}
ul,ol{margin:0;padding-inline-start:var(--space-4)}
table{border-collapse:collapse}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
::selection{background:var(--yellow);color:var(--yellow-ink)}
.container,.wrap{width:min(var(--width-standard),calc(100% - var(--gutter)*2));margin-inline:auto}
.container-narrow{width:min(var(--width-reading),calc(100% - var(--gutter)*2));margin-inline:auto}
.container-wide{width:min(var(--width-wide),calc(100% - var(--gutter)*2));margin-inline:auto}
.grid{display:grid;gap:var(--space-4);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))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.stack{display:flex;flex-direction:column;gap:var(--space-4)}
.cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.text-muted{color:var(--muted)}
.text-small{font-size:var(--text-sm);line-height:var(--leading-body)}
.text-center{text-align:center}
.mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)}
.mt-7{margin-top:var(--space-7)}
.gap-2{gap:var(--space-2)}
.gap-4{gap:var(--space-4)}
.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-reading{max-width:var(--width-reading);font-size:var(--text-base);line-height:var(--leading-body)}
.c-reading :is(h2,h3){font-size:var(--text-reading);line-height:var(--leading-title);margin-block:var(--space-6) var(--space-3)}
.c-reading :is(p,ul,ol,pre,blockquote,.table-scroll){margin-bottom:var(--space-4)}
.c-reading a{text-decoration:underline;text-underline-offset:.2em}
.reveal{opacity:1;transform:none}
.reveal.reveal-ready{opacity:0;transform:translateY(1rem);transition:opacity 500ms var(--ease),transform 500ms var(--ease)}
.reveal.reveal-ready.reveal-left{transform:translate(-1rem,0)}
.reveal.reveal-ready.reveal-right{transform:translate(1rem,0)}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:64rem){
.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
}
@media(max-width:42rem){
:root{--gutter:1rem;--space-close:4rem;--hero-gap:2rem;--hero-pad:3.5rem}
.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.reveal.reveal-ready{opacity:1;transform:none}
}
