:root{
  --oak-ink:#18131d;
  --oak-ink-2:#302735;
  --oak-muted:#706874;
  --oak-paper:#fff;
  --oak-warm:#fcf9f5;
  --oak-surface:#f1ebf6;
  --oak-violet:#9564c8;
  --oak-violet-2:#c78ae5;
  --oak-violet-dark:#6e3ca2;
  --oak-violet-pale:#f7f1fa;
  --oak-positive:#347a4c;
  --oak-terminal:#18131d;
  --oak-line:#e8e2e9;
  --oak-line-dark:rgba(255,255,255,.13);
  --oak-control-line:#cfc5d3;
  --oak-font-heading:"Space Grotesk",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --oak-font-body:"Manrope",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --oak-font-ja:"Manrope",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --oak-font-ko:"Manrope",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --oak-font-zh-hant:"Manrope",-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif;
  --oak-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --oak-fs-0:.6875rem;
  --oak-fs-1:.75rem;
  --oak-fs-2:.875rem;
  --oak-fs-3:1rem;
  --oak-fs-4:1.25rem;
  --oak-fs-5:1.75rem;
  --oak-fs-6:2.625rem;
  --oak-fs-display:clamp(2.65rem,4.1vw,3.125rem);
  --oak-lh-tight:1.16;
  --oak-lh-heading:1.2;
  --oak-lh-body:1.68;
  --oak-space-1:.5rem;
  --oak-space-2:1rem;
  --oak-space-3:1.5rem;
  --oak-space-4:2.5rem;
  --oak-space-5:4rem;
  --oak-space-6:6rem;
  --oak-space-7:7rem;
  --oak-radius-control:4px;
  --oak-radius-card:12px;
  --oak-radius-panel:18px;
  --oak-shadow-float:0 24px 64px rgba(46,31,55,.14),0 4px 14px rgba(46,31,55,.07);
  --oak-container-narrow:720px;
  --oak-container:1184px;
  --oak-container-wide:1360px;
  --oak-gutter:clamp(1rem,4vw,2rem);
  --oak-duration:200ms;
  --oak-ease:cubic-bezier(.2,.7,.2,1)
}
*{box-sizing:border-box}
html{scroll-behavior:auto;text-size-adjust:100%;background:var(--oak-paper)}
body{margin:0;color:var(--oak-ink);background:var(--oak-paper);font-family:var(--oak-font-body);font-size:var(--oak-fs-3);line-height:var(--oak-lh-body);-webkit-font-smoothing:antialiased}
html[lang^="ja"] body{font-family:var(--oak-font-ja)}
html[lang^="ko"] body{font-family:var(--oak-font-ko)}
html[lang="zh-Hant"] body{font-family:var(--oak-font-zh-hant)}
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(--oak-font-heading);font-weight:450;line-height:var(--oak-lh-heading);overflow-wrap:anywhere}
h1{font-size:var(--oak-fs-display);line-height:var(--oak-lh-tight);letter-spacing:-.04em}
h2{font-size:var(--oak-fs-6);letter-spacing:-.035em}
h3{font-size:var(--oak-fs-5);letter-spacing:-.025em}
h4{font-size:var(--oak-fs-4)}
h5{font-size:var(--oak-fs-3)}
h6{font-size:var(--oak-fs-2)}
p{margin:0;font-size:var(--oak-fs-3);line-height:var(--oak-lh-body)}
ul,ol{font-size:var(--oak-fs-3);line-height:var(--oak-lh-body)}
li{font-size:var(--oak-fs-3);line-height:var(--oak-lh-body)}
small{font-size:var(--oak-fs-1);line-height:1.5}
figcaption{font-size:var(--oak-fs-1);line-height:1.55}
blockquote{margin:0;font-size:var(--oak-fs-4);line-height:1.55}
code{font-family:var(--oak-font-mono);font-size:var(--oak-fs-2);line-height:1.65}
pre{margin:0;max-width:100%;overflow-x:auto}
pre code{font-size:var(--oak-fs-1);line-height:1.75}
th{font-family:var(--oak-font-mono);font-size:var(--oak-fs-1);line-height:1.5}
td{font-size:var(--oak-fs-2);line-height:1.55}
dt{font-size:var(--oak-fs-2);font-weight:700;line-height:1.5}
dd{margin:0;font-size:var(--oak-fs-2);line-height:1.65}
label{font-size:var(--oak-fs-2);font-weight:650;line-height:1.45}
address{font-size:var(--oak-fs-2);line-height:1.65;font-style:normal}
.container,.container-narrow,.container-wide{width:calc(100% - (2 * var(--oak-gutter)));margin-inline:auto}
.container{max-width:var(--oak-container)}
.container-narrow{max-width:var(--oak-container-narrow)}
.container-wide{max-width:var(--oak-container-wide)}
.grid{display:grid;gap:var(--oak-space-3);align-items:start}
.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))}
.auto-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.stack{display:flex;flex-direction:column;align-items:flex-start}
.stack-1{gap:var(--oak-space-1)}
.stack-2{gap:var(--oak-space-2)}
.stack-3{gap:var(--oak-space-3)}
.stack-4{gap:var(--oak-space-4)}
.cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--oak-space-2)}
.mono{font-family:var(--oak-font-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--oak-muted)}
.ta-center{text-align:center}
.mx-auto{margin-inline:auto}
.mt-2{margin-top:var(--oak-space-2)}
.mt-3{margin-top:var(--oak-space-3)}
.mt-4{margin-top:var(--oak-space-4)}
.mb-3{margin-bottom:var(--oak-space-3)}
.pad-section{padding-block:var(--oak-space-7)}
.surface-warm{background:var(--oak-warm);color:var(--oak-ink)}
.surface-violet{background:var(--oak-surface);color:var(--oak-ink)}
.surface-dark{background:var(--oak-ink);color:#fcf9f5}
.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}
:focus-visible{outline:2px solid var(--oak-violet);outline-offset:3px}
::selection{color:var(--oak-ink);background:#e4d2ef}
@media(max-width:64rem){
  :root{--oak-space-7:5rem}
  .grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:44rem){
  :root{--oak-fs-6:2rem;--oak-space-6:4rem;--oak-space-7:4rem}
  h1{letter-spacing:-.035em}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
