:root{
  color-scheme:light dark;
  --bg:#fbfbf9;--fg:#15181c;--muted:#566070;--card:#ffffff;--border:#d9dde2;--control-border:#7d8794;
  --accent:#1f4fd8;--accent-fg:#ffffff;--code:#f0f1f3;
  --ok:#0f6b45;--ok-bg:#e4f3ec;--warn:#855400;--warn-bg:#fcf0d4;--bad:#a0222a;--bad-bg:#fae6e7;--neutral-bg:#eceef1;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0e1013;--fg:#e8eaed;--muted:#a3abb6;--card:#151921;--border:#2a303b;--control-border:#6b7584;
  --accent:#86a9ff;--accent-fg:#0b1020;--code:#1b2029;
  --ok:#62d6a3;--ok-bg:#112419;--warn:#f1c35c;--warn-bg:#2a2410;--bad:#ff8c91;--bad-bg:#2c1416;--neutral-bg:#1c212a;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
/* Per-script font stacks: system CJK / Arabic faces only, nothing is downloaded. */
:lang(zh){font-family:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","WenQuanYi Micro Hei",sans-serif}
:lang(ar){font-family:system-ui,-apple-system,"Segoe UI","Geeza Pro","Noto Sans Arabic","Noto Naskh Arabic",Tahoma,Arial,sans-serif}
/* Letter-spacing breaks Arabic joining and looks wrong in CJK. */
:lang(ar) *,:lang(zh) *{letter-spacing:0!important}
:lang(zh) body,:lang(ar) body{line-height:1.7}
/* Code, hex, file names and the report stay left-to-right inside RTL pages. */
pre,code,.ltr{direction:ltr;unicode-bidi:isolate;text-align:start}
.iso{unicode-bidi:isolate}
#pinned{text-align:start}
[dir=rtl] #pinned:placeholder-shown{text-align:end}
[dir=rtl] pre{text-align:left}
/* The chunk strip is a timeline: time runs left to right even in RTL. */
[dir=rtl] .chunks{direction:ltr}
[dir=rtl] .chunks li{direction:rtl}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.wrap{max-width:52rem;margin:0 auto;padding:0 16px}
header.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;flex-wrap:wrap}
header.top .brand{font-weight:700;color:var(--fg);text-decoration:none}
header.top nav{display:flex;gap:16px;margin-inline-start:auto}
header.top .lang{width:auto;min-width:9rem;max-width:100%}
h1{font-size:clamp(1.6rem,5vw,2.3rem);line-height:1.15;margin:8px 0 10px;letter-spacing:-.02em}
h2{font-size:1.2rem;margin:0 0 10px}
h3{font-size:1rem;margin:14px 0 6px}
.lead{color:var(--muted);margin:0 0 10px}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.chip[hidden]{display:none}
.chip.err{border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}
.chip{display:inline-block;font-size:.8rem;padding:3px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--card)}
section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin:14px 0}
.scope{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 16px;margin:14px 0}
.scope summary{cursor:pointer;font-weight:600}
.scope ul{margin-block:10px 4px;margin-inline:0;padding-inline-start:1.2rem;padding-inline-end:0}
.scope li{margin-bottom:6px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
.wrap-row{align-items:stretch}
.wrap-row button{flex:1 1 13rem}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-bottom:6px}
label{font-weight:600;font-size:.92rem}
input[type=text],input[type=password],select{width:100%;padding:9px 10px;border:1px solid var(--control-border);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit}
.row select{width:auto;min-width:7rem}
fieldset{border:1px solid var(--control-border);border-radius:8px;margin:0 0 10px;padding:8px 12px}
legend{font-weight:600;font-size:.92rem;padding:0 6px}
.radio{display:flex;align-items:center;gap:8px;font-weight:400;padding:4px 0}
button,.btn{font:inherit;font-weight:600;padding:9px 14px;border-radius:8px;border:1px solid var(--control-border);background:var(--card);color:var(--fg);cursor:pointer;text-decoration:none;display:inline-block}
button:hover:not(:disabled),.btn:hover{border-color:var(--accent)}
.btn{position:relative}
.btn:focus-within{outline:3px solid var(--accent);outline-offset:2px}
.noscript{max-width:52rem;margin:0 auto;padding:16px;font-weight:600}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
button:disabled{opacity:.45;cursor:not-allowed}
button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.box{margin:6px 0 10px}
.note{font-size:.88rem;color:var(--muted);margin:6px 0}
.player{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}
audio{max-width:100%}
.verdict{border-radius:12px;padding:14px 16px;margin:14px 0;border:1px solid transparent}
.verdict.neutral{background:var(--neutral-bg)}
.verdict.verified{background:var(--ok-bg);border-color:var(--ok)}
.verdict.unsealed{background:var(--neutral-bg);border-color:var(--muted)}
.verdict.warning{background:var(--warn-bg);border-color:var(--warn)}
.verdict.alert{background:var(--bad-bg);border-color:var(--bad)}
.verified .v-title{font-weight:800;font-size:1.15rem}
.v-text{font-size:.95rem}
.chunks{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr))}
.chunks li{border:2px solid var(--border);border-radius:8px;padding:6px 8px;font-size:.85rem;text-align:center;background:var(--bg)}
.chunks li strong{display:block;font-size:1rem}
.chunks li.ok{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}
.chunks li.bad{border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}
.chunks li.unknown{border-style:dashed;color:var(--muted)}
pre{background:var(--code);padding:12px;border-radius:8px;overflow:auto;font-size:.82rem;line-height:1.4;max-width:100%}
details summary{cursor:pointer;font-weight:600}
footer{padding:20px 0 48px;color:var(--muted);font-size:.88rem}
@media (max-width:480px){section{padding:12px}