/* estilo — the Oficina suite's theme: Calma.

   Calma replaced rastrillo's day on 2026-09-29, by Paul's decision after
   six rounds of design directions (AGENTS.md, decisions table, row 8).
   Until then estilo WAS day, byte for byte; it is now its own theme, and
   theme_test.go gates it on its own terms: the same token set day
   declares (so rastrillo's tokens.css finds every name it uses), every
   contrast pair rastrillo gates, in both schemes — for this file AND for
   every app's accent block (apps.go) — and a golden per app so no value
   moves without the diff saying so.

   The look: quiet, even and exact. A cool off-white page with white
   cards, one grey text scale, soft 12px shapes with a long low shadow.
   Colour belongs to the apps: every app's hue sits on one ring of equal
   OKLCH lightness, so no app shouts over another, and the interface
   tints to the app you are in (apps.go — --rst-accent and friends are
   re-declared per app). This file's own accent is Oficina's, the suite's,
   used where no app is in charge (sign-in, the team's home).

   Status tones are day's, unchanged: they are functional, not brand, and
   a pill must never be mistaken for a link.

   ── One block, both schemes ───────────────────────────────────────────
   As day: every colour is light-dark(<light>, <dark>) under one :root
   with color-scheme: light dark, and the two [data-theme] rules at the
   bottom are the whole toggle.

   ── WCAG 2.2 AA ───────────────────────────────────────────────────────
   Every pair rastrillo's own gate checks is checked by
   TestContrastMeetsWCAG, for this file and each app's accent, light and
   dark, through rastrillo's ui.ContrastRatio. The tightest, at the time
   of writing: faint text on an accent-tinted surface, 4.63:1 (Files,
   dark); a control border on the sunk surface, 3.2:1 (light).
   ──────────────────────────────────────────────────────────────────── */

:root {
  color-scheme: light dark;

  /* Type: the family only. Sizes and spacing stay in tokens.css. Onest
     where it is served (fonts.go), the system face where it is not. */
  --rst-font: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Shape: soft and exact. */
  --rst-radius: 12px;
  --rst-radius-sm: 8px;
  --rst-radius-pill: 999px;

  /* Surfaces and lines: a cool off-white page, white cards, a sunk grey. */
  --rst-bg: light-dark(#f5f6f8, #15171c);
  --rst-surface: light-dark(#ffffff, #1c1f26);
  --rst-surface-2: light-dark(#eceef2, #23262e);
  --rst-line: light-dark(#e3e6eb, #2d313a);
  --rst-line-strong: light-dark(#7f8591, #7a818e);

  /* The page header's rule: the accent folded into the line, as day. */
  --rst-header-rule: color-mix(in oklab, var(--rst-accent) 18%, var(--rst-line));

  /* Text */
  --rst-text: light-dark(#262a33, #eceef2);
  --rst-text-muted: light-dark(#565c69, #b4bac6);
  --rst-text-faint: light-dark(#626875, #8f96a3);

  /* Accent: Oficina's, hue 262 on the ring (apps.go). Each app
     re-declares these four. */
  --rst-accent: light-dark(#2e5bb4, #87b1fd);
  --rst-accent-strong: light-dark(#214a9b, #afcbfe);
  --rst-accent-soft: light-dark(#e9f1ff, #1f2b42);
  --rst-on-accent: light-dark(#ffffff, #111418);

  /* Status tones: day's, unchanged. */
  --rst-tone-neutral-fg: light-dark(#374151, #c3c9d1);
  --rst-tone-neutral-bg: light-dark(#eef0f2, #262c34);
  --rst-tone-positive-fg: light-dark(#166534, #6ee7a8);
  --rst-tone-positive-bg: light-dark(#dcfce7, #10281c);
  --rst-tone-warning-fg: light-dark(#854d0e, #f0c46a);
  --rst-tone-warning-bg: light-dark(#fef3c7, #2c2110);
  --rst-tone-negative-fg: light-dark(#b91c1c, #f79aa0);
  --rst-tone-negative-bg: light-dark(#fee2e2, #331819);

  /* Depth: a long, low, cool shadow; paper lifted, not stacked. */
  --rst-shadow-pop: 0 18px 44px -14px light-dark(rgba(20, 24, 33, 0.28), rgba(0, 0, 0, 0.6));
  --rst-shadow-knob: 0 1px 2px rgba(20, 24, 33, 0.3);
  --rst-shadow-lift: 0 1px 1px rgba(20, 24, 33, 0.04), 0 14px 36px -14px light-dark(rgba(20, 24, 33, 0.22), rgba(0, 0, 0, 0.55));
  --rst-overlay: light-dark(rgba(20, 24, 33, 0.45), rgba(0, 0, 0, 0.6));
}

/* The whole toggle. Setting color-scheme re-resolves every light-dark()
   above, so an explicit choice beats the OS in both directions without
   restating a colour. */
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }

/* The accent for Docs: hue 262 on Calma's ring (estilo theme/apps.go). */
:root {
  --rst-accent: light-dark(#2e5bb4, #87b1fd);
  --rst-accent-strong: light-dark(#214a9b, #afcbfe);
  --rst-accent-soft: light-dark(#e9f1ff, #1f2b42);
  --rst-on-accent: light-dark(#ffffff, #111418);
}
