/* MSc dissertation explainer (figures/thesis/build_thesis_figures.py): the method chain drawn as
   pictograms with one flowing thread, and the dissertation's own numbers as filled marks. The
   one-time build comes from site.css ("figure build"); .paper-wide comes from papers.css. */
@layer pages {
  .th-svg .th-head { font: 600 11px var(--mono); letter-spacing: 0.1em; fill: var(--muted); }
  .th-svg .th-title { font: 600 12px var(--mono); fill: var(--ink); }
  .th-svg .th-big { font: 700 15px var(--mono); letter-spacing: 0.06em; fill: var(--ink); }
  .th-svg .th-body { font: 500 11px var(--mono); fill: var(--ink-2); }
  .th-svg .th-body-tex { fill: var(--ink-2); }
  .th-svg .th-note { font: 500 10.5px var(--mono); fill: var(--muted); }
  .th-svg .th-note-tex { fill: var(--muted); }
  .th-svg .th-row { font: 500 11px var(--mono); fill: var(--ink-2); }
  .th-svg .th-row-tex { fill: var(--ink-2); }
  .th-svg .th-tickl { font: 500 10.5px var(--mono); fill: var(--muted); }
  .th-svg .th-guide { fill: none; stroke: var(--muted); stroke-width: 0.6; opacity: 0.4; }
  .th-svg .th-pic { fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
  .th-svg .th-hill { stroke-width: 1.8; }
  .th-svg .th-band { fill: currentColor; opacity: 0.12; }
  .th-svg .th-cell { fill: none; stroke: currentColor; stroke-width: 0.8; opacity: 0.8; }
  .th-svg .th-mark { fill: var(--accent); opacity: 0.75; }
  .th-svg .th-dim { fill: none; stroke: var(--muted); stroke-width: 0.8; stroke-dasharray: 2 2; }
  .th-svg .th-dimline { fill: none; stroke: var(--ink); stroke-width: 0.8; }
  .th-svg .th-node { fill: var(--accent-2); }
  .th-svg .th-thread { stroke-width: 1.5; }
  .th-svg .th-axis { fill: none; stroke: var(--ink); stroke-width: 1; }
  .th-svg .th-tick { stroke: var(--ink); stroke-width: 1; }
  .th-svg .th-join { fill: none; stroke: var(--muted); stroke-width: 1; stroke-dasharray: 3 3; }
  .th-svg .th-dot { fill: var(--accent); stroke: var(--surface); stroke-width: 1; }
  .th-svg .th-sq { fill: var(--accent-2); stroke: var(--surface); stroke-width: 1; }
  .th-svg .th-val { font: 600 11px var(--mono); fill: var(--accent); }
  .th-svg .th-val2 { font: 600 11px var(--mono); fill: var(--accent-2); }
  .paper-fig .th-results { inline-size: 100%; block-size: auto; }
  @media (max-width: 760px) { .paper-wide .th-method { min-inline-size: 1230px; } .paper-fig-svg:has(.th-results) { overflow-x: auto; } .th-results { min-inline-size: 840px; } }
}
@layer pages {
  .th-svg .th-frame { fill: color-mix(in oklab, var(--surface) 60%, transparent); stroke: currentColor; stroke-width: 1.3; stroke-linejoin: round; }
  .th-svg .th-rule { fill: none; stroke: var(--line-strong); stroke-width: 1; }
  .th-svg .th-line { font: 500 11px var(--mono); fill: var(--ink-2); }
  .th-svg .th-line-tex { fill: var(--ink-2); }
  .th-svg .th-title { letter-spacing: 0.01em; }
}
  .th-results .th-row, .th-results .th-body { font-size: 13px; fill: var(--ink); }
  .th-results .th-head { font-size: 12px; fill: var(--ink); }
  .th-results .th-val, .th-results .th-val2 { font-size: 12px; }
  .th-results .th-row-tex, .th-results .th-body-tex { fill: var(--ink); }
  .th-results .th-tickl, .th-results .th-note { font-size: 12px; fill: var(--ink-2); }
  .th-results .th-note-tex { fill: var(--ink-2); }
