/*
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
* * * * * ==============================
========================================
========================================
========================================
----------------------------------------
USWDS 2.0 Variables
Use for computed variables or any
not meant to be set by system users
directly.
----------------------------------------
*/

/*
----------------------------------------
Touch target size
----------------------------------------
*/

$size-touch-target: 6; // 48px to meet WCAG minimum of 44px

/*
----------------------------------------
Namespace
----------------------------------------
*/

$ns-utility: ns("utility");
$ns-grid: ns("grid");

/*
----------------------------------------
Separator
----------------------------------------
*/

$separator: $theme-prefix-separator;

/*
----------------------------------------
Spacing
----------------------------------------
All spacing values that can be called
by units()
----------------------------------------
*/

$project-spacing-standard: map-collect(
  map-get($system-spacing, smaller),
  map-get($system-spacing, small),
  map-get($system-spacing, smaller-negative),
  map-get($system-spacing, small-negative),
  map-get($system-spacing, medium),
  map-get($system-spacing, medium-negative),
  map-get($system-spacing, large),
  map-get($system-spacing, larger),
  map-get($system-spacing, largest),
  map-get($system-spacing, special)
);

$project-spacing-named: map-collect(
  map-get($system-spacing, large),
  map-get($system-spacing, larger),
  map-get($system-spacing, largest)
);

$spacing-to-token: (
  "0": 0,
  "1": "1px",
  "2": "2px",
  "4": "05",
  "8": 1,
  "12": "105",
  "16": 2,
  "20": "205",
  "24": 3,
  "32": 4,
  "40": 5,
  "48": 6,
  "56": 7,
  "64": 8,
  "72": 9,
);

$spacing-to-value: (
  0: 0,
  "2px": 2,
  "05": 4,
  1: 8,
  "105": 12,
  2: 16,
  3: 24,
  4: 32,
  5: 40,
  6: 48,
  7: 56,
  8: 64,
  9: 72,
);

$number-to-value: (
  "1px": "1px",
  "2px": "2px",
  "0": 0,
  "1": 1,
  "2": 2,
  "3": 3,
  "4": 4,
  "5": 5,
  "6": 6,
  "7": 7,
  "8": 8,
  "9": 9,
  "10": 10,
  "15": 15,
  "0.5": "05",
  ".5": "05",
  "1.5": "105",
  "2.5": "205",
  "-1px": "neg-1px",
  "-2px": "neg-2px",
  "-0.5": "neg-05",
  "-.5": "neg-05",
  "-1": "neg-1",
  "-1.5": "neg-105",
  "-2": "neg-2",
  "-2.5": "neg-205",
  "-3": "neg-3",
  "-4": "neg-4",
  "-5": "neg-5",
  "-6": "neg-6",
  "-7": "neg-7",
  "-8": "neg-8",
  "-9": "neg-9",
);

/*
----------------------------------------
Project fonts
----------------------------------------
Collects font settings in a map for
looping.
----------------------------------------
*/

$project-font-type-tokens: (
  "cond": (
    "typeface-token": $theme-font-type-cond,
    "custom-stack": $theme-font-cond-custom-stack,
    "src": $theme-font-cond-custom-src,
  ),
  "icon": (
    "typeface-token": $theme-font-type-icon,
    "custom-stack": $theme-font-icon-custom-stack,
    "src": $theme-font-icon-custom-src,
  ),
  "lang": (
    "typeface-token": $theme-font-type-lang,
    "custom-stack": $theme-font-lang-custom-stack,
    "src": $theme-font-lang-custom-src,
  ),
  "mono": (
    "typeface-token": $theme-font-type-mono,
    "custom-stack": $theme-font-mono-custom-stack,
    "src": $theme-font-mono-custom-src,
  ),
  "sans": (
    "typeface-token": $theme-font-type-sans,
    "custom-stack": $theme-font-sans-custom-stack,
    "src": $theme-font-sans-custom-src,
  ),
  "serif": (
    "typeface-token": $theme-font-type-serif,
    "custom-stack": $theme-font-serif-custom-stack,
    "src": $theme-font-serif-custom-src,
  ),
);

$project-font-role-tokens: (
  "ui": $theme-font-role-ui,
  "heading": $theme-font-role-heading,
  "body": $theme-font-role-body,
  "code": $theme-font-role-code,
  "alt": $theme-font-role-alt,
);

/*
----------------------------------------
Font stack
----------------------------------------
Compute the project font stack based on
the project fonts and the font
definition values set in
core/_font-definitions
----------------------------------------
*/

$project-font-stacks: (
  "cond": get-font-stack("cond"),
  "icon": get-font-stack("icon"),
  "lang": get-font-stack("lang"),
  "mono": get-font-stack("mono"),
  "sans": get-font-stack("sans"),
  "serif": get-font-stack("serif"),
  "ui": get-font-stack("ui"),
  "heading": get-font-stack("heading"),
  "body": get-font-stack("body"),
  "code": get-font-stack("code"),
  "alt": get-font-stack("alt"),
);

$project-font-stack-cond: get-font-stack("cond");
$project-font-stack-icon: get-font-stack("icon");
$project-font-stack-lang: get-font-stack("lang");
$project-font-stack-mono: get-font-stack("mono");
$project-font-stack-sans: get-font-stack("sans");
$project-font-stack-serif: get-font-stack("serif");
$project-font-stack-ui: get-font-stack("ui");
$project-font-stack-heading: get-font-stack("heading");
$project-font-stack-body: get-font-stack("body");
$project-font-stack-code: get-font-stack("code");
$project-font-stack-alt: get-font-stack("alt");

$project-font-cond: get-typeface-token("cond");
$project-font-icon: get-typeface-token("icon");
$project-font-lang: get-typeface-token("lang");
$project-font-mono: get-typeface-token("mono");
$project-font-sans: get-typeface-token("sans");
$project-font-serif: get-typeface-token("serif");
$project-font-ui: get-typeface-token("ui");
$project-font-heading: get-typeface-token("heading");
$project-font-body: get-typeface-token("body");
$project-font-code: get-typeface-token("code");
$project-font-alt: get-typeface-token("alt");

/*
----------------------------------------
Cap heights
----------------------------------------
Collect project cap heights
----------------------------------------
*/

$project-cap-heights: (
  "base": $system-base-cap-height,
  "cond": cap-height($project-font-cond),
  "icon": cap-height($project-font-icon),
  "lang": cap-height($project-font-lang),
  "mono": cap-height($project-font-mono),
  "sans": cap-height($project-font-sans),
  "serif": cap-height($project-font-serif),
  "ui": cap-height($project-font-ui),
  "heading": cap-height($project-font-heading),
  "body": cap-height($project-font-body),
  "code": cap-height($project-font-code),
  "alt": cap-height($project-font-alt),
);

$project-font-weights: (
  "thin": $theme-font-weight-thin,
  "light": $theme-font-weight-light,
  "normal": $theme-font-weight-normal,
  "medium": $theme-font-weight-medium,
  "semibold": $theme-font-weight-semibold,
  "bold": $theme-font-weight-bold,
  "heavy": $theme-font-weight-heavy,
);

/*
----------------------------------------
Theme color families and grades
----------------------------------------
*/

$uswds-color-families: (
  "primary",
  "secondary",
  "accent",
  "base",
  "warning",
  "error",
  "success",
  "info"
);

$uswds-color-theme-grades: (
  "lightest",
  "lighter",
  "light",
  "default",
  "dark",
  "darker",
  "darkest"
);

/*
----------------------------------------
Theme color map
----------------------------------------
*/

$project-colors: (
  "base": (
    "lightest": color($theme-color-base-lightest, set-theme),
    "lighter": color($theme-color-base-lighter, set-theme),
    "light": color($theme-color-base-light, set-theme),
    "default": color($theme-color-base, set-theme),
    "dark": color($theme-color-base-dark, set-theme),
    "darker": color($theme-color-base-darker, set-theme),
    "darkest": color($theme-color-base-darkest, set-theme),
  ),
  "primary": (
    "lightest": color($theme-color-primary-lightest, set-theme),
    "lighter": color($theme-color-primary-lighter, set-theme),
    "light": color($theme-color-primary-light, set-theme),
    "default": color($theme-color-primary, set-theme),
    "vivid": color($theme-color-primary-vivid, set-theme),
    "dark": color($theme-color-primary-dark, set-theme),
    "darker": color($theme-color-primary-darker, set-theme),
    "darkest": color($theme-color-primary-darkest, set-theme),
  ),
  "secondary": (
    "lightest": color($theme-color-secondary-lightest, set-theme),
    "lighter": color($theme-color-secondary-lighter, set-theme),
    "light": color($theme-color-secondary-light, set-theme),
    "default": color($theme-color-secondary, set-theme),
    "vivid": color($theme-color-secondary-vivid, set-theme),
    "dark": color($theme-color-secondary-dark, set-theme),
    "darker": color($theme-color-secondary-darker, set-theme),
    "darkest": color($theme-color-secondary-darkest, set-theme),
  ),
  "accent-warm": (
    "lightest": color($theme-color-accent-warm-lightest, set-theme),
    "lighter": color($theme-color-accent-warm-lighter, set-theme),
    "light": color($theme-color-accent-warm-light, set-theme),
    "default": color($theme-color-accent-warm, set-theme),
    "dark": color($theme-color-accent-warm-dark, set-theme),
    "darker": color($theme-color-accent-warm-darker, set-theme),
    "darkest": color($theme-color-accent-warm-darkest, set-theme),
  ),
  "accent-cool": (
    "lightest": color($theme-color-accent-cool-lightest, set-theme),
    "lighter": color($theme-color-accent-cool-lighter, set-theme),
    "light": color($theme-color-accent-cool-light, set-theme),
    "default": color($theme-color-accent-cool, set-theme),
    "dark": color($theme-color-accent-cool-dark, set-theme),
    "darker": color($theme-color-accent-cool-darker, set-theme),
    "darkest": color($theme-color-accent-cool-darkest, set-theme),
  ),
);

$project-state-colors: (
  "error": (
    "lighter": color($theme-color-error-lighter, set-theme),
    "light": color($theme-color-error-light, set-theme),
    "default": color($theme-color-error, set-theme),
    "dark": color($theme-color-error-dark, set-theme),
    "darker": color($theme-color-error-darker, set-theme),
  ),
  "warning": (
    "lighter": color($theme-color-warning-lighter, set-theme),
    "light": color($theme-color-warning-light, set-theme),
    "default": color($theme-color-warning, set-theme),
    "dark": color($theme-color-warning-dark, set-theme),
    "darker": color($theme-color-warning-darker, set-theme),
  ),
  "success": (
    "lighter": color($theme-color-success-lighter, set-theme),
    "light": color($theme-color-success-light, set-theme),
    "default": color($theme-color-success, set-theme),
    "dark": color($theme-color-success-dark, set-theme),
    "darker": color($theme-color-success-darker, set-theme),
  ),
  "info": (
    "lighter": color($theme-color-info-lighter, set-theme),
    "light": color($theme-color-info-light, set-theme),
    "default": color($theme-color-info, set-theme),
    "dark": color($theme-color-info-dark, set-theme),
    "darker": color($theme-color-info-darker, set-theme),
  ),
  "disabled": (
    "light": color($theme-color-disabled-light, set-theme),
    "default": color($theme-color-disabled, set-theme),
    "dark": color($theme-color-disabled-dark, set-theme),
  ),
  "emergency": (
    "default": color($theme-color-emergency, set-theme),
    "dark": color($theme-color-emergency-dark, set-theme),
  ),
);

$all-project-colors: map-collect($project-colors, $project-state-colors);

$palette-colors: map-collect(
  $all-project-colors,
  $tokens-color-required,
  $system-colors
);

/*
----------------------------------------
Theme color shortcodes
----------------------------------------
*/

$assignments-theme-color: (
  "base-lightest": $theme-color-base-lightest,
  "base-lighter": $theme-color-base-lighter,
  "base-light": $theme-color-base-light,
  "base": $theme-color-base,
  "base-dark": $theme-color-base-dark,
  "base-darker": $theme-color-base-darker,
  "base-darkest": $theme-color-base-darkest,
  "ink": $theme-color-base-ink,
  "primary-lightest": $theme-color-primary-lightest,
  "primary-lighter": $theme-color-primary-lighter,
  "primary-light": $theme-color-primary-light,
  "primary": $theme-color-primary,
  "primary-vivid": $theme-color-primary-vivid,
  "primary-dark": $theme-color-primary-dark,
  "primary-darker": $theme-color-primary-darker,
  "primary-darkest": $theme-color-primary-darkest,
  "secondary-lightest": $theme-color-secondary-lightest,
  "secondary-lighter": $theme-color-secondary-lighter,
  "secondary-light": $theme-color-secondary-light,
  "secondary": $theme-color-secondary,
  "secondary-vivid": $theme-color-secondary-vivid,
  "secondary-dark": $theme-color-secondary-dark,
  "secondary-darker": $theme-color-secondary-darker,
  "secondary-darkest": $theme-color-secondary-darkest,
  "accent-warm-darkest": $theme-color-accent-warm-darkest,
  "accent-warm-darker": $theme-color-accent-warm-darker,
  "accent-warm-dark": $theme-color-accent-warm-dark,
  "accent-warm": $theme-color-accent-warm,
  "accent-warm-light": $theme-color-accent-warm-light,
  "accent-warm-lighter": $theme-color-accent-warm-lighter,
  "accent-warm-lightest": $theme-color-accent-warm-lightest,
  "accent-cool-darkest": $theme-color-accent-cool-darkest,
  "accent-cool-darker": $theme-color-accent-cool-darker,
  "accent-cool-dark": $theme-color-accent-cool-dark,
  "accent-cool": $theme-color-accent-cool,
  "accent-cool-light": $theme-color-accent-cool-light,
  "accent-cool-lighter": $theme-color-accent-cool-lighter,
  "accent-cool-lightest": $theme-color-accent-cool-lightest,
  "error-lighter": $theme-color-error-lighter,
  "error-light": $theme-color-error-light,
  "error": $theme-color-error,
  "error-dark": $theme-color-error-dark,
  "error-darker": $theme-color-error-darker,
  "warning-lighter": $theme-color-warning-lighter,
  "warning-light": $theme-color-warning-light,
  "warning": $theme-color-warning,
  "warning-dark": $theme-color-warning-dark,
  "warning-darker": $theme-color-warning-darker,
  "success-lighter": $theme-color-success-lighter,
  "success-light": $theme-color-success-light,
  "success": $theme-color-success,
  "success-dark": $theme-color-success-dark,
  "success-darker": $theme-color-success-darker,
  "info-lighter": $theme-color-info-lighter,
  "info-light": $theme-color-info-light,
  "info": $theme-color-info,
  "info-dark": $theme-color-info-dark,
  "info-darker": $theme-color-info-darker,
  "disabled-light": $theme-color-disabled-light,
  "disabled": $theme-color-disabled,
  "disabled-dark": $theme-color-disabled-dark,
  "emergency": $theme-color-emergency,
  "emergency-dark": $theme-color-emergency-dark,
);

$tokens-color-theme: (
  "base-lightest": color($theme-color-base-lightest, set-theme, no-warn),
  "base-lighter": color($theme-color-base-lighter, set-theme, no-warn),
  "base-light": color($theme-color-base-light, set-theme, no-warn),
  "base": color($theme-color-base, set-theme, no-warn),
  "base-dark": color($theme-color-base-dark, set-theme, no-warn),
  "base-darker": color($theme-color-base-darker, set-theme, no-warn),
  "base-darkest": color($theme-color-base-darkest, set-theme, no-warn),
  "ink": color($theme-color-base-ink, set-theme, no-warn),
  "primary-lightest": color($theme-color-primary-lightest, set-theme, no-warn),
  "primary-lighter": color($theme-color-primary-lighter, set-theme, no-warn),
  "primary-light": color($theme-color-primary-light, set-theme, no-warn),
  "primary": color($theme-color-primary, set-theme, no-warn),
  "primary-vivid": color($theme-color-primary-vivid, set-theme, no-warn),
  "primary-dark": color($theme-color-primary-dark, set-theme, no-warn),
  "primary-darker": color($theme-color-primary-darker, set-theme, no-warn),
  "primary-darkest": color($theme-color-primary-darkest, set-theme, no-warn),
  "secondary-lightest":
    color($theme-color-secondary-lightest, set-theme, no-warn),
  "secondary-lighter": color($theme-color-secondary-lighter, set-theme, no-warn),
  "secondary-light": color($theme-color-secondary-light, set-theme, no-warn),
  "secondary": color($theme-color-secondary, set-theme, no-warn),
  "secondary-vivid": color($theme-color-secondary-vivid, set-theme, no-warn),
  "secondary-dark": color($theme-color-secondary-dark, set-theme, no-warn),
  "secondary-darker": color($theme-color-secondary-darker, set-theme, no-warn),
  "secondary-darkest": color($theme-color-secondary-darkest, set-theme, no-warn),
  "accent-warm-darkest":
    color($theme-color-accent-warm-darkest, set-theme, no-warn),
  "accent-warm-darker":
    color($theme-color-accent-warm-darker, set-theme, no-warn),
  "accent-warm-dark": color($theme-color-accent-warm-dark, set-theme, no-warn),
  "accent-warm": color($theme-color-accent-warm, set-theme, no-warn),
  "accent-warm-light": color($theme-color-accent-warm-light, set-theme, no-warn),
  "accent-warm-lighter":
    color($theme-color-accent-warm-lighter, set-theme, no-warn),
  "accent-warm-lightest":
    color($theme-color-accent-warm-lightest, set-theme, no-warn),
  "accent-cool-darkest":
    color($theme-color-accent-cool-darkest, set-theme, no-warn),
  "accent-cool-darker":
    color($theme-color-accent-cool-darker, set-theme, no-warn),
  "accent-cool-dark": color($theme-color-accent-cool-dark, set-theme, no-warn),
  "accent-cool": color($theme-color-accent-cool, set-theme, no-warn),
  "accent-cool-light": color($theme-color-accent-cool-light, set-theme, no-warn),
  "accent-cool-lighter":
    color($theme-color-accent-cool-lighter, set-theme, no-warn),
  "accent-cool-lightest":
    color($theme-color-accent-cool-lightest, set-theme, no-warn),
);

$tokens-color-state: (
  "error-lighter": color($theme-color-error-lighter, set-theme, no-warn),
  "error-light": color($theme-color-error-light, set-theme, no-warn),
  "error": color($theme-color-error, set-theme, no-warn),
  "error-dark": color($theme-color-error-dark, set-theme, no-warn),
  "error-darker": color($theme-color-error-darker, set-theme, no-warn),
  "warning-lighter": color($theme-color-warning-lighter, set-theme, no-warn),
  "warning-light": color($theme-color-warning-light, set-theme, no-warn),
  "warning": color($theme-color-warning, set-theme, no-warn),
  "warning-dark": color($theme-color-warning-dark, set-theme, no-warn),
  "warning-darker": color($theme-color-warning-darker, set-theme, no-warn),
  "success-lighter": color($theme-color-success-lighter, set-theme, no-warn),
  "success-light": color($theme-color-success-light, set-theme, no-warn),
  "success": color($theme-color-success, set-theme, no-warn),
  "success-dark": color($theme-color-success-dark, set-theme, no-warn),
  "success-darker": color($theme-color-success-darker, set-theme, no-warn),
  "info-lighter": color($theme-color-info-lighter, set-theme, no-warn),
  "info-light": color($theme-color-info-light, set-theme, no-warn),
  "info": color($theme-color-info, set-theme, no-warn),
  "info-dark": color($theme-color-info-dark, set-theme, no-warn),
  "info-darker": color($theme-color-info-darker, set-theme, no-warn),
  "disabled-light": color($theme-color-disabled-light, set-theme, no-warn),
  "disabled": color($theme-color-disabled, set-theme, no-warn),
  "disabled-dark": color($theme-color-disabled-dark, set-theme, no-warn),
  "emergency": color($theme-color-emergency, set-theme, no-warn),
  "emergency-dark": color($theme-color-emergency-dark, set-theme, no-warn),
);

$project-color-shortcodes: map-collect(
  $tokens-color-theme,
  $tokens-color-state,
  $high-contrast-system-colors
);

$all-color-shortcodes: map-collect(
  $tokens-color-required,
  $system-color-shortcodes,
  $project-color-shortcodes
);

$color-palette-grayscale: $system-color-gray;

/*
----------------------------------------
System magic numbers for color contrast
----------------------------------------
*/

$system-wcag-magic-numbers: (
  "AA": 50,
  "AAA": 70,
  "AA-large": 40,
);

/*
----------------------------------------
Luminance color component values
----------------------------------------
*/

$luminance-color-component-values: 0, 0.0003035269835488375,
  0.000607053967097675, 0.0009105809506465125, 0.00121410793419535,
  0.0015176349177441874, 0.001821161901293025, 0.0021246888848418626,
  0.0024282158683907, 0.0027317428519395373, 0.003035269835488375,
  0.003346535763899161, 0.003676507324047436, 0.004024717018496307,
  0.004391442037410293, 0.004776953480693729, 0.005181516702338386,
  0.005605391624202723, 0.006048833022857055, 0.006512090792594474,
  0.006995410187265387, 0.007499032043226175, 0.008023192985384994,
  0.008568125618069307, 0.009134058702220787, 0.009721217320237847,
  0.010329823029626938, 0.010960094006488246, 0.011612245179743887,
  0.012286488356915872, 0.012983032342173012, 0.013702083047289686,
  0.014443843596092545, 0.01520851442291271, 0.01599629336550963,
  0.016807375752887384, 0.017641954488384078, 0.018500220128379697,
  0.019382360956935723, 0.0202885630566524, 0.021219010376003558,
  0.02217388479338738, 0.02315336617811041, 0.024157632448504756,
  0.025186859627361627, 0.026241221894849898, 0.027320891639074897,
  0.028426039504420793, 0.0295568344378088, 0.030713443732993635,
  0.03189603307301153, 0.033104766570885055, 0.03433980680868217,
  0.03560131487502034, 0.03688945040110004, 0.0382043715953465,
  0.03954623527673283, 0.04091519690685319, 0.042311410620809675,
  0.043735029256973465, 0.04518620438567554, 0.0466650863368801,
  0.048171824226889426, 0.04970656598412723, 0.05126945837404324,
  0.052860647023180246, 0.05448027644244237, 0.05612849004960009,
  0.05780543019106723, 0.0595112381629812, 0.06124605423161761,
  0.06301001765316767, 0.06480326669290577, 0.06662593864377289,
  0.06847816984440017, 0.07036009569659588, 0.07227185068231748,
  0.07421356838014963, 0.07618538148130785, 0.07818742180518633,
  0.08021982031446831, 0.0822827071298148, 0.08437621154414882,
  0.08650046203654976, 0.08865558628577294, 0.09084171118340767,
  0.09305896284668747, 0.0953074666309647, 0.09758734714186246,
  0.09989872824711389, 0.1022417330881013, 0.10461648409110419,
  0.10702310297826761, 0.10946171077829933, 0.1119324278369056,
  0.11443537382697373, 0.11697066775851084, 0.11953842798834562,
  0.12213877222960187, 0.12477181756095049, 0.12743768043564743,
  0.1301364766903643, 0.13286832155381798, 0.13563332965520566,
  0.13843161503245183, 0.14126329114027164, 0.14412847085805777,
  0.14702726649759498, 0.14995978981060856, 0.15292615199615017,
  0.1559264637078274, 0.1589608350608804, 0.16202937563911096,
  0.1651321945016676, 0.16826940018969075, 0.1714411007328226,
  0.17464740365558504, 0.17788841598362914, 0.18116424424986022,
  0.184474994500441, 0.18782077230067787, 0.1912016827407914,
  0.19461783044157582, 0.19806931955994886, 0.20155625379439707,
  0.20507873639031693, 0.20863687014525575, 0.21223075741405523,
  0.21586050011389923, 0.21952619972926923, 0.2232279573168085,
  0.22696587351009836, 0.23074004852434915, 0.23455058216100522,
  0.238397573812271, 0.24228112246555486, 0.24620132670783548,
  0.25015828472995344, 0.25415209433082675, 0.2581828529215958,
  0.26225065752969623, 0.26635560480286247, 0.2704977910130658,
  0.27467731206038465, 0.2788942634768104, 0.2831487404299921,
  0.2874408377269175, 0.29177064981753587, 0.2961382707983211,
  0.3005437944157765, 0.3049873140698863, 0.30946892281750854,
  0.31398871337571754, 0.31854677812509186, 0.32314320911295075,
  0.3277780980565422, 0.33245153634617935, 0.33716361504833037,
  0.341914424908661, 0.3467040563550296, 0.35153259950043936, 0.3564001441459435,
  0.3613067797835095, 0.3662525955988395, 0.3712376804741491,
  0.37626212299090644, 0.3813260114325301, 0.386429433787049,
  0.39157247774972326, 0.39675523072562685, 0.40197777983219574,
  0.4072402119017367, 0.41254261348390375, 0.4178850708481375,
  0.4232676699860717, 0.4286904966139067, 0.4341536361747489, 0.4396571738409188,
  0.44520119451622786, 0.45078578283822346, 0.45641102318040466,
  0.4620769996544071, 0.467783796112159, 0.47353149614800955, 0.4793201831008268,
  0.4851499400560704, 0.4910208498478356, 0.4969329950608704, 0.5028864580325687,
  0.5088813208549338, 0.5149176653765214, 0.5209955732043543, 0.5271151257058131,
  0.5332764040105052, 0.5394794890121071, 0.5457244613701866, 0.5520114015120001,
  0.5583403896342679, 0.5647115057049292, 0.5711248294648731, 0.5775804404296506,
  0.5840784178911641, 0.5906188409193369, 0.5972017883637634, 0.6038273388553378,
  0.6104955708078648, 0.6172065624196511, 0.6239603916750761, 0.6307571363461468,
  0.6375968739940326, 0.6444796819705821, 0.6514056374198242, 0.6583748172794486,
  0.665387298282272, 0.6724431569576875, 0.6795424696330938, 0.6866853124353134,
  0.6938717612919899, 0.7011018919329731, 0.7083757798916868, 0.7156935005064807,
  0.7230551289219693, 0.7304607400903537, 0.7379104087727308, 0.7454042095403874,
  0.7529422167760779, 0.7605245046752924, 0.7681511472475071, 0.7758222183174236,
  0.7835377915261935, 0.7912979403326302, 0.799102738014409, 0.8069522576692516,
  0.8148465722161012, 0.8227857543962835, 0.8307698767746546, 0.83879901174074,
  0.846873231509858, 0.8549926081242338, 0.8631572134541023, 0.8713671191987973,
  0.8796223968878317, 0.8879231178819663, 0.8962693533742664, 0.9046611743911496,
  0.9130986517934192, 0.9215818562772946, 0.9301108583754237, 0.938685728457888,
  0.9473065367331999, 0.9559733532492861, 0.9646862478944651, 0.9734452903984125,
  0.9822505503331171, 0.9911020971138298, 1;

/*
----------------------------------------
Build the project type scale map
----------------------------------------
*/

$project-type-scale: (
  "3xs": system-type-scale($theme-type-scale-3xs),
  "2xs": system-type-scale($theme-type-scale-2xs),
  "xs": system-type-scale($theme-type-scale-xs),
  "sm": system-type-scale($theme-type-scale-sm),
  "md": system-type-scale($theme-type-scale-md),
  "lg": system-type-scale($theme-type-scale-lg),
  "xl": system-type-scale($theme-type-scale-xl),
  "2xl": system-type-scale($theme-type-scale-2xl),
  "3xl": system-type-scale($theme-type-scale-3xl),
);

$all-type-scale: map-collect($system-type-scale, $project-type-scale);

/*
----------------------------------------
Border-radius
----------------------------------------
*/

$project-border-radius: (
  0: 0,
  "none": 0,
  "sm": units($theme-border-radius-sm),
  "md": units($theme-border-radius-md),
  "lg": units($theme-border-radius-lg),
  "pill": 99rem,
);

$all-border-radius: map-collect(
  $project-border-radius,
  map-get($system-spacing, smaller),
  map-get($system-spacing, small)
);

/*
----------------------------------------
Column gaps
----------------------------------------
*/

$project-column-gaps: (
  "sm": $theme-column-gap-sm,
  "md": $theme-column-gap-md,
  "lg": $theme-column-gap-lg,
);

/*
----------------------------------------
Grid
----------------------------------------
*/

$grid-global: "";

@if $theme-layout-grid-use-important {
  $grid-global: "!important";
}

/*
----------------------------------------
Aspect Ratios
----------------------------------------
*/

$project-aspect-ratios: (
  "9x16": 177.77778%,
  "16x9": 56.25%,
  "1x1": 100%,
  "4x3": 75%,
  "2x1": 50%,
);

@if $test-system-color-tokens {
  $color-test: test-colors($system-color-shortcodes);
}

/*
----------------------------------------
Easing
----------------------------------------
*/
$project-easing: 0.15s ease-in-out;

/*
----------------------------------------
Project defaults
----------------------------------------
*/

$project-defaults: (
  "bg-color": $theme-body-background-color,
  "preferred-text-token": $theme-text-reverse-color,
  "fallback-text-token": $theme-text-color,
  "preferred-link-token": $theme-link-reverse-color,
  "fallback-link-token": $theme-link-color,
);
