/* A soft presentation of recorded observations, not an uncertainty envelope. */
.clinical-timeline-navigator.ct-atmosphere { position: relative; margin: 10px 0; }
.clinical-timeline-navigator.ct-atmosphere > .ct-workspace-tools { position: absolute; z-index: 5; top: 0; right: 0; margin: 0; }
.clinical-timeline-navigator.ct-atmosphere > .ct-workspace-tools > button { min-height: 44px; }
.clinical-timeline-navigator.ct-atmosphere .ct-latest {
  display: grid;
  grid-template-columns: max-content minmax(0,1fr);
  align-items: baseline;
  gap: 3px 12px;
  min-height: 72px;
  padding: 0 180px 10px 0;
}
.clinical-timeline-navigator.ct-atmosphere .ct-latest > .ct-latest-name { grid-column: 1 / -1; min-width: 0; font-size: 14px; line-height: 20px; }
.clinical-timeline-navigator.ct-atmosphere .ct-latest > .ct-latest-value { grid-column: 1; grid-row: 2; font-size: 32px; line-height: 38px; }
.clinical-timeline-navigator.ct-atmosphere .ct-latest > .ct-latest-date { grid-column: 2; grid-row: 2; font-size: 12px; line-height: 18px; }
.clinical-timeline-navigator.ct-atmosphere .ct-latest.is-unordered { grid-template-columns: max-content minmax(0,1fr); }
.clinical-timeline-navigator.ct-atmosphere .ct-latest.is-unordered > .ct-latest-count { grid-column: 2; grid-row: 2; font-size: 18px; line-height: 24px; letter-spacing: -.2px; }
.clinical-timeline-navigator.ct-atmosphere .ct-latest.is-unordered > .ct-latest-date { grid-column: 1 / -1; grid-row: 3; }
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar {
  display: grid;
  grid-template-columns: minmax(180px,1fr) auto auto;
  align-items: end;
  gap: 8px 12px;
  margin: 0 0 10px;
}
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar > .ct-series { display: contents; }
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-series > label { grid-column: 1; grid-row: 1; display: grid; gap: 3px; min-width: 0; margin: 0; font-size: 11px; }
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-series select { width: 100%; min-height: 44px; padding: 8px 10px; font-size: 13px; }
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-navigation { grid-column: 2; grid-row: 1; flex-wrap: nowrap; gap: 5px; margin: 0; }
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-navigation span { white-space: nowrap; min-width: 0; font-size: 11px; }
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar > .ct-periods { grid-column: 3; grid-row: 1; flex-wrap: nowrap; gap: 5px; margin: 0; }
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-periods button,
.clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-navigation button { min-width: 44px; min-height: 44px; padding: 8px; margin: 0; font-size: 12px; }

.clinical-timeline-navigator.ct-atmosphere .ct-plot {
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: auto;
  height: clamp(300px, 40vh, 420px);
  border-color: rgba(var(--primary-rgb), .1);
  background: linear-gradient(160deg, rgba(var(--primary-rgb), .055), rgba(255,255,255,.6) 58%, rgba(var(--primary-rgb), .025));
  border-radius: 24px;
}

.clinical-timeline-navigator.ct-atmosphere .ct-plot > svg { position: relative; z-index: 0; }
.clinical-timeline-navigator.ct-atmosphere .ct-grid { stroke-opacity: .65; }
.clinical-timeline-navigator.ct-atmosphere .ct-curve { stroke-width: 1.5; stroke-opacity: .45; }
.clinical-timeline-navigator.ct-atmosphere .ct-axis { stroke: rgba(var(--primary-rgb), .19); }

.ct-atmosphere .ct-observation-particle {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(var(--primary-rgb), .18) 0%, rgba(var(--primary-rgb), .065) 38%, transparent 72%);
  pointer-events: none;
}

.ct-atmosphere .ct-observation-nucleus {
  width: 9px;
  height: 9px;
  box-sizing: border-box;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--primary-dk);
  box-shadow: 0 0 0 1px rgba(var(--primary-rgb), .75), 0 2px 5px rgba(var(--primary-rgb), .15);
}

.ct-atmosphere .ct-observation-particle.is-approximate .ct-observation-nucleus {
  width: 11px;
  height: 11px;
  border: 2px dashed var(--primary-dk);
  background: #fff;
  box-shadow: none;
}

.ct-atmosphere .ct-observation-particle.is-qualitative .ct-observation-nucleus { opacity: 0; }
.clinical-timeline-navigator.ct-atmosphere button.ct-dot { z-index: 2; color: var(--primary-dk); }
.ct-atmosphere .ct-dot > .ct-point-core { opacity: 0; }
.clinical-timeline-navigator.ct-atmosphere button.ct-dot:has(> .ct-point-core):hover,
.clinical-timeline-navigator.ct-atmosphere button.ct-dot:has(> .ct-point-core):focus-visible {
  background: rgba(var(--primary-rgb), .075);
}
.clinical-timeline-navigator.ct-atmosphere button.ct-dot:not(:has(> .ct-point-core)) {
  width: 44px;
  height: 44px;
  min-height: 44px;
  border: 1px solid rgba(var(--primary-rgb), .25);
  background: rgba(255,255,255,.94);
  box-shadow: 0 3px 12px rgba(var(--primary-rgb), .1);
}
.clinical-timeline-navigator.ct-atmosphere button.ct-dot:not(:has(> .ct-point-core))::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
}

.clinical-timeline-navigator.ct-atmosphere .ct-latest-values { grid-column: 1; grid-row: 2; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-atmosphere .ct-latest-values > span {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  padding: 6px 10px;
  border: 1px solid rgba(var(--primary-rgb), .12);
  border-radius: 12px;
  color: var(--tx-2);
  background: rgba(var(--primary-rgb), .035);
  font-size: 24px;
  line-height: 28px;
  font-weight: 700;
}
.ct-atmosphere .ct-latest-values small { font-size: 11px; font-weight: 500; }

.clinical-timeline-navigator.ct-atmosphere .ct-event {
  z-index: 3;
  width: 44px;
  height: 44px;
  min-height: 44px;
  border: 1px solid rgba(var(--primary-rgb), .24);
  background: linear-gradient(155deg, #fff, rgba(var(--primary-rgb), .07));
  color: var(--primary-dk);
  box-shadow: 0 4px 0 rgba(var(--primary-rgb), .085), 0 8px 18px rgba(var(--primary-rgb), .1);
}
.ct-atmosphere .ct-event-symbol { font-size: 14px; line-height: 1; }
.ct-atmosphere .ct-event-label {
  top: 100%;
  margin-top: 9px;
  max-width: 125px;
  padding: 3px 5px;
  border-radius: 7px;
  color: var(--tx-2);
  background: rgba(255,255,255,.8);
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
}

.ct-atmosphere .ct-phase-anchor-rail { position: relative; height: 66px; margin: 0 0 8px; }
.ct-atmosphere .ct-phase-anchor-rail::before {
  content: '';
  position: absolute;
  left: 6%;
  right: 6%;
  top: 23px;
  height: 1px;
  background: rgba(var(--primary-rgb), .14);
}
.clinical-timeline-navigator.ct-atmosphere .ct-phase-anchor {
  position: absolute;
  top: 2px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid rgba(var(--primary-rgb), .2);
  border-radius: 15px;
  transform: translateX(-50%);
  color: var(--primary-dk);
  background: linear-gradient(150deg, #fff, rgba(var(--primary-rgb), .08));
  box-shadow: 0 3px 0 rgba(var(--primary-rgb), .09), 0 5px 14px rgba(var(--primary-rgb), .08);
}
.clinical-timeline-navigator.ct-atmosphere .ct-phase-anchor:hover:not(:disabled),
.clinical-timeline-navigator.ct-atmosphere .ct-phase-anchor:active:not(:disabled) { transform: translateX(-50%); }
.ct-atmosphere .ct-phase-anchor-number { font-size: 14px; font-weight: 750; }
.ct-atmosphere .ct-phase-anchor-title {
  position: absolute;
  top: 47px;
  left: 50%;
  width: 118px;
  transform: translateX(-50%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--tx-2);
  font-size: 11px;
  font-weight: 600;
}
.ct-atmosphere .ct-phase-anchor.is-at-start .ct-phase-anchor-title { left: 0; transform: none; text-align: left; }
.ct-atmosphere .ct-phase-anchor.is-at-end .ct-phase-anchor-title { left: auto; right: 0; transform: none; text-align: right; }
.ct-atmosphere .ct-phase-anchor[aria-pressed='true'] { outline: 2px solid rgba(var(--primary-rgb), .45); outline-offset: 3px; }
.ct-atmosphere .ct-event:focus-visible,
.ct-atmosphere .ct-phase-anchor:focus-visible,
.ct-atmosphere .ct-dot:focus-visible { outline: 3px solid rgba(var(--primary-rgb), .5); outline-offset: 3px; }
.ct-atmosphere .ct-atmosphere-reading { font-size: 13px; line-height: 1.5; color: var(--tx-3); }
.ct-atmosphere .ct-atmosphere-reading summary { color: var(--tx-2); font-weight: 700; cursor: pointer; }

@media (max-width: 600px) {
  .clinical-timeline-navigator.ct-atmosphere .ct-latest { grid-template-columns: max-content minmax(0,1fr); gap: 4px 8px; min-height: 0; padding: 0 0 10px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-latest > .ct-latest-name { min-height: 44px; padding-right: 165px; display: flex; align-items: center; box-sizing: border-box; font-size: 13px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-latest.is-unordered > .ct-latest-count { grid-column: 2; grid-row: 2; font-size: 18px; line-height: 24px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-latest > .ct-latest-value { font-size: 28px; line-height: 34px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-latest > .ct-latest-date { font-size: 11px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-latest.is-unordered > .ct-latest-date { grid-column: 1 / -1; grid-row: 3; }
  .clinical-timeline-navigator.ct-atmosphere .ct-latest-values { gap: 5px; }
  .ct-atmosphere .ct-latest-values > span { padding: 5px 8px; font-size: 20px; line-height: 25px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-toolbar { grid-template-columns: minmax(0,1fr) auto; gap: 6px; margin-bottom: 8px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-series > label { grid-column: 1 / -1; grid-row: 1; }
  .clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-navigation { grid-column: 2; grid-row: 2; gap: 4px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-navigation span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .clinical-timeline-navigator.ct-atmosphere .ct-toolbar > .ct-periods { grid-column: 1; grid-row: 2; gap: 4px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-toolbar .ct-periods button { padding-inline: 6px; }
  .ct-atmosphere .ct-phase-anchor-rail { height: 60px; margin-bottom: 8px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-phase-anchor { top: 0; }
  .ct-atmosphere .ct-phase-anchor-rail::before { top: 21px; }
  .ct-atmosphere .ct-phase-anchor-title { top: 46px; }
  .clinical-timeline-navigator.ct-atmosphere .ct-plot { height: 350px; border-radius: 20px; }
  .ct-atmosphere .ct-event-label { max-width: 86px; font-size: 10px; }
  .ct-atmosphere .ct-phase-anchor-title { width: 86px; font-size: 10px; }
  .ct-atmosphere .ct-observation-particle { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .clinical-timeline-navigator.ct-atmosphere * { transition: none; animation: none; }
}
