:root{--sidebar:21rem;--reading:50rem;--shadow:0 20px 60px var(--shadow-color)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:var(--bg);background-image:linear-gradient(var(--page-background-wash),var(--page-background-wash)),var(--page-background-image);background-size:cover;background-position:center top;background-attachment:fixed;color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.65}
button,input{font:inherit}
.site-header{position:fixed;inset:0 0 auto 0;height:4rem;display:flex;align-items:center;gap:.75rem;padding:0 1rem 0 1.25rem;background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);z-index:30}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none;min-width:0}
.brand-mark{display:block;width:2rem;height:2rem;object-fit:contain;flex:0 0 auto}
.brand strong,.brand small{display:block;font-family:Arial,sans-serif}.brand strong{text-transform:uppercase;letter-spacing:.12em;font-size:.82rem}.brand small{color:var(--muted);font-size:.64rem;letter-spacing:.08em}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:.35rem}
.icon-button,.text-button{border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;border-radius:.25rem}
.icon-button{width:2.35rem;height:2.35rem;font:1.15rem/1 Arial,sans-serif}.text-button{padding:.45rem .7rem;font:700 .68rem/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.icon-button:hover,.text-button:hover{color:var(--ink);background:var(--surface-2);border-color:var(--line)}
.nav-toggle,.close-nav{display:none}
.shell{min-height:100vh;padding-top:4rem;padding-right:var(--sidebar)}
.reader{min-height:calc(100vh - 4rem);padding:4.5rem clamp(1.4rem,5vw,5rem) 8rem}
.markdown-body{width:min(100%,var(--reading));margin:0 auto;padding:clamp(1.35rem,3.5vw,2.7rem);background:var(--reader-panel);border:1px solid var(--reader-edge);box-shadow:0 24px 70px var(--reader-shadow);backdrop-filter:blur(2px)}
.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:Arial,sans-serif;line-height:1.18;scroll-margin-top:5.5rem;color:var(--ink)}
.markdown-body h1{font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.035em;margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.markdown-body h2{font-size:1.55rem;margin:3.4rem 0 1rem;padding-top:.2rem}.markdown-body h3{font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:2.4rem 0 .7rem}
.markdown-body p{margin:.85rem 0}.markdown-body strong{color:color-mix(in srgb,var(--ink) 88%,var(--accent));font-weight:700}
.markdown-body a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}.markdown-body a:hover{color:var(--ink)}
.markdown-body blockquote{margin:1.6rem 0;padding:.8rem 1.1rem;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--muted)}
.markdown-body .callout{--callout-color:var(--accent);margin:0;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--callout-color) 42%,var(--line));border-left:4px solid var(--callout-color);background:color-mix(in srgb,var(--callout-color) 9%,var(--surface));color:var(--ink)}
.markdown-body .callout-title{margin:0 0 .55rem;color:var(--callout-color);font:700 .72rem/1.2 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.markdown-body .callout-title::before{content:"◆";margin-right:.5rem;font-size:.65em;vertical-align:.12em}.markdown-body .callout>:last-child{margin-bottom:0}.markdown-body .callout-note{--callout-color:var(--accent)}.markdown-body .callout-tip{--callout-color:var(--success)}.markdown-body .callout-important{--callout-color:var(--important)}.markdown-body .callout-warning{--callout-color:var(--warning)}.markdown-body .callout-caution{--callout-color:var(--danger)}
.markdown-body code{padding:.12em .33em;border:1px solid var(--line);background:var(--surface-2);border-radius:.2rem;font: .88em Consolas,monospace}
.markdown-body pre{overflow:auto;padding:1rem;background:var(--surface-2);border:1px solid var(--line)}.markdown-body pre code{padding:0;border:0;background:none}
.markdown-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.91rem}.markdown-body th,.markdown-body td{padding:.62rem .7rem;border:1px solid var(--line);vertical-align:top}.markdown-body th{text-align:left;background:var(--surface-2);font:700 .75rem/1.25 Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}.markdown-body tr:nth-child(even) td{background:color-mix(in srgb,var(--surface) 55%,transparent)}
.markdown-body hr{border:0;border-top:1px solid var(--line);margin:3rem 0}.markdown-body img{display:block;width:auto;max-width:100%;height:auto;margin:1rem auto;cursor:zoom-in}.markdown-body img:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.preview-open{overflow:hidden}.image-preview{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:auto;padding:clamp(.6rem,3vw,2rem);background:rgba(0,0,0,.92);cursor:zoom-out}.image-preview img{display:block;width:auto;max-width:none;height:auto;max-height:none;margin:auto;cursor:zoom-out;box-shadow:0 20px 70px #000}.image-preview:focus{outline:0}
.markdown-body ul,.markdown-body ol{padding-left:1.45rem}.markdown-body li{margin:.35rem 0}.markdown-body li::marker{color:var(--accent)}
.sidebar{position:fixed;top:4rem;right:0;bottom:0;width:var(--sidebar);padding:1.6rem 1.1rem 2rem;background:var(--surface);border-left:1px solid var(--line);overflow-y:auto;z-index:25}
.sidebar-head{display:flex;align-items:center;justify-content:space-between}.eyebrow{margin:0 0 .75rem;color:var(--accent);font:700 .68rem/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.search-label{display:block;color:var(--muted);font:700 .62rem/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:.75rem 0 .35rem}.nav-search{width:100%;padding:.62rem .7rem;border:1px solid var(--line);border-radius:.25rem;background:var(--bg);color:var(--ink);outline:none}.nav-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.tree{margin-top:1.1rem;font-family:Arial,sans-serif}.tree details{margin:.15rem 0}.tree summary{display:flex;align-items:center;gap:.4rem;padding:.43rem .38rem;color:var(--ink);cursor:pointer;border-radius:.25rem;font-size:.8rem;font-weight:700;list-style:none}.tree summary::-webkit-details-marker{display:none}.tree summary::before{content:"›";width:.8rem;color:var(--faint);font-size:1rem;transition:transform .12s}.tree details[open]>summary::before{transform:rotate(90deg)}
.tree-count{margin-left:auto;color:var(--faint);font-size:.65rem;font-weight:400}.tree-files{margin-left:.78rem;padding-left:.55rem;border-left:1px solid var(--line)}
.tree-link{display:flex;align-items:center;gap:.45rem;padding:.37rem .45rem;color:var(--muted);text-decoration:none;border-radius:.25rem;font-size:.78rem;line-height:1.25}.tree-link:hover{background:var(--surface-2);color:var(--ink)}.tree-link.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.tree-link.home{margin-bottom:.6rem;color:var(--ink);font-weight:700}.tree-link[hidden],.tree details[hidden]{display:none}.file-badge{margin-left:auto;padding:.12rem .28rem;border:1px solid var(--line);border-radius:.15rem;color:var(--accent);font-size:.52rem;letter-spacing:.06em}
.pdf-viewer{width:min(100%,62rem);margin:0 auto}.pdf-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.pdf-heading h1{margin:0;padding:0;border:0;font-size:clamp(1.8rem,4vw,2.8rem)}.pdf-actions{display:flex;gap:.5rem;flex:0 0 auto}.pdf-button{display:inline-flex;padding:.55rem .75rem;border:1px solid var(--accent);border-radius:.2rem;background:var(--accent);color:var(--bg)!important;font:700 .68rem/1 Arial,sans-serif;text-decoration:none!important;text-transform:uppercase;letter-spacing:.06em}.pdf-button.secondary{background:transparent;color:var(--accent)!important}.pdf-viewer object{display:block;width:100%;height:calc(100vh - 12rem);min-height:42rem;border:1px solid var(--line);background:var(--pdf-background)}
.sidebar-note{margin:2rem .35rem 0;padding-top:1rem;border-top:1px solid var(--line);color:var(--faint);font-size:.72rem;font-style:italic}
.source-credits{margin:1rem .35rem 0}.source-credit{margin:.45rem 0 0;color:var(--faint);font:400 .6rem/1.5 Arial,sans-serif}.source-credit:first-child{margin-top:0}.source-credit a{color:var(--muted);text-underline-offset:.12em}.source-credit a:hover{color:var(--accent)}
.loading,.error-panel{width:min(100%,var(--reading));margin:8rem auto;color:var(--muted)}.loading{font-style:italic}.error-panel h1{font:700 2rem/1.2 Arial,sans-serif}.return-link{color:var(--accent)}
.scrim{position:fixed;inset:4rem 0 0;background:var(--scrim-color);z-index:20}
@media(max-width:900px){.nav-toggle,.close-nav{display:block}.header-actions .text-button{display:none}.shell{padding-right:0}.sidebar{transform:translateX(105%);box-shadow:var(--shadow);transition:transform .18s ease}.sidebar.open{transform:none}.reader{padding-top:3rem}.scrim:not([hidden]){display:block}}
@media(max-width:560px){.site-header{padding-inline:.55rem}.brand small{display:none}.reader{padding:1.2rem .55rem 4rem}.markdown-body{padding:1.2rem}.markdown-body h1{font-size:2.15rem}.markdown-body table{display:block;overflow-x:auto}.sidebar{width:min(88vw,22rem)}.pdf-heading{align-items:flex-start;flex-direction:column}.pdf-viewer object{height:70vh;min-height:32rem}}
@page{size:letter;margin:.55in}
@media print{
  html,body{width:auto;min-height:0;margin:0;background:#fff!important;background-image:none!important;color:#000!important}
  body{font:10pt/1.32 Georgia,serif}
  .site-header,.sidebar,.scrim,.loading,.error-panel,.image-preview{display:none!important}
  .shell,.reader{display:block;width:auto;min-height:0;margin:0;padding:0!important}
  .markdown-body{width:100%;max-width:none;margin:0;padding:0!important;border:0;box-shadow:none;backdrop-filter:none;background:#fff!important;color:#000!important}
  .markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:#000!important;break-after:avoid-page;page-break-after:avoid}
  .markdown-body h1{font-size:19pt;margin:0 0 9pt;padding:0 0 5pt;border-bottom:1pt solid #333}
  .markdown-body h2{font-size:12pt;margin:13pt 0 5pt;padding:0}
  .markdown-body h3{font-size:10pt;letter-spacing:0;margin:8pt 0 3pt}
  .markdown-body p{margin:5pt 0;orphans:3;widows:3}
  .markdown-body ul,.markdown-body ol{margin:4pt 0;padding-left:19pt}
  .markdown-body li{margin:2pt 0;break-inside:avoid-page;page-break-inside:avoid}
  .markdown-body li::marker,.markdown-body strong{color:#000!important}
  .markdown-body a{color:#000!important;text-decoration:none}
  .markdown-body blockquote,.markdown-body .callout{margin:7pt 0;padding:5pt 7pt;border:1pt solid #777;border-left:2pt solid #333;background:#fff!important;color:#000!important;break-inside:avoid-page}
  .markdown-body .callout-title{color:#000!important;margin:0 0 3pt}
  .markdown-body table{width:100%;display:table;margin:7pt 0;font-size:9pt;break-inside:auto}
  .markdown-body thead{display:table-header-group}
  .markdown-body tr{break-inside:avoid-page;page-break-inside:avoid}
  .markdown-body th,.markdown-body td{padding:3pt 5pt;border:1pt solid #777;background:#fff!important;color:#000!important}
  .markdown-body hr{margin:11pt 0;border-top:1pt solid #777}
  .markdown-body img{max-width:100%;max-height:8in;object-fit:contain;break-inside:avoid-page}
  .markdown-body pre{white-space:pre-wrap;overflow-wrap:anywhere}
  .print-checklist{font-size:9.5pt;line-height:1.23}
  .print-checklist h1{font-size:17pt;margin-bottom:6pt}
  .print-checklist h2{font-size:11pt;margin:8pt 0 3pt}
  .print-checklist h3{font-size:9.5pt;margin:5pt 0 2pt}
  .print-checklist p{margin:3pt 0}
  .print-checklist ul,.print-checklist ol{margin:3pt 0}
  .print-checklist li{margin:1pt 0}
  .print-reference{font-size:9pt;line-height:1.23}
  .print-reference h1{font-size:17pt;margin-bottom:5pt}
  .print-reference h2{font-size:10.5pt;margin:7pt 0 3pt}
  .print-reference p,.print-reference li{margin:2pt 0}
  .print-reference table{font-size:8.5pt;margin:5pt 0}
  .print-examples{font-size:9.5pt}
  .print-examples h2:not(:first-of-type):not(:last-of-type){break-before:page;page-break-before:always}
  .print-examples table{margin:5pt 0}
}
