.c1-lab {
  margin: 36px 0 44px;
  padding: 28px;
  background: #f2f6f9;
  border: 1px solid #c3d4e0;
  border-radius: 6px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.c1-lab :is(label, select, .c1-controls > *, .c1-workspace-map > *, .c1-lineage-rails > *, .c1-release-lanes > *, .c1-access-path > *) {
  min-width: 0;
}
.c1-lab .table-scroll {
  max-width: 100%;
}
.c1-lab .table-scroll table {
  min-width: 560px;
}
.c1-lab[data-c1-lab=compute] .table-scroll table {
  min-width: 360px;
}
.c1-lab .table-scroll tbody th {
  min-width: 0;
}
.c1-lab h2 {
  font-size: 1.35rem;
}
.c1-lab > p {
  max-width: var(--reading-width);
}
.c1-lab label {
  display: grid;
  gap: 7px;
  font-size: .94rem;
}
.c1-lab input[type=range] {
  width: 100%;
  min-height: 32px;
}
.c1-lab select {
  width: 100%;
  min-width: 0;
  font-size: .94rem;
}
.c1-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 20px;
  margin: 24px 0;
}
.c1-result {
  margin-top: 24px;
  padding: 18px 0 0;
  border-top: 1px solid #bdcfdd;
  min-width: 0;
  line-height: 1.75;
}
.c1-result p {
  max-width: var(--reading-width);
  margin-bottom: 12px;
}
.c1-result > strong {
  display: block;
  margin-bottom: 12px;
}
.c1-boundary {
  border: 1px solid #a4bdcf;
  padding: 20px;
  margin: 20px 0;
  background: #fff;
  min-width: 0;
}
.c1-boundary > p {
  font-size: .9rem;
  margin-bottom: 16px;
  color: #48657a;
}
.c1-workspace-map {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 24px;
}
.c1-workspace-map .c1-boundary {
  margin: 0;
}
.c1-workspace-map button {
  width: 100%;
  display: block;
  text-align: left;
  justify-content: start;
  margin-bottom: 12px;
}
.c1-workspace-map button[aria-pressed=true] {
  background: #dfeef8;
  border-color: #145a86;
}
.c1-workspace-map small {
  display: block;
  font-weight: 400;
  font-size: .85rem;
  color: #536f83;
  margin-top: 5px;
}
.c1-job-assets {
  padding: 12px;
  background: #edf3f7;
  font-size: .9rem;
}
.c1-evidence {
  margin: 24px 0 0;
  display: grid;
  gap: 16px;
}
.c1-evidence dt {
  font-size: .82rem;
  color: #566675;
}
.c1-evidence dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}
.c1-evidence code {
  font: 400 .82rem/1.7 var(--font-mono);
}
.c1-lineage-rails {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 0;
}
.c1-lineage-rails > div {
  padding: 18px;
  background: #fff;
  border-top: 2px solid #8baec5;
}
.c1-lineage-rails h3 {
  font-size: 1rem;
}
.c1-lineage-rails pre {
  white-space: pre-wrap;
  font: 400 .85rem/1.7 var(--font-mono);
  margin: 12px 0 0;
  overflow-wrap: anywhere;
}
.c1-path {
  overflow-wrap: anywhere;
  font-family: var(--font-mono);
  font-size: .85rem;
}
.c1-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  border-block: 1px solid #b8cddb;
  padding: 18px 0;
  margin: 24px 0;
}
.c1-stats dt {
  font-size: .85rem;
  color: #566675;
}
.c1-stats dd {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 5px 0 0;
}
.c1-timeline svg {
  width: 100%;
  min-width: 640px;
  max-width: none;
  height: auto;
  display: block;
}
.c1-timeline [data-out=chart] {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}
.c1-timeline text {
  font-family: var(--font-sans);
  font-size: 14px;
  fill: #435e70;
}
.c1-timeline p {
  font-size: .88rem;
  margin: 12px 0;
}
.c1-access-path {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0;
}
.c1-access-path > div {
  border-top: 3px solid #8cacbf;
  padding: 14px 0;
  font-size: .94rem;
}
.c1-contract-argv {
  background: #e5eef4;
  padding: 18px;
  overflow-wrap: anywhere;
  font: 400 .85rem/1.8 var(--font-mono);
}
.c1-artifact {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: 400 .85rem/1.8 var(--font-mono);
  padding: 18px;
  background: white;
  border: 1px solid #c7d6e0;
}
.c1-gate-options {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}
.c1-gate-options label {
  display: flex;
  align-items: start;
  gap: 12px;
}
.c1-gate-options input {
  width: 18px;
  height: 18px;
  margin-top: 5px;
  flex-shrink: 0;
}
.c1-gate-list {
  list-style: none;
  margin: 28px 0;
  padding: 0;
  border-left: 2px solid #b4cad9;
}
.c1-gate-list li {
  margin: 0;
  padding: 0 0 24px 24px;
}
.c1-gate-list strong {
  font-weight: 600;
}
.c1-gate-list li > span {
  display: inline-block;
  margin-left: 16px;
  font-size: .88rem;
}
.c1-gate-list p {
  margin: 6px 0 0;
  font-size: .95rem;
  max-width: 70ch;
}
[data-state=pass] {
  color: #206443;
}
[data-state=fail] {
  color: #a72e35;
}
[data-state=not-run] {
  color: #647586;
}
.c1-release-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 28px 0;
}
.c1-release-lanes > div {
  padding: 18px 0;
  border-top: 2px solid #8cacc2;
}
.c1-release-lanes p {
  font-size: .94rem;
}
.c1-release-lanes code {
  font-size: .82rem;
  overflow-wrap: anywhere;
}
.c1-failure-notes {
  margin: 28px 0;
  padding: 20px;
  border-left: 3px solid #bd974f;
  background: #faf8f1;
}
.c1-failure-notes h3 {
  font-size: 1rem;
}
.c1-failure-notes p {
  margin-bottom: 0;
}
.c1-mini-manifest {
  font-family: var(--font-mono);
  font-size: .85rem;
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #edf3f7;
  padding: 20px;
}
@container lesson (min-width:760px) {
  .c1-evidence {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 20px 32px;
  }
  .c1-evidence > :first-child {
    grid-column: 1 / -1;
  }
}
@container lesson (max-width:760px) {
  .c1-workspace-map,
  .c1-lineage-rails,
  .c1-release-lanes {
    grid-template-columns: 1fr;
  }
  .c1-access-path {
    grid-template-columns: 1fr;
  }
  .c1-workspace-map {
    gap: 16px;
  }
}
@container lesson (max-width:540px) {
  .c1-lab {
    padding: 20px 16px;
    margin: 28px 0;
  }
  .c1-lab h2 {
    font-size: 1.22rem;
  }
  .c1-controls {
    gap: 16px;
  }
  .c1-boundary {
    padding: 16px;
  }
  .c1-stats {
    gap: 20px;
  }
  .c1-gate-list li {
    padding-left: 16px;
  }
  .c1-gate-list li > span {
    display: block;
    margin: 4px 0 0;
  }
}
