/*
  src/web/assets/tokens.css

  The tokens of the sign-in pages, the mock's :root and dark blocks as the operator approved them on
  2026-10-30 (factory-on-the-internet/design/sign-in-mock.html): the website's field and words, its
  fourteen inks and the paint's numbers, which the bundled stage reads off :root; the site's type,
  Archivo; the console's sign-in measures; the service's code. Paper by default, night when the system
  says so, or when the html element says data-theme.
*/

:root {
  color-scheme: light;

  /* the site's field and words */
  --field: #f7f5f1;
  --text: #1f1e1b;
  --text-2: #4d4a45;
  --text-3: #6f6a62;
  --field-rule: #67625b;

  /* the site's inks, fourteen hue families around the wheel; the stage reads them until one is missing */
  --ink-1: #9b509b;
  --ink-2: #d175a6;
  --ink-3: #d05868;
  --ink-4: #de7c5e;
  --ink-5: #d29341;
  --ink-6: #cdb937;
  --ink-7: #92ae47;
  --ink-8: #75a960;
  --ink-9: #7aae82;
  --ink-10: #409c74;
  --ink-11: #319b9b;
  --ink-12: #4b8fc3;
  --ink-13: #6070c7;
  --ink-14: #8067c1;

  /* the paint on the GPU, the site's numbers */
  --ink-threshold: 0.04;
  --ink-solid: 1.4;
  --ink-rim: 0.6;
  --ink-wash: 0.2;
  --paper-tooth: 0.6;
  --paper-scale: 256px;
  --ink-shade: 0;
  --ink-dither: 1;
  --ink-bloom: 0;
  --ink-k: 1;
  --grain-alpha: 0.22;
  --grain-blend: multiply;
  --ink-rise: 300ms;

  /* the site's type: Archivo light for the words, regular for the title */
  --font: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --text-title: 1rem;
  --text-label: 0.8125rem;
  --text-hairline: 0.75rem;
  --leading: 1.3;
  --leading-title: 1.2;
  --tracking: 0.015em;
  --tracking-title: 0.05em;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;

  /* the console's sign-in measures, carried over: the form column, the control's height, the mark, the title */
  --measure-form: 19rem;
  --measure-control: 2.5rem;
  --measure-mark: 1.75rem;
  --measure-field-band: 30dvh;
  --size-sign-in-title: 1.625rem;
  --space-tight: 0.5rem;
  --space-close: 0.75rem;
  --space-step: 1rem;
  --space-stride: 1.5rem;
  --space-block: 2rem;
  --space-page: 3rem;
  --space-gutter: clamp(1rem, 3vw, 2.5rem);
  --duration-arrive: 0.7s;
  --shift-arrive: 0.75rem;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --opacity-hover: 0.88;

  /* the service's code: six characters, read aloud or typed */
  --text-code: 2rem;
  --tracking-code: 0.3rem;

  /* the site's links, control and focus */
  --underline: 1px;
  --underline-offset: 0.2em;
  --focus-ring: 1px;
  --focus-offset: 0.2rem;
  --radius-focus: 2px;
  --dur-quick: 160ms;
  --edge: clamp(1rem, 2.5vw, 1.75rem);
  --cursor-width: 0.55em;
  --cursor-edge: 1px;
  --cursor-alpha: 0.7;
  --cursor-period: 1s;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --field: #141316;
    --text: #ece8e1;
    --text-2: #c8c2b8;
    --text-3: #8e887f;
    --field-rule: #a29c93;
    --ink-1: #bf69bf;
    --ink-2: #e59ec4;
    --ink-3: #e3828f;
    --ink-4: #eea38c;
    --ink-5: #e5b06c;
    --ink-6: #e1d060;
    --ink-7: #b1cc66;
    --ink-8: #94c680;
    --ink-9: #9acba1;
    --ink-10: #53c694;
    --ink-11: #3bcece;
    --ink-12: #72adda;
    --ink-13: #8895dd;
    --ink-14: #a28cd9;
    --ink-rim: 0.4;
    --paper-tooth: 0.35;
    --ink-shade: 0.2;
    --ink-bloom: 0.12;
    --grain-alpha: 0.16;
    --grain-blend: screen;
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --field: #141316;
  --text: #ece8e1;
  --text-2: #c8c2b8;
  --text-3: #8e887f;
  --field-rule: #a29c93;
  --ink-1: #bf69bf;
  --ink-2: #e59ec4;
  --ink-3: #e3828f;
  --ink-4: #eea38c;
  --ink-5: #e5b06c;
  --ink-6: #e1d060;
  --ink-7: #b1cc66;
  --ink-8: #94c680;
  --ink-9: #9acba1;
  --ink-10: #53c694;
  --ink-11: #3bcece;
  --ink-12: #72adda;
  --ink-13: #8895dd;
  --ink-14: #a28cd9;
  --ink-rim: 0.4;
  --paper-tooth: 0.35;
  --ink-shade: 0.2;
  --ink-bloom: 0.12;
  --grain-alpha: 0.16;
  --grain-blend: screen;
}
