/*
  The Axos design token set. FSE.md section 9. Idea Forge design language, S138.

  ONE generation. No parallel scales, no deprecated set left in place, never forked.

  This is the ONLY file in the solution permitted to contain a colour literal. Everything else
  references a token, enforced by the style linter in build/Guards.targets under USO 8 and
  DOTNET 13. The exemption is bound to this file's path, which is why the file keeps its name
  across generations of tokens.

  PROVENANCE. The colour tokens are the Design Tokens table of README.md in the read-only design
  handoff folder C:\Users\Owner\Desktop\Axiom\design_handoff_idea_forge, verbatim: every name the
  table names, at the value it names, light and dark, on [data-theme]. README.md is the
  specification; the prototype beside it, Axiom Portal.dc.html and support.js, is a visual
  reference and not code, and every person, figure, competitor and source in it is invented and
  reaches nothing here. The verdict colours and the sign-in gradient are the handoff's own named
  values from its prose. The non-colour tokens carry the handoff's stated values, type sizes,
  spacing, radii, motion, under names of this project's choosing, so that the stylesheet can be
  written token-first and the linter can refuse a raw dimension.

  Eyebrow labels are sentence case, never all-caps: an explicit requirement of the handoff. No
  token here, and no rule in the stylesheet, transforms case except the sign-in button, which the
  handoff itself sets in uppercase mono.
*/

[data-theme="light"] {
  color-scheme: light;

  /* ---------- Ground and surfaces ---------- */
  --axm-bg: #eceff4;
  --axm-panel: #ffffff;
  --axm-heroA: #ffffff;
  --axm-heroB: #e6ecf4;
  --axm-tile: #eef1f6;
  --axm-hover: #f5f7fa;

  /* ---------- Ink ---------- */
  --axm-ink: #101820;
  --axm-ink2: #26313d;
  --axm-mut: #5b6675;
  --axm-mut2: #7c8797;
  --axm-mut3: #97a2b0;

  /* ---------- Lines ---------- */
  --axm-line: rgba(16,24,32,.08);
  --axm-line2: rgba(16,24,32,.06);

  /* ---------- Mark, brand, link, accents ---------- */
  --axm-mark: #0a1522;
  --axm-markInk: #f5f8fc;
  --axm-brand: #16304a;
  --axm-link: #1c3d5a;
  --axm-a1: #2f5f8f;
  --axm-a2: #4a7fae;
  --axm-a3: #6f9cc4;
  --axm-a4: #8fb4d4;
  --axm-aTint: #e3ecf5;
  --axm-aTint2: #eef3f9;
  --axm-onA: #f2f7fc;
  --axm-bsInk: #41648a;

  /* ---------- Classification bar ---------- */
  --axm-classBg: #2f5f8f;
  --axm-classInk: #f2f7fc;

  /* ---------- Shadows ---------- */
  --axm-sh1: 0 1px 1px rgba(16,24,32,.04), 0 6px 14px -6px rgba(16,24,32,.14);
  --axm-sh2: 0 3px 4px rgba(16,24,32,.06), 0 22px 40px -14px rgba(16,24,32,.3);
}

[data-theme="dark"] {
  color-scheme: dark;

  --axm-bg: #070c13;
  --axm-panel: #0f1822;
  --axm-heroA: #121d29;
  --axm-heroB: #0c2233;
  --axm-tile: #17222f;
  --axm-hover: #16202c;

  --axm-ink: #e9eff7;
  --axm-ink2: #c5d1de;
  --axm-mut: #93a1b3;
  --axm-mut2: #8593a6;
  --axm-mut3: #74829a;

  --axm-line: rgba(150,195,240,.14);
  --axm-line2: rgba(150,195,240,.1);

  --axm-mark: #1c3d5a;
  --axm-markInk: #e9eff7;
  --axm-brand: #7fb2e0;
  --axm-link: #9ccbf5;
  --axm-a1: #8cc0ec;
  --axm-a2: #6ea6d8;
  --axm-a3: #5b8cbb;
  --axm-a4: #45719c;
  --axm-aTint: #17293b;
  --axm-aTint2: #131f2c;
  --axm-onA: #0f1822;
  --axm-bsInk: #8fb8de;

  --axm-classBg: #17293b;
  --axm-classInk: #cfe0f0;

  --axm-sh1: inset 0 1px 0 rgba(255,255,255,.03), 0 8px 20px -10px rgba(0,0,0,.7);
  --axm-sh2: inset 0 1px 0 rgba(255,255,255,.05), 0 26px 46px -16px rgba(0,0,0,.85);
}

:root {
  /* ---------- Verdict colours, the handoff's named values, one value in both themes ---------- */
  --axm-verdict-green: #2f7d55;
  --axm-verdict-amber: #a8762a;
  --axm-verdict-red: #a5382f;
  --axm-verdict-blue: #2f5f8f;
  --axm-verdict-neutral: #98a0a6;

  /* ---------- The sign-in scene, the handoff's own fixed values. It is one scene in both themes:
       a white card on the dark radial ground, the button on the mark colour, hover #16304a. ---------- */
  --axm-signin-g1: #16304a;
  --axm-signin-g2: #0a1522;
  --axm-signin-g3: #05090f;
  --axm-signin-card: #ffffff;
  --axm-signin-card-edge: #dfe6ee;
  --axm-signin-ink: #101820;
  --axm-signin-mut: #5b6675;
  --axm-signin-tile-line: #d8dee7;
  --axm-signin-button: #0a1522;
  --axm-signin-button-hover: #16304a;
  --axm-signin-button-ink: #f5f8fc;
  --axm-signin-foot: #e3ecf5;
  --axm-sh-signin: 18px 30px 64px -18px rgba(0,0,0,.6), 40px 64px 96px -44px rgba(0,0,0,.5), inset -16px 0 28px -20px rgba(16,24,32,.3), 0 0 0 1px rgba(255,255,255,.08);

  /* ---------- Type: families. The handoff's faces first, vendored in axos-fonts.css since S139,
       the system stack behind them for a face that fails to load ---------- */
  --axm-font-display: "Spectral", Georgia, "Times New Roman", serif;
  --axm-font-ui: "Public Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --axm-font-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;

  /* ---------- Type: scale, the handoff's sizes ---------- */
  --axm-fs-micro: 10px;      /* classification bar, mono footers */
  --axm-fs-meta: 11px;       /* mono button labels */
  --axm-fs-small: 13px;      /* eyebrows, metadata, muted text: the smallest size body ink tokens clear 4.5:1 */
  --axm-fs-body: 14px;
  --axm-fs-body-lg: 15px;
  --axm-fs-title: 19px;      /* card titles, Spectral 600 */
  --axm-fs-wordmark: 22px;
  --axm-fs-heading: 30px;
  --axm-fs-display: 34px;
  --axm-fw-regular: 400;
  --axm-fw-medium: 500;
  --axm-fw-semibold: 600;

  --axm-lh-body: 1.55;
  --axm-lh-body-lg: 1.65;
  --axm-lh-heading: 1.2;

  --axm-ls-eyebrow: .04em;
  --axm-ls-heading: -.02em;
  --axm-ls-button: .18em;

  /* ---------- Spacing, 4px base, and the handoff's stated paddings and gaps ---------- */
  --axm-space-1: 4px;
  --axm-space-2: 8px;
  --axm-space-3: 12px;
  --axm-space-4: 16px;
  --axm-space-5: 20px;
  --axm-space-6: 24px;
  --axm-gap: 14px;
  --axm-card-pad: 18px;
  --axm-card-pad-lg: 24px;
  --axm-page-pad-top: 26px;
  --axm-page-pad-x: 24px;
  --axm-page-pad-bottom: 70px;
  --axm-signin-pad-y: 34px;
  --axm-signin-pad-x: 44px;
  --axm-signin-logo-h: 52px;
  --axm-signin-logo-gap: 28px;
  --axm-signin-button-h: 46px;

  /* ---------- Radii. The handoff also names 12px modals, 16px dark headers and 20px pills; nothing here has one yet ---------- */
  --axm-radius-control: 6px;
  --axm-radius-card: 8px;

  /* ---------- Lines and rails ---------- */
  --axm-line-w: 1px;
  --axm-edge-w: 2px;

  /* ---------- Layout ---------- */
  --axm-sidebar-w: 236px;
  --axm-column-w: 452px;
  --axm-mark-size: 22px;

  /* ---------- Motion, the handoff's lifts and durations ---------- */
  --axm-card-lift: -2px;
  --axm-card-motion: 180ms;
  --axm-button-lift: -1px;
  --axm-button-press: 1px;
  --axm-button-motion: 120ms;
  --axm-ease: ease;

  /* ---------- The sign-in backdrop, S140: the handoff's grid overlay at 3.5% white masked to a
       radial falloff, and five concentric rings of 1px at .08 to .16 carrying spheres that sweep
       at 18 to 44 seconds in alternating directions. The rings share a centre above the fold.
       The scene is fixed in both themes, as the sign-in is. ---------- */
  --axm-grid-step: 64px;
  --axm-grid-line: rgba(255,255,255,.035);
  --axm-grid-mask: radial-gradient(circle at center, rgba(0,0,0,1), rgba(0,0,0,0) 70%);
  --axm-ring-centre-y: 120px;
  --axm-ring-1: 340px;
  --axm-ring-2: 700px;
  --axm-ring-3: 1100px;
  --axm-ring-4: 1560px;
  --axm-ring-5: 2000px;
  --axm-ring-line-1: rgba(140,180,220,.16);
  --axm-ring-line-2: rgba(140,180,220,.14);
  --axm-ring-line-3: rgba(140,180,220,.12);
  --axm-ring-line-4: rgba(140,180,220,.10);
  --axm-ring-line-5: rgba(140,180,220,.08);
  --axm-sphere-1: 6px;
  --axm-sphere-2: 8px;
  --axm-sphere-3: 10px;
  --axm-sphere-4: 7px;
  --axm-sphere-5: 6px;
  --axm-sphere-fill: radial-gradient(circle at 32% 30%, #eaf5ff, #7fb2e0 60%, #3f6f9e);
  --axm-sphere-glow: 0 0 18px 4px rgba(140,200,255,.55);
  --axm-sweep-1: 26s;
  --axm-sweep-2: 18s;
  --axm-sweep-3: 32s;
  --axm-sweep-4: 44s;
  --axm-sweep-5: 58s;

  /* ---------- The shell's compositions, S140: the hero's accent rail, the metric tiles, the
       module cards, the rail's avatar and status dot, the header's icons ---------- */
  --axm-accent-rail: 3px;
  --axm-tile-min: 220px;
  --axm-module-min: 300px;
  --axm-avatar-size: 32px;
  --axm-dot-size: 6px;
  --axm-icon-size: 16px;
  --axm-status-ok: #2f9e6b;
}
