:root { color-scheme: light dark; --canvas:#EAF4F7; --surface:#DCECF1; --ink:#0C2C45; --muted:#506875; --line:#87ADBC; --link:#0A63C9; --focus:#17549B; --yellow:#FFCB05; }
* { box-sizing:border-box; }
html { scroll-padding-top:2rem; }
body { margin:0; background:var(--canvas); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:18px; line-height:1.65; }
a { color:var(--link); text-decoration-thickness:.08em; text-underline-offset:.2em; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:.14em; }
a:focus-visible, summary:focus-visible { outline:3px solid var(--focus); outline-offset:5px; border-radius:2px; }
.skip { position:absolute; top:-6rem; left:1rem; padding:.65rem 1rem; background:var(--ink); color:var(--canvas); z-index:10; }
.skip:focus { top:1rem; }
.frame { width:min(1180px,100% - 64px); margin-inline:auto; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:28px 0; border-bottom:1px solid var(--line); }
.wordmark { font-size:25px; letter-spacing:-.03em; font-weight:760; color:var(--ink); text-decoration:none; }
.site-nav { display:flex; flex-wrap:wrap; gap:.25rem 1.2rem; font-size:16px; }
.site-nav a { padding:.55rem 0; }
.site-nav [aria-current=page] { color:var(--ink); font-weight:700; }
.draft { margin:28px 0 0; padding:14px 20px; color:#0C2C45; background:var(--yellow); font-size:15px; line-height:1.55; }
.draft strong { margin-right:.25rem; }
.intro { padding:50px 0 38px; max-width:780px; }
h1 { margin:0 0 18px; font-size:clamp(2.25rem,5.5vw,3.5rem); line-height:1.1; letter-spacing:-.035em; font-weight:760; text-wrap:balance; }
.lede { font-size:21px; line-height:1.55; max-width:60ch; margin:0 0 22px; }
.metadata { color:var(--muted); font-size:15px; margin:0; }
.document-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:70px; align-items:start; padding:8px 0 80px; }
.contents { position:sticky; top:28px; font-size:16px; line-height:1.5; }
.contents h2 { font-size:16px; margin:0 0 12px; }
.contents ul { list-style:none; padding:0; margin:0; }
.contents li { margin:0; }
.contents a { display:block; padding:8px 0; color:var(--muted); text-decoration:none; }
.contents a:hover { color:var(--link); text-decoration:underline; }
.reading { max-width:70ch; min-width:0; }
.reading section { padding:30px 0 10px; border-top:1px solid var(--line); scroll-margin-top:28px; }
.reading section:first-child { padding-top:0; border:0; }
h2 { margin:0 0 14px; font-size:25px; line-height:1.25; letter-spacing:-.015em; text-wrap:balance; }
h3 { font-size:19px; line-height:1.35; margin:28px 0 8px; }
p { margin:0 0 18px; }
ul,ol { padding-left:1.25em; margin:0 0 22px; }
li { padding-left:.2em; margin-bottom:10px; }
.fact-list { margin:0 0 28px; }
.fact-list div { padding:16px 0; border-bottom:1px solid var(--line); }
.fact-list dt { font-weight:700; }
.fact-list dd { margin:3px 0 0; color:var(--muted); }
.notice { background:var(--surface); padding:20px 24px; margin:20px 0 24px; border-radius:12px; }
.notice p:last-child { margin-bottom:0; }
.pending { font-weight:650; }
details { border-bottom:1px solid var(--line); padding:16px 0; }
summary { cursor:pointer; font-weight:650; padding:4px 0; }
details p { margin:12px 0 4px; }
.site-footer { border-top:1px solid var(--line); padding:28px 0 40px; display:flex; justify-content:space-between; align-items:start; gap:20px; color:var(--muted); font-size:15px; }
.site-footer p { margin:0; }
@media (prefers-color-scheme:dark) { :root { --canvas:#081A26; --surface:#102D3C; --ink:#F2F8FA; --muted:#A9C1CB; --line:#436B7B; --link:#78B8FF; --focus:#78B8FF; --yellow:#FFD245; } }
@media (max-width:780px) { .frame { width:calc(100% - 40px); } .site-header { align-items:start; flex-direction:column; gap:10px; padding:22px 0; } .intro { padding:36px 0 28px; } .lede { font-size:20px; } .document-layout { grid-template-columns:1fr; gap:32px; padding-bottom:48px; } .contents { position:static; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .contents ul { columns:2; column-gap:24px; } .contents li { break-inside:avoid; } .reading section { padding-top:28px; } .site-footer { flex-direction:column; gap:10px; } }
@media (max-width:420px) { body { font-size:17px; } .frame { width:calc(100% - 32px); } .site-nav { gap:12px; font-size:15px; } .draft { padding:14px 16px; } .notice { padding:18px; } .contents ul { columns:1; } }
@media print { :root { --canvas:white; --ink:black; --muted:#333; --line:#aaa; --link:black; } body { font-size:11pt; } .frame { width:100%; } .contents,.site-nav,.skip { display:none; } .document-layout { display:block; } .reading { max-width:none; } .draft { border:1px solid black; } details { break-inside:avoid; } details p { display:block; } }
