/*
 * theme.css - the design tokens for Genesis Town's UI (direction: DESIGN.md). Loaded before every other stylesheet.
 * One constant base (dark HUD, paper windows, status colours) plus ONE accent and ONE header tone per season.
 * The engine sets html.gt-s-<season> (semi | panas | gugur | dingin) from the game clock; with no class, spring applies.
 * Contrast (WCAG 2.x, computed): ink on paper 14.75, on paper-2 13.0, on paper-3 11.4; paper-dim on paper 5.9, on
 * paper-2 5.2, on paper-3 4.55; hud-ink on hud 14.1, on hud-2 11.5; hud-dim on hud 7.1, on hud-2 5.8.
 * Accents: ink label on accent fill 7.0-9.4; accent as text on hud 7.5-10.0, on hud-2 6.1-8.2, on the season header
 * 5.6-7.5. An accent is NEVER text on paper (1.6-2.1): on paper it is a fill with an ink label and an ink outline.
 */
:root{
  /* HUD (dark tray over the game) */
  --hud:#14152a;            /* ground of the HUD strip, the tab bar, dark chips */
  --hud-2:#23254a;          /* cells, pills and slots on the HUD: one step lighter */
  --hud-3:#33366a;          /* hover / pressed step on the HUD */
  --hud-ink:#dfe8c2;        /* text on the HUD */
  --hud-dim:#9aa3b5;        /* secondary text on the HUD */
  --hud-hi:rgba(255,255,255,.14); /* 1px top highlight inside a HUD cell */

  /* Paper (windows, cards, dialog) */
  --paper:#f4f1dc;          /* window ground */
  --paper-2:#e9e3c6;        /* cells, rows, cards inside a window: one step darker */
  --paper-3:#ddd5b3;        /* hover / pressed / selected step */
  --paper-ink:#1c1c2c;      /* text and outlines */
  --paper-dim:#565a78;      /* secondary text on paper */
  --paper-hi:rgba(255,255,255,.55); /* 1px top highlight inside a paper cell */

  /* Status: the same in every season */
  --good:#2f6b3a;
  --bad:#8a2f3a;
  --gold:#f2c94c;           /* coin */
  --energy:#b8d94a;         /* energy bar */
  --link:#234f9c;           /* links on paper (Detail, explorer) */
  --warn-bg:#f3d6c8;        /* warning strip on paper */
  --warn-ink:#7a2a14;

  /* Shape: chunky outline + a hard darker bottom edge, no blur */
  --line:2px;               /* outline width */
  --edge:3px;               /* the darker bottom edge of buttons, cards, windows */
  --r-win:6px;              /* windows, cards, the HUD strip */
  --r-ctl:4px;              /* buttons, chips, slots, inputs */
  --outline:#0b0c16;        /* outline on the HUD side */
  --shade:rgba(0,0,0,.30);  /* the bottom edge, as an inset shadow */

  /* Motion */
  --ease:cubic-bezier(.16,1,.3,1);
  --t-press:90ms;
  --t-open:180ms;

  /* Type */
  --font:'Pixelify Sans','Press Start 2P',ui-sans-serif,system-ui,sans-serif;       /* everything people read */
  --font-data:ui-monospace,'SF Mono',Menlo,Consolas,'Roboto Mono',monospace;        /* numbers and ids people must read exactly: tags, prices, quantities, timers, IPs */
  --font-display:'Press Start 2P',ui-monospace,Menlo,Consolas,monospace;            /* titles and big counters, 16px or 24px only */
  --ts:1;                   /* the player's text size (Pengaturan) */

  /* Season: spring is the default */
  --accent:#f28fb0;         /* blossom */
  --accent-ink:#1c1c2c;     /* label on an accent fill */
  --season:#24382a;         /* moss: window headers and the HUD strip */
  --season-ink:#f4f1dc;     /* text on the season tone */

  /* Names the older stylesheets still use */
  --bg:#0d0e16;
  --shell:var(--hud);
  --shell-hi:var(--hud-3);
  --shell-lo:#0f1022;
  --bezel:#0b0c14;
  --ink:var(--hud-ink);
  --dim:var(--hud-dim);
  --key:var(--hud-2);
  --key-hi:var(--hud-3);
  --paper-edge:var(--paper-dim);
  --btn:var(--accent);
  --btn-hi:var(--accent);
}
html.gt-s-semi{ --accent:#f28fb0; --season:#24382a; }     /* blossom on moss */
html.gt-s-panas{ --accent:#34c3c9; --season:#163a44; }    /* sea teal on deep teal */
html.gt-s-gugur{ --accent:#f0903a; --season:#3a2616; }    /* pumpkin on bark */
html.gt-s-dingin{ --accent:#8fc8f2; --season:#1e3046; }   /* ice on slate */

/* added by package B */
:root{
  --scrim:rgba(5,6,12,.74);          /* flat scrim behind a window (no blur, no soft shadow) */
  --scrim-lite:rgba(10,11,20,.55);   /* lighter scrim behind the title card */
  --chip:rgba(20,21,42,.85);         /* dark chips over the game: chat, toasts, key hint, hotbar tray (--hud at 85%) */
  --chip-strong:rgba(13,14,26,.94);  /* map overlay and character screen ground */
  --accent-hi:color-mix(in srgb,var(--accent) 80%,white);   /* hover step of an accent fill: pure white mix, season-aware */
  --field:#fffdf2;                   /* input ground on paper */
  --glass:rgba(255,255,255,.14);     /* phone D-pad, A/E and tab bar only (owner override) */
  --glass-line:rgba(255,255,255,.28);
  --glass-hi:rgba(255,255,255,.35);
  --glass-ink:#fff;
  --glass-shade:rgba(0,0,0,.35);
  --stage:#8fc07a;                   /* character preview ground */
  --water:#17507e;                   /* fishing track */
  --dusk:#f29a4c;                    /* clock dot at dusk */
  --moon:#cfd8ff;                    /* clock dot at night */
  --coin-edge:#c9962a;               /* coin icon shade */
}

/* Informational numbers and ids use the plain monospace data font: the pixel fonts blur 3/5/8 and 1/7. */
.gt-data,.mbtn.gt-data,.gt-cs-tag,.gt-slot-n,.gt-card-n,.gt-card-l1,.gt-card-l2,.gt-hist-s,.hl-meta,.tr-meta,.hl-n,.tr-qty,.tr-num,.tr-num-line,.tr-rk,.tr-sc,.hl-time,.tr-count,.hud #coins,.hud #clock,.hud #seed,.hud #loc,.gt-fight-hp{font-family:var(--font-data);font-variant-numeric:tabular-nums}
