:root{--ink:#14213d;--muted:#55607a;--bg:#f7f8fb;--card:#fff;--brand:#1f6feb;--ok:#1a7f37;--warn:#b26b00;--bad:#c62828;--line:#e3e6ee}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
a{color:var(--brand)}
header.site{background:var(--card);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.25rem;text-decoration:none;color:var(--ink)}
nav a{margin-left:1rem;text-decoration:none;color:var(--muted)}
nav a:hover{color:var(--brand)}
.wrap{max-width:960px;margin:0 auto;padding:1rem 1.25rem}
.hero{padding:3rem 0 2rem}
.hero h1{font-size:2.1rem;line-height:1.2;margin:0 0 1rem}
.lead{font-size:1.15rem;color:var(--muted)}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.75rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn.secondary{background:#fff;color:var(--brand);border:2px solid var(--brand)}
.btn+ .btn{margin-left:.5rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.5rem;margin:1rem 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.price{font-size:2.5rem;font-weight:800;margin:.25rem 0}
.small{font-size:.9rem;color:var(--muted)}
ol.steps li{margin:.4rem 0}
footer{border-top:1px solid var(--line);margin-top:3rem;background:var(--card)}
input[type=text]{width:100%;max-width:420px;padding:.7rem;border:1px solid var(--line);border-radius:8px;font-size:1rem}
.result{border-left:6px solid var(--line)}
.result.pass{border-left-color:var(--ok)}
.result.partial{border-left-color:var(--warn)}
.result.gap{border-left-color:var(--bad)}
.badge{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.85rem;font-weight:700;color:#fff}
.badge.pass{background:var(--ok)}.badge.partial{background:var(--warn)}.badge.gap{background:var(--bad)}.badge.info{background:var(--muted)}
code,pre{background:#eef1f7;border-radius:6px;padding:.1rem .35rem;font-size:.85rem;word-break:break-all;white-space:pre-wrap}
pre{padding:.6rem}
details summary{cursor:pointer;color:var(--muted)}
