:root{
  --bg:#0b0d10; --panel:#141821; --panel2:#1b2029; --line:#252c39;
  --tx:#e6e9ef; --dim:#8f9bb0; --accent:#4da3ff;
  --ok:#3ecf8e; --warn:#f0b429; --bad:#f5714f; --danger:#e0344a;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);
  font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:860px;margin:0 auto;padding:24px 16px 64px}
h1{font-size:22px;margin:0 0 4px}
h2{font-size:15px;margin:28px 0 10px;color:var(--dim);
  text-transform:uppercase;letter-spacing:.08em}
.sub{color:var(--dim);margin:0 0 20px;font-size:14px}
form{display:flex;gap:8px;flex-wrap:wrap}
input[type=text]{flex:1 1 320px;min-width:0;padding:12px 14px;border-radius:10px;
  border:1px solid var(--line);background:var(--panel);color:var(--tx);font-size:15px}
input[type=text]:focus{outline:none;border-color:var(--accent)}
button{padding:12px 20px;border-radius:10px;border:0;background:var(--accent);
  color:#04121f;font-weight:650;font-size:15px;cursor:pointer}
button:disabled{opacity:.55;cursor:default}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:16px;margin-top:14px}
.verdict{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.score{font-size:34px;font-weight:700;line-height:1}
.badge{padding:5px 12px;border-radius:999px;font-weight:650;font-size:13px}
.b-ok{background:rgba(62,207,142,.15);color:var(--ok)}
.b-warn{background:rgba(240,180,41,.15);color:var(--warn)}
.b-bad{background:rgba(245,113,79,.15);color:var(--bad)}
.b-danger{background:rgba(224,52,74,.18);color:var(--danger)}
.grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:6px}
.metric{background:var(--panel2);border-radius:9px;padding:10px 12px}
.metric .k{color:var(--dim);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.metric .v{font-size:17px;font-weight:600;margin-top:2px;word-break:break-word}
ul.signals{list-style:none;padding:0;margin:10px 0 0}
ul.signals li{padding:8px 0;border-top:1px solid var(--line);display:flex;
  justify-content:space-between;gap:12px;font-size:14px}
ul.signals li:first-child{border-top:0}
.pts{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}
.p-pos{color:var(--ok)} .p-neg{color:var(--bad)} .p-zero{color:var(--dim)}
label.check{display:flex;gap:10px;align-items:flex-start;padding:9px 0;
  border-top:1px solid var(--line);cursor:pointer;font-size:14px}
label.check:first-of-type{border-top:0}
label.check input{margin-top:3px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--accent)}
label.check .why{display:block;color:var(--dim);font-size:13px;margin-top:2px}
.links a,.tg a{display:inline-block;margin:0 8px 8px 0;padding:8px 13px;border-radius:9px;
  background:var(--panel2);border:1px solid var(--line);color:var(--tx);
  text-decoration:none;font-size:14px}
.links a:hover,.tg a:hover{border-color:var(--accent)}
.note{color:var(--dim);font-size:13px;margin-top:10px}
.err{color:var(--bad)}
footer{margin-top:34px;color:var(--dim);font-size:13px;border-top:1px solid var(--line);padding-top:16px}
footer a{color:var(--accent)}

/* utility classes — used instead of inline style attributes so the page
   satisfies a strict style-src 'self' Content Security Policy */
.tight{margin-top:0}
.blockline{display:block}
.mb12{margin:0 0 12px}
.lnk{color:var(--accent)}
