/* ============================================================
   FROST — design tokens (v2)

   Pine, cranberry and candle gold on frosted paper. Big rounded
   surfaces, pill controls, light-weight figures.

   COLOUR RULES
   - --red marks money that is over. It is also the accent card,
     but never sits on a figure that is fine.
   - --gold-deep is "still to buy" in every bar; --gold is a fill.
   - Text on --card or --bg uses --ink or --ink-2 only (both pass
     4.5:1); --red-ink is the over-budget text colour.
   ============================================================ */

@font-face {
  font-family: 'Geist';
  src: url('../../public/fonts/geist-latin.woff2') format('woff2-variations'),
       url('../../public/fonts/geist-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist';
  src: url('../../public/fonts/geist-latin-ext.woff2') format('woff2-variations'),
       url('../../public/fonts/geist-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF,
    U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* surfaces */
  --frame: #B5C1B8;      /* the frosted sage around the app on big screens */
  --bg: #F5F4F0;         /* the app itself */
  --card: #EBEAE4;       /* blocks */
  --raised: #FFFFFF;     /* pills, icon tiles, inputs */
  --sunk: #F5F4F0;       /* a pill sitting on a card */
  --line: #DDDCD5;       /* hairlines and bar tracks */
  --dash: #8E978F;       /* empty capsules, dashed outlines */

  /* ink */
  --ink: #14231C;
  --ink-2: #5E655F;
  --on-dark: #FFFFFF;
  --on-dark-2: #B9C4BD;

  /* the dark pine block (sidebar, "needs a look", primary buttons) */
  --pine: #14231C;
  --pine-2: #33473D;     /* active item on pine */
  --pine-line: #2C3D34;

  /* Christmas */
  --red: #B9262D;
  --red-ink: #A11F27;    /* over-budget text on light surfaces */
  --red-soft: #FBDADB;   /* secondary text on the red card */
  --red-dash: #F4A9AC;
  --gold: #F2C14E;
  --gold-deep: #E5A920;  /* "still to buy" in bars */
  --on-gold: #14231C;

  /* the primary control: pine by day, frost by night */
  --primary: #14231C;
  --on-primary: #FFFFFF;
  --past: #D9D8D1;       /* a status step already passed */
  --warn-bg: #FBE6E7;
  --warn-ink: #6E1731;

  /* type */
  --font: 'Geist', ui-sans-serif, -apple-system, 'Segoe UI', 'Helvetica Neue', sans-serif;

  /* shape */
  --r-shell: 44px;
  --r-card: 32px;
  --r-card-sm: 26px;
  --r-tile: 16px;
  --tap: 44px;

  --ease: cubic-bezier(0.32, 0.72, 0, 1);
  --fast: 160ms;
  --mid: 260ms;

  color-scheme: light;
}

/* The same palette at night: pine deepened, paper turned to slate. */
:root[data-theme='dark'] {
  --frame: #0A110D;
  --bg: #111C16;
  --card: #1A2820;
  --raised: #24352C;
  --sunk: #111C16;
  --line: #2B3D33;
  --dash: #6B7A71;

  --ink: #EEF2EE;
  --ink-2: #A9B5AD;
  --on-dark: #FFFFFF;
  --on-dark-2: #B9C4BD;

  --pine: #0A130E;
  --pine-2: #2C4236;
  --pine-line: #22332A;

  --red: #BC2A31;
  --red-ink: #FF9A9E;
  --red-soft: #FFE1E2;
  --red-dash: #F6B1B4;
  --gold: #F2C14E;
  --gold-deep: #E9B33A;
  --on-gold: #14231C;

  --primary: #EEF2EE;
  --on-primary: #14231C;
  --past: #2E4237;
  --warn-bg: #3A1A1D;
  --warn-ink: #FFD6D8;

  color-scheme: dark;
}
