:root{color-scheme:dark;--bg:#10191b;--panel:#162326;--paper:#1b2b2d;--text:#e2ece9;--muted:#afc2bd;--line:#355050;--accent:#79ddcb;--code:#0e1c1e;--shadow:0 12px 40px #0002}
:root[data-theme=light]{color-scheme:light;--bg:#edf2ef;--panel:#f8faf7;--paper:#fffefa;--text:#233934;--muted:#4d6660;--line:#b5cbc3;--accent:#116856;--code:#edf3ef;--shadow:0 12px 40px #2342}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,sans-serif}a{color:var(--accent);text-underline-offset:3px}button,input,select,.button{font:inherit}button,.button,select,input{border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);padding:.5rem .7rem}button,.button{cursor:pointer}button:hover,.button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{background:var(--accent);color:var(--bg)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;left:1rem;top:-5rem;z-index:20;background:var(--paper);padding:.6rem}.skip:focus{top:1rem}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 2rem;border-bottom:1px solid var(--line);background:var(--panel)}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.15em;margin:0 0 .4rem;color:var(--accent)}h1{font-size:1.5rem;margin:0;letter-spacing:-.03em}h1 span{font-weight:400;color:var(--muted);margin-left:.4rem}.actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8rem}.button:focus-within{outline:3px solid var(--accent)}#local-file{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.workspace{display:grid;grid-template-columns:265px minmax(0,1fr);max-width:1720px;margin:auto}.library{padding:1.5rem;border-right:1px solid var(--line)}summary{cursor:pointer;font-weight:650;margin-bottom:.8rem}label{display:block;font-size:.8rem;margin:.7rem 0 .3rem}.library input,.library select{width:100%;font-size:.85rem}#count{font-size:.75rem}#documents{max-height:58vh;overflow:auto;scrollbar-width:thin}#documents a{display:block;padding:.6rem .65rem;margin:.2rem 0;text-decoration:none;border-left:3px solid transparent;border-radius:4px;font-size:.87rem;overflow-wrap:anywhere}#documents a:hover{background:var(--paper)}#documents a[aria-current=page]{background:var(--paper);border-color:var(--accent)}#documents small{display:block;color:var(--muted);font-size:.7rem}.snapshot{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem;overflow-wrap:anywhere}.snapshot p{margin:.5rem 0}.muted{color:var(--muted)}
main{min-width:0;padding:1.5rem 2rem 4rem}.document-bar{border-bottom:1px solid var(--line);padding-bottom:1rem}.document-bar h2{font-size:1.4rem;margin:.1rem 0}.document-bar .muted{font: .75rem/1.5 ui-monospace,monospace;overflow-wrap:anywhere}#status{font-size:.8rem;color:var(--muted);min-height:1.3em}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:1.5rem;align-items:start}article{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:2rem clamp(1.25rem,3vw,3rem);box-shadow:var(--shadow);min-width:0;overflow-wrap:anywhere;font:1rem/1.8 Georgia,serif}article:empty{display:none}article>:first-child{margin-top:0}article h1,article h2,article h3,article h4,article h5,article h6{font-family:system-ui,sans-serif;line-height:1.3;letter-spacing:-.02em;margin:2rem 0 1rem;scroll-margin-top:1.5rem}article h1{font-size:1.9rem}article h2{font-size:1.45rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}article h3{font-size:1.2rem}article li{margin:.25rem 0}article blockquote{border-left:3px solid var(--accent);margin:1rem 0;padding:.3rem 1rem;background:var(--panel)}article hr{border:0;border-top:1px solid var(--line);margin:2rem 0}code,pre{font-family:ui-monospace,Consolas,monospace;font-size:.85em}code{background:var(--code);padding:.1em .25em;border-radius:4px}pre{background:var(--code);padding:1rem;overflow:auto;line-height:1.6;border:1px solid var(--line);border-radius:6px;white-space:pre}pre code{padding:0}#source{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}table{border-collapse:collapse;font: .86rem/1.6 system-ui,sans-serif;width:100%;margin:1.25rem 0}th,td{border:1px solid var(--line);padding:.6rem .75rem;text-align:left;vertical-align:top}th{background:var(--panel)}.table-scroll{max-width:100%;overflow:auto}article input[type=checkbox]{pointer-events:none}#outline{position:sticky;top:1rem;font-size:.75rem;max-height:85vh;overflow:auto}#toc a{display:block;text-decoration:none;padding:.3rem 0;color:var(--muted);line-height:1.4}#toc a:hover{color:var(--accent)}#toc a[data-depth="3"]{padding-left:.7rem}#toc a[data-depth="4"]{padding-left:1rem}.asset-link{font-family:system-ui,sans-serif;font-size:.85rem}.math-display{overflow:auto;padding:.75rem 0;max-width:100%}math{font-size:1.1em}.katex-error{font-family:ui-monospace,monospace}.heading-link{font: .8em system-ui,sans-serif;margin-left:.5rem;opacity:.55;text-decoration:none}.heading-link:hover{opacity:1}#share-url{width:100%}
@media(min-width:1600px){article{font-size:1.08rem}}@media(max-width:1100px){.reading-layout{grid-template-columns:minmax(0,1fr)}#outline{position:static;grid-row:1;max-height:230px;border-bottom:1px solid var(--line)}#toc{columns:2}main{padding:1.2rem}}@media(max-width:720px){.masthead{padding:1rem;display:block}.masthead .actions{margin-top:1rem}.workspace{display:block}.library{border-right:0;border-bottom:1px solid var(--line);padding:1rem}#documents{max-height:230px}.snapshot{margin-top:.7rem;padding-top:.5rem}.snapshot p:not(.eyebrow){display:inline}.snapshot p:not(.eyebrow)::after{content:' '}main{padding:1rem .6rem 3rem}article{padding:1.2rem;font-size:1rem}#toc{columns:1}h1 span{display:block;margin:0}article h1{font-size:1.6rem}}
@media print{.masthead,.library,.actions,#outline,#status,.skip,.document-bar,#source{display:none!important}.workspace,.reading-layout{display:block}main{padding:0}article{color:#000;background:#fff;border:0;box-shadow:none;padding:0}a{color:#000}pre,blockquote,th{background:#f5f5f5}.heading-link{display:none}}

/* Reading controls remain available after the masthead and library scroll away. */
.reading-controls{position:sticky;top:0;z-index:10;display:flex;align-items:center;padding:.45rem 1rem;background:var(--panel);border-bottom:1px solid var(--line)}
.reading-controls button{font-size:.8rem}
.workspace.sidebar-hidden{grid-template-columns:minmax(0,1fr)}
.library{position:sticky;top:4rem;align-self:start;max-height:calc(100vh - 5rem);max-height:calc(100dvh - 5rem);overflow:auto;scrollbar-width:thin}
#outline{top:4rem;max-height:calc(100vh - 5rem);max-height:calc(100dvh - 5rem)}
article h1,article h2,article h3,article h4,article h5,article h6,main{scroll-margin-top:4.5rem}
table{overflow-wrap:normal;word-break:normal}
@media(max-width:1100px),(orientation:portrait){
  .reading-layout{grid-template-columns:minmax(0,1fr)}
  #outline{position:static;grid-row:1;max-height:230px;border-bottom:1px solid var(--line)}
  #toc{columns:2}
}
@media(max-width:720px){
  .library{position:fixed;top:4rem;bottom:1rem;left:.6rem;right:.6rem;z-index:9;background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}
  #toc{columns:1}
}
@media print{.reading-controls{display:none}}
