:root{
--primary:#6E6200;--primary-hover:#574D00;--accent:#4B3A9E;--paper:#FFFFFF;--ink:#1C1B17;--muted:#5E5C54;--faint:#706D64;--line:#ECE9E1;--soft:#F7F6F2;--band:#F5F4FA;
--lav:#EEEAFB;--lav-ink:#2C2459;--lav-mu:#5A5288;--lav-deep:#DCD4F7;
--mint:#E2F2EA;--mint-ink:#1E4A36;--mint-mu:#4A6E5E;--mint-deep:#C7E6D6;
--peach:#FBE8DC;--peach-ink:#6A2E14;--peach-mu:#8A5A44;--peach-deep:#F5D0B9;
--mist:#E6EEF6;--mist-ink:#22384F;--mist-mu:#4E6378;--mist-deep:#C9D9EA;
--dark:#1C1B17;--on-dark:#EDEBE4;--muted-dark:#B9B5A9;--line-dark:#48453D;--input-line:#9C988D;--focus:#4B3A9E;
--heading:"Chivo","Helvetica Neue",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
--body:"Manrope","Avenir Next","Segoe UI",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
--mono:"JetBrains Mono","SF Mono",ui-monospace,Menlo,Consolas,monospace;
--text-xs:.8125rem;--text-sm:.875rem;--text-base:.9375rem;--text-md:1.125rem;--text-card:1.3125rem;--text-section:2.5rem;--text-display:3.5rem;
--leading-body:1.65;--leading-title:1.15;--leading-tight:1.3;--tracking-title:-.03em;--tracking-display:-.0357em;
--space-1:4px;--space-2:8px;--space-3:14px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:56px;--space-10:72px;--space-11:96px;--space-12:112px;
--gutter:24px;--width-narrow:780px;--width-standard:1200px;--width-wide:1296px;
--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--radius-stage:40px;--radius-pill:999px;
--shadow-card:0 1px 0 rgba(28,27,23,.04),0 22px 40px -22px rgba(44,36,89,.38);--shadow-panel:0 24px 48px -28px rgba(44,36,89,.4);
--hero-top:40px;--hero-top-crumb:48px;--hero-bottom:96px;--hero-stage-min:620px;--section-pad:112px;--field-gap:8px;--action-gap:16px;--action-follow:32px;
--nav-height:76px;--header-font:.8125rem;--icon-size:20px;--stroke:1.6;--duration:180ms;--ease:cubic-bezier(.2,.7,.2,1)
}
*{box-sizing:border-box}
html{background:var(--paper);scroll-padding-top:var(--nav-height);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);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,ul,ol,dl,dd,figure,blockquote,pre{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--heading);font-weight:300;overflow-wrap:break-word}
h1{font-size:var(--text-display);line-height:var(--leading-title);letter-spacing:var(--tracking-display)}
h2{font-size:var(--text-section);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}
h3{font-size:var(--text-card);line-height:var(--leading-tight);letter-spacing:-.02em}
h4{font-size:var(--text-md);line-height:var(--leading-tight)}
h5,h6{font-size:var(--text-sm);line-height:var(--leading-tight);font-weight:600}
p,li,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)}
blockquote{font-size:var(--text-md);line-height:1.5}
code{font-family:var(--mono);font-size:var(--text-sm);line-height:var(--leading-body);overflow-wrap:break-word}
th,td{font-size:var(--text-sm);line-height:var(--leading-body)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button,input,select,textarea{max-width:100%}
img{display:block;max-width:100%}
svg{width:var(--icon-size);height:var(--icon-size);flex-shrink:0;vertical-align:middle}
ul,ol{padding:0;list-style:none}
button{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
::selection{background:var(--lav-deep);color:var(--lav-ink)}
:lang(ja){--body:"Manrope",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--heading:"Chivo",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
:lang(ko){--body:"Manrope",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--heading:"Chivo",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
:lang(zh-Hant){--body:"Manrope",-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif;--heading:"Chivo",-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif}
.wrap,.container,.container-wide,.container-narrow{width:calc(100% - var(--gutter)*2);margin-inline:auto}
.wrap,.container-wide{max-width:var(--width-wide)}
.container{max-width:var(--width-standard)}
.container-narrow{max-width:var(--width-narrow)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.c-grid{display:grid;gap:var(--space-5);align-items:stretch}
.c-grid>*{min-width:0}
.c-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.c-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.c-stack{display:flex;flex-direction:column;gap:var(--space-5)}
.c-stack>*{min-width:0}
.c-muted{color:var(--muted)}
.c-center{text-align:center}
.c-mt-4{margin-top:var(--space-4)}
.c-mt-6{margin-top:var(--space-6)}
.c-mt-8{margin-top:var(--space-8)}
.c-gap-2{gap:var(--space-2)}
.c-gap-5{gap:var(--space-5)}
.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-prose{max-width:var(--width-narrow);font-size:var(--text-md);line-height:1.8}
.c-prose p,.c-prose li{font-size:var(--text-md);line-height:1.8}
.c-prose h2,.c-prose h3{font-size:1.5rem;line-height:1.4;margin-top:var(--space-8);margin-bottom:var(--space-4)}
.c-prose p+p,.c-prose ul,.c-prose ol{margin-top:var(--space-5)}
.c-prose ul{list-style:disc;padding-left:var(--space-5)}
.c-prose ol{list-style:decimal;padding-left:var(--space-5)}
.c-prose a{text-decoration:underline;text-underline-offset:4px}
.c-prose pre,pre.c-code{position:relative;overflow-x:auto;max-width:100%;padding:var(--space-5);border-radius:var(--radius-md);background:var(--soft);color:var(--ink)}
pre code{display:block;min-width:max-content;overflow-wrap:normal}
.reveal{opacity:1;transform:none}
.reveal.is-reveal-pending{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.reveal-left.is-reveal-pending{transform:translate(-16px,0)}
.reveal.reveal-right.is-reveal-pending{transform:translate(16px,0)}
@media(min-width:90rem){:root{--gutter:72px}}
@media(max-width:64rem){
:root{--text-section:2.125rem;--section-pad:80px;--hero-stage-min:0px}
.c-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
:root{--gutter:20px;--text-display:2.5rem;--text-section:1.875rem;--section-pad:64px;--hero-bottom:64px}
.c-grid-2,.c-grid-3,.c-grid-4{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal.is-reveal-pending{opacity:1;transform:none}}
