/* Scene breaks — symbol presets with hairline rules and balanced glyphs */

.scene-break,
.content .scene-break,
.editor .scene-break,
.page-content .scene-break,
.pdf-body .scene-break {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85em;
  max-width: 24rem;
  margin: 2.35em auto;
  padding: 0 0.25em;
  text-indent: 0 !important;
  text-align: center;
  border: none;
  color: color-mix(in srgb, currentColor 50%, transparent);
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0;
  page-break-inside: avoid;
  break-inside: avoid;
}

.scene-break::before,
.scene-break::after {
  content: "";
  flex: 1 1 0;
  min-width: 1.1rem;
  max-width: 5.75rem;
  border-top: 1px solid color-mix(in srgb, currentColor 26%, transparent);
}

.scene-break--minimal::before,
.scene-break--minimal::after {
  display: none;
}

.scene-break-glyph {
  flex: 0 0 auto;
  display: inline-block;
  letter-spacing: 0.62em;
  text-indent: 0.62em;
  font-size: 1.02em;
  line-height: 1;
  opacity: 0.9;
}

.scene-break--classic .scene-break-glyph::before {
  content: "*\00a0\00a0*\00a0\00a0*";
  font-size: 0.92em;
  letter-spacing: 0.78em;
  text-indent: 0.78em;
}

.scene-break--stars .scene-break-glyph::before {
  content: "✦\00a0\00a0✦\00a0\00a0✦";
  font-size: 1.14em;
}

.scene-break--swords .scene-break-glyph::before {
  content: "⚔\00a0\00a0⚔\00a0\00a0⚔";
  font-size: 1.08em;
}

.scene-break--gears .scene-break-glyph::before {
  content: "⚙\00a0\00a0⚙\00a0\00a0⚙";
  font-size: 1.1em;
}

.scene-break--ornament .scene-break-glyph::before {
  content: "❋\00a0\00a0❋\00a0\00a0❋";
  font-size: 1.06em;
}

.scene-break--hearts .scene-break-glyph::before {
  content: "♥\00a0\00a0♥\00a0\00a0♥";
  font-size: 1.02em;
}

.scene-break--skulls .scene-break-glyph::before {
  content: "☠\00a0\00a0☠\00a0\00a0☠";
  font-size: 1.04em;
}

.scene-break--moons .scene-break-glyph::before {
  content: "☽\00a0\00a0☽\00a0\00a0☽";
  font-size: 1.12em;
}

.scene-break--dashes .scene-break-glyph::before {
  content: "—\00a0\00a0—\00a0\00a0—";
  font-size: 0.86em;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
}

.scene-break--bullets .scene-break-glyph::before {
  content: "·\00a0\00a0·\00a0\00a0·";
  font-size: 1.35em;
  letter-spacing: 0.48em;
  text-indent: 0.48em;
}

.scene-break--flourish .scene-break-glyph::before {
  content: "—\00a0✦\00a0—";
  font-size: 1.08em;
  letter-spacing: 0.34em;
  text-indent: 0.34em;
}

.scene-spacer,
.content .scene-spacer,
.editor .scene-spacer {
  visibility: hidden;
  height: 2.5em;
  margin: 0;
}

hr.scene-rule,
.content hr.scene-rule,
.editor hr.scene-rule {
  width: min(30%, 7.5rem);
  margin: 2.35em auto;
  border: none;
  border-top: 1px solid color-mix(in srgb, currentColor 30%, transparent);
}

.editor .scene-break,
.editor .scene-spacer,
.editor hr.scene-rule {
  user-select: none;
  -webkit-user-select: none;
  cursor: default;
}

.editor .scene-break + p,
.editor .scene-spacer + p,
.editor hr.scene-rule + p,
.content .scene-break + p,
.content .scene-spacer + p,
.content hr.scene-rule + p {
  text-indent: 0;
}

/* Modal picker previews */
.scene-break-preview {
  margin: 0;
  max-width: 10.5rem;
  font-size: 0.68em;
  gap: 0.55em;
}

.scene-break-preview::before,
.scene-break-preview::after {
  max-width: 2.4rem;
  min-width: 0.75rem;
}

.scene-break-preview-rule {
  width: 3.5rem;
  margin: 0;
}

.scene-break-preview-gap {
  font-size: 12px;
  font-style: italic;
  color: color-mix(in srgb, currentColor 45%, transparent);
}
