:root{--bg:#f4f5f7;--card:#fff;--ink:#16191e;--sub:#5d636d;--line:#dde0e5;--accent:#4b535f;--silver:#c3c8cf;--accent-soft:#eceef1;--dark:#1c1f24;--dark-2:#33373e;--on-dark:#f2f3f5;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;--serif:"Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", serif}@media (prefers-color-scheme:dark){:root{--bg:#111317;--card:#1a1d22;--ink:#eceef1;--sub:#a3a9b2;--line:#2c3037;--accent:#c3c8cf;--silver:#c3c8cf;--accent-soft:#22262c;--dark:#1e2126;--dark-2:#30343b;--on-dark:#f2f3f5}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:16px;line-height:1.85}a{color:var(--accent)}.site-head{background:var(--dark);border-bottom:2px solid var(--silver);padding:14px 16px}.site-name{color:var(--silver);font-family:var(--serif);letter-spacing:.04em;font-size:17px;font-weight:700;text-decoration:none}.wrap{max-width:720px;margin:0 auto;padding:24px 16px 48px}.site-foot{background:var(--dark);border-top:2px solid var(--silver);color:#f2f3f5b8;text-align:center;padding:20px 16px 32px;font-size:13px}.site-foot a{color:var(--silver)}.site-foot p{margin:4px 0}.hero{background:linear-gradient(160deg, var(--dark) 0%, var(--dark-2) 100%);color:var(--on-dark);border-radius:18px;margin:0 0 24px;padding:30px 22px 32px}.hero .eyebrow{color:var(--silver)}.hero .lead{color:#f2f3f5c7}.eyebrow{color:var(--accent);letter-spacing:.08em;margin:0 0 8px;font-size:13px;font-weight:700}.hero h1{font-family:var(--serif);margin:0 0 16px;font-size:28px;line-height:1.5}.nobr{display:inline-block}.lead{color:var(--sub);margin:0 0 22px}.btn{color:var(--dark);letter-spacing:.04em;background:linear-gradient(#e4e7eb 0%,#b9bfc7 100%);border-radius:999px;padding:12px 26px;font-weight:700;text-decoration:none;display:inline-block}.rule{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--silver);border-radius:14px;margin:0 0 36px;padding:18px 20px}.rule-label{color:var(--sub);margin:0;font-size:12px}.rule-text{font-family:var(--serif);margin:4px 0 0;font-size:18px;font-weight:700;line-height:1.6}.toc-title{font-family:var(--serif);margin:0 0 12px;font-size:20px}.toc{margin:0;padding:0;list-style:none}.toc li+li{border-top:1px solid var(--line)}.toc a{color:var(--ink);align-items:flex-start;gap:14px;padding:14px 2px;text-decoration:none;display:flex}.toc-no{background:var(--dark);border:1px solid var(--silver);width:30px;height:30px;color:var(--silver);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:13px;font-weight:700;display:grid}.toc-text{flex-direction:column;display:flex}.toc-head{font-weight:700;line-height:1.6}.toc-sub{color:var(--sub);font-size:13px;line-height:1.6}.chapter-no{color:var(--accent);margin:0;font-size:14px;font-weight:700}.chapter-title{font-family:var(--serif);margin:4px 0 6px;font-size:26px;line-height:1.45}.chapter-sub{color:var(--sub);margin:0 0 24px;font-weight:700}.prose p{margin:0 0 1.1em}.prose strong{font-weight:700}.prose p>strong:only-child{font-family:var(--serif);border-left:4px solid var(--silver);margin-top:1.8em;padding-left:10px;font-size:18px;line-height:1.5;display:block}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}.prose li{margin:.3em 0}.prose li:has(>input[type=checkbox]){align-items:flex-start;margin-left:-1.4em;list-style:none;display:flex}.prose input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:6px 10px 0 0}.prose table{border-collapse:collapse;width:100%;margin:0 0 1.4em;font-size:14px;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;min-width:7em;padding:8px 10px}.prose th{background:var(--dark);color:var(--on-dark);border-color:var(--dark);font-weight:700}.prose td{background:var(--card)}.pager{grid-template-columns:1fr 1fr;gap:10px;margin:40px 0 12px;display:grid}.pager-link{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;flex-direction:column;min-height:72px;padding:12px 14px;text-decoration:none;display:flex}.pager-next{text-align:right}.pager-dir{color:var(--accent);font-size:13px;font-weight:700}.pager-name{font-size:14px;line-height:1.5}.back{text-align:center;font-size:14px}@media (min-width:760px){.hero h1{font-size:36px}.chapter-title{font-size:32px}.prose table{display:table}}
