:root { --bg:#f3f7fc; --card:#fff; --text:#17202e; --muted:#5b6b80; --line:#dbe5f1; --accent:#4a86d9; --pass:#1c7a4a; --warn:#9a6700; --fail:#b3261e; --skip:#5b6b80; color-scheme: light; }
@media (prefers-color-scheme: dark) { :root { --bg:#0f1622; --card:#172131; --text:#e7edf6; --muted:#97a6bb; --line:#26344a; --accent:#6ea3f0; --pass:#59c58b; --warn:#e0b04a; --fail:#f0867f; --skip:#97a6bb; color-scheme: dark; } }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--text); }
main { max-width:820px; margin:0 auto; padding:24px 16px 48px; }
h1 { font-size:1.5rem; margin:0 0 4px; } h2 { font-size:1rem; margin:0; }
.muted { color:var(--muted); }
.card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:16px; margin:16px 0; }
label { display:block; font-size:.85rem; color:var(--muted); margin:8px 0 4px; }
input { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--text); font:inherit; }
.row { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
button { margin:16px 8px 0 0; padding:10px 18px; border:0; border-radius:10px; background:var(--accent); color:#fff; font:inherit; font-weight:600; cursor:pointer; }
button.secondary { background:transparent; color:var(--accent); border:1px solid var(--accent); }
button:disabled { opacity:.6; cursor:progress; } button:focus-visible, input:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
.head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.badge { font-size:.75rem; font-weight:700; padding:2px 10px; border-radius:999px; border:1px solid currentColor; }
.badge.pass { color:var(--pass); } .badge.warn { color:var(--warn); } .badge.fail { color:var(--fail); } .badge.skip { color:var(--skip); }
.summary { margin:8px 0 0; }
pre { margin:8px 0 0; padding:10px; background:var(--bg); border-radius:10px; overflow-x:auto; white-space:pre-wrap; word-break:break-word; font:.8rem/1.5 ui-monospace,Menlo,Consolas,monospace; }
