/* Generated by @quire/tokens. Do not edit. */
/* Source: packages/ui/tokens/src, from DESIGN.md and
   docs/architecture/22-frontend.md sections 1 to 3. */
/* Regenerate with: bun run --filter @quire/tokens tokens:emit */

@layer base {
  :root {
    /* Paper */
    --bg-page: #FAF6EE;
    /* Vellum */
    --surface-raised: #FFFDF8;
    /* Linen */
    --surface-sunken: #F1EADC;
    /* Rule. Decorative hairline at 1.38:1 on Paper. Never a control boundary: use --color-rule-control. */
    --rule: #DDD3C0;
    /* Control rule. Extends DESIGN.md section 5, from 22-frontend.md section 1.2. WCAG 1.4.11 wants 3:1 on a control boundary and --color-rule gives 1.38:1 on Paper. One value serves both modes at 3.54:1 on Paper and 4.58:1 on Charcoal. Field borders, unchecked checkbox and radio outlines, gradebook cell grid. */
    --rule-control: #8C8172;
    /* Ink */
    --text-primary: #1F1B16;
    /* Graphite */
    --text-secondary: #5E564B;
    /* Oxblood */
    --accent: #7A1F2B;
    /* Oxblood deep. Dark value derived from the dark accent by 22-frontend.md section 2.6, which DESIGN.md leaves undefined. */
    --accent-deep: #5F1721;
    /* Rose wash. Dark value derived from the dark accent by 22-frontend.md section 2.6, which DESIGN.md leaves undefined. */
    --accent-wash: #F3E1E0;
    /* Forest */
    --success: #2F5D46;
    /* Ochre */
    --warning: #7D540B;
    /* Vermilion */
    --error: #A3271C;
    /* Vermilion deep. Derived from --color-error by the section 2.6 deep step, away from the page in each mode, so the destructive button has a pressed state that is a token rather than an opacity applied to one. 8.76:1 on Paper and 8.57:1 on Charcoal. */
    --error-deep: #8F0C05;
    /* Slate blue */
    --info: #2B4C7E;
    /* Cobalt. Dark value from 22-frontend.md section 1.2, not derived: Cobalt is 6.22:1 on Paper but 2.61:1 on Charcoal, under the 3:1 a focus indicator needs, and #7FA7F5 is 7.29:1 holding the hue. DESIGN.md names no dark focus ring. */
    --focus: #1D4ED8;
    /* Behind dialogs, sheets and the mobile navigation drawer. */
    --scrim: rgb(31 27 22 / 0.40);
    /* Series 1. Derived from ink on Paper and ink on Charcoal. Pair it with --chart-dash-1: colour alone is not enough. */
    --chart-cat-1: #413E3C;
    /* Series 2. Derived from oxblood on Paper and slate on Charcoal. Pair it with --chart-dash-2: colour alone is not enough. */
    --chart-cat-2: #F65264;
    /* Series 3. Derived from slate on Paper and ochre on Charcoal. Pair it with --chart-dash-3: colour alone is not enough. */
    --chart-cat-3: #1A3F75;
    /* Series 4. Derived from ochre on Paper and ink on Charcoal. Pair it with --chart-dash-4: colour alone is not enough. */
    --chart-cat-4: #6B4600;
    /* Series 5. Derived from forest on Paper and forest on Charcoal. Pair it with --chart-dash-5: colour alone is not enough. */
    --chart-cat-5: #7B9285;
    /* Series 6. Derived from forest on Paper and ochre on Charcoal. Pair it with --chart-dash-6: colour alone is not enough. */
    --chart-cat-6: #485E52;
    /* Series 7. Derived from slate on Paper and slate on Charcoal. Pair it with --chart-dash-7: colour alone is not enough. */
    --chart-cat-7: #518DE6;
    /* Series 8. Derived from ochre on Paper and oxblood on Charcoal. Pair it with --chart-dash-8: colour alone is not enough. */
    --chart-cat-8: #956718;
    /* Sequential step 1 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-1: #DDE9FB;
    /* Sequential step 2 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-2: #A7BBD9;
    /* Sequential step 3 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-3: #748FB8;
    /* Sequential step 4 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-4: #436497;
    /* Sequential step 5 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-5: #123B76;
    /* Diverging step 1 of 5, quietest at the middle. */
    --chart-div-1: #910B29;
    /* Diverging step 2 of 5, quietest at the middle. */
    --chart-div-2: #C88284;
    /* Diverging step 3 of 5, quietest at the middle. */
    --chart-div-3: #EEEAEA;
    /* Diverging step 4 of 5, quietest at the middle. */
    --chart-div-4: #809AC1;
    /* Diverging step 5 of 5, quietest at the middle. */
    --chart-div-5: #1F4B8D;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-1: 0;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-2: 6 3;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-3: 1 3;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-4: 9 3 2 3;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-5: 4 2 1 2;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-6: 12 4;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-7: 2 2;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-8: 8 3 1 3 1 3;
  }

  /* No media query. The server resolves the scheme from the user setting,
     the tenant default, Sec-CH-Prefers-Color-Scheme and then light, and
     writes data-theme before the first byte. 22-frontend.md section 3. */
  :root[data-theme="dark"] {
    /* Charcoal */
    --bg-page: #1C1917;
    /* Soot */
    --surface-raised: #262220;
    /* Pitch */
    --surface-sunken: #151211;
    /* Ember rule. Decorative hairline at 1.38:1 on Paper. Never a control boundary: use --color-rule-control. */
    --rule: #3A342F;
    /* Control rule. Extends DESIGN.md section 5, from 22-frontend.md section 1.2. WCAG 1.4.11 wants 3:1 on a control boundary and --color-rule gives 1.38:1 on Paper. One value serves both modes at 3.54:1 on Paper and 4.58:1 on Charcoal. Field borders, unchecked checkbox and radio outlines, gradebook cell grid. */
    --rule-control: #8C8172;
    /* Bone */
    --text-primary: #EDE6D8;
    /* Ash */
    --text-secondary: #A89F91;
    /* Dusty rose */
    --accent: #D9818B;
    /* Dusty rose deep. Dark value derived from the dark accent by 22-frontend.md section 2.6, which DESIGN.md leaves undefined. */
    --accent-deep: #ED949D;
    /* Rose shade. Dark value derived from the dark accent by 22-frontend.md section 2.6, which DESIGN.md leaves undefined. */
    --accent-wash: #312425;
    /* Sage */
    --success: #7FB79A;
    /* Straw */
    --warning: #D9B25C;
    /* Coral */
    --error: #E58A7E;
    /* Coral deep. Derived from --color-error by the section 2.6 deep step, away from the page in each mode, so the destructive button has a pressed state that is a token rather than an opacity applied to one. 8.76:1 on Paper and 8.57:1 on Charcoal. */
    --error-deep: #FA9D90;
    /* Haze */
    --info: #8FB0E0;
    /* Cobalt light. Dark value from 22-frontend.md section 1.2, not derived: Cobalt is 6.22:1 on Paper but 2.61:1 on Charcoal, under the 3:1 a focus indicator needs, and #7FA7F5 is 7.29:1 holding the hue. DESIGN.md names no dark focus ring. */
    --focus: #7FA7F5;
    /* Behind dialogs, sheets and the mobile navigation drawer. */
    --scrim: rgb(0 0 0 / 0.60);
    /* Series 1. Derived from ink on Paper and ink on Charcoal. Pair it with --chart-dash-1: colour alone is not enough. */
    --chart-cat-1: #A29F9C;
    /* Series 2. Derived from oxblood on Paper and slate on Charcoal. Pair it with --chart-dash-2: colour alone is not enough. */
    --chart-cat-2: #576882;
    /* Series 3. Derived from slate on Paper and ochre on Charcoal. Pair it with --chart-dash-3: colour alone is not enough. */
    --chart-cat-3: #FFC471;
    /* Series 4. Derived from ochre on Paper and ink on Charcoal. Pair it with --chart-dash-4: colour alone is not enough. */
    --chart-cat-4: #83817D;
    /* Series 5. Derived from forest on Paper and forest on Charcoal. Pair it with --chart-dash-5: colour alone is not enough. */
    --chart-cat-5: #BCD5C7;
    /* Series 6. Derived from forest on Paper and ochre on Charcoal. Pair it with --chart-dash-6: colour alone is not enough. */
    --chart-cat-6: #D3942C;
    /* Series 7. Derived from slate on Paper and slate on Charcoal. Pair it with --chart-dash-7: colour alone is not enough. */
    --chart-cat-7: #3A74CB;
    /* Series 8. Derived from ochre on Paper and oxblood on Charcoal. Pair it with --chart-dash-8: colour alone is not enough. */
    --chart-cat-8: #C71F40;
    /* Sequential step 1 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-1: #A0C6FF;
    /* Sequential step 2 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-2: #7397CD;
    /* Sequential step 3 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-3: #506A91;
    /* Sequential step 4 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-4: #304059;
    /* Sequential step 5 of 5, for heatmaps. Never the categorical set. */
    --chart-seq-5: #131B28;
    /* Diverging step 1 of 5, quietest at the middle. */
    --chart-div-1: #FFA9AB;
    /* Diverging step 2 of 5, quietest at the middle. */
    --chart-div-2: #B57072;
    /* Diverging step 3 of 5, quietest at the middle. */
    --chart-div-3: #302D2D;
    /* Diverging step 4 of 5, quietest at the middle. */
    --chart-div-4: #6E87AE;
    /* Diverging step 5 of 5, quietest at the middle. */
    --chart-div-5: #A0C6FF;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-1: 0;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-2: 6 3;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-3: 1 3;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-4: 9 3 2 3;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-5: 4 2 1 2;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-6: 12 4;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-7: 2 2;
    /* Series identity on a channel that is not colour. Section 6.4 requirement 3. */
    --chart-dash-8: 8 3 1 3 1 3;
  }

  body {
    background-color: var(--bg-page);
    color: var(--text-primary);
    font-family: var(--font-ui);
    font-size: 0.9375rem;
    line-height: 1.375rem;
  }

  /* Movement is replaced by a fade rather than removed, so a transition
     still signals that something changed. DESIGN.md section 8. */
  @media (prefers-reduced-motion: reduce) {
    /* Zeroing the distance is what keeps the fade: a component expresses
       entry as translate(var(--motion-distance)) plus opacity, so this one
       declaration removes the movement and leaves the transition that says
       something changed. 22-frontend.md section 9. */
    :root {
      --motion-distance: 0;
      --duration-page: 1ms;
    }

    *, *::before, *::after {
      animation-duration: 1ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: var(--duration-press) !important;
      transition-property: opacity, color, background-color, border-color !important;
      scroll-behavior: auto !important;
    }
  }
}
