/* GENERATED FILE. Edit source/figma-variables.raw.json or css/src, then rebuild. sha256:a900506f6c90a6d8b0fea6987aa14d90d7595dbfc7210b2f4a63b1fb01c0f8e5 */
@layer theme.tokens {
  :root {
    /* Figma mode: Modern (light). Colors are supplied by a separate palette. */
    --dna-button-gap: 8px; /* dna/button/gap */
    --dna-button-icon-size-base: 38px; /* dna/button/icon-size/base */
    --dna-button-icon-size-lg: 46px; /* dna/button/icon-size/lg */
    --dna-button-icon-size-sm: 34px; /* dna/button/icon-size/sm */
    --dna-button-icon-size-xl: 50px; /* dna/button/icon-size/xl */
    --dna-button-icon-size-xs: 30px; /* dna/button/icon-size/xs */
    --dna-button-padding-x-base: 12px; /* dna/button/padding-x/base */
    --dna-button-padding-x-lg: 20px; /* dna/button/padding-x/lg */
    --dna-button-padding-x-sm: 12px; /* dna/button/padding-x/sm */
    --dna-button-padding-x-xl: 24px; /* dna/button/padding-x/xl */
    --dna-button-padding-x-xs: 12px; /* dna/button/padding-x/xs */
    --dna-button-padding-y-base: 9px; /* dna/button/padding-y/base */
    --dna-button-padding-y-lg: 11px; /* dna/button/padding-y/lg */
    --dna-button-padding-y-sm: 7px; /* dna/button/padding-y/sm */
    --dna-button-padding-y-xl: 13px; /* dna/button/padding-y/xl */
    --dna-button-padding-y-xs: 5px; /* dna/button/padding-y/xs */
    --dna-button-radius: 9999px; /* dna/button/radius */
    --dna-button-text-on-brand: var(--theme-color-primary-button-text); /* dna/button/text-on-brand */
    --dna-card-border-width: 1px; /* dna/card/border-width */
    --dna-card-gap-compact: 8px; /* dna/card/gap/compact */
    --dna-card-gap-default: 16px; /* dna/card/gap/default */
    --dna-card-gap-section: 32px; /* dna/card/gap/section */
    --dna-card-gap-spacious: 24px; /* dna/card/gap/spacious */
    --dna-card-padding-compact: 16px; /* dna/card/padding/compact */
    --dna-card-padding-default: 24px; /* dna/card/padding/default */
    --dna-card-padding-spacious: 32px; /* dna/card/padding/spacious */
    --dna-card-radius: 4px; /* dna/card/radius */
    --dna-control-border-width: 1px; /* dna/control/border-width */
    --dna-control-radius: 8px; /* dna/control/radius */
    --dna-control-surface-radius: 8px; /* dna/control/surface-radius */
    --dna-control-underline-width: 2px; /* dna/control/underline-width */
    --dna-date-cell-radius: 9999px; /* dna/date-cell/radius */
    --dna-date-cell-range-radius: 8px; /* dna/date-cell/range-radius */
    --dna-elevation-button-blur: 0px; /* dna/elevation/button/blur */
    --dna-elevation-button-spread: 0px; /* dna/elevation/button/spread */
    --dna-elevation-button-x: 0px; /* dna/elevation/button/x */
    --dna-elevation-button-y: 0px; /* dna/elevation/button/y */
    --dna-elevation-overlay-layer-1-blur: 24px; /* dna/elevation/overlay/layer-1/blur */
    --dna-elevation-overlay-layer-1-spread: 0px; /* dna/elevation/overlay/layer-1/spread */
    --dna-elevation-overlay-layer-1-x: 0px; /* dna/elevation/overlay/layer-1/x */
    --dna-elevation-overlay-layer-1-y: 8px; /* dna/elevation/overlay/layer-1/y */
    --dna-elevation-overlay-layer-2-blur: 12px; /* dna/elevation/overlay/layer-2/blur */
    --dna-elevation-overlay-layer-2-spread: 0px; /* dna/elevation/overlay/layer-2/spread */
    --dna-elevation-overlay-layer-2-x: 0px; /* dna/elevation/overlay/layer-2/x */
    --dna-elevation-overlay-layer-2-y: 2px; /* dna/elevation/overlay/layer-2/y */
    --dna-elevation-raised-blur: 3px; /* dna/elevation/raised/blur */
    --dna-elevation-raised-spread: 0px; /* dna/elevation/raised/spread */
    --dna-elevation-raised-x: 0px; /* dna/elevation/raised/x */
    --dna-elevation-raised-y: 1px; /* dna/elevation/raised/y */
    --dna-elevation-rest-blur: 0px; /* dna/elevation/rest/blur */
    --dna-elevation-rest-spread: 0px; /* dna/elevation/rest/spread */
    --dna-elevation-rest-x: 0px; /* dna/elevation/rest/x */
    --dna-elevation-rest-y: 0px; /* dna/elevation/rest/y */
    --dna-focus-ring-blur: 0px; /* dna/focus/ring/blur */
    --dna-focus-ring-spread: 3px; /* dna/focus/ring/spread */
    --dna-focus-ring-x: 0px; /* dna/focus/ring/x */
    --dna-focus-ring-y: 0px; /* dna/focus/ring/y */
    --dna-input-gap: 8px; /* dna/input/gap */
    --dna-input-padding-x-base: 12px; /* dna/input/padding-x/base */
    --dna-input-padding-x-lg: 16px; /* dna/input/padding-x/lg */
    --dna-input-padding-x-sm: 12px; /* dna/input/padding-x/sm */
    --dna-input-padding-x-xl: 20px; /* dna/input/padding-x/xl */
    --dna-input-padding-y-base: 10px; /* dna/input/padding-y/base */
    --dna-input-padding-y-lg: 12px; /* dna/input/padding-y/lg */
    --dna-input-padding-y-sm: 8px; /* dna/input/padding-y/sm */
    --dna-input-padding-y-xl: 14px; /* dna/input/padding-y/xl */
    --dna-interaction-active-scale: 0.98; /* dna/interaction/active-scale */
    --dna-interaction-disabled-opacity: 0.5; /* dna/interaction/disabled-opacity */
    --dna-interaction-duration-fast: 160ms; /* dna/interaction/duration-fast */
    --dna-layout-container-max-width: 1200px; /* dna/layout/container-max-width */
    --dna-layout-section-space-lg: 80px; /* dna/layout/section-space/lg */
    --dna-layout-section-space-md: 64px; /* dna/layout/section-space/md */
    --dna-layout-section-space-sm: 48px; /* dna/layout/section-space/sm */
    --dna-layout-section-space-xl: 96px; /* dna/layout/section-space/xl */
    --dna-menu-item-gap: 8px; /* dna/menu/item-gap */
    --dna-menu-item-padding-x: 12px; /* dna/menu/item-padding-x */
    --dna-menu-item-padding-y: 8px; /* dna/menu/item-padding-y */
    --dna-menu-item-radius: 8px; /* dna/menu/item-radius */
    --dna-navigation-item-gap: 8px; /* dna/navigation/item-gap */
    --dna-navigation-item-padding-x: 12px; /* dna/navigation/item-padding-x */
    --dna-navigation-item-padding-y: 6px; /* dna/navigation/item-padding-y */
    --dna-navigation-item-radius: 8px; /* dna/navigation/item-radius */
    --dna-navigation-pill-padding-x: 12px; /* dna/navigation/pill-padding-x */
    --dna-navigation-pill-padding-y: 6px; /* dna/navigation/pill-padding-y */
    --dna-selection-radius: 4px; /* dna/selection/radius */
    --theme-font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; /* typography/font-family/font-base */
    --theme-font-size-2xl: 24px; /* typography/font-size/text-2xl */
    --theme-font-size-3xl: 32px; /* typography/font-size/text-3xl */
    --theme-font-size-4xl: 40px; /* typography/font-size/text-4xl */
    --theme-font-size-5xl: 48px; /* typography/font-size/text-5xl */
    --theme-font-size-6xl: 56px; /* typography/font-size/text-6xl */
    --theme-font-size-7xl: 64px; /* typography/font-size/text-7xl */
    --theme-font-size-8xl: 64px; /* typography/font-size/text-8xl */
    --theme-font-size-9xl: 64px; /* typography/font-size/text-9xl */
    --theme-font-size-base: 16px; /* typography/font-size/text-base */
    --theme-font-size-lg: 18px; /* typography/font-size/text-lg */
    --theme-font-size-sm: 14px; /* typography/font-size/text-sm */
    --theme-font-size-xl: 20px; /* typography/font-size/text-xl */
    --theme-font-size-xs: 12px; /* typography/font-size/text-xs */
    --theme-font-size-xxs: 10px; /* typography/font-size/text-xxs */
    --theme-font-style-italic: italic; /* typography/font-style/font-italic */
    --theme-font-weight-black: 500; /* typography/font-weight/font-black */
    --theme-font-weight-bold: 500; /* typography/font-weight/font-bold */
    --theme-font-weight-extrabold: 500; /* typography/font-weight/font-extrabold */
    --theme-font-weight-extralight: 400; /* typography/font-weight/font-extralight */
    --theme-font-weight-light: 400; /* typography/font-weight/font-light */
    --theme-font-weight-medium: 500; /* typography/font-weight/font-medium */
    --theme-font-weight-normal: 400; /* typography/font-weight/font-normal */
    --theme-font-weight-semibold: 500; /* typography/font-weight/font-semibold */
    --theme-font-weight-thin: 400; /* typography/font-weight/font-thin */
    --theme-letter-spacing-2xl: -0.6px; /* typography/letter-spacing/text-2xl */
    --theme-letter-spacing-3xl: -0.8px; /* typography/letter-spacing/text-3xl */
    --theme-letter-spacing-4xl: -1px; /* typography/letter-spacing/text-4xl */
    --theme-letter-spacing-5xl: -1.2px; /* typography/letter-spacing/text-5xl */
    --theme-letter-spacing-6xl: -1.4px; /* typography/letter-spacing/text-6xl */
    --theme-letter-spacing-7xl: -1.6px; /* typography/letter-spacing/text-7xl */
    --theme-letter-spacing-8xl: -1.6px; /* typography/letter-spacing/text-8xl */
    --theme-letter-spacing-9xl: -1.6px; /* typography/letter-spacing/text-9xl */
    --theme-letter-spacing-base: -0.04px; /* typography/letter-spacing/text-base */
    --theme-letter-spacing-lg: -0.45px; /* typography/letter-spacing/text-lg */
    --theme-letter-spacing-sm: 0px; /* typography/letter-spacing/text-sm */
    --theme-letter-spacing-tight: -0.8px; /* typography/letter-spacing/tracking-tight */
    --theme-letter-spacing-tighter: -1.6px; /* typography/letter-spacing/tracking-tighter */
    --theme-letter-spacing-xl: -0.5px; /* typography/letter-spacing/text-xl */
    --theme-letter-spacing-xs: 0px; /* typography/letter-spacing/text-xs */
    --theme-letter-spacing-xxs: 0px; /* typography/letter-spacing/text-xxs */
    --theme-line-height-2xl: 24px; /* typography/line-height/text-2xl */
    --theme-line-height-3xl: 32px; /* typography/line-height/text-3xl */
    --theme-line-height-4: 16px; /* typography/line-height/leading-4 */
    --theme-line-height-4xl: 40px; /* typography/line-height/text-4xl */
    --theme-line-height-5: 20px; /* typography/line-height/leading-5 */
    --theme-line-height-5xl: 48px; /* typography/line-height/text-5xl */
    --theme-line-height-6: 20px; /* typography/line-height/leading-6 */
    --theme-line-height-6xl: 56px; /* typography/line-height/text-6xl */
    --theme-line-height-7: 24px; /* typography/line-height/leading-7 */
    --theme-line-height-7xl: 64px; /* typography/line-height/text-7xl */
    --theme-line-height-8: 24px; /* typography/line-height/leading-8 */
    --theme-line-height-8xl: 64px; /* typography/line-height/text-8xl */
    --theme-line-height-9: 32px; /* typography/line-height/leading-9 */
    --theme-line-height-9xl: 64px; /* typography/line-height/text-9xl */
    --theme-line-height-base: 20px; /* typography/line-height/text-base */
    --theme-line-height-heading: 64px; /* typography/line-height/leading-heading(none) */
    --theme-line-height-lg: 22px; /* typography/line-height/text-lg */
    --theme-line-height-none: 1; /* typography/line-height/leading-none */
    --theme-line-height-sm: 20px; /* typography/line-height/text-sm */
    --theme-line-height-xl: 24px; /* typography/line-height/text-xl */
    --theme-line-height-xs: 16px; /* typography/line-height/text-xs */
    --theme-line-height-xxs: 14px; /* typography/line-height/text-xxs */
  }
}

/* source: css/src/00-tokens.css */

/*
 * Derived UI aliases only.
 *
 * The generated theme block is the sole owner of public --dna-* and
 * --theme-* declarations. This layer consumes those values without providing
 * fallbacks, so a missing compiler or palette input fails visibly.
 */

:root,
.theme-ui-kit,
.panel-theme {
  /* Internal geometry and behavior aliases. */
  --ui-font-heading: var(--theme-font-body);
  --ui-space-2xs: calc(var(--dna-button-gap) / 2);
  --ui-space-xs: var(--dna-button-gap);
  --ui-space-sm: var(--dna-input-gap);
  --ui-space-md: var(--dna-navigation-pill-padding-x);
  --ui-space-lg: var(--dna-card-padding-compact);
  --ui-space-xl: var(--dna-card-padding-default);
  --ui-space-2xl: var(--dna-card-gap-section);
  --ui-space-none: 0px;
  --ui-border-none: 0px;
  --ui-size-auto: auto;
  --ui-radius-none: 0px;
  --ui-radius-round: 9999px;
  --ui-control-height-xs: var(--dna-button-icon-size-xs);
  --ui-control-height-sm: var(--dna-button-icon-size-sm);
  --ui-control-height-base: var(--dna-button-icon-size-base);
  --ui-control-height-lg: var(--dna-button-icon-size-lg);
  --ui-control-height-xl: var(--dna-button-icon-size-xl);
  --ui-selection-size: var(--theme-font-size-xl);
  --ui-toggle-inline-size: calc(var(--ui-selection-size) * 2.2);
  --ui-toggle-block-size: calc(var(--ui-selection-size) * 1.2);
  --ui-toggle-inset: calc(var(--ui-selection-size) / 10);
  --ui-toggle-travel: var(--theme-font-size-xl);
  --ui-card-min-inline-size: 16rem;
  --ui-dropdown-min-inline-size: 14rem;
  --ui-modal-inline-size: 32rem;
  --ui-modal-max-block-size: 90vh;
  --ui-textarea-min-block-size: 7.5rem;
  --ui-table-row-block-size: 3.5rem;
  --ui-progress-block-size: var(--dna-button-gap);
  --ui-rating-icon-size: var(--theme-font-size-xl);
  --ui-transition-easing: ease-out;
  --ui-transition: var(--dna-interaction-duration-fast) var(--ui-transition-easing);
  --ui-shadow-none: 0 0 0 0 var(--dna-elevation-rest-color);

  /* Client palette aliases. Concrete values remain external. */
  --ui-color-canvas: var(--theme-color-primary-bg);
  --ui-color-surface: var(--theme-color-primary-bg);
  --ui-color-surface-subtle: var(--theme-color-secondary-bg);
  --ui-color-border: var(--theme-color-divider);
  --ui-color-title: var(--theme-color-title);
  --ui-color-text: var(--theme-color-primary-text);
  --ui-color-text-muted: var(--theme-color-secondary-text);
  --ui-color-subtitle: var(--theme-color-subtitle);
  --ui-color-action: var(--theme-color-link);
  --ui-color-primary-fill: var(--theme-color-primary-button-fill);
  --ui-color-primary-border: var(--theme-color-primary-button-border);
  --ui-color-primary-text: var(--theme-color-primary-button-text);
  --ui-color-primary-hover-fill: var(--theme-color-primary-button-hover-fill);
  --ui-color-primary-hover-border: var(--theme-color-primary-button-hover-border);
  --ui-color-primary-hover-text: var(--theme-color-primary-button-hover-text);
  --ui-color-secondary-fill: var(--theme-color-secondary-button-fill);
  --ui-color-secondary-border: var(--theme-color-secondary-button-border);
  --ui-color-secondary-text: var(--theme-color-secondary-button-text);
  --ui-color-secondary-hover-fill: var(--theme-color-secondary-button-hover-fill);
  --ui-color-secondary-hover-border: var(--theme-color-secondary-button-hover-border);
  --ui-color-secondary-hover-text: var(--theme-color-secondary-button-hover-text);
  --ui-color-overlay: var(--dna-elevation-overlay-layer-1-color);

  /* Status roles are external palette inputs shared with the showcase. */
  --ui-color-status-success-surface: var(--theme-color-status-success-surface);
  --ui-color-status-success-border: var(--theme-color-status-success-border);
  --ui-color-status-success-text: var(--theme-color-status-success-text);
  --ui-color-status-warning-surface: var(--theme-color-status-warning-surface);
  --ui-color-status-warning-border: var(--theme-color-status-warning-border);
  --ui-color-status-warning-text: var(--theme-color-status-warning-text);
  --ui-color-status-danger-surface: var(--theme-color-status-danger-surface);
  --ui-color-status-danger-border: var(--theme-color-status-danger-border);
  --ui-color-status-danger-text: var(--theme-color-status-danger-text);
  --ui-color-status-info-surface: var(--theme-color-status-info-surface);
  --ui-color-status-info-border: var(--theme-color-status-info-border);
  --ui-color-status-info-text: var(--theme-color-status-info-text);

  /* Composite effects keep generated geometry and external colors swappable. */
  --ui-shadow-rest: var(--dna-elevation-rest-x) var(--dna-elevation-rest-y)
    var(--dna-elevation-rest-blur) var(--dna-elevation-rest-spread)
    var(--dna-elevation-rest-color);
  --ui-shadow-button: var(--dna-elevation-button-x) var(--dna-elevation-button-y)
    var(--dna-elevation-button-blur) var(--dna-elevation-button-spread)
    var(--dna-elevation-button-color);
  --ui-shadow-raised: var(--dna-elevation-raised-x) var(--dna-elevation-raised-y)
    var(--dna-elevation-raised-blur) var(--dna-elevation-raised-spread)
    var(--dna-elevation-raised-color);
  --ui-shadow-overlay: var(--dna-elevation-overlay-layer-1-x)
      var(--dna-elevation-overlay-layer-1-y)
      var(--dna-elevation-overlay-layer-1-blur)
      var(--dna-elevation-overlay-layer-1-spread)
      var(--dna-elevation-overlay-layer-1-color),
    var(--dna-elevation-overlay-layer-2-x)
      var(--dna-elevation-overlay-layer-2-y)
      var(--dna-elevation-overlay-layer-2-blur)
      var(--dna-elevation-overlay-layer-2-spread)
      var(--dna-elevation-overlay-layer-2-color);
  --ui-focus-brand-ring: var(--dna-focus-ring-x) var(--dna-focus-ring-y)
    var(--dna-focus-ring-blur) var(--dna-focus-ring-spread)
    var(--dna-focus-brand-color);
  --ui-focus-neutral-ring: var(--dna-focus-ring-x) var(--dna-focus-ring-y)
    var(--dna-focus-ring-blur) var(--dna-focus-ring-spread)
    var(--dna-focus-neutral-color);
  --ui-focus-input-ring: var(--dna-focus-ring-x) var(--dna-focus-ring-y)
    var(--dna-focus-ring-blur) var(--dna-focus-ring-spread)
    var(--dna-focus-input-color);
}