/* Native post-body blocks. Prompt styles follow either blog template palette;
   page theming and tip states remain scoped to PRISM. */
[data-luna-blog='prism'] body {
  background: var(--luna-color-bg-canvas);
  color: var(--luna-color-text-body);
}
[data-luna-blog='prism'] .luna-prism-block,
[data-prism-prompt].luna-prism-block {
  margin-block: var(--luna-primitive-space-24);
  min-inline-size: 0;
}
[data-luna-blog='prism'] .luna-prism-block-intro,
[data-prism-prompt] .luna-prism-block-intro {
  font: inherit;
  font-weight: var(--luna-primitive-font-weight-500);
  color: var(--luna-color-text-primary);
  margin-block: 0 var(--luna-primitive-space-24);
}
[data-luna-blog='prism'] .luna-prism-prompt-frame,
[data-prism-prompt] .luna-prism-prompt-frame {
  border: var(--luna-primitive-stroke-1) solid var(--luna-color-border-subtle);
  border-radius: var(--luna-primitive-radius-8);
  background: var(--luna-color-bg-surface-raised);
  overflow: hidden;
}
[data-luna-blog='prism'] .luna-prism-block-header,
[data-prism-prompt] .luna-prism-block-header {
  display: flex;
  align-items: center;
  gap: var(--luna-primitive-space-8);
  padding: var(--luna-primitive-space-12) var(--luna-primitive-space-16) 0;
}
[data-luna-blog='prism'] .luna-prism-block-label,
[data-prism-prompt] .luna-prism-block-label {
  display: inline-flex;
  align-items: center;
  gap: var(--luna-primitive-space-8);
  color: var(--luna-color-text-primary);
  font-family: var(--luna-typography-label-label-2-font-family), sans-serif;
  font-size: var(--luna-typography-label-label-2-font-size);
  line-height: var(--luna-typography-label-label-2-line-height);
  font-weight: var(--luna-primitive-font-weight-700);
  min-inline-size: 0;
  overflow-wrap: anywhere;
}
[data-luna-blog='prism'] .luna-prism-block-body,
[data-prism-prompt] .luna-prism-block-body {
  padding: var(--luna-primitive-space-16);
  overflow-wrap: anywhere;
}
[data-luna-blog='prism'] .luna-prism-block-body > :first-child,
[data-prism-prompt] .luna-prism-block-body > :first-child {
  margin-block-start: 0;
}
[data-luna-blog='prism'] .luna-prism-block-body > :last-child,
[data-prism-prompt] .luna-prism-block-body > :last-child {
  margin-block-end: 0;
}
[data-luna-blog='prism'] .luna-prism-prompt-text,
[data-prism-prompt] .luna-prism-prompt-text {
  white-space: pre-wrap;
  user-select: text;
}
[data-luna-blog='prism'] .luna-prism-icon,
[data-prism-prompt] .luna-prism-icon {
  display: inline-block;
  flex: 0 0 auto;
  inline-size: var(--luna-primitive-size-icon-20);
  block-size: var(--luna-primitive-size-icon-20);
  background: currentColor;
  mask: var(--prism-icon) center / contain no-repeat;
}
[data-luna-blog='prism'] .luna-prism-icon-brand,
[data-prism-prompt] .luna-prism-icon-brand {
  inline-size: var(--luna-primitive-size-icon-20);
  block-size: var(--luna-primitive-size-icon-20);
  background: none;
  mask: none;
  fill: none;
  stroke: currentColor;
  stroke-width: var(--luna-primitive-stroke-1-25);
  stroke-linejoin: round;
}
[data-luna-blog='prism'] .luna-prism-icon-copy,
[data-prism-prompt] .luna-prism-icon-copy {
  --prism-icon: url('../assets/prism-blog/copy.svg');
}
[data-luna-blog='prism'] .luna-prism-icon-info {
  --prism-icon: url('../assets/prism-blog/info.svg');
}
[data-luna-blog='prism'] .luna-prism-icon-warning {
  --prism-icon: url('../assets/prism-blog/warning.svg');
}
[data-luna-blog='prism'] .luna-prism-icon-danger {
  --prism-icon: url('../assets/prism-blog/danger.svg');
}
[data-luna-blog='prism'] .luna-prism-copy,
[data-prism-prompt] .luna-prism-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: auto;
  flex-shrink: 0;
  min-inline-size: var(--luna-primitive-space-40);
  min-block-size: var(--luna-primitive-space-40);
  padding: var(--luna-primitive-space-8);
  color: var(--luna-color-text-primary);
  background: transparent;
  border: 0;
  border-radius: var(--luna-primitive-radius-8);
  cursor: pointer;
}
[data-luna-blog='prism'] .luna-prism-copy:hover,
[data-prism-prompt] .luna-prism-copy:hover {
  background: var(--luna-color-action-tertiary-hover-bg);
}
[data-luna-blog='prism'] .luna-prism-copy:focus-visible,
[data-prism-prompt] .luna-prism-copy:focus-visible {
  outline: var(--luna-primitive-stroke-2) solid var(--luna-color-text-primary);
  outline-offset: var(--luna-primitive-space-2);
}
[data-luna-blog='prism'] .luna-prism-copy:disabled,
[data-prism-prompt] .luna-prism-copy:disabled {
  opacity: 0.6;
  cursor: wait;
}
[data-luna-blog='prism'] .luna-prism-copy-status:not(:empty),
[data-prism-prompt] .luna-prism-copy-status:not(:empty) {
  display: block;
  padding: 0 var(--luna-primitive-space-16) var(--luna-primitive-space-12);
  font-family: var(--luna-typography-label-label-3-font-family), sans-serif;
  font-size: var(--luna-typography-label-label-3-font-size);
  line-height: var(--luna-typography-label-label-3-line-height);
}
[data-luna-blog='prism'] .luna-prism-tip {
  --prism-accent: var(--luna-color-feedback-info-accent);
  border: var(--luna-primitive-stroke-1) solid var(--prism-accent);
  border-radius: var(--luna-primitive-radius-8);
  background: var(--luna-color-bg-surface-layer-2);
}
[data-luna-blog='prism'] [data-prism-tip='warning'] {
  --prism-accent: var(--luna-color-feedback-warning-accent);
}
[data-luna-blog='prism'] [data-prism-tip='danger'] {
  --prism-accent: var(--luna-color-feedback-danger-accent);
}
[data-luna-blog='prism'] .luna-prism-tip-icon {
  display: inline-flex;
  padding: var(--luna-primitive-space-4);
  color: var(--luna-color-feedback-icon);
  background: var(--prism-accent);
  border-radius: var(--luna-primitive-radius-8);
}
[data-luna-blog='prism'] .luna-prism-tip .luna-prism-block-body {
  color: var(--luna-color-text-body);
}
.luna-prism-sr-only {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Padding sits outside the card and survives native wrapper margin resets. */
[data-prism-prompt][data-prism-space-below='true'] {
  padding-block-end: var(--luna-primitive-space-16);
}
