/* band_style_modern.css */
:root{
  --bg:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --brand:#2563eb;
  --border:#e5e7eb;
  --card:#f8fafc;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height:1.7;
}

.site-header{
  max-width:980px;
  margin:0 auto;
  padding:26px 16px 10px;
  text-align:center;
}

.site-lead{
  margin:14px 0 18px;
  font-size:18px;
  font-weight:700;
}

.site-info{
  width:min(720px, 100%);
  margin:0 auto;
  border-collapse:collapse;
  border:1px solid var(--border);
  font-size:14px;
  background:#fff;
}
.site-info td{
  border:1px solid var(--border);
  padding:10px 12px;
  text-align:left;
}

.site-main{
  max-width:980px;
  margin:0 auto;
  padding:10px 16px 40px;
}

.category-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px 14px;
  margin-top:18px;
}

.category-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 12px;
  border:1px solid var(--border);
  background:var(--card);
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease;
}

.category-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(17,24,39,0.08);
  border-color:#c7d2fe;
}

.category-text h2{
  margin:0;
  font-size:16px;
  line-height:1.25;
}
.category-text p{
  margin:6px 0 0;
  font-size:13px;
  color:var(--muted);
}

.search-link{
  margin:18px 0 0;
  text-align:center;
  font-size:14px;
}
.search-link a{
  color:var(--brand);
  font-weight:700;
  text-decoration:none;
}
.search-link a:hover{
  text-decoration:underline;
}

.contrib{
  text-align:center;
  margin-top:18px;
  color:var(--muted);
  font-size:14px;
}
