/* Innenleben & Begriffe: a reading page with a compact, independent index. */
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) {
  --route-accent: #216b78;
  --route-accent-ink: #16525d;
  --route-secondary: #b07a25;
  --route-deep: #183f48;
  --route-soft: #dcecee;
  --route-line: #9fc4ca;
  --route-mark: "15";
  --inter-copper-ink: #80502c;
  --inter-surface: #fffdf8;
}

body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) #routeContent {
  min-width: 0;
  overflow-wrap: anywhere;
}

.inter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 22px;
  padding: 0 0 15px;
  border-bottom: 1px solid var(--route-line);
}

.inter-tabs :is(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--route-line);
  border-radius: 10px;
  color: var(--route-deep);
  background: var(--inter-surface);
  font-size: .85rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}

.inter-tabs :is(a, button):hover {
  border-color: var(--route-accent);
  background: var(--route-soft);
}

.inter-tabs :is(a, button):is(.active, [aria-current="page"], [aria-current="true"], [aria-selected="true"]) {
  border-color: var(--route-deep);
  color: white;
  background: var(--route-deep);
  box-shadow: inset 0 -3px var(--route-secondary);
}

.inter-panel, .inter-panel * { min-width: 0; }
.inter-panel { margin: 0; color: var(--ink); line-height: 1.65; }
.inter-panel :is(h2, h3, h4) { color: var(--route-deep); line-height: 1.22; }
.inter-panel h2 { margin: 0 0 14px; font: 750 clamp(1.6rem, 2.5vw, 2.1rem)/1.18 var(--font-editorial); }
.inter-panel h3 { margin: 25px 0 9px; font: 750 1.2rem/1.25 var(--font-editorial); }
.inter-panel h4 { margin: 19px 0 7px; font-size: .98rem; }
.inter-panel p { max-width: 75ch; margin: 0 0 14px; }
.inter-panel :is(ul, ol) { max-width: 75ch; padding-left: 23px; }
.inter-panel li { margin: 7px 0; }
.inter-panel :is(code, kbd) { font-family: var(--font-code); font-size: .88em; overflow-wrap: anywhere; }
.inter-panel a:not(.button) { color: var(--route-accent-ink); text-underline-offset: .18em; }
.inter-panel > :last-child { margin-bottom: 0; }

/* Reference pills share one shape; navigation lists retain their row styling. */
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel a.inter-ref {
  display: inline-block;
  min-width: 0;
  min-height: 24px;
  max-width: 100%;
  margin: 2px 0;
  padding: 1px 7px;
  border: 1px solid var(--route-line);
  border-radius: 999px;
  color: var(--route-accent-ink);
  background: var(--inter-surface);
  font-size: .94em;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
  text-align: left;
  vertical-align: baseline;
  white-space: normal;
  overflow-wrap: anywhere;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel a.inter-ref:is(:hover, :focus-visible) {
  border-color: var(--route-deep);
  color: #fffdf8;
  background: var(--route-deep);
  text-decoration: none;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-emphasis { color: inherit; font-weight: 650; }
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel :is(.inter-code, .inter-command) {
  font-family: var(--font-code);
  font-size: .88em;
  white-space: normal;
  overflow-wrap: anywhere;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-code {
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-command {
  padding: 2px 5px;
  border-radius: 4px;
  color: var(--ink);
  background: #ece7db;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel a.inter-ref :is(code, kbd, .inter-code, .inter-command) {
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font-size: 1em;
  font-weight: inherit;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel a.inter-ref:is(:hover, :focus-visible) > :not(.evidence):not(.evidence-row) { color: inherit; }
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-ref-id { font-weight: 500; }

.inter-eyebrow {
  display: block;
  margin: 0 0 8px;
  color: var(--inter-copper-ink);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .095em;
  text-transform: uppercase;
}

.inter-summary { color: var(--ink-soft); font-size: 1.04rem; line-height: 1.75; }
.inter-intro { margin-bottom: 24px; }
.inter-intro > p:last-child { margin-bottom: 0; }
.inter-intro > p { max-width: 100ch; }

.inter-world-detail, .inter-detail {
  min-width: 0;
  height: auto;
  padding: clamp(20px, 2.5vw, 34px);
  border: 1px solid var(--route-line);
  border-radius: 12px;
  background: var(--inter-surface);
  box-shadow: 0 7px 23px #30354e0a;
  overflow-wrap: anywhere;
  scroll-margin-top: calc(var(--topbar-h) + 20px);
}

.inter-world-detail { border-top: 4px solid var(--route-secondary); }
.inter-detail { min-height: 360px; border-top: 4px solid var(--route-accent); }
.inter-detail.rd-body { border:0; border-radius:0; box-shadow:none; }
.inter-world-detail.inter-detail { min-height: 0; border-top-color: var(--route-secondary); }
.inter-detail > h3 { padding-top: 16px; border-top: 1px solid #e1deD9; }
.inter-detail :is(p, ul, ol, dl), .inter-world-detail :is(p, ul, ol, dl) { max-width: 75ch; }
.inter-detail > :last-child, .inter-world-detail > :last-child { margin-bottom: 0; }

.inter-containment-example { margin-top: 32px; }
.inter-choice-register .inter-containment-example { margin-top: 26px; padding-top: 21px; border-top: 1px solid var(--route-line); }
.inter-choice-register .inter-containment-example > h3 { margin: 0 0 11px; }
.inter-containment {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 19px 0 14px;
  padding: 20px;
  border: 1px solid var(--route-line);
  border-radius: 12px;
  background: #f4f2ef;
}
.inter-containment h3:first-child { margin-top: 0; }
.inter-containment :is(.inter-chain, .inter-containment-chain) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 15px 0;
  padding: 0;
  list-style: none;
}
.inter-containment :is(button, a.button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  margin: 4px 0;
  padding: 9px 13px;
  border: 1px solid var(--route-line);
  border-radius: 10px;
  color: var(--route-deep);
  background: white;
  font-size: .85rem;
  font-weight: 750;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
.inter-containment :is(button, a.button):hover { border-color: var(--route-accent); background: var(--route-soft); }
.inter-containment :is(button, a.button):is(.active, [aria-pressed="true"]) { border-color: var(--route-accent); color: white; background: var(--route-deep); }
.inter-chain-arrow, .inter-containment > span[aria-hidden="true"] { color: var(--inter-copper-ink); font-size: 1.3rem; font-weight: 750; }
.inter-choice-register .inter-containment { padding: 16px; border-color: #dfcdb9; border-left: 4px solid var(--route-secondary); border-radius: 0 9px 9px 0; background: #f8f1e8; }

.inter-register {
  display: grid;
  grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(16px, 2vw, 26px);
}

.inter-index {
  position: sticky;
  top: calc(var(--topbar-h) + 20px);
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  /* Include the workspace's bottom padding so short entries do not slide
     their search controls underneath the fixed page header at scroll end. */
  max-height: calc(100vh - var(--topbar-h) - 80px);
  max-height: calc(100dvh - var(--topbar-h) - 80px);
  border: 1px solid var(--route-line);
  border-radius: 11px;
  background: linear-gradient(180deg, var(--route-soft), #faf7f0 190px);
}
.inter-index > header { flex: 0 0 auto; padding: 17px 14px 0; }
.inter-index.rg-sidebar { position:static; }
.inter-index h2 { margin: 0 0 12px; font-size: 1.17rem; }
.inter-choice-index > header h3 { margin: 0 0 12px; color: var(--route-deep); font: 750 1.05rem/1.35 var(--font-editorial); }
.inter-filter { display: grid; gap: 9px; }
.inter-index > .inter-filter { flex: 0 0 auto; padding: 12px 10px 10px; background: #fffdf7d9; border-bottom: 1px solid var(--route-line); border-radius: 10px 10px 0 0; backdrop-filter: blur(7px); }
.inter-filter .inter-count { margin: 3px 0 9px; }
.inter-filter .inter-mobile-picker { margin-right: 0; margin-left: 0; }
.inter-filter > label, .inter-mobile-picker > label { display: grid; gap: 5px; color: var(--route-deep); font: 650 var(--type-small)/1.5 var(--font-ui); }
.inter-filter :is(input, select), .inter-mobile-picker select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  padding: 9px 10px;
  border: 1px solid var(--route-line);
  border-radius: 10px;
  color: var(--ink);
  background: white;
  font-size: .85rem;
  line-height: 1.4;
}
.inter-filter input::placeholder { color: var(--ink-soft); opacity: 1; }
.inter-count { flex: 0 0 auto; margin: 12px 14px 9px; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.inter-index > header .inter-count { margin-right: 0; margin-left: 0; }
.inter-list {
  display: grid;
  grid-auto-rows: max-content;
  flex: 1 1 auto;
  align-content: start;
  gap: 0;
  min-height: 0;
  margin: 0;
  padding: 8px 10px 10px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  scroll-padding: 8px;
  overscroll-behavior-y: auto;
}
.inter-list :is(button, a.inter-choice) {
  position: relative;
  display: block;
  min-height: 44px;
  width: 100%;
  max-width: 100%;
  margin: 2px 0;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--ink);
  background: transparent;
  font: 650 var(--type-ui)/var(--type-ui-leading) var(--font-ui);
  text-align: left;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.inter-list :is(button, a.inter-choice) strong { display: block; font: inherit; color: inherit; }
.inter-list button .inter-list-description { margin: -1px; }
/* Terms and states have a taller filter than 03. Start their visible gradient
   below that filter, rather than hiding its entire petrol area underneath it. */
.inter-filter + .inter-list { background: linear-gradient(180deg, var(--route-soft), #faf7f0 190px); border-radius: 0 0 10px 10px; }
.inter-list button.inter-numbered-choice { display: grid; grid-template-columns: 2.5em minmax(0, 1fr); gap: 10px; align-items: start; }
.inter-row-number { display: block; min-width: 2.2em; padding: 0; border: 0; border-radius: 0; color: var(--route-accent-ink); background: transparent; text-align: left; white-space: nowrap; }
.inter-list .active .inter-row-number { color: #fff2cb; background: transparent; }
.inter-list :is(button, a.inter-choice):hover { border-color: var(--route-line); background: #ffffffbd; box-shadow: none; }
.inter-list :is(button, a.inter-choice):is(.active, [aria-current="true"], [aria-selected="true"]) {
  border-color: var(--route-deep);
  color: white;
  background: var(--route-deep);
  box-shadow: inset 4px 0 var(--route-accent), 0 5px 14px #16232c20;
}
.inter-choice-index > .inter-list { padding-top: 8px; }
.inter-list > p { margin: 5px; color: var(--muted); font-size: .85rem; }
.inter-mobile-picker { display: none; }

.inter-tooltip {
  position: fixed;
  z-index: 120;
  width: min(290px, calc(100vw - 16px));
  padding: 12px 14px;
  border: 1px solid var(--route-line);
  border-radius: 9px;
  color: #fffdf8;
  background: var(--route-deep);
  box-shadow: 0 8px 24px #10152540;
  font: 400 .86rem/1.5 var(--font-ui);
  overflow-wrap: anywhere;
  pointer-events: auto;
}
.inter-tooltip[hidden] { display: none; }

.inter-facts { margin: 22px 0; }
.inter-facts dl, dl.inter-facts { margin-top: 0; margin-bottom: 0; }
.inter-facts :is(dl > div), dl.inter-facts > div {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) minmax(0, 2fr);
  gap: 7px 19px;
  padding: 12px 0;
  border-bottom: 1px solid #e4e1dc;
}
.inter-facts dt { color: var(--route-deep); font-size: .83rem; font-weight: 750; }
.inter-facts dd { margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.65; overflow-wrap: anywhere; }
.inter-facts dd > :last-child { margin-bottom: 0; }

.inter-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 0; }
.inter-links h3 { flex: 1 1 100%; margin: 8px 0 2px; }
.inter-links :is(a, button) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--route-line);
  border-radius: 10px;
  color: var(--route-accent-ink);
  background: var(--inter-surface);
  font-size: .82rem;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.inter-links :is(a, button):hover { border-color: var(--route-accent); text-decoration: none; }

/* Larger references and local actions: scoped because rules also use inter-links. */
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-links :is(a, button),
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-containment :is(a, button),
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-technical [data-open-doc],
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) #documentDialog .document-dialog-actions :is(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 14px;
  border: 1px solid var(--route-line);
  border-radius: 10px;
  color: var(--route-accent-ink);
  background: var(--inter-surface);
  font-size: .85rem;
  font-weight: 650;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-links :is(a, button):is(:hover, :focus-visible),
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-containment :is(a, button):is(:hover, :focus-visible),
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-technical [data-open-doc]:is(:hover, :focus-visible),
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) #documentDialog .document-dialog-actions :is(a, button):is(:hover, :focus-visible) {
  border-color: var(--route-deep);
  color: #fffdf8;
  background: var(--route-deep);
  text-decoration: none;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-links a.chip { border-radius: 999px; }
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-links :is(a, button):is(:hover, :focus-visible) > :not(.evidence):not(.evidence-row),
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-containment :is(a, button):is(:hover, :focus-visible) > :not(.evidence):not(.evidence-row),
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-technical [data-open-doc]:is(:hover, :focus-visible) > :not(.evidence):not(.evidence-row) { color: inherit; }
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel :is(.inter-links, .inter-containment, .inter-technical) :is(a, button) :is(code, kbd, .inter-code, .inter-command) {
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font-size: 1em;
  font-weight: inherit;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) #documentDialog .document-dialog-actions .icon-button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  font-size: 1.35rem;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) #documentDialog .document-dialog-actions :is(a, button):focus-visible { outline: 3px solid var(--route-accent); outline-offset: 3px; }
.inter-tag, .inter-status { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; margin: 0 5px 6px 0; padding: 4px 8px; border: 1px solid var(--route-line); border-radius: 5px; color: var(--route-deep); background: var(--route-soft); font-size: .74rem; font-weight: 750; line-height: 1.45; overflow-wrap: anywhere; }
.inter-status { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.inter-status > .inter-tag { margin: 0; }
.inter-status.is-known, .inter-tag.is-known { border-color: #b1c3b8; color: #355a44; background: #edf3ee; }
.inter-status.is-unknown, .inter-tag.is-unknown { border-style: dashed; border-color: #b49b84; color: #775237; background: #f6efe7; }

.inter-technical {
  margin-top: 25px;
  padding: 0 17px;
  border: 1px solid var(--route-line);
  border-radius: 9px;
  color: var(--ink-soft);
  background: var(--route-soft);
  font-size: .84rem;
  line-height: 1.65;
}
.inter-technical > summary, .inter-technical details > summary {
  display: list-item;
  min-height: 44px;
  padding: 13px 0;
  color: var(--route-deep);
  font-weight: 750;
  line-height: 1.45;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.inter-technical[open] > summary, .inter-technical details[open] > summary { margin-bottom: 12px; border-bottom: 1px solid var(--route-line); }
.inter-technical > :last-child:not(summary), .inter-technical details > :last-child:not(summary) { margin-bottom: 16px; }
.inter-technical h3 { margin-top: 15px; font-family: inherit; font-size: .95rem; }
.inter-technical pre { max-width: 100%; margin: 12px 0; padding: 12px; border: 1px solid #d9d6de; border-radius: 6px; background: #faf9fb; white-space: pre-wrap; overflow-wrap: anywhere; }
.inter-technical table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .8rem; }
.inter-technical :is(th, td) { padding: 8px; border-bottom: 1px solid #d9d6de; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.inter-caution { max-width: 75ch; margin: 19px 0; padding: 12px 15px; border-left: 3px solid var(--route-secondary); border-radius: 0 7px 7px 0; color: #654a35; background: #f5efe8; font-size: .88rem; line-height: 1.65; }
.inter-caution > :last-child { margin-bottom: 0; }
.inter-symbols { margin-top: 28px; padding: clamp(20px, 2.5vw, 30px); border: 1px solid var(--route-line); border-radius: 12px; background: var(--route-soft); }
.inter-symbols > :last-child { margin-bottom: 0; }
.inter-holders { margin: 12px 0 20px; font-size: .86rem; }
.inter-holders > li { margin: 0; padding: 8px 0; border-bottom: 1px solid #e6e3df; }
.inter-holders > li > .small { display: block; margin-top: 3px; color: var(--muted); font-size: .76rem; }
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-holders { padding-left: 0; list-style: none; }
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-holders > li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 11px 0;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel a.inter-ref:is(.inter-holder-link, .inter-holder-room) {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-height: 44px;
  max-width: 100%;
  margin: 0;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .94em;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-holders > li > .small:not(a) { flex-basis: 100%; margin-top: 0; }
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel .inter-count-badge {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  min-height: 22px;
  max-width: calc(100% - 6px);
  margin: 4px 0 0 6px;
  padding: 3px 8px;
  border: 1px solid var(--route-line);
  border-radius: 5px;
  color: var(--route-accent-ink);
  background: var(--route-soft);
  font-family: var(--font-ui);
  font-size: var(--type-caption);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  line-height: 1.45;
  vertical-align: middle;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: default;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-panel span.inter-tag { cursor: default; }
.inter-holder-details { max-width: 75ch; margin: 15px 0 20px; padding: 0 14px; border: 1px solid var(--route-line); border-radius: 10px; background: var(--route-soft); }
.inter-holder-details > summary { display: list-item; min-height: 44px; padding: 12px 0; color: var(--route-deep); font-size: .86rem; font-weight: 750; line-height: 1.5; cursor: pointer; }
.inter-holder-details[open] > summary { border-bottom: 1px solid var(--route-line); }
.inter-panel :is(.inter-technical, .inter-holder-details) > summary:is(:hover, :focus-visible) { color: var(--route-accent-ink); background: var(--inter-surface); }
.inter-holder-details .inter-holders { margin-bottom: 14px; }

.inter-steps { max-width: 100%; margin: 22px 0; padding: 0 !important; list-style: none; }
.inter-steps > li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 13px; margin: 0; padding: 0 0 23px; }
.inter-step-number { display: grid; place-items: center; align-self: start; width: 2rem; min-width: 2rem; min-height: 2rem; padding: 0; border: 1px solid var(--route-line); border-radius: 50%; color: var(--route-accent-ink); background: var(--route-soft); font: 800 var(--type-caption)/1 var(--font-ui); font-variant-numeric: tabular-nums; white-space: nowrap; overflow-wrap: normal; }
.inter-step-body { padding-top: 3px; }
.inter-step-body h3 { margin: 0 0 7px; font-size: 1.07rem; }
.inter-step-body p { margin-bottom: 0; font-size: .94rem; }
.inter-step-body p + p { margin-top: 10px; }
.inter-step-body .inter-tag { margin-top: 9px; }
/* Harness article: the shared RG/RD frame owns navigation and scrolling. */
.harness-explanation { max-width: 82ch; min-width: 0; line-height: 1.7; }
.harness-explanation > section { margin: 0 0 2rem; }
.harness-explanation h2 { margin: 0 0 .7rem; color: var(--route-accent-ink); font: 700 1.5rem/1.3 var(--font-editorial); }
.harness-explanation h3 { margin: 0 0 .55rem; color: var(--route-accent-ink); font: 700 1.13rem/1.4 var(--font-ui); }
.harness-explanation p { margin: 0 0 1rem; }
.harness-explanation .lead { color: var(--route-accent-ink); font-size: 1.1rem; }
.harness-explanation code { padding: .08em .28em; border-radius: 4px; color: var(--route-accent-ink); background: #eef4f2; font-size: .9em; }
.harness-explanation .flow { margin: 1.1rem 0 1.35rem; padding: 16px 18px; border: 1px solid var(--route-line); border-radius: 12px; color: #edf8f6; background: #183f48; font: 600 .91rem/1.65 var(--font-code); white-space: pre-wrap; overflow-wrap: anywhere; }
.harness-explanation :is(.fact-card, .quote-card, .table-wrap) { border: 1px solid var(--route-line); border-radius: 12px; background: var(--inter-surface); }
.harness-explanation .comparison { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; margin: 1.15rem 0 1.35rem; }
.harness-explanation :is(.fact-card, .quote-card) { padding: 16px; }
.harness-explanation :is(.fact-card, .quote-card) > :last-child { margin-bottom: 0; }
.harness-explanation .table-wrap { margin: 1.1rem 0 1.35rem; overflow-x: auto; }
.harness-explanation table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.harness-explanation :is(th, td) { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--route-line); }
.harness-explanation th { color: var(--route-accent-ink); background: var(--route-soft); }
.harness-explanation tr:last-child td { border-bottom: 0; }
.harness-explanation .source-note { color: var(--muted); font-size: .875rem; }
@media print {
  .harness-explanation { max-width: none; }
  .harness-explanation :is(.flow, .fact-card, .quote-card) { break-inside: avoid; }
  .harness-explanation .table-wrap { overflow: visible; }
}
.inter-program-figure {
  width: min(100%, 960px);
  min-width: 0;
  margin: 18px 0;
  padding: clamp(10px, 1.6vw, 16px);
  border: 1px solid var(--route-line);
  border-radius: 12px;
  background: var(--inter-surface);
}
.inter-program-viewport { width: 100%; min-width: 0; overflow: hidden; }
.inter-program-viewport img { display: block; width: 100%; max-width: 960px; height: auto; margin-inline: auto; }
.inter-program-figure figcaption { margin-top: 10px; font-size: .85rem; line-height: 1.5; }
:is(.inter-method-grid, .inter-files) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); align-items: start; gap: 15px; margin: 22px 0; }
:is(.inter-method-grid, .inter-files) > :is(article, section, div, .card) { margin: 0; padding: 20px; border: 1px solid var(--route-line); border-top: 3px solid var(--route-secondary); border-radius: 10px; background: var(--inter-surface); }
:is(.inter-method-grid, .inter-files) h3 { margin: 0 0 10px; }
:is(.inter-method-grid, .inter-files) p { font-size: .9rem; }
:is(.inter-method-grid, .inter-files) > :is(article, section, div, .card) > :last-child { margin-bottom: 0; }
.inter-files > article > code { display: inline-block; margin-bottom: 12px; color: var(--inter-copper-ink); font-size: .77rem; font-weight: 750; }

body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) :is(.inter-tabs, .inter-panel) :is(button, a, input, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--route-accent);
  outline-offset: 3px;
}
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-detail:focus-visible,
body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .inter-world-detail:focus-visible { outline: 3px solid var(--route-accent); outline-offset: 3px; }

/* Register introductions stay compact; page headings share app.css. */
@media (min-width: 721px) {
  .inter-tabs { margin-bottom: 16px; padding-bottom: 10px; }
  .inter-intro { margin-bottom: 18px; }
  .inter-intro > h2 { margin-bottom: 8px; font-size: 1.65rem; }
  .inter-intro > p { margin-bottom: 10px; font-size: .94rem; line-height: 1.55; }
  .inter-intro > .inter-caution { margin-top: 12px; margin-bottom: 0; padding: 9px 13px; font-size: .86rem; line-height: 1.5; }
}

@media (max-width: 1100px) and (min-width: 721px) {
  .inter-register { grid-template-columns: minmax(210px, 235px) minmax(0, 1fr); gap: 16px; }
  .inter-detail { padding: 23px 20px; }
  .inter-facts :is(dl > div), dl.inter-facts > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

@media (max-width: 900px), (max-height: 650px) {
  body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .workspace { padding-top: 16px; }
  .inter-tabs { gap: 6px; margin-bottom: 14px; padding-bottom: 10px; }
  .inter-tabs :is(a, button) { flex: 1 1 auto; padding: 9px 10px; font-size: .78rem; }
  .inter-intro { margin-bottom: 14px; }
  .inter-intro > h2 { margin-bottom: 7px; font-size: 1.4rem; }
  .inter-intro > p { margin-bottom: 9px; font-size: .92rem; line-height: 1.5; }
  .inter-intro > .inter-caution { margin-top: 10px; margin-bottom: 0; padding: 9px 11px; font-size: .84rem; line-height: 1.5; }
  .inter-register { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .inter-index { position: static; max-height: none; }
  .inter-index > header { padding: 15px 14px 0; }
  .inter-index > .inter-filter { gap: 6px; padding: 13px 14px 0; }
  .inter-index .inter-list { display: none; }
  .inter-index .inter-count { margin-bottom: 0; }
  .inter-mobile-picker { display: grid; gap: 5px; margin: 9px 14px 13px; }
  .inter-index > header .inter-mobile-picker { margin-right: 0; margin-left: 0; }
  .inter-detail, .inter-world-detail { min-height: 0; padding: 23px 18px; }
  .inter-detail h2 { font-size: 1.65rem; }
  .inter-containment { flex-direction: column; align-items: stretch; gap: 2px; padding: 17px; }
  .inter-containment > span[aria-hidden="true"] { align-self: center; transform: rotate(90deg); }
  .inter-facts :is(dl > div), dl.inter-facts > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .inter-method-grid, .inter-files { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 400px) {
  .inter-detail, .inter-world-detail { padding: 20px 14px; }
  .inter-technical { padding-right: 12px; padding-left: 12px; }
  .inter-steps > li { grid-template-columns: 2rem minmax(0, 1fr); gap: 10px; }
}


@media (prefers-reduced-motion: reduce) {
  body:is([data-route="internals"],[data-route="method"],[data-route="glossary"],[data-route="code-findings"],[data-route="registers"],[data-route="states"],[data-route="mechanics"],[data-route="combat"]) .workspace { transition: none; }
}

@media print {
  .inter-tabs, .inter-index { display: none; }
  .inter-register { display: block; }
  .inter-detail, .inter-world-detail { min-height: 0; padding: 16px 0; border: 0; background: white; box-shadow: none; }
  .inter-method-grid > *, .inter-files > *, .inter-steps > li { break-inside: avoid; }
}
