
.habitatShell{padding-top:24px}
.habitatHero{align-items:stretch}
.habitatSpecimen{min-height:100%}
.habitatHeroFigure,
.foundationFigure,
.diagramFigure{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:230px;
  border:1px solid rgba(113,129,142,.18);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(244,237,227,.75));
  padding:16px;
}
.habitatHeroFigure img,
.foundationFigure img,
.diagramFigure img{width:100%; max-width:300px; height:auto; display:block}
.foundationGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.foundationCard,
.diagramCard,
.checkCard{
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,253,248,.98), rgba(247,241,231,.98));
  padding:18px;
  display:grid;
  gap:14px;
}
.foundationTop,.diagramTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.foundationTitleWrap{display:grid;gap:6px}
.foundationBadge{padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line)}
.foundationBadge.space{background:rgba(87,113,79,.12);border-color:rgba(87,113,79,.25);color:var(--good)}
.foundationBadge.shelter{background:rgba(113,129,142,.12);border-color:rgba(113,129,142,.25);color:var(--bluegray)}
.foundationBadge.rhythm{background:rgba(143,90,73,.12);border-color:rgba(143,90,73,.25);color:var(--warn)}
.foundationText,.diagramText{color:var(--muted)}
.foundationList{display:grid;gap:8px}
.foundationListItem,.diagramTag{padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.6);color:var(--muted)}
.diagramGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.diagramMeta{display:flex;justify-content:space-between;gap:10px;align-items:center}
.diagramTopic{padding:8px 12px;border-radius:999px;border:1px solid rgba(113,129,142,.25);background:rgba(113,129,142,.08);color:var(--bluegray);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.checkCard{gap:10px}
.checkPrompt{font-family:Georgia, "Times New Roman", serif;font-size:1.1rem;color:#2a2723}
.checkAnswer{color:var(--muted)}
@media (max-width: 860px){
  .habitatHero{grid-template-columns:1fr}
}
