/*
 * @generated by `astryx theme build` — do not edit manually.
 * Source: src/matchaTheme.ts
 * Command: astryx theme build src/matchaTheme.ts --out dist/theme.css
 * CLI: @astryxdesign/cli@0.7.13
 * Core: @astryxdesign/core@0.7.13
 */

@layer reset, astryx-base, astryx-theme;

@layer reset {
@scope ([data-astryx-theme="matcha"]) to ([data-astryx-theme]) {
  :where(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-family-heading);
    color: var(--color-text-primary);
  }

  :where(h1) {
    font-size: var(--text-heading-1-size);
    font-weight: var(--text-heading-1-weight);
    line-height: var(--text-heading-1-leading);
  }

  :where(h2) {
    font-size: var(--text-heading-2-size);
    font-weight: var(--text-heading-2-weight);
    line-height: var(--text-heading-2-leading);
  }

  :where(h3) {
    font-size: var(--text-heading-3-size);
    font-weight: var(--text-heading-3-weight);
    line-height: var(--text-heading-3-leading);
  }

  :where(h4) {
    font-size: var(--text-heading-4-size);
    font-weight: var(--text-heading-4-weight);
    line-height: var(--text-heading-4-leading);
  }

  :where(h5) {
    font-size: var(--text-heading-5-size);
    font-weight: var(--text-heading-5-weight);
    line-height: var(--text-heading-5-leading);
  }

  :where(h6) {
    font-size: var(--text-heading-6-size);
    font-weight: var(--text-heading-6-weight);
    line-height: var(--text-heading-6-leading);
  }

  :where(p) {
    font-family: var(--font-family-body);
    font-size: var(--text-body-size);
    font-weight: var(--text-body-weight);
    line-height: var(--text-body-leading);
    color: var(--color-text-primary);
  }

  :where(small) {
    font-size: var(--text-supporting-size);
    font-weight: var(--text-supporting-weight);
    line-height: var(--text-supporting-leading);
    color: var(--color-text-secondary);
  }

  :where(code, pre) {
    font-family: var(--font-family-code);
    font-size: var(--text-code-size);
    line-height: var(--text-code-leading);
  }

  :where(hr) {
    border: none;
    border-top: 1px solid var(--color-border);
  }
}
}

@layer astryx-theme {
  :root { color-scheme: light dark; }
  html[data-theme="light"] { color-scheme: light; }
  html[data-theme="dark"] { color-scheme: dark; }

@scope ([data-astryx-theme="matcha"]) to ([data-astryx-theme]) {
  :scope {
    --_scaled-font-size-4xs: min(calc(0.3125rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-3xs));
    --font-size-4xs: var(--_scaled-font-size-4xs);
    --_scaled-font-size-3xs: min(calc(0.4375rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-2xs));
    --font-size-3xs: var(--_scaled-font-size-3xs);
    --_scaled-font-size-2xs: min(calc(0.5rem * var(--_dynamic-type-caption2, 1)), var(--_scaled-font-size-xs));
    --font-size-2xs: var(--_scaled-font-size-2xs);
    --_scaled-font-size-xs: min(calc(0.625rem * var(--_dynamic-type-caption1, 1)), var(--_scaled-font-size-sm));
    --font-size-xs: var(--_scaled-font-size-xs);
    --_scaled-font-size-sm: min(calc(0.8125rem * var(--_dynamic-type-footnote, 1)), var(--_scaled-font-size-base));
    --font-size-sm: var(--_scaled-font-size-sm);
    --_scaled-font-size-base: min(calc(1rem * var(--_dynamic-type-body, 1)), var(--_scaled-font-size-lg));
    --font-size-base: var(--_scaled-font-size-base);
    --_scaled-font-size-lg: min(calc(1.25rem * var(--_dynamic-type-title3, 1)), var(--_scaled-font-size-xl));
    --font-size-lg: var(--_scaled-font-size-lg);
    --_scaled-font-size-xl: min(calc(1.5625rem * var(--_dynamic-type-title2, 1)), var(--_scaled-font-size-2xl));
    --font-size-xl: var(--_scaled-font-size-xl);
    --_scaled-font-size-2xl: min(calc(1.9375rem * var(--_dynamic-type-title1, 1)), var(--_scaled-font-size-3xl));
    --font-size-2xl: var(--_scaled-font-size-2xl);
    --_scaled-font-size-3xl: min(calc(2.4375rem * var(--_dynamic-type-title1, 1)), var(--_scaled-font-size-4xl));
    --font-size-3xl: var(--_scaled-font-size-3xl);
    --_scaled-font-size-4xl: min(calc(3.0625rem * var(--_dynamic-type-large-title, 1)), var(--_scaled-font-size-5xl));
    --font-size-4xl: var(--_scaled-font-size-4xl);
    --_scaled-font-size-5xl: calc(3.8125rem * var(--_dynamic-type-large-title, 1));
    --font-size-5xl: var(--_scaled-font-size-5xl);
    --text-heading-1-size: var(--font-size-2xl);
    --text-heading-1-weight: var(--font-weight-semibold);
    --text-heading-1-leading: 1.4194;
    --text-heading-2-size: var(--font-size-xl);
    --text-heading-2-weight: var(--font-weight-semibold);
    --text-heading-2-leading: 1.44;
    --text-heading-3-size: var(--font-size-lg);
    --text-heading-3-weight: var(--font-weight-semibold);
    --text-heading-3-leading: 1.4;
    --text-heading-4-size: var(--font-size-base);
    --text-heading-4-weight: var(--font-weight-semibold);
    --text-heading-4-leading: 1.5;
    --text-heading-5-size: var(--font-size-sm);
    --text-heading-5-weight: var(--font-weight-semibold);
    --text-heading-5-leading: 1.5385;
    --text-heading-6-size: var(--font-size-xs);
    --text-heading-6-weight: var(--font-weight-semibold);
    --text-heading-6-leading: 1.6;
    --text-body-size: var(--font-size-base);
    --text-body-weight: var(--font-weight-normal);
    --text-body-leading: 1.5;
    --text-large-size: var(--font-size-lg);
    --text-large-weight: var(--font-weight-semibold);
    --text-large-leading: 1.4;
    --text-label-size: var(--font-size-base);
    --text-label-weight: var(--font-weight-medium);
    --text-label-leading: 1.5;
    --text-code-size: var(--font-size-base);
    --text-code-weight: var(--font-weight-normal);
    --text-code-leading: 1.5;
    --text-supporting-size: var(--font-size-sm);
    --text-supporting-weight: var(--font-weight-normal);
    --text-supporting-leading: 1.5385;
    --text-display-1-size: var(--font-size-5xl);
    --text-display-1-weight: var(--font-weight-normal);
    --text-display-1-leading: 1.2459;
    --text-display-2-size: var(--font-size-4xl);
    --text-display-2-weight: var(--font-weight-normal);
    --text-display-2-leading: 1.2245;
    --text-display-3-size: var(--font-size-3xl);
    --text-display-3-weight: var(--font-weight-normal);
    --text-display-3-leading: 1.2308;
    --duration-fast-min: 95ms;
    --duration-fast: 125ms;
    --duration-fast-max: 165ms;
    --duration-medium-min: 225ms;
    --duration-medium: 300ms;
    --duration-medium-max: 400ms;
    --duration-slow-min: 525ms;
    --duration-slow: 700ms;
    --duration-slow-max: 935ms;
    --_astryx-pre-tempo-duration-fast-min: 95ms;
    --_astryx-pre-tempo-duration-fast: 125ms;
    --_astryx-pre-tempo-duration-fast-max: 165ms;
    --_astryx-pre-tempo-duration-medium-min: 225ms;
    --_astryx-pre-tempo-duration-medium: 300ms;
    --_astryx-pre-tempo-duration-medium-max: 400ms;
    --_astryx-pre-tempo-duration-slow-min: 525ms;
    --_astryx-pre-tempo-duration-slow: 700ms;
    --_astryx-pre-tempo-duration-slow-max: 935ms;
    --_astryx-motion-tempo: 1;
    --font-family-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-family-heading: "Playwrite US Trad", Georgia, "Times New Roman", Times, serif;
    --font-family-code: "JetBrains Mono", "SF Mono", Monaco, Consolas, monospace;
    --color-syntax-keyword: light-dark(#5a6b2a, #a8bf6a);
    --color-syntax-string: light-dark(#2e6b5a, #6ccaaa);
    --color-syntax-comment: light-dark(#707e46, #707e46);
    --color-syntax-number: light-dark(#836700, #e0b318);
    --color-syntax-function: light-dark(#3a5e8c, #7ba8d4);
    --color-syntax-type: light-dark(#6b4a8c, #b08ed4);
    --color-syntax-variable: light-dark(#3e481d, #c0cba9);
    --color-syntax-operator: light-dark(#707e46, #94a468);
    --color-syntax-constant: light-dark(#836700, #e0b318);
    --color-syntax-tag: light-dark(#8c3a3a, #d47a7a);
    --color-syntax-attribute: light-dark(#7c5e3a, #d1a500);
    --color-syntax-property: light-dark(#3a7c6b, #6ccaaa);
    --color-syntax-punctuation: light-dark(#5a6b2a, #92af6a);
    --color-syntax-background: light-dark(#f0f0e0, #1a1c14);
    --color-syntax-added: color-mix(in srgb, var(--color-success-muted) 25%, transparent);
    --color-syntax-removed: color-mix(in srgb, var(--color-error-muted) 25%, transparent);
    --color-syntax-diff-header: transparent;
    --color-syntax-added-marker: var(--color-syntax-punctuation);
    --color-syntax-removed-marker: var(--color-syntax-punctuation);
    --color-accent: light-dark(#3e481d, #c0cba9);
    --color-accent-muted: light-dark(#3e481d14, #c0cba920);
    --color-neutral: light-dark(#3e481d0f, #c0cba91a);
    --color-background-surface: light-dark(#ffffff, #1a1c14);
    --color-background-body: light-dark(#f0f0e0, #12140e);
    --color-overlay: light-dark(#3e481d80, #3e481dcc);
    --color-overlay-hover: light-dark(#3e481d0d, #c0cba90d);
    --color-overlay-pressed: light-dark(#3e481d1a, #c0cba91a);
    --color-background-muted: light-dark(#f0f0e0, #3e481d);
    --color-text-primary: light-dark(#3e481d, #c0cba9);
    --color-text-secondary: light-dark(#5a6b2a, #94a468);
    --color-text-disabled: light-dark(#c0cba9, #5a6440);
    --color-text-accent: light-dark(#3e481d, #c0cba9);
    --color-on-dark: #ffffff;
    --color-on-light: #3e481d;
    --color-on-accent: light-dark(#ffffff, #3e481d);
    --color-on-success: #12140e;
    --color-on-error: #12140e;
    --color-on-warning: light-dark(#3e481d, #3e481d);
    --color-info: light-dark(#3a5e8c, #a7c9e3);
    --color-info-muted: var(--color-background-blue);
    --color-text-info: light-dark(#2e4a6e, #8dbce0);
    --color-text-success: light-dark(#3d7a00, #80d43a);
    --color-text-warning: light-dark(#836700, #ffe08b);
    --color-text-error: light-dark(#cc0000, #ff7a7a);
    --color-on-info-muted: light-dark(#2e4a6e, #8dbce0);
    --color-on-success-muted: light-dark(#3d7a00, #80d43a);
    --color-on-warning-muted: light-dark(#836700, #ffe08b);
    --color-on-error-muted: light-dark(#cc0000, #ff7a7a);
    --color-icon-accent: light-dark(#3e481d, #c0cba9);
    --color-icon-primary: light-dark(#3e481d, #c0cba9);
    --color-icon-secondary: light-dark(#707e46, #94a468);
    --color-icon-disabled: light-dark(#c0cba9, #5a6440);
    --color-background-card: light-dark(#ffffff, #1e2016);
    --color-background-popover: light-dark(#ffffff, #3e481d);
    --color-background-inverted: light-dark(#3e481d, #c0cba9);
    --color-success: light-dark(#4d9900, #6dbf2a);
    --color-success-muted: light-dark(#4d990020, #6dbf2a20);
    --color-error: light-dark(#fd0000, #ff5c5c);
    --color-error-muted: light-dark(#fd000020, #ff5c5c20);
    --color-warning: light-dark(#f2c000, #f6d066);
    --color-warning-muted: light-dark(#f2c00020, #f6d06620);
    --color-border: light-dark(#dce3ce, #c0cba91a);
    --color-border-emphasized: light-dark(#b7c29e, #5a6440);
    --color-skeleton: light-dark(#c0cba9, #5a6440);
    --color-shadow: light-dark(#3e481d1a, #0000004d);
    --color-tint-hover: light-dark(#000000, #ffffff);
    --color-background-blue: light-dark(#3a5e8c33, #3a5e8c33);
    --color-border-blue: light-dark(#3a5e8c, #7ba8d4);
    --color-icon-blue: light-dark(#3a5e8c, #7ba8d4);
    --color-text-blue: light-dark(#2e4a6e, #8dbce0);
    --color-background-cyan: light-dark(#3a7c7c33, #3a7c7c33);
    --color-border-cyan: light-dark(#3a7c7c, #70c4c4);
    --color-icon-cyan: light-dark(#3a7c7c, #70c4c4);
    --color-text-cyan: light-dark(#2e6060, #82d4d4);
    --color-background-gray: light-dark(#707e4633, #5a644033);
    --color-border-gray: light-dark(#707e46, #707e46);
    --color-icon-gray: light-dark(#707e46, #94a468);
    --color-text-gray: light-dark(#3e481d, #c0cba9);
    --color-background-green: light-dark(#4d990033, #6dbf2a33);
    --color-border-green: light-dark(#4d9900, #6dbf2a);
    --color-icon-green: light-dark(#4d9900, #6dbf2a);
    --color-text-green: light-dark(#3d7a00, #80d43a);
    --color-background-orange: light-dark(#c4762033, #d4903a33);
    --color-border-orange: light-dark(#c47620, #d4903a);
    --color-icon-orange: light-dark(#c47620, #d4903a);
    --color-text-orange: light-dark(#a06018, #e0a04a);
    --color-background-pink: light-dark(#c44a7033, #e07a9a33);
    --color-border-pink: light-dark(#c44a70, #e07a9a);
    --color-icon-pink: light-dark(#c44a70, #e07a9a);
    --color-text-pink: light-dark(#a03a5a, #f08aaa);
    --color-background-purple: light-dark(#6b4a8c33, #b08ed433);
    --color-border-purple: light-dark(#6b4a8c, #b08ed4);
    --color-icon-purple: light-dark(#6b4a8c, #b08ed4);
    --color-text-purple: light-dark(#553a70, #c0a0e0);
    --color-background-red: light-dark(#fd000033, #ff5c5c33);
    --color-border-red: light-dark(#fd0000, #ff5c5c);
    --color-icon-red: light-dark(#fd0000, #ff5c5c);
    --color-text-red: light-dark(#cc0000, #ff7a7a);
    --color-background-teal: light-dark(#2e6b5a33, #5ab89833);
    --color-border-teal: light-dark(#2e6b5a, #5ab898);
    --color-icon-teal: light-dark(#2e6b5a, #5ab898);
    --color-text-teal: light-dark(#245546, #6ccaaa);
    --color-background-yellow: light-dark(#f2c00033, #f6d06633);
    --color-border-yellow: light-dark(#f2c000, #f6d066);
    --color-icon-yellow: light-dark(#f2c000, #f6d066);
    --color-text-yellow: light-dark(#c19800, #ffe08b);
    --spacing-0-5: 0.1875rem;
    --spacing-1: 0.375rem;
    --spacing-1-5: 0.5625rem;
    --spacing-2: 0.75rem;
    --spacing-3: 1.125rem;
    --spacing-4: 1.5rem;
    --spacing-5: 1.875rem;
    --spacing-6: 2.25rem;
    --spacing-7: 2.625rem;
    --spacing-8: 3rem;
    --spacing-9: 3.375rem;
    --spacing-10: 3.75rem;
    --spacing-11: 4.125rem;
    --spacing-12: 4.5rem;
    --radius-inner: 6px;
    --radius-element: 12px;
    --radius-container: 18px;
    --radius-page: 42px;
    --size-element-sm: 36px;
    --size-element-md: 40px;
    --size-element-lg: 44px;
    --shadow-low: 0 2px 4px #3e481d0d, 0 4px 8px #3e481d1a;
    --shadow-med: 0 2px 4px #3e481d0d, 0 4px 12px #3e481d1a;
    --shadow-high: 0 4px 6px #3e481d1a, 0 12px 24px #3e481d26;
    --shadow-inset-hover: inset 0px 0px 0px 2px #3e481d30;
    --shadow-inset-selected: inset 0px 0px 0px 2px #3e481d50;
    --shadow-inset-success: inset 0px 0px 0px 2px #4d990050;
    --shadow-inset-warning: inset 0px 0px 0px 2px #f2c00050;
    --shadow-inset-error: inset 0px 0px 0px 2px #fd000050;
    --color-on-info: light-dark(#FFFFFF, #3E481D);
    --color-icon-info: var(--color-text-info);
    --color-icon-success: var(--color-text-success);
    --color-icon-warning: var(--color-text-warning);
    --color-icon-error: var(--color-text-error);
    --color-border-info: var(--color-text-info);
    --color-border-success: var(--color-text-success);
    --color-border-warning: var(--color-text-warning);
    --color-border-error: var(--color-text-error);
    --duration-exit: var(--duration-fast);
  }

  :scope {
    font-family: var(--font-family-body);
  }

  .astryx-heading[data-level="1"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-heading-1-size);
    font-weight: var(--text-heading-1-weight);
    line-height: var(--text-heading-1-leading);
  }

  .astryx-heading[data-level="2"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-heading-2-size);
    font-weight: var(--text-heading-2-weight);
    line-height: var(--text-heading-2-leading);
  }

  .astryx-heading[data-level="3"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-heading-3-size);
    font-weight: var(--text-heading-3-weight);
    line-height: var(--text-heading-3-leading);
  }

  .astryx-heading[data-level="4"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-heading-4-size);
    font-weight: var(--text-heading-4-weight);
    line-height: var(--text-heading-4-leading);
  }

  .astryx-heading[data-level="5"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-heading-5-size);
    font-weight: var(--text-heading-5-weight);
    line-height: var(--text-heading-5-leading);
  }

  .astryx-heading[data-level="6"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-heading-6-size);
    font-weight: var(--text-heading-6-weight);
    line-height: var(--text-heading-6-leading);
  }

  .astryx-heading[data-type="display-1"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-display-1-size);
    line-height: var(--text-display-1-leading);
  }

  .astryx-heading[data-type="display-2"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-display-2-size);
    line-height: var(--text-display-2-leading);
  }

  .astryx-heading[data-type="display-3"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-display-3-size);
    line-height: var(--text-display-3-leading);
  }

  .astryx-text[data-type="body"] {
    font-family: var(--font-family-body);
    font-size: var(--text-body-size);
    line-height: var(--text-body-leading);
  }

  .astryx-text[data-type="large"] {
    font-family: var(--font-family-body);
    font-size: var(--text-large-size);
    line-height: var(--text-large-leading);
  }

  .astryx-text[data-type="label"] {
    font-family: var(--font-family-body);
    font-size: var(--text-label-size);
    line-height: var(--text-label-leading);
  }

  .astryx-text[data-type="code"] {
    font-family: var(--font-family-code);
    font-size: var(--text-code-size);
    line-height: var(--text-code-leading);
  }

  .astryx-text[data-type="supporting"] {
    font-family: var(--font-family-body);
    font-size: var(--text-supporting-size);
    line-height: var(--text-supporting-leading);
  }

  .astryx-text[data-type="display-1"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-display-1-size);
    line-height: var(--text-display-1-leading);
  }

  .astryx-text[data-type="display-2"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-display-2-size);
    line-height: var(--text-display-2-leading);
  }

  .astryx-text[data-type="display-3"] {
    font-family: var(--font-family-heading);
    font-size: var(--text-display-3-size);
    line-height: var(--text-display-3-leading);
  }

  .astryx-button {
    border-radius: var(--radius-full);
    --_button-radius: var(--radius-full);
  }

  .astryx-card {
    border-radius: var(--radius-page);
    --astryx-card-padding: var(--spacing-3);
    --_card-radius: var(--radius-page);
  }

  .astryx-section {
    --astryx-section-padding: var(--spacing-3);
  }

  .astryx-text[data-color="primary"] { color: var(--color-text-primary); }

  .astryx-heading[data-color="primary"] { color: var(--color-text-primary); }

  .astryx-text[data-color="secondary"] { color: var(--color-text-secondary); }

  .astryx-heading[data-color="secondary"] { color: var(--color-text-secondary); }

  .astryx-text[data-color="disabled"] { color: var(--color-text-disabled); }

  .astryx-heading[data-color="disabled"] { color: var(--color-text-disabled); }

  .astryx-text[data-color="placeholder"] { color: var(--color-text-secondary); }

  .astryx-heading[data-color="placeholder"] { color: var(--color-text-secondary); }

  .astryx-text[data-color="accent"] { color: var(--color-text-accent); }

  .astryx-heading[data-color="accent"] { color: var(--color-text-accent); }

  .astryx-text[data-color="inherit"] { color: inherit; }

  .astryx-heading[data-color="inherit"] { color: inherit; }

  .astryx-text[data-size="4xs"] { font-size: var(--font-size-4xs); }

  .astryx-text[data-size="3xs"] { font-size: var(--font-size-3xs); }

  .astryx-text[data-size="2xs"] { font-size: var(--font-size-2xs); }

  .astryx-text[data-size="xsm"] { font-size: var(--font-size-xs); }

  .astryx-text[data-size="sm"] { font-size: var(--font-size-sm); }

  .astryx-text[data-size="base"] { font-size: var(--font-size-base); }

  .astryx-text[data-size="lg"] { font-size: var(--font-size-lg); }

  .astryx-text[data-size="xl"] { font-size: var(--font-size-xl); }

  .astryx-text[data-size="2xl"] { font-size: var(--font-size-2xl); }

  .astryx-text[data-size="3xl"] { font-size: var(--font-size-3xl); }

  .astryx-text[data-size="4xl"] { font-size: var(--font-size-4xl); }

  .astryx-heading[data-weight="normal"] { font-weight: var(--font-weight-normal); }

  .astryx-heading[data-weight="medium"] { font-weight: var(--font-weight-medium); }

  .astryx-heading[data-weight="semibold"] { font-weight: var(--font-weight-semibold); }

  .astryx-heading[data-weight="bold"] { font-weight: var(--font-weight-bold); }
}
}

@layer astryx-theme {
@scope ([data-astryx-theme="matcha"]) to ([data-astryx-theme]) {
  [data-astryx-media="dark"] {
    color-scheme: dark;
    --color-text-primary: var(--color-on-dark);
    --color-icon-primary: var(--color-on-dark);
    --color-accent: var(--color-on-dark);
  }

  [data-astryx-media="light"] {
    color-scheme: light;
    --color-text-primary: var(--color-on-light);
    --color-icon-primary: var(--color-on-light);
    --color-accent: var(--color-on-light);
  }
}
}
