:root { color-scheme: light dark; --fg:#1a1d21; --muted:#5b636d; --bg:#fff; --line:#e3e6ea; --accent:#2f6feb; }
@media (prefers-color-scheme: dark) {
  :root { --fg:#e6e8ea; --muted:#9aa3ad; --bg:#14171a; --line:#2b3036; --accent:#7aa5f5; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC","Hiragino Sans","Malgun Gothic",sans-serif; }
main { max-width: 780px; margin: 0 auto; padding: 32px 20px 96px; }
.doc-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:28px; }
.back { color:var(--accent); text-decoration:none; font-size:14px; }
.back:hover { text-decoration:underline; }
select { font:inherit; font-size:14px; padding:5px 8px; border:1px solid var(--line); border-radius:7px; background:var(--bg); color:var(--fg); }
h1 { font-size:28px; line-height:1.3; margin:0 0 6px; }
h2 { font-size:18px; margin:34px 0 10px; padding-top:16px; border-top:1px solid var(--line); }
.meta { color:var(--muted); font-size:13px; margin:0 0 22px; }
.intro { color:var(--muted); }
ul { padding-left:22px; }
li { margin:7px 0; }
strong { font-weight:650; }
.draft-warning { border:1px solid #d9822b; background:#d9822b1a; color:#a5651f; padding:10px 14px; border-radius:8px; font-size:14px; }
mark.todo { background:#ffe08a; color:#6b4c00; padding:0 4px; border-radius:3px; font-weight:600; }
.table-wrap { overflow-x:auto; margin:14px 0; }
table { border-collapse:collapse; width:100%; font-size:14px; min-width:520px; }
th,td { border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top; }
th { background:color-mix(in srgb, var(--fg) 5%, transparent); font-weight:600; }
.doc-foot { margin-top:44px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
