/* Vendored copy of RICER rx.css (Nov 2, 2026 tokens). The public site must not load it from croos.
   Source of truth: ~/.local/share/rice/web/rx.css. This file is the copy; do not write back. */
/* rx.css — OBSIDIAN design tokens for croos web apps (RICER, updated 2026-11-02).
   Opt-in: an app links this file (or vendors a copy) and uses the variables.
   Nothing here restyles an app by itself except the optional .rx-* helpers at the bottom. */
:root {
  /* surfaces */
  --rx-bg: #0E0F11;          /* base, cool near-black */
  --rx-bg-1: #131416;        /* raised */
  --rx-bg-2: #17191C;        /* cards, inputs */
  --rx-bg-3: #1B1D21;        /* hover */
  --rx-line: #1F2125;        /* hairlines */
  --rx-line-2: #2B2E33;      /* borders */
  --rx-line-3: #33363C;      /* strong borders */
  /* text */
  --rx-white: #FFFFFF;
  --rx-text: #E6E4DF;        /* body */
  --rx-text-2: #8A8E96;      /* secondary */
  --rx-text-3: #5D6168;      /* tertiary, captions */
  /* accent + states */
  --rx-gold: #C8B68A;        /* champagne, the one accent */
  --rx-gold-hover: #D6C69D;
  --rx-gold-dim: #1C1A15;    /* gold-tinted selection bg */
  --rx-gold-ink: #0A0A0A;    /* text on gold */
  --rx-red: #C0504A;         /* alerts only */
  --rx-green: #8FA37E;       /* success, muted */
  /* type */
  --rx-font: "Geist", "Inter", system-ui, sans-serif;
  --rx-mono: "Geist Mono", "GeistMono Nerd Font", ui-monospace, monospace;
  --rx-fs-xs: 11px; --rx-fs-s: 13px; --rx-fs-m: 15px; --rx-fs-l: 20px; --rx-fs-xl: 32px;
  --rx-tracking-caps: 0.04em;  /* for small uppercase labels */
  /* shape + motion */
  --rx-radius: 6px;            /* small soft corners */
  --rx-border: 1px solid var(--rx-line-2);
  --rx-focus: 0 0 0 1px var(--rx-gold);
  --rx-transition: border-color .15s, color .15s, background-color .15s;  /* small motions only */
  color-scheme: dark;
}
/* optional helpers (only apply where an app adds these classes) */
.rx-body   { background: var(--rx-bg); color: var(--rx-text); font-family: var(--rx-font); }
.rx-card   { background: var(--rx-bg-1); border: var(--rx-border); border-radius: var(--rx-radius); }
.rx-label  { color: var(--rx-text-3); font-size: var(--rx-fs-xs); letter-spacing: var(--rx-tracking-caps); text-transform: uppercase; }
.rx-btn    { background: transparent; color: var(--rx-text); border: var(--rx-border); border-radius: var(--rx-radius); font: inherit; padding: 6px 14px; transition: var(--rx-transition); }
.rx-btn:hover { border-color: var(--rx-gold); color: var(--rx-gold); }
.rx-btn-primary { background: var(--rx-gold); color: var(--rx-gold-ink); border-color: var(--rx-gold); }
.rx-input  { background: var(--rx-bg-2); color: var(--rx-text); border: var(--rx-border); border-radius: var(--rx-radius); font: inherit; padding: 6px 10px; }
.rx-input:focus { outline: none; box-shadow: var(--rx-focus); }
.rx-alert  { color: var(--rx-red); }
.rx-cursor::after { content: "▍"; color: var(--rx-gold); animation: rx-blink 1s steps(1) infinite; }
@keyframes rx-blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .rx-cursor::after { animation: none; } }
