.cc-source-first-look {
  --cc-first-line: rgba(108, 165, 183, .32);
  --cc-first-paper: #f4f9fa;
  color: #e8f4f5;
  background: linear-gradient(145deg, #102733, #173b45 58%, #1c4147);
  border: 1px solid #48727a;
  border-radius: 18px;
  padding: clamp(.85rem, 2vw, 1.3rem);
  box-shadow: inset 0 1px rgba(255,255,255,.1), 0 14px 35px rgba(0, 16, 25, .18);
  overflow: hidden;
}
.cc-source-first-look * { box-sizing: border-box; }
.cc-source-first-kicker {
  margin: 0 0 .3rem;
  color: #9bd7de;
  font: 800 .66rem/1.3 system-ui, sans-serif;
  letter-spacing: .16em;
}
.cc-source-first-look h4 { margin: 0; color: #fff; font-size: clamp(1.06rem, 2.2vw, 1.35rem); }
.cc-source-first-rail { display: flex; gap: .4rem; flex-wrap: wrap; margin: .8rem 0 1rem; }
.cc-source-first-rail span {
  border: 1px solid var(--cc-first-line);
  border-radius: 999px;
  padding: .32rem .57rem;
  color: #b5cdd0;
  font: 700 .72rem/1 system-ui, sans-serif;
}
.cc-source-first-rail .is-current { background: #d5eff0; border-color: #d5eff0; color: #143940; }
.cc-source-first-prompt { max-width: 75ch; margin: 0 0 .8rem; color: #d5e7e8; line-height: 1.45; }
.cc-source-first-leads, .cc-source-first-actions, .cc-source-first-choices, .cc-source-first-claims {
  display: flex; gap: .52rem; flex-wrap: wrap; margin: .7rem 0;
}
.cc-source-first-choices, .cc-source-first-claims { flex-direction: column; align-items: stretch; }
.cc-source-first-leads .cc-source-first-button { min-width: 3.5rem; }
.cc-source-first-button {
  appearance: none;
  border: 1px solid #8db5bc;
  border-radius: 10px;
  background: #e6f1f2;
  color: #173840;
  padding: .58rem .78rem;
  font: 750 .84rem/1.32 system-ui, sans-serif;
  text-align: left;
  cursor: pointer;
}
.cc-source-first-button:hover:not(:disabled), .cc-source-first-button:focus-visible { background: #fff; border-color: #37c7bf; }
.cc-source-first-button:focus-visible { outline: 3px solid #ffe189; outline-offset: 2px; }
.cc-source-first-button[aria-pressed="true"] { background: #4ed3ca; border-color: #4ed3ca; color: #082f34; }
.cc-source-first-button:disabled { opacity: .58; cursor: default; }
.cc-source-first-choices .cc-source-first-button,
.cc-source-first-claims .cc-source-first-button { width: 100%; }
.cc-source-first-duo, .cc-source-first-lanes, .cc-source-first-context {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr));
  gap: .65rem;
  margin: .6rem 0 .9rem;
}
.cc-source-first-sheet {
  background: var(--cc-first-paper);
  color: #173840;
  border: 1px solid #b9d4d8;
  border-radius: 11px;
  min-height: 8rem;
  padding: .8rem;
  position: relative;
}
.cc-source-first-sheet::after {
  content: "";
  display: block;
  height: 1px;
  background: repeating-linear-gradient(90deg, #abd0d6 0 7px, transparent 7px 11px);
  margin-top: .8rem;
}
.cc-source-first-sheet small, .cc-source-first-info small {
  display: block;
  font: 800 .66rem/1.35 system-ui, sans-serif;
  letter-spacing: .09em;
  color: #30656d;
  margin-bottom: .38rem;
}
.cc-source-first-sheet strong, .cc-source-first-info strong { display: block; font-size: .94rem; line-height: 1.35; }
.cc-source-first-sheet p { margin: .56rem 0 0; font-size: .8rem; }
.cc-source-first-info {
  border: 1px solid var(--cc-first-line);
  background: #ecf6f5;
  color: #153c44;
  border-radius: 11px;
  min-height: 5.5rem;
  padding: .72rem;
}
.cc-source-first-info.is-image { border-left: 4px solid #96c5e9; }
.cc-source-first-info.is-lab { border-left: 4px solid #d8bc82; }
.cc-source-first-info.is-perfusion, .cc-source-first-info.is-patient { border-left: 4px solid #d39d98; }
.cc-source-first-info.is-monitor, .cc-source-first-info.is-quality { border-left: 4px solid #94cfbe; }
.cc-source-first-info.is-device { border-left: 4px solid #b4acd7; }
.cc-source-first-media-limit { color: #c6e2e2; font-size: .8rem; margin: .35rem 0 .75rem; }
.cc-source-first-feedback {
  border: 1px solid #6e9ea2;
  border-radius: 10px;
  background: #dcefee;
  color: #153840;
  padding: .7rem .85rem;
  margin-top: .8rem;
  line-height: 1.42;
}
.cc-source-first-feedback strong { display: block; margin-bottom: .3rem; }
.cc-source-first-feedback p { margin: .25rem 0; }
.cc-source-first-boundary { margin: .8rem 0 0; color: #bed5d6; font-size: .74rem; line-height: 1.4; }
@media (max-width: 420px) {
  .cc-source-first-look { padding: .72rem; border-radius: 12px; }
  .cc-source-first-duo, .cc-source-first-lanes, .cc-source-first-context { grid-template-columns: 1fr; }
  .cc-source-first-actions .cc-source-first-button { flex: 1 1 100%; }
  .cc-source-first-sheet { min-height: 0; }
}
