/*
 * UI V5 — 无形阅读雾幕
 *
 * Query-gated content skin. It does not touch the locked c57 scene, camera,
 * water, reflection, petals, mist or cinematic controller. No image asset is
 * used for UI; every visible word and control remains semantic HTML.
 */

/* One inherited interpolation timeline per scene-tone host. Descendants
 * consume the resulting colors without allocating their own transitions. */
@property --ml-v5-tone-progress {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 0%;
}

html.ml-ui-v5 {
  --ml-v5-serif: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
  --ml-v5-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --ml-v5-ink-950: #17241f;
  --ml-v5-ink-800: #263a32;
  --ml-v5-ink-600: #52635b;
  --ml-v5-moon-950: #fbf4e5;
  --ml-v5-moon-800: #e8ebdf;
  --ml-v5-moon-650: #cbd5cb;
  --ml-v5-jade: #31584b;
  --ml-v5-jade-soft: #789286;
  --ml-v5-cinnabar: #8f5146;
  --ml-v5-moon-gold: #bd812f;
  --ml-v5-moon-gold-bright: #f0c979;
  --ml-v5-rule-light: rgba(34, 67, 56, 0.18);
  --ml-v5-rule-dark: rgba(233, 239, 228, 0.19);
  --ml-v5-tone-duration: 560ms;
  --ml-v5-tone-ease: cubic-bezier(0.2, 0, 0, 1);
  --ml-v5-motion-feedback: 220ms;
  --ml-v5-motion-hover: 340ms;
  --ml-v5-motion-switch: 720ms;
  --ml-v5-motion-enter: 880ms;
  --ml-v5-motion-carrier: 960ms;
  --ml-v5-motion-annotation: 860ms;
  --ml-v5-motion-expand: 760ms;
  --ml-v5-motion-footer: 980ms;
  --ml-v5-motion-stagger: 64ms;
  --ml-v5-motion-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ml-content-inline: clamp(40px, 6vw, 96px);
  overflow-x: clip;
}

/* JS removes reveal classes as soon as a high-velocity traverse is detected.
 * This is the no-flash fallback for the frame between those two writes. */
html.ml-ui-v5.ml-content-fast-scroll .ml-content-chapter.is-activating [data-content-layer] {
  animation: none !important;
}

html.ml-ui-v5 :is(
  .ml-home-hero__copy,
  .ml-home-composer,
  .ml-home-section-heading,
  .ml-home-path-panel,
  .ml-home-path-panel__copy,
  .ml-home-path-panel__evidence,
  .ml-home-report,
  .ml-home-report__conclusion,
  .ml-home-report__map,
  .ml-content-report-booklet,
  .ml-home-trace-list,
  .ml-home-trace-step,
  .ml-home-trace-step summary,
  .ml-home-privacy-list,
  .ml-home-privacy-list > li,
  .ml-home-plan-list,
  .ml-home-plan,
  .ml-home-plan-selection,
  .ml-home-plan-actions,
  .ml-home-footer,
  .ml-home-invite-dialog,
  .ml-home-invite-dialog__panel
) {
  border-radius: 0;
  box-shadow: none;
  clip-path: none;
}

html.ml-ui-v5 .ml-content-title-mark,
html.ml-ui-v5 .ml-content-title-seal,
html.ml-ui-v5 .ml-content-chapter-rail {
  display: none !important;
}

html.ml-ui-v5 :is(.ml-home-nav-toggle, .ml-home-path-node, .ml-home-trace-step summary) {
  min-height: 44px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer.is-handoff::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-tabs::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__action::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__conclusion::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__body::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map b::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet::before,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet .ml-home-report__header::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step:not(:last-child)::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__toggle::before {
  content: none !important;
}

/* Invisible local reading protection. The gradient itself carries all alpha. */
html.ml-ui-v5 [data-reading-veil-host="true"] {
  position: relative;
  isolation: isolate;
  background: transparent;
  overflow: visible !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

html.ml-ui-v5 [data-veil-tone="light"] {
  --ml-veil-surface: rgb(244 240 226);
  --ml-veil-center: rgba(246, 242, 230, 0.24);
  --ml-veil-mid: rgba(246, 242, 230, 0.10);
  --ml-veil-edge: rgba(246, 242, 230, 0);
}

html.ml-ui-v5 [data-veil-tone="dark"] {
  --ml-veil-surface: rgb(42 57 51);
  --ml-veil-center: rgba(25, 49, 42, 0.22);
  --ml-veil-mid: rgba(25, 49, 42, 0.09);
  --ml-veil-edge: rgba(25, 49, 42, 0);
}

/* The accepted camera publishes its projected shoreline. V5 only consumes
 * the resulting ink/moon state; it never samples or changes the scene. */
html.ml-ui-v5 [data-scene-tone="ink"] {
  --ml-v5-tone-progress: 0%;
  --ml-readability-surface-rgb: 244 240 226;
  --ml-v5-scene-title: #17241f;
  --ml-v5-scene-body: #263a32;
  --ml-v5-scene-muted: #52635b;
  --ml-v5-scene-rule-strong: rgba(34, 67, 56, 0.54);
  --ml-v5-scene-rule-soft: rgba(34, 67, 56, 0.18);
  --ml-v5-scene-shadow-color: rgba(249, 244, 229, 0.36);
  --ml-v5-scene-shadow: 0 1px 11px var(--ml-v5-scene-shadow-color);
  --ml-v5-scene-accent: var(--ml-v5-moon-gold);
}

html.ml-ui-v5 [data-scene-tone="moon"] {
  --ml-v5-tone-progress: 100%;
  --ml-readability-surface-rgb: 42 57 51;
  --ml-v5-scene-title: #fbf4e5;
  --ml-v5-scene-body: #e8ebdf;
  --ml-v5-scene-muted: #cbd5cb;
  --ml-v5-scene-rule-strong: rgba(236, 240, 228, 0.68);
  --ml-v5-scene-rule-soft: rgba(236, 240, 228, 0.2);
  --ml-v5-scene-shadow-color: rgba(13, 31, 27, 0.58);
  --ml-v5-scene-shadow: 0 1px 11px var(--ml-v5-scene-shadow-color);
  --ml-v5-scene-accent: var(--ml-v5-moon-gold-bright);
}

@supports (color: color-mix(in srgb, #000, #fff)) {
  html.ml-ui-v5 [data-scene-tone-host="true"] {
    --ml-v5-scene-title: color-mix(
      in srgb,
      #17241f,
      #fbf4e5 var(--ml-v5-tone-progress)
    );
    --ml-v5-scene-body: color-mix(
      in srgb,
      #263a32,
      #e8ebdf var(--ml-v5-tone-progress)
    );
    --ml-v5-scene-muted: color-mix(
      in srgb,
      #52635b,
      #cbd5cb var(--ml-v5-tone-progress)
    );
    --ml-v5-scene-rule-strong: color-mix(
      in srgb,
      rgba(34, 67, 56, 0.54),
      rgba(236, 240, 228, 0.68) var(--ml-v5-tone-progress)
    );
    --ml-v5-scene-rule-soft: color-mix(
      in srgb,
      rgba(34, 67, 56, 0.18),
      rgba(236, 240, 228, 0.2) var(--ml-v5-tone-progress)
    );
    --ml-v5-scene-shadow-color: color-mix(
      in srgb,
      rgba(249, 244, 229, 0.36),
      rgba(13, 31, 27, 0.58) var(--ml-v5-tone-progress)
    );
    --ml-v5-scene-accent: color-mix(
      in srgb,
      var(--ml-v5-moon-gold),
      var(--ml-v5-moon-gold-bright) var(--ml-v5-tone-progress)
    );
  }
}

html.ml-ui-v5 .ml-reading-veil,
html.ml-ui-v5 .ml-content-reading-veil.ml-reading-veil {
  position: absolute;
  z-index: -1;
  inset: -50px -72px;
  display: block !important;
  border: 0;
  background: radial-gradient(
    ellipse at 45% 48%,
    var(--ml-veil-center) 0%,
    var(--ml-veil-mid) 46%,
    var(--ml-veil-edge) 82%
  ) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: blur(18px) !important;
  opacity: 1 !important;
  pointer-events: none;
  user-select: none;
  transition: opacity 360ms ease;
}

html.ml-ui-v5 .ml-home-composer > .ml-reading-veil {
  inset: -48px -76px;
}

html.ml-ui-v5 .ml-home-composer[data-reading-veil-host="true"] {
  --ml-veil-center: rgba(25, 49, 42, 0.24);
  --ml-veil-mid: rgba(25, 49, 42, 0.10);
}

html.ml-ui-v5 .ml-home-section-heading > .ml-reading-veil {
  inset: -44px -64px;
}

html.ml-ui-v5 .ml-home-path-panel__copy > .ml-reading-veil,
html.ml-ui-v5 .ml-home-path-panel__evidence > .ml-reading-veil {
  inset: -38px -58px;
}

html.ml-ui-v5 .ml-home-report__conclusion > .ml-reading-veil,
html.ml-ui-v5 .ml-home-report__map > .ml-reading-veil {
  inset: -38px -52px;
}

html.ml-ui-v5 .ml-content-report-booklet > .ml-reading-veil {
  inset: -62px -92px;
}

html.ml-ui-v5 .ml-home-composer:focus-within > .ml-reading-veil {
  background: radial-gradient(
    ellipse at 44% 50%,
    rgba(25, 49, 42, 0.29) 0%,
    rgba(25, 49, 42, 0.12) 48%,
    rgba(25, 49, 42, 0) 84%
  ) !important;
}

/* The debug mode is deliberately visible and never changes layout. */
html.ml-ui-v5.ml-reading-veil-debug [data-reading-veil-host="true"] {
  outline: 1px dashed rgba(36, 119, 90, 0.72);
  outline-offset: 5px;
}

html.ml-ui-v5.ml-reading-veil-debug .ml-reading-veil {
  background: radial-gradient(
    ellipse at 45% 48%,
    rgba(75, 169, 126, 0.26) 0%,
    rgba(75, 169, 126, 0.13) 48%,
    rgba(75, 169, 126, 0) 82%
  ) !important;
  filter: blur(12px) !important;
}

html.ml-ui-v5 .ml-reading-veil__debug {
  display: none;
}

html.ml-ui-v5.ml-reading-veil-debug .ml-reading-veil__debug {
  position: absolute;
  z-index: 50;
  top: -24px;
  left: 0;
  display: block;
  max-width: min(460px, 92vw);
  padding: 3px 7px;
  border: 1px solid rgba(25, 91, 69, 0.42);
  color: #173b30;
  background: rgba(235, 244, 232, 0.9);
  font: 600 11px/1.35 var(--ml-v5-sans);
  letter-spacing: 0;
  pointer-events: none;
  white-space: nowrap;
}

html.ml-ui-v5.ml-reading-veil-debug .ml-content-chapter__sticky :is(
  .ml-home-section-heading,
  .ml-home-paths,
  .ml-home-report__conclusion,
  .ml-home-report__body,
  .ml-content-report-booklet
) {
  opacity: 1 !important;
  filter: none !important;
}

/* Navigation remains readable without becoming a bar. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-header {
  min-height: 66px;
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-header::after {
  right: 44%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(35, 70, 58, 0.18), transparent);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-nav a,
  .ml-home-header__actions,
  .ml-home-nav-toggle
) {
  color: rgba(25, 55, 46, 0.92);
  font-family: var(--ml-v5-sans);
  font-size: 14px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-nav a,
  .ml-home-header__actions a,
  .ml-home-header__actions button,
  .ml-home-nav-toggle
):focus-visible {
  outline: 2px solid rgba(38, 89, 72, 0.72);
  outline-offset: 4px;
}

/* Hero: the selected fourth composition, with the fifth study's horizontal
 * title rhythm. The comma remains semantic text and the moon phrase is HTML. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__content {
  min-height: max(100svh, 720px);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy {
  position: absolute;
  z-index: 3;
  top: clamp(104px, 12svh, 126px);
  left: var(--ml-content-inline);
  display: flex;
  flex-direction: column;
  width: min(960px, calc(100vw - 2 * var(--ml-content-inline)));
  min-height: 220px;
  padding: 14px 12px 18px 10px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero .ml-home-eyebrow {
  position: relative;
  inset: auto;
  justify-content: flex-start;
  margin: 0 0 14px;
  color: var(--ml-v5-scene-muted, rgba(39, 66, 57, 0.86));
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.13em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 {
  position: relative;
  inset: auto;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.04em;
  width: auto;
  max-width: none;
  height: auto;
  margin: 0;
  color: var(--ml-v5-scene-title, var(--ml-v5-ink-950));
  font-family: var(--ml-v5-serif);
  font-size: clamp(62px, 5.2vw, 78px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: 0.07em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 span,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 em {
  display: inline-block;
  margin: 0;
  color: inherit;
  font-size: 1em;
  font-style: normal;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
  writing-mode: horizontal-tb;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 em {
  color: var(--ml-v5-scene-accent, var(--ml-v5-moon-gold));
  text-shadow: 0 1px 12px rgba(70, 54, 28, 0.12);
  transform: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__lede {
  position: relative;
  inset: auto;
  width: min(41em, 94%);
  margin: 22px 0 0 clamp(22px, 2.2vw, 34px);
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  font-family: var(--ml-v5-sans);
  font-size: clamp(17px, 1.2vw, 18px);
  font-weight: 500;
  line-height: 1.78;
  letter-spacing: 0.015em;
  opacity: 0.96;
}

/* Frameless question: a stable hit area, a line, and an invisible veil. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer {
  --ml-composer-line: 0.66;
  position: absolute;
  z-index: 5;
  right: auto;
  bottom: clamp(56px, 8svh, 78px);
  left: var(--ml-content-inline);
  display: grid;
  grid-template-columns: minmax(420px, 1fr) 158px 140px;
  gap: 12px;
  width: min(1060px, calc(100vw - 2 * var(--ml-content-inline)));
  min-height: 128px;
  margin: 0;
  padding: 24px 0 13px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: transform 220ms ease;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer::after {
  position: absolute;
  z-index: 2;
  right: 148px;
  bottom: 18px;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--ml-v5-scene-rule-strong, rgba(232, 238, 227, 0.68)) 12%, var(--ml-v5-scene-rule-soft, rgba(232, 238, 227, 0.2)) 78%, transparent);
  opacity: var(--ml-composer-line);
  transform: scaleX(0.96);
  transform-origin: center;
  transition: opacity 260ms ease, transform 520ms cubic-bezier(0.2, 0, 0, 1);
  pointer-events: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer:focus-within {
  --ml-composer-line: 1;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer:focus-within::after {
  transform: scaleX(1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-question-seal {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 2px;
  display: block;
  width: auto;
  height: auto;
  border: 0;
  color: var(--ml-v5-scene-muted, rgba(233, 238, 226, 0.88));
  background: transparent;
  font-family: var(--ml-v5-serif);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  writing-mode: horizontal-tb;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer textarea {
  min-height: 64px;
  padding: 9px 12px 8px 2px;
  border: 0;
  outline: 0;
  color: var(--ml-v5-scene-title, var(--ml-v5-moon-950));
  background: transparent;
  font-family: var(--ml-v5-sans);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.72;
  caret-color: var(--ml-v5-scene-title, #f0ead8);
  opacity: 0.96;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer textarea::placeholder {
  color: var(--ml-v5-scene-title, rgba(235, 240, 229, 0.92));
  opacity: 1;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer textarea:placeholder-shown {
  font-family: var(--ml-v5-serif);
  font-size: clamp(24px, 2.05vw, 30px);
  font-weight: 550;
  letter-spacing: 0.04em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer select {
  min-height: 48px;
  margin: 0;
  padding-inline: 12px 26px;
  border: 0;
  border-left: 1px solid var(--ml-v5-rule-dark);
  outline: 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-moon-800));
  background: transparent;
  font-family: var(--ml-v5-sans);
  font-size: 15px;
  font-weight: 600;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer select option {
  color: #20352d;
  background: #eef0e7;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer textarea:focus-visible,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer select:focus-visible {
  outline: 0;
  box-shadow: inset 0 -2px rgba(232, 239, 226, 0.68);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-composer__submit,
  .ml-home-path-panel__action
) {
  position: relative;
  z-index: 3;
  min-width: 112px;
  min-height: 48px;
  padding: 0 12px;
  overflow: visible;
  border: 0;
  color: var(--ml-v5-scene-title, var(--ml-v5-moon-950));
  background: transparent;
  box-shadow: none;
  clip-path: none !important;
  font-family: var(--ml-v5-sans);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.06em;
  transition: color 260ms var(--ml-v5-motion-ease),
    transform 220ms var(--ml-v5-motion-ease),
    background-color 220ms ease;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-composer__submit,
  .ml-home-path-panel__action
) > span {
  white-space: nowrap;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-composer__submit,
  .ml-home-path-panel__action
)::after {
  position: absolute;
  right: 12px;
  bottom: 6px;
  left: 12px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, currentColor, transparent);
  opacity: 0.68;
  transform: scaleX(0.42);
  transform-origin: left;
  transition: opacity 260ms ease, transform 320ms var(--ml-v5-motion-ease);
  pointer-events: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-composer__submit,
  .ml-home-path-panel__action
):hover {
  background: transparent;
  transform: translateX(1px);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-composer__submit,
  .ml-home-path-panel__action
):hover::after {
  transform: scaleX(1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-composer__submit,
  .ml-home-path-panel__action
):is(:active, .is-pressing) {
  background: transparent;
  transform: translateY(1px);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-composer__submit,
  .ml-home-path-panel__action
):focus-visible {
  outline: 2px solid rgba(235, 239, 228, 0.82);
  outline-offset: 4px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer__submit i {
  position: relative;
  display: block;
  width: 20px;
  height: 1px;
  background: currentColor;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer__submit i::after {
  position: absolute;
  top: -3px;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  transform: rotate(45deg);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-question-help {
  bottom: clamp(16px, 2.6svh, 26px);
  left: var(--ml-content-inline);
  width: min(1060px, calc(100vw - 2 * var(--ml-content-inline)));
  color: rgba(230, 235, 226, 0.78);
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  line-height: 1.55;
  text-align: left;
  text-shadow: 0 1px 10px rgba(22, 43, 37, 0.72);
  opacity: 0.9;
}

/* Shared chapter heading: no carrier, only the title veil. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-chapter__sticky > .ml-home-section-heading {
  z-index: 4;
  top: clamp(76px, 9svh, 96px);
  left: var(--ml-content-inline);
  width: min(560px, 42vw);
  padding: 14px 8px 18px 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: translate3d(clamp(-18px, var(--chapter-left-x, 0px), 0px), 0, 0);
  transition: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-chapter__sticky {
  filter: none;
  transform: translate3d(
    0,
    clamp(-16px, calc(var(--chapter-enter-y, 0px) + var(--chapter-exit-y, 0px)), 22px),
    0
  );
  will-change: auto;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-chapter.is-near > .ml-content-chapter__sticky {
  will-change: opacity, transform;
}

/* A slightly longer scroll field lets chapters dissolve into one another
   without speeding up the native scroll or adding a trailing CSS transition. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities {
  min-height: 148svh;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence {
  min-height: 154svh;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading h2 {
  color: var(--ml-v5-scene-title, var(--ml-v5-ink-950));
  font-family: var(--ml-v5-serif);
  font-size: clamp(44px, 3.9vw, 56px);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: 0.035em;
  filter: none;
  transform: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading > p,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading > div > p:not(.ml-home-eyebrow) {
  max-width: 31em;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  font-family: var(--ml-v5-sans);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.78;
  opacity: 0.96;
  text-shadow: var(--ml-v5-scene-shadow, none);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading > div > small {
  color: var(--ml-v5-scene-muted, rgba(49, 68, 60, 0.82));
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.88;
  text-shadow: var(--ml-v5-scene-shadow, none);
}

/* Five Arts: five real buttons and one unframed current reading. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-home-section-heading {
  top: 72px;
  display: block;
  width: min(720px, 54vw);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-home-section-heading > div:first-child {
  width: auto;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-home-section-heading > div:last-child {
  width: min(32em, 82%);
  margin: clamp(22px, 2.7svh, 30px) 0 0 clamp(46px, 4vw, 60px);
  opacity: var(--chapter-carrier, 1);
  transform: translate3d(clamp(0px, var(--chapter-right-x, 0px), 14px), 0, 0);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-heading-line {
  display: block;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-heading-line--secondary {
  margin: 0.18em 0 0 clamp(40px, 4vw, 58px);
  font-size: 0.82em;
  font-weight: 550;
  letter-spacing: 0.045em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-home-section-heading > div > small {
  display: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities.ml-home-capabilities .ml-home-paths {
  position: absolute;
  z-index: 5;
  top: clamp(438px, 51svh, 466px);
  right: var(--ml-content-inline);
  bottom: clamp(34px, 4svh, 50px);
  left: var(--ml-content-inline);
  display: grid;
  grid-template-columns: minmax(520px, 720px) minmax(210px, 270px);
  grid-template-rows: 76px minmax(0, 1fr);
  align-content: start;
  justify-content: start;
  gap: 8px clamp(42px, 5vw, 76px);
  transform: translate3d(clamp(0px, var(--chapter-right-x, 0px), 14px), 0, 0);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-tabs {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(56px, 1fr));
  align-items: center;
  width: 100%;
  min-height: 76px;
  padding: 0;
  overflow: visible;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-tabs::after {
  position: absolute;
  z-index: 0;
  right: 5%;
  bottom: 17px;
  left: 5%;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(43, 77, 66, 0.16), transparent);
  pointer-events: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node:hover,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node.is-active {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  min-width: 56px;
  min-height: 56px;
  padding: 4px 3px;
  border: 0;
  color: rgba(31, 56, 48, 0.82);
  background: transparent;
  box-shadow: none;
  opacity: var(--node-opacity, 1);
  transform: translate3d(0, var(--node-y, 0px), 0);
  transition: opacity var(--ml-v5-motion-feedback) var(--ml-v5-motion-ease),
    transform var(--ml-v5-motion-hover) var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node::before {
  position: absolute;
  bottom: 13px;
  left: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  content: "";
  background: transparent;
  opacity: 0;
  transform: translateX(-50%) scale(0.58);
  transition: background-color var(--ml-v5-motion-feedback) var(--ml-v5-motion-ease),
    opacity var(--ml-v5-motion-feedback) var(--ml-v5-motion-ease),
    transform var(--ml-v5-motion-hover) var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node::after {
  position: absolute;
  bottom: 8px;
  left: 50%;
  width: 20px;
  height: 1px;
  content: "";
  background: rgba(42, 77, 65, 0.42);
  opacity: 0;
  transform: translateX(-50%) scaleX(0.3);
  transition: opacity var(--ml-v5-motion-feedback) var(--ml-v5-motion-ease),
    transform var(--ml-v5-motion-hover) var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node.is-active::before {
  background: var(--ml-v5-cinnabar);
  opacity: 1;
  transform: translateX(-50%) scale(1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node.is-active::after {
  opacity: 1;
  transform: translateX(-50%) scaleX(1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node strong {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  color: var(--ml-v5-ink-950);
  background: transparent;
  font-family: var(--ml-v5-serif);
  font-size: 22px;
  font-weight: 550;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node span {
  padding: 0;
  color: rgba(43, 63, 54, 0.78);
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  font-weight: 550;
  opacity: 0.86;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node.is-active :is(strong, span) {
  color: #17382f;
  font-weight: 700;
  opacity: 1;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node:focus-visible {
  outline: 2px solid rgba(42, 87, 71, 0.74);
  outline-offset: 3px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: minmax(500px, 710px) minmax(210px, 270px);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 6px clamp(42px, 5vw, 76px);
  min-height: 0;
  margin: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__status {
  grid-column: 1;
  grid-row: 1;
  min-height: 24px;
  padding: 0 30px;
  color: rgba(230, 235, 225, 0.78);
  font-family: var(--ml-v5-sans);
  opacity: 0.9;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  min-height: 210px;
  padding: 20px 44px 18px 42px;
  border: 0;
  color: var(--ml-v5-moon-800);
  background: transparent;
  clip-path: none !important;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy p {
  color: rgba(235, 222, 196, 0.86);
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0.08em;
  opacity: 0.92;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy h3 {
  max-width: 12em;
  margin-top: 10px;
  color: var(--ml-v5-moon-950);
  font-family: var(--ml-v5-serif);
  font-size: clamp(32px, 3vw, 42px);
  font-weight: 600;
  line-height: 1.2;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy div {
  max-width: 31em;
  margin-top: 14px;
  color: var(--ml-v5-moon-800);
  font-family: var(--ml-v5-sans);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.78;
  opacity: 0.94;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence {
  position: relative;
  z-index: 2;
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  min-height: 0;
  margin: 0;
  padding: 14px 0 14px 18px;
  border: 0;
  border-left: 1px solid var(--ml-v5-rule-dark);
  color: var(--ml-v5-moon-800);
  background: transparent;
  clip-path: none !important;
  box-shadow: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
  border: 0;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__facts span {
  min-height: 56px;
  padding: 9px 3px 9px 0;
  border: 0;
  border-bottom: 1px solid rgba(235, 239, 228, 0.12);
  background: transparent;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__facts small,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-meter p,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-meter__legend {
  color: var(--ml-v5-moon-650);
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  opacity: 0.82;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__facts strong,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-meter p strong {
  color: var(--ml-v5-moon-950);
  font-size: 16px;
  opacity: 0.96;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-meter__bar {
  height: 1px;
  background: rgba(235, 239, 228, 0.12);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-meter__bar span {
  border-radius: 0;
  background: rgba(220, 228, 216, 0.48);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__action {
  grid-column: 1;
  grid-row: 3;
  justify-self: start;
  margin: 0 0 0 42px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel[data-active-path] .ml-home-path-panel__status {
  animation: ml-v5-text-arrive 520ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel[data-active-path] .ml-home-path-panel__copy > p {
  animation: ml-v5-text-arrive 600ms 50ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel[data-active-path] .ml-home-path-panel__copy > h3 {
  animation: ml-v5-text-arrive 680ms 100ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel[data-active-path] .ml-home-path-panel__copy > div {
  animation: ml-v5-text-arrive var(--ml-v5-motion-switch) 150ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel[data-active-path] .ml-home-path-panel__evidence {
  animation: ml-v5-evidence-arrive 700ms 210ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel[data-active-path] .ml-home-path-panel__action {
  animation: ml-v5-text-arrive 600ms 260ms var(--ml-v5-motion-ease) both;
}

/* Evidence: open title at left, transparent report column at right. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-home-section-heading {
  top: 74px;
  width: min(580px, 40vw);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-home-section-heading h2 {
  font-size: clamp(42px, 3.5vw, 52px);
  white-space: nowrap;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__conclusion {
  position: absolute;
  z-index: 3;
  top: clamp(344px, 40svh, 376px);
  left: var(--ml-content-inline);
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 16px;
  width: min(460px, 34vw);
  padding: 12px 0 12px 18px;
  border: 0;
  border-left: 1px solid rgba(117, 78, 52, 0.26);
  background: transparent;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__conclusion small {
  color: rgba(99, 69, 47, 0.92);
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  font-weight: 650;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__conclusion p {
  color: var(--ml-v5-ink-800);
  font-family: var(--ml-v5-sans);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.76;
  opacity: 0.96;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__body {
  position: absolute;
  z-index: 3;
  top: clamp(470px, 55svh, 506px);
  right: auto;
  bottom: 48px;
  left: var(--ml-content-inline);
  display: block;
  width: min(420px, 31vw);
  min-height: 0;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1px;
  width: 100%;
  height: 100%;
  padding: 8px 0 6px 22px;
  border: 0;
  color: var(--ml-v5-moon-800);
  background: transparent;
  transform: translate3d(clamp(-18px, var(--chapter-left-x, 0px), 0px), 0, 0);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map > p,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map > small,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map strong {
  color: var(--ml-v5-moon-800);
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  line-height: 1.45;
  opacity: 0.9;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map > span {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 46px;
  margin: 0;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map b {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: rgba(215, 225, 214, 0.76);
  background: transparent;
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map span.is-active b {
  color: #e5b5a8;
  font-weight: 700;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map span.is-active b::before {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  content: "";
  background: var(--ml-v5-cinnabar);
  transform: translate(-14px, 0);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map i {
  display: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet {
  position: absolute;
  z-index: 4;
  top: clamp(246px, 29svh, 270px);
  right: var(--ml-content-inline);
  bottom: clamp(42px, 4.8svh, 58px);
  display: flex;
  flex-direction: column;
  width: min(540px, 39vw);
  min-height: 0;
  overflow: visible;
  border: 0;
  color: var(--ml-v5-moon-800);
  background: transparent;
  clip-path: none !important;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: translate3d(clamp(0px, var(--chapter-right-x, 0px), 14px), 0, 0);
  --ml-veil-center: rgba(25, 49, 42, 0.24);
  --ml-veil-mid: rgba(25, 49, 42, 0.10);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet .ml-home-report__header {
  position: relative;
  inset: auto;
  flex: 0 0 auto;
  width: auto;
  padding: 20px 24px 16px;
  border: 0;
  color: var(--ml-v5-moon-800);
  background: transparent;
  transform: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__header h3 {
  max-width: 15em;
  margin-top: 5px;
  color: var(--ml-v5-moon-950);
  font-family: var(--ml-v5-serif);
  font-size: clamp(27px, 1.9vw, 32px);
  font-weight: 600;
  line-height: 1.24;
  text-shadow: 0 1px 8px rgba(13, 31, 27, 0.52);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__header :is(p, small),
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__header > span {
  color: var(--ml-v5-moon-650);
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  opacity: 0.94;
  text-shadow: 0 1px 7px rgba(13, 31, 27, 0.48);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__header > span {
  min-height: 30px;
  padding: 5px 0 5px 12px;
  border: 0;
  border-left: 1px solid var(--ml-v5-rule-dark);
  background: transparent;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet .ml-home-trace-list {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 2px 24px 18px;
  overflow: auto;
  border: 0;
  color: var(--ml-v5-moon-800);
  background: transparent;
  box-shadow: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step {
  border: 0;
  background: transparent;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step summary {
  position: relative;
  grid-template-columns: 42px minmax(0, 1fr) 50px;
  min-height: 64px;
  padding: 8px 0;
  border: 0;
  background: transparent;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step summary::after {
  position: absolute;
  right: 35%;
  bottom: 0;
  left: 42px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, rgba(232, 238, 227, 0.14), transparent);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step summary:focus-visible {
  outline: 2px solid rgba(231, 238, 226, 0.74);
  outline-offset: 3px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__index {
  width: 30px;
  height: 32px;
  border: 0;
  color: rgba(227, 214, 190, 0.86);
  background: transparent;
  font-family: var(--ml-v5-sans);
  font-size: 14px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__title strong {
  color: var(--ml-v5-moon-950);
  font-family: var(--ml-v5-sans);
  font-size: 17px;
  font-weight: 650;
  opacity: 0.98;
  text-shadow: 0 1px 7px rgba(13, 31, 27, 0.50);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__title small {
  color: var(--ml-v5-moon-650);
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  opacity: 0.92;
  text-shadow: 0 1px 6px rgba(13, 31, 27, 0.46);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__toggle {
  width: auto;
  min-width: 44px;
  height: 44px;
  color: var(--ml-v5-moon-650);
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  opacity: 0.94;
  text-shadow: 0 1px 6px rgba(13, 31, 27, 0.46);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__detail {
  padding-top: 4px;
  color: var(--ml-v5-moon-800);
  font-family: var(--ml-v5-sans);
  font-size: 17px;
  line-height: 1.75;
  opacity: 0.98;
  text-shadow: 0 1px 7px rgba(13, 31, 27, 0.48);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__detail > p {
  color: inherit;
  font-family: var(--ml-v5-sans);
  font-size: 16px;
  line-height: 1.72;
  opacity: 0.96;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__detail :is(dt, dd) {
  color: inherit;
  font-size: 14px;
  opacity: 0.92;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step[open] .ml-home-trace-step__detail {
  animation: ml-v5-report-reveal var(--ml-v5-motion-switch) var(--ml-v5-motion-ease) both;
}

@supports selector(details::details-content) {
  html.ml-ui-v5 {
    interpolate-size: allow-keywords;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step::details-content {
    block-size: 0;
    overflow: clip;
    opacity: 0;
    transition: block-size var(--ml-v5-motion-expand) var(--ml-v5-motion-ease),
      opacity 520ms var(--ml-v5-motion-ease);
    transition-behavior: allow-discrete;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step[open]::details-content {
    block-size: auto;
    opacity: 1;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step[open] .ml-home-trace-step__detail {
    animation: none;
  }
}

/* Scene-aware typography. Hosts switch only after most of their visible area
 * crosses the projected shoreline, so a slow scroll never flickers at shore. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook [data-scene-tone] :is(h1, h2, h3),
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook [data-scene-tone] :is(
  .ml-home-path-panel__facts strong,
  .ml-home-path-meter p strong,
  .ml-home-trace-step__title strong
) {
  color: var(--ml-v5-scene-title);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook [data-scene-tone] :is(
  p,
  textarea,
  select,
  summary,
  .ml-home-path-panel__copy div,
  .ml-home-report__map strong,
  .ml-home-trace-step__detail,
  .ml-home-trace-step__detail > p,
  .ml-home-trace-step__detail dt,
  .ml-home-trace-step__detail dd
) {
  color: var(--ml-v5-scene-body);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook [data-scene-tone] .ml-content-heading-line--secondary {
  color: var(--ml-v5-scene-body);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook [data-scene-tone] :is(
  .ml-home-eyebrow,
  small,
  .ml-content-question-seal,
  .ml-home-path-panel__status,
  .ml-home-path-panel__facts small,
  .ml-home-path-meter__legend,
  .ml-home-report__map b,
  .ml-home-trace-step__index,
  .ml-home-trace-step__title small,
  .ml-home-trace-step__toggle
) {
  color: var(--ml-v5-scene-muted);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy[data-scene-tone] h1 em {
  color: var(--ml-v5-scene-accent);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-section-heading,
  .ml-home-path-panel__copy,
  .ml-home-report__header,
  .ml-home-report__conclusion
)[data-scene-tone] :is(
  .ml-home-eyebrow,
  .ml-home-path-panel__copy > p,
  .ml-home-report__header > div > p,
  .ml-home-report__conclusion > small
) {
  color: var(--ml-v5-scene-accent);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer[data-scene-tone] :is(
  .ml-home-composer__submit,
  select,
  textarea
) {
  color: var(--ml-v5-scene-title);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer[data-scene-tone] textarea::placeholder {
  color: var(--ml-v5-scene-title);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer[data-scene-tone] select {
  border-left-color: var(--ml-v5-scene-rule-soft);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-header[data-scene-tone] :is(
  .ml-home-brand,
  .ml-home-brand span,
  .ml-home-nav a,
  .ml-home-header__actions,
  .ml-home-header__actions a,
  .ml-home-header__actions button,
  .ml-home-menu-toggle
) {
  color: var(--ml-v5-scene-title);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-header[data-scene-tone] :is(
  .ml-home-brand small,
  .ml-home-menu-toggle small
) {
  color: var(--ml-v5-scene-muted);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-question-help[data-scene-tone],
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-scroll-cue[data-scene-tone] span {
  color: var(--ml-v5-scene-body);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-scroll-cue[data-scene-tone] small {
  color: var(--ml-v5-scene-accent);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-tabs[data-scene-tone]::after {
  background: linear-gradient(90deg, transparent, var(--ml-v5-scene-rule-soft), transparent);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node[data-scene-tone],
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node[data-scene-tone] strong {
  color: var(--ml-v5-scene-title);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node[data-scene-tone] span {
  color: var(--ml-v5-scene-muted);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node.is-active[data-scene-tone] :is(strong, span) {
  color: var(--ml-v5-scene-title);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node[data-scene-tone]::after {
  background: var(--ml-v5-scene-rule-strong);
  transition: opacity 260ms ease, transform 340ms var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__status[data-scene-tone] :is(span, b) {
  color: var(--ml-v5-scene-body);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__status[data-scene-tone] small {
  color: var(--ml-v5-scene-muted);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__action[data-scene-tone] {
  color: var(--ml-v5-scene-title);
  text-shadow: var(--ml-v5-scene-shadow);
  transition-property: color, transform, background-color;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__action[data-scene-tone]:hover {
  color: var(--ml-v5-scene-accent);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence[data-scene-tone] {
  border-left-color: var(--ml-v5-scene-rule-soft);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence[data-scene-tone] .ml-home-path-panel__facts span {
  border-bottom-color: var(--ml-v5-scene-rule-soft);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence[data-scene-tone] .ml-home-path-meter__bar {
  background: var(--ml-v5-scene-rule-soft);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__header[data-scene-tone] > span,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-live[data-scene-tone],
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report > footer[data-scene-tone] :is(span, small, a, button) {
  color: var(--ml-v5-scene-muted);
  text-shadow: var(--ml-v5-scene-shadow);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__header[data-scene-tone] > span {
  border-left-color: var(--ml-v5-scene-rule-soft);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step[data-scene-tone] summary::after {
  background: linear-gradient(90deg, var(--ml-v5-scene-rule-soft), transparent);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading[data-scene-tone]::before {
  color: var(--ml-v5-scene-muted);
  text-shadow: var(--ml-v5-scene-shadow);
}

/* The homepage action follows the moon rather than the surrounding ink. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer[data-scene-tone] .ml-home-composer__submit,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer[data-scene-tone] .ml-home-composer__submit:hover {
  color: var(--ml-v5-scene-accent);
  text-shadow: 0 1px 12px color-mix(in srgb, currentColor 18%, transparent);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer__submit:focus-visible {
  outline-color: var(--ml-v5-scene-accent);
}

/* Mouse wheels benefit from a slight follow-through; touch scrolling stays direct. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-chapter__sticky {
    transition: opacity 120ms linear, transform 160ms cubic-bezier(0.2, 0.65, 0.25, 1);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
    #capabilities .ml-home-section-heading > div:last-child,
    #capabilities.ml-home-capabilities .ml-home-paths,
    .ml-home-report__map,
    .ml-content-report-booklet
  ) {
    transition: transform 180ms cubic-bezier(0.2, 0.65, 0.25, 1);
  }
}

/* Wide screens gain breathing room, not bigger carriers. */
@media (min-width: 1800px) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy {
    width: 1100px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-question-help {
    width: 1120px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities.ml-home-capabilities .ml-home-paths,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel {
    grid-template-columns: 740px 270px;
    gap: 86px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet {
    width: 560px;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  html.ml-ui-v5 {
    --ml-content-inline: clamp(32px, 4.5vw, 54px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy {
    width: min(820px, calc(100vw - 2 * var(--ml-content-inline)));
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 {
    gap: 0.16em;
    font-size: clamp(50px, 5.5vw, 60px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-question-help {
    width: min(900px, calc(100vw - 2 * var(--ml-content-inline)));
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer {
    grid-template-columns: minmax(320px, 1fr) 132px 120px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities.ml-home-capabilities .ml-home-paths,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel {
    grid-template-columns: minmax(450px, 1fr) minmax(180px, 220px);
    gap: 30px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet {
    width: min(500px, 49vw);
  }
}

/* Portrait layouts are independently composed; no desktop carrier is squeezed. */
@media (max-width: 900px) and (orientation: portrait) {
  html.ml-ui-v5 {
    --ml-content-inline: clamp(20px, 5.5vw, 36px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-header {
    min-height: 60px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__content {
    min-height: max(100svh, 680px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy {
    top: clamp(72px, 9svh, 88px);
    right: var(--ml-content-inline);
    left: var(--ml-content-inline);
    width: auto;
    min-height: 224px;
    padding: 10px 4px 14px;
  }

  html.ml-ui-v5 .ml-home-hero__copy > .ml-reading-veil {
    inset: -36px -34px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero .ml-home-eyebrow {
    margin-bottom: 9px;
    font-size: 13.5px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    max-width: none;
    font-size: clamp(40px, 10.8vw, 48px);
    line-height: 1.12;
    letter-spacing: 0.04em;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 em {
    margin-block-start: 0.08em;
    margin-inline-start: clamp(72px, 23vw, 104px);
    font-size: 1em;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__lede {
    width: min(330px, 96%);
    margin: 13px 0 0 0.72em;
    font-size: 16px;
    line-height: 1.72;
    opacity: 0.98;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer {
    right: var(--ml-content-inline);
    bottom: 76px;
    left: var(--ml-content-inline);
    grid-template-columns: minmax(0, 1fr) 116px;
    grid-template-rows: minmax(62px, auto) 48px;
    gap: 2px 8px;
    width: auto;
    min-height: 140px;
    padding: 23px 0 10px;
  }

  html.ml-ui-v5 .ml-home-composer > .ml-reading-veil {
    inset: -28px -32px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer::after {
    right: 122px;
    bottom: 13px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer textarea {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 62px;
    padding: 7px 8px 6px 1px;
    font-size: 16px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer textarea:placeholder-shown {
    font-size: clamp(20px, 5.5vw, 23px);
    line-height: 1.45;
    letter-spacing: 0.025em;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer select {
    grid-column: 1;
    grid-row: 2;
    min-height: 48px;
    padding-left: 0;
    border-top: 1px solid rgba(232, 238, 227, 0.14);
    border-left: 0;
    font-size: 14px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer__submit {
    grid-column: 2;
    grid-row: 2;
    min-width: 108px;
    min-height: 48px;
    padding-inline: 8px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-question-help {
    right: var(--ml-content-inline);
    bottom: 8px;
    left: var(--ml-content-inline);
    width: auto;
    font-size: 13.5px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer__state {
    right: 108px;
    bottom: -22px;
    left: 8px;
    font-size: 13.5px;
    line-height: 1.55;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence {
    min-height: max(120svh, 760px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-content-chapter__sticky {
    height: 100svh;
    min-height: 680px;
    overflow: clip;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-chapter__sticky > .ml-home-section-heading {
    top: 64px;
    right: var(--ml-content-inline);
    left: var(--ml-content-inline);
    width: auto;
    padding: 10px 2px 14px;
  }

  html.ml-ui-v5 .ml-home-section-heading > .ml-reading-veil {
    inset: -34px -32px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading h2 {
    max-width: 360px;
    font-size: clamp(34px, 9.5vw, 42px);
    line-height: 1.16;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-home-section-heading {
    display: block;
    width: auto;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-heading-line--secondary {
    margin: 0.15em 0 0 clamp(28px, 10vw, 42px);
    font-size: 0.84em;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading > p,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-section-heading > div > p:not(.ml-home-eyebrow) {
    max-width: 31em;
    margin-top: 9px;
    font-size: 16px;
    line-height: 1.72;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-home-section-heading > p,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-home-section-heading > div > p:not(.ml-home-eyebrow),
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-home-section-heading > p,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-home-section-heading > div > p:not(.ml-home-eyebrow) {
    display: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities.ml-home-capabilities .ml-home-paths {
    top: clamp(250px, 31svh, 276px);
    right: var(--ml-content-inline);
    bottom: 18px;
    left: var(--ml-content-inline);
    display: block;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(48px, 1fr));
    width: 100%;
    min-height: 72px;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-tabs::-webkit-scrollbar {
    display: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-tabs::after {
    bottom: 13px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node:hover,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node.is-active {
    min-width: 48px;
    min-height: 60px;
    padding: 3px 2px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node strong {
    width: 34px;
    height: 34px;
    font-size: 21px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-node span {
    display: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: 4px;
    margin-top: 10px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__status,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__action {
    grid-column: 1;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__status {
    grid-row: 1;
    min-height: 23px;
    padding: 0 10px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__status :is(span, b, small) {
    font-size: 13.5px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__status small {
    display: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy {
    grid-row: 2;
    min-height: 166px;
    padding: 14px 12px 12px 12px;
  }

  html.ml-ui-v5 .ml-home-path-panel__copy > .ml-reading-veil {
    inset: -30px -30px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy h3 {
    margin-top: 6px;
    font-size: clamp(28px, 8vw, 34px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy div {
    margin-top: 9px;
    font-size: 16px;
    line-height: 1.72;
    opacity: 0.98;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence {
    grid-row: 3;
    min-height: 88px;
    margin: 0 10px 0 12px;
    padding: 8px 0 6px 12px;
  }

  html.ml-ui-v5 .ml-home-path-panel__evidence > .ml-reading-veil {
    inset: -24px -26px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__facts span {
    min-height: 38px;
    padding: 4px 2px 4px 0;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-meter {
    display: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__action {
    grid-row: 4;
    min-height: 46px;
    margin: 1px 0 0 12px;
  }

  /* The mobile report flows down the fixed background instead of filling it. */
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence {
    min-height: 1160px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-content-chapter__sticky {
    position: relative;
    top: auto;
    height: auto;
    min-height: 1120px;
    overflow: visible;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-home-section-heading {
    top: 64px;
    width: auto;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-home-section-heading h2 {
    max-width: none;
    font-size: clamp(30px, 8.8vw, 36px);
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__conclusion {
    top: 260px;
    right: var(--ml-content-inline);
    left: var(--ml-content-inline);
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 10px;
    width: auto;
    min-height: 76px;
    padding: 9px 3px 9px 12px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__conclusion p {
    font-size: 16px;
    line-height: 1.7;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__body {
    top: 374px;
    right: var(--ml-content-inline);
    bottom: auto;
    left: var(--ml-content-inline);
    width: auto;
    height: 76px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map {
    display: grid;
    grid-template-columns: repeat(4, minmax(44px, 1fr));
    align-items: center;
    gap: 0;
    width: 100%;
    height: 76px;
    padding: 4px 0;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map > p,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map > small {
    display: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map > span {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 2px;
    min-width: 44px;
    min-height: 56px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map b {
    width: 28px;
    height: 28px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__map strong {
    font-size: 12px;
    line-height: 1.25;
    text-align: center;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet {
    top: 486px;
    right: var(--ml-content-inline);
    bottom: auto;
    left: var(--ml-content-inline);
    width: auto;
    min-height: 540px;
    overflow: visible;
  }

  html.ml-ui-v5 .ml-content-report-booklet > .ml-reading-veil {
    inset: -42px -36px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet .ml-home-report__header {
    position: relative;
    display: block;
    padding: 18px 4px 14px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet .ml-home-report__header > span {
    position: absolute;
    top: 18px;
    right: 4px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__header h3 {
    font-size: 24px;
    max-width: none;
    white-space: nowrap;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet .ml-home-trace-list {
    padding: 2px 4px 16px;
    overflow: visible;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-trace-step__title strong {
    font-size: 16px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-scroll-cue {
    display: none;
  }
}

@media (min-width: 600px) and (max-width: 900px) and (orientation: portrait) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities.ml-home-capabilities .ml-home-paths {
    top: 352px;
  }
}

@media (max-width: 380px) and (orientation: portrait) {
  html.ml-ui-v5 {
    --ml-content-inline: 20px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__content {
    min-height: max(100svh, 610px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__copy {
    top: 66px;
    min-height: 202px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 {
    font-size: clamp(37px, 11.8vw, 43px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero h1 em {
    margin-inline-start: clamp(64px, 21vw, 82px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-hero__lede {
    margin-top: 9px;
    font-size: 16px;
    line-height: 1.68;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-composer {
    bottom: 56px;
    min-height: 132px;
    padding-top: 21px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-question-help {
    bottom: 14px;
    font-size: 13.5px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities.ml-home-capabilities .ml-home-paths {
    top: 288px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__evidence {
    display: none;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy {
    min-height: 150px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy h3 {
    font-size: 28px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-path-panel__copy div {
    font-size: 16px;
    line-height: 1.68;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #evidence .ml-home-section-heading h2 {
    font-size: 31px;
    line-height: 1.14;
    letter-spacing: 0.01em;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__conclusion {
    top: 274px;
    grid-template-columns: 1fr;
    gap: 3px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-report__body {
    top: 398px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-report-booklet {
    top: 500px;
  }
}

/* -------------------------------------------------------------------------
 * Completion chapters — invitation, privacy, and the quiet closing signature.
 * They use the same invisible veil and adaptive scene tone as the accepted
 * three-screen study. No card, paper image, solid panel, or new visual asset is
 * introduced; the fixed c57 landscape remains the dominant surface.
 * ---------------------------------------------------------------------- */

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) {
  min-height: 148svh;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #plans {
  order: 4;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #privacy {
  order: 3;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer {
  order: 5;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-content-chapter__sticky {
  isolation: isolate;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading {
  position: absolute;
  top: clamp(76px, 9svh, 96px);
  width: min(690px, 51vw);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading--center {
  text-align: left;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading--center > p:last-child,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading--split > div:last-child {
  width: min(31em, 88%);
  margin: clamp(20px, 2.4svh, 28px) 0 0 clamp(42px, 3.7vw, 58px);
  text-align: left;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #privacy .ml-home-section-heading {
  width: min(610px, 43vw);
}

/* Final plan chapter: three quiet choices, one current explanation. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-list {
  position: absolute;
  z-index: 5;
  top: clamp(430px, 49svh, 450px);
  left: var(--ml-content-inline);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.3vw, 34px);
  width: min(820px, calc(100vw - 2 * var(--ml-content-inline)));
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan:hover,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan.is-active {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  justify-items: start;
  min-width: 0;
  min-height: 92px;
  padding: 8px 6px 14px;
  border: 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  background: transparent;
  box-shadow: none;
  text-align: left;
  opacity: calc(0.64 * var(--node-opacity, 1));
  transform: translate3d(0, var(--node-y, 0px), 0);
  transition: opacity var(--ml-v5-motion-hover) var(--ml-v5-motion-ease),
    transform var(--ml-v5-motion-hover) var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan::after {
  position: absolute;
  bottom: 2px;
  left: 6px;
  width: 24px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, currentColor, transparent);
  opacity: 0.5;
  transform: scaleX(0.58);
  transform-origin: left;
  transition: opacity var(--ml-v5-motion-feedback) var(--ml-v5-motion-ease),
    transform var(--ml-v5-motion-hover) var(--ml-v5-motion-ease);
  pointer-events: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan.is-active {
  color: var(--ml-v5-scene-title, var(--ml-v5-ink-950));
  opacity: var(--node-opacity, 1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan.is-active::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan:hover::after,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan:focus-visible::after {
  opacity: 0.86;
  transform: scaleX(1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan small {
  margin: 0 0 8px;
  color: var(--ml-v5-scene-accent, var(--ml-v5-moon-gold));
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan > strong {
  margin: 0;
  color: inherit;
  font-family: var(--ml-v5-serif);
  font-size: clamp(22px, 1.9vw, 27px);
  font-weight: 600;
  letter-spacing: 0.04em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan > span,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan > i {
  display: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan:focus-visible {
  outline: 2px solid var(--ml-v5-scene-accent, rgba(189, 129, 47, 0.72));
  outline-offset: 4px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection {
  position: absolute;
  z-index: 5;
  top: clamp(555px, 63svh, 580px);
  left: calc(var(--ml-content-inline) + clamp(28px, 3vw, 46px));
  width: min(680px, calc(100vw - 2 * var(--ml-content-inline) - 56px));
  max-width: none;
  margin: 0;
  padding: 10px 6px 14px;
  border: 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  background: transparent;
  box-shadow: none;
  text-align: left;
  opacity: var(--chapter-carrier, 1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection > p {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px 18px;
  margin: 0;
  font-family: var(--ml-v5-sans);
  font-size: 15px;
  line-height: 1.6;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection > p span {
  color: var(--ml-v5-scene-title, var(--ml-v5-ink-950));
  font-weight: 650;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection > p strong {
  color: var(--ml-v5-scene-accent, var(--ml-v5-moon-gold));
  font-weight: 600;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection > small {
  display: block;
  max-width: 46em;
  margin: 10px 0 0;
  color: var(--ml-v5-scene-muted, var(--ml-v5-ink-600));
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  line-height: 1.68;
  opacity: 0.9;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-plan-detail {
  margin: 16px 0 0;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-plan-detail > p {
  max-width: 38em;
  margin: 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  font-family: var(--ml-v5-sans);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.72;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-plan-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 14px 0 0;
  padding: 0;
  color: var(--ml-v5-scene-muted, var(--ml-v5-ink-600));
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  line-height: 1.5;
  list-style: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-plan-facts li {
  position: relative;
  padding-left: 14px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-plan-facts li::before {
  position: absolute;
  top: 0.64em;
  left: 0;
  width: 5px;
  height: 1px;
  content: "";
  background: currentColor;
  opacity: 0.62;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection.is-updating > :is(p, small, .ml-content-plan-detail) {
  animation: ml-v5-text-arrive 680ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection.is-updating > small {
  animation-delay: 70ms;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection.is-updating > .ml-content-plan-detail {
  animation-delay: 120ms;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-actions {
  position: absolute;
  z-index: 6;
  bottom: clamp(96px, 12svh, 112px);
  left: calc(var(--ml-content-inline) + clamp(28px, 3vw, 46px));
  display: flex;
  justify-content: flex-start;
  gap: 14px 24px;
  margin: 0;
  opacity: var(--chapter-annotation, 1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-primary-action,
  .ml-home-text-action
) {
  position: relative;
  width: auto;
  min-width: 0;
  min-height: 48px;
  padding: 0 4px;
  border: 0;
  border-radius: 0;
  color: var(--ml-v5-scene-title, var(--ml-v5-ink-950));
  background: transparent;
  box-shadow: none;
  font-family: var(--ml-v5-sans);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.04em;
  transition: transform var(--ml-v5-motion-feedback) var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-primary-action,
  .ml-home-text-action
)::after {
  position: absolute;
  right: 4px;
  bottom: 5px;
  left: 4px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, currentColor, transparent);
  opacity: 0.54;
  transform: scaleX(0.48);
  transform-origin: left;
  transition: opacity var(--ml-v5-motion-feedback) var(--ml-v5-motion-ease),
    transform var(--ml-v5-motion-hover) var(--ml-v5-motion-ease);
  pointer-events: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-primary-action {
  color: var(--ml-v5-scene-accent, var(--ml-v5-moon-gold));
  font-weight: 700;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-primary-action::after {
  opacity: 0.78;
  transform: scaleX(0.86);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-text-action {
  color: var(--ml-v5-scene-muted, var(--ml-v5-ink-600));
  font-weight: 560;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-text-action::after {
  opacity: 0.3;
  transform: scaleX(0.34);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-primary-action,
  .ml-home-text-action
):is(:hover, :focus-visible)::after {
  opacity: 0.86;
  transform: scaleX(1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-primary-action,
  .ml-home-text-action
):is(:active, .is-pressing) {
  transform: translateY(1px);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(
  .ml-home-primary-action,
  .ml-home-text-action
):focus-visible {
  outline: 2px solid var(--ml-v5-scene-accent, rgba(189, 129, 47, 0.72));
  outline-offset: 4px;
}

/* Privacy chapter: four open annotations, never four panels. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list {
  position: absolute;
  z-index: 5;
  top: clamp(278px, 31svh, 316px);
  right: var(--ml-content-inline);
  left: clamp(520px, 55vw, 860px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(28px, 4svh, 42px) clamp(30px, 4vw, 58px);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  list-style: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li:last-child {
  position: relative;
  min-height: 168px;
  padding: 22px 4px 8px 26px;
  overflow: visible;
  border: 0;
  background: transparent;
  opacity: var(--node-opacity, 1);
  transform: translate3d(0, var(--node-y, 0px), 0);
  transition: opacity 420ms var(--ml-v5-motion-ease),
    transform 440ms var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li::before {
  position: absolute;
  top: 0;
  right: 28%;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, var(--ml-v5-scene-rule-soft, rgba(38, 72, 61, 0.18)), transparent);
  pointer-events: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list img {
  display: none !important;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li > div {
  position: static;
  margin: 10px 0 0;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list__index {
  color: var(--ml-v5-scene-accent, var(--ml-v5-moon-gold));
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list strong {
  display: block;
  color: var(--ml-v5-scene-title, var(--ml-v5-ink-950));
  font-family: var(--ml-v5-serif);
  font-size: clamp(22px, 1.8vw, 26px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.045em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list p {
  margin: 10px 0 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  font-family: var(--ml-v5-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.72;
  opacity: 0.96;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list small {
  display: block;
  margin-top: 9px;
  color: var(--ml-v5-scene-muted, var(--ml-v5-ink-600));
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  line-height: 1.55;
  opacity: 0.86;
}

/* Closing signature: transparent, sparse, and deliberately quieter. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
  align-items: center;
  gap: 36px;
  width: 100%;
  min-height: 32svh;
  margin: 0;
  padding: clamp(72px, 9svh, 96px) var(--ml-content-inline) clamp(38px, 5svh, 56px);
  border: 0;
  border-radius: 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity var(--ml-v5-motion-footer) var(--ml-v5-motion-ease),
    transform calc(var(--ml-v5-motion-footer) + 60ms) var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer.is-visible {
  opacity: 1;
  transform: translateY(0);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-at-footer #plans .ml-content-chapter__sticky {
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, -14px, 0);
  transition: opacity 720ms var(--ml-v5-motion-ease), transform 780ms var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer__brand > a {
  color: var(--ml-v5-scene-title, var(--ml-v5-ink-950));
  font-family: var(--ml-v5-serif);
  font-size: clamp(28px, 2.4vw, 36px);
  font-weight: 600;
  letter-spacing: 0.16em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer__brand > p {
  margin: 10px 0 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 22px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer nav :is(a, button) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 2px;
  border: 0;
  color: var(--ml-v5-scene-body, var(--ml-v5-ink-800));
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  font-family: var(--ml-v5-sans);
  font-size: 14px;
  font-weight: 550;
  line-height: 1;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer nav :is(a, button)::after {
  position: absolute;
  right: 2px;
  bottom: 5px;
  left: 2px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, currentColor, transparent);
  opacity: 0.28;
  transform: scaleX(0.38);
  transform-origin: left;
  transition: opacity 260ms ease, transform 320ms var(--ml-v5-motion-ease);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer nav :is(a, button):is(:hover, :focus-visible)::after {
  opacity: 0.76;
  transform: scaleX(1);
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer :is(a, button):focus-visible {
  outline: 2px solid var(--ml-v5-scene-accent, rgba(189, 129, 47, 0.72));
  outline-offset: 4px;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer__legal {
  display: grid;
  align-content: center;
  justify-items: end;
  gap: 2px;
  justify-self: end;
  min-height: 44px;
  color: var(--ml-v5-scene-muted, var(--ml-v5-ink-600));
  font-family: var(--ml-v5-sans);
  font-size: 13.5px;
  line-height: 1.55;
  opacity: 0.84;
  text-align: right;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer__legal > :is(span, a) {
  white-space: nowrap;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer__filing {
  color: inherit;
  font: inherit;
  opacity: 0.92;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer__filing--empty {
  min-height: 1.55em;
  visibility: hidden;
}

/* The modal is the only stable reading surface, because it blocks the scene. */
html.ml-ui-v5 .ml-home-invite-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: min(84svh, 690px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  color: var(--ml-v5-ink-800);
  background: transparent;
  box-shadow: none;
}

html.ml-ui-v5 .ml-home-invite-dialog[open] {
  animation: ml-v5-dialog-enter 360ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5 .ml-home-invite-dialog::backdrop {
  background: rgba(14, 31, 26, 0.5);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

html.ml-ui-v5 .ml-home-invite-dialog__panel {
  position: relative;
  max-height: min(84svh, 690px);
  padding: clamp(42px, 6vw, 62px);
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(ellipse at 82% 2%, rgba(255, 250, 231, 0.5), transparent 42%),
    rgba(239, 238, 224, 0.94);
  box-shadow: none;
}

html.ml-ui-v5 .ml-home-invite-dialog h2 {
  margin: 0;
  color: var(--ml-v5-ink-950);
  font-family: var(--ml-v5-serif);
  font-size: clamp(30px, 4vw, 42px);
  font-weight: 600;
  line-height: 1.24;
}

html.ml-ui-v5 .ml-home-invite-dialog__panel > p:not(.ml-home-eyebrow),
html.ml-ui-v5 .ml-home-invite-dialog li {
  color: var(--ml-v5-ink-800);
  font-family: var(--ml-v5-sans);
  font-size: 16px;
  line-height: 1.75;
}

html.ml-ui-v5 .ml-home-invite-dialog ul {
  gap: 12px;
  margin: 24px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid rgba(36, 69, 58, 0.16);
}

html.ml-ui-v5 .ml-home-invite-dialog li::before {
  top: 0.78em;
  width: 7px;
  height: 1px;
  border-radius: 0;
  background: var(--ml-v5-cinnabar);
}

html.ml-ui-v5 .ml-home-invite-dialog__close {
  color: var(--ml-v5-ink-600);
  font-family: var(--ml-v5-sans);
  font-size: 14px;
}

html.ml-ui-v5 .ml-home-invite-dialog__panel > div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 28px;
}

@media (min-width: 901px) and (max-height: 820px) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading {
    top: 40px;
    padding-top: 6px;
    padding-bottom: 8px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading .ml-home-eyebrow {
    margin: 0 0 6px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading--center > p:last-child,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading--split > div:last-child {
    margin-top: 12px;
    margin-left: 24px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-list {
    top: 330px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan:hover,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan.is-active {
    min-height: 78px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection {
    top: 440px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-actions {
    top: 620px;
    bottom: auto;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list {
    top: 365px;
    right: var(--ml-content-inline);
    left: var(--ml-content-inline);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li:last-child {
    min-height: 0;
    padding: 16px 4px 6px 20px;
  }
}

@media (max-width: 900px) and (orientation: portrait) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) {
    min-height: auto;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-content-chapter__sticky {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    padding: 92px var(--ml-content-inline) 72px;
    overflow: visible;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    padding: 10px 4px 16px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading h2 {
    font-size: clamp(34px, 9.8vw, 42px);
    line-height: 1.17;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading--center > p:last-child,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook :is(#plans, #privacy) .ml-home-section-heading--split > div:last-child {
    width: 100%;
    margin: 20px 0 0 clamp(16px, 5vw, 24px);
    padding-right: clamp(16px, 5vw, 24px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-list {
    position: relative;
    top: auto;
    left: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    margin-top: 38px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan:hover,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan.is-active {
    align-content: center;
    justify-items: center;
    min-height: 84px;
    padding: 8px 2px 13px;
    text-align: center;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan::after {
    right: 24%;
    left: 24%;
    width: auto;
    transform-origin: center;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan small {
    margin-bottom: 6px;
    font-size: 13.5px;
    letter-spacing: 0.04em;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan > strong {
    font-size: clamp(16px, 4.5vw, 19px);
    line-height: 1.25;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin: 30px 0 0;
    padding: 10px 4px 12px clamp(16px, 5vw, 24px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-selection > p {
    display: grid;
    gap: 3px;
    font-size: 14px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-plan-detail > p {
    font-size: 16px;
    line-height: 1.72;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-content-plan-facts {
    gap: 7px 18px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-plan-actions {
    position: relative;
    bottom: auto;
    left: auto;
    flex-wrap: wrap;
    margin: 26px 0 0 clamp(16px, 5vw, 24px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    grid-template-columns: 1fr;
    gap: 20px;
    width: 100%;
    margin-top: 34px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li,
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list > li:last-child {
    min-height: 0;
    padding: 19px 4px 6px clamp(16px, 5vw, 24px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list strong {
    font-size: 22px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-privacy-list p {
    font-size: 16px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 24px;
    width: 100%;
    min-height: 36svh;
    padding: clamp(64px, 9svh, 82px) var(--ml-content-inline) 44px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer nav {
    width: 100%;
    justify-content: space-between;
    gap: 0;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook .ml-home-footer__legal {
    justify-self: start;
    justify-items: start;
    text-align: left;
  }

  html.ml-ui-v5 .ml-home-invite-dialog__panel {
    padding: 52px 24px 30px;
  }

  html.ml-ui-v5 .ml-home-invite-dialog__panel > div {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* The final invitation chapter is one natural reading flow. Its copy changes
   height, so independent absolute coordinates are intentionally forbidden. */
@media (min-width: 901px) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #plans .ml-content-chapter__sticky {
    display: grid;
    grid-template-columns: minmax(0, 820px) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    align-content: start;
    column-gap: clamp(20px, 3vw, 44px);
    row-gap: clamp(12px, 1.5svh, 18px);
    padding-top: clamp(40px, 6svh, 74px);
    padding-bottom: clamp(36px, 5svh, 52px);
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #plans :is(
    .ml-home-section-heading,
    .ml-home-plan-list,
    .ml-home-plan-selection,
    .ml-home-plan-actions
  ) {
    position: relative;
    inset: auto;
    grid-column: 1;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #plans .ml-home-section-heading {
    grid-row: 1;
    width: min(690px, 100%);
    padding-top: 6px;
    padding-bottom: 8px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #plans .ml-home-plan-list {
    grid-row: 2;
    width: 100%;
    margin: 0;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #plans .ml-home-plan-selection {
    grid-row: 3;
    width: calc(100% - clamp(28px, 3vw, 46px));
    margin: 0 0 0 clamp(28px, 3vw, 46px);
    padding-top: 4px;
    padding-bottom: 4px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #plans .ml-home-plan-actions {
    grid-row: 4;
    margin: 0 0 0 clamp(28px, 3vw, 46px);
  }
}

/* Hero-only guidance must leave with the opening chapter. Keeping it rendered
   during the crossfade made the mobile helper look pinned to the header. */
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #homeHero :is(
  .ml-home-question-help,
  .ml-home-scroll-cue
) {
  visibility: visible;
  translate: 0 0;
  transition:
    opacity 460ms var(--ml-v5-motion-ease),
    translate 620ms var(--ml-v5-motion-ease),
    visibility 0s linear 0s;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #homeHero:not(.is-active) :is(
  .ml-home-question-help,
  .ml-home-scroll-cue
) {
  visibility: hidden;
  opacity: 0 !important;
  translate: 0 -6px;
  transition-delay: 0s, 0s, 460ms;
  pointer-events: none;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #homeHero .ml-home-composer {
  visibility: visible;
  translate: 0 0;
  transition:
    transform 220ms ease,
    opacity 460ms var(--ml-v5-motion-ease),
    translate 620ms var(--ml-v5-motion-ease),
    visibility 0s linear 0s;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #homeHero:not(.is-active) .ml-home-composer {
  visibility: hidden;
  opacity: 0 !important;
  translate: 0 -6px;
  transition-delay: 0s, 0s, 0s, 460ms;
  pointer-events: none;
}

/* A forced full replay always owns the opening frame. Deep chapters stay
   visually absent until the origin reset has completed. */
html.ml-ui-v5.ml-v5-intro-origin-guard.ml-intro-pending .ml-content-chapter:not([data-content-chapter="hero"]),
html.ml-ui-v5.ml-v5-intro-origin-guard.ml-intro-pending .ml-content-chapter-rail,
html.ml-ui-v5.ml-v5-intro-origin-guard.ml-intro-pending .ml-home-footer {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Chapter activation is edge-triggered rather than recomputed per text node on
   every scroll frame. Individual translate keeps the existing scene transform. */
html.ml-ui-v5 .ml-content-chapter.is-activating [data-content-layer="inscription"] {
  animation: ml-v5-chapter-inscription var(--ml-v5-motion-enter) var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5 .ml-content-chapter.is-activating [data-content-layer="carrier"] {
  animation: ml-v5-chapter-carrier var(--ml-v5-motion-carrier) 100ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5 .ml-content-chapter.is-activating [data-content-layer="annotation"] {
  animation: ml-v5-chapter-annotation var(--ml-v5-motion-annotation) 180ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5 .ml-content-chapter.is-activating [data-content-layer="interaction"] {
  animation: ml-v5-chapter-interaction 700ms 260ms var(--ml-v5-motion-ease) both;
}

html.ml-ui-v5 .ml-content-chapter.is-activating :is(
  [data-home-path],
  .ml-home-report__map > span,
  .ml-home-plan,
  .ml-home-privacy-list > li,
  .ml-home-plan-actions > *
) {
  animation: ml-v5-chapter-node 640ms var(--ml-v5-motion-ease) both;
  animation-delay: calc(240ms + var(--node-index, 0) * var(--ml-v5-motion-stagger));
}

/* Deep chapters are for reading. Keep the cinematic treatment on the hero,
   but reduce every later chapter to one quiet section-level crossfade. Scene
   tone remains live so text still moves continuously between ink and moon. */
html.ml-ui-v5.ml-content-calm-copy .ml-content-chapter:not([data-content-chapter="hero"]).is-activating [data-content-layer],
html.ml-ui-v5.ml-content-calm-copy .ml-content-chapter:not([data-content-chapter="hero"]).is-activating :is(
  [data-home-path],
  .ml-home-report__map > span,
  .ml-home-plan,
  .ml-home-privacy-list > li,
  .ml-home-plan-actions > *
) {
  animation: none !important;
  filter: none !important;
  translate: none !important;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-home-path-panel[data-active-path] :is(
  .ml-home-path-panel__status,
  .ml-home-path-panel__copy > p,
  .ml-home-path-panel__copy > h3,
  .ml-home-path-panel__copy > div,
  .ml-home-path-panel__evidence,
  .ml-home-path-panel__action
),
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-home-path-panel.is-updating :is(
  .ml-home-path-panel__copy,
  .ml-home-path-panel__evidence
) {
  animation: none !important;
  filter: none !important;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-home-plan-selection.is-updating > :is(
  p,
  small,
  .ml-content-plan-detail
) {
  animation: none !important;
  filter: none !important;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-home-trace-step[open] .ml-home-trace-step__detail,
html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-content-report-booklet {
  animation: none !important;
  filter: none !important;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-home-footer {
  transform: none;
  transition: opacity 420ms linear;
}

html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy.ml-content-at-footer #plans .ml-content-chapter__sticky {
  transform: none;
  transition: opacity 360ms linear;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-content-chapter:not([data-content-chapter="hero"]) .ml-content-chapter__sticky {
    transition: opacity 120ms linear;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook.ml-content-calm-copy .ml-content-chapter:not([data-content-chapter="hero"]) :is(
    .ml-home-section-heading > div:last-child,
    .ml-home-paths,
    .ml-home-report__map,
    .ml-content-report-booklet
  ) {
    transition: none;
  }
}

/* Phone/tablet portrait uses document flow for the five-arts heading and tabs.
   Their rows can grow independently, so neither localization nor Safari's
   dynamic viewport can make the controls collide with the title. */
@media (max-width: 900px) and (orientation: portrait) {
  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-content-chapter__sticky {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
    gap: clamp(14px, 2.6svh, 24px);
    height: 100svh;
    min-height: 680px;
    padding: 64px var(--ml-content-inline) 18px;
    overflow: clip;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities .ml-content-chapter__sticky > .ml-home-section-heading {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    grid-row: 1;
    width: 100%;
    padding: 10px 2px 8px;
  }

  html.ml-ui-v5.ml-content-scrollbook.ml-content-decard.ml-content-songbook #capabilities.ml-home-capabilities .ml-home-paths {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    grid-row: 2;
    align-self: start;
    width: 100%;
    margin: 0;
  }
}

@keyframes ml-v5-chapter-inscription {
  from { opacity: 0.22; translate: 0 14px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes ml-v5-chapter-carrier {
  from { opacity: 0.12; translate: 0 11px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes ml-v5-chapter-annotation {
  from { opacity: 0.08; translate: 0 8px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes ml-v5-chapter-interaction,
       ml-v5-chapter-node {
  from { opacity: 0.06; translate: 0 6px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes ml-v5-dialog-enter {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ml-v5-text-arrive {
  from {
    opacity: 0;
    filter: blur(2px);
    transform: translateY(10px);
  }
  48% {
    opacity: 0.52;
  }
  78% {
    opacity: 0.9;
  }
  to {
    opacity: 1;
    filter: none;
    transform: translateY(0);
  }
}

@keyframes ml-v5-evidence-arrive {
  from {
    opacity: 0;
    filter: blur(1px);
    transform: translateY(6px);
  }
  to {
    opacity: var(--chapter-annotation, 1);
    filter: none;
    transform: translateY(0);
  }
}

@keyframes ml-v5-report-reveal {
  from {
    opacity: 0;
    filter: blur(1px);
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    filter: none;
    transform: translateY(0);
  }
}

html.ml-ui-v5.ml-content-force-reduced :is(
  .ml-reading-veil,
  .ml-home-hero__copy,
  .ml-home-hero h1 span,
  .ml-home-hero h1 em,
  .ml-home-hero__lede,
  .ml-home-question-help,
  .ml-home-scroll-cue,
  .ml-home-composer,
  .ml-content-chapter__sticky,
  .ml-home-section-heading .ml-home-eyebrow,
  .ml-home-section-heading h2,
  .ml-home-section-heading > div:last-child,
  #capabilities.ml-home-capabilities .ml-home-paths,
  .ml-home-path-node,
  .ml-home-path-panel__status,
  .ml-home-path-panel__copy,
  .ml-home-path-panel__copy > p,
  .ml-home-path-panel__copy > h3,
  .ml-home-path-panel__copy > div,
  .ml-home-path-panel__evidence,
  .ml-content-report-booklet,
  .ml-home-report__map,
  .ml-home-trace-step__detail,
  .ml-home-composer__submit,
  .ml-home-path-panel__action,
  .ml-home-privacy-list > li,
  .ml-home-plan,
  .ml-home-plan-selection,
  .ml-home-plan-actions,
  .ml-home-footer,
  .ml-home-invite-dialog[open]
) {
  animation: none !important;
  scroll-behavior: auto !important;
  transition-duration: 1ms !important;
  filter: none !important;
}

html.ml-ui-v5.ml-content-force-reduced .ml-home-path-node::before,
html.ml-ui-v5.ml-content-force-reduced .ml-home-path-node::after {
  animation: none !important;
  transition-duration: 1ms !important;
}

html.ml-ui-v5.ml-content-force-reduced .ml-content-chapter.is-activating [data-content-layer] {
  animation: none !important;
  translate: none !important;
}

@supports selector(details::details-content) {
  html.ml-ui-v5.ml-content-force-reduced .ml-home-trace-step::details-content {
    animation: none !important;
    transition-duration: 1ms !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ml-ui-v5 :is(
    .ml-reading-veil,
    .ml-home-hero__copy,
    .ml-home-hero h1 span,
    .ml-home-hero h1 em,
    .ml-home-hero__lede,
    .ml-home-question-help,
    .ml-home-scroll-cue,
    .ml-home-composer,
    .ml-content-chapter__sticky,
    .ml-home-section-heading .ml-home-eyebrow,
    .ml-home-section-heading h2,
    .ml-home-section-heading > div:last-child,
    #capabilities.ml-home-capabilities .ml-home-paths,
    .ml-home-path-node,
    .ml-home-path-panel__status,
    .ml-home-path-panel__copy,
    .ml-home-path-panel__copy > p,
    .ml-home-path-panel__copy > h3,
    .ml-home-path-panel__copy > div,
    .ml-home-path-panel__evidence,
    .ml-content-report-booklet,
    .ml-home-report__map,
    .ml-home-trace-step__detail,
    .ml-home-composer__submit,
    .ml-home-path-panel__action,
    .ml-home-privacy-list > li,
    .ml-home-plan,
    .ml-home-plan-selection,
    .ml-home-plan-actions,
    .ml-home-footer,
    .ml-home-invite-dialog[open]
  ) {
    animation: none !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    filter: none !important;
  }

  html.ml-ui-v5 .ml-home-path-node::before,
  html.ml-ui-v5 .ml-home-path-node::after {
    animation: none !important;
    transition-duration: 1ms !important;
  }

  html.ml-ui-v5 .ml-content-chapter.is-activating [data-content-layer] {
    animation: none !important;
    translate: none !important;
  }

  @supports selector(details::details-content) {
    html.ml-ui-v5 .ml-home-trace-step::details-content {
      animation: none !important;
      transition-duration: 1ms !important;
    }
  }
}
