/* Theme Milkdown Crepe to blend into the app's translucent "glass" surfaces.
 * Crepe's frame-dark theme is a grayscale palette driven by --crepe-* custom
 * properties; we override those to white-on-transparent with a blue accent so
 * the editor (and the read-only display, which uses the same engine) sits on
 * top of the existing card instead of painting its own opaque background.
 *
 * The floating menus (slash menu, selection toolbar, link tooltip) are portaled
 * to <body>, OUTSIDE .milkdown — so the variables must be declared on those
 * selectors too, otherwise they fall back to transparent and the menu is
 * unreadable over the content behind it. */
.llink-crepe .milkdown,
.milkdown-slash-menu,
.milkdown-toolbar,
.milkdown-link-edit,
.milkdown-link-preview,
.milkdown-block-handle {
  --crepe-color-background: transparent;
  --crepe-color-on-background: rgb(255 255 255 / 0.92);
  /* Surface backs code blocks, tables, and the floating menus — keep it
   * (near-)opaque so menus read clearly over content. */
  --crepe-color-surface: rgb(24 24 28 / 0.96);
  --crepe-color-surface-low: rgb(42 42 50 / 0.96);
  --crepe-color-on-surface: #ffffff;
  --crepe-color-on-surface-variant: rgb(255 255 255 / 0.65);
  --crepe-color-outline: rgb(255 255 255 / 0.2);
  --crepe-color-primary: #60a5fa;
  --crepe-color-secondary: rgb(96 165 250 / 0.25);
  --crepe-color-on-secondary: #ffffff;
  --crepe-color-inverse: #ffffff;
  --crepe-color-on-inverse: #0b0b0b;
  --crepe-color-inline-code: #fca5a5;
  --crepe-color-inline-area: rgb(255 255 255 / 0.1);
  --crepe-color-error: #f87171;
  --crepe-color-hover: rgb(255 255 255 / 0.08);
  --crepe-color-selected: rgb(96 165 250 / 0.25);
  /* Use the application font, not Crepe's bundled Noto Sans / Noto Serif. */
  --crepe-font-default: inherit;
  --crepe-font-title: inherit;
  --crepe-font-code:
    ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono',
    monospace;
}

/* Glassy floating menus over content. */
.milkdown-slash-menu,
.milkdown-toolbar,
.milkdown-link-edit,
.milkdown-link-preview {
  backdrop-filter: blur(12px);
}

.llink-crepe .milkdown {
  background: transparent;
  box-shadow: none;
}

.llink-crepe .milkdown .ProseMirror {
  padding: 0;
  outline: none;
}

/* Editing context: fill the compose card and scroll internally so a long
 * message stays inside the card rather than growing the whole overlay. */
.llink-crepe--fill,
.llink-crepe--fill .milkdown {
  height: 100%;
}

.llink-crepe--fill .milkdown {
  overflow-y: auto;
}

/* Pad the content (not the card) so the slash menu — which Crepe appends to
 * .milkdown — can use the full card width/height before clipping. */
.llink-crepe--fill .milkdown .ProseMirror {
  min-height: 100%;
  padding: 1.25rem;
}
