:root { color-scheme: light; --green:#074a33; --ink:#202b26; --muted:#5c6861; --line:#d8e2db; }
* { box-sizing:border-box; }
html { scroll-padding-top:2rem; }
body { margin:0; background:#fff; color:var(--ink); font-family:"Apple SD Gothic Neo","Malgun Gothic",sans-serif; font-size:1.0625rem; line-height:1.85; word-break:keep-all; overflow-wrap:anywhere; }
a { color:var(--green); text-underline-offset:.23em; }
a:hover { text-decoration-thickness:2px; }
:focus-visible { outline:3px solid #98620c; outline-offset:5px; }
.skip { position:absolute; top:-100px; left:1rem; background:white; padding:1rem; z-index:10; }
.skip:focus { top:1rem; }
.site-header { max-width:1120px; margin:auto; padding:2rem 2.5rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-bottom:1px solid var(--line); }
.brand { font-size:1.65rem; font-weight:800; letter-spacing:-.06em; text-decoration:none; white-space:nowrap; }
nav { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; font-size:.9375rem; }
nav a { text-decoration:none; color:var(--muted); }
nav a[aria-current] { color:var(--green); font-weight:700; text-decoration:underline; }
main { max-width:840px; min-height:65vh; padding:3.5rem 2.5rem 5rem; margin:auto; }
.document-heading { margin-bottom:2.4rem; }
h1 { font-size:clamp(2rem,5vw,2.75rem); line-height:1.3; letter-spacing:-.055em; color:var(--green); margin:0 0 1rem; }
.status { color:var(--muted); font-size:.875rem; margin:0; }
h2 { margin:3.3rem 0 1.1rem; font-size:1.375rem; line-height:1.5; letter-spacing:-.035em; color:var(--green); padding-top:.8rem; border-top:1px solid var(--line); }
p { margin:1rem 0; }
li { margin:.55rem 0; padding-left:.25rem; }
ul,ol { padding-left:1.5rem; }
strong { font-weight:700; }
.toc { border-block:1px solid var(--line); padding:.85rem 0; margin-bottom:2rem; }
.toc summary { color:var(--green); font-weight:700; cursor:pointer; }
.toc ol { list-style:none; padding:0; columns:2; column-gap:2rem; }
.toc li { margin:0 0 .45rem; break-inside:avoid; font-size:.9375rem; }
.toc a { text-decoration:none; }
.table-wrap { max-width:100%; overflow-x:auto; margin:1.2rem 0; }
table { width:100%; border-collapse:collapse; font-size:.9375rem; line-height:1.75; table-layout:fixed; }
th,td { text-align:left; vertical-align:top; padding:.85rem .75rem; border-bottom:1px solid var(--line); }
th { background:#edf4ee; color:var(--green); font-weight:700; }
th:first-child,td:first-child { width:25%; }
.document-links { border-top:1px solid var(--line); }
.document-links a { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--line); font-size:1.3rem; font-weight:600; text-decoration:none; }
footer { max-width:1120px; margin:auto; padding:1.8rem 2.5rem; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem 1.5rem; color:var(--muted); font-size:.875rem; }
@media(max-width:600px) { .site-header { padding:1.35rem 1.25rem; align-items:flex-start; flex-direction:column; gap:.8rem; } main { padding:2.25rem 1.25rem 3.5rem; } h2 { margin-top:2.7rem; } .toc ol { columns:1; } footer { padding:1.5rem 1.25rem; flex-direction:column; } th,td { padding:.75rem .5rem; } th:first-child,td:first-child { width:27%; } }
@media print { nav,.toc,.skip,footer { display:none; } .site-header { padding:0 0 1rem; } main { max-width:none; padding:1.5rem 0; } h2 { break-after:avoid; } tr { break-inside:avoid; } a { color:inherit; } }
