/* ==========================================================================
   The Hidden Leaf Cafe - design tokens (2026)
   Single source of truth. Values are the pixel truth taken from the approved
   design handoff (design_handoff_hiddenleaf_2026/*.dc.html) and match the
   palette already used across the existing site.

   Do not invent values here. If a colour is needed that isn't listed, check
   the .dc.html file first - the file wins.
   ========================================================================== */

:root {
  /* ---- surfaces -------------------------------------------------------- */
  --bg:            #07110c;   /* public pages */
  --bg-admin:      #060f0a;   /* admin app */
  --bg-intro:      #05100a;   /* intro overlay */
  --panel:         #102419;   /* cards, inputs, inset surfaces */
  --panel-alt:     #0b1a12;   /* alt sections, modals, classic sheet */
  --sidebar:       rgba(8, 19, 13, .92);
  --border:        #1c3526;   /* universal hairline */
  --border-hover:  #2b5238;   /* hover / active border */

  /* ---- leaf greens ----------------------------------------------------- */
  --leaf:          #6ee85b;   /* brand primary */
  --leaf-bright:   #9bff7a;   /* link hover, bright accents */
  --leaf-deep:     #3fa34d;   /* mid green, ok borders */
  --leaf-head:     #c4ffae;   /* page headings */
  --leaf-hover:    #8ef07e;   /* primary button hover (Sign In) */
  --leaf-grad-end: #45c04f;   /* admin primary gradient end */
  --leaf-glow:     #8dff6a;   /* cat eyes / plate glow */
  --sage:          #a7c4a0;   /* secondary text */
  --muted:         #8ba288;   /* muted text */
  --future:        #5d7a5b;   /* settle future-step, sidebar group titles */

  /* ---- amber / kitchen ------------------------------------------------- */
  --amber:         #e09a4f;
  --amber-hi:      #f0b878;
  --amber-deep:    #8a5526;   /* kitchen card border */
  --amber-border:  #6b4a22;   /* verification row border */
  --amber-warm:    #f2d27a;   /* cheese, price gold */
  --amber-near:    #d99a2b;   /* near-expiry border */
  --amber-near-tx: #e6a93a;   /* near-expiry state text */
  --amber-bg:      #2a1a10;   /* warn banner */
  --end-bg:        #241412;   /* End & Bill button */
  --badge-ink:     #160d04;   /* text on amber badge */

  /* ---- games (teal accent) --------------------------------------------- */
  --teal:          #4fd6cf;
  --teal-border:   #2b8f8a;
  --teal-tag:      #8ff5ef;

  /* ---- danger ---------------------------------------------------------- */
  --danger:        #ff6b6b;
  --danger-hi:     #ff8f8f;
  --danger-tx:     #ffb4b4;
  --danger-bg:     #3a1414;
  --warn-border:   #7a3b3b;

  /* ---- text ------------------------------------------------------------ */
  --ink:           #eaf3e6;
  --selection:     rgba(110, 232, 91, .3);

  /* ---- receipt (thermal print + settle animation) ---------------------- */
  --paper:         #f4f1e8;
  --paper-ink:     #1a1a14;
  --paper-muted:   #555;
  --paper-rule:    #999;
  --printer-a:     #1a2f21;
  --printer-b:     #0c1a11;

  /* ---- radii ----------------------------------------------------------- */
  --r-card:        14px;
  --r-card-lg:     16px;   /* aurora cards */
  --r-sheet:       18px;
  --r-btn:         8px;
  --r-btn-lg:      10px;
  --r-pill:        20px;
  --r-round:       999px;
  --r-xs:          6px;    /* bar track, scrollbar thumb, seg interior <- 3, 6, 7 */
  --r-sm:          9px;    /* form fields, .btn-sm, nav items          <- 9      */
  --r-md:          12px;   /* fold, accordion, inset box               <- 11, 12 */
  --r-circle:      50%;    /* avatar, dot, spinner ring                <- 50%    */

  /* ---- shadows --------------------------------------------------------- */
  --sh-card:       0 8px 24px rgba(0, 0, 0, .3);
  --sh-tile:       0 6px 18px rgba(0, 0, 0, .25);
  --sh-sheet:      0 30px 80px rgba(0, 0, 0, .6);
  --sh-toast:      0 8px 26px rgba(0, 0, 0, .5);
  --glow-sm:       0 0 30px rgba(110, 232, 91, .3);
  --glow-lg:       0 0 30px rgba(110, 232, 91, .5);
  --glow-btn:      0 6px 18px rgba(110, 232, 91, .22);

  /* ---- aurora theme (admin default) ------------------------------------ */
  --aurora-card:   linear-gradient(168deg, rgba(20, 46, 30, .8), rgba(9, 21, 14, .95));
  --aurora-row:    linear-gradient(168deg, rgba(20, 46, 30, .7), rgba(9, 21, 14, .92));
  --aurora-sheet:  linear-gradient(175deg, rgba(15, 33, 22, .99), rgba(8, 18, 12, .99));
  --aurora-border: rgba(110, 232, 91, .15);
  --aurora-brd-rw: rgba(110, 232, 91, .13);
  --aurora-brd-sh: rgba(110, 232, 91, .18);
  --aurora-primary: linear-gradient(135deg, #6ee85b, #45c04f);

  /* ---- type ------------------------------------------------------------ */
  --font-display:  'Anton','Anton Fallback', sans-serif;              /* always uppercase */
  --font-label:    'Rajdhani','Rajdhani Fallback', sans-serif;           /* 500-700, uppercase */
  --font-body:     'Outfit','Outfit Fallback', system-ui, sans-serif;  /* 300-600 */
  --font-mono:     ui-monospace, 'Courier New', monospace;

  /* letter-spacing scale used by Rajdhani labels (.05em - .34em) */
  --ls-tight:      .04em;
  --ls-label:      .06em;
  --ls-wide:       .1em;
  --ls-wider:      .12em;
  --ls-eyebrow:    .28em;
  --ls-widest:     .34em;
}

::selection { background: var(--selection); color: var(--ink); }
