:root{
  --color-primary:#57206f;
  --color-primary-dark:#3b124d;
  --color-primary-soft:#eee4f2;
  --color-primary-pale:#f7f0f8;
  --color-accent:#42a6a1;
  --color-gold:#ddb76a;
  --color-ink:#19151c;
  --color-muted:#625d68;
  --color-subtle:#817985;
  --color-paper:#faf7f1;
  --color-surface:#fff;
  --color-line:#e8e0e6;
  --color-dark:#19151c;
  --color-success:#287f7b;
  --font-heading:"Manrope",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --font-body:"Manrope",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --font-zh-hant:"Manrope",-apple-system,"PingFang TC","Hiragino Sans CNS","Microsoft JhengHei",sans-serif;
  --font-ja:"Manrope",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --font-ko:"Manrope",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-mono:"SFMono-Regular","Cascadia Code","Roboto Mono",Consolas,monospace;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2.5rem;
  --space-5:4rem;
  --space-6:6rem;
  --space-7:8.5rem;
  --radius-sm:4px;
  --radius-md:14px;
  --radius-lg:28px;
  --shadow-card:0 18px 50px rgba(52,30,60,.08),0 2px 8px rgba(52,30,60,.05);
  --shadow-float:0 24px 64px rgba(52,30,60,.13);
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-md:1rem;
  --text-lg:1.1875rem;
  --text-xl:1.5rem;
  --text-2xl:clamp(2rem,4vw,3rem);
  --text-hero:clamp(3rem,5.4vw,4.5rem);
  --leading-tight:1.06;
  --leading-heading:1.15;
  --leading-body:1.68;
  --container-narrow:48rem;
  --container-standard:73.75rem;
  --container-wide:90rem;
  --page-gutter:clamp(1rem,4vw,2rem);
  --transition-fast:180ms cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[lang="zh-Hant"] body{font-family:var(--font-zh-hant)}
html[lang="ja"] body{font-family:var(--font-ja)}
html[lang="ko"] body{font-family:var(--font-ko)}
main{overflow-x:clip}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-top:0}
h1,h2,h3,h4{color:var(--color-ink);font-weight:600;line-height:var(--leading-heading);letter-spacing:-.025em}
h1{font-size:var(--text-hero)}
h2{font-size:var(--text-2xl)}
h3{font-size:var(--text-xl)}
h4{font-size:var(--text-md)}
p{margin-bottom:var(--space-2)}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{color:inherit}
ul,ol{padding-left:1.25rem}
table{border-collapse:collapse}
code,kbd,samp,.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
pre{max-width:100%;overflow-x:auto}
pre code{display:block;min-width:max-content}
::selection{background:var(--color-primary-soft);color:var(--color-primary-dark)}
:focus-visible{outline:3px solid rgba(66,166,161,.42);outline-offset:3px}
[hidden]{display:none!important}
.l-container,.l-container-narrow,.l-container-wide{width:calc(100% - var(--page-gutter)*2);margin-inline:auto}
.l-container{max-width:var(--container-standard)}
.l-container-narrow{max-width:var(--container-narrow)}
.l-container-wide{max-width:var(--container-wide)}
.l-grid{display:grid;gap:var(--space-3);min-width:0}
.l-grid>*{min-width:0}
.l-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.l-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.l-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.l-grid-cards{align-items:start}
.l-paired{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:var(--space-3);align-items:stretch}
.l-paired__side{display:grid;gap:var(--space-3);grid-auto-rows:1fr}
.l-stack{display:grid;gap:var(--space-3)}
.l-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.l-split{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
em{font-style:normal}
.u-serif{font-family:var(--font-heading);font-weight:750;font-style:normal}
.u-muted{color:var(--color-muted)}
.u-primary{color:var(--color-primary)}
.u-center{text-align:center}
.u-surface{background:var(--color-surface)}
.u-paper{background:var(--color-paper)}
.u-dark{background:var(--color-dark);color:var(--color-surface)}
.u-dark h1,.u-dark h2,.u-dark h3,.u-dark h4{color:var(--color-surface)}
.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-mb-0{margin-bottom:0}
.u-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}
.reveal,.reveal-left,.reveal-right{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal-left{transform:translateX(-20px)}
.reveal-right{transform:translateX(20px)}
.reveal.is-visible,.reveal-left.is-visible,.reveal-right.is-visible{opacity:1;transform:none}
@media (max-width:900px){
  :root{--space-7:6rem;--space-6:4.5rem}
  .l-grid-3,.l-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .l-paired{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--page-gutter:1rem;--space-7:4.5rem;--space-6:3.5rem}
  .l-grid-2,.l-grid-3,.l-grid-4{grid-template-columns:1fr}
  .l-split{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal-left,.reveal-right{opacity:1;transform:none}
}
