:root{
  --paper:#F2ECE0;--card:#FBF7EE;--rule:rgba(30,26,22,.14);
  --ink:#1E1A16;--ink2:#4A433B;--muted:#776d61;--brand:#7A35C4;--brand-soft:#E7DDF6;
  --serif:"Instrument Serif","Iowan Old Style",Georgia,serif;
  --sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --gl:max(20px,env(safe-area-inset-left,0px));--gr:max(20px,env(safe-area-inset-right,0px));
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans)}
a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
.wrap{max-width:760px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}

header.top{border-bottom:1px solid var(--rule)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}
.mark{font:400 26px/1 var(--serif);color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.mark span{color:var(--brand)}
nav.top{display:flex;gap:20px;font-size:15px}
nav.top a{color:var(--ink2);text-decoration:none}
nav.top a:hover,nav.top a[aria-current]{color:var(--ink);text-decoration:underline}
nav.top a.signin{border:1px solid var(--rule);border-radius:999px;padding:3px 12px;margin:-4px 0;color:var(--ink2)}
nav.top a.signin:hover{border-color:var(--ink2);text-decoration:none}

h1,h2,h3{text-wrap:balance;font-weight:400}
h1{font:400 clamp(40px,7vw,64px)/1.05 var(--serif);letter-spacing:-.015em;margin:0 0 20px}
h2{font:400 clamp(26px,3.6vw,32px)/1.2 var(--serif);margin:56px 0 12px}
h3{font:600 17px/1.4 var(--sans);margin:28px 0 6px}
p,li{max-width:65ch}
p{margin:0 0 14px}
ul,ol{padding-left:22px;margin:0 0 14px}
li{margin:0 0 6px}
.lede{font-size:20px;line-height:1.5;color:var(--ink2);max-width:36em}
.small{font-size:14px;color:var(--muted)}
.label{font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

main{padding-block:56px 72px}
.home main{padding-top:72px}
.block{border-top:1px solid var(--rule);padding-top:28px;margin-top:44px}
.block h2{margin-top:0}
.rows{display:grid;gap:0;margin:8px 0 0}
.rows div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--rule)}
.rows div:first-child{border-top:0}
.rows dt{font-weight:600}
.rows dd{margin:0;min-width:0}

.doc-head{margin-bottom:28px}
.doc-head p{color:var(--ink2)}
.notice{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--brand);border-radius:6px;padding:16px 18px;margin:20px 0 28px}
.notice p:last-child{margin-bottom:0}
.toc{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:18px 20px;margin:0 0 12px}
.toc ol{margin:8px 0 0;columns:2;column-gap:32px}
.toc li{break-inside:avoid;font-size:15px}
.toc ol.plain{list-style:none;padding-left:0}
.doc h2{scroll-margin-top:20px}
.doc h2 .n{color:var(--muted);font-family:var(--sans);font-size:.6em;vertical-align:.25em;margin-right:8px;letter-spacing:.04em}
.doc h3{scroll-margin-top:20px}
.tbl{overflow-x:auto;margin:8px 0 18px}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--rule)}
th{font-weight:600;background:var(--card)}
.caps{text-transform:uppercase;font-size:14px;letter-spacing:.01em}

footer.bottom{border-top:1px solid var(--rule)}
footer.bottom .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;padding-block:24px;font-size:14px;color:var(--muted)}
footer.bottom nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer.bottom a{color:var(--ink2)}

@media (max-width:560px){
  body{font-size:16px}
  .rows div{grid-template-columns:1fr;gap:2px}
  .toc ol{columns:1}
  nav.top{gap:14px}
}
