/* Saved Markdown uses shared semantics with the catalogue's existing palette. */
.case-content {
  --case-text: #3f3f46;
  --case-heading: #18181b;
  --case-code-surface: #f4f4f5;
  --case-code-text: #27272a;
  --case-control: #71717a;
  --case-hover: #e4e4e7;
  --case-link: #b91c1c;
  --case-success: #047857;
  --case-error: #b91c1c;
  color: var(--case-text);
  font-size: 1rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.dark .case-content {
  --case-text: #d4d4d8;
  --case-heading: #fafafa;
  --case-code-surface: #18181b;
  --case-code-text: #d4d4d8;
  --case-control: #71717a;
  --case-hover: #3f3f46;
  --case-link: #fb923c;
  --case-success: #6ee7b7;
  --case-error: #fca5a5;
}
.case-content :is(h2, h3, h4, h5, h6) {
  color: var(--case-heading);
  font-weight: 700;
  line-height: 1.4;
  margin: 2rem 0 1rem;
}
.case-content h2 { font-family: var(--font-display); font-size: 1.25rem; }
.case-content :is(h3, h4, h5, h6) { font-size: 1rem; margin: 1.5rem 0 .5rem; }
.case-content > :first-child { margin-top: 0; }
.case-content .ed-source-prose { margin: 1rem 0; white-space: pre-wrap; }
.case-content .ed-mvp-list { margin: 1rem 0; padding-inline-start: 1.5rem; max-width: none; }
.case-content ol.ed-mvp-list { list-style: decimal outside; }
.case-content ul.ed-mvp-list { list-style: disc outside; }
.case-content .ed-mvp-list li { padding-inline-start: .25rem; white-space: pre-wrap; }
.case-content .ed-mvp-list li + li { margin-top: .5rem; }
.case-content .ed-link { color: var(--case-link); text-decoration: underline; text-underline-offset: .2em; }
.case-content .ed-link:hover { text-decoration-thickness: 2px; }
.case-content :is(a, button):focus-visible { outline: 2px solid var(--case-link); outline-offset: 3px; }
.case-content ::selection { background: var(--case-hover); color: var(--case-heading); }
.case-content code { font-family: var(--font-mono); color: inherit; }
.case-content .ed-prepared-text { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.case-content .ed-prepared-code {
  max-width: 100%;
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 12px;
  background: var(--case-code-surface);
  color: var(--case-code-text);
  font-size: .9375rem;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.case-content .ed-code-block { position: relative; min-width: 0; margin: 1rem 0; }
.case-content .ed-code-block > .ed-prepared-code { margin: 0; padding-inline-end: 3.75rem; }
.case-content .ed-code-copy {
  position: absolute;
  top: .5rem;
  right: .5rem;
  display: grid;
  place-items: center;
  width: 36px;
  min-height: 36px;
  padding: 7px;
  border: 1px solid var(--case-control);
  border-radius: 7px;
  background: var(--case-code-surface);
  color: var(--case-code-text);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease-out, background-color 120ms ease-out;
}
.case-content .ed-code-copy[hidden] { display: none; }
.case-content .ed-code-block:hover > .ed-code-copy,
.case-content .ed-code-block:focus-within > .ed-code-copy,
.case-content .ed-code-block[data-copy-state] > .ed-code-copy { opacity: 1; pointer-events: auto; }
.case-content .ed-code-copy:hover { background: var(--case-hover); color: var(--case-heading); }
.case-content .ed-code-copy[aria-disabled=true] { cursor: progress; }
.case-content .ed-code-copy-status { margin: 0; font-size: .875rem; line-height: 1.5; }
.case-content .ed-code-copy-status:not(:empty) { margin-top: .5rem; }
.case-content .ed-code-block[data-copy-state=success] > :is(.ed-code-copy, .ed-code-copy-status) { color: var(--case-success); }
.case-content .ed-code-block[data-copy-state=error] > .ed-code-copy-status { color: var(--case-error); }
@media (hover: none), (pointer: coarse) {
  .case-content .ed-code-copy { width: 44px; min-height: 44px; opacity: 1; pointer-events: auto; }
  .case-content .ed-code-block > .ed-prepared-code { padding-inline-end: 4.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .case-content .ed-code-copy { transition: none; }
}
