/* =========================================================================
   fase-f/mpi-1.4/styles.css
   Proyek Mini Barisan & Deret Aritmetika — Fase F
   (Project Based Learning)

   Hanya memuat gaya yang KHAS modul ini. Seluruh dasar design system
   (panel, tombol, kotak umpan balik, pilihan ganda, pemilahan, pertanyaan
   penuntun, kartu ringkasan, urut-ketuk, papan info .info-poster,
   navigasi tahap, modal), isian rumus .rumus-*, blok kode .lf-kode,
   serta komponen proyek (.kanban-*, .plan-lab-*, .test-runner-*,
   .psum-*) berasal dari shared/base.css.
   ========================================================================= */

/* -------------------------------------------------------------------------
   Tahap 1 — pesan pembina, kartu brief & pertanyaan mendasar
   ------------------------------------------------------------------------- */

.klien-chat {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin: var(--space-3) 0 0;
}

.klien-chat__avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  font-size: 1.4rem;
  border-radius: 50%;
  background: var(--color-warning-soft);
}

.klien-chat__bubble {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: 4px var(--radius-md) var(--radius-md) var(--radius-md);
  background: var(--color-surface);
  line-height: 1.6;
}

.brief-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-3);
}

.brief-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-top: 4px solid var(--color-orange);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.brief-card--aktif {
  border-top-color: var(--color-primary);
  background: var(--color-primary-soft);
}

.brief-card__head {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.brief-card__ikon {
  font-size: 1.8rem;
  line-height: 1;
}

.brief-card__judul {
  margin: 0;
  font-size: 1.05rem;
}

.brief-card__klien {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-ink-muted);
}

.brief-card__pesan {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.6;
}

.brief-card__tanya {
  margin: 0;
  padding-left: var(--space-5);
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--color-blue-strong);
}

.pertanyaan-mendasar {
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-left: 4px solid var(--color-purple);
  border-radius: var(--radius-md);
  background: var(--color-purple-soft);
}

.pertanyaan-mendasar__label {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--color-purple-strong);
}

.pertanyaan-mendasar p {
  margin: var(--space-1) 0 0;
  font-weight: 700;
  line-height: 1.6;
}

/* -------------------------------------------------------------------------
   Tahap 2–6 — langkah isian, strip brief, cek kewajaran, kode
   ------------------------------------------------------------------------- */

.peta-langkah,
.karya-langkah,
.harapan-langkah {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

.brief-strip {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-md);
  background: var(--color-primary-soft);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.brief-strip__ikon {
  font-size: 1.4rem;
}

.cek-apit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
  font-weight: 700;
}

.cek-apit__item {
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  background: var(--color-bg-grid);
  font-family: var(--font-mono);
  font-size: 0.9rem;
}

.cek-apit__item--sn {
  background: var(--color-success-soft);
  color: var(--color-success-strong);
}

.kode-opsi {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  overflow-wrap: anywhere;
  white-space: normal;
}

.plan-lab + .btn-group + .dl-step,
.plan-lab + .dl-step {
  margin-top: var(--space-4);
}

.dl-step__label code {
  font-family: var(--font-mono);
  overflow-wrap: anywhere;
}

/* -------------------------------------------------------------------------
   Temuan, Kartu Proyek, Uji Terap & Selesai
   ------------------------------------------------------------------------- */

.temuan-list {
  margin: 0;
  padding-left: var(--space-5);
  line-height: 1.7;
}

#kartuWrap,
.done-card__kartu {
  margin: var(--space-4) 0;
  text-align: left;
}

.dl-exercise .dl-input-row .input-text {
  flex: 1 1 10rem;
  max-width: 16rem;
}

.contoh-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-3);
  margin: var(--space-4) 0;
}

.contoh-grid .formula-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}

.contoh-isi {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-primary-strong);
  overflow-wrap: anywhere;
}

/* -------------------------------------------------------------------------
   Responsif
   ------------------------------------------------------------------------- */

@media (max-width: 600px) {
  .klien-chat__avatar {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }

  .brief-card {
    padding: var(--space-3);
  }
}
