body{
  margin:0;
  padding:0;
  background:#f5f7fb;
  color:#222;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
.wrap{
  max-width:1100px;
  margin:40px auto;
  padding:20px;
}
.card{
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  padding:28px;
  margin-bottom:24px;
}
.hero h1{
  margin-top:0;
  font-size:32px;
}
.lead{
  color:#555;
  font-size:16px;
  line-height:1.8;
}
.form-block{
  margin-top:10px;
}
label{
  display:block;
  font-weight:bold;
  margin-bottom:8px;
  margin-top:10px;
}
input[type="url"], input[type="number"]{
  width:100%;
  padding:14px;
  font-size:16px;
  border:1px solid #ccc;
  border-radius:10px;
  box-sizing:border-box;
  margin-bottom:14px;
}
button{
  background:#2563eb;
  color:#fff;
  border:none;
  padding:14px 22px;
  border-radius:10px;
  font-size:16px;
  cursor:pointer;
}
button:hover{
  background:#1d4ed8;
}
.links{
  margin-top:18px;
}
.links a,
a.btn-link,
.top-links a{
  color:#2563eb;
  text-decoration:none;
}
.score-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.score-main{
  font-size:42px;
  font-weight:bold;
  color:#111827;
}
.score-sub{
  font-size:16px;
  color:#6b7280;
}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
}
.panel{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:18px;
}
.panel h3{
  margin-top:0;
}
.badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:bold;
  background:#eef2ff;
  color:#3730a3;
}
.list{
  padding-left:20px;
  line-height:1.9;
}
pre.code{
  background:#0f172a;
  color:#e5e7eb;
  padding:16px;
  border-radius:12px;
  overflow:auto;
  font-size:13px;
  line-height:1.6;
  white-space:pre-wrap;
}
table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
th, td{
  border-bottom:1px solid #e5e7eb;
  padding:12px;
  text-align:left;
  vertical-align:top;
}
th{
  background:#f3f4f6;
}
.small{
  color:#6b7280;
  font-size:13px;
}
.meta{
  line-height:1.9;
}
.top-links{
  margin-bottom:20px;
}
.notice-good{
  color:#065f46;
  font-weight:bold;
}
.notice-bad{
  color:#991b1b;
  font-weight:bold;
}
