/*
 * Design tokens, sampled from the existing card and board artwork so that DOM-rendered
 * card text sits on the painted frames without a visible seam.
 *
 * Card frames are shared images; only these tokens and the art layer distinguish
 * families, so family accents live here rather than being hard-coded per component.
 */

:root {
    /* --- Surface ----------------------------------------------------- */
    --colour-table-deep: #070a1c;
    --colour-table: #0e1430;
    --colour-table-raised: #1a2149;

    /* --- Metal and ink ----------------------------------------------- */
    --colour-gold: #d4a94a;
    --colour-gold-bright: #f0d590;
    --colour-gold-deep: #8f6a22;
    --colour-parchment: #ebe0c4;
    --colour-parchment-shade: #d8c9a4;
    --colour-ink: #2a2418;

    /* --- Jewel accents ------------------------------------------------ */
    --colour-purple: #4a2f6b;
    --colour-teal: #1c5f66;
    --colour-crimson: #7d2230;

    /* --- Text --------------------------------------------------------- */
    --colour-text: #e8e2d0;
    --colour-text-muted: #9a95a8;

    /* --- Family accents ----------------------------------------------- */
    --family-character: #7b5ea8;
    --family-conflict: #a8452f;
    --family-destiny: #b0459a;
    --family-location: #2f7ba8;
    --family-object: #b8862f;
    --family-organization: #2f9a86;
    --family-plot: #a83f5e;
    --family-setting: #3f5aa8;
    --family-theme: #4a9a4f;
    --family-twist: #a83f7b;

    /* --- Type --------------------------------------------------------- */
    /* Declared in fonts.css and served from web-ui/fonts/ — no third-party request. */
    --font-display: 'Cinzel', 'Trajan Pro', Georgia, serif;
    --font-body: 'EB Garamond', Georgia, 'Times New Roman', serif;

    /* --- Geometry ----------------------------------------------------- */
    /* Source card art is 1024x1536 — a 2:3 ratio the layout must preserve. */
    --card-aspect: 2 / 3;
    --card-radius: 0.75rem;

    /* --- Motion ------------------------------------------------------- */
    --ease-deal: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-lift: cubic-bezier(0.34, 1.56, 0.64, 1);
    --duration-flip: 520ms;
    --duration-deal: 420ms;
    /* Picking a card up, turning it, and setting it down. One motion, not three. */
    --duration-turn: 1100ms;
    /* Travelling to the reader's hand, and back. The turn rides on top of this and is
       `--duration-flip`; there is no separate reveal duration because there is no
       longer a reveal that ends on a timer. */
    --duration-inspect: 320ms;
    /*
     * Going back down is slower than coming up, on purpose: a card is snatched up to be
     * read and *placed* when you are done with it. It also has to be, because the trip
     * home is the longer one for the Destiny — centre of the stage to a panel on the far
     * left — and at the pick-up speed that read as the card being deleted from your hand
     * and reappearing in its case rather than as anyone putting anything down.
     */
    --duration-put-down: 520ms;
    /* How long the card sits face-up-to-you-but-face-down before it turns.
       The back of a card is family art, and it is the only thing the player has to go on
       before the reveal — CHARACTER, TWIST, SETTING is the shape of the story arriving
       ahead of its content. Turning the instant the card lands throws that away: the art
       is on screen for a few frames at a size nobody can read it at. This is the beat
       where they get to look. */
    --duration-anticipate: 480ms;
    /* A face-down card reacting to a ward. Long enough to be seen as a reaction, short
       enough that five of them in sequence is a ripple rather than a queue. */
    --duration-flinch: 620ms;

    /* --- Depth -------------------------------------------------------- */
    --shadow-card: 0 0.75rem 1.5rem rgb(0 0 0 / 55%);
    --shadow-card-lifted: 0 1.5rem 2.75rem rgb(0 0 0 / 65%);
}
