/* Persistent instrument controls; disclosure never changes the stage geometry. */
.ct-tool-workspace[hidden], .ct-tools[hidden], .ct-tools [hidden] { display: none !important; }
#tabContentExam[data-prism-controller="cover"] #krimsky-prism,
#tabContentExam[data-prism-controller="cover"] #krimsky-prism-companion { display: none; }
.ct-tool-workspace {
  container: instrument / inline-size;
  display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; justify-content: center;
  gap: 12px; margin-top: 6px; padding-top: 10px;
  border-top: 1px solid var(--border-soft); min-width: 0;
}
#tabContentExam .ct-tool-workspace .tool-dock-container {
  position: relative; inset: auto; transform: none;
  min-height: 96px; margin: 0; padding: 8px; gap: 8px;
  width: auto; justify-content: center; direction: ltr;
  grid-column: auto;
  box-shadow: none; background: var(--surface-sunken);
}
.ct-tools {
  --ct-mono: "IBM Plex Mono", ui-monospace, monospace;
  display: grid; grid-template-columns: minmax(0, 1fr); justify-self: center;
  gap: 12px; min-width: 0; width: 100%; max-width: 460px; color: var(--text); font-size: 12px;
}
.ct-tools button { font-family: inherit; }
.ct-tools-label { font-size: 12px; font-weight: 650; color: var(--text-soft); }
.ct-tools-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 8px; min-height: 28px; }
.ct-tools .ct-prism { padding: 0; border: 0; background: none; gap: 6px; min-width: 0; }
.ct-tools .ct-prism-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: min(100%, 340px); }
.ct-tools .ct-field { gap: 3px; min-width: 0; }
.ct-tools .ct-field-name { font-size: 10px; }
.ct-tools .ct-seg { padding: 2px; border-radius: 7px; }
.ct-tools .ct-seg-btn { min-width: 0; min-height: 26px; padding: 3px 5px; font-size: 10px; }
.ct-tools .ct-power { grid-template-columns: 28px 58px 28px; justify-content: start; gap: 5px; width: fit-content; position: relative; padding-bottom: 17px; }
.ct-tools .ct-round { width: 28px; height: 28px; border-radius: 6px; font-size: 19px; box-shadow: none; }
.ct-tools .ct-power-num { direction: ltr; unicode-bidi: isolate; }
.ct-tools .ct-power-num output { font-size: 23px; }
.ct-tools .ct-power-sub { position: absolute; inset-inline-start: 0; top: 32px; width: max-content; max-width: min(280px, 60vw); font-size: 10px; line-height: 1.4; min-height: 14px; text-align: start; }
#ct-active-axis { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ct-tools .ct-link { font-size: 10px; padding: 3px; min-height: 24px; }
.ct-tools-more { position: relative; }
.ct-tools-more > summary {
  cursor: pointer; font-size: 11px; font-weight: 600; color: var(--accent-strong);
  width: fit-content; min-height: 28px; padding: 4px 8px;
  border: 1px solid var(--border); border-radius: 7px; box-sizing: border-box;
}
.ct-tools-more-body {
  position: absolute; inset-inline-end: 0; top: calc(100% + 6px); z-index: 120;
  display: grid; gap: 10px; width: min(320px, calc(100vw - 56px));
  max-height: var(--ct-more-height, min(300px, 50dvh)); overflow: auto; box-sizing: border-box;
  padding: 12px; background: var(--surface); border: 1px solid var(--border);
  border-radius: 10px; box-shadow: 0 8px 24px hsl(var(--shadow-color) / .14);
}
.ct-tools-more[data-side="above"] .ct-tools-more-body { top: auto; bottom: calc(100% + 6px); }
#tabContentExam[data-exam="overview"] .ct-tool-workspace { grid-template-columns: minmax(0, 1fr); }
#tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container { flex-wrap: wrap; border-radius: 12px; }
/* The medium row fits from 768 CSS px, including a zoomed desktop viewport. */
@media (min-width: 768px) {
  .ct-tool-workspace { grid-template-columns: 150px minmax(0, 1fr); }
  #tabContentExam:is([data-exam="ct-console"], [data-exam="kr-console"]) .ct-tool-workspace .tool-dock-container {
    min-height: 128px; align-items: flex-start; padding-bottom: 32px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace {
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: center; gap: 20px; padding-top: 12px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container {
    display: grid; grid-template-columns: repeat(3, 60px);
    gap: 28px 10px; padding: 12px 8px 32px; justify-self: stretch;
  }
  .ct-tool-workspace .ct-tools { max-width: none; }
  .ct-tool-workspace .ct-prism {
    display: grid; grid-template-columns: minmax(0, 1fr) 140px; column-gap: 20px;
    grid-template-areas: "heading heading" "settings power" "settings more" "warning warning";
    align-items: start;
  }
  .ct-tool-workspace .ct-tools-heading { grid-area: heading; }
  .ct-tool-workspace .ct-prism-grid { grid-area: settings; width: 100%; }
  .ct-tool-workspace .ct-power { grid-area: power; }
  .ct-tool-workspace .ct-tools-more { grid-area: more; }
  .ct-tool-workspace .ct-prism > .ct-warn { grid-area: warning; }
}
@media (min-width: 768px) and (max-width: 899px) {
  #tabContentExam[data-exam="overview"] .ct-prism-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1120px) {
  #tabContentExam[data-exam="overview"] .ct-tool-workspace {
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.4fr); gap: 24px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container {
    display: flex; flex-wrap: nowrap; gap: 8px; min-height: 144px;
    justify-content: space-evenly; align-items: flex-start; padding: 12px 12px 44px;
  }
}
.ct-tools .ct-ladder { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ct-tools .ct-rung { min-width: 0; min-height: 30px; }
.ct-tools .ct-axis { display: flex; gap: 3px; padding: 2px; border: 1px solid var(--border-soft); border-radius: 7px; background: var(--surface-sunken); }
.ct-tools .ct-axis-tab { min-height: 24px; padding: 3px 7px; border: 0; border-radius: 5px; font-size: 10px; white-space: nowrap; background: transparent; }
.ct-tools .ct-axis-tab[aria-selected="true"] { background: var(--accent-tint); box-shadow: none; }
.ct-tools .ct-axis-tab b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ct-tools .ct-combine-axes { justify-content: start; font-size: 11px; }
.ct-tools .ct-combine-axes[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-tint); }
.ct-tools :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
html:is([data-sx-exam="on"], [data-xc-mystery="on"]) #ct-tools .ct-warn { display: none !important; }
@media (max-width: 700px) {
  .ct-tool-workspace { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #tabContentExam .ct-tool-workspace .tool-dock-container { justify-self: center; width: 150px; }
  .ct-tools .ct-prism-grid { grid-template-columns: minmax(0, 1fr); }
  .ct-tools :is(.ct-seg-btn, .ct-round, .ct-rung, .ct-axis-tab) { min-height: 44px; }
  .ct-tools .ct-round { width: 44px; height: 44px; }
  .ct-tools .ct-power { grid-template-columns: 44px 58px 44px; gap: 4px; width: fit-content; padding-bottom: 32px; }
  .ct-tools .ct-power-sub { top: 48px; width: max-content; max-width: min(260px, calc(100vw - 80px)); }
  .ct-tools-more > summary { min-height: 44px; padding: 10px 12px; }
  .ct-tools-more-body { width: min(300px, calc(100vw - 42px)); }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container { width: auto; }
}

/* Primary instrument adjustments stay visible beneath the patient. Use
   the available card width, rather than the page width, for their layout. */
#tabContentExam:is([data-exam="ct-console"], [data-exam="kr-console"]) .ct-tool-workspace {
  container: instrument / inline-size;
  grid-template-columns: 136px minmax(0, 1fr);
  align-items: start; gap: 16px; padding-top: 16px; margin-top: 12px;
}
.ct-tool-workspace .ct-tools { max-width: none; }
.ct-tool-workspace .ct-tools .ct-prism {
  display: grid; grid-template-columns: minmax(0, 1fr) 180px;
  grid-template-areas: "heading heading" "settings power" "more more" "warning warning";
  align-items: start; gap: 12px 16px;
  padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-sunken);
}
.ct-tool-workspace .ct-tools-heading { grid-area: heading; }
.ct-tool-workspace .ct-prism-grid { grid-area: settings; width: 100%; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.ct-tool-workspace .ct-power { grid-area: power; }
.ct-tool-workspace .ct-tools-more { grid-area: more; }
.ct-tool-workspace .ct-prism > .ct-warn { grid-area: warning; }
.ct-tool-workspace .ct-tools-label { font-size: 14px; color: var(--text); }
.ct-tool-workspace .ct-field-name { font-size: 12px; line-height: 1.5; }
.ct-tool-workspace .ct-tools :is(.ct-seg-btn, .ct-axis-tab, .ct-rung) { min-height: 44px; font-size: 12px; padding: 7px 8px; }
.ct-tool-workspace .ct-axis { flex-wrap: wrap; }
.ct-tool-workspace .ct-axis-tab { flex: 1; }
.ct-tool-workspace .ct-tools .ct-link { min-height: 44px; padding: 8px; font-size: 12px; }
.ct-tool-workspace .ct-tools .ct-power {
  grid-template-columns: 44px minmax(64px, 1fr) 44px; gap: 8px; width: 100%;
  padding: 12px 0 52px; align-items: start; direction: ltr; position: relative;
}
.ct-tool-workspace .ct-tools .ct-round {
  width: 44px; height: 44px; border-radius: 10px; font-size: 25px; background: var(--surface);
}
.ct-tool-workspace .ct-round:disabled { opacity: .4; cursor: default; transform: none; }
.ct-tool-workspace .ct-tools .ct-power-num output { font-size: 30px; line-height: 44px; }
.ct-tool-workspace .ct-tools .ct-power-sub {
  position: absolute; inset-inline: 0; top: 62px; width: 100%; max-width: none; font-size: 11px; line-height: 1.6;
  min-height: 0; text-align: center; overflow-wrap: anywhere;
}
.ct-tool-workspace .ct-tools-more > summary { min-height: 44px; padding: 10px 12px; font-size: 12px; }
.ct-tool-workspace .ct-tools-more-body {
  position: static; width: 100%; max-height: 280px; margin-top: 8px;
  box-shadow: none; background: var(--surface);
}
@container instrument (max-width: 540px) {
  .ct-tool-workspace .ct-tools .ct-prism {
    grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "settings" "power" "more" "warning";
  }
  .ct-tool-workspace .ct-tools .ct-power { max-width: 250px; justify-self: center; }
}
@media (max-width: 700px) {
  #tabContentExam:is([data-exam="ct-console"], [data-exam="kr-console"]) .ct-tool-workspace { grid-template-columns: minmax(0, 1fr); }
}

/* The general tray is compact and labelled below the physical instruments,
   so handles never obscure their names. Cradle centres remain real anchors. */
#tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container {
  display: flex; flex-wrap: nowrap; justify-content: space-around; align-items: flex-start;
  gap: 8px; min-height: 124px; padding: 10px 8px 48px; width: 100%; box-sizing: border-box;
  border-radius: 12px;
}
#tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-slot-label {
  position: absolute; top: 92px; inset-inline: -10px; text-align: center;
  color: var(--text-soft); font-size: 11px; line-height: 1.3; opacity: 1;
  letter-spacing: 0; text-transform: none; pointer-events: none;
}
#tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-prism {
  gap: 10px; padding: 12px;
}
#tabContentExam[data-exam="overview"] #coverPaddle.is-docked::after { height: 40px; bottom: -32px; }
#tabContentExam[data-exam="overview"] .ct-tool-workspace #nearBtn { position: relative; flex-shrink: 0; }
#tabContentExam[data-exam="overview"] .ct-tool-workspace #nearBtn span {
  position: absolute; top: 92px; inset-inline: -10px; color: var(--text-soft);
  font-size: 11px; line-height: 1.3; letter-spacing: 0; text-transform: none;
}
@media (min-width: 701px) and (max-width: 999px) {
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container {
    flex-wrap: wrap; row-gap: 68px;
  }
}
@media (min-width: 1000px) {
  html:not([data-sx-exam="on"]) #tabContentExam[data-exam="overview"] .ct-tool-workspace {
    display: grid; grid-column: 2; grid-row: 2; grid-template-columns: minmax(0, 1fr);
    align-self: start; gap: 8px; margin: 0; padding: 0; border: 0;
  }
  html:not([data-sx-exam="on"]) #tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container {
    grid-column: 1; grid-row: 1; justify-self: stretch;
    gap: 4px; padding-inline: 4px; min-height: 124px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace :is(.tool-slot, #nearBtn) { width: 48px; height: 48px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace :is(.tool-slot-label, #nearBtn span) {
    top: 84px; inset-inline: -4px; font-size: 10px;
  }
  html:not([data-sx-exam="on"]) #tabContentExam[data-exam="overview"] .ct-tools {
    grid-column: 1; grid-row: 2; align-self: start;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-prism {
    grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "settings" "power" "more" "warning";
    padding: 8px 10px; gap: 6px; background: var(--surface); border-radius: 10px;
  }
  #tabContentExam[data-exam="overview"] .ct-tools-heading { gap: 4px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools-label { font-size: 12px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-prism-grid { gap: 6px; }
  #tabContentExam[data-exam="overview"] .ct-prism-grid .ct-field {
    display: grid; grid-template-columns: 66px minmax(0, 1fr); align-items: center; gap: 6px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-field-name { font-size: 11px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools :is(.ct-seg-btn, .ct-axis-tab, .ct-link) {
    min-height: 32px; padding: 4px 6px; font-size: 11px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-round {
    width: 36px; height: 36px; font-size: 22px; border-radius: 7px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-power {
    grid-template-columns: 36px minmax(64px, 1fr) 36px;
    max-width: 210px; justify-self: center; padding: 0 0 20px;
  }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-power-num output { font-size: 26px; line-height: 36px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-power-sub { top: 38px; font-size: 10px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools-more > summary { min-height: 30px; padding: 6px 8px; font-size: 11px; }
}
@media (min-width: 1000px) and (pointer: coarse) {
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools :is(.ct-seg-btn, .ct-axis-tab, .ct-link) { min-height: 44px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-round { width: 44px; height: 44px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-power { grid-template-columns: 44px minmax(64px, 1fr) 44px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-power-sub { top: 46px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools-more > summary { min-height: 44px; }
}
@media (max-width: 700px) {
  #tabContentExam[data-exam="overview"] .ct-tool-workspace { gap: 10px; padding-top: 8px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-dock-container { gap: 4px; min-height: 124px; padding-inline: 4px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .tool-slot-label { top: 86px; inset-inline: -4px; font-size: 10px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace #nearBtn span { top: 86px; inset-inline: -4px; font-size: 10px !important; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-prism { gap: 8px; padding: 10px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-power { padding: 0 0 26px; }
  #tabContentExam[data-exam="overview"] .ct-tool-workspace .ct-tools .ct-power-sub { top: 46px; }
}
@media (min-width: 360px) and (max-width: 700px) {
  #tabContentExam[data-exam="overview"] .ct-prism-grid .ct-field {
    display: grid; grid-template-columns: 66px minmax(0, 1fr); align-items: center; gap: 6px;
  }
}
