:root { color-scheme: light; --ink:#23313d; --muted:#556775; --blue:#245e7c; --orange:#ae421f; --line:#dbe3e8; --pale:#f3f6f8; }
* { box-sizing:border-box; }
html { scroll-padding-top:6rem; }
body { margin:0; padding:0; max-width:none; hyphens:none; color:var(--ink); background:#fff; font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--blue); text-decoration-thickness:1px; text-underline-offset:.17em; }
a:hover { color:var(--orange); }
:focus-visible { outline:3px solid #e5854f; outline-offset:4px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:-6rem; left:1rem; z-index:20; padding:.6rem 1rem; background:#fff; }
.skip-link:focus { top:.5rem; }
.site-header { display:flex; align-items:center; gap:1.5rem; position:sticky; top:0; z-index:10; padding:1rem 2rem; background:#fff; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); text-decoration:none; font-size:1.35rem; font-weight:750; white-space:nowrap; }
.brand span { margin-left:.65rem; color:var(--muted); font-size:1rem; font-weight:450; }
.edition { font-size:.78rem; border:1px solid var(--line); border-radius:20px; padding:.15rem .7rem; white-space:nowrap; }
.pdf-link,.site-link { font-size:.85rem; white-space:nowrap; }
.pdf-link { margin-left:auto; }
.layout { display:grid; grid-template-columns:290px minmax(0,1fr); max-width:1450px; margin:auto; }
.sidebar { position:sticky; top:79px; align-self:start; height:calc(100vh - 79px); overflow:auto; padding:1.7rem 1.2rem 3rem; border-right:1px solid var(--line); background:var(--pale); }
.contents > summary { font-size:.85rem; font-weight:750; cursor:pointer; }
.search-form { margin:1rem 0 1.5rem; }
.search-form label { display:block; font-size:.76rem; color:var(--muted); margin-bottom:.35rem; }
.search-row { display:flex; gap:.3rem; }
input { min-width:0; min-height:2.6rem; width:100%; padding:.6rem; border:1px solid #a7b6bf; border-radius:5px; font:inherit; font-size:.82rem; }
button { min-height:2.6rem; flex-shrink:0; border:1px solid var(--blue); border-radius:5px; background:var(--blue); color:white; padding:.55rem .65rem; font:inherit; font-size:.8rem; cursor:pointer; }
.sidebar ol { padding:0; margin:0; list-style:none; }
.sidebar li { margin:.15rem 0; }
.sidebar nav a { display:block; padding:.5rem .6rem; border-radius:5px; font-size:.8rem; line-height:1.45; text-decoration:none; color:#405563; }
.sidebar nav .nav-part > a { font-weight:700; }
.sidebar nav a:hover { background:#e4edf2; }
.sidebar nav a[aria-current] { background:#dfeaf0; color:#17445e; box-shadow:inset 3px 0 var(--blue); font-weight:700; }
.reading-column { min-width:0; padding:2.7rem clamp(1.2rem,4vw,4.5rem); }
main,.search-results { max-width:900px; margin:auto; overflow-wrap:anywhere; }
main h1,.search-results h1 { font-size:clamp(1.85rem,3vw,2.55rem); line-height:1.2; font-weight:750; margin:.1rem 0 1.8rem; color:var(--ink); }
main h2 { font-size:1.8rem; line-height:1.3; }
main h3 { font-size:1.4rem; line-height:1.35; margin:2.5rem 0 1rem; padding-top:.25rem; }
main h4 { font-size:1.14rem; line-height:1.4; margin:2rem 0 .75rem; }
main h5 { font-size:1rem; }
main p { margin:.9rem 0; text-indent:0; }
main .titlemark { color:var(--orange); }
main [class^="ec-"],main [class^="rm-"],main [class^="cm-"] { font-size:1em; font-family:inherit; }
main [class*="lmtt"],main [class*="cmtt"] { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.9em; }
main [class*="lmbx"],main [class*="lmssbx"] { font-weight:700; }
main [class*="lmri"],main [class*="lmro"],main [class*="lmti"] { font-style:italic; }
main kbd.key { display:inline-block; vertical-align:baseline; padding:0 .32em; margin:.05em .02em; border:1px solid #c7d2da; border-bottom-width:2px; border-radius:4px; background:#f0f4f6; color:#152b3a; font:650 .86em/1.55 system-ui,sans-serif; white-space:nowrap; text-indent:0; }
kbd.key mjx-container { margin:0 !important; }
main .note,main .example { display:block; margin:1.5rem 0; padding:.4rem 1.2rem .8rem; border:1px solid var(--line); border-left:4px solid #afc3d1; border-radius:5px; background:#f7f9fa; overflow-wrap:anywhere; }
main .example { border-left-color:var(--blue); background:#fff; }
main .box-title { font-weight:750; color:var(--blue); margin:.6rem 0; }
main figure { margin:1.8rem 0; max-width:100%; text-align:left; }
main figcaption { font-size:.88rem; line-height:1.55; color:var(--muted); text-align:left; margin:.8rem 0; }
main img.diagram { display:block; max-width:100%; height:auto; margin:1.3rem auto; }
.table-scroll { overflow-x:auto; max-width:100%; margin:1.2rem 0; scrollbar-width:thin; }
main table { border-collapse:collapse; width:100%; margin:0; font-size:.91rem; line-height:1.55; }
main td,main th { padding:.55rem .7rem; vertical-align:top; border-bottom:1px solid #e3e9ed; }
main tr.hline td { padding:0; }
main td.td11,main td.td10 { white-space:normal; }
main .table-scroll p { margin:.25rem 0; }
main dl { margin:1rem 0; }
main dt { float:left; clear:left; margin-right:.8rem; }
main dd { margin:0 0 .7rem 1.6rem; }
main .theindex dt { float:none; margin:1rem 0 .35rem; }
main .theindex dd { margin-left:1.2rem; }
main .sectionTOCS { background:var(--pale); border-radius:6px; padding:1rem 1.3rem; font-size:.88rem; line-height:1.8; margin:1.5rem 0 2rem; }
main .tableofcontents { line-height:1.9; }
main .tableofcontents > span,main .chapterTOCS > span { display:block; }
main .tableofcontents > .partToc,
main .toc-detailed > .chapterToc,main .toc-detailed > .appendixToc { margin-top:1.7rem; }
main .titlepage { padding:1.2rem 1.8rem; background:var(--pale); border-top:4px solid var(--orange); border-radius:6px; margin-bottom:2rem; }
main .titlepage p { margin:.4rem 0; }
main pre,main .fancyvrb { white-space:pre-wrap; overflow-wrap:anywhere; font:.83rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; }
main .fancyvrb div { white-space:pre-wrap; }
main .url { overflow-wrap:anywhere; }
mjx-container[display="true"] { overflow-x:auto; overflow-y:hidden; max-width:100%; padding:.4rem 0; }
.chapter-navigation { display:flex; justify-content:space-between; gap:1.5rem; margin-top:3rem; padding-top:1.4rem; border-top:1px solid var(--line); }
.chapter-navigation a { max-width:48%; font-size:.9rem; text-decoration:none; }
.chapter-navigation a:last-child { margin-left:auto; text-align:right; }
.chapter-navigation small { display:block; text-transform:uppercase; font-size:.66rem; letter-spacing:.1em; color:var(--muted); }
footer { max-width:900px; margin:2.5rem auto 0; padding-top:1rem; color:var(--muted); font-size:.72rem; }
.search-results ol { padding-left:1.5rem; }
.search-results li { padding:.8rem .3rem; border-bottom:1px solid var(--line); }
.search-results li > a { font-weight:700; }
.search-results small { display:block; color:var(--muted); }
.search-results p { font-size:.9rem; }
@media(max-width:900px) {
  .site-header { padding:.8rem 1rem; gap:.6rem; flex-wrap:wrap; position:static; }
  .brand { font-size:1.15rem; }.brand span { font-size:.85rem; margin-left:.3rem; }
  .site-link { display:none; }.edition { margin-left:auto; font-size:.7rem; }
  .layout { display:block; }.sidebar { position:static; height:auto; padding:.8rem 1rem; border-right:0; border-bottom:1px solid var(--line); }
  .reading-column { padding:1.8rem 1rem; }body { font-size:16px; }
  main .note,main .example { padding:.35rem .8rem .65rem; }
  main td,main th { padding:.45rem .55rem; }
}
@media print {
  .site-header,.sidebar,.chapter-navigation,.search-results { display:none !important; }
  .layout { display:block; }.reading-column { padding:0; }main { max-width:none; }
  .table-scroll { overflow:visible; }a { color:inherit; }
}

