:root{
--color-primary:#29245c;--color-primary-soft:#474178;--color-accent:#7d8fe8;--color-accent-soft:#aab7ff;--color-dark:#17151d;--color-ink:#1c1922;--color-muted:#676270;--color-light:#fff8ec;--color-paper:#fff;--color-surface:#efedf5;--color-surface-2:#f6f4f7;--color-warm:#b77c4e;--color-success:#667952;--line-paper:color-mix(in srgb,#1c1922 13%,transparent);--line-dark:color-mix(in srgb,#fff 18%,transparent);--line-input:#aaa5b1;--font-heading:"Chivo",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--font-body:"Chivo",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--fs-0:.75rem;--fs-1:.875rem;--fs-2:1rem;--fs-3:1.125rem;--fs-4:1.5rem;--fs-5:clamp(1.9rem,4vw,3.2rem);--fs-6:clamp(2.45rem,5.5vw,4.25rem);--lh-tight:1.16;--lh-heading:1.22;--lh-body:1.65;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--space-7:7.5rem;--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:1.875rem;--shadow-soft:0 1.5rem 4rem rgba(35,30,48,.08);--container-narrow:46rem;--container-standard:78rem;--container-wide:90rem;--gutter:clamp(1rem,4vw,3rem);--ease:cubic-bezier(.2,.75,.25,1);--header-z:100
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--color-paper)}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-2);line-height:var(--lh-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;color:inherit;font-family:var(--font-heading);font-weight:500;letter-spacing:-.025em}
h1{font-size:var(--fs-6);line-height:var(--lh-tight)}
h2{font-size:var(--fs-5);line-height:var(--lh-heading)}
h3{font-size:var(--fs-4);line-height:1.3}
h4{font-size:var(--fs-3);line-height:1.4}
h5{font-size:var(--fs-2);line-height:1.45}
h6{font-size:var(--fs-1);line-height:1.5}
p{margin:0;font-size:var(--fs-2);line-height:var(--lh-body)}
ul,ol{font-size:var(--fs-2);line-height:var(--lh-body)}
li{font-size:var(--fs-2);line-height:var(--lh-body)}
small{font-size:var(--fs-0);line-height:1.5}
figcaption{font-size:var(--fs-1);line-height:1.55}
blockquote{margin:0;font-size:var(--fs-3);line-height:1.6}
code{font-family:var(--font-mono);font-size:var(--fs-1);line-height:1.65;font-variant-numeric:tabular-nums}
pre{max-width:100%;margin:0;overflow-x:auto;font:var(--fs-1)/1.7 var(--font-mono);tab-size:2}
th{font-size:var(--fs-1);line-height:1.45;font-weight:700}
td{font-size:var(--fs-1);line-height:1.55}
dt{font-size:var(--fs-1);line-height:1.5;font-weight:700}
dd{margin:0;font-size:var(--fs-1);line-height:1.55}
label{font-size:var(--fs-1);line-height:1.5;font-weight:700}
strong{font-weight:700}
::selection{background:var(--color-accent-soft);color:var(--color-dark)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 70%,white);outline-offset:3px}
.u-container,.u-container-wide,.u-container-narrow{width:min(100% - 2 * var(--gutter),var(--container-standard));margin-inline:auto}
.u-container-wide{max-width:var(--container-wide)}
.u-container-narrow{max-width:var(--container-narrow)}
.u-grid{display:grid;gap:var(--space-3);min-width:0}
.u-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.u-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.u-grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:start}
.u-stack>*+*{margin-top:var(--space-3)}
.u-stack-sm>*+*{margin-top:var(--space-2)}
.u-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.u-center{text-align:center}
.u-center>.u-cluster{justify-content:center}
.u-muted{color:var(--color-muted)}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.u-mt-1{margin-top:var(--space-1)}.u-mt-2{margin-top:var(--space-2)}.u-mt-3{margin-top:var(--space-3)}.u-mt-4{margin-top:var(--space-4)}.u-mt-5{margin-top:var(--space-5)}
.u-py-4{padding-block:var(--space-4)}.u-py-5{padding-block:var(--space-5)}.u-py-6{padding-block:var(--space-6)}.u-py-7{padding-block:var(--space-7)}
.reveal,.reveal-up,.reveal-left{opacity:0;transform:translateY(1.25rem);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal-left{transform:translateX(-1.25rem)}
.reveal.is-visible,.reveal-up.is-visible,.reveal-left.is-visible{opacity:1;transform:none}
@media(max-width:48rem){.u-grid-2,.u-grid-3{grid-template-columns:1fr}.u-py-7{padding-block:var(--space-6)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-up,.reveal-left{opacity:1;transform:none;transition:none}}
