/* ============================================================
   Pixelpaper — theme tokens + base
   Clean Light Studio: bright white surfaces, ink text, a confident
   cobalt accent, soft shadows for depth. Typeface: Inter throughout.
   ============================================================ */

:root {
  /* surfaces */
  --page: #f7f8fa;        /* app background */
  --bg: #ffffff;          /* primary surface / cards */
  --bg-card: #ffffff;
  --bg-raise: #fbfbfc;    /* subtly raised (nav, chips) */
  --bg-soft: #f4f5f7;     /* hover wash, inset fields */

  /* hairlines */
  --line: #e6e8ec;
  --line-soft: #eef0f3;

  /* ink */
  --ink: #0f1115;         /* headings */
  --ink-dim: #6b7280;     /* body / secondary */
  --ink-faint: #9aa0aa;   /* tertiary / captions */

  /* accent — cobalt */
  --accent: #2563eb;
  --accent-strong: #1d4ed8;
  --accent-weak: #eff6ff;
  --accent-ink: #ffffff;

  /* status */
  --green: #10b981;
  --red: #ef4444;

  /* back-compat aliases (older rules referenced these names) */
  --amber: var(--accent);
  --amber-soft: #60a5fa;
  --safelight: var(--red);

  --radius: 14px;
  --shadow-sm: 0 1px 2px rgba(16, 18, 21, 0.05);
  --shadow-md: 0 2px 4px rgba(16, 18, 21, 0.04), 0 12px 28px rgba(16, 18, 21, 0.07);
  --shadow-lg: 0 12px 44px rgba(16, 18, 21, 0.12);
  --ring: 0 0 0 3px rgba(37, 99, 235, 0.18);

  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: var(--sans);   /* legacy refs resolve to Inter */
  --serif: var(--sans);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

/* The `hidden` attribute must always win over class `display` rules. */
[hidden] { display: none !important; }

html, body { height: 100%; }

body {
  background: var(--page);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* The film-grain overlay is retired in the light theme. The element may
   still exist in older pages; render nothing. */
.grain { display: none !important; }
