/* rg-asm outputs.html — page-specific layout (extends ../rg-tools.css) */
.page { max-width: var(--page-w); margin: 0 auto; padding: 2rem 1.25rem 4rem; }
  h1 {
    font: 700 2.2rem/1.1 var(--mono);
    margin: 0 0 .6rem;
    letter-spacing: -0.03em;
    color: var(--amber);
  }
  h2 {
    font: 700 1.35rem/1.25 var(--mono);
    margin: 2.5rem 0 .75rem;
    color: var(--amber);
    scroll-margin-top: 1rem;
  }
  h3 {
    font: 700 1.05rem/1.3 var(--sans);
    margin: 1.75rem 0 .5rem;
    color: var(--ink);
  }
  h3#reloc-table {
    font: 700 1.35rem/1.25 var(--mono);
    margin: 2rem 0 .75rem;
    color: var(--amber);
    scroll-margin-top: 1rem;
  }
  h4.subhd {
    font: 700 1.05rem/1.3 var(--sans);
    margin: 1.5rem 0 .5rem;
    color: var(--ink);
  }
  p { margin: 0 0 1rem; }
  ul, ol { margin: 0 0 1rem; padding-left: 1.35rem; }
  li { margin-bottom: .35rem; }
  hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 2rem 0;
  }
  table {
    width: 100%;
    border-collapse: collapse;
    font-size: .92rem;
    margin: 0 0 1.25rem;
  }
  th, td {
    border: 1px solid var(--line);
    padding: .45rem .65rem;
    text-align: left;
    vertical-align: top;
  }
  th { background: var(--panel); color: var(--amber); font-weight: 600; }
  td.cell-stack {
    line-height: 2;
    padding-top: .55rem;
    padding-bottom: .55rem;
    vertical-align: top;
  }
  td.cell-stack code { white-space: nowrap; }
  code, pre {
    font-family: var(--mono);
    font-size: .88em;
  }
  pre {
    background: var(--panel);
    border: 1px solid var(--line);
    padding: .85rem 1rem;
    overflow-x: auto;
    margin: 0 0 1.25rem;
    line-height: 1.45;
  }
  .pseudo-label {
    font: 700 .72rem/1 var(--mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--dim);
    margin: 1.25rem 0 .35rem;
  }
  pre.pseudo {
    margin-top: 0;
    font-size: .82rem;
    line-height: 1.5;
    color: var(--ink);
  }
  pre.pseudo .cm { color: var(--dim); }
  pre.pseudo .kw { color: var(--cyan); }
  pre.pseudo .num { color: var(--green); }
  .toc {
    border: 1px solid var(--line);
    background: var(--panel);
    padding: 1rem 1.25rem;
    margin: 0 0 2rem;
    font-size: .95rem;
  }
  .toc ul { margin: .5rem 0 0; }
  .toc li { margin-bottom: .25rem; }
  .note {
    border-left: 3px solid var(--cyan);
    padding: .5rem 0 .5rem 1rem;
    margin: 0 0 1.25rem;
    color: var(--dim);
    font-size: .95rem;
  }
  .note strong { color: var(--ink); }
  .magic { font-family: var(--mono); color: var(--green); }
  .file-layout-wrap {
    display: grid;
    gap: 1rem;
    margin: 0 0 1.25rem;
  }
  @media (min-width: 640px) {
    .file-layout-wrap {
      grid-template-columns: minmax(9rem, 11rem) 1fr;
      align-items: start;
    }
  }
  .file-map {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font: .78rem/1.35 var(--mono);
  }
  .file-map__block {
    border: 1px solid var(--line);
    padding: .45rem .55rem;
    text-align: center;
    color: var(--ink);
    background: var(--panel);
  }
  .file-map__block--header {
    background: rgba(232, 160, 48, 0.12);
    border-color: rgba(232, 160, 48, 0.35);
    color: var(--amber);
  }
  .file-map__block--text {
    background: rgba(94, 200, 224, 0.08);
    border-color: rgba(94, 200, 224, 0.28);
  }
  .file-map__block--data {
    background: rgba(111, 207, 111, 0.08);
    border-color: rgba(111, 207, 111, 0.28);
  }
  .file-map__block--sym {
    border-style: dashed;
    color: var(--dim);
  }
  .file-map__block--reloc {
    border-style: dashed;
    color: var(--dim);
  }
  .file-map__block--fixup {
    background: rgba(208, 112, 224, 0.08);
    border-color: rgba(208, 112, 224, 0.28);
  }
  .file-map__block--names {
    background: rgba(232, 160, 48, 0.06);
    border-color: rgba(232, 160, 48, 0.22);
  }
  table.pc-header td:first-child,
  table.pc-header td:nth-child(2) {
    font-family: var(--mono);
    font-size: .86rem;
    white-space: nowrap;
  }
  table.file-layout td:first-child {
    font-family: var(--mono);
    font-size: .86rem;
    white-space: nowrap;
  }
  table.compare td:first-child { font-weight: 600; color: var(--ink); }
  table.compare .support-full { color: var(--green); }
  table.compare .support-part { color: var(--amber); }
  .tag {
    display: inline-block;
    font: 700 .68rem/1 var(--mono);
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: .2rem .45rem;
    border: 1px solid var(--line);
    border-radius: 2px;
    color: var(--dim);
    background: rgba(18, 20, 26, 0.6);
  }
  .tag--opt { border-color: rgba(94, 200, 224, 0.35); color: var(--cyan); }
  .tag--cond { border-color: rgba(232, 160, 48, 0.35); color: var(--amber); }
