/* Shared style for antifrod test pages */
:root{
  --bg:#eef2f3;--surface:#fff;--surface2:#f6f9fa;--text:#111a1f;--muted:#5c6d76;--border:#dce3e6;
  --accent:#0c7f90;--accent-weak:#0c7f9016;--pass:#0f7a52;--pass-bg:#0f7a5216;--warn:#9a6206;--warn-bg:#9a620618;
  --fail:#c23a3d;--fail-bg:#c23a3d16;--info:#5c6d76;--info-bg:#5c6d7614;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0b1015;--surface:#131b22;--surface2:#0f161c;--text:#e7eef2;--muted:#8fa3ad;--border:#233039;
  --accent:#2bc4cf;--accent-weak:#2bc4cf1e;--pass:#37c489;--pass-bg:#37c48920;--warn:#e0a63a;--warn-bg:#e0a63a1e;
  --fail:#f26a63;--fail-bg:#f26a6320;--info:#8fa3ad;--info-bg:#8fa3ad18;}}
:root[data-theme="light"]{--bg:#eef2f3;--surface:#fff;--surface2:#f6f9fa;--text:#111a1f;--muted:#5c6d76;--border:#dce3e6;--accent:#0c7f90;--accent-weak:#0c7f9016;--pass:#0f7a52;--pass-bg:#0f7a5216;--warn:#9a6206;--warn-bg:#9a620618;--fail:#c23a3d;--fail-bg:#c23a3d16;--info:#5c6d76;--info-bg:#5c6d7614;}
:root[data-theme="dark"]{--bg:#0b1015;--surface:#131b22;--surface2:#0f161c;--text:#e7eef2;--muted:#8fa3ad;--border:#233039;--accent:#2bc4cf;--accent-weak:#2bc4cf1e;--pass:#37c489;--pass-bg:#37c48920;--warn:#e0a63a;--warn-bg:#e0a63a1e;--fail:#f26a63;--fail-bg:#f26a6320;--info:#8fa3ad;--info-bg:#8fa3ad18;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;font-size:15px}
.wrap{max-width:1000px;margin:0 auto;padding:26px 20px 70px}
a{color:var(--accent)}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}
h1{font-size:22px;margin:4px 0;font-weight:650;letter-spacing:-.01em}
.sub{color:var(--muted);font-size:13px;max-width:72ch;margin:6px 0 18px}
.map{background:var(--accent-weak);border:1px solid var(--accent);border-radius:10px;padding:11px 14px;margin:0 0 18px;font-size:12.5px}
.map b{color:var(--accent)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;margin-bottom:14px}
button{font-family:var(--sans);font-size:13px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;padding:9px 15px;cursor:pointer}
button:hover{filter:brightness(1.08)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button.ghost{color:var(--accent);background:transparent;border:1px solid var(--accent)}
.row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,1.6fr) auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--border)}
.row:first-child{border-top:none}
.rn{font-weight:550;font-size:13px}.rn small{color:var(--muted);font-weight:400;display:block;font-size:11px;margin-top:2px}
.rv{font-family:var(--mono);font-size:11.5px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:5px 8px;word-break:break-word;max-height:80px;overflow:auto}
.pill{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 8px;border-radius:20px;white-space:nowrap;justify-self:end}
.s-pass{color:var(--pass);background:var(--pass-bg)}.s-warn{color:var(--warn);background:var(--warn-bg)}.s-fail{color:var(--fail);background:var(--fail-bg)}.s-info{color:var(--info);background:var(--info-bg)}
canvas{border:1px solid var(--border);border-radius:6px;background:#fff;image-rendering:pixelated}
.back{font-size:12.5px;margin-bottom:10px;display:inline-block}
footer{margin-top:26px;color:var(--muted);font-size:11.5px;border-top:1px solid var(--border);padding-top:14px}
/* Блок происхождения проверки — таблица в подвале каждого теста */
.meta{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px 18px;margin:22px 0 0}
.meta h3{margin:0 0 14px;font-size:14px;font-weight:650;display:flex;align-items:center;gap:7px}
.meta .m{display:grid;grid-template-columns:160px 1fr;border:1px solid var(--border);border-radius:9px;overflow:hidden;font-size:12.5px;margin:0}
.meta .m dt{padding:10px 13px;font-weight:600;color:var(--muted);background:var(--surface2);border-top:1px solid var(--border);display:flex;align-items:center}
.meta .m dd{padding:10px 13px;margin:0;border-top:1px solid var(--border);border-left:1px solid var(--border);min-width:0;line-height:1.5}
/* первая пара — «Простыми словами» — во всю ширину, вводным акцентом */
.meta .m dt:first-of-type{grid-column:1/-1;border-top:none;background:var(--accent-weak);color:var(--accent);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;padding-bottom:2px}
.meta .m dt:first-of-type + dd{grid-column:1/-1;border-top:none;border-left:none;background:var(--accent-weak);color:var(--text);font-size:13.5px;line-height:1.55;padding-top:4px}
.meta pre{font-family:var(--mono);font-size:11.5px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:9px 11px;margin:0;overflow-x:auto;white-space:pre-wrap;word-break:break-word;line-height:1.45}
.meta code{font-family:var(--mono);font-size:11.5px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:1px 5px}
.meta .fileref{font-family:var(--mono);font-size:11.5px}
.meta .pg a{font-weight:600}
.meta .none{color:var(--warn);font-weight:600}
@media(max-width:640px){
  .row{grid-template-columns:1fr;gap:6px}.pill{justify-self:start}
  .meta .m{grid-template-columns:1fr}
  .meta .m dd{border-left:none;border-top:none}
  .meta .m dt{border-top:1px solid var(--border)}
  .meta .m dt:first-of-type + dd{padding-top:4px}
}
