:root{
--paper:#FFFFFF;--ink:#161B33;--ink2:#3B4260;--muted:#5D6481;--vio:#5A3A9A;--vio-d:#482E80;--vio2:#A85BD6;--selected:#F4F0FB;
--mist:#F2F5F8;--mist-d:#E4E9EF;--sage:#EAF2EC;--sage-ink:#1F3A2A;--sage-mute:#476553;--sand:#F7F1E7;--sand-ink:#4A3414;--sand-mute:#7A6142;--peach:#FBEDE8;--peach-ink:#5A2416;--peach-mute:#8C5644;
--dark:#161B33;--dark-body:#C4C9DC;--dark-muted:#A3A9C2;--line:#E4E9EF;--line-dark:#343B58;--input-line:#8992A8;--button-line:#D2D9E4;--success:#3F8F5E;--success-ring:#CFE3D5;--dot-grid:#D2D9E4;--terminal-red:#E77B77;--terminal-yellow:#E5BC60;--terminal-green:#79B18D;
--fh:"Sora","Avenir Next",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic","Microsoft YaHei",sans-serif;
--fb:"Inter",-apple-system,"Segoe UI","PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic","Microsoft YaHei",sans-serif;
--fm:"SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-card:1.3125rem;--text-section:2.5rem;--text-display:3.5rem;--text-reading:1.5rem;
--lh-body:1.65;--lh-small:1.5;--lh-title:1.25;--lh-display:1.15;--lh-reading:1.4;
--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:4.5rem;--space-10:6rem;--space-11:7rem;
--field-gap:.5rem;--action-gap:.875rem;--action-follow:2rem;--gutter:1.5rem;--hero-top:5.5rem;--hero-crumb-top:3rem;--crumb-follow:1.5rem;
--width-narrow:48rem;--width-standard:72.5rem;--width-wide:84rem;--header-height:5rem;--stage-right-min:18rem;
--r-s:6px;--r-m:12px;--r-l:20px;--r-xl:28px;--radius-sm:6px;--radius-pill:999px;
--shadow:0 1px 2px rgba(22,27,51,.06),0 24px 56px -22px rgba(22,27,51,.22);--shadow-stage:0 1px 2px rgba(22,27,51,.06),0 28px 60px -24px rgba(22,27,51,.26);
--duration:200ms;--ease:cubic-bezier(.2,.7,.2,1);--focus:0 0 0 3px rgba(90,58,154,.24);--z-header:50;--z-overlay:60;
}
*,*::before,*::after{box-sizing:border-box}
html{margin:0;scroll-padding-top:calc(var(--header-height) + var(--space-4));text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink2);font-family:var(--fb);font-size:var(--text-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip;min-width:0}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--fh);font-weight:600;color:var(--ink);letter-spacing:-.01em;overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:var(--lh-display)}
h2{font-size:var(--text-section);line-height:var(--lh-title)}
h3{font-size:var(--text-card);line-height:var(--lh-title)}
h4{font-size:var(--text-lg);line-height:var(--lh-title)}
h5{font-size:var(--text-sm);line-height:var(--lh-small)}
h6{font-size:var(--text-xs);line-height:var(--lh-small)}
p{margin:0;font-size:var(--text-base);line-height:var(--lh-body)}
li{font-size:var(--text-base);line-height:var(--lh-body)}
small{font-size:var(--text-sm);line-height:var(--lh-small)}
figcaption{font-size:var(--text-sm);line-height:var(--lh-small)}
blockquote{margin:0;font-size:var(--text-lg);line-height:var(--lh-body)}
cite{font-size:var(--text-sm);line-height:var(--lh-small);font-style:normal}
code{font-family:var(--fm);font-size:var(--text-sm);line-height:var(--lh-body);overflow-wrap:break-word}
pre{margin:0;max-width:100%;overflow-x:auto;font-family:var(--fm);font-size:var(--text-sm);line-height:var(--lh-body);tab-size:2}
pre code{display:block;width:max-content;min-width:100%;overflow-wrap:normal;white-space:pre}
th,td{font-size:var(--text-sm);line-height:var(--lh-body)}
dt,dd{font-size:var(--text-sm);line-height:var(--lh-body)}
dd{margin:0}
label{font-size:var(--text-sm);line-height:var(--lh-small)}
a{color:inherit;text-underline-offset:.22em}
button,input,select,textarea{font-family:var(--fb);font-size:var(--text-base);line-height:var(--lh-small)}
button{cursor:pointer}
button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}
img{display:block;max-width:100%;height:auto}
svg{display:inline-block;vertical-align:middle;flex-shrink:0}
figure{margin:0}
hr{border:0;margin:var(--space-5) 0;border-top:1px solid var(--line)}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--vio);outline-offset:4px}
::selection{background:var(--vio);color:var(--paper)}
.container,.wrap{width:min(calc(100% - var(--gutter)*2),var(--width-standard));margin-inline:auto}
.container-narrow{width:min(calc(100% - var(--gutter)*2),var(--width-narrow));margin-inline:auto}
.container-wide{width:min(calc(100% - var(--gutter)*2),var(--width-wide));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)}
.stack>*{min-width:0}
.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
.num{font-family:var(--fm);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.text-sm{font-size:var(--text-sm);line-height:var(--lh-small)}
.text-lg,.sub{font-size:var(--text-lg);line-height:1.6}
.sub,.text-muted{color:var(--muted)}
.text-center{text-align:center}
.mt-2{margin-top:var(--space-2)}
.mt-4{margin-top:var(--space-4)}
.mt-5{margin-top:var(--space-5)}
.mt-8{margin-top:var(--space-8)}
.gap-2{gap:var(--space-2)}
.gap-4{gap:var(--space-4)}
.gap-8{gap:var(--space-8)}
.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}
.skip-link{position:fixed;top:var(--space-3);left:var(--gutter);z-index:100;padding:var(--space-2) var(--space-4);background:var(--paper);color:var(--ink);border-radius:var(--r-s);transform:translateY(-200%)}
.skip-link:focus{transform:none}
:where(.surface-paper){background:#FFFFFF;color:#3B4260}
:where(.surface-mist,.mist){background:#F2F5F8;color:#3B4260}
:where(.surface-sage){background:#EAF2EC;color:#1F3A2A}
:where(.surface-sand){background:#F7F1E7;color:#4A3414}
:where(.surface-peach){background:#FBEDE8;color:#5A2416}
:where(.surface-dark){background:#161B33;color:#C4C9DC}
:where(.surface-sage) :where(h1,h2,h3,h4,h5,h6){color:#1F3A2A}
:where(.surface-sage) :where(.sub,.text-muted){color:#476553}
:where(.surface-sand) :where(h1,h2,h3,h4,h5,h6){color:#4A3414}
:where(.surface-sand) :where(.sub,.text-muted){color:#7A6142}
:where(.surface-peach) :where(h1,h2,h3,h4,h5,h6){color:#5A2416}
:where(.surface-peach) :where(.sub,.text-muted){color:#8C5644}
:where(.surface-dark) :where(h1,h2,h3,h4,h5,h6){color:#FFFFFF}
:where(.surface-dark) :where(.sub,.text-muted){color:#A3A9C2}
.c-article{max-width:var(--width-narrow);font-size:var(--text-base);line-height:var(--lh-body)}
.c-article :where(h2,h3){font-size:var(--text-reading);line-height:var(--lh-reading);margin-block:var(--space-7) var(--space-3)}
.c-article :where(p,ul,ol,pre,figure,.table-scroll){margin-bottom:var(--space-4)}
.c-article .c-faq{padding:var(--space-4)}
.reveal{opacity:1;transform:none}
.reveal.is-pending{opacity:0;transform:translateY(16px);transition:opacity 500ms var(--ease),transform 500ms var(--ease)}
.reveal.reveal-left.is-pending{transform:translate(-16px,8px)}
.reveal.reveal-right.is-pending{transform:translate(16px,8px)}
.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(2,minmax(0,1fr))}
}
@media(max-width:42rem){
:root{--gutter:1rem;--hero-top:3.5rem;--space-11:4rem;--text-section:2rem;--text-display:2.375rem}
.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
.reveal.is-pending,.reveal.reveal-left.is-pending,.reveal.reveal-right.is-pending{opacity:1;transform:none}
}
