.docs-shell {
  display: grid;
  grid-template-columns: 255px minmax(0, 920px);
  gap: 42px;
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  padding: 44px 0 100px;
}
.docs-toc { align-self: start; position: sticky; top: 82px; }
.docs-toc details { border: 3px solid var(--line); background: var(--panel); }
.docs-toc summary { padding: 14px; color: var(--acid); cursor: pointer; font-weight: 900; }
.docs-toc nav { display: grid; padding: 0 14px 14px; }
.docs-toc a { padding: 7px 0; color: var(--muted); text-decoration: none; font-size: 11px; font-weight: 900; }
.docs-toc a:hover { color: var(--acid); }
.docs-content { min-width: 0; }
.docs-hero { padding: 28px 0 66px; }
.docs-hero h1 { margin: 0; font: 900 clamp(68px, 10vw, 124px)/.78 Impact, "Arial Black", sans-serif; letter-spacing: -.03em; }
.docs-hero h1 em { color: var(--acid); font-style: normal; }
.docs-hero > p:last-of-type { max-width: 800px; font-size: clamp(17px, 2.3vw, 24px); line-height: 1.45; }
.docs-content > section { padding: 62px 0; scroll-margin-top: 72px; border-top: 2px dashed var(--line); }
.doc-kicker { margin: 0 0 8px; color: var(--acid); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.docs-content h2 { margin: 0 0 25px; font: 900 clamp(42px, 7vw, 70px)/.86 Impact, "Arial Black", sans-serif; }
.docs-content h3 { margin: 12px 0 8px; font: 900 25px/1 Impact, sans-serif; }
.docs-content p, .docs-content li { color: var(--muted); line-height: 1.58; }
.docs-content b, .docs-content strong { color: var(--paper); }
.docs-content code { color: var(--acid); overflow-wrap: anywhere; }
.docs-content a { color: var(--acid); }
.snapshot { display: grid; gap: 7px; margin: 24px 0; padding: 17px; border: 3px dashed var(--acid); background: var(--panel); font-size: 12px; }
.snapshot span { color: var(--muted); }
.doc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.doc-grid.two { grid-template-columns: 1fr 1fr; }
.doc-grid article { min-height: 190px; padding: 18px; border: 3px solid var(--line); background: var(--panel); }
.doc-grid article p { font-size: 12px; }
.doc-permanent { border-color: var(--acid) !important; }
.doc-removable { border-color: var(--red) !important; }
.doc-flow { display: grid; gap: 12px; }
.doc-flow div { display: grid; grid-template-columns: 230px 1fr; gap: 18px; padding: 18px; border: 3px solid var(--acid); background: var(--panel); }
.doc-flow span { color: var(--muted); line-height: 1.55; }
.doc-warning { margin: 20px 0; padding: 17px; border-left: 6px solid var(--red); background: #17100f; color: var(--muted); line-height: 1.5; }
.docs-content table code { font-size: 10px; }
.split { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0; }
.split div { padding: 18px; border: 3px solid var(--acid); background: var(--panel); }
.split b { display: block; color: var(--acid); font: 900 42px Impact, sans-serif; }
.split span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.risk-register details { padding: 16px 4px; border-top: 2px dashed var(--line); }
.risk-register summary { color: var(--acid); cursor: pointer; font-weight: 900; }
.risk-register p { max-width: 800px; margin-bottom: 0; }
.verify-list { display: grid; gap: 9px; padding-left: 24px; }
.doc-proofs { margin-top: 24px; }
.docs-footer { display: flex; justify-content: space-between; gap: 18px; padding-top: 40px; border-top: 4px solid var(--acid); color: var(--muted); font-size: 11px; }

@media (max-width: 940px) {
  .docs-shell { grid-template-columns: 1fr; gap: 18px; }
  .docs-toc { position: static; }
  .docs-toc details:not([open]) { max-height: 60px; }
  .docs-toc nav { grid-template-columns: repeat(3, 1fr); gap: 0 14px; }
}
@media (max-width: 700px) {
  .docs-shell { width: calc(100% - 22px); padding-top: 20px; }
  .docs-toc nav, .doc-grid, .doc-grid.two, .split { grid-template-columns: 1fr; }
  .docs-toc details { max-height: 310px; overflow: auto; }
  .doc-flow div { grid-template-columns: 1fr; }
  .docs-content > section { padding: 48px 0; scroll-margin-top: 0; }
  .docs-content h2 { font-size: 45px; }
  .docs-footer { flex-direction: column; }
}
