/* Markdown2PDF (templates/markdown2pdf.html): the story's copy and readouts, and the
   feature panels. The 3D is static/motion/markdown2pdf.js. Anything drawn from the app
   keeps the app's own colours: paper white, the code panel's grey, the syntax colours of
   its highlighter (keyword #C7307D, type #296EA8, string #C73838) and system blue. */

/* ---------- the story ---------- */
.mx-app--markdown2pdf { --md-paper: #FBFAF7; }
.mx-app--markdown2pdf .mx-story { --word: 8.3vw; --word-phone: 12.3vw; }
.mx-app--markdown2pdf .mx-story__word span { display: inline; }
/* the two steps that animate as they pass, and the last one, get more scroll */
.mx-app--markdown2pdf #md-write, .mx-app--markdown2pdf #md-typeset { min-height: 132vh; min-height: 132svh; }
.mx-app--markdown2pdf #md-save { min-height: 140vh; min-height: 140svh; }
.mx-app--markdown2pdf .mx-story__glow {
  background:
    radial-gradient(30% 44% at 70% 50%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 72%),
    radial-gradient(60% 50% at 70% 100%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 70%);
}
.mx-app--markdown2pdf .mx-story__fallback {
  top: 14vh; right: 9vw; height: 74vh; border-radius: 3px;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .06);
}
.mx-app--markdown2pdf .mx-story__step-in { max-width: 520px; }
.mx-app--markdown2pdf .mx-story__step h2 { font-size: clamp(40px, 4.5vw, 76px); line-height: .92; }
.mx-app--markdown2pdf .mx-story__hud {
  padding: 9px 12px; border-radius: 3px; background: rgba(14, 14, 17, .5);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.mx-app--markdown2pdf .mx-story__hud b { font-variant-numeric: tabular-nums; }

/* step 1: the marks in the sample, lit as the typing reaches each one */
.mx-app--markdown2pdf .mx-md-marks {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px;
  max-width: 460px; margin: 24px 0 0; padding: 0; list-style: none;
}
.mx-app--markdown2pdf .mx-md-marks li {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  border: 1px solid var(--line); border-radius: 12px; background: rgba(14, 14, 17, .55);
  color: var(--ash-2); font-size: 14.5px; font-weight: 550;
  transition: color .35s var(--ease), border-color .35s var(--ease), background-color .35s var(--ease);
}
.mx-app--markdown2pdf .mx-md-marks code {
  min-width: 2.6em; padding: 3px 6px; border-radius: 6px; text-align: center;
  background: rgba(236, 233, 226, .06); color: var(--ash);
  font: 600 13.5px/1.2 ui-monospace, "SF Mono", Menlo, monospace;
  transition: color .35s var(--ease), background-color .35s var(--ease);
}
.mx-app--markdown2pdf .mx-md-marks li.is-now { color: var(--bone); border-color: color-mix(in srgb, var(--accent) 60%, transparent); }
.mx-app--markdown2pdf .mx-md-marks li.is-done { color: var(--bone-2); }
.mx-app--markdown2pdf .mx-md-marks li.is-now code,
.mx-app--markdown2pdf .mx-md-marks li.is-done code { color: #fff; background: color-mix(in srgb, var(--accent) 70%, transparent); }

/* step 2: the blocks, set one by one */
.mx-app--markdown2pdf .mx-md-log { max-width: 460px; margin: 22px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.mx-app--markdown2pdf .mx-md-log li {
  display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--ash-2);
  transition: color .3s var(--ease);
}
.mx-app--markdown2pdf .mx-md-log li i {
  width: 12px; height: 12px; border-radius: 3px; border: 1.5px solid var(--line-2);
  transition: background-color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.mx-app--markdown2pdf .mx-md-log li b { font-weight: 500; font-size: 14px; color: var(--ash-2); }
.mx-app--markdown2pdf .mx-md-log li.is-now { color: var(--bone); }
.mx-app--markdown2pdf .mx-md-log li.is-now i { border-color: var(--accent-ink); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent); }
.mx-app--markdown2pdf .mx-md-log li.is-done { color: var(--bone-2); }
.mx-app--markdown2pdf .mx-md-log li.is-done i { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 10px color-mix(in srgb, var(--accent) 70%, transparent); }
.mx-app--markdown2pdf .mx-md-log li.is-done b { color: var(--ash); }

/* step 3: the languages, and two real renders */
.mx-app--markdown2pdf .mx-md-langs { display: flex; flex-wrap: wrap; gap: 6px; max-width: 470px; margin: 22px 0 0; padding: 0; list-style: none; }
.mx-app--markdown2pdf .mx-md-langs li {
  padding: 6px 11px; border: 1px solid var(--line); border-radius: 999px; background: rgba(14, 14, 17, .55);
  font: 600 13px/1.2 ui-monospace, "SF Mono", Menlo, monospace; color: var(--bone-2);
}
.mx-app--markdown2pdf .mx-md-langs li:first-child { border-color: color-mix(in srgb, var(--accent) 55%, transparent); color: #fff; }
.mx-app--markdown2pdf .mx-md-proofs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 470px; margin-top: 22px; }
.mx-app--markdown2pdf .mx-md-proofs img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .7); }

/* step 4: the price figure */
.mx-app--markdown2pdf .mx-story__fig .mx-num { font-size: clamp(76px, 8vw, 132px); }
.mx-app--markdown2pdf .mx-story__fig .mx-read { max-width: 24ch; }
.mx-app--markdown2pdf .mx-story__step .mx-actions { margin-top: 26px; }

@media (max-width: 860px) {
  .mx-app--markdown2pdf .mx-story__word { top: 19%; line-height: .86; }
  .mx-app--markdown2pdf .mx-story__fallback { top: 29vh; right: 50%; height: 25vh; transform: translateX(50%); }
  /* the scene recedes into the night where the copy sits */
  .mx-app--markdown2pdf .mx-story__stage::after {
    content: ""; position: absolute; left: 0; right: 0; top: 54%; bottom: 0; pointer-events: none;
    background: linear-gradient(180deg, rgba(14, 14, 17, 0), rgba(14, 14, 17, .88) 40%, var(--night) 78%);
  }
  .mx-app--markdown2pdf .mx-story__word span { display: block; }
  .mx-app--markdown2pdf .mx-story__step h2 { font-size: 34px; }
  .mx-app--markdown2pdf .mx-story__step-in { max-width: none; }
  .mx-app--markdown2pdf .mx-story__sub { font-size: 14.5px; }
  .mx-app--markdown2pdf .mx-md-marks { gap: 6px; margin-top: 14px; }
  .mx-app--markdown2pdf .mx-md-marks li { padding: 7px 8px; gap: 7px; font-size: 13px; }
  .mx-app--markdown2pdf .mx-md-marks code { min-width: 2.2em; font-size: 12px; }
  .mx-app--markdown2pdf .mx-md-log { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; margin-top: 14px; }
  .mx-app--markdown2pdf .mx-md-log li { grid-template-columns: 12px minmax(0, 1fr); gap: 9px; padding: 7px 0; font-size: 14px; }
  .mx-app--markdown2pdf .mx-md-log li b { display: none; }
  .mx-app--markdown2pdf .mx-md-langs { margin-top: 14px; gap: 5px; }
  .mx-app--markdown2pdf .mx-md-langs li { padding: 5px 9px; font-size: 12px; }
  .mx-app--markdown2pdf .mx-md-proofs { display: none; }
  .mx-app--markdown2pdf .mx-story__src { font-size: 12.5px; margin-top: 14px; }
  .mx-app--markdown2pdf .mx-story__fig { margin: 18px 0 0; }
  .mx-app--markdown2pdf .mx-story__fig .mx-num { font-size: 72px; }
  .mx-app--markdown2pdf .mx-story__step .mx-actions { margin-top: 18px; }
}

/* ---------- the feature panels: the app's UI, drawn ---------- */
.mx-app--markdown2pdf .mx-viz { position: relative; overflow: hidden; }

/* the start window, as the app draws it in dark mode */
.mx-app--markdown2pdf .mx-md-viz-start { align-items: center; }
.mx-app--markdown2pdf .mx-md-home {
  display: flex; flex-direction: column; align-items: center; gap: 8px; max-width: 360px;
  padding: 22px 26px; text-align: center; border: 1.5px dashed rgba(236, 233, 226, .22); border-radius: 18px;
}
.mx-app--markdown2pdf .mx-md-home__icon { filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .5)); }
.mx-app--markdown2pdf .mx-md-home b { font-weight: 750; font-size: 21px; letter-spacing: -.01em; }
.mx-app--markdown2pdf .mx-md-home > span { font-size: 13px; line-height: 1.4; color: var(--ash); }
.mx-app--markdown2pdf .mx-md-home__caps { display: flex; gap: 12px; margin-top: 10px; }
.mx-app--markdown2pdf .mx-md-home__caps i {
  padding: 8px 16px; border-radius: 999px; font-style: normal; font-weight: 700; font-size: 13.5px;
  background: rgba(236, 233, 226, .1); box-shadow: inset 0 0 0 1px rgba(236, 233, 226, .14); color: var(--bone);
}
.mx-app--markdown2pdf .mx-md-home__caps i.is-primary { background: var(--accent); box-shadow: none; color: #fff; }
.mx-app--markdown2pdf .mx-md-chip-file {
  position: absolute; right: 22px; top: 20px; display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 11px; border-radius: 9px; background: var(--bone); color: var(--night);
  font-size: 12.5px; font-weight: 650; transform: rotate(6deg);
  box-shadow: 0 14px 26px -10px rgba(0, 0, 0, .7);
}

/* the Save capsule's three states (EditorView.saveButtonLabel) */
.mx-app--markdown2pdf .mx-md-states { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.mx-app--markdown2pdf .mx-md-cap {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 999px;
  background: var(--accent); color: #fff; font-weight: 700; font-size: 15px;
}
.mx-app--markdown2pdf .mx-md-cap.is-busy { background: color-mix(in srgb, var(--accent) 55%, #1c1c20); }
.mx-app--markdown2pdf .mx-md-cap.is-done { background: #0069CD; }
.mx-app--markdown2pdf .mx-md-spin {
  width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .35); border-top-color: #fff;
  animation: mx-md-spin .9s linear infinite;
}
@keyframes mx-md-spin { to { transform: rotate(1turn); } }
.mx-app--markdown2pdf .mx-md-steps { display: flex; justify-content: center; gap: 18px; margin-top: 22px; }

/* a corner of a printed page */
.mx-app--markdown2pdf .mx-md-paper {
  padding: 16px 16px 14px; border-radius: 10px; background: var(--md-paper); color: #1d1d1f;
  box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .9);
}
.mx-app--markdown2pdf .mx-md-code {
  margin: 0; padding: 12px 14px; border-radius: 12px; background: #E8E8ED; overflow: hidden;
  font: 500 13px/1.6 -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif; color: #1d1d1f; white-space: pre;
}
.mx-app--markdown2pdf .mx-md-code code { font: inherit; }
.mx-app--markdown2pdf .mx-md-code .k { color: #C7307D; }
.mx-app--markdown2pdf .mx-md-code .t { color: #296EA8; }
.mx-app--markdown2pdf .mx-md-code .s { color: #C73838; }
.mx-app--markdown2pdf .mx-md-code .c { color: #737373; }
.mx-app--markdown2pdf .mx-md-langline { margin: 14px 2px 0; font-size: 12.5px; line-height: 1.5; color: var(--ash); }
.mx-app--markdown2pdf .mx-md-flow { display: block; width: 100%; height: auto; }
.mx-app--markdown2pdf .mx-md-flow text { font: 500 12.5px -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif; fill: #333; }
.mx-app--markdown2pdf .mx-md-math { margin: 8px 0 0; text-align: center; font-size: 17px; color: #1d1d1f; }

/* A4 at 50 pt: the one theme */
.mx-app--markdown2pdf .mx-md-viz-a4 { align-items: center; gap: 14px; }
.mx-app--markdown2pdf .mx-md-a4 {
  position: relative; display: flex; flex-direction: column; gap: 6px; width: 114px; aspect-ratio: 595 / 842;
  padding: 9.6px; background-color: var(--md-paper); border-radius: 2px; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .9);
  background-image: linear-gradient(rgba(10, 132, 255, .45), rgba(10, 132, 255, .45)), linear-gradient(rgba(10, 132, 255, .45), rgba(10, 132, 255, .45)),
    linear-gradient(90deg, rgba(10, 132, 255, .45), rgba(10, 132, 255, .45)), linear-gradient(90deg, rgba(10, 132, 255, .45), rgba(10, 132, 255, .45));
  background-size: 1px 100%, 1px 100%, 100% 1px, 100% 1px;
  background-position: 9.6px 0, calc(100% - 9.6px) 0, 0 9.6px, 0 calc(100% - 9.6px);
  background-repeat: no-repeat;
}
.mx-app--markdown2pdf .mx-md-a4 i { display: block; height: 4px; border-radius: 2px; background: #c9c9ce; }
.mx-app--markdown2pdf .mx-md-a4 .mx-md-a4__h { width: 62%; height: 8px; margin-bottom: 3px; background: #1d1d1f; }
.mx-app--markdown2pdf .mx-md-a4 .mx-md-a4__l--short { width: 64%; }
.mx-app--markdown2pdf .mx-md-a4 .mx-md-a4__code { height: 22px; border-radius: 4px; background: #E8E8ED; }
.mx-app--markdown2pdf .mx-md-a4__m {
  position: absolute; font-stretch: 62%; font-weight: 650; font-size: 10px; letter-spacing: .1em; color: var(--accent-ink);
}
.mx-app--markdown2pdf .mx-md-a4__m--top { top: -18px; left: 0; }
.mx-app--markdown2pdf .mx-md-a4__m--side { top: 50%; right: -40px; transform: translateY(-50%); }

/* the editor window in dark mode: source left, the page right */
.mx-app--markdown2pdf .mx-md-win { border-radius: 12px; background: #1b1b1e; box-shadow: 0 0 0 1px rgba(236, 233, 226, .1), 0 24px 40px -24px rgba(0, 0, 0, .9); overflow: hidden; }
.mx-app--markdown2pdf .mx-md-win__bar { display: flex; gap: 7px; padding: 10px 12px; }
.mx-app--markdown2pdf .mx-md-win__bar i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.mx-app--markdown2pdf .mx-md-win__bar i:nth-child(2) { background: #febc2e; }
.mx-app--markdown2pdf .mx-md-win__bar i:nth-child(3) { background: #28c840; }
.mx-app--markdown2pdf .mx-md-win__split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 10px 10px; }
.mx-app--markdown2pdf .mx-md-win__src, .mx-app--markdown2pdf .mx-md-win__pdf {
  display: flex; flex-direction: column; gap: 3px; min-height: 104px; padding: 10px 12px; border-radius: 10px; font-size: 12px; line-height: 1.4;
}
.mx-app--markdown2pdf .mx-md-win__src { background: #2a2a2e; color: #d6d6d6; }
.mx-app--markdown2pdf .mx-md-win__pdf { background: #fff; color: #1d1d1f; }
.mx-app--markdown2pdf .mx-md-win__pdf b { font-size: 15px; font-weight: 750; }
.mx-app--markdown2pdf .mx-md-win__pdf em { font-style: normal; font-weight: 700; font-size: 13px; }
.mx-app--markdown2pdf .mx-md-win__pdf span::before { content: "\2022\00a0\00a0"; }
.mx-app--markdown2pdf .mx-md-win + .mx-checks li::before { content: "\2713\00a0\00a0"; color: var(--accent-ink); }

/* bought once */
.mx-app--markdown2pdf .mx-md-price { font-weight: 200; font-size: clamp(64px, 6vw, 96px); line-height: .9; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.mx-app--markdown2pdf .mx-md-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.mx-app--markdown2pdf .mx-md-pills li { padding: 6px 12px; border-radius: 999px; background: var(--graphite-2); font-size: 13.5px; color: var(--bone-2); }
.mx-app--markdown2pdf .mx-md-pills li:last-child { background: color-mix(in srgb, var(--accent) 22%, transparent); color: #fff; }

@media (prefers-reduced-motion: reduce) {
  .mx-app--markdown2pdf .mx-md-spin { animation: none; }
  .mx-app--markdown2pdf .mx-md-marks li, .mx-app--markdown2pdf .mx-md-log li,
  .mx-app--markdown2pdf .mx-md-log li i, .mx-app--markdown2pdf .mx-md-marks code { transition: none; }
}
