// Default: Light theme
[data-theme="light"],
:root:not([data-theme="dark"]) {
  // Document
  color-scheme: light;
  --background-color: #{$white};

  // Texts colors
  --color: #{$grey-700};
  --h1-color: #{saturate($grey-900, 50%)};
  --h2-color: #{saturate($grey-800, 40%)};
  --h3-color: #{saturate($grey-700, 30%)};
  --h4-color: #{saturate($grey-600, 20%)};
  --h5-color: #{saturate($grey-500, 10%)};
  --h6-color: #{saturate($grey-400, 0%)};

  // Muted colors
  --muted-color: #{$grey-500};
  --muted-border-color: #{$grey-50};

  // Primary colors
  --primary: #{$primary-600};
  --primary-hover: #{$primary-700};
  --primary-focus: #{rgba($primary-600, 0.125)};
  --primary-inverse: #{$white};

  // Secondary colors
  --secondary: #{$grey-600};
  --secondary-hover: #{$grey-700};
  --secondary-focus: #{rgba($grey-600, 0.125)};
  --secondary-inverse: #{$white};

  // Contrast colors
  --contrast: #{$grey-900};
  --contrast-hover: #{$black};
  --contrast-focus: #{rgba($grey-600, 0.125)};
  --contrast-inverse: #{$white};

  // Highlighted text (<mark>)
  --mark-background-color: #{mix($amber-100, $amber-50)};
  --mark-color: #{mix($grey-900, $amber-900, 75%)};

  // Inserted (<ins>) & Deleted (<ins>)
  --ins-color: #{$green-700};
  --del-color: #{$red-800};

  // Blockquote
  --blockquote-border-color: var(--muted-border-color);
  --blockquote-footer-color: var(--muted-color);

  // Button
  // To disable box-shadow, remove the var or set to '0 0 0 rgba(0, 0, 0, 0)'
  // Don't use, 'none, 'false, 'null', '0', etc.
  --button-box-shadow: 0 0.0625rem 0.1875rem #{rgba($grey-900, 0.1)},
    0 0.0625rem 0.125rem #{rgba($grey-900, 0.1)};
  --button-hover-box-shadow: 0 0.1875rem 0.375rem #{rgba($grey-900, 0.05)},
    0 0.1875rem 0.375rem #{rgba($grey-900, 0.1)};

  // Form elements
  --form-element-background-color: #{mix($grey-50, $grey-100, 25%)};
  --form-element-border-color: #{mix($grey-50, $grey-100, 25%)};
  --form-element-color: var(--color);
  --form-element-placeholder-color: var(--muted-color);
  --form-element-active-background-color: var(--form-element-background-color);
  --form-element-active-border-color: var(--primary);
  --form-element-focus-color: var(--primary-focus);
  --form-element-disabled-background-color: #{$grey-100};
  --form-element-disabled-border-color: transparent;
  --form-element-invalid-border-color: transparent;
  --form-element-invalid-active-border-color: transparent;
  --form-element-valid-border-color: transparent;
  --form-element-valid-active-border-color: transparent;

  // Switch (input[type="checkbox"][role="switch"])
  --switch-background-color: #{$grey-200};
  --switch-color: var(--primary-inverse);
  --switch-checked-background-color: var(--primary);

  // Range (input[type="range"])
  --range-border-color: #{$grey-100};
  --range-active-border-color: #{$grey-200};
  --range-thumb-border-color: var(--background-color);
  --range-thumb-color: var(--secondary);
  --range-thumb-hover-color: var(--secondary-hover);
  --range-thumb-active-color: var(--primary);

  // Table
  --table-border-color: var(--muted-border-color);
  --table-row-stripped-background-color: #{mix($grey-50, $white)};

  // Code
  --code-background-color: #{$grey-50};
  --code-color: var(--muted-color);
  --code-kbd-background-color: var(--contrast);
  --code-kbd-color: var(--contrast-inverse);
  --code-tag-color: #{hsl(330, 40%, 50%)};
  --code-property-color: #{hsl(185, 40%, 40%)};
  --code-value-color: #{hsl(40, 20%, 50%)};
  --code-comment-color: #{$grey-300};

  // Accordion (<details>)
  --accordion-border-color: var(--muted-border-color);
  --accordion-close-summary-color: var(--color);
  --accordion-open-summary-color: var(--muted-color);

  // Card (<article>)
  --card-background-color: var(--background-color);
  --card-border-color: var(--muted-border-color);
  --card-box-shadow: 0 0.125rem 1rem #{rgba($grey-900, 0.04)},
    0 0.125rem 2rem #{rgba($grey-900, 0.08)},
    0 0 0 0.0625rem #{rgba($grey-900, 0.024)};
  --card-sectionning-background-color: #{mix($grey-50, $white, 25%)};

  // Progress
  --progress-background-color: #{$grey-100};
  --progress-color: var(--primary);

  // Tooltip ([data-tooltip])
  --tooltip-background-color: var(--contrast);
  --tooltip-color: var(--contrast-inverse);

  // Icons
  --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($grey-700, .999)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($grey-700, .999)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
  --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($grey-700, .999)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($grey-700, .999)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($green-700, .999)}' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{rgba($red-800, .999)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
