/* Theme: mathieu. Mathieu's own look, hand-tuned, and his alone.
   A theme is only this: the --deck-* tokens deck.css reads, mapped onto a
   design system. Every other theme redefines these and nothing else (the
   standard ones are compiled from src/theme/presets.ts). Values come from
   mathieu-ds (loaded before this file as /ds/all.css); the fallbacks keep the
   deck legible if the package is missing.
   Names are roles, not meanings: what "primary" stands for is a convention of
   each deck, not of the theme.
   The tokens marked "as before" hold the exact values deck.css used to write
   in place, so this theme renders pixel for pixel as it did. */
:root{
  /* Ground and sheets */
  --deck-ground: var(--gradient, linear-gradient(120deg,#8b5cf6,#e1306c 55%,#f5a35a));
  --deck-sheet: var(--surface, #fff);
  --deck-sheet-border: var(--surface-border, #e4e7ec);
  --deck-sheet-shadow: var(--shadow-sheet, 0 14px 50px -22px rgba(10,12,31,.22));
  /* Docs, landing pages and the chrome use the app radii; the slide canvas
     scales them up with it. */
  --deck-radius: var(--r-surface, 12px);
  --deck-radius-sm: var(--r-sm, 8px);
  --deck-radius-full: var(--r-full, 999px);
  --deck-canvas-radius: 16px;
  --deck-canvas-radius-sm: 11px;

  /* Inverse sheets (cover and section slides): a well cut into the ground
     rather than a card on it */
  --deck-inverse-sheet: var(--surface-inverse, #0a0c1f);
  --deck-inverse-border: var(--surface-inverse-border, #2a3160);
  --deck-inverse-rule: var(--border-inverse, #1c1f3a);
  --deck-inverse-text: var(--text-inverse, #fff);
  --deck-inverse-muted: var(--text-inverse-muted, #c8cbe0);
  --deck-inverse-faint: var(--text-inverse-faint, #8b93b8);
  --deck-inverse-dim: var(--text-inverse-dim, #4a5178);
  --deck-inverse-glow: rgba(139,92,246,.30);
  /* The link preview card's glow, a little stronger. An rgba() on purpose:
     a gradient between legacy colours mixes in sRGB, one with color-mix()
     in it mixes in Oklab, a shade apart. */
  --deck-inverse-glow-strong: rgba(139,92,246,.35);
  /* A second, fainter glow in the opposite corner of a cover and a doc's
     title card. Screen only. */
  --deck-glow-2: color-mix(in srgb, var(--secondary, #e1306c) 16%, transparent);
  /* What blocks use on an inverse sheet in place of their light-sheet tokens:
     cards a shade above the sheet, links light enough to read on it. */
  --deck-inverse-card: rgba(255,255,255,.04);
  --deck-inverse-sunken: rgba(255,255,255,.08);
  --deck-inverse-link: #b9a6ff;
  --deck-inverse-neutral: var(--text-inverse-faint, #8b93b8);
  /* Labels in a role on an inverse sheet: the roles themselves, as before. */
  --deck-inverse-primary-ink: var(--primary, #8b5cf6);
  --deck-inverse-secondary-ink: var(--secondary, #e1306c);
  --deck-inverse-tertiary-ink: var(--tertiary, #f5a35a);
  --deck-inverse-neutral-ink: var(--text-inverse-faint, #8b93b8);
  /* The ink on a neutral fill on an inverse sheet: a filled panel takes the
     dark ink; a profile card and an annotation number keep white (3:1), as
     before. Compiled themes give both the same ink. */
  --deck-inverse-on-neutral: var(--text, #0a0c1f);
  --deck-inverse-on-neutral-card: #fff;

  /* Text and lines */
  --deck-text: var(--text, #0a0c1f);
  --deck-text-muted: var(--text-muted, #5b6473);
  --deck-text-faint: var(--text-faint, #9aa3b2);
  --deck-border: var(--border, #e6e8ee);
  --deck-border-subtle: var(--border-subtle, #eef1f4);
  --deck-sunken: var(--surface-sunken, #f4f5f8);
  --deck-link: var(--link, #6d3ff6);

  /* Brand roles */
  --deck-primary: var(--primary, #8b5cf6);
  --deck-secondary: var(--secondary, #e1306c);
  --deck-tertiary: var(--tertiary, #f5a35a);
  /* The fourth panel colour: a dark grey that holds its own beside the three. */
  --deck-neutral: var(--text-muted, #5b6473);
  --deck-gradient: var(--gradient-h, linear-gradient(to right,#8b5cf6,#e1306c 55%,#f5a35a));
  --deck-gradient-v: var(--gradient-v, linear-gradient(to bottom,#8b5cf6,#e1306c 55%,#f5a35a));
  /* What a gradient phrase flattens to in print: the gradient's own 55% stop. */
  --deck-gradient-print: var(--secondary, #e1306c);
  --deck-muted-fill: #c9ced8;
  /* The gradient's three stops, which flow steps and profile cards mix
     (src/render/gradient.ts). */
  --deck-stop-0: var(--primary, #8b5cf6);
  --deck-stop-1: var(--secondary, #e1306c);
  --deck-stop-2: var(--tertiary, #f5a35a);
  /* Labels in a role (kickers, card labels, the contents heading, h4, the
     kill heading): violet and pink read as they are (4.2:1). */
  --deck-primary-ink: var(--primary, #8b5cf6);
  --deck-secondary-ink: var(--secondary, #e1306c);
  --deck-neutral-ink: var(--text-muted, #5b6473);
  /* The brand orange is a fill: as small letters on white it measures 2:1.
     Text in the tertiary role takes this deeper orange (4.2:1) instead. */
  --deck-tertiary-ink: #c2610c;
  /* Text on a filled tone (flow steps, annotation numbers): white on the dark
     fills, ink on the light ones (orange, green, amber), where white is 2:1. */
  --deck-on-fill: #fff;
  --deck-on-fill-light: var(--text, #0a0c1f);
  /* The same, per fill. */
  --deck-on-primary: #fff;
  --deck-on-secondary: #fff;
  --deck-on-tertiary: var(--text, #0a0c1f);
  --deck-on-neutral: #fff;
  --deck-on-success: var(--text, #0a0c1f);
  --deck-on-warning: var(--text, #0a0c1f);
  --deck-on-danger: #fff;
  --deck-on-info: #fff;
  /* A coral link card, two thirds along from pink to orange. */
  --deck-on-coral: #fff;
  /* Flow steps along the gradient: white, then dark letters on the last step,
     where the fill is mostly orange. */
  --deck-on-walk: #fff;
  --deck-on-walk-end: var(--text, #0a0c1f);

  /* Depth, screen only: the PDF prints cards and media flat. A card lifts a
     little off the sheet, and its tone tints the shadow by --deck-card-tint. */
  --deck-card-shadow: var(--shadow-xs, 0 1px 2px rgba(10,12,31,.05)), 0 18px 36px -26px rgba(10,12,31,.22);
  --deck-card-tint: 45%;
  /* Screenshots and embeds lift off the sheet a bit more than cards do. */
  --deck-media-shadow: var(--shadow-xs, 0 1px 2px rgba(10,12,31,.05)), 0 22px 44px -26px rgba(10,12,31,.32);
  /* What an embedded page sits on once it has loaded; most pages assume white. */
  --deck-frame-bg: var(--surface, #fff);
  /* A printed embed's address bar, under its poster. */
  --deck-url-bg: var(--surface, #fff);
  /* The ring round an annotation's number, so it stands off the screenshot. */
  --deck-mark-ring: var(--surface, #fff);
  /* The small pills that float on the ground: the credit under a slide or a doc. */
  --deck-chip-bg: rgba(255,255,255,.92);
  --deck-chip-shadow: 0 6px 18px -10px rgba(10,12,31,.35);
  /* The two squares of the credit's mark, the pill's own colour. */
  --deck-mark-fill: #fff;
  /* The dark back pill over the ground. */
  --deck-pill-shadow: 0 6px 18px -10px rgba(10,12,31,.5);
  /* The slide counter and the hud's buttons, under the slide. */
  --deck-hud-bg: rgba(255,255,255,.85);
  --deck-hud-btn-bg: #fff;
  /* Behind the keyboard help. */
  --deck-scrim: rgba(10,12,31,.5);
  /* Text straight on the ground, with no sheet: the landing page's owner line. */
  --deck-ground-ink: #fff;
  --deck-ground-ink-muted: rgba(255,255,255,.82);

  /* States */
  --deck-success-bg: var(--success-bg, #e6f7ee); --deck-success-fg: var(--success-fg, #177245); --deck-success-edge: var(--success-edge, #2dbf6a);
  --deck-warning-bg: var(--warning-bg, #fdf3d5); --deck-warning-fg: var(--warning-fg, #8a6400); --deck-warning-edge: var(--warning-edge, #f5b301);
  --deck-info-bg: var(--info-bg, #e7effd);       --deck-info-fg: var(--info-fg, #1d4fa8);       --deck-info-edge: var(--info-edge, #3b82f6);
  --deck-danger-bg: var(--danger-bg, #fdecec);   --deck-danger-fg: var(--danger-fg, #b23b3b);   --deck-danger-edge: var(--danger-edge, #d64545);
  --deck-neutral-bg: var(--neutral-bg, #f4f5f8); --deck-neutral-fg: var(--neutral-fg, #5b6473); --deck-neutral-edge: var(--neutral-edge, #94a1b2);

  /* Type */
  --deck-font-display: var(--font-display, "Unbounded", ui-sans-serif, system-ui, sans-serif);
  --deck-font-sans: var(--font-sans, "Albert Sans", ui-sans-serif, system-ui, sans-serif);
  --deck-font-mono: var(--font-mono, "B612 Mono", ui-monospace, monospace);
  /* Unbounded's weights and tracking: 800 for covers and big numbers, 700 for
     titles and card names, letter-spacing as written in deck.css (x1). A
     narrower display face keeps less of it. */
  --deck-display-heavy: 800;
  --deck-display-bold: 700;
  --deck-display-tracking: 1;

  --deck-ease: var(--ease, cubic-bezier(.2,.6,.2,1));
  --deck-ease-out: var(--ease-out, cubic-bezier(.16,1,.3,1));
}

/* The page numbers of a printed doc. var() inside a page-margin box isn't
   reliable, so each theme writes this rule with plain values. */
@page doc{@bottom-right{content:counter(page) " / " counter(pages); font-family:"B612 Mono", monospace; font-size:9pt; color:#9aa3b2}}
