/* CBL-01 articles; relationship overview opts in without restyling its graph. */
/* Brandy finding: responsive semantic diagrams, no separate navigation. */
#guideBody .code-findings-article .brandy-diagram { margin:1.3rem 0; }
#guideBody .code-findings-article .brandy-chain { list-style:none; margin:0; padding:0; }
#guideBody .code-findings-article .brandy-chain > li { margin:0; padding:0; }
#guideBody .code-findings-article .brandy-node { border:1px solid var(--accent); border-radius:12px; background:var(--field); padding:1rem 1.15rem; }
#guideBody .code-findings-article .brandy-node strong { display:block; font:700 1rem/1.45 var(--ui); color:var(--petrol); margin-bottom:.4rem; }
#guideBody .code-findings-article .brandy-node span { display:block; }
#guideBody .code-findings-article .brandy-node--result { background:var(--cream); border-color:#b28735; }
#guideBody .code-findings-article .brandy-arrow { margin:0 auto; padding:.4rem .6rem; text-align:center; color:var(--accent); font:700 1.6rem/1.5 var(--ui); }
#guideBody .code-findings-article .brandy-arrow span { vertical-align:middle; font:600 .86rem/1.5 var(--ui); }
#guideBody .code-findings-article .brandy-arrow--read { border-left:2px dashed var(--line); width:fit-content; max-width:100%; }
#guideBody .code-findings-article .brandy-diagram figcaption { margin-top:.7rem; color:var(--muted); font:.93rem/1.6 var(--editorial); }
#relationReadingBody .code-findings-article.relation-changes { margin-top:2rem; min-width:0; color:#16232c; }
#relationReadingBody .relation-changes table { min-width:32rem; }
:is(#guideBody, #relationReadingBody) .code-findings-article {
      --paper: #f1ede3;
      --ink: #16232c;
      --petrol: #183f48;
      --petrol-text: #16525d;
      --accent: #216b78;
      --petrol-pale: #dcecee;
      --line: #9fc4ca;
      --field: #fffdf8;
      --head: #fffdf7;
      --list-paper: #faf7f0;
      --muted: #3c4b54;
      --gold: #f0c878;
      --cream: #fff2cb;
      --ui: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --editorial: Georgia, "Times New Roman", serif;
      --mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
      --shell-gap: 1rem;
      --shell-frame-inset: 1rem;
    
  overflow-wrap: anywhere;
}
:is(#guideBody, #relationReadingBody) .code-findings-article {
      max-width: 76ch;
      margin: 0 auto;
      font-family: var(--editorial);
      font-size: 1.0625rem;
      line-height: 1.72;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .lead {
      margin: 0 0 1.35rem;
      color: var(--petrol);
      font-size: 1.2rem;
      line-height: 1.65;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article h2 {
      margin: 2.15rem 0 .7rem;
      color: var(--petrol);
      font: 700 1.5rem/1.3 var(--editorial);
      scroll-margin-top: 1rem;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article h2.numbered-section-heading {
      display: grid;
      grid-template-columns: max-content minmax(0, 1fr);
      column-gap: .32em;
      align-items: start;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .section-number {
      color: inherit;
      font: inherit;
      white-space: nowrap;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .section-heading-text {
      min-width: 0;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article h3 {
      margin: 1.55rem 0 .55rem;
      color: var(--petrol);
      font: 700 1.13rem/1.4 var(--ui);
    }
:is(#guideBody, #relationReadingBody) .code-findings-article p { margin: 0 0 1rem; }
:is(#guideBody, #relationReadingBody) .code-findings-article :is(p,ul,ol,li) { font-family:inherit; font-size:inherit; line-height:inherit; }
:is(#guideBody, #relationReadingBody) .code-findings-article code {
      padding: .08em .28em;
      border-radius: 4px;
      color: var(--petrol);
      background: #eef4f2;
      font-family: var(--mono);
      font-size: .9em;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin: 1.2rem 0;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-grid.state-grid--four {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-card,
:is(#guideBody, #relationReadingBody) .code-findings-article .fact-card,
:is(#guideBody, #relationReadingBody) .code-findings-article .quote-card {
      border: 1px solid var(--line);
      border-radius: 12px;
      background: var(--field);
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-card { padding: 14px; }
:is(#guideBody, #relationReadingBody) .code-findings-article .finding-links {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 0 1.3rem;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article a.finding-link.chip {
      display: inline-flex;
      min-width: 0;
      min-height: 31px;
      max-width: 100%;
      box-sizing: border-box;
      align-items: center;
      justify-content: center;
      margin: .12rem .16rem;
      padding: 5px 10px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--petrol-text);
      background: var(--field);
      font: 650 .875rem/1.35 var(--ui);
      text-align: center;
      text-decoration: none;
      white-space: normal;
      overflow-wrap: anywhere;
      vertical-align: middle;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .finding-links a.finding-link.chip { margin: 0; }
:is(#guideBody, #relationReadingBody) .code-findings-article a.finding-link.chip:is(:hover, :focus-visible) {
      color: var(--field);
      border-color: var(--petrol);
      background: var(--petrol);
      text-decoration: none;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article a.finding-link.chip:focus-visible {
      outline: 3px solid var(--accent);
      outline-offset: 3px;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-card h3 { margin: .65rem 0 .25rem; }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-card > a.finding-link.chip:first-child { margin: 0; }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-card > code:first-child {
      display: inline-flex;
      min-height: 31px;
      box-sizing: border-box;
      align-items: center;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .state-card p { margin: 0; color: var(--muted); font: 400 .9rem/1.55 var(--ui); }
:is(#guideBody, #relationReadingBody) .code-findings-article .flow {
      margin: 1.1rem 0 1.35rem;
      padding: 16px 18px;
      overflow-x: auto;
      border: 1px solid var(--line);
      border-radius: 12px;
      color: #edf8f6;
      background: var(--petrol);
      font: 600 .91rem/1.65 var(--mono);
      white-space: pre-wrap;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .comparison {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin: 1.15rem 0 1.35rem;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .fact-card { padding: 16px; }
:is(#guideBody, #relationReadingBody) .code-findings-article .fact-card h3 { margin-top: 0; }
:is(#guideBody, #relationReadingBody) .code-findings-article .fact-card ul { margin: .45rem 0 0; padding-left: 1.2rem; }
:is(#guideBody, #relationReadingBody) .code-findings-article .fact-card li { margin: .32rem 0; }
:is(#guideBody, #relationReadingBody) .code-findings-article .special {
      border-color: var(--petrol);
      background: linear-gradient(145deg, var(--field), #eef6f4);
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .table-wrap {
      margin: 1.1rem 0 1.35rem;
      overflow-x: auto;
      border: 1px solid var(--line);
      border-radius: 12px;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article table {
      width: 100%;
      border-collapse: collapse;
      font-family: var(--ui);
      font-size: .9rem;
      line-height: 1.5;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article th,
:is(#guideBody, #relationReadingBody) .code-findings-article td {
      padding: 10px 12px;
      border-bottom: 1px solid #dce7e5;
      text-align: left;
      vertical-align: top;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article th { color: var(--petrol); background: var(--petrol-pale); }
:is(#guideBody, #relationReadingBody) .code-findings-article tbody tr:last-child td { border-bottom: 0; }
:is(#guideBody, #relationReadingBody) .code-findings-article .parent-relation-table table {
      min-width: 820px;
      table-layout: fixed;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .parent-relation-table .entry-column { width: 30%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .parent-relation-table .id-column { width: 15%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .parent-relation-table .parent-column { width: 9%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .parent-relation-table .relation-column { width: 11%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .parent-relation-table .reading-column { width: 35%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .parent-relation-table :is(th:nth-child(3),th:nth-child(4)) { white-space: nowrap; }
:is(#guideBody, #relationReadingBody) .code-findings-article .dawn-flight-table table {
      min-width: 700px;
      table-layout: fixed;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .dawn-flight-table .turn-column { width: 9%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .dawn-flight-table .team-column { width: 54.5%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .dawn-flight-table .sirius-column { width: 36.5%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .dawn-flight-table :is(th, td):first-child {
      white-space: nowrap;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .gor-cell-table table {
      min-width: 700px;
      table-layout: fixed;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .gor-cell-table .turn-column { width: 9.5%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .gor-cell-table .story-column { width: 50.5%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .gor-cell-table .result-column { width: 40%; }
:is(#guideBody, #relationReadingBody) .code-findings-article .gor-cell-table :is(th, td):first-child {
      white-space: nowrap;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .formula {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 8px 14px;
      margin: 1rem 0 1.35rem;
      padding: 15px 17px;
      border-left: 4px solid var(--gold);
      border-radius: 0 10px 10px 0;
      background: #fbf5e7;
      font-family: var(--ui);
      font-size: .93rem;
      line-height: 1.55;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .formula strong { color: var(--petrol); font-family: var(--mono); }
:is(#guideBody, #relationReadingBody) .code-findings-article .quote-card {
      margin: 1.25rem 0;
      padding: 16px 18px;
      border-color: var(--petrol);
      color: var(--petrol);
      background: #f7fbfa;
      font-size: 1.08rem;
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .quote-card p:last-child { margin-bottom: 0; }
/* Keep the combat example's caption distinct from the actual game quotation. */
:is(#guideBody, #relationReadingBody) #combat-order-block .game-text > .text-context {
      color: var(--muted);
      font: 400 .875rem/1.55 var(--ui);
    }
:is(#guideBody, #relationReadingBody) #combat-order-block .game-text > .quote-card {
      color: var(--ink);
      font: 400 1.0625rem/1.72 var(--editorial);
    }
:is(#guideBody, #relationReadingBody) .code-findings-article .source-note {
      display: grid;
      width: min(100%, 46rem);
      max-width: 100%;
      box-sizing: border-box;
      margin: 2rem auto 0;
      padding-top: 1rem;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font: 400 .85rem/1.55 var(--ui);
      text-align: left;
    }



:is(#guideBody, #relationReadingBody) .code-findings-article .flow { overflow-wrap:anywhere; }
#guideReader .code-findings-subtitle { max-width:75ch; margin:7px 0 0; color:#3c4b54; font:400 .875rem/1.5 var(--font-ui); }
@media(max-width:700px) {
  :is(#guideBody, #relationReadingBody) .code-findings-article .state-grid, :is(#guideBody, #relationReadingBody) .code-findings-article .comparison { grid-template-columns:1fr; }
  :is(#guideBody, #relationReadingBody) .code-findings-article .formula { grid-template-columns:1fr; }
}
@media print {
  :is(#guideBody, #relationReadingBody) .code-findings-article { max-width:none; font-size:10.5pt; line-height:1.55; }
  :is(#guideBody, #relationReadingBody) .code-findings-article :is(.flow,.state-card,.fact-card,.quote-card,.table-wrap) { break-inside:avoid; }
}

/* CBL-01 for all five tabs of every full figure dossier. RG-01 and RD-01
   continue to own the register, identity head and tab bar. The compact atlas
   preview carries the class too, but is deliberately outside this route. */
body[data-route="actors"] .actor-reading-body.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="actors"] .actor-reading-body.cbl-reading > * {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
body[data-route="actors"] .actor-reading-body.cbl-reading :is(p,ul,ol,dl) { max-width:76ch; }
body[data-route="actors"] .actor-reading-body.cbl-reading :is(.obj-section,.actor-values,.obj-texts,section:not(.actor-capability):not(.culture-related)) > h3 {
  margin:1.7rem 0 .7rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="actors"] .actor-reading-body.cbl-reading > :first-child > h3:first-child { margin-top:0; }
body[data-route="actors"] .actor-reading-body.cbl-reading :is(.actor-capability,.obj-text-entry,.culture-related) h3,
body[data-route="actors"] .actor-reading-body.cbl-reading :is(.actor-capability,.obj-text-entry) h4 {
  color:var(--cbl-petrol);
  font:700 1.13rem/1.4 var(--font-ui);
}
body[data-route="actors"] .actor-reading-body.cbl-reading p { color:var(--cbl-ink); font-family:var(--font-editorial); }
body[data-route="actors"] .actor-reading-body.cbl-reading :is(code,kbd) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Compact stored relationships use the CBL formula/assignment role. */
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-facts:not(.actor-value-facts) {
  margin:1rem 0 1.35rem;
  padding:8px 17px 12px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .93rem/1.55 var(--font-ui);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-facts:not(.actor-value-facts) > div {
  grid-template-columns:minmax(130px,180px) minmax(0,1fr);
  gap:7px 19px;
  padding:8px 0;
  border-bottom:1px solid #e4dcc7;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-facts:not(.actor-value-facts) > div:last-child { border-bottom:0; }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-facts:not(.actor-value-facts) dt { color:var(--cbl-petrol); font:700 .875rem/1.55 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-facts:not(.actor-value-facts) dd { color:var(--cbl-ink); font:400 .9rem/1.55 var(--font-ui); }

/* Values, decoded capabilities and text records are CBL fact cards. */
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid {
  display:grid;
  gap:12px;
  margin:1.15rem 0 1.35rem;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid--five {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid--five > div {
  flex:0 1 9.5rem;
  box-sizing:border-box;
  max-width:100%;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-weight .actor-stat-grid--five > div { flex-basis:14rem; }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid > div {
  min-width:0;
  padding:14px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid dt { color:var(--cbl-petrol); font:700 .9rem/1.45 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid dt span { color:var(--cbl-muted); font:400 .78rem/1.45 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid dd { color:var(--cbl-ink); font:700 1.15rem/1.35 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid--five > div {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:12px;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid--five dt {
  margin:.65rem 0 0;
  max-width:100%;
  overflow-wrap:anywhere;
  hyphens:auto;
  color:var(--cbl-petrol);
  font:700 1.13rem/1.4 var(--font-ui);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid--five dt span {
  display:block;
  margin-top:.25rem;
  color:var(--cbl-muted);
  font:400 .78rem/1.45 var(--font-ui);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-stat-grid--five dd {
  order:-1;
  display:inline-flex;
  min-width:2rem;
  min-height:2rem;
  max-width:100%;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:.45rem .75rem;
  border-radius:999px;
  color:var(--cbl-petrol);
  background:var(--cbl-gold);
  font:800 .8rem/1.25 var(--font-ui);
  text-align:center;
  overflow-wrap:anywhere;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability-grid { gap:12px; margin:1.2rem 0 1.4rem; }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability {
  padding:16px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:12px;
  background:var(--cbl-field);
  box-shadow:none;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability > header > span { color:var(--cbl-muted); font:700 .8rem/1.4 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability h4 { margin:.65rem 0 .45rem; }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability p { margin:.55rem 0 0; color:var(--cbl-ink); font:400 .9rem/1.58 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability :is(.capability-availability,.capability-live) { color:var(--cbl-muted); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability:is(.capability-protection,.capability-access,.capability-authority) { border-left-color:var(--cbl-gold); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability.capability-blocker { border-left-color:var(--red); }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability.capability-unknown { border-color:#8f8692; border-left-width:4px; border-style:dashed; }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry {
  margin:1.25rem 0;
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry > h4 { margin:0 0 .55rem; }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry > p { margin:.45rem 0 1rem; color:var(--cbl-muted); font:400 .9rem/1.55 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-texts :is(blockquote,.quote) {
  max-width:76ch;
  margin:1rem 0 1.25rem;
  padding:16px 18px;
  border:1px solid var(--cbl-petrol);
  border-radius:12px;
  color:var(--cbl-petrol);
  background:#f7fbfa;
  font:400 1.08rem/1.65 var(--font-editorial);
}

/* Exact cross-references are compact CBL linkchips, never passive pills. */
body[data-route="actors"] .actor-reading-body.cbl-reading :is(
  a.obj-ref,
  a.inter-ref,
  a.actor-state-link,
  a.actor-function-link,
  button.actor-function-link,
  .obj-links a,
  .obj-links button,
  .obj-chain a,
  .obj-children a,
  [data-open-doc],
  [data-culture-route]
) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="actors"] .actor-reading-body.cbl-reading a.actor-state-link.actor-inline-ref {
  display:inline;
  min-height:24px;
  padding:1px 7px;
  font-size:.82rem;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
body[data-route="actors"] .actor-reading-body.cbl-reading :is(
  a.obj-ref,a.inter-ref,a.actor-state-link,a.actor-function-link,
  button.actor-function-link,.obj-links a,.obj-links button,.obj-chain a,
  .obj-children a,[data-open-doc],[data-culture-route]
):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
body[data-route="actors"] .actor-reading-body.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}
body[data-route="actors"] .actor-reading-body.cbl-reading :is(.obj-links,.obj-chain,.actor-state-list,.obj-children) { gap:8px; }

/* Explanatory disclosures remain readable; the final technical record is the
   narrow CBL source ending rather than another competing content card. */
body[data-route="actors"] .actor-reading-body.cbl-reading :is(details.obj-details,details.actor-sex-details,details.actor-unresolved) {
  box-sizing:border-box;
  margin:1.15rem 0 1.35rem;
  padding:0 16px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  color:var(--cbl-ink);
  background:var(--cbl-field);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="actors"] .actor-reading-body.cbl-reading details.actor-unresolved { border-style:dashed; border-color:#8f8692; background:#faf8fa; }
body[data-route="actors"] .actor-reading-body.cbl-reading :is(details.obj-details,details.actor-sex-details,details.actor-unresolved) > summary {
  min-height:31px;
  margin:0 -16px;
  padding:10px 16px;
  border-radius:11px;
  color:var(--cbl-petrol);
  background:transparent;
  font:700 .9375rem/1.45 var(--font-ui);
  cursor:pointer;
}
body[data-route="actors"] .actor-reading-body.cbl-reading :is(details.obj-details,details.actor-sex-details,details.actor-unresolved)[open] > summary {
  margin-bottom:14px;
  border-bottom:1px solid var(--cbl-line);
  border-radius:11px 11px 0 0;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .data-table { font:400 .9rem/1.5 var(--font-ui); }
body[data-route="actors"] .actor-reading-body.cbl-reading .data-table th { color:var(--cbl-petrol); background:var(--cbl-soft); }
body[data-route="actors"] .actor-reading-body.cbl-reading .data-table :is(th,td) { padding:10px 12px; border-bottom-color:#dce7e5; }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-value-table-wrap {
  width:100%;
  max-width:76ch;
  margin:1rem auto 1.4rem;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-value-table {
  min-width:650px;
  margin:0;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-value-table thead th {
  color:var(--cbl-petrol);
  background:var(--cbl-soft);
  font-weight:750;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-value-table tbody th {
  color:var(--cbl-petrol);
  background:transparent;
  font-weight:700;
  text-align:left;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-value-table tbody td:nth-child(2) {
  color:var(--cbl-ink);
  font-variant-numeric:tabular-nums;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-value-table tbody td:last-child {
  width:1%;
  white-space:nowrap;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-location-facts {
  width:min(100%,46rem);
  margin:.15rem auto 1.5rem;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-start-location {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin:.15rem auto 1.65rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-start-location > h3 {
  margin:0 0 .7rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-start-location-link {
  display:flex;
  justify-content:flex-start;
  margin:0;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability-grid { align-items:stretch; }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability {
  display:flex;
  flex-direction:column;
  height:100%;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-capability .actor-capability-source { margin-top:auto; padding-top:.7rem; }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-text-collection { margin-top:1.4rem; }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry.actor-text-entry {
  margin:0;
  padding:1.5rem 0;
  border:0;
  border-bottom:1px solid var(--cbl-line);
  border-radius:0;
  background:transparent;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry.actor-text-entry:first-child { padding-top:.3rem; }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry.actor-text-entry:last-child { border-bottom:0; }
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry.actor-text-entry > h3 {
  margin:0 0 .45rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry.actor-text-entry > .text-context {
  margin:0 0 .9rem;
  color:var(--cbl-muted);
  font:500 .875rem/1.55 var(--font-ui);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-text-entry .game-text { margin:0; }
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-text-entry .quote-card {
  max-width:none;
  margin:0;
  padding:16px 18px;
  border:1px solid var(--cbl-petrol);
  border-radius:12px;
  color:var(--cbl-petrol);
  background:#f7fbfa;
  font:400 1.08rem/1.65 var(--font-editorial);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-text-entry .text-part {
  display:block;
  width:100%;
  margin:.85rem 0 0;
  padding:.8rem 0 0;
  border:0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  background:transparent;
}
body[data-route="actors"] .actor-reading-body.cbl-reading .actor-text-entry .text-label {
  display:block;
  margin:0 0 .35rem;
  color:var(--cbl-petrol-text);
  font:750 .82rem/1.45 var(--font-ui);
}
body[data-route="actors"] .actor-reading-body.cbl-reading .renderer-condition { background:var(--cbl-cream); border-left-color:var(--cbl-gold); }
body[data-route="actors"] .actor-reading-body.cbl-reading .mechanic-note { border-color:var(--cbl-line); border-left-color:var(--cbl-accent); background:var(--cbl-field); box-shadow:none; }
body[data-route="actors"] .actor-reading-body.cbl-reading .culture-related { border-color:var(--cbl-line); background:var(--cbl-field); }
@media(max-width:700px) {
  body[data-route="actors"] .actor-reading-body.cbl-reading .obj-facts:not(.actor-value-facts) > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  body[data-route="actors"] .actor-reading-body.cbl-reading :is(.actor-capability,.obj-text-entry) { padding:15px 13px; }
  body[data-route="actors"] .actor-reading-body.cbl-reading .obj-text-entry.actor-text-entry { padding:1.2rem 0; }
}
@media print {
  body[data-route="actors"] .actor-reading-body.cbl-reading { font-size:10.5pt; line-height:1.55; }
  body[data-route="actors"] .actor-reading-body.cbl-reading > * { max-width:none; }
  body[data-route="actors"] .actor-reading-body.cbl-reading :is(.actor-stat-grid > div,.actor-capability,.obj-text-entry,.obj-facts,.data-table) { break-inside:avoid; }
}

/* CBL-01 for every entry in Methode & Begriffe > Begriffe. RG-01 keeps the
   term index and RD-01 keeps the heading; this begins with the definition. */
body[data-route="glossary"] #guideBody.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  --cbl-reading-axis:50rem;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="glossary"] #guideBody.cbl-reading > * {
  box-sizing:border-box;
  width:100%;
  max-width:var(--cbl-reading-axis);
  margin-right:auto;
  margin-left:auto;
}
body[data-route="glossary"] #guideBody.cbl-reading > .inter-eyebrow {
  display:block;
  width:100%;
  margin-bottom:.65rem;
  color:var(--cbl-petrol-text);
  font:800 .72rem/1.45 var(--font-ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}
body[data-route="glossary"] #guideBody.cbl-reading > .inter-summary {
  width:100%;
  margin-top:0;
  margin-bottom:1.25rem;
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
body[data-route="glossary"] #guideBody.cbl-reading > p:not(.inter-summary) {
  width:100%;
  margin-top:0;
  margin-bottom:1rem;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="glossary"] #guideBody.cbl-reading > h3,
body[data-route="glossary"] #guideBody.cbl-reading .inter-symbols > h3 {
  width:100%;
  margin:1.7rem auto .65rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="glossary"] #guideBody.cbl-reading :is(code,kbd,.inter-code,.inter-command) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Glossary: use the CBL component matching the explanation, not a gold
   formula block for prose. All components share the same reading axis. */
body[data-route="glossary"] #guideBody.cbl-reading { container-type:inline-size; container-name:glossary-reader; }
body[data-route="glossary"] #guideBody.cbl-reading :is(.term-example,.term-distinction,.term-illustration) { margin:1.25rem auto; }
body[data-route="glossary"] #guideBody.cbl-reading :is(.term-example,.term-distinction,.term-illustration) h3 {
  margin:0 0 .65rem; color:var(--cbl-petrol); font:700 1.125rem/1.4 var(--font-ui);
}
body[data-route="glossary"] #guideBody.cbl-reading :is(.term-example,.term-distinction) p { margin:0; font:400 1.0625rem/1.72 var(--font-editorial); }
body[data-route="glossary"] #guideBody.cbl-reading .term-example { padding:16px 18px; border:1px solid var(--cbl-line); border-radius:12px; background:var(--cbl-field); }
body[data-route="glossary"] #guideBody.cbl-reading .term-distinction { padding:0; border:0; background:transparent; }
body[data-route="glossary"] #guideBody.cbl-reading .term-facts { margin:0; font:400 .875rem/1.6 var(--font-ui); }
body[data-route="glossary"] #guideBody.cbl-reading :is(.term-facts,.term-example p,.term-distinction p,.term-comparison p) { width:100%; max-width:none; }
body[data-route="glossary"] #guideBody.cbl-reading .term-flow { box-sizing:border-box; }
body[data-route="glossary"] #guideBody.cbl-reading .term-facts > div { display:grid; grid-template-columns:minmax(0,36fr) minmax(0,64fr); gap:18px; padding:10px 0; border-bottom:1px solid var(--cbl-line); }
body[data-route="glossary"] #guideBody.cbl-reading .term-facts dt { margin:0; color:var(--cbl-petrol); font-weight:650; }
body[data-route="glossary"] #guideBody.cbl-reading .term-facts dd { margin:0; min-width:0; }
body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--cbl-line); border-radius:12px; }
body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap table { width:100%; margin:0; border:0; border-collapse:collapse; table-layout:auto; font:400 .9rem/1.55 var(--font-ui); }
body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap :is(th,td) { padding:12px 14px; border:0; border-bottom:1px solid var(--cbl-line); vertical-align:top; text-align:left; overflow-wrap:normal; }
body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap thead th { color:var(--cbl-petrol); background:var(--cbl-soft); font-weight:700; }
body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap tbody th { color:var(--cbl-petrol); background:var(--cbl-field); font-weight:650; }
body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap tr:last-child > * { border-bottom:0; }
body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap thead tr > * { border-bottom:1px solid var(--cbl-line); }
body[data-route="glossary"] #guideBody.cbl-reading .term-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body[data-route="glossary"] #guideBody.cbl-reading .term-comparison article { min-width:0; padding:16px 18px; border:1px solid var(--cbl-line); border-radius:12px; background:var(--cbl-field); }
body[data-route="glossary"] #guideBody.cbl-reading .term-comparison h4 { margin:0 0 .6rem; color:var(--cbl-petrol); font:700 1.125rem/1.4 var(--font-ui); }
body[data-route="glossary"] #guideBody.cbl-reading .term-comparison p { margin:0; font:400 .9rem/1.6 var(--font-ui); }
body[data-route="glossary"] #guideBody.cbl-reading .term-flow { width:100%; margin:0; padding:16px 18px; border:1px solid var(--cbl-petrol); border-radius:12px; color:#fffdf8; background:var(--cbl-petrol); font:400 .9rem/1.65 var(--font-code); white-space:pre-wrap; overflow-wrap:anywhere; }
@container glossary-reader (max-width:700px) {
  body[data-route="glossary"] #guideBody.cbl-reading .term-comparison { grid-template-columns:minmax(0,1fr); }
}
@container glossary-reader (max-width:480px) {
  body[data-route="glossary"] #guideBody.cbl-reading .term-facts > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap :is(th,td) { padding:10px; }
}
@media print {
  body[data-route="glossary"] #guideBody.cbl-reading :is(.term-example,.term-comparison article) { break-inside:avoid; }
  body[data-route="glossary"] #guideBody.cbl-reading .term-flow { color:#16232c; background:white; }
  body[data-route="glossary"] #guideBody.cbl-reading .term-table-wrap { overflow:visible; }
}

/* Actor uses the same separated value and system-field grammar as the figure
   dossier. It remains a glossary explanation, not a second actor register. */
body[data-route="glossary"] #guideBody.cbl-reading > .inter-term-profile {
  width:100%;
  margin:1.55rem auto 1.4rem;
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-profile > h3 {
  width:100%;
  margin:0 0 .65rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-profile > p {
  margin:.35rem 0 1rem;
  color:var(--cbl-ink);
  font:400 1.025rem/1.68 var(--font-editorial);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-stat-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:1rem 0 1.2rem;
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-stat-grid > div {
  min-width:0;
  padding:13px 11px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-stat-grid dt {
  color:var(--cbl-petrol);
  font:700 .875rem/1.4 var(--font-ui);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-stat-grid dd {
  margin-top:.18rem;
  color:var(--cbl-muted);
  font:400 .76rem/1.4 var(--font-ui);
  overflow-wrap:anywhere;
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
  margin:1.15rem 0 1.25rem;
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid > article {
  min-width:0;
  padding:15px 16px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid > article > span {
  display:block;
  color:var(--cbl-muted);
  font:700 .76rem/1.4 var(--font-ui);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid h4 {
  margin:.45rem 0 .55rem;
  color:var(--cbl-petrol);
  font:700 1.05rem/1.4 var(--font-ui);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid h4 .chip {
  display:inline-flex;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid h4 .chip:is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid p {
  margin:0;
  color:var(--cbl-ink);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="glossary"] #guideBody.cbl-reading .inter-term-profile > .inter-term-profile-note {
  margin:1rem 0 0;
  padding:14px 16px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  color:var(--cbl-ink);
  background:var(--cbl-field);
  font:400 .9rem/1.58 var(--font-ui);
}

/* Only exact existing records become compact CBL linkchips. */
body[data-route="glossary"] #guideBody.cbl-reading .inter-links { width:100%; gap:8px; margin:1rem auto 1.35rem; }
body[data-route="glossary"] #guideBody.cbl-reading .inter-links:empty { display:none; }
body[data-route="glossary"] #guideBody.cbl-reading :is(.inter-links a,.inter-links button,.inter-technical [data-open-doc]) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="glossary"] #guideBody.cbl-reading :is(.inter-links a,.inter-links button,.inter-technical [data-open-doc]):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
body[data-route="glossary"] #guideBody.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}
body[data-route="glossary"] #guideBody.cbl-reading :is(.inter-links,.inter-technical) :is(a,button) :is(code,kbd,.inter-code,.inter-command) {
  padding:0;
  color:inherit;
  background:transparent;
  font-size:1em;
}

/* The built-in function appendix is a CBL fact card, not a second reader. */
body[data-route="glossary"] #guideBody.cbl-reading > .inter-symbols {
  width:100%;
  margin:1.5rem auto;
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="glossary"] #guideBody.cbl-reading > .inter-symbols > h3 { margin-top:0; }
body[data-route="glossary"] #guideBody.cbl-reading > .inter-symbols .inter-facts { margin:0; }

/* Provenance is the quiet CBL source ending. */
body[data-route="glossary"] #guideBody.cbl-reading > details.inter-technical {
  width:100%;
  margin:2rem auto 0;
  padding:1rem 0 0;
  border:0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  color:var(--cbl-muted);
  background:transparent;
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="glossary"] #guideBody.cbl-reading > details.inter-technical > summary {
  min-height:31px;
  padding:5px 0 10px;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="glossary"] #guideBody.cbl-reading > details.inter-technical[open] > summary {
  margin-bottom:12px;
  border-bottom:1px solid var(--cbl-line);
}
body[data-route="glossary"] #guideBody.cbl-reading > details.inter-technical p { color:inherit; font:inherit; }

@media(max-width:700px) {
  body[data-route="glossary"] #guideBody.cbl-reading .term-comparison { grid-template-columns:minmax(0,1fr); }
  body[data-route="glossary"] #guideBody.cbl-reading .inter-term-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-route="glossary"] #guideBody.cbl-reading .inter-term-system-grid { grid-template-columns:minmax(0,1fr); }
}
@media print {
  body[data-route="glossary"] #guideBody.cbl-reading { max-width:none; font-size:10.5pt; line-height:1.55; }
  body[data-route="glossary"] #guideBody.cbl-reading > * { max-width:none; }
  body[data-route="glossary"] #guideBody.cbl-reading :is(.inter-facts,.inter-symbols) { break-inside:avoid; }
}

/* CBL-01 for the Weltmodell reader. RG-01 keeps the model index and RD-01
   keeps the heading; only the selected model component is restyled here. */
body[data-route="internals"] #guideBody.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  --cbl-green:#2f7259;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="internals"] #guideBody.cbl-reading > * {
  box-sizing:border-box;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
body[data-route="internals"] #guideBody.cbl-reading > .inter-eyebrow {
  display:block;
  width:100%;
  margin-bottom:.65rem;
  color:var(--cbl-petrol-text);
  font:800 .72rem/1.45 var(--font-ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}
body[data-route="internals"] #guideBody.cbl-reading > .inter-summary {
  width:100%;
  margin-top:0;
  margin-bottom:1.25rem;
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
body[data-route="internals"] #guideBody.cbl-reading > p:not(.inter-summary),
body[data-route="internals"] #guideBody.cbl-reading .inter-containment-example > p {
  width:100%;
  margin-top:0;
  margin-bottom:1rem;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="internals"] #guideBody.cbl-reading :is(code,kbd,.inter-code,.inter-command) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* The concrete Demoniak example is the warm CBL assignment block. */
body[data-route="internals"] #guideBody.cbl-reading > .inter-facts {
  width:100%;
  margin:1rem auto 1.35rem;
  padding:8px 17px 12px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .93rem/1.55 var(--font-ui);
}
body[data-route="internals"] #guideBody.cbl-reading > .inter-facts > div {
  grid-template-columns:minmax(150px,.8fr) minmax(0,2fr);
  gap:7px 19px;
  padding:11px 0;
  border-bottom:1px solid #e4dcc7;
}
body[data-route="internals"] #guideBody.cbl-reading > .inter-facts > div:last-child { border-bottom:0; }
body[data-route="internals"] #guideBody.cbl-reading .inter-facts dt { color:var(--cbl-petrol); font:700 .875rem/1.55 var(--font-ui); }
body[data-route="internals"] #guideBody.cbl-reading .inter-facts dd { color:var(--cbl-ink); font:400 .9rem/1.58 var(--font-ui); }

/* The real containment path is a green fact card with exact linked records. */
body[data-route="internals"] #guideBody.cbl-reading > .inter-containment-example {
  width:100%;
  margin:1.5rem auto;
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-green);
  border-radius:0 12px 12px 0;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="internals"] #guideBody.cbl-reading .inter-containment-example > h3 {
  margin:0 0 .65rem;
  color:var(--cbl-petrol);
  font:700 1.35rem/1.35 var(--font-editorial);
}
body[data-route="internals"] #guideBody.cbl-reading .inter-containment-example > p.small {
  margin:.65rem 0 0;
  color:var(--cbl-muted);
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="internals"] #guideBody.cbl-reading .inter-containment {
  width:100%;
  margin:1rem 0;
  padding:14px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  background:var(--cbl-cream);
}
body[data-route="internals"] #guideBody.cbl-reading .inter-chain-arrow,
body[data-route="internals"] #guideBody.cbl-reading .inter-containment > span[aria-hidden="true"] { color:var(--cbl-petrol); }

/* Exact record targets use the same compact petrol linkchip as Code-Befunde. */
body[data-route="internals"] #guideBody.cbl-reading .inter-links { width:100%; gap:8px; margin:1rem auto 1.35rem; }
body[data-route="internals"] #guideBody.cbl-reading .inter-links:empty { display:none; }
body[data-route="internals"] #guideBody.cbl-reading :is(.inter-links a,.inter-links button,.inter-containment a,.inter-containment button,.inter-technical [data-open-doc]) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="internals"] #guideBody.cbl-reading :is(.inter-links a,.inter-links button,.inter-containment a,.inter-containment button,.inter-technical [data-open-doc]):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
body[data-route="internals"] #guideBody.cbl-reading :is(.inter-links,.inter-containment,.inter-technical) :is(a,button) :is(code,kbd,.inter-code,.inter-command) {
  padding:0;
  color:inherit;
  background:transparent;
  font-size:1em;
}
body[data-route="internals"] #guideBody.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}

/* Provenance closes the model component quietly instead of looking like a
   second content card. */
body[data-route="internals"] #guideBody.cbl-reading > details.inter-technical {
  width:100%;
  margin:2rem auto 0;
  padding:1rem 0 0;
  border:0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  color:var(--cbl-muted);
  background:transparent;
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="internals"] #guideBody.cbl-reading > details.inter-technical > summary {
  min-height:31px;
  padding:5px 0 10px;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="internals"] #guideBody.cbl-reading > details.inter-technical[open] > summary {
  margin-bottom:12px;
  border-bottom:1px solid var(--cbl-line);
}
body[data-route="internals"] #guideBody.cbl-reading > details.inter-technical p { color:inherit; font:inherit; }

@media(max-width:700px) {
  body[data-route="internals"] #guideBody.cbl-reading > .inter-facts > div { grid-template-columns:minmax(0,1fr); gap:4px; }
  body[data-route="internals"] #guideBody.cbl-reading .inter-containment { align-items:stretch; }
  body[data-route="internals"] #guideBody.cbl-reading .inter-containment > span[aria-hidden="true"] { align-self:center; }
}
@media print {
  body[data-route="internals"] #guideBody.cbl-reading { max-width:none; font-size:10.5pt; line-height:1.55; }
  body[data-route="internals"] #guideBody.cbl-reading > * { max-width:none; }
  body[data-route="internals"] #guideBody.cbl-reading :is(.inter-facts,.inter-containment-example) { break-inside:avoid; }
}

/* CBL-01 for Methode > Vom Code zur Erklärung and DOS Harness erklärt.
   RG-01 keeps the picker and RD-01 keeps the heading and reader frame. */
body[data-route="method"] #guideBody.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="method"] #guideBody.cbl-reading :is(p,ul,ol,li) {
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
}
body[data-route="method"] #guideBody.cbl-reading :is(code,kbd) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="method"] #guideBody.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}

/* The explanatory method uses the same unnumbered CBL-01 chapter rhythm as
   the authored method articles. */
body[data-route="method"] #guideBody.cbl-reading > .inter-panel { width:100%; max-width:none; }
body[data-route="method"] #guideBody.cbl-reading .inter-panel > .inter-intro {
  width:100%;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
body[data-route="method"] #guideBody.cbl-reading .inter-panel > .inter-intro > h2 {
  margin:0 0 .7rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="method"] #routeContent #guideBody.cbl-reading .inter-panel > .inter-intro > p {
  max-width:76ch;
  margin:0 0 1rem;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="method"] #routeContent #guideBody.cbl-reading .inter-panel > .inter-intro:first-child > p:first-of-type {
  color:var(--cbl-petrol);
  font-size:1.2rem;
  line-height:1.65;
}
body[data-route="method"] #guideBody.cbl-reading .inter-panel > .inter-intro:last-child {
  margin-top:.75rem;
  padding-top:1.5rem;
  border-top:1px solid var(--cbl-line);
}
body[data-route="method"] #guideBody.cbl-reading .inter-method-sections {
  width:100%;
  max-width:76ch;
  margin:1.5rem auto;
}
body[data-route="method"] #guideBody.cbl-reading .inter-method-sections > section {
  margin:0 0 2rem;
}
body[data-route="method"] #guideBody.cbl-reading .inter-method-sections .inter-step-body > h2 {
  max-width:76ch;
  margin:0 0 .7rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="method"] #guideBody.cbl-reading .inter-step-body > p {
  max-width:76ch;
  margin:0 0 1rem;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="method"] #guideBody.cbl-reading .inter-step-body .inter-links {
  max-width:76ch;
  gap:8px;
  margin:1rem 0 0;
}
body[data-route="method"] #guideBody.cbl-reading .inter-step-body .inter-links :is(a,button) {
  min-height:31px;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-decoration:none;
}
body[data-route="method"] #guideBody.cbl-reading .inter-step-body .inter-links :is(a,button):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
}
body[data-route="method"] #guideBody.cbl-reading .inter-program-figure {
  width:min(100%,960px);
  max-width:960px;
  margin:1.25rem auto 1.4rem;
  padding:clamp(10px,1.6vw,16px);
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="method"] #guideBody.cbl-reading .inter-program-viewport { overflow:hidden; }
body[data-route="method"] #guideBody.cbl-reading .inter-program-viewport img {
  width:100%;
  max-width:960px;
  height:auto;
}
body[data-route="method"] #guideBody.cbl-reading .inter-program-figure figcaption {
  margin-top:10px;
  color:var(--cbl-muted);
  font:400 .85rem/1.55 var(--font-ui);
  text-align:center;
}

/* Harness text keeps the CBL reading axis; its diagram may use 960 px. */
body[data-route="method"] #guideBody.cbl-reading > .harness-explanation {
  width:100%;
  max-width:960px;
  margin:0 auto;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation > section { max-width:76ch; margin:0 auto 2rem; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation > section + section {
  padding-top:.15rem;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation h2 {
  margin:2.15rem 0 .7rem;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation > section:first-child h2 { margin-top:0; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation h3 {
  margin:0 0 .55rem;
  color:var(--cbl-petrol);
  font:700 1.13rem/1.4 var(--font-ui);
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation p { margin:0 0 1rem; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .lead {
  margin:0 0 1.35rem;
  color:var(--cbl-petrol);
  font-size:1.2rem;
  line-height:1.65;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .flow {
  margin:1.1rem 0 1.35rem;
  padding:16px 18px;
  overflow-x:auto;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  color:#edf8f6;
  background:var(--cbl-petrol);
  font:600 .91rem/1.65 var(--font-code);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .comparison {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:1.15rem 0 1.35rem;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation :is(.fact-card,.quote-card,.table-wrap) {
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .fact-card { padding:16px; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .fact-card ul { margin:.45rem 0 0; padding-left:1.2rem; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .fact-card li { margin:.32rem 0; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .special {
  border-color:var(--cbl-petrol);
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .table-wrap {
  margin:1.1rem 0 1.35rem;
  overflow-x:auto;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation table {
  width:100%;
  border-collapse:collapse;
  font:400 .9rem/1.5 var(--font-ui);
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation :is(th,td) {
  padding:10px 12px;
  border-bottom:1px solid #dce7e5;
  text-align:left;
  vertical-align:top;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation th {
  color:var(--cbl-petrol);
  background:var(--cbl-soft);
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation tbody tr:last-child td { border-bottom:0; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-phase-table table {
  table-layout:fixed;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-phase-table .phase-column { width:10rem; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-phase-table :is(th,td):first-child {
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-milestone-table table {
  table-layout:fixed;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-milestone-table .milestone-column { width:13.5rem; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-milestone-table :is(th,td):first-child {
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-mode-table table {
  table-layout:fixed;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-mode-table .mode-column { width:7.5rem; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .harness-mode-table :is(th,td):first-child {
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .quote-card {
  margin:1.25rem 0;
  padding:16px 18px;
  border-color:var(--cbl-petrol);
  color:var(--cbl-petrol);
  background:#f7fbfa;
  font-size:1.08rem;
}
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .quote-card p:last-child { margin-bottom:0; }
body[data-route="method"] #guideBody.cbl-reading .harness-explanation .source-note {
  margin-top:2rem;
  padding-top:1rem;
  border-top:1px solid var(--cbl-line);
  color:var(--cbl-muted);
  font:400 .85rem/1.55 var(--font-ui);
}

@media(max-width:700px) {
  body[data-route="method"] #guideBody.cbl-reading .inter-step-body > .inter-program-figure {
    width:100%;
    max-width:100%;
    margin-left:0;
  }
  body[data-route="method"] #guideBody.cbl-reading .harness-explanation .comparison { grid-template-columns:1fr; }
}
@media print {
  body[data-route="method"] #guideBody.cbl-reading { font-size:10.5pt; line-height:1.55; }
  body[data-route="method"] #guideBody.cbl-reading > .harness-explanation { max-width:none; }
  body[data-route="method"] #guideBody.cbl-reading :is(.inter-program-figure,.inter-method-sections > section,.flow,.fact-card,.quote-card,.table-wrap) { break-inside:avoid; }
}

/* CBL-01 for every state record. RG-01 keeps search/filter/selection and
   RD-01 keeps the state identity and meaning status in the detail head. */
#spielregisterBody.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
#spielregisterBody.cbl-reading > * {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
#spielregisterBody.cbl-reading > .inter-summary {
  margin-top:0;
  margin-bottom:1.25rem;
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
#spielregisterBody.cbl-reading > .inter-script-flow {
  margin-top:.9rem;
  margin-bottom:1.35rem;
  padding:15px 17px 17px;
  border:1px solid #315f67;
  border-left:5px solid var(--cbl-gold);
  border-radius:0 12px 12px 0;
  color:#fffdf8;
  background:linear-gradient(145deg,#183f48,#235964);
  box-shadow:0 8px 20px rgba(19,52,59,.09);
}
#spielregisterBody.cbl-reading .inter-script-kicker {
  display:block;
  margin:0 0 .65rem;
  color:#f6d99c;
  font:800 .72rem/1.35 var(--font-ui);
  letter-spacing:.12em;
  text-transform:uppercase;
}
#spielregisterBody.cbl-reading .inter-script-flow pre {
  margin:0;
  color:inherit;
  background:transparent;
  font:500 .9rem/1.68 var(--font-code);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
#spielregisterBody.cbl-reading :is(code,kbd,.inter-code,.inter-command) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Effect, limits and an optional hypothesis form the CBL assignment block. */
#spielregisterBody.cbl-reading > .inter-facts {
  margin-top:1rem;
  margin-bottom:1.45rem;
  padding:8px 17px 12px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .93rem/1.55 var(--font-ui);
}
#spielregisterBody.cbl-reading > .inter-facts > div {
  grid-template-columns:minmax(160px,.85fr) minmax(0,2fr);
  gap:7px 19px;
  margin:0;
  padding:11px 0;
  border:0;
  border-bottom:1px solid #e4dcc7;
  border-radius:0;
  background:transparent;
}
#spielregisterBody.cbl-reading > .inter-facts > div:last-child { border-bottom:0; }
#spielregisterBody.cbl-reading .inter-facts dt {
  color:var(--cbl-petrol);
  font:700 .875rem/1.55 var(--font-ui);
}
#spielregisterBody.cbl-reading .inter-facts dd {
  color:var(--cbl-ink);
  font:400 .9rem/1.58 var(--font-ui);
}
#spielregisterBody.cbl-reading .inter-facts dd > p {
  margin:0;
}
#spielregisterBody.cbl-reading .inter-facts dd > p + p {
  margin-top:.8rem;
}
#spielregisterBody.cbl-reading > .inter-facts > .inter-caution {
  margin-top:7px;
  padding:11px 12px;
  border:1px dashed #b49b84;
  border-left:4px solid #b49b84;
  border-radius:0 8px 8px 0;
  color:#654a35;
  background:#f6efe7;
}

#spielregisterBody.cbl-reading > h3 {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:1.7rem auto .65rem;
  padding-top:0;
  border-top:0;
  color:var(--cbl-petrol);
  font:700 1.5rem/1.3 var(--font-editorial);
  text-align:center;
}
#spielregisterBody.cbl-reading > p.small {
  margin-top:0;
  margin-bottom:1rem;
  color:var(--cbl-muted);
  font:400 .875rem/1.6 var(--font-ui);
}
#spielregisterBody.cbl-reading .inter-count-badge {
  min-width:22px;
  min-height:22px;
  margin:0;
  padding:3px 8px;
  border:1px solid var(--cbl-line);
  border-radius:5px;
  color:var(--cbl-petrol);
  background:var(--cbl-soft);
  font:700 .75rem/1.35 var(--font-ui);
  vertical-align:middle;
}

/* Initial holders are a compact CBL fact group; exact records stay links. */
#spielregisterBody.cbl-reading > .inter-holders,
#spielregisterBody.cbl-reading .inter-holder-details .inter-holders {
  margin-top:.85rem;
  margin-bottom:1.35rem;
  padding:0 14px;
  overflow:hidden;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
  font:400 .9rem/1.55 var(--font-ui);
  list-style:none;
}
#spielregisterBody.cbl-reading .inter-holders > li {
  gap:8px;
  padding:11px 0;
  border-bottom:1px solid #dce7e5;
}
#spielregisterBody.cbl-reading .inter-holders > li:last-child { border-bottom:0; }
#spielregisterBody.cbl-reading a.inter-ref:is(.inter-holder-link,.inter-holder-room),
#spielregisterBody.cbl-reading .inter-links :is(a,button),
#spielregisterBody.cbl-reading .inter-technical [data-open-doc] {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
#spielregisterBody.cbl-reading :is(
  a.inter-ref:is(.inter-holder-link,.inter-holder-room),
  .inter-links a,
  .inter-links button,
  .inter-technical [data-open-doc]
):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
#spielregisterBody.cbl-reading .inter-holders > li > .small {
  flex-basis:100%;
  margin-top:0;
  color:var(--cbl-muted);
  font:400 .8rem/1.55 var(--font-ui);
}
#spielregisterBody.cbl-reading > .inter-links {
  gap:8px;
  margin-top:1rem;
  margin-bottom:1.35rem;
}
#spielregisterBody.cbl-reading > .inter-links:empty { display:none; }

#spielregisterBody.cbl-reading > .inter-holder-details {
  margin-top:1rem;
  margin-bottom:1.35rem;
  padding:0 14px;
  border:1px solid var(--cbl-line);
  border-radius:10px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
#spielregisterBody.cbl-reading > .inter-holder-details > summary {
  min-height:44px;
  padding:12px 0;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
#spielregisterBody.cbl-reading > .inter-holder-details[open] > summary {
  border-bottom:1px solid var(--cbl-line);
}
#spielregisterBody.cbl-reading > .inter-holder-details .inter-holders {
  margin-right:0;
  margin-left:0;
  border:0;
  border-radius:0;
}
#spielregisterBody.cbl-reading > .inter-holder-note {
  text-align:center;
}
#spielregisterBody.cbl-reading > .inter-holder-empty {
  margin-top:.85rem;
  margin-bottom:1.35rem;
  padding:14px 16px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  color:var(--cbl-muted);
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
  font:400 .9rem/1.55 var(--font-ui);
  text-align:center;
}

/* Function explanations and later room-property projections use CBL fact cards. */
#spielregisterBody.cbl-reading > .inter-register-note {
  text-align:center;
}
#spielregisterBody.cbl-reading > .inter-register-section {
  margin-top:1rem;
  margin-bottom:1.15rem;
  padding:15px 17px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
#spielregisterBody.cbl-reading > .inter-register-section > h3,
#spielregisterBody.cbl-reading > .inter-property-possibilities > h3 {
  margin:0 0 .7rem;
  color:var(--cbl-petrol);
  font:700 1.25rem/1.35 var(--font-editorial);
  text-align:center;
}
#spielregisterBody.cbl-reading > .inter-register-section > p {
  margin:0;
}
#spielregisterBody.cbl-reading > .inter-register-section > p + p {
  margin-top:.8rem;
}
#spielregisterBody.cbl-reading > .inter-property-possibilities {
  margin-top:1.5rem;
  margin-bottom:1.35rem;
}
#spielregisterBody.cbl-reading .inter-property-group {
  margin-top:.85rem;
  padding:15px 17px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
#spielregisterBody.cbl-reading .inter-property-group > h4 {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 0 .65rem;
  color:var(--cbl-petrol);
  font:700 1.05rem/1.4 var(--font-ui);
  text-align:center;
}
#spielregisterBody.cbl-reading .inter-property-group > p {
  margin:.55rem 0;
}
#spielregisterBody.cbl-reading .inter-property-group > .inter-holders {
  margin:.85rem 0 0;
  padding:0 12px;
  overflow:hidden;
  border:1px solid var(--cbl-line);
  border-radius:10px;
  background:rgba(255,253,248,.78);
  font:400 .9rem/1.55 var(--font-ui);
  list-style:none;
}
#spielregisterBody.cbl-reading .inter-property-group > .inter-holder-details {
  margin-top:.85rem;
  padding:0 12px;
  border:1px solid var(--cbl-line);
  border-radius:10px;
  background:rgba(255,253,248,.78);
}
#spielregisterBody.cbl-reading .inter-property-group > .inter-holder-details > summary {
  min-height:42px;
  padding:11px 0;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
#spielregisterBody.cbl-reading .inter-property-group > .inter-holder-details .inter-holders {
  margin:0;
  border:0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  background:transparent;
}

/* Provenance closes the state article quietly, as in the CBL findings. */
#spielregisterBody.cbl-reading > details.inter-technical {
  margin-top:2rem;
  margin-bottom:0;
  padding:1rem 0 0;
  border:0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  color:var(--cbl-muted);
  background:transparent;
  font:400 .85rem/1.55 var(--font-ui);
}
#spielregisterBody.cbl-reading > details.inter-technical > summary {
  min-height:31px;
  padding:5px 0 10px;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
#spielregisterBody.cbl-reading > details.inter-technical[open] > summary {
  margin-bottom:12px;
  border-bottom:1px solid var(--cbl-line);
}
#spielregisterBody.cbl-reading > details.inter-technical p {
  max-width:76ch;
  color:inherit;
  font:inherit;
}
#spielregisterBody.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}
#spielregisterBody.cbl-reading :is(.inter-links,.inter-holders,.inter-technical) :is(a,button) :is(code,kbd,.inter-code,.inter-command) {
  padding:0;
  color:inherit;
  background:transparent;
  font-size:1em;
}

@media(max-width:700px) {
  #spielregisterBody.cbl-reading > .inter-facts > div {
    grid-template-columns:minmax(0,1fr);
    gap:4px;
  }
  #spielregisterBody.cbl-reading > .inter-facts,
  #spielregisterBody.cbl-reading > .inter-holders,
  #spielregisterBody.cbl-reading > .inter-script-flow { padding-right:12px; padding-left:12px; }
}
@media print {
  #spielregisterBody.cbl-reading { font-size:10.5pt; line-height:1.55; }
  #spielregisterBody.cbl-reading > * { max-width:none; }
  #spielregisterBody.cbl-reading :is(.inter-facts,.inter-holders,.inter-holder-details,.inter-script-flow) { break-inside:avoid; }
}

/* CBL-01 for every tab and every family in the automatic dialogue register.
   RG-01 remains responsible for the list and RD-01 for identity head/tabs. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading > * {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(p,ul,ol,dl,blockquote) {
  max-width:76ch;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-intro {
  margin:0 auto 1.35rem;
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(h2,h3,h4) {
  color:var(--cbl-petrol);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading h3 {
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading h4 {
  font:700 1.13rem/1.4 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(code,kbd) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Summary and condition overview use the compact CBL assignment block. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading > .key-values,
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-overview > .key-values {
  display:grid;
  grid-template-columns:minmax(130px,180px) minmax(0,1fr);
  gap:0 19px;
  margin:1rem auto 1.35rem;
  padding:8px 17px 12px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .93rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading > .key-values :is(dt,dd),
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-overview > .key-values :is(dt,dd) {
  box-sizing:border-box;
  margin:0;
  padding:8px 0;
  border-bottom:1px solid #e4dcc7;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading > .key-values :is(dt:nth-last-of-type(1),dd:nth-last-of-type(1)),
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-overview > .key-values :is(dt:nth-last-of-type(1),dd:nth-last-of-type(1)) {
  border-bottom:0;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .key-values dt {
  color:var(--cbl-petrol);
  font:700 .875rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .key-values dd {
  min-width:0;
  color:var(--cbl-ink);
  font:400 .9rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .key-values dd > div + div {
  margin-top:.35rem;
}

/* Exact actors, rooms and source documents are CBL linkchips. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(
  a.chip,
  a.button,
  button.button,
  [data-open-doc],
  [data-culture-route]
) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(
  a.chip,a.button,button.button,[data-open-doc],[data-culture-route]
):not(:disabled):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}

/* The legend is a quiet reading key, not another competing panel. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-legend {
  gap:8px 16px;
  margin:0 auto 1.35rem;
  padding:11px 14px;
  border:1px solid var(--cbl-line);
  border-radius:10px;
  color:var(--cbl-muted);
  background:var(--cbl-field);
  font:700 .78rem/1.45 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-legend .legend-speech { background:var(--cbl-accent); }

/* Each authored section is a CBL fact card. Its top colour still identifies
   sequence, condition, action or branching and therefore remains semantic. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-flow {
  gap:18px;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-group {
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-top:4px solid var(--cbl-accent);
  border-radius:12px;
  background:var(--cbl-field);
  box-shadow:none;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-group-branching { border-top-color:var(--purple); }
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-group-conditional { border-top-color:var(--cbl-gold); }
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-group-action { border-top-color:var(--green); }
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-group-head {
  align-items:center;
  margin-bottom:14px;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-group-head h3 {
  margin:.18rem 0 0;
  font:700 1.5rem/1.3 var(--font-editorial);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .page-kicker {
  color:var(--cbl-petrol-text);
  font-family:var(--font-ui);
}

/* Conditions are formula boxes; actions and original text are result/quote
   cards. Unresolved attribution keeps its warning colour and dashed edge. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition {
  margin:1rem 0 1.2rem;
  padding:12px 15px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .93rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-action {
  margin:1rem 0 1.2rem;
  padding:15px 17px;
  border:1px solid #b8d6c6;
  border-left:4px solid var(--green);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-action > span {
  color:var(--green);
  font:800 .72rem/1.4 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(.dialogue-node blockquote,.dialogue-action blockquote) {
  color:var(--cbl-petrol);
  font:400 1.08rem/1.65 var(--font-editorial);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-node {
  grid-template-columns:minmax(150px,205px) minmax(0,1fr);
  gap:0;
  margin:1rem 0 1.25rem;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:12px;
  background:#f7fbfa;
  box-shadow:none;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-node-meta {
  gap:6px;
  padding:14px;
  border-right:1px solid var(--cbl-line);
  background:var(--cbl-soft);
  font-family:var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-node-meta strong {
  color:var(--cbl-petrol-text);
  font:700 .88rem/1.45 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-node-body { padding:16px 18px; }
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-narration {
  border-color:#b8d6c6;
  border-left-color:var(--green);
  background:#f7fbfa;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-narration .dialogue-node-meta { background:#eaf4ee; }
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-unresolved {
  border-color:#c87870;
  border-left-color:var(--red);
  border-style:dashed;
  background:#fff8f7;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-unresolved .dialogue-node-meta { background:#f8e8e6; }
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-source {
  margin-top:.75rem;
  color:var(--cbl-muted);
  font:700 .72rem/1.5 var(--font-code);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-raw {
  margin-top:.8rem;
  color:var(--cbl-muted);
  font:400 .82rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-raw > summary {
  color:var(--cbl-petrol);
  font-weight:700;
}

/* Random tests and variants retain their meaning, but use CBL spacing,
   typography and card density. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-rng {
  margin:1rem 0 1.2rem;
  padding:14px 16px;
  border:1px solid #cfb6d3;
  border-radius:12px;
  background:#fbf6fc;
  box-shadow:none;
  font-family:var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-rng p {
  color:var(--cbl-muted);
  font:400 .82rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-branch-grid {
  gap:12px;
  margin-top:1.15rem;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-branch {
  padding:15px;
  border:1px solid #cfb6d3;
  border-top:4px solid var(--purple);
  border-radius:12px;
  background:#fbf6fc;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-branch h4 {
  margin:.18rem 0 0;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-probability {
  padding:10px 12px;
  color:#553b5a;
  background:#efe1f1;
  font:400 .82rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-effects,
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-edges {
  gap:8px;
  margin:1rem 0 0;
  font-family:var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-effects span {
  padding:6px 9px;
  border:1px solid #b8d6c6;
  border-radius:999px;
  color:var(--cbl-ink);
  background:#eef6f4;
  font:400 .8rem/1.4 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-open-note {
  padding:9px 11px;
  border-left:3px solid var(--red);
  color:#713b37;
  background:var(--red-pale);
  font:400 .82rem/1.55 var(--font-ui);
}

/* Conditions & consequences are green fact cards with centred step identity. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-overview {
  display:grid;
  gap:14px;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-card {
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
  box-shadow:none;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-card > header {
  align-items:center;
  justify-content:center;
  text-align:center;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-card h3 {
  margin:.18rem 0 0;
  font:700 1.3rem/1.35 var(--font-editorial);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-branches {
  gap:12px;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-branch {
  padding:14px;
  border:1px solid #cfb6d3;
  border-radius:12px;
  background:#fbf6fc;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-family-guards {
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-family-guards > h3 {
  margin:0 0 .75rem;
  text-align:center;
}

/* Trivia is a supporting fact card. The files tab ends as a quiet CBL source
   section, and reconstruction caveats remain visibly unresolved. */
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .culture-related {
  margin:1.25rem auto;
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .culture-related h3 {
  margin:.18rem 0 0 !important;
  font:700 1.13rem/1.4 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-files {
  margin-top:0;
  padding-top:1rem;
  border-top:1px solid var(--cbl-line);
  color:var(--cbl-muted);
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-primary-files {
  gap:8px;
  margin:0 0 1.25rem;
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading details.technical-disclosure {
  margin:1.15rem 0 1.35rem;
  padding:0 16px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  color:var(--cbl-muted);
  background:var(--cbl-field);
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading details.technical-disclosure > summary {
  min-height:44px;
  padding:12px 0;
  color:var(--cbl-petrol);
  background:transparent;
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading details.technical-disclosure[open] > summary {
  border-bottom:1px solid var(--cbl-line);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-caveats {
  margin-top:1.25rem;
  padding:0 16px;
  border:1px dashed #c87870;
  border-radius:12px;
  color:#713b37;
  background:#fff9f7;
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-caveats > summary {
  min-height:44px;
  padding:12px 0;
  color:#713b37;
  font-weight:700;
}

/* typography.css deliberately gives every ordinary reader a common UI base.
   The dialogue reader is an explicit CBL opt-in, so its article roles need the
   reader ID here to win that shared, ID-scoped baseline without !important. */
#dialogueReadingBody.cbl-reading :is(p,ul,ol,li,dd) {
  font-family:var(--font-editorial);
  font-size:1.0625rem;
  line-height:1.72;
}
#dialogueReadingBody.cbl-reading .dialogue-intro {
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
#dialogueReadingBody.cbl-reading :is(
  .key-values dt,.key-values dd,
  .dialogue-condition,.dialogue-condition p,
  .dialogue-node-meta,.dialogue-node-meta .small,
  .dialogue-source,.dialogue-raw,.dialogue-rng p,
  .dialogue-probability,.dialogue-probability span,
  .dialogue-effects span,.dialogue-open-note,
  .dialogue-files,.dialogue-files p,
  .technical-disclosure,.technical-disclosure p,
  .dialogue-caveats,.dialogue-caveats li
) {
  font-family:var(--font-ui);
}
#dialogueReadingBody.cbl-reading :is(.dialogue-node blockquote,.dialogue-action blockquote) {
  color:var(--cbl-petrol);
  font:400 1.08rem/1.65 var(--font-editorial);
}
#dialogueReadingBody.cbl-reading .dialogue-source {
  color:var(--cbl-muted);
  font:700 .72rem/1.5 var(--font-code);
}
#dialogueReadingBody.cbl-reading :is(.dialogue-open-note,.dialogue-probability,.dialogue-rng p) {
  font-size:.82rem;
  line-height:1.55;
}
#dialogueReadingBody.cbl-reading :is(.dialogue-files,.technical-disclosure,.dialogue-caveats) {
  font-size:.85rem;
  line-height:1.55;
}

@media(max-width:700px) {
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading > .key-values,
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-condition-overview > .key-values {
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding-right:12px;
    padding-left:12px;
  }
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-node {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-node-meta {
    border-right:0;
    border-bottom:1px solid var(--cbl-line);
  }
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading .dialogue-branch-grid {
    grid-template-columns:minmax(0,1fr);
  }
}
@media print {
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading { font-size:10.5pt; line-height:1.55; }
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading > * { max-width:none; }
  body[data-route="dialogues"] .dialogue-reading-body.cbl-reading :is(.dialogue-group,.dialogue-node,.dialogue-condition-card,.dialogue-files) { break-inside:avoid; }
}

/* CBL-01 for every subject under "Kampf & Simulator", including the
   interactive laboratory. RG-01/RD-01 continue to own the surrounding frame. */
body[data-route="combat"] #guideBody.cbl-reading {
  --cbl-paper:#f1ede3;
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  color:var(--cbl-ink);
  overflow-wrap:anywhere;
}
body[data-route="combat"] #guideBody.cbl-reading > :is(.rules-topic,.guide-addon) {
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="combat"] #guideBody.cbl-reading .rules-topic :is(p,ul,ol,li) {
  color:var(--cbl-ink);
  font-family:var(--font-editorial);
  font-size:1.0625rem;
  line-height:1.72;
}
body[data-route="combat"] #guideBody.cbl-reading .rules-topic .rules-lead {
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
body[data-route="combat"] #guideBody.cbl-reading .rules-topic :is(h3,h4) {
  color:var(--cbl-petrol);
}
body[data-route="combat"] #guideBody.cbl-reading .rules-topic .rules-steps,
body[data-route="combat"] #guideBody.cbl-reading .rules-topic .rules-steps :is(li,p) {
  color:var(--cbl-ink);
  font:400 .93rem/1.55 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading .rules-topic .rules-steps > li > strong {
  color:var(--cbl-petrol);
  font:700 1rem/1.4 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading .rules-topic .rules-example,
body[data-route="combat"] #guideBody.cbl-reading .rules-topic .rules-example p {
  color:var(--cbl-petrol);
  font:400 1.08rem/1.65 var(--font-editorial);
}
body[data-route="combat"] #guideBody.cbl-reading .rules-topic :is(.rules-limits,.rules-limits p,.rules-sources,.rules-sources p) {
  color:var(--cbl-muted);
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading :is(code,kbd,.inter-code,.inter-command) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* The simulator needs more comparison width than prose, but remains centred
   inside the same reading surface. */
body[data-route="combat"] #guideBody.cbl-reading > p:first-child {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin:0 auto 1.35rem;
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
body[data-route="combat"] #guideBody.cbl-reading > #combatAtlas {
  box-sizing:border-box;
  width:100%;
  max-width:1000px;
  margin:0 auto;
  color:var(--cbl-ink);
  font-family:var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(input,select,button) {
  font-family:var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(
  .combatant-card,.combat-results > article,.combat-run-toolbar,
  .combat-live-actor,.combat-live-object,.combat-log,.combat-rankings
) {
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
  box-shadow:none;
}

/* Blue A and green B are comparison roles. Warning red is reserved for a
   genuinely failed, broken or dead state. */
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-card {
  border-left:4px solid var(--cbl-accent);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-card.combatant-a {
  border-left-color:var(--cbl-accent);
  background:linear-gradient(145deg,var(--cbl-field),var(--cbl-soft));
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-card.combatant-b {
  border-left-color:var(--green);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-letter {
  color:var(--cbl-petrol);
  background:var(--cbl-gold);
  font:800 .8rem/1 var(--font-code);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-b .combatant-letter {
  color:var(--cbl-field);
  background:var(--green);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-card h3,
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-results h3,
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log h3,
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-ranking-grid h4 {
  color:var(--cbl-petrol);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-target-switch {
  border:1px solid var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-target-switch :is(strong,.page-kicker) {
  color:var(--cbl-field);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-target-switch,.combat-lab-tabs) button {
  min-height:31px;
  padding:5px 10px;
  border:1px solid transparent;
  border-radius:999px;
  font:650 .875rem/1.35 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-target-switch,.combat-lab-tabs) button.active {
  border-color:var(--cbl-gold);
  color:var(--cbl-petrol);
  background:var(--cbl-gold);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-lab-tabs {
  border-color:var(--cbl-line);
  background:var(--cbl-soft);
}

/* Form controls remain unmistakably interactive and use the CBL field role. */
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(
  .combat-field select,.combat-select-search,.combat-adjustment-grid select,
  .combat-adjustment-grid input[type="number"],.combat-run-toolbar input
) {
  min-height:39px;
  border:1px solid var(--cbl-line);
  border-radius:8px;
  color:var(--cbl-ink);
  background:var(--cbl-field);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(input,select):is(:hover,:focus-visible) {
  border-color:var(--cbl-accent);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(a,button,input,select,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-field > span,.combat-field > label,.combat-adjustment-grid label > span,.combat-run-toolbar label > span) {
  color:var(--cbl-muted);
  font:650 .875rem/1.5 var(--font-ui);
  letter-spacing:0;
  text-transform:none;
}

/* Stored and derived numbers use alternating pale blue/green fact cells. */
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-statline {
  gap:7px;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-statline > span,
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-result-metrics > div,
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-run-readout > div,
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-live-actor,.combat-live-object) > div > span {
  border:1px solid var(--cbl-line);
  border-radius:8px;
  color:var(--cbl-muted);
  background:var(--cbl-soft);
  font-family:var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-statline > span:nth-child(even),
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-result-metrics > div:nth-child(even),
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-run-readout > div:nth-child(even),
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-live-actor,.combat-live-object) > div > span:nth-child(even) {
  border-color:#b8d6c6;
  background:#eef6f4;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combatant-statline b,.combat-result-metrics strong,.combat-run-readout strong,.combat-live-actor b,.combat-live-object b) {
  color:var(--cbl-petrol);
  font-family:var(--font-code);
  font-variant-numeric:tabular-nums;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-weapon-bonus {
  border-color:#b8d6c6;
  background:#eef6f4;
}

/* Explanatory notes and calculations follow the CBL formula/result roles. */
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-mode-note,.combat-power,.combat-object-facts) {
  padding:12px 15px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .9rem/1.55 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-selection-info {
  margin-top:12px;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-selection-info > p {
  margin:.75rem 0 0;
  color:var(--cbl-muted);
  font:400 .875rem/1.55 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-quick-guide {
  margin-bottom:1.25rem;
  padding:0 16px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-quick-guide > summary {
  min-height:44px;
  padding:12px 0;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-quick-guide[open] > summary {
  border-bottom:1px solid var(--cbl-line);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-quick-guide p {
  color:var(--cbl-ink);
  font:400 .95rem/1.65 var(--font-editorial);
}

/* Result panels repeat the blue/green comparison and keep semantic error red. */
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-results > article:first-child {
  border-top:4px solid var(--cbl-accent);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-results > article:last-child {
  border-top:4px solid var(--green);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-results > article > p {
  color:var(--cbl-muted);
  font:400 .875rem/1.55 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-result-error {
  border-color:#e1b7b2;
  color:#7b251f;
  background:#fff2f0;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-live-actor:first-child {
  border-left:4px solid var(--cbl-accent);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-live-actor:nth-child(2) {
  border-left:4px solid var(--green);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-live-actor.status-dead,.combat-live-object.broken) {
  border-left-color:var(--red);
  background:#fff3f1;
}

/* The local protocol is a numbered technical sequence. */
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log {
  padding:16px 18px;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log li {
  grid-template-columns:minmax(70px,auto) minmax(0,1fr);
  gap:12px;
  padding:11px 13px;
  border-left:4px solid var(--cbl-line);
  border-radius:8px;
  background:var(--cbl-cream);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log li:nth-child(even) {
  background:#eef6f4;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log li > span {
  color:var(--cbl-petrol);
  font:800 .75rem/1.45 var(--font-code);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log li strong {
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log li p {
  margin:.25rem 0 0;
  color:var(--cbl-muted);
  font:400 .82rem/1.55 var(--font-ui);
}

/* Rankings are fact cards; evidence closes the laboratory like a CBL source
   note instead of competing with the interactive controls. */
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-ranking-grid article {
  padding:14px;
  border:1px solid var(--cbl-line);
  border-top:4px solid var(--cbl-gold);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-ranking-grid li button,
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(a.chip,button.chip,.button) {
  min-height:31px;
  max-width:100%;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combat-ranking-grid li button,a.chip,button.chip,.button):not(:disabled):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-simulator-evidence {
  margin:2rem 0 0;
  padding:1rem 0 0;
  border:0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  color:var(--cbl-muted);
  background:transparent;
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-simulator-evidence > summary {
  min-height:31px;
  padding:5px 0 10px;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-simulator-evidence[open] > summary {
  border-bottom:1px solid var(--cbl-line);
}
body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-simulator-evidence > div {
  color:var(--cbl-muted);
  font:400 .85rem/1.55 var(--font-ui);
}

@media(max-width:700px) {
  body[data-route="combat"] #guideBody.cbl-reading > #combatAtlas { max-width:100%; }
  body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-log li { grid-template-columns:minmax(0,1fr); }
  body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combatant-statline,
  body[data-route="combat"] #guideBody.cbl-reading #combatAtlas .combat-result-metrics { grid-template-columns:minmax(0,1fr); }
}
@media print {
  body[data-route="combat"] #guideBody.cbl-reading > #combatAtlas { max-width:none; }
  body[data-route="combat"] #guideBody.cbl-reading #combatAtlas :is(.combatant-card,.combat-results > article,.combat-log li,.combat-ranking-grid article) { break-inside:avoid; }
}

/* CBL-01 for every Trivia & Zeitgeschichte finding. RG-01 keeps search and
   topic selection, RD-01 keeps the finding header and scrollable reader. */
body[data-route="trivia"] #cultureReadingBody.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  --cbl-green:#2f7259;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading > * {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading > .status-strip {
  gap:7px;
  margin-top:0;
  margin-bottom:.65rem;
  font-family:var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading > .culture-detail-id {
  margin-top:0;
  margin-bottom:1.2rem;
  color:var(--cbl-muted);
  font:400 .78rem/1.5 var(--font-code);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(h3,h4) {
  color:var(--cbl-petrol);
  font-family:var(--font-editorial);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading h3 {
  margin:0 0 .7rem;
  font-size:1.5rem;
  line-height:1.3;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading h4 {
  margin:1.35rem 0 .55rem;
  font-size:1.15rem;
  line-height:1.35;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(p,ul,ol,li,blockquote) {
  color:var(--cbl-ink);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading p {
  margin:0 0 1rem;
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(code,kbd,.culture-code,.inter-code) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-emphasis { color:var(--cbl-petrol); font-weight:700; }
body[data-route="trivia"] #cultureReadingBody.cbl-reading .page-kicker {
  display:block;
  margin-bottom:.35rem;
  color:var(--cbl-petrol-text);
  font:800 .72rem/1.45 var(--font-ui);
  letter-spacing:.13em;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-detail-section {
  width:100%;
  max-width:76ch;
  margin:0 auto 2rem;
}

/* The editorial boundary and reader context are CBL assignment/fact cards. */
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-ai-boundary {
  margin:0 auto 1.75rem;
  padding:13px 17px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-ai-boundary > strong {
  color:var(--cbl-petrol);
  font:700 .9rem/1.45 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-ai-boundary p {
  margin:.35rem 0 0;
  color:var(--cbl-ink);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-reader-context {
  margin:0;
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-green);
  border-radius:0 12px 12px 0;
  color:var(--cbl-petrol);
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
  font:400 1.08rem/1.68 var(--font-editorial);
}

/* Game and file quotations are light CBL evidence cards. */
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block,
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-manual-ref {
  margin:1rem 0;
  padding:16px 18px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:0 12px 12px 0;
  color:var(--cbl-ink);
  background:var(--cbl-field);
  box-shadow:none;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-manual-ref {
  border-left-color:var(--cbl-gold);
  background:var(--cbl-cream);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block header {
  gap:10px;
  padding-bottom:.65rem;
  border-bottom:1px solid var(--cbl-line);
  font-family:var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block header code {
  color:var(--cbl-muted);
  background:transparent;
  font-size:.78rem;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block mark {
  display:inline-block;
  margin:.85rem 0 .4rem;
  padding:4px 7px;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#f7dfaa;
  font:650 .82rem/1.45 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(.culture-text-block,.culture-manual-ref) blockquote {
  margin:.75rem 0;
  padding:.15rem 0 .15rem 1rem;
  border-left:3px solid var(--cbl-accent);
  color:var(--cbl-petrol);
  background:transparent;
  font:400 1rem/1.72 var(--font-editorial);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-manual-ref blockquote { border-left-color:var(--cbl-gold); }
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block details {
  margin-top:.75rem;
  padding-top:.5rem;
  border-top:1px solid var(--cbl-line);
  color:var(--cbl-muted);
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block summary {
  min-height:31px;
  padding:5px 0;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block .key-values {
  grid-template-columns:minmax(130px,.75fr) minmax(0,1.5fr);
  gap:7px 17px;
  padding:.5rem 0;
  font:400 .85rem/1.55 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block .key-values dt { color:var(--cbl-petrol); }
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block .key-values dd { color:var(--cbl-ink); }

/* DEMONDAT bodies use the complete CBL-01 game-text card. The surrounding
   article only groups heading, context, quote and its technical provenance. */
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text {
  margin:1.35rem 0 1.75rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > h4 {
  margin:0 0 .35rem;
  color:var(--cbl-petrol);
  font:700 1.12rem/1.4 var(--font-editorial);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .text-context {
  margin:0 0 .75rem;
  color:var(--cbl-muted);
  font:600 .82rem/1.5 var(--font-ui);
  letter-spacing:.015em;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .culture-game-quote,
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .game-text > .quote-card {
  margin:0;
  padding:16px 18px;
  border:1px solid var(--cbl-petrol);
  border-radius:12px;
  color:var(--cbl-petrol);
  background:linear-gradient(145deg,var(--cbl-soft),#edf5f4);
  font:400 1.0625rem/1.72 var(--font-editorial);
  white-space:pre-wrap;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text .game-text .renderer-condition {
  display:block;
  margin:.85rem 0 0;
  padding:.75rem 0 0;
  border:0;
  border-top:1px solid var(--cbl-line);
  background:transparent;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text .game-text .renderer-condition .renderer-condition {
  margin-left:0;
  padding-left:0;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text .game-text .renderer-condition-label {
  display:block;
  margin:0 0 .35rem;
  color:var(--cbl-petrol-text);
  font:700 .78rem/1.45 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-quote .text-focus {
  display:inline;
  margin:0;
  padding:.05em .16em;
  border-radius:3px;
  color:inherit;
  background:#f7dfaa;
  font:inherit;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .text-evidence-fragment {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .6rem;
  margin:.65rem 0 0;
  color:var(--cbl-muted);
  font:600 .8rem/1.5 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .text-evidence-fragment > span {
  color:var(--cbl-petrol-text);
  font-weight:750;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .text-evidence-fragment > mark {
  padding:.08em .3em;
  border-radius:3px;
  color:var(--cbl-petrol);
  background:#f7dfaa;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .text-explanation {
  margin:.6rem 0 0;
  color:var(--cbl-muted);
  font:400 .82rem/1.55 var(--font-ui);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .text-source {
  margin-top:.7rem;
  padding-top:.45rem;
  border-top:1px solid var(--cbl-line);
}

/* Indications stay readable; the evidence boundary retains its caveat role. */
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-date-line {
  padding:10px 13px;
  border-left:4px solid var(--cbl-green);
  border-radius:0 8px 8px 0;
  color:var(--cbl-petrol);
  background:#eef6f4;
  font-family:var(--font-ui);
  font-size:.9rem;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-boundaries {
  padding:17px 19px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-boundaries :is(p,ul,li) {
  font-family:var(--font-ui);
  font-size:.93rem;
  line-height:1.58;
}

/* Exact in-project targets are CBL linkchips; the final dossier button is the
   quiet source ending for the public Trivia reader. */
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(a.culture-ref,.culture-anchor-list a.chip,.culture-anchor-list button.chip,.button-row a,.button-row button) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  margin:2px 0;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(a.culture-ref,.culture-anchor-list a.chip,.culture-anchor-list button.chip,.button-row a,.button-row button):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(a.culture-ref,.culture-anchor-list a.chip,.button-row a) :is(code,kbd,.culture-code,.inter-code) {
  padding:0;
  color:inherit;
  background:transparent;
  font-size:1em;
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading > .button-row {
  margin:2rem auto 0;
  padding:1rem 0 0;
  border-top:1px solid var(--cbl-line);
}
body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}

@media(max-width:700px) {
  body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-text-block .key-values { grid-template-columns:minmax(0,1fr); gap:4px; }
  body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(.culture-text-block,.culture-manual-ref,.culture-reader-context,.culture-boundaries) { padding:14px; }
  body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text { padding:0; }
  body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .culture-game-quote,
  body[data-route="trivia"] #cultureReadingBody.cbl-reading .culture-game-text > .game-text > .quote-card { padding:14px; }
}
@media print {
  body[data-route="trivia"] #cultureReadingBody.cbl-reading { max-width:none; font-size:10.5pt; line-height:1.55; }
  body[data-route="trivia"] #cultureReadingBody.cbl-reading > * { max-width:none; }
  body[data-route="trivia"] #cultureReadingBody.cbl-reading :is(.culture-ai-boundary,.culture-reader-context,.culture-text-block,.culture-manual-ref,.culture-boundaries) { break-inside:avoid; }
}

/* CBL-01 for all seven Media topics. RG-01 keeps the topic list and RD-01
   keeps the fixed title; players, captures and wide comparison tables retain
   the space their actual media require. */
body[data-route="media"] #mediaReadingBody.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  --cbl-green:#2f7259;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="media"] #mediaReadingBody.cbl-reading > .media-section {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin:0 auto;
}
body[data-route="media"] #mediaReadingBody.cbl-reading > :is(.media-video,.media-picture-table) {
  width:100%;
  max-width:100%;
  margin:0 auto;
}
body[data-route="media"] #mediaReadingBody.cbl-reading :is(h2,h3,h4) {
  color:var(--cbl-petrol);
  font-family:var(--font-editorial);
}
body[data-route="media"] #mediaReadingBody.cbl-reading h3 {
  margin:1.5rem 0 .65rem;
  font-size:1.5rem;
  line-height:1.3;
}
body[data-route="media"] #mediaReadingBody.cbl-reading p {
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="media"] #mediaReadingBody.cbl-reading :is(code,kbd) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Players and platform facts use the restrained CBL fact-card vocabulary.
   Platform badges remain evidence labels, not decorative recolouring. */
body[data-route="media"] #mediaReadingBody.cbl-reading .media-audio-card {
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
  box-shadow:none;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-card .media-body { padding:18px; }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-audio-card h2 {
  margin:.55rem 0 .35rem;
  color:var(--cbl-petrol);
  font:700 1.35rem/1.3 var(--font-editorial);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-role {
  margin:0 0 .8rem;
  color:var(--cbl-petrol);
  font:400 1.02rem/1.62 var(--font-editorial);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-card audio {
  margin:1rem 0;
  accent-color:var(--cbl-accent);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-quickfacts {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:1rem 0;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-quickfacts > div {
  display:block;
  padding:10px 12px;
  border:1px solid var(--cbl-line);
  border-radius:8px;
  background:var(--cbl-soft);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-quickfacts > div:nth-child(even) {
  border-color:#b8d6c6;
  background:#eef6f4;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-quickfacts dt {
  color:var(--cbl-petrol);
  font:700 .78rem/1.45 var(--font-ui);
  letter-spacing:0;
  text-transform:none;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-quickfacts dd {
  margin:.2rem 0 0;
  color:var(--cbl-ink);
  font:400 .85rem/1.5 var(--font-code);
}

/* The disclosure is the technical block; boundaries and private notes keep
   their existing semantic evidence colours. */
body[data-route="media"] #mediaReadingBody.cbl-reading .media-disclosure {
  margin:1rem 0 0;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-disclosure > summary {
  min-height:44px;
  padding:12px 15px;
  border-radius:11px;
  color:var(--cbl-petrol);
  font:700 .875rem/1.45 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-disclosure[open] > summary {
  border-bottom:1px solid var(--cbl-line);
  border-radius:11px 11px 0 0;
  color:var(--cbl-field);
  background:var(--cbl-petrol);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-disclosure-body { padding:3px 16px 16px; }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-disclosure-body h3 {
  margin:1.25rem 0 .35rem;
  color:var(--cbl-petrol);
  font:700 1rem/1.4 var(--font-ui);
  letter-spacing:0;
  text-transform:none;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-disclosure-body p {
  margin:0;
  color:var(--cbl-ink);
  font:400 .95rem/1.62 var(--font-editorial);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-private-note {
  border-color:#d4bfd8;
  color:#382f49;
  background:var(--purple-pale);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-private-note code {
  color:#f8efe0;
  background:#2a2230;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-boundary {
  margin:1.25rem 0;
  padding:13px 16px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-boundary strong { color:var(--cbl-petrol); }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-boundary p {
  margin:.3rem 0 0;
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-provenance {
  margin:1.2rem 0 0;
  padding-top:.8rem;
  border-top:1px solid var(--cbl-line);
  color:var(--cbl-muted);
  font:400 .78rem/1.55 var(--font-code);
}

/* Intro and comparisons use the same editorial axis. */
body[data-route="media"] #mediaReadingBody.cbl-reading .media-video {
  gap:22px;
  padding:20px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:0 12px 12px 0;
  color:var(--cbl-ink);
  background:var(--cbl-field);
  box-shadow:none;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-video h2 { color:var(--cbl-petrol); }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-video p { color:var(--cbl-ink); }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-video video { border:1px solid var(--cbl-line); }
body[data-route="media"] #mediaReadingBody.cbl-reading .music-comparison { padding:0; border:0; box-shadow:none; }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-summary {
  margin:0 0 1.5rem;
  padding:14px 17px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-summary > span,
body[data-route="media"] #mediaReadingBody.cbl-reading .media-card-label {
  color:var(--cbl-petrol-text);
  font:800 .72rem/1.45 var(--font-ui);
  letter-spacing:.12em;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-summary p,
body[data-route="media"] #mediaReadingBody.cbl-reading .media-section-lead {
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .music-comparison > .section-title,
body[data-route="media"] #mediaReadingBody.cbl-reading .media-picture-table > :is(.section-title,.small),
body[data-route="media"] #mediaReadingBody.cbl-reading .media-sources-section > .media-section-lead {
  width:100%;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-comparison-findings .card {
  padding:15px 17px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:0 12px 12px 0;
  background:var(--cbl-field);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-comparison-findings .card:nth-child(even) {
  border-left-color:var(--cbl-green);
  background:#eef6f4;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-comparison-findings h3 {
  margin:.65rem 0 .35rem;
  font:700 1.05rem/1.4 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-comparison-findings p {
  margin:0;
  font:400 .9rem/1.58 var(--font-ui);
}

/* Platform descriptions are fact cards; the image tables stay deliberately
   wide and own their horizontal scroll area. */
body[data-route="media"] #mediaReadingBody.cbl-reading .graphics-guides,
body[data-route="media"] #mediaReadingBody.cbl-reading .media-source-cards { gap:12px; }
body[data-route="media"] #mediaReadingBody.cbl-reading .graphics-guide {
  padding:16px 18px;
  border-right:1px solid var(--cbl-line);
  border-bottom:1px solid var(--cbl-line);
  border-left:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
  box-shadow:none;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .graphics-guide h3 {
  margin:.75rem 0 .45rem;
  font:700 1.08rem/1.4 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .graphics-guide p {
  margin:.4rem 0 0;
  color:var(--cbl-ink);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-picture-table > .table-scroll {
  width:100%;
  margin-top:1rem;
  border:1px solid var(--cbl-line);
  border-radius:10px;
  background:var(--cbl-field);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .data-table {
  margin:0;
  color:var(--cbl-ink);
  font:400 .875rem/1.55 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .data-table thead {
  color:var(--cbl-petrol);
  background:var(--cbl-soft);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .data-table :is(th,td) { border-color:var(--cbl-line); }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-picture-table tbody th:first-child {
  background:var(--cbl-cream);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-picture-table tbody th strong { color:var(--cbl-petrol); }
body[data-route="media"] #mediaReadingBody.cbl-reading .media-picture-table tbody th small { color:var(--cbl-muted); }
body[data-route="media"] #mediaReadingBody.cbl-reading .image-zoom {
  border-color:var(--cbl-line);
  border-radius:10px;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .image-zoom > span {
  color:var(--cbl-petrol);
  background:var(--cbl-field);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .image-zoom > span strong { color:var(--cbl-petrol); }
body[data-route="media"] #mediaReadingBody.cbl-reading .image-zoom > span small { color:var(--cbl-muted); }
body[data-route="media"] #mediaReadingBody.cbl-reading .image-zoom:is(:hover,:focus-visible) > span {
  color:var(--cbl-field);
  background:var(--cbl-petrol);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .image-zoom:is(:hover,:focus-visible) > span :is(strong,small) { color:inherit; }

/* Source cards end the section like a CBL dossier index. */
body[data-route="media"] #mediaReadingBody.cbl-reading .media-source-card {
  padding:17px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
  box-shadow:none;
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-source-card h3 {
  margin:.25rem 0 .55rem;
  color:var(--cbl-petrol);
  font:700 1.08rem/1.4 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-source-card p {
  color:var(--cbl-ink);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="media"] #mediaReadingBody.cbl-reading .media-source-action {
  margin-top:auto;
  padding-top:1rem;
  border-top:1px solid var(--cbl-line);
}
body[data-route="media"] #mediaReadingBody.cbl-reading :is(.button-row,.section-title,.media-source-action) :is(a.button,button.button),
body[data-route="media"] #mediaReadingBody.cbl-reading > :is(a.button,button.button) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="media"] #mediaReadingBody.cbl-reading :is(.button-row,.section-title,.media-source-action) :is(a.button,button.button):is(:hover,:focus-visible),
body[data-route="media"] #mediaReadingBody.cbl-reading > :is(a.button,button.button):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
}
body[data-route="media"] #mediaReadingBody.cbl-reading :is(a,button,summary,[tabindex],audio,video):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}

@media(max-width:700px) {
  body[data-route="media"] #mediaReadingBody.cbl-reading .media-quickfacts { grid-template-columns:minmax(0,1fr); }
  body[data-route="media"] #mediaReadingBody.cbl-reading :is(.media-card .media-body,.media-video,.graphics-guide,.media-source-card) { padding:14px; }
  body[data-route="media"] #mediaReadingBody.cbl-reading .media-picture-table > .table-scroll th:first-child { position:static; }
}
@media print {
  body[data-route="media"] #mediaReadingBody.cbl-reading { max-width:none; font-size:10.5pt; line-height:1.55; }
  body[data-route="media"] #mediaReadingBody.cbl-reading > .media-section { max-width:none; }
  body[data-route="media"] #mediaReadingBody.cbl-reading :is(.media-audio-card,.media-video,.graphics-guide,.media-source-card,.media-comparison-findings .card) { break-inside:avoid; }
}

/* CBL-01 for all eleven copy-protection topics. RG-01 retains search and
   selection; RD-01 retains the fixed dossier heading and scrolling reader. */
body[data-route="protection"] #protectionReadingBody.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-muted:#3c4b54;
  --cbl-gold:#f0c878;
  --cbl-cream:#fbf5e7;
  --cbl-green:#2f7259;
  box-sizing:border-box;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading > * {
  box-sizing:border-box;
  width:100%;
  max-width:76ch;
  margin-right:auto;
  margin-left:auto;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading :is(h2,h3,h4) {
  color:var(--cbl-petrol);
  font-family:var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading h3 {
  margin:0 0 .65rem;
  font-size:1.5rem;
  line-height:1.3;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading p {
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading :is(code,kbd) {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:.08em .28em;
  border:0;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font:400 .9em/1.45 var(--font-code);
  white-space:normal;
  overflow-wrap:anywhere;
}

/* The opening mechanism combines one editorial explanation with a numbered
   technical sequence. */
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-mechanism-content {
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:24px;
  align-items:start;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-primer-copy > p {
  margin:0;
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-primer-copy blockquote {
  margin:1.4rem 0 0;
  padding:15px 18px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-petrol);
  background:var(--cbl-cream);
  font:400 1rem/1.65 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-steps { gap:9px; }
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-step {
  grid-template-columns:2rem minmax(0,1fr);
  gap:11px;
  padding:12px 14px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:0 10px 10px 0;
  background:var(--cbl-field);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-step:nth-child(even) {
  border-left-color:var(--cbl-green);
  background:#eef6f4;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-step > span {
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:50%;
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  font:800 .75rem/1 var(--font-code);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-step h3 {
  margin:0 0 .2rem;
  color:var(--cbl-petrol);
  font:700 1rem/1.4 var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-step p {
  margin:0;
  color:var(--cbl-ink);
  font:400 .875rem/1.55 var(--font-ui);
}

/* Comparisons and variant overviews remain dense, structured data. */
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-comparison-content > .table-scroll {
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--cbl-line);
  border-radius:10px;
  background:var(--cbl-field);
  scrollbar-color:var(--cbl-line) var(--cbl-soft);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .data-table {
  margin:0;
  color:var(--cbl-ink);
  font:400 .875rem/1.55 var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .data-table thead {
  color:var(--cbl-petrol);
  background:var(--cbl-soft);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .data-table :is(th,td) { border-color:var(--cbl-line); }
body[data-route="protection"] #protectionReadingBody.cbl-reading .warning-note,
body[data-route="protection"] #protectionReadingBody.cbl-reading > .small {
  margin:1rem 0 0;
  padding:12px 15px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 9px 9px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .9rem/1.58 var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-cards {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-card {
  min-height:0;
  padding:16px 17px;
  border-right:1px solid var(--cbl-line);
  border-bottom:1px solid var(--cbl-line);
  border-left:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
  box-shadow:none;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-card .protection-kind {
  color:var(--cbl-muted);
  font:800 .72rem/1.45 var(--font-ui);
  letter-spacing:.1em;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-card h3 {
  margin:.45rem 0 .55rem;
  color:var(--cbl-petrol);
  font:700 1.08rem/1.4 var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-card p {
  margin:0 0 1rem;
  color:var(--cbl-ink);
  font:400 .9rem/1.58 var(--font-ui);
}

/* Dossier articles: introduction, evidence groups, plain-language transfer,
   limits and exact source links each receive one stable CBL role. */
body[data-route="protection"] #protectionReadingBody.cbl-reading > .status-strip {
  gap:7px;
  margin:0 auto .8rem;
  font-family:var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-lead {
  margin:.1rem auto 1.35rem;
  color:var(--cbl-petrol);
  font:400 1.2rem/1.65 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section {
  margin:0 auto 1.6rem;
  padding:0;
  border:0;
  background:transparent;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section > p,
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section > :is(ol,ul) {
  margin:.45rem 0 0;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section li {
  margin:.45rem 0;
  color:var(--cbl-ink);
  font:400 1rem/1.65 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section.technical {
  padding:15px 18px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:0 12px 12px 0;
  color:var(--cbl-ink);
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section.technical h3 {
  font:700 1.05rem/1.4 var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section.technical p {
  margin:0;
  font:400 .95rem/1.62 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-findings {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-finding {
  padding:13px 15px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-accent);
  border-radius:0 10px 10px 0;
  background:var(--cbl-field);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-finding:nth-child(even) {
  border-left-color:var(--cbl-green);
  background:#eef6f4;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-finding header {
  gap:9px;
  color:var(--cbl-petrol);
  font:700 .9rem/1.45 var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-finding p {
  margin:.45rem 0 0;
  font:400 .875rem/1.55 var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-metaphor {
  margin:0 auto 1.6rem;
  padding:15px 18px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-metaphor > span {
  color:var(--cbl-petrol-text);
  font:800 .72rem/1.45 var(--font-ui);
  letter-spacing:.12em;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-metaphor p {
  margin:.4rem 0 0;
  color:var(--cbl-petrol);
  font:400 1.02rem/1.65 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section.boundaries {
  padding:15px 18px;
  border:0;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section.boundaries :is(h3,li) {
  font-family:var(--font-ui);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section.boundaries h3 {
  font-size:1.05rem;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section.boundaries li {
  font-size:.9rem;
  line-height:1.58;
}

/* Historical context is a fact group; the final buttons form the quiet source
   ending. */
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-context-content {
  padding:17px 19px;
  border:1px solid var(--cbl-line);
  border-left:4px solid var(--cbl-green);
  border-radius:0 12px 12px 0;
  background:linear-gradient(145deg,var(--cbl-field),#eef6f4);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-context-content :is(p,ul) { margin-top:0; }
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-context-content li {
  margin:.45rem 0;
  color:var(--cbl-ink);
  font:400 1rem/1.65 var(--font-editorial);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section:last-child,
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-context-content:has(.button) {
  padding-bottom:0;
  border-bottom:0;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-detail-section:last-child > .button-row,
body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-context-content > .button {
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--cbl-line);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading :is(.button-row,.protection-context-content,.protection-step,.protection-card) :is(a.button,button.button) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
body[data-route="protection"] #protectionReadingBody.cbl-reading :is(.button-row,.protection-context-content,.protection-step,.protection-card) :is(a.button,button.button):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
}
body[data-route="protection"] #protectionReadingBody.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}

@media(max-width:700px) {
  body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-mechanism-content,
  body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-cards,
  body[data-route="protection"] #protectionReadingBody.cbl-reading .protection-findings { grid-template-columns:minmax(0,1fr); }
  body[data-route="protection"] #protectionReadingBody.cbl-reading :is(.protection-step,.protection-detail-section.technical,.protection-finding,.protection-metaphor,.protection-detail-section.boundaries,.protection-context-content) { padding:14px; }
}
@media print {
  body[data-route="protection"] #protectionReadingBody.cbl-reading { max-width:none; font-size:10.5pt; line-height:1.55; }
  body[data-route="protection"] #protectionReadingBody.cbl-reading > * { max-width:none; }
  body[data-route="protection"] #protectionReadingBody.cbl-reading :is(.protection-step,.protection-card,.protection-finding,.protection-metaphor,.protection-detail-section.boundaries) { break-inside:avoid; }
}

/* CBL-01 object readers: only the content inside the existing RD-01 body.
   The game-text rules below are shared with the room reader. */
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading {
  --cbl-ink:#16232c; --cbl-petrol:#183f48; --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78; --cbl-soft:#dcecee; --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8; --cbl-cream:#fbf5e7; --cbl-muted:#3c4b54;
  width:min(100%,76ch); min-width:0; margin:0 auto;
  color:var(--cbl-ink); font:400 17px/1.72 var(--font-editorial);
  text-align:left; overflow-wrap:anywhere;
  container-type:inline-size;
}
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(p,ul,ol) { max-width:100%; font-family:inherit; font-size:inherit; line-height:inherit; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading p { margin:0 0 1rem; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(h3,h4) { color:var(--cbl-petrol); font:700 18px/1.4 var(--font-ui); margin:1.5rem 0 .65rem; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading h4 { font-size:16px; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(section,article) > :is(h3,h4):first-child { margin-top:0; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-text-entry > h3 { font:700 24px/1.3 var(--font-editorial); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(.text-context,.text-explanation,.small) { color:var(--cbl-muted); font:400 14px/1.55 var(--font-ui); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .text-context { margin:0 0 .75rem; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .text-explanation { margin:.75rem 0 0; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-text-entry { margin:0 0 1.8rem; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-text-entry + .obj-text-entry { padding-top:1.6rem; border-top:1px solid var(--cbl-line); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-facts { width:100%; margin:1rem 0 1.5rem; font:400 14px/1.6 var(--font-ui); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-facts > div { display:grid; grid-template-columns:minmax(0,36%) minmax(0,1fr); gap:8px 18px; padding:10px 0; border-bottom:1px solid var(--cbl-line); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-facts :is(dt,dd) { font:inherit; margin:0; text-align:left; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-facts dt { font-weight:650; color:var(--cbl-petrol); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-facts dd { display:block; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-fact-value { max-width:100%; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-facts strong { font-weight:700; font-variant-numeric:tabular-nums; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-facts p:last-child { margin-bottom:0; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(.obj-card,.obj-command,.obj-story,.culture-related) { padding:16px 18px; border:1px solid var(--cbl-line); border-radius:12px; background:var(--cbl-field); box-shadow:none; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(.obj-summary,.obj-note) { padding:15px 17px; border:1px solid var(--cbl-line); border-radius:12px; background:#eef4f2; font:400 14px/1.6 var(--font-ui); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(.obj-command-list,.obj-variants,.obj-story-list,.obj-functions) { font:400 14px/1.6 var(--font-ui); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .obj-command-list > li { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading code { padding:.08em .28em; border-radius:4px; color:var(--cbl-petrol); background:#eef4f2; font:400 .9em/1.55 var(--font-code); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(.obj-links,.obj-chain,.obj-state-list) { gap:8px; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(a.obj-ref,a.inter-ref,a.chip,.obj-links a) { display:inline-flex; align-items:center; min-height:31px; max-width:100%; box-sizing:border-box; padding:5px 10px; border:1px solid var(--cbl-line); border-radius:999px; color:var(--cbl-petrol-text); background:var(--cbl-field); font:650 14px/1.35 var(--font-ui); text-decoration:none; white-space:normal; overflow-wrap:anywhere; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(a.obj-ref,a.inter-ref,a.chip,.obj-links a):is(:hover,:focus-visible) { color:var(--cbl-field); background:var(--cbl-petrol); border-color:var(--cbl-petrol); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--cbl-accent); outline-offset:3px; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .table-wrap { width:100%; overflow-x:auto; margin:1rem 0; border:1px solid var(--cbl-line); border-radius:12px; background:var(--cbl-field); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .data-table { width:100%; min-width:28rem; border-collapse:collapse; margin:0; font:400 14px/1.55 var(--font-ui); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .data-table :is(th,td) { padding:10px 12px; border-bottom:1px solid var(--cbl-line); text-align:left; vertical-align:top; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .data-table th { background:var(--cbl-soft); color:var(--cbl-petrol); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .data-table tr:last-child td { border-bottom:0; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(details.obj-details,details.renderer-raw) { margin:1.15rem 0; padding:0 16px; border:1px solid var(--cbl-line); border-radius:12px; background:var(--cbl-field); color:var(--cbl-muted); font:400 13.6px/1.55 var(--font-ui); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(details.obj-details,details.renderer-raw) > summary { min-height:44px; box-sizing:border-box; margin:0; padding:12px 0; background:transparent; color:var(--cbl-petrol); font:700 14px/1.45 var(--font-ui); }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading details.obj-raw { width:min(100%,46rem); margin:2rem auto 0; box-sizing:border-box; }
:is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading pre { font:400 13px/1.55 var(--font-code); background:#eef4f2; white-space:pre-wrap; }
@container (max-width:480px) {
  :is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading :is(.obj-facts > div,.obj-command-list > li) { grid-template-columns:minmax(0,1fr); gap:4px; }
}
@media print {
  :is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading { width:100%; container-type:normal; }
  :is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .table-wrap { overflow:visible; }
  :is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading .data-table { min-width:0; }
  :is(#routeContent,.inspector-body) .object-cbl-reading.cbl-reading details > * { display:block; }
}

/* CBL-01 for every room reader tab. The wrapper is shared by Locations and
   the atlas inspector; RG-01/RD-01 continue to own the surrounding controls. */
.room-cbl-reading.cbl-reading {
  --cbl-ink:#16232c;
  --cbl-petrol:#183f48;
  --cbl-petrol-text:#16525d;
  --cbl-accent:#216b78;
  --cbl-soft:#dcecee;
  --cbl-line:#9fc4ca;
  --cbl-field:#fffdf8;
  --cbl-cream:#fbf5e7;
  --cbl-gold:#f0c878;
  --cbl-muted:#3c4b54;
  width:min(100%,76ch);
  margin:0 auto;
  color:var(--cbl-ink);
  font:400 1.0625rem/1.72 var(--font-editorial);
  overflow-wrap:anywhere;
}
.room-cbl-reading.cbl-reading > * { max-width:100%; }
.room-cbl-reading.cbl-reading > :first-child { margin-top:0; }
.room-cbl-reading.cbl-reading :is(p,ul,ol,li) { font-family:inherit; font-size:inherit; line-height:inherit; }
.room-cbl-reading.cbl-reading h3 {
  margin:1.55rem 0 .55rem;
  color:var(--cbl-petrol);
  font:700 1.13rem/1.4 var(--font-ui);
}
.room-cbl-reading.cbl-reading h4 {
  margin:1.15rem 0 .4rem;
  color:var(--cbl-petrol);
  font:700 .95rem/1.45 var(--font-ui);
}
.room-cbl-reading.cbl-reading p { margin:0 0 1rem; }
.room-cbl-reading.cbl-reading code {
  padding:.08em .28em;
  border-radius:4px;
  color:var(--cbl-petrol);
  background:#eef4f2;
  font-family:var(--font-code);
  font-size:.9em;
}
.room-cbl-reading.cbl-reading :is(.fact-card,.timeline-event,.mechanic-note,.room-risk) {
  margin:1rem 0;
  padding:16px;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  color:var(--cbl-ink);
  background:var(--cbl-field);
  box-shadow:none;
}
.room-cbl-reading.cbl-reading :is(.fact-card,.timeline-event,.mechanic-note,.room-risk) > h3:first-child { margin-top:0; }
.room-cbl-reading.cbl-reading .room-inventory.compact { padding:14px 16px; }
.room-cbl-reading.cbl-reading .room-inventory.compact + .room-inventory.compact { margin-top:.75rem; }
.room-cbl-reading.cbl-reading :is(.room-section-intro,.room-text-guide,.text-context,.text-explanation,.room-empty-note) {
  color:var(--cbl-muted);
  font:400 .875rem/1.55 var(--font-ui);
}
.room-cbl-reading.cbl-reading .room-section-intro { margin-bottom:.85rem; }
.room-cbl-reading.cbl-reading .finding-links {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:8px;
  margin:.6rem 0 0;
}
.room-cbl-reading.cbl-reading .room-inventory-links > span {
  display:flex;
  min-width:0;
  max-width:100%;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  color:var(--cbl-muted);
  font:400 .875rem/1.5 var(--font-ui);
}
.room-cbl-reading.cbl-reading :is(a.chip,button.chip) {
  display:inline-flex;
  box-sizing:border-box;
  min-width:0;
  min-height:31px;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border:1px solid var(--cbl-line);
  border-radius:999px;
  color:var(--cbl-petrol-text);
  background:var(--cbl-field);
  font:650 .875rem/1.35 var(--font-ui);
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
.room-cbl-reading.cbl-reading :is(a.chip,button.chip):is(:hover,:focus-visible) {
  border-color:var(--cbl-petrol);
  color:var(--cbl-field);
  background:var(--cbl-petrol);
  text-decoration:none;
}
.room-cbl-reading.cbl-reading :is(a,button,summary,[tabindex]):focus-visible {
  outline:3px solid var(--cbl-accent);
  outline-offset:3px;
}

/* Room descriptions and the Texts tab use the agreed game-text grammar. */
.room-cbl-reading.cbl-reading .room-text-entry { margin:0 0 1.8rem; }
.room-cbl-reading.cbl-reading .room-text-entry + .room-text-entry {
  padding-top:1.6rem;
  border-top:1px solid var(--cbl-line);
}
.room-cbl-reading.cbl-reading .room-text-entry > h3 { margin-top:0; font-family:var(--font-editorial); font-size:1.5rem; line-height:1.3; }
.room-cbl-reading.cbl-reading .text-context { margin:0 0 .75rem; }
:is(#routeContent,.inspector-body) :is(.room-cbl-reading,.object-cbl-reading).cbl-reading .game-text { margin:1rem 0; max-width:100%; }
:is(#routeContent,.inspector-body) :is(.room-cbl-reading,.object-cbl-reading).cbl-reading .game-text > .quote-card {
  margin:0;
  padding:16px 18px;
  border:1px solid var(--cbl-petrol);
  border-radius:12px;
  color:var(--cbl-petrol);
  background:#f7fbfa;
  font:400 1.0625rem/1.72 var(--font-editorial);
  white-space:pre-wrap;
}
:is(#routeContent,.inspector-body) :is(.room-cbl-reading,.object-cbl-reading).cbl-reading .game-text .renderer-condition {
  display:block;
  margin:1rem 0 0;
  padding:1rem 0 0;
  border:0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  color:inherit;
  background:transparent;
}
:is(#routeContent,.inspector-body) :is(.room-cbl-reading,.object-cbl-reading).cbl-reading .game-text .renderer-condition .renderer-condition {
  margin-left:0;
  padding-left:0;
}
:is(#routeContent,.inspector-body) :is(.room-cbl-reading,.object-cbl-reading).cbl-reading .game-text .renderer-condition-label {
  display:block;
  margin:0 0 .5rem;
  color:var(--cbl-petrol-text);
  font:700 .875rem/1.5 var(--font-ui);
  letter-spacing:0;
  text-transform:none;
}
:is(#routeContent,.inspector-body) :is(.room-cbl-reading,.object-cbl-reading).cbl-reading .game-text .renderer-slot-readable {
  padding:0 .18em;
  color:var(--cbl-muted);
  background:transparent;
  border:0;
  border-bottom:1px dotted var(--cbl-muted);
  border-radius:0;
  font:700 .9em/1 var(--font-ui);
}
.room-cbl-reading.cbl-reading .text-explanation { margin:.75rem 0 0; }
.room-cbl-reading.cbl-reading .room-text-collection > h3:first-child {
  margin-top:0;
  font-family:var(--font-editorial);
  font-size:1.5rem;
  line-height:1.3;
}

.room-cbl-reading.cbl-reading .table-wrap {
  max-width:100%;
  margin:1rem 0 1.25rem;
  overflow-x:auto;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  background:var(--cbl-field);
}
.room-cbl-reading.cbl-reading .data-table {
  width:100%;
  margin:0;
  border-collapse:collapse;
  color:var(--cbl-ink);
  font:400 .9rem/1.5 var(--font-ui);
}
.room-cbl-reading.cbl-reading .data-table :is(th,td) {
  padding:10px 12px;
  border-bottom:1px solid #dce7e5;
  text-align:left;
  vertical-align:top;
}
.room-cbl-reading.cbl-reading .data-table th { color:var(--cbl-petrol); background:var(--cbl-soft); }
.room-cbl-reading.cbl-reading .data-table tbody tr:last-child td { border-bottom:0; }
.room-cbl-reading.cbl-reading .data-table tbody tr:hover { background:#f8fbfa; }
.room-cbl-reading.cbl-reading .transition-command { min-width:0; color:var(--cbl-petrol); text-align:left; }
.room-cbl-reading.cbl-reading .transition-arrow { color:#a66d18; }
.room-cbl-reading.cbl-reading :is(.room-boundary,.condition-note) {
  padding:14px 16px;
  border-left:4px solid var(--cbl-gold);
  border-radius:0 10px 10px 0;
  color:var(--cbl-ink);
  background:var(--cbl-cream);
  font:400 .9rem/1.58 var(--font-ui);
}
.room-cbl-reading.cbl-reading .source-note {
  display:block;
  width:min(100%,46rem);
  box-sizing:border-box;
  margin:2rem auto 0;
  padding:1rem 0 0;
  border-top:1px solid var(--cbl-line);
  border-radius:0;
  color:var(--cbl-muted);
  background:transparent;
  font:400 .85rem/1.55 var(--font-ui);
  text-align:left;
}
.room-cbl-reading.cbl-reading details.technical-disclosure,
.room-cbl-reading.cbl-reading details.renderer-raw {
  margin:1.15rem 0 1.35rem;
  padding:0 16px;
  overflow:hidden;
  border:1px solid var(--cbl-line);
  border-radius:12px;
  color:var(--cbl-muted);
  background:var(--cbl-field);
  font:400 .85rem/1.55 var(--font-ui);
}
.room-cbl-reading.cbl-reading :is(details.technical-disclosure,details.renderer-raw) > summary {
  min-height:44px;
  box-sizing:border-box;
  padding:12px 0;
  color:var(--cbl-petrol);
  background:transparent;
  font:700 .875rem/1.45 var(--font-ui);
  cursor:pointer;
}
.room-cbl-reading.cbl-reading :is(details.technical-disclosure,details.renderer-raw)[open] > summary {
  margin-bottom:14px;
  border-bottom:1px solid var(--cbl-line);
}
.room-cbl-reading.cbl-reading details.renderer-raw pre {
  max-height:360px;
  padding:12px;
  color:var(--cbl-ink);
  background:#eef4f2;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font:400 .8rem/1.55 var(--font-code);
}
.room-cbl-reading.cbl-reading .room-event-group + .room-event-group { margin-top:2rem; }
.room-cbl-reading.cbl-reading .timeline-event { border-left:4px solid var(--cbl-gold); }
.room-cbl-reading.cbl-reading .mechanic-note { border-left:4px solid var(--cbl-accent); }
.room-cbl-reading.cbl-reading .mechanic-note ol { padding-left:1.35rem; }
.room-cbl-reading.cbl-reading .mechanic-note li { margin:.35rem 0; }
.room-cbl-reading.cbl-reading .room-risk { border-left:4px solid #2d7f9b; background:#f1fafc; }
.room-cbl-reading.cbl-reading .room-risk-critical { border-color:#d7a6a2; border-left-color:#a9473f; background:#fff4f2; }
.room-cbl-reading.cbl-reading .room-risk p { color:var(--cbl-ink); }
.room-cbl-reading.cbl-reading .room-risk small { color:var(--cbl-muted); font:400 .82rem/1.5 var(--font-ui); }
.room-cbl-reading.cbl-reading .room-environment { border-left:4px solid var(--cbl-accent); }
.room-cbl-reading.cbl-reading .room-effects-list { margin:.4rem 0 1rem; }
.room-cbl-reading.cbl-reading .culture-related { max-width:100%; border-color:var(--cbl-line); background:#f3f8f8; box-shadow:none; }

@media(max-width:700px) {
  .room-cbl-reading.cbl-reading { width:100%; font-size:1rem; line-height:1.65; }
  .room-cbl-reading.cbl-reading :is(.fact-card,.timeline-event,.mechanic-note,.room-risk) { padding:14px; }
  :is(#routeContent,.inspector-body) :is(.room-cbl-reading,.object-cbl-reading).cbl-reading .game-text > .quote-card { padding:14px; }
  .room-cbl-reading.cbl-reading .data-table { min-width:38rem; }
}
@media print {
  .room-cbl-reading.cbl-reading { width:100%; max-width:none; font-size:10.5pt; line-height:1.55; }
  .room-cbl-reading.cbl-reading :is(.fact-card,.timeline-event,.mechanic-note,.room-risk,.room-text-entry,.table-wrap) { break-inside:avoid; }
  .room-cbl-reading.cbl-reading details > * { display:block; }
}
