
:root{color-scheme:light;--ink:#22313b;--muted:#5a6871;--line:#dde3e7;--accent:#155c78}
*{box-sizing:border-box}body{margin:0;background:#f3f5f7;color:var(--ink);font:18px/1.65 Georgia,"Times New Roman",serif}
a{color:var(--accent);text-underline-offset:.18em}header,footer,button,select,.notice{font-family:system-ui,sans-serif}
header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--line);padding:12px max(18px,calc((100vw - 1220px)/2));backdrop-filter:blur(8px)}
.brand{font-size:13px;font-weight:650;letter-spacing:.035em;color:var(--muted);margin-bottom:9px}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
button,select{font-size:14px;line-height:1.4;border:1px solid #bcc9d1;border-radius:6px;background:white;color:var(--ink);padding:8px 12px}
button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:hover:enabled{background:#edf4f7}select{max-width:min(670px,90vw);flex:1;min-width:220px}
#position{font:13px system-ui,sans-serif;color:var(--muted);white-space:nowrap}.notice{font-size:12px;color:var(--muted);margin:0}
main{max-width:1220px;margin:22px auto;padding:34px 40px 46px;background:white;border:1px solid var(--line);border-radius:8px;overflow-wrap:break-word}
h1{font-size:34px;line-height:1.25;margin:0 0 26px;color:#142c3b}h2{font-size:29px;line-height:1.3;margin:32px 0 20px}h3{font-size:24px;line-height:1.35;margin:28px 0 18px}h4{font-size:20px}
img{max-width:100%;height:auto}table{border-collapse:collapse;display:block;overflow-x:auto;margin:20px 0}th,td{border:1px solid var(--line);padding:8px 12px}
pre{white-space:pre-wrap;overflow:auto;background:#f4f6f8;padding:16px}code{font-size:.85em}mjx-container{font-size:1.1em}mjx-container[display="true"]{overflow-x:auto;overflow-y:hidden;padding:8px 0;max-width:100%}
main a[name],main [id]{scroll-margin-top:115px}footer{max-width:1220px;margin:20px auto 40px;padding:0 20px;color:var(--muted);font-size:13px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.full-part{content-visibility:auto;contain-intrinsic-size:auto 1800px}.load-error{color:#a12828}
@media(max-width:700px){body{font-size:17px}main{padding:24px 18px;margin:10px;border-radius:5px}h1{font-size:27px}h2{font-size:24px}.controls{gap:7px}select{order:4;flex-basis:100%}}
@media print{header,footer{display:none}body{background:white}main{max-width:none;margin:0;padding:0;border:none}.full-part{content-visibility:visible}}
