/* ------------------------------
   共通スタイル
------------------------------ */
:root {
  --pink:#d94c63;
  --blue:#2563eb;
  --green:#16a34a;
  --orange:#ea580c;
  --bg:#fafafa;
  --brand:#d94c63;
  --ink:#333;
  --muted:#666;
  --ring:rgba(217,76,99,.2);
  --card:#fff;
  --shadow:0 4px 14px rgba(0,0,0,.08);
  --radius:14px;
}

html, body {
  margin:0;
  padding:0;
  background:var(--bg);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Roboto,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  color: var(--ink);
}

/* ------------------------------
   ヘッダー
------------------------------ */
header {
  position:sticky;
  top:0;
  z-index:10;
  background:linear-gradient(0deg,rgba(255,255,255,.9),rgba(255,255,255,.9)),
             repeating-linear-gradient(45deg,#fceaea 0 10px,#ffffff 10px 20px);
  border-bottom:1px solid #f2d5d9;
}
.wrap {
  max-width:1100px;
  margin:0 auto;
  padding:16px;
}
h1 {
  margin:0;
  color:var(--brand);
  font-size:18px;
}
small {
  color:var(--muted);
}

/* ------------------------------
   Index専用スタイル
------------------------------ */
.grid {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}
@media(min-width:760px){
  .grid {grid-template-columns:1fr 1fr;}
}

.card {
  background:#fff;
  border:1px solid #eee;
  border-radius:16px;
  padding:22px;
  text-decoration:none;
  display:flex;
  gap:14px;
  align-items:center;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
  transition: box-shadow 0.2s ease;
}
.card:hover {
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.badge {
  display:inline-block;
  padding:6px 10px;
  border-radius:9999px;
  font-weight:700;
  color:#fff;
  font-size:13px;
}
.badge.w {background:var(--pink);}
.badge.m {background:var(--blue);}
.badge.ibjs {background:var(--green);}
.badge.jba {background:var(--orange);}

.title {
  font-size:18px;
  margin:6px 0 2px;
  font-weight:bold;
  color:var(--ink);
}
.desc {
  color:var(--muted);
  font-size:14px;
}
.pill {
  margin-left:auto;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid #ddd;
  background:#fff;
  font-size:13px;
  color:var(--ink);
}