/* 章ページ：トップと同じ濃紺の世界観。ライト/ダークどちらの設定でも同じ */
body.ch{--bg:#0b1722;--ink:#e8f1f5;--mute:#9db2bf;--card:#12263a;--line:#23405a;--accent:#5fd0e8;--accent2:#ffb86b;--soft:#14304a;--grid:#1e3a52;--ok:#5fcf97;--ng:#ef7c73;--t1:var(--pc,#5fd0e8);--t2:#ffb86b;--bgT:#0e2033;
 background:radial-gradient(1000px 420px at 80% -8%,#17405a 0%,transparent 62%),#0b1722;color:var(--ink)}
.ch .topbar{border-bottom:1px solid #1c3347;background:#08121b}.ch .topbar a{color:#9db2bf}
.ch .chead{border-bottom:1px solid #1c3347;background:linear-gradient(180deg,rgba(20,48,74,.55),transparent);position:relative;overflow:hidden}
.ch .chead .wrap{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:20px;align-items:center}
.ch .chead h1{color:#fff;text-shadow:0 0 24px rgba(95,208,232,.3)}
.ch .chead .q{color:var(--accent2)}
.ch .meta .badge{border-color:var(--accent);color:var(--accent)}
.ch .cth{height:112px;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--pc) 24%,transparent),transparent 65%),#0c1d2d;border:1px solid #1d3b53;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--pc)}
.ch .cth svg{width:84%;height:auto;max-height:96px;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--pc) 60%,transparent))}
.ch .sec h2{color:#fff;border-bottom-color:var(--pc,var(--accent))}
.ch .step h3{color:var(--pc,var(--accent))}
.ch .one{border-color:var(--pc,var(--accent));box-shadow:0 0 22px color-mix(in srgb,var(--pc,#5fd0e8) 20%,transparent)}
.ch .math{border-left-color:var(--pc,var(--accent))}
.ch .wg{background:linear-gradient(180deg,#12263a,#0f2438);border-color:#23405a;box-shadow:0 0 30px rgba(95,208,232,.07)}
.ch .wg [stroke="#0f7fa3"]{stroke:#5fd0e8}.ch .wg [fill="#0f7fa3"]{fill:#5fd0e8}
.ch .wg [stroke="#c0602a"]{stroke:#ffb86b}.ch .wg [fill="#c0602a"]{fill:#ffb86b}
.ch .wg .out b,.ch .wg label b{color:#ffb86b}
.ch .wg button.on{color:#06202b}
.ch details,.ch .panel,.ch .opt{background:#12263a;border-color:#23405a}
.ch footer{border-top:1px solid #1c3347}
.ch a{color:#7fd7ec}
@media(max-width:640px){.ch .chead .wrap{grid-template-columns:1fr}.ch .cth{height:90px;max-width:220px}}

.ch .chead .wrap{grid-template-columns:minmax(0,1fr) 260px}.ch .cth{position:relative;overflow:hidden;height:146px}
.ch .cth img.ti{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ch .ai{position:absolute;right:6px;bottom:4px;font-size:10px;color:#9db2bf;background:rgba(8,18,27,.65);padding:0 6px;border-radius:3px;pointer-events:none}
@media(max-width:640px){.ch .chead .wrap{grid-template-columns:1fr}.ch .cth{height:150px;max-width:none}}

.ch .col{margin:26px 0 34px;max-width:40em}.ch .col .kick{font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.14em;color:var(--pc);margin-bottom:6px}
.ch .col .ct{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-size:clamp(22px,3.4vw,29px);line-height:1.5;color:#fff;margin:0 0 18px;border:0;padding:0}
.ch .col p{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-size:17px;line-height:2.05;margin:0 0 1.15em;color:#dbe6ec;text-align:left;line-break:strict;overflow-wrap:anywhere}
.ch .col h3{font-size:18px;color:var(--pc);margin:2em 0 .6em;padding-left:12px;border-left:3px solid var(--pc);line-height:1.5}
.ch .col blockquote{margin:1.6em 0;padding:14px 18px;border-left:3px solid var(--pc);background:color-mix(in srgb,var(--pc) 8%,transparent);font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-size:18px;line-height:1.9;color:#fff;border-radius:0 8px 8px 0}
.ch .setup{font-size:14.5px;color:#9db2bf}
@media(max-width:760px){.ch .col p{font-size:16px;line-height:1.95;text-align:left}}

/* 3行まとめ・用語集 */
.tl{display:grid;gap:0;margin:22px 0 26px;border:1px solid var(--line,#2a3a4a);border-left:4px solid var(--pc,#5fd0e8);border-radius:6px;background:rgba(127,127,127,.06)}
.tl>div{display:grid;grid-template-columns:7.2em 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--line,#2a3a4a);line-height:1.7}
.tl>div:first-child{border-top:0}
.tl small{font-weight:700;color:var(--pc,#5fd0e8);letter-spacing:.04em}
@media(max-width:560px){.tl>div{grid-template-columns:1fr;gap:2px}}
a.gl{color:inherit;text-decoration:underline dotted;text-underline-offset:3px;text-decoration-color:var(--pc,#5fd0e8)}
a.gl:hover{background:rgba(127,127,127,.15)}
.gr{margin:34px 0 8px;padding-bottom:4px;border-bottom:2px solid var(--pc,#5fd0e8);font-size:20px}
.gi{padding:12px 0;border-bottom:1px solid var(--line,#2a3a4a)}
.gi h3{margin:0 0 4px;font-size:18px}.gi h3 small{margin-left:8px;font-weight:400;opacity:.7;font-size:13px}
.gi p{margin:4px 0;line-height:1.9}.gi .gc{font-size:14px;opacity:.85}
.gi.hit{background:rgba(127,127,127,.12);outline:2px solid var(--pc,#5fd0e8);outline-offset:4px}
.gjump{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.gjump a{padding:6px 14px;border:1px solid var(--line,#2a3a4a);border-radius:4px;text-decoration:none}
.rp{margin:28px 0 0;font-size:14px;color:var(--mute)}.rp a{color:inherit}
