/* Page-local continuity between the counsel demonstration and The Line. */
body.ultra-page .ultra-direction {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 24px 0 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid #bdccd8;
  border-left: 3px solid #687f90;
  border-radius: 5px;
  background: #edf3f8;
  color: #223745;
  scroll-margin-top: 110px;
}
body.ultra-page #practice-view-panel > .ultra-direction { margin: 0 0 28px; }
body.ultra-page .ultra-direction .ultra-direction-title {
  margin: 0;
  font: 400 25px/1.25 Georgia, serif;
  letter-spacing: -.025em;
  color: #1d3343;
}
body.ultra-page .ultra-direction .ultra-direction-state {
  margin: 9px 0 19px;
  font: 500 13px/1.6 "Helvetica Neue", Arial, sans-serif;
  color: #476174;
}
body.ultra-page .ultra-direction .ultra-direction-instruction {
  margin: 0;
  max-width: 66ch;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: 400 16px/1.7 "Helvetica Neue", Arial, sans-serif;
  color: #223745;
}
body.ultra-page .ultra-direction .ultra-direction-gap {
  margin: 21px 0 0;
  padding-top: 16px;
  border-top: 1px solid #c5d3de;
  font: 500 16px/1.6 "Helvetica Neue", Arial, sans-serif;
  color: #344d5e;
}
body.ultra-page .ultra-direction .ultra-direction-scope {
  margin: 8px 0 18px;
  max-width: 64ch;
  font: 400 14px/1.65 "Helvetica Neue", Arial, sans-serif;
  color: #4c6475;
}
body.ultra-page .ultra-direction .ultra-direction-action {
  min-height: 44px;
  max-width: 100%;
  padding: 11px 18px;
  border: 1px solid #243d51;
  border-radius: 4px;
  background: #243d51;
  color: #f1f6fb;
  font: 500 14px/1.5 "Helvetica Neue", Arial, sans-serif;
  text-align: center;
}
body.ultra-page .ultra-direction .ultra-direction-action:hover { background: #34536c; }
body.ultra-page .ultra-direction:focus-visible,
body.ultra-page .ultra-direction-action:focus-visible { outline: 3px solid #4481b0; outline-offset: 5px; }
body.ultra-page #bench-review.has-ultra-direction .review-form > .saved-instruction { display: none; }
body.ultra-page .ultra-preparation { margin-top: 23px; padding-top: 19px; border-top: 1px solid #c5d3de; }
body.ultra-page .ultra-direction .ultra-preparation-explanation,
body.ultra-page .ultra-direction .ultra-artifact-paragraph { font: 400 16px/1.7 "Helvetica Neue", Arial, sans-serif; color: #294454; margin: 0 0 16px; max-width: 66ch; }
body.ultra-page .ultra-preparation-choices,
body.ultra-page .ultra-artifact-sources { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
body.ultra-page .ultra-direction .ultra-secondary-action { background: transparent; color: #294858; border-color: #8ea8bb; }
body.ultra-page .ultra-direction .ultra-secondary-action:hover { background: #dfeaf2; }
body.ultra-page .ultra-direction .ultra-preparation-progress { font: 500 14px/1.6 "Helvetica Neue", Arial, sans-serif; color: #3d5c70; margin: 18px 0 12px; }
body.ultra-page .ultra-prepared-artifact { background: #f9fbfd; border: 1px solid #bdceda; border-radius: 5px; padding: 0; margin: 0 0 15px; }
body.ultra-page .ultra-artifact-summary { min-height: 48px; padding: 14px 18px; font: 500 16px/1.5 "Helvetica Neue", Arial, sans-serif; color: #243d51; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
body.ultra-page .ultra-prepared-artifact[open] > summary { border-bottom: 1px solid #d1dfe8; }
body.ultra-page .ultra-artifact-content { padding: 20px 18px 4px; }
body.ultra-page .ultra-direction .ultra-preparation-gate { margin: 0 0 12px; font: 400 14px/1.6 "Helvetica Neue", Arial, sans-serif; color: #496577; }
body.ultra-page .ultra-direction-action:disabled { opacity: .55; cursor: default; }
body.ultra-page .ultra-preparation-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 620px) {
  body.ultra-page .ultra-direction .ultra-direction-action { width: 100%; }
  body.ultra-page .review-form textarea { font-size: 16px; }
}

body.ultra-page .ultra-artifact-summary::-webkit-details-marker { display: none; }
