
:root{
  --bg:#0f1117;--surface:#1a1d27;--text:#e4e6eb;--muted:#a0a4ae;--faint:#7c8191;
  --border:#262a36;--border-strong:#343947;--link:#8b9cff;--header-bg:#0a0c12;
  --header-text:#f3f4f6;--code-bg:#232736;--input-bg:#12141c;--accent:#a5b4fc;
  --pass:#4ade80;--fail:#f87171;--skip:#8b90a0;--shadow:rgba(0,0,0,.45);
  --badge-pass-bg:#14532d;--badge-pass-fg:#bbf7d0;--badge-fail-bg:#7f1d1d;
  --badge-fail-fg:#fecaca;--row-failed:#2a1517;--warn-bg:#3b2f0a;--warn-fg:#fcd34d;
  --warn-border:#6b5414;color-scheme:dark;}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#f0f2f5;--surface:#fff;--text:#1a1a2e;--muted:#555;--faint:#8a8f99;
  --border:#f3f4f6;--border-strong:#e5e7eb;--link:#4338ca;--header-bg:#1a1a2e;
  --header-text:#fff;--code-bg:#f9fafb;--input-bg:#fff;--accent:#6366f1;
  --pass:#16a34a;--fail:#dc2626;--skip:#9ca3af;--shadow:rgba(0,0,0,.08);
  --badge-pass-bg:#dcfce7;--badge-pass-fg:#166534;--badge-fail-bg:#fee2e2;
  --badge-fail-fg:#991b1b;--row-failed:#fff5f5;--warn-bg:#fef3c7;--warn-fg:#92400e;
  --warn-border:#fcd34d;color-scheme:light;}}
:root[data-theme="light"]{
  --bg:#f0f2f5;--surface:#fff;--text:#1a1a2e;--muted:#555;--faint:#8a8f99;
  --border:#f3f4f6;--border-strong:#e5e7eb;--link:#4338ca;--header-bg:#1a1a2e;
  --header-text:#fff;--code-bg:#f9fafb;--input-bg:#fff;--accent:#6366f1;
  --pass:#16a34a;--fail:#dc2626;--skip:#9ca3af;--shadow:rgba(0,0,0,.08);
  --badge-pass-bg:#dcfce7;--badge-pass-fg:#166534;--badge-fail-bg:#fee2e2;
  --badge-fail-fg:#991b1b;--row-failed:#fff5f5;--warn-bg:#fef3c7;--warn-fg:#92400e;
  --warn-border:#fcd34d;color-scheme:light;}
:root[data-theme="dark"]{
  --bg:#0f1117;--surface:#1a1d27;--text:#e4e6eb;--muted:#a0a4ae;--faint:#7c8191;
  --border:#262a36;--border-strong:#343947;--link:#8b9cff;--header-bg:#0a0c12;
  --header-text:#f3f4f6;--code-bg:#232736;--input-bg:#12141c;--accent:#a5b4fc;
  --pass:#4ade80;--fail:#f87171;--skip:#8b90a0;--shadow:rgba(0,0,0,.45);
  --badge-pass-bg:#14532d;--badge-pass-fg:#bbf7d0;--badge-fail-bg:#7f1d1d;
  --badge-fail-fg:#fecaca;--row-failed:#2a1517;--warn-bg:#3b2f0a;--warn-fg:#fcd34d;
  --warn-border:#6b5414;color-scheme:dark;}
header{position:relative}
.theme-toggle{position:absolute;top:18px;right:20px;font:inherit;font-size:16px;
  line-height:1;padding:6px 9px;border-radius:6px;cursor:pointer;color:var(--header-text);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.theme-toggle:hover{background:rgba(255,255,255,.16)}
.theme-toggle[hidden]{display:none}
/* SPDX-License-Identifier: Apache-2.0 */
/* Format reference site (scripts/build_format_pages.py). Same look as the
   audit pages (crush/tests/forensic_report.py); the colour variables come
   from crush/data/site_theme.py, written in front of this file at build
   time. No external resources. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
     font-size:14px;color:var(--text);background:var(--bg);line-height:1.5}
a{color:var(--link)}
code,.mono{font-family:"SF Mono","Fira Code",Consolas,monospace;font-size:12px}
header{background:var(--header-bg);color:var(--header-text);padding:24px 72px 20px 32px}
header h1{font-size:20px;font-weight:600;letter-spacing:.3px}
header a{color:inherit}
.meta{margin-top:5px;font-size:12px;opacity:.75;line-height:1.6}
main{max-width:1100px;margin:0 auto;padding:24px 16px 40px}
section{background:var(--surface);border-radius:8px;padding:20px 24px;margin-bottom:18px;
        box-shadow:0 1px 3px var(--shadow);overflow-x:auto}
section[hidden],[hidden]{display:none}
h2{font-size:17px;font-weight:600;margin-bottom:12px}
h3{font-size:14px;font-weight:600;margin-bottom:8px}
p+p,p+ul,ul+p{margin-top:8px}
.notes{margin:10px 0 0 18px;font-size:13px;color:var(--muted)}
.notes li+li{margin-top:4px}
.help{font-size:12px;color:var(--muted)}
.downloads{font-size:13px}
.none{color:var(--faint);font-style:italic}
.back{margin-bottom:12px}
.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.tools label{display:flex;gap:6px;align-items:center;flex:1 1 260px}
.tools input{flex:1}
input,select{font:inherit;padding:5px 8px;border:1px solid var(--border-strong);border-radius:4px;
             background:var(--input-bg);color:inherit}
#sig-input{width:100%;margin-top:8px;font-family:"SF Mono","Fira Code",Consolas,monospace}
#sig-result{margin-top:10px;font-size:13px}
#sig-result ul{margin-left:18px}
#sig-result li+li{margin-top:6px}
#sig-result mark{background:var(--warn-bg);color:var(--warn-fg);border-radius:2px}
.count{font-size:12px;color:var(--muted);margin-bottom:6px}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;
   letter-spacing:.5px;color:var(--faint);padding:6px 10px;border-bottom:2px solid var(--border-strong)}
td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}
tr:last-child td{border-bottom:none}
.row-unsupported td{color:var(--faint)}
.facts th{width:160px;text-transform:none;font-size:13px;color:var(--muted);
          border-bottom:1px solid var(--border);vertical-align:top}
.sigs td.mono{white-space:nowrap}
.supported{color:var(--pass);font-weight:600}
.unsupported{color:var(--faint)}
.badge{font-size:10px;font-weight:700;letter-spacing:.4px;padding:1px 6px;
       border-radius:4px;text-transform:uppercase;vertical-align:middle}
.badge.draft{background:var(--warn-bg);color:var(--warn-fg)}
.badge.untranslated{background:var(--code-bg);color:var(--muted);border:1px solid var(--border-strong)}
.draft-banner{background:var(--warn-bg);color:var(--warn-fg);font-weight:600;
              border:1px solid var(--warn-border)}
.untranslated-note{border:1px solid var(--border-strong);color:var(--muted);font-size:13px}
.lang{margin-top:8px;font-size:12px}
.lang strong{font-weight:600}
.relevance{white-space:pre-wrap}
.url{color:var(--faint);word-break:break-all}
.cite{font-size:13px;background:var(--code-bg);padding:8px 10px;border-radius:4px}
.actions{font-size:13px;margin-top:10px}
footer{max-width:1100px;margin:0 auto;padding:0 16px 24px;text-align:center;
       font-size:11px;color:var(--faint)}
footer p+p{margin-top:4px}
@media (max-width:640px){
  header{padding:18px 64px 18px 16px}
  section{padding:16px}
  .facts th{width:auto}
}
