
:root{--paper:#f7f6f2;--ink:#242923;--muted:#61665f;--line:#d9ddd3;--accent:#426044;--wash:#e5eadf}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 'Avenir Next','Segoe UI',sans-serif}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.skip{position:absolute;left:18px;top:-90px;padding:8px;background:var(--paper);z-index:5}.skip:focus{top:8px}
header,main,footer{max-width:1160px;margin:auto;padding-inline:32px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px;border-bottom:1px solid var(--line)}
.brand{font-size:21px;font-weight:700;text-decoration:none;letter-spacing:-.5px}.brand span{font-size:11px;font-weight:500;margin-left:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
nav{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}nav a[aria-current]{font-weight:700;text-decoration:underline}
.hero{padding-block:72px 42px;max-width:1000px}
h1,h2,h3{line-height:1.16;letter-spacing:-.035em;font-weight:600}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,5.8vw,72px);margin:20px 0 26px;max-width:1000px}
h2{font-size:29px;margin:0 0 18px}h3{font-size:21px;margin:0 0 12px}.intro{font-size:21px;line-height:1.65;max-width:790px;color:#465045}
.index{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0;border-block:1px solid var(--line);margin-bottom:54px}.index a{padding:26px 25px 28px 0;text-decoration:none}.index a+a{padding-left:25px;border-left:1px solid var(--line)}.index strong{display:block;font-size:19px;line-height:1.4;max-width:290px}
.layout{display:grid;grid-template-columns:210px minmax(0,750px);gap:64px;padding-bottom:72px}.contents{font-size:14px}.contents p{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-top:5px}.contents a{display:block;margin:13px 0;text-decoration:none}
article section{margin-bottom:40px;scroll-margin-top:28px}article p{margin:0 0 18px;max-width:740px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}th,td{text-align:left;vertical-align:top;padding:15px 12px;border-bottom:1px solid var(--line)}th{background:var(--wash)}.meta{color:var(--muted);font-size:12px}.faq{border-top:1px solid var(--line);padding-top:28px}details{border-bottom:1px solid var(--line);padding-block:16px}summary{font-size:18px;font-weight:600;cursor:pointer}details p{padding-top:14px;font-size:16px}
.related{background:var(--wash);padding:30px;margin-top:30px}.related a{display:block;margin-block:14px;font-size:15px}.sources{margin-top:35px;font-size:13px;color:var(--muted)}.sources a{display:inline-block;margin-right:20px}
footer{border-top:1px solid var(--line);padding-block:26px 40px;font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:30px}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);margin-bottom:20px}.breadcrumbs a{min-height:32px;display:inline-flex;align-items:center}.breadcrumbs svg{width:12px;height:12px;flex:none}::selection{background:var(--wash);color:var(--ink)}
body[data-tone=copper]{--accent:#865332;--wash:#efe4d6;--paper:#faf6ef;--line:#e1d7ca}body[data-tone=blue]{--accent:#345972;--wash:#e4ebef;--paper:#f5f7f8;--line:#d4dce0}body[data-tone=plum]{--accent:#6b4e6c;--wash:#ece4ec;--paper:#f8f5f8;--line:#ddd3df}
@media(max-width:780px){header,main,footer{padding-inline:22px}header{align-items:flex-start;flex-direction:column;gap:15px}.brand span{display:block;margin:1px 0 0}nav{gap:0 18px}header nav a{min-height:44px;display:inline-flex;align-items:center}h1{font-size:clamp(30px,7.6vw,38px);line-height:1.18}.hero{padding-block:42px 26px}.intro{font-size:18px}.layout{display:block}.contents{padding-bottom:25px;margin-bottom:30px;border-bottom:1px solid var(--line)}.contents a{margin:7px 0}.index{display:block;margin-bottom:35px}.index a,.index a+a{display:block;padding:20px 0;border-left:0}.index a+a{border-top:1px solid var(--line)}.index strong{max-width:none}h2{font-size:25px}footer{flex-direction:column;gap:12px}.layout{padding-bottom:40px}}
@media(prefers-reduced-motion:no-preference){a{transition:color .15s ease}details[open] p{animation:appear .2s ease}@keyframes appear{from{opacity:.5}to{opacity:1}}}
