/* ================================================================
   writing-task2/discuss-both-views-type — local.css
   ================================================================ */

/* Japanese translation in task card */
.dbv-task-ja {
  font-size: .84rem;
  color: var(--gray2);
  line-height: 1.8;
  margin: .6rem 0 0;
  padding-top: .7rem;
  border-top: 1px dashed rgba(70,162,218,.25);
}

/* ----------------------------------------------------------------
   Comparison note (意見のすり替えに注意)
   ---------------------------------------------------------------- */
.dbv-compare {
  background: rgba(245,161,0,.06);
  border: 1px solid rgba(245,161,0,.3);
  border-radius: 8px;
  overflow: hidden;
  margin: .4rem 0 1.2rem;
}
.dbv-compare__row {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: .75rem 1.1rem;
  border-bottom: 1px solid rgba(245,161,0,.15);
}
.dbv-compare__row:last-child { border-bottom: none; }
.dbv-compare__row--note { background: rgba(245,161,0,.05); }
.dbv-compare__label {
  flex-shrink: 0;
  min-width: 6.5rem;
  font-size: .75rem;
  font-weight: 700;
  color: #9a6800;
  font-family: 'Noto Sans JP', sans-serif;
  padding-top: .15rem;
}
.dbv-compare__text {
  font-size: .88rem;
  line-height: 1.7;
  color: var(--black);
}

/* ----------------------------------------------------------------
   Body pattern display
   ---------------------------------------------------------------- */
.dbv-body-pattern {
  background: rgba(4,63,109,.04);
  border-radius: 8px;
  padding: .9rem 1.2rem;
  margin: .6rem 0 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.dbv-body-pattern__item {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.dbv-body-pattern__label {
  flex-shrink: 0;
  font-size: .72rem;
  font-weight: 700;
  color: var(--lb);
  font-family: 'Raleway', sans-serif;
  letter-spacing: .06em;
  min-width: 3.2rem;
}
.dbv-body-pattern code {
  font-size: .88rem;
  color: var(--blue);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(70,162,218,.2);
  border-radius: 4px;
  padding: .22rem .6rem;
  font-family: 'Noto Sans JP', sans-serif;
}

/* ----------------------------------------------------------------
   Body plan table (基本構成)
   ---------------------------------------------------------------- */
.dbv-plan-table {
  width: 100%;
  border-collapse: collapse;
  margin: .4rem 0 1.2rem;
  font-size: .9rem;
}
.dbv-plan-table td {
  padding: .75rem 1rem;
  border-bottom: 1px solid rgba(70,162,218,.12);
  vertical-align: middle;
  line-height: 1.55;
}
.dbv-plan-table tr:last-child td { border-bottom: none; }
.dbv-plan-table tr:nth-child(odd) { background: rgba(70,162,218,.04); }
.dbv-plan-table__num {
  font-weight: 800;
  color: var(--lb);
  font-family: 'Raleway', sans-serif;
  white-space: nowrap;
}
.dbv-plan-table__role {
  font-weight: 700;
  color: var(--blue);
  white-space: nowrap;
}
.dbv-plan-table__code {
  font-size: .86rem;
  color: var(--gray);
  font-style: italic;
}

/* ----------------------------------------------------------------
   Responsive
   ---------------------------------------------------------------- */
@media (max-width: 640px) {
  .dbv-compare__row {
    flex-direction: column;
    gap: .3rem;
  }
  .dbv-compare__label { min-width: auto; }
  .dbv-body-pattern code { font-size: .82rem; }
  .dbv-plan-table td { padding: .6rem .75rem; }
}
