@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&family=JetBrains+Mono:wght@400;500&display=swap');
@import url("lwarp.css");
:root{
  --oil:#16130F;--oil-2:#211C15;--paper:#FBF9F4;--panel:#F3EFE6;--code-bg:#F5F2EB;
  --ink:#211C16;--ink-d:#EDE7DB;--muted:#7C766B;--muted-d:#9A9184;
  --brick:#B23A2E;--ember:#C86A2A;--rule-l:#E6DFD3;--rule-d:#2E2820;
  --disp:"Space Grotesk",system-ui,sans-serif;--serif:"Source Serif 4",Georgia,serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --nav-h:3.6rem;--side-w:17rem;
  --wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='14'%3E%3Cpath d='M0 10H8V4H20V10H30V4H42V10H52V4H64V10H72' fill='none' stroke='%23C86A2A' stroke-width='1.4'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--serif);font-size:1.05rem;line-height:1.72;color:var(--ink);background:var(--paper);margin:0;padding-top:var(--nav-h);-webkit-font-smoothing:antialiased;}

/* top nav (oil) */
.site-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;display:flex;align-items:center;gap:1.6rem;padding:0 1.5rem;background:var(--oil);border-bottom:1px solid var(--rule-d);}
.site-brand{font-family:var(--disp);font-weight:500;font-size:1rem;letter-spacing:-.01em;color:var(--ink-d);text-decoration:none;border:none;}
.site-brand::before{content:"\2393";color:var(--ember);margin-right:.5rem;font-family:var(--mono);}
.site-links{margin-left:auto;display:flex;gap:1.5rem;}
.site-links a{font-family:var(--mono);font-size:.76rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted-d);text-decoration:none;border:none;}
.site-links a:hover,.site-links a.active{color:var(--ember);}
.site-menu-btn{display:none;margin-left:auto;background:none;border:none;color:var(--ember);font-size:1.3rem;cursor:pointer;}

/* my sidebar TOC (paper) + brick probe cursor */
.site-sidebar{position:fixed;top:var(--nav-h);left:0;width:var(--side-w);bottom:0;overflow-y:auto;padding:1.7rem 1rem 3rem 1.5rem;background:var(--paper);border-right:1px solid var(--rule-l);z-index:40;}
.side-title{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem;}
.side-toc{list-style:none;margin:0;padding:0;}
.side-toc li{margin:.1rem 0;}
.side-toc li.l3{padding-left:.9rem;}
.side-toc a{font-family:var(--mono);font-size:.75rem;line-height:1.4;color:var(--muted);text-decoration:none;display:block;padding:.15rem 0 .15rem .75rem;margin-left:-.75rem;border-left:2px solid transparent;}
.side-toc a:hover{color:var(--ink);}
.side-toc a.active{color:var(--brick);border-left-color:var(--brick);}

/* lwarp built-ins: hide its side-TOC + redundant top nav; keep bottom prev/next */
.sidetoccontainer{display:none;}
nav.topnavigation{display:none;}
nav.botnavigation{max-width:44rem;margin:3rem auto 0;padding:1.3rem 1.7rem 0;border-top:1px solid var(--rule-l);font-family:var(--mono);font-size:.8rem;}
nav.botnavigation a{color:var(--brick);text-decoration:none;border:none;}

/* reading column (split-page structure) */
.bodyandsidetoc{margin-left:var(--side-w);}
.bodycontainer{width:auto;}
section.textbody{max-width:44rem;margin:0 auto;padding:2.6rem 1.7rem 5rem;}
p{margin:0 0 1.1rem;}

/* headings mapped to lwarp split levels: h1=book(demote) h3=chapter h4=section h5=subsection */
h1,h2,h3,h4,h5,h6{font-family:var(--disp);color:var(--ink);font-weight:500;line-height:1.2;scroll-margin-top:calc(var(--nav-h) + 1rem);}
section.textbody h1{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;}
h2{font-size:2rem;color:var(--brick);letter-spacing:-.01em;margin:2.6rem 0 .8rem;}
h3{font-size:2.5rem;letter-spacing:-.02em;color:var(--ink);margin:.3rem 0 1rem;}
h3::after{content:"";display:block;height:14px;margin-top:1.1rem;background-image:var(--wave);background-repeat:repeat-x;background-position:left center;opacity:.85;}
h4{font-size:1.85rem;letter-spacing:-.01em;color:var(--brick);margin:2.9rem 0 .9rem;}
h5{font-size:1.35rem;color:var(--brick);margin:2.2rem 0 .6rem;}
h6{font-size:1.12rem;color:var(--ember);margin:1.8rem 0 .5rem;}
a{color:var(--brick);text-decoration:none;border-bottom:1px solid rgba(178,58,46,.28);}
a:hover{color:var(--ember);border-bottom-color:var(--ember);}

/* code: light instrument panels */
code,tt,.inlineprogramlisting{font-family:var(--mono);font-size:.85em;background:var(--panel);color:var(--ink);padding:.08em .34em;border-radius:4px;}
pre,.programlisting,.verbatim,.lstlisting{font-family:var(--mono);font-size:.8rem;line-height:1.6;background:var(--code-bg);color:var(--ink);border:1px solid var(--rule-l);border-left:3px solid var(--brick);border-radius:7px;padding:1.1rem 1.2rem;overflow-x:auto;margin:1.6rem 0;}
pre code{background:none;padding:0;}

/* figures / tables / quotes */
.center,figure{text-align:center;margin:2rem 0;}
img{max-width:100%;height:auto;}
.figurecaption,figcaption{font-family:var(--mono);font-size:.76rem;color:var(--muted);margin-top:.7rem;letter-spacing:.01em;}
table{border-collapse:collapse;margin:1.6rem auto;font-size:.9rem;}
td,th{border:1px solid var(--rule-l);padding:.45rem .75rem;}
th{background:var(--panel);font-family:var(--mono);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;}
blockquote{border-left:3px solid var(--ember);background:var(--panel);margin:1.6rem 0;padding:.7rem 1.1rem;}
mjx-container{overflow-x:auto;overflow-y:hidden;max-width:100%;}

/* footer (oil) */
.site-footer{margin-left:var(--side-w);background:var(--oil);color:var(--muted-d);border-top:1px solid var(--rule-d);padding:2.4rem 1.6rem;font-family:var(--mono);font-size:.77rem;text-align:center;letter-spacing:.02em;}
.site-footer a{color:var(--ember);border:none;text-decoration:none;}

/* lwarp fallbacks — scoped so figures show */
div.lateximagesource,.hidden{display:none;}

@media (max-width:960px){
  .site-links{display:none;}.site-menu-btn{display:block;}
  .site-sidebar{transform:translateX(-100%);transition:transform .2s ease;z-index:95;width:82%;max-width:20rem;box-shadow:2px 0 24px rgba(0,0,0,.15);}
  .site-sidebar.open{transform:none;}
  .bodyandsidetoc,.site-footer{margin-left:0;}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}html{scroll-behavior:auto;}}
:focus-visible{outline:2px solid var(--brick);outline-offset:2px;}
