.h5p-bird-migration {
  font-family: Arial, Helvetica, sans-serif;
  background: #f3f7fb;
  color: #1f2937;
}
.bm-wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 18px;
  box-sizing: border-box;
}
.bm-hero {
  background: linear-gradient(135deg, #eaf7ff, #f3f8e8);
  border: 1px solid #d7e4ea;
  border-radius: 18px;
  padding: 24px;
  margin-bottom: 18px;
}
.bm-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  opacity: .7;
  margin-bottom: 8px;
}
.bm-hero h1 { margin: 0 0 8px; font-size: 28px; }
.bm-hero p { margin: 0; line-height: 1.55; }
.bm-badge {
  display: inline-block;
  margin-top: 14px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid #cfdddf;
  background: rgba(255,255,255,.8);
  font-weight: 700;
  font-size: 13px;
}
.bm-card, .bm-summary {
  background: #fff;
  border: 1px solid #e0e5e8;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 18px;
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
}
.bm-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.bm-num {
  width: 34px; height: 34px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #e8f3fb;
  border: 1px solid #c8dce9;
  font-weight: 700;
}
.bm-card-head h2, .bm-summary h2 { margin: 0; font-size: 21px; }
.bm-image { text-align: center; margin: 14px 0 16px; }
.bm-image img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  border: 1px solid #e1e6e9;
}
.bm-note {
  background: #fff8dc;
  border: 1px solid #eadb93;
  border-radius: 10px;
  padding: 10px 12px;
  line-height: 1.45;
}
.bm-long {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-weight: 700;
}
.bm-long textarea, .bm-row select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #bbc7ce;
  border-radius: 9px;
  padding: 10px;
  font: inherit;
  background: #fff;
}
.bm-criteria {
  margin: 12px 0;
  padding: 12px 14px;
  background: #f6f8fa;
  border: 1px solid #e0e5e8;
  border-radius: 10px;
}
.bm-criteria ul { margin: 8px 0 0 20px; }
.bm-table {
  border: 1px solid #d7dee3;
  border-radius: 10px;
  overflow: hidden;
  margin: 14px 0;
}
.bm-table-head, .bm-row {
  display: grid;
  grid-template-columns: .8fr 1.5fr 1.5fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
}
.bm-table-head { background: #edf4f8; font-weight: 700; }
.bm-row { border-top: 1px solid #e2e7ea; }
.bm-check, .bm-final, .bm-reset {
  border: 0;
  border-radius: 9px;
  padding: 10px 15px;
  font-weight: 700;
  cursor: pointer;
  font-size: 14px;
}
.bm-check, .bm-final { background: #2c667a; color: #fff; }
.bm-reset { background: #edf0f2; color: #24333b; }
.bm-feedback {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 9px;
  line-height: 1.45;
}
.bm-feedback.good { background: #eaf7ed; color: #155d2a; }
.bm-feedback.mid { background: #fff7dc; color: #725700; }
.bm-feedback.bad { background: #fdecec; color: #8b2525; }
.bm-score { display: flex; align-items: baseline; gap: 14px; margin: 12px 0; }
.bm-percent { font-size: 34px; }
.bm-raw { font-weight: 700; }
.bm-actions { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 700px) {
  .bm-wrap { padding: 10px; }
  .bm-hero, .bm-card, .bm-summary { padding: 15px; border-radius: 12px; }
  .bm-table-head { display: none; }
  .bm-row { grid-template-columns: 1fr; }
  .bm-hero h1 { font-size: 23px; }
}

