/* Specification document, scoped. Level ramp = the site's validated blue ordinal ramp. */
.specdoc{--paper:var(--canvas);--ground:var(--canvas-2);--warn:#8a5a00;--warn-soft:#fbf1dc;--low:#8a3b2b;--low-soft:#f7e3de;--na:#5b6470;--na-soft:#eceef1;
  --l1:#98adff;--l2:#657bec;--l3:#4252b2;--l4:#26316b;max-width:800px;margin:0 auto;padding:40px 22px 90px;font-size:16px;line-height:1.58}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .specdoc{--warn:#e0b25a;--warn-soft:#352a12;--low:#e0957f;--low-soft:#3a221c;--na:#a3acb5;--na-soft:#1f2429;--l1:#3b4991;--l2:#586ddc;--l3:#778eee;--l4:#b0bff4}}
:root[data-theme="dark"] .specdoc{--warn:#e0b25a;--warn-soft:#352a12;--low:#e0957f;--low-soft:#3a221c;--na:#a3acb5;--na-soft:#1f2429;--l1:#3b4991;--l2:#586ddc;--l3:#778eee;--l4:#b0bff4}
.specdoc h1{font-size:clamp(32px,4.4vw,44px);line-height:1.06}
.specdoc h2{font-size:24px;line-height:1.2;margin-top:56px;padding-top:20px;border-top:2px solid var(--ink)}
.specdoc h3{font-size:18px;margin-top:32px}
.specdoc h3 .def{font-weight:400;color:var(--ink-2);font-size:15px}
.specdoc h4{font-size:16px}
.specdoc p{margin:12px 0;max-width:70ch;color:var(--ink-2)}
.specdoc p strong,.specdoc li strong{color:var(--ink)}
.specdoc .eyebrow{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.specdoc .meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;font-size:14px;color:var(--ink-2)}
.specdoc .lede{font-size:18px;color:var(--ink-2);border-left:3px solid var(--accent);padding-left:14px;margin:24px 0}
.specdoc ul,.specdoc ol{padding-left:22px;margin:10px 0;color:var(--ink-2)} .specdoc li{margin:6px 0}
.specdoc code{font:.86em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--na-soft);padding:1px 5px;border-radius:4px}
.specdoc .table-wrap{overflow-x:auto;margin:14px 0}
.specdoc table{border-collapse:collapse;width:100%;font-size:14.5px}
.specdoc th,.specdoc td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}
.specdoc th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.specdoc td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.specdoc .matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 6px}
.specdoc .col h4{font-size:15px;padding:6px 0 8px;border-bottom:2px solid var(--ink)}
.specdoc .cell{background:var(--paper);border:1px solid var(--line-2);border-radius:10px;padding:9px 10px;margin-top:8px;min-height:84px;display:flex;flex-direction:column;gap:6px}
.specdoc .cell .id{font:10px ui-monospace,Menlo,monospace;color:var(--ink-3);word-break:break-all}
.specdoc .cell .nm{font-size:13.5px;font-weight:600;line-height:1.25}
.specdoc .chip{display:inline-block;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;padding:2px 8px;border-radius:999px;align-self:flex-start;white-space:nowrap;margin:0}
.specdoc .hi{background:var(--accent-soft);color:var(--accent)} .specdoc .md{background:var(--warn-soft);color:var(--warn)} .specdoc .lo{background:var(--low-soft);color:var(--low)} .specdoc .na{background:var(--na-soft);color:var(--na)}
.specdoc .legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--ink-2);margin:12px 0 4px}
@media (max-width:640px){.specdoc .matrix{grid-template-columns:repeat(2,1fr)}}
.specdoc .lvsums{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}
.specdoc .lvsum{padding:10px;font-size:13.5px;line-height:1.4;background:var(--paper);border:1px solid var(--line-2);border-top:4px solid var(--l1);color:var(--ink-2)}
.specdoc .lvsum:nth-child(2){border-top-color:var(--l2)} .specdoc .lvsum:nth-child(3){border-top-color:var(--l3)} .specdoc .lvsum:nth-child(4){border-top-color:var(--l4)}
.specdoc .lvsum b{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-weight:600;color:var(--ink)}
@media (max-width:640px){.specdoc .lvsums{grid-template-columns:1fr 1fr}}
.specdoc .comp{background:var(--paper);border:1px solid var(--line-2);border-radius:12px;padding:16px 18px 8px;margin-top:16px}
.specdoc .comp header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.specdoc .comp header .id{font:12px ui-monospace,Menlo,monospace;color:var(--ink-3)}
.specdoc .comp .def{color:var(--ink-2);font-size:14.5px;margin:6px 0 10px}
.specdoc .levels{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 10px;border:0;background:none;border-radius:0}
.specdoc .lv{padding:8px 9px;font-size:13.5px;line-height:1.4;border-top:4px solid var(--l1);background:var(--ground);color:var(--ink-2)}
.specdoc .lv:nth-child(2){border-top-color:var(--l2)} .specdoc .lv:nth-child(3){border-top-color:var(--l3)} .specdoc .lv:nth-child(4){border-top-color:var(--l4)}
.specdoc .lv b{display:block;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin-bottom:3px;font-weight:600}
@media (max-width:640px){.specdoc .levels{grid-template-columns:1fr 1fr}}
.specdoc .toc{columns:2;column-gap:24px;font-size:14.5px;margin:20px 0 0}
.specdoc .toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.specdoc .toc a:hover{border-bottom-color:var(--accent)}
@media (max-width:640px){.specdoc .toc{columns:1}}
.specdoc .foot{margin-top:56px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}
.specdoc .pill{font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;background:var(--accent-soft);color:var(--accent);padding:2px 9px;border-radius:999px}
.specdoc .new{border-left:3px solid var(--accent);padding:4px 0 4px 14px;margin:16px 0}
.specdoc .langnote{font-size:14px;color:var(--ink-3);margin-top:10px}
