/* Thickened Ground Notes, thickenedtailings.com. Zero external request.
   Paper-and-ink theme for a technical reading guide: paper ground, deep teal
   headings, terracotta accent, gold hairlines, hard-coded footer bedrock. */
:root {
  --tgn-ground: #f4f0e6;
  --tgn-paper: #fffdf7;
  --tgn-ink: #17232b;
  --tgn-muted: #53646a;
  --tgn-line: #c6d0cb;
  --tgn-accent: #8a4f27;
  --tgn-deep: #294b49;
  --tgn-survey: #d3b264;
}
@media (prefers-color-scheme: dark) {
  :root {
    --tgn-ground: #111a1b;
    --tgn-paper: #172324;
    --tgn-ink: #f2eee5;
    --tgn-muted: #c3cfca;
    --tgn-line: #49615d;
    --tgn-deep: #b9d6c6;
    --tgn-accent: #d28d5e;
    --tgn-survey: #c9a24b;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--tgn-ground);
  color: var(--tgn-ink);
  font: 18px/1.68 Georgia, "Iowan Old Style", Palatino, serif;
  text-rendering: optimizeLegibility;
}
a { color: var(--tgn-deep); text-underline-offset: 0.18em; }
a:hover { color: var(--tgn-accent); }
::selection { background: #294b49; color: #fffdf7; }
:focus-visible { outline: 2px solid var(--tgn-survey); outline-offset: 2px; }

.tgn-extent { max-width: 72rem; margin-inline: auto; padding-inline: max(1rem, calc((100% - 72rem) / 2)); }

/* skip link */
.tgn-skip { position: absolute; left: -999px; }
.tgn-skip:focus { left: 1rem; top: 1rem; z-index: 30; background: var(--tgn-paper); color: var(--tgn-ink); padding: 0.6rem 1rem; border: 2px solid var(--tgn-accent); }

/* header */
.tgn-header { border-top: 8px solid var(--tgn-accent); background: var(--tgn-paper); border-bottom: 1px solid var(--tgn-line); }
.tgn-header__row { display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; align-items: baseline; justify-content: space-between; padding-block: 1.1rem 1rem; }
.tgn-masthead { margin: 0; }
.tgn-masthead a { display: block; font-size: 1.55rem; font-weight: 700; letter-spacing: 0.01em; text-decoration: none; color: var(--tgn-ink); }
.tgn-masthead a:hover { color: var(--tgn-deep); }
.tgn-masthead__baseline { display: block; margin-top: 0.15rem; font: 700 0.7rem/1.4 Arial, Helvetica, sans-serif; letter-spacing: 0.13em; text-transform: uppercase; color: var(--tgn-muted); }
.tgn-navigation { display: flex; flex-wrap: wrap; gap: 0.45rem 1.1rem; font: 700 0.78rem/1.5 Arial, Helvetica, sans-serif; }
.tgn-navigation a { text-decoration: none; color: var(--tgn-deep); }
.tgn-navigation a:hover { text-decoration: underline; text-underline-offset: 0.22em; color: var(--tgn-accent); }

/* main containers */
.tgn-hub, .tgn-note, .tgn-page { background: var(--tgn-paper); border: 1px solid var(--tgn-line); margin: 2.6rem auto; padding: clamp(1.4rem, 5vw, 3.8rem); max-width: 64rem; }
.tgn-path { margin: 1.4rem auto 0; max-width: 64rem; padding-inline: 1rem; font: 700 0.72rem/1.5 Arial, Helvetica, sans-serif; letter-spacing: 0.08em; text-transform: uppercase; }
.tgn-path ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; }
.tgn-path a { color: var(--tgn-muted); text-decoration: none; }
.tgn-path a:hover { color: var(--tgn-accent); text-decoration: underline; }
.tgn-path__sep { color: var(--tgn-survey); }
.tgn-path [aria-current="page"] { color: var(--tgn-ink); }

.tgn-kicker { margin: 0 0 0.6rem; font: 700 0.72rem/1.5 Arial, Helvetica, sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tgn-accent); }
h1 { font-size: clamp(2.1rem, 6.4vw, 3.6rem); line-height: 1.05; margin: 0.2rem 0 1rem; color: var(--tgn-deep); font-weight: 700; }
.tgn-deck { font-size: 1.28rem; line-height: 1.5; color: var(--tgn-muted); font-style: italic; max-width: 42rem; margin: 0 0 1.6rem; }

/* figures */
.tgn-plate { margin: 0 0 2.2rem; border: 1px solid var(--tgn-line); border-top: 3px solid var(--tgn-accent); background: var(--tgn-paper); }
.tgn-plate img { display: block; width: 100%; height: auto; }
.tgn-plate figcaption { padding: 0.65rem 1rem 0.75rem; font-size: 0.86rem; font-style: italic; color: var(--tgn-muted); border-top: 1px solid var(--tgn-line); }

/* body prose */
.tgn-body, .tgn-hub__blocks, .tgn-page { font-size: 1.02rem; }
.tgn-body { max-width: 44rem; }
.tgn-body h2, .tgn-hub__blocks h2, .tgn-page h2 {
  font-size: 1.42rem; line-height: 1.25; color: var(--tgn-deep); margin: 2.5rem 0 0.7rem; padding-top: 0.4rem;
}
.tgn-hub__blocks h2:first-child, .tgn-page h2:first-child { margin-top: 0.4rem; }
.tgn-body p, .tgn-hub__blocks p, .tgn-page p { margin: 0 0 1.05rem; }
.tgn-body p:first-of-type { font-size: 1.12rem; }

/* classification matrix */
.tgn-matrix { margin: 1.6rem 0 2rem; }
.tgn-matrix table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.tgn-matrix caption { caption-side: top; text-align: left; font-size: 0.86rem; font-style: italic; color: var(--tgn-muted); padding-bottom: 0.5rem; }
.tgn-matrix th, .tgn-matrix td { border: 1px solid var(--tgn-line); padding: 0.5rem 0.7rem; text-align: left; vertical-align: top; }
.tgn-matrix thead th { font: 700 0.72rem/1.4 Arial, Helvetica, sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tgn-paper); background: var(--tgn-deep); border-color: var(--tgn-deep); }
.tgn-matrix tbody tr:nth-child(even) { background: var(--tgn-ground); }
.tgn-matrix tbody th[scope="row"] { font-weight: 700; color: var(--tgn-deep); white-space: nowrap; }

/* sources block */
.tgn-sources { margin-top: 2.6rem; border-top: 2px solid var(--tgn-deep); padding-top: 1rem; font-size: 0.92rem; color: var(--tgn-muted); max-width: 46rem; }
.tgn-sources h2 { font-size: 1.12rem; margin: 0 0 0.6rem; color: var(--tgn-deep); }
.tgn-sources ul { margin: 0 0 0.8rem; padding-left: 1.2rem; }
.tgn-sources li { margin-bottom: 0.5rem; }
.tgn-sources__more { margin: 0; }

.tgn-note__colophon { margin-top: 2.4rem; font-size: 0.85rem; font-style: italic; color: var(--tgn-muted); border-top: 1px solid var(--tgn-line); padding-top: 0.8rem; max-width: 46rem; }

/* home hub */
.tgn-hub { border-top: 4px solid var(--tgn-deep); }
.tgn-hub > p { max-width: 46rem; }
.tgn-hub__blocks { max-width: 46rem; margin-top: 2.4rem; border-top: 1px solid var(--tgn-line); padding-top: 1.6rem; }

/* footer: bedrock color hard-coded by convention */
.tgn-footer { background: #0e2340; color: #e7edf7; margin-top: 3rem; }
.tgn-footer__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem 2rem; padding-block: 2.4rem 1.4rem; }
.tgn-footer__head { margin: 0 0 0.7rem; font: 700 0.72rem/1.4 Arial, Helvetica, sans-serif; letter-spacing: 0.16em; text-transform: uppercase; color: #c9a24b; }
.tgn-footer__list { list-style: none; margin: 0; padding: 0; }
.tgn-footer__list li { margin-bottom: 0.45rem; font-size: 0.92rem; }
.tgn-footer a { color: #e7edf7; text-decoration: none; }
.tgn-footer a:hover { color: #d3b264; text-decoration: underline; text-underline-offset: 0.22em; }
.tgn-footer__note { margin: 0 0 0.7rem; font-size: 0.85rem; line-height: 1.55; color: #a3aec4; }
.tgn-footer__base { border-top: 1px solid #2b3650; }
.tgn-footer__line { margin: 0; padding: 0.9rem 1rem; text-align: center; font-size: 0.78rem; letter-spacing: 0.06em; color: #a3aec4; }

@media (max-width: 860px) {
  .tgn-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .tgn-header__row { flex-direction: column; gap: 0.8rem; }
  .tgn-footer__grid { grid-template-columns: 1fr; }
  .tgn-matrix table { font-size: 0.85rem; }
  .tgn-matrix th, .tgn-matrix td { padding: 0.4rem 0.5rem; }
  .tgn-matrix tbody th[scope="row"] { white-space: normal; }
}

@media print {
  .tgn-header, .tgn-footer, .tgn-navigation, .tgn-path, .tgn-skip { display: none; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .tgn-hub, .tgn-note, .tgn-page { border: none; margin: 0; padding: 0; max-width: none; }
}

/* dated register line on the overview */
.tgn-register { margin: -0.4rem 0 1.2rem; font-size: 0.85rem; font-style: italic; color: var(--tgn-muted); }
