@layer reset,layout,components;
@layer reset{*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;color:#262830;background:#f5f3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.7}a{color:#395559;text-underline-offset:.2em}a:hover{color:#795d00}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button,summary{cursor:pointer}img,svg{max-width:100%}pre{overflow:auto}code{overflow-wrap:anywhere}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.2rem,4.6vw,4.5rem);margin:.7rem 0 1.5rem;font-weight:720}h2{font-size:1.65rem;margin-top:2.5rem}h3{font-size:1.12rem}p{margin:.7rem 0 1.1rem}em{font-family:Georgia,serif;font-weight:400;color:#79642b}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #b07f08;outline-offset:4px}[hidden]{display:none!important}}
@layer layout{.topbar{height:68px;position:sticky;top:0;z-index:10;background:#101119;color:#f3f0e8;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid #33343c}.topbar a{color:inherit;text-decoration:none}.brand{font-size:1rem;letter-spacing:.16em;font-weight:800}.brand span{font-size:.65rem;color:#b6b5b9;margin-left:1.3rem;letter-spacing:.12em}.search-link{font-size:.8rem}.search-link span{color:#ffd23f;margin-left:1rem}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1800px;margin:auto}.sidebar{background:#171922;color:#cccbd0;padding:2.7rem 1.7rem;position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto}.site-title{display:block;font-size:1.45rem;font-weight:650;line-height:1.25;color:#f2efe7;text-decoration:none;letter-spacing:-.04em;margin-bottom:2rem}.site-title span{display:block;font-size:.58rem;letter-spacing:.13em;color:#a6a3a5;margin-top:1rem}.sidebar nav{display:grid;gap:.25rem}.sidebar nav a{color:#c5c4cb;text-decoration:none;font-size:.85rem;padding:.6rem .8rem;border-left:2px solid transparent}.sidebar nav a:hover,.sidebar nav a.active{border-color:#ffd23f;color:#fff;background:#242630}.stage-nav{margin-top:1.4rem;border-top:1px solid #393b43;padding-top:1rem;font-size:.8rem}.stage-nav nav a{font-size:.76rem}.sidebar-note{font-size:.7rem;color:#949299;margin-top:2.3rem;line-height:1.8}main{max-width:1120px;width:100%;padding:2.5rem clamp(1.4rem,4.5vw,5.5rem);min-height:100vh}.page-meta{display:flex;gap:1rem;justify-content:space-between;border-bottom:1px solid #d8d7d1;padding-bottom:1rem;margin-bottom:2.7rem;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#67696e}.toc{display:none}.skip{position:fixed;top:-100px;left:1rem;z-index:30;padding:1rem;background:#fff}.skip:focus{top:1rem}footer{border-top:1px solid #d8d7d1;margin-top:4rem;padding-top:1.5rem;font-size:.75rem;color:#66686b}footer p{margin:.6rem 0}.quiet{font-size:.75rem;color:#64676e;overflow-wrap:anywhere}}
@layer components{.hero{padding:.5rem 0 1.4rem}.eyebrow{font-size:.65rem;font-weight:750;letter-spacing:.14em;color:#6b642e;text-transform:uppercase}.lede{font-size:1.1rem;line-height:1.75;color:#585d65;max-width:740px}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.8rem 0}.button,button{display:inline-block;border:1px solid #272c30;background:#20282b;color:#fff;text-decoration:none;padding:.75rem 1.2rem;border-radius:4px;font-size:.8rem;font-weight:600}.button:hover,button:hover{background:#3a4548;color:#fff}.button.secondary{background:transparent;color:#29383b}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));border-top:1px solid #d8d7d1;border-bottom:1px solid #d8d7d1;margin:1.5rem 0 2rem;padding:1.6rem 0;gap:1.5rem}.stats strong{display:block;font-size:2rem;letter-spacing:-.06em;line-height:1.3}.stats span{font-size:.75rem;color:#6a6c6f}.notice{border-left:3px solid #b48d29;background:#eee9da;padding:1rem 1.3rem;margin:1.5rem 0 2rem;font-size:.86rem;overflow-wrap:anywhere}.notice strong{color:#403a24}.notice p:last-child{margin-bottom:0}.archive-note{background:#eceef0;border-color:#87939b}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.card{position:relative;display:block;padding:1.8rem 1.6rem;background:#fffefa;border:1px solid #ddded7;border-radius:6px;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}.card:hover{transform:translateY(-2px);border-color:#ad9548;color:inherit}.card h2{font-size:1.35rem;margin:1rem 0}.card p{font-size:.87rem;color:#666970;margin-bottom:1.4rem}.card-arrow{position:absolute;bottom:.8rem;right:1.2rem;color:#8b7128}.stage-strip{display:flex;gap:.6rem;flex-wrap:wrap}.stage-strip a{font-size:.78rem;background:#e9e8e1;padding:.5rem .8rem;border-radius:3px;text-decoration:none}.directory{padding:0;list-style:none}.directory>li{padding:1rem 0;border-bottom:1px solid #dadbd5;overflow-wrap:anywhere}.directory>li>a{font-weight:550;text-decoration:none}.directory span{display:block;font-size:.73rem;color:#6a6e75;margin-top:.25rem}.directory p{font-size:.8rem;margin:.4rem 0}input[type=search]{display:block;width:100%;padding:.8rem 1rem;border:1px solid #aaaead;background:#fffefa;border-radius:4px;color:inherit}label{display:block;font-size:.8rem;margin:1.2rem 0 .4rem;font-weight:600}.search-row{display:flex;gap:.5rem}.prose{font-size:.98rem;line-height:1.85;overflow-wrap:anywhere}.prose h1{font-size:clamp(2rem,3.1vw,3rem)}.prose h2{border-top:1px solid #dddcd4;padding-top:1.3rem;margin-top:2.3rem}.prose ul,.prose ol{padding-left:1.5rem}.prose li{margin:.5rem 0}.prose table{display:block;overflow:auto;border-collapse:collapse;width:100%;font-size:.84rem}.prose th,.prose td{text-align:left;vertical-align:top;padding:.6rem;border:1px solid #d6d7d1;min-width:100px}.prose th{background:#e9e8e1}.prose pre{background:#e7e7e1;padding:1rem;font-size:.75rem;white-space:pre-wrap}.claim-marker{font-size:.61rem;letter-spacing:.04em;margin:1.5rem 0 -.4rem}.claim-marker a{color:#777349;text-decoration:none}.record{font-size:.84rem;display:grid;grid-template-columns:minmax(130px,1fr) 3fr;gap:.4rem 1rem;overflow-wrap:anywhere}.record dt{text-transform:capitalize;color:#606771}.record dd{margin:0}.claim-records{margin-top:3rem}details:not(.stage-nav){padding:1rem;border:1px solid #dbdcd5;border-radius:4px;margin:.65rem 0;background:#faf9f4;overflow-wrap:anywhere}summary{font-size:.9rem;font-weight:550}blockquote{border-left:3px solid #b6b3a4;padding-left:1rem;color:#626363}.process-grid{display:grid;gap:1rem}.node{padding:1.5rem;border:1px solid #dbdcd5;border-radius:6px;background:#fffefa;scroll-margin-top:6rem}.node h2{font-size:1.3rem;margin:.6rem 0}.node p{font-size:.84rem}.node:target{outline:3px solid #c2a04a}.node ul{padding-left:1.2rem}.master-module{page-break-before:always;border-top:3px solid #9d9165;margin-top:3rem;padding-top:2rem}}
.route-explorer{margin:2rem 0;padding:1.5rem;background:#e9e8df;border:1px solid #d6d5c8;border-radius:6px}.route-explorer select{width:100%;padding:.75rem;border:1px solid #a9ac9e;background:#fffefa;color:#222;white-space:normal;font-size:.85rem}.route-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.3rem;margin-top:1rem;align-items:start}.route-current{background:#20282b;color:#f6f3e9;padding:1.5rem;border-radius:5px;border-top:3px solid #d6b857}.route-current h2{font-size:1.4rem;margin:1rem 0}.route-current a{color:#f1d780;font-size:.8rem}.route-current .eyebrow{color:#c0b794}.route-choices{display:grid;gap:1rem}.route-choice{padding:1rem 1.2rem;background:#fffefa;border:1px solid #d3d2c7;border-left:3px solid #a9995b;border-radius:4px}.route-choice p,#route-status{font-size:.78rem}.route-choice button{text-align:left;width:100%;font-size:.8rem;background:#e4e5dc;color:#293c3e;border-color:#c4c7b9}.route-choice button:hover{background:#d3d8ca}.anchor-alias{scroll-margin-top:6rem}
@media(max-width:650px){.route-view{grid-template-columns:1fr}.route-explorer{padding:1rem}}
@media(min-width:1500px){.shell:has(.toc){grid-template-columns:250px minmax(0,1fr) 220px}.toc{display:block;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;padding:1.4rem .7rem;font-size:.72rem}.toc ul{list-style:none;padding-left:.6rem}.toc li{margin:.4rem 0}.toc a{text-decoration:none}}
@media(max-width:850px){.shell{display:block}.sidebar{position:static;height:auto;padding:1.2rem 1.3rem}.site-title{font-size:1.2rem;margin-bottom:.8rem}.site-title br{display:none}.site-title span,.sidebar-note,.stage-nav{display:none}.sidebar>nav{display:flex;flex-wrap:wrap;gap:.2rem}.sidebar nav a{font-size:.7rem;padding:.35rem .6rem}.topbar{padding:0 1.2rem}.brand span{display:none}main{padding:1.5rem}.page-meta{font-size:.57rem;margin-bottom:1.8rem}.record{grid-template-columns:1fr}.record dd{margin-bottom:.6rem}.cards{gap:.7rem}.card{padding:1.2rem}.card h2{font-size:1.18rem}}
@media(max-width:520px){.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.search-link{font-size:.68rem}.page-meta{flex-direction:column;gap:.2rem}.search-row{display:block}.search-row button{margin-top:.6rem}.hero h1{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}.card:hover{transform:none}}
@media print{body{background:#fff;color:#000;font-size:10pt}.topbar,.sidebar,.toc,.page-meta,.skip,footer,.actions{display:none!important}.shell{display:block}main{padding:0;max-width:none}.notice{border:1px solid #999;background:#fff}.prose h1,h1{font-size:24pt}.prose h2,h2{font-size:16pt}a{color:#000}.claim-marker{font-size:7pt}.prose table{display:table;font-size:8pt}.prose td,.prose th{min-width:0}.master-module{break-before:page}.card,.node{break-inside:avoid}}

/* Jason93 reading theme. Tokens mirror the personal site's SiteLayout.
   Keep this screen-only so the printable master stays ink-friendly. */
@media screen {
  :root {
    --bg: #06050a; --ink: #f4eee4; --dim: #a79e93;
    --gold: #ffd23f; --violet: #9b5cff; --copper: #ff7a2f;
    --panel: rgba(14, 12, 20, .78); --line: rgba(244, 238, 228, .2);
    --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    --sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color-scheme: dark;
  }
  html { background: var(--bg); }
  body {
    background: radial-gradient(60vmax 40vmax at 85% -10%, rgba(255,210,63,.12), transparent 70%),
      radial-gradient(50vmax 40vmax at -10% 110%, rgba(155,92,255,.12), transparent 70%),
      radial-gradient(40vmax 30vmax at 110% 100%, rgba(255,122,47,.08), transparent 70%), var(--bg);
    background-attachment: fixed; color: var(--ink); font-family: var(--sans);
  }
  a { color: var(--gold); }
  a:hover { color: var(--ink); }
  :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
  h1 { font-weight: 700; letter-spacing: -.01em; line-height: 1.02; font-size: clamp(34px, 5vw, 60px); }
  h2, h3 { letter-spacing: -.01em; }
  em { font-family: inherit; font-style: normal; color: var(--gold); font-weight: inherit; }
  .topbar {
    background: rgba(6,5,10,.92); border-color: var(--line); color: var(--ink);
    backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  }
  .brand { font: 700 18px/1.1 var(--mono); letter-spacing: .1em; text-shadow: 0 0 18px rgba(255,210,63,.55); }
  .brand span { color: var(--dim); font-family: var(--mono); text-shadow: none; }
  .search-link { font: 12px var(--mono); }
  .search-link span { color: var(--gold); }
  .sidebar { background: rgba(10,8,16,.8); border-right: 1px solid var(--line); }
  .site-title { color: var(--ink); letter-spacing: -.01em; }
  .site-title span, .sidebar-note, .quiet, footer { color: var(--dim); }
  .site-title span, .sidebar-note, .page-meta, .eyebrow, .quiet, footer,
  .directory span, .claim-marker, .stats span { font-family: var(--mono); }
  .sidebar nav a { color: var(--dim); font-family: var(--mono); border-radius: 0 8px 8px 0; }
  .sidebar nav a:hover, .sidebar nav a.active { color: var(--ink); background: rgba(255,210,63,.1); border-color: var(--gold); }
  .stage-nav, .page-meta, footer, .stats, .directory > li { border-color: var(--line); }
  .page-meta, .stats span, .directory span, .record dt { color: var(--dim); }
  .eyebrow { color: var(--gold); letter-spacing: .2em; }
  .lede, .card p { color: var(--dim); }
  .button, button {
    border: 1px solid var(--gold); background: rgba(255,210,63,.12); color: var(--ink);
    border-radius: 999px; font: 700 12px/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase;
  }
  .button:hover, button:hover { background: rgba(255,210,63,.16); box-shadow: 0 0 26px -6px var(--gold); color: var(--ink); }
  .button.secondary { border-color: var(--line); color: var(--ink); background: transparent; }
  .card, .node, .route-choice, details:not(.stage-nav) {
    color: var(--ink); background: rgba(16,13,24,.72); border: 1px solid var(--line); border-radius: 16px;
  }
  .card { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .card:hover { color: var(--ink); border-color: var(--gold); box-shadow: 0 14px 44px -18px var(--gold); }
  .card-arrow { color: var(--gold); }
  .notice { background: rgba(255,210,63,.07); border-color: var(--gold); color: var(--ink); border-radius: 0 12px 12px 0; }
  .notice strong { color: var(--gold); }
  .archive-note { background: rgba(155,92,255,.09); border-color: var(--violet); }
  .stage-strip a { background: var(--panel); border: 1px solid var(--line); border-radius: 999px; font-family: var(--mono); color: var(--dim); }
  .stage-strip a:hover { color: var(--gold); border-color: var(--gold); }
  input[type=search], .route-explorer select {
    background: rgba(6,5,10,.7); border: 1px solid var(--line); border-radius: 10px;
    color: var(--ink); font: 14px/1.5 var(--mono);
  }
  input::placeholder { color: var(--dim); }
  select option { background: #0b0910; color: var(--ink); }
  .prose { color: #e6dfd4; }
  .prose h2, .prose th, .prose td { border-color: var(--line); }
  .prose th, .prose pre { background: rgba(244,238,228,.05); }
  .claim-marker a { color: var(--gold); }
  blockquote { border-color: var(--gold); color: var(--dim); }
  .route-explorer { background: var(--panel); border-color: var(--line); border-radius: 16px; }
  .route-current { background: rgba(255,210,63,.06); border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 12px; color: var(--ink); }
  .route-current a, .route-current .eyebrow { color: var(--gold); }
  .route-choice { border-left: 3px solid var(--gold); }
  .route-choice button { background: rgba(255,210,63,.08); color: var(--ink); border-color: var(--line); border-radius: 10px; }
  .route-choice button:hover { background: rgba(255,210,63,.14); border-color: var(--gold); }
  .node:target { outline-color: var(--gold); }
  .master-module { border-color: var(--gold); }
  .skip { background: var(--bg); color: var(--gold); }
}

.currency { margin: 0 0 1.6rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line, #d8d7d1); font: .78rem/1.6 var(--mono, ui-monospace, monospace); color: var(--dim, #67696e); }
.currency a { color: inherit; }
.currency.due { color: var(--gold, #795d00); }
.page-meta{justify-content:flex-start}.page-meta>span:first-child{margin-right:auto}.page-meta .md-link{align-self:flex-start;color:inherit;text-decoration:underline;text-underline-offset:3px}.page-meta .md-link:hover,.page-meta .md-link:focus-visible{color:var(--gold,#795d00)}
