:root{
  --ink:#1B1A18;--ink-2:#45423C;--muted:#56534D;--line:#ECEAE5;--soft:#F6F5F2;--paper:#FFFFFF;
  --amber:#F5A800;--amber-deep:#7A4F00;--amber-hover:#E89D00;
  --blue:#E6F0FF;--blue-ink:#173A66;--blue-muted:#3F5D85;
  --green:#E2F4EA;--green-ink:#14513A;--green-muted:#3E6B58;
  --pink:#FCE7EF;--pink-ink:#7A2244;--pink-muted:#79405A;
  --violet:#ECE8FB;--violet-ink:#3D2C80;--violet-muted:#55468C;
  --dark:#1B1A18;--dark-2:#262421;--dark-muted:#C8C2B8;
  --font-heading:"Inter",-apple-system,"PingFang SC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Apple SD Gothic Neo","Malgun Gothic","Microsoft YaHei",sans-serif;
  --font-body:"Outfit",-apple-system,"PingFang SC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Apple SD Gothic Neo","Malgun Gothic","Microsoft YaHei",sans-serif;
  --font-mono:"SF Mono","JetBrains Mono","Roboto Mono",ui-monospace,Menlo,Consolas,monospace;
  --text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-card:1.25rem;--text-section:2rem;--text-display:clamp(2rem,3.1vw,2.75rem);
  --leading-tight:1.25;--leading-body:1.65;
  --space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:4rem;--space-7:6rem;
  --radius-sm:8px;--radius:12px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;
  --shadow:0 1px 2px rgba(27,26,24,.05),0 10px 28px rgba(27,26,24,.06);
  --shadow-lg:0 1px 2px rgba(27,26,24,.06),0 24px 60px rgba(27,26,24,.10);
  --gutter:clamp(1rem,3vw,2.5rem);--width-reading:46rem;--width-standard:73.75rem;--width-wide:84rem;
  --hero-top:5rem;--hero-crumb-top:3rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--text-base)/var(--leading-body) var(--font-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg{max-width:100%}
img{display:block}
svg{flex:none}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,figure,blockquote{margin:0}
ul,ol{padding:0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;color:var(--ink);letter-spacing:-.015em;overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:1.2}
h2{font-size:var(--text-section);line-height:1.25}
h3{font-size:var(--text-card);line-height:1.4}
h4{font-size:var(--text-base);line-height:1.4}
h5,h6{font-size:var(--text-sm);line-height:1.45}
p,li,dt,dd,td,th,label,blockquote,figcaption{font-size:var(--text-base);line-height:var(--leading-body)}
small{font-size:var(--text-xs);line-height:1.5}
code,pre{font:500 var(--text-sm)/1.7 var(--font-mono)}
th,td{line-height:1.5}
dt{font-weight:500}
dd{margin:0}
blockquote{padding-inline-start:var(--space-3)}
:focus-visible{outline:2px solid var(--amber-deep);outline-offset:3px}
::selection{background:var(--amber);color:var(--ink)}
.wrap,.container{width:min(calc(100% - 2 * var(--gutter)),var(--width-standard));margin-inline:auto}
.container-wide{width:min(calc(100% - 2 * var(--gutter)),var(--width-wide));margin-inline:auto}
.container-reading{width:min(calc(100% - 2 * var(--gutter)),var(--width-reading));margin-inline:auto}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.grid-2,.grid-3,.grid-4{display:grid;align-items:stretch;gap:var(--space-3)}
.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-2>*,.grid-3>*,.grid-4>*{min-width:0}
.stack-2>*+*{margin-block-start:var(--space-2)}
.stack-3>*+*{margin-block-start:var(--space-3)}
.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}
[hidden]{display:none!important}
@media(max-width:64rem){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:42rem){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
