/* RAPP site — markdown render styling
 * Used by docs/viewer.html when it injects parsed markdown into .doc-body.
 */

.doc-body{
  font-size:16px;
  line-height:1.7;
  color:var(--text);
}

.doc-body h1,.doc-body h2,.doc-body h3,.doc-body h4{
  color:var(--text);
  letter-spacing:-0.2px;
  margin:1.6em 0 .6em;
  line-height:1.3;
  font-weight:700;
}
.doc-body > h1:first-child{ margin-top:0; }
.doc-body h1{ font-size:32px; padding-bottom:.3em; border-bottom:1px solid var(--border); }
.doc-body h2{ font-size:24px; padding-bottom:.25em; border-bottom:1px solid var(--border); }
.doc-body h3{ font-size:19px; }
.doc-body h4{ font-size:16px; color:var(--text-dim); text-transform:uppercase; letter-spacing:.05em; }

.doc-body p{ margin:.8em 0; }
.doc-body strong{ color:var(--text); }
.doc-body em{ color:var(--text); }

.doc-body ul,.doc-body ol{ margin:.8em 0 .8em 1.4em; }
.doc-body li{ margin:.3em 0; }
.doc-body li > p{ margin:.3em 0; }

.doc-body blockquote{
  margin:1em 0;
  padding:.4em 1em;
  border-left:3px solid var(--accent);
  background:var(--surface);
  color:var(--text-dim);
  border-radius:0 var(--radius) var(--radius) 0;
}
.doc-body blockquote p{ margin:.4em 0; }

.doc-body a{ color:var(--accent); }
.doc-body a:hover{ text-decoration:underline; }

.doc-body code{
  font-family:var(--font-mono);
  font-size:.9em;
  background:var(--surface);
  padding:.15em .4em;
  border-radius:4px;
  border:1px solid var(--border);
}
.doc-body pre{
  margin:1em 0;
  font-size:13px;
}
.doc-body pre code{
  background:transparent; border:none; padding:0; font-size:13px;
}

.doc-body table{
  width:100%;
  border-collapse:collapse;
  margin:1em 0;
  font-size:14px;
}
.doc-body th, .doc-body td{
  padding:8px 12px;
  border:1px solid var(--border);
  text-align:left;
}
.doc-body th{
  background:var(--surface);
  font-weight:700;
}
.doc-body tr:nth-child(even) td{ background:rgba(255,255,255,.015); }
[data-theme="light"] .doc-body tr:nth-child(even) td{ background:rgba(0,0,0,.02); }

.doc-body hr{
  margin:2em 0;
  border:0;
  height:1px;
  background:var(--border);
}

.doc-body img{ border-radius:var(--radius); }

/* ToC sidebar (optional, populated by doc-viewer.js) */
.doc-toc{
  position:sticky; top:calc(var(--header-h) + 16px);
  align-self:start;
  font-size:13px;
  line-height:1.5;
  max-height:calc(100vh - var(--header-h) - 32px);
  overflow-y:auto;
  padding-right:var(--s-3);
}
.doc-toc h4{
  font-size:11px; text-transform:uppercase; letter-spacing:.1em;
  color:var(--text-dim); margin-bottom:8px;
}
.doc-toc ul{ list-style:none; margin:0; padding:0; }
.doc-toc li{ margin:0; }
.doc-toc a{
  display:block;
  padding:4px 8px;
  color:var(--text-dim);
  border-left:2px solid transparent;
  margin-left:-2px;
}
.doc-toc a:hover{ color:var(--text); text-decoration:none; }
.doc-toc a.active{
  color:var(--text);
  border-left-color:var(--accent);
}
.doc-toc .lvl-3{ padding-left:18px; }
.doc-toc .lvl-4{ padding-left:32px; font-size:12px; }

.doc-layout{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:var(--s-6);
  max-width:var(--site-max);
  margin:0 auto;
  padding:var(--s-6) var(--s-5) var(--s-8);
}
@media (max-width:900px){
  .doc-layout{ grid-template-columns:1fr; }
  .doc-toc{ position:static; max-height:none; padding-right:0; border-bottom:1px solid var(--border); padding-bottom:var(--s-3); margin-bottom:var(--s-4); }
}

/* Doc page header (above the body) */
.doc-header{
  margin-bottom:var(--s-5);
  padding-bottom:var(--s-4);
  border-bottom:1px solid var(--border);
}
.doc-header .doc-eyebrow{
  font-size:12px; text-transform:uppercase; letter-spacing:.1em;
  color:var(--accent); font-weight:600;
}
.doc-header h1{
  font-size:32px; font-weight:800; letter-spacing:-0.4px;
  margin:6px 0 8px;
}
.doc-header .doc-sub{
  color:var(--text-dim); font-size:15px;
}
