:root{--bg:#0b0f17;--card:#121a29;--muted:#94a3b8;--text:#e5e7eb;--line:#22304a;--accent:#60a5fa}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.wrap{max-width:1100px;margin:0 auto;padding:22px}
.brand{display:flex;gap:14px;align-items:flex-start}
.logo{font-weight:800;letter-spacing:.08em;background:linear-gradient(90deg,#60a5fa,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:22px;padding-top:2px}
h1{margin:0;font-size:26px}
.sub{margin:6px 0 0;color:var(--muted);max-width:70ch}
.controls{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-top:16px}
.control{background:rgba(18,26,41,.65);border:1px solid var(--line);border-radius:12px;padding:10px}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
select{width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#0f1626;color:var(--text)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:10px}
.card{background:rgba(18,26,41,.65);border:1px solid var(--line);border-radius:14px;padding:14px}
.card .k{color:var(--muted);font-size:12px}
.card .v{font-size:22px;font-weight:700;margin-top:6px}
.section{margin-top:22px}
.section h2{margin:0 0 6px;font-size:18px}
.hint{margin:0 0 10px;color:var(--muted);font-size:13px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:rgba(18,26,41,.45)}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:10px 10px;border-bottom:1px solid rgba(34,48,74,.6);white-space:nowrap}
th{text-align:left;color:#cbd5e1;background:rgba(18,26,41,.9);position:sticky;top:0;cursor:pointer}
tr:hover td{background:rgba(96,165,250,.06)}
td.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:#cbd5e1;font-size:12px}
.badge.worse{border-color:rgba(239,68,68,.5);color:#fecaca}
.badge.better{border-color:rgba(34,197,94,.5);color:#bbf7d0}
details{background:rgba(18,26,41,.45);border:1px solid var(--line);border-radius:12px;padding:12px}
details summary{cursor:pointer}
.details{color:var(--muted);font-size:13px;margin-top:10px}
.downloads{margin:8px 0 0;padding-left:18px}
.downloads a{color:var(--accent);text-decoration:none}
.downloads a:hover{text-decoration:underline}
.footer{margin-top:26px;color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:14px}
@media (max-width:980px){.controls{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.controls{grid-template-columns:1fr}.cards{grid-template-columns:1fr}}
