/* Generated by tools/build.cjs from tokens.json. Do not hand-edit. No production enqueue. */
/* Scoped V1 foundations only. No production activation, feature ownership or component library. */
[data-fiesta-ui="v1"] {
  box-sizing: border-box;
  color-scheme: light;
  background: var(--fiesta-surface-page);
  color: var(--fiesta-text-primary);
  font: var(--fiesta-weight-regular) var(--fiesta-type-body-size)/var(--fiesta-line-body) var(--fiesta-font-interface);
  overflow-wrap: anywhere;
}
[data-fiesta-ui="v1"] *,
[data-fiesta-ui="v1"]::before,
[data-fiesta-ui="v1"]::after,
[data-fiesta-ui="v1"] *::before,
[data-fiesta-ui="v1"] *::after { box-sizing: inherit; }
[data-fiesta-ui="v1"] :where(h1, h2, h3, h4, h5, h6) {
  margin: 0 0 var(--fiesta-space-4);
  font-family: var(--fiesta-font-display);
  font-weight: var(--fiesta-weight-bold);
  line-height: var(--fiesta-line-heading);
  letter-spacing: var(--fiesta-tracking-heading);
}
[data-fiesta-ui="v1"] :where(h1) { font-size: var(--fiesta-type-h1-size); }
[data-fiesta-ui="v1"] :where(h2) { font-size: var(--fiesta-type-h2-size); }
[data-fiesta-ui="v1"] :where(h3) { font-size: var(--fiesta-type-h3-size); }
[data-fiesta-ui="v1"] :where(h4, h5, h6) { font-size: var(--fiesta-type-h4-size); }
[data-fiesta-ui="v1"] :where(p, ul, ol, dl, blockquote) { margin: 0 0 var(--fiesta-space-4); }
[data-fiesta-ui="v1"] :where(ul, ol) { padding-inline-start: var(--fiesta-space-5); }
[data-fiesta-ui="v1"] :where(li + li) { margin-block-start: var(--fiesta-space-1); }
[data-fiesta-ui="v1"] :where(a) {
  color: var(--fiesta-text-link);
  text-decoration: underline;
  text-underline-offset: .2em;
  text-decoration-thickness: .08em;
}
[data-fiesta-ui="v1"] :where(a:visited) { color: var(--fiesta-text-link-visited); }
[data-fiesta-ui="v1"] :where(a:hover) { color: var(--fiesta-text-link-hover); text-decoration-thickness: .14em; }
[data-fiesta-ui="v1"] :where(a:active) { color: var(--fiesta-text-link-active); }
/* Link decoration exemptions belong to future navigation/button primitives. */
[data-fiesta-ui="v1"] :where(figure) { margin: 0 0 var(--fiesta-space-5); }
[data-fiesta-ui="v1"] :where(img, video) { max-width: 100%; height: auto; }
[data-fiesta-ui="v1"] :where(hr) { border: 0; border-block-start: var(--fiesta-border-width) solid var(--fiesta-border-subtle); margin-block: var(--fiesta-space-6); }

/* Captions, text and surfaces: no automatic card geometry or shadows. */
[data-fiesta-ui="v1"] :where(figcaption) { font-size: var(--fiesta-type-caption-size); line-height: var(--fiesta-line-compact); color: var(--fiesta-text-secondary); margin-block-start: var(--fiesta-space-2); }
[data-fiesta-ui="v1"] .fiesta-text-primary { color: var(--fiesta-text-primary); }
[data-fiesta-ui="v1"] .fiesta-text-secondary { color: var(--fiesta-text-secondary); }
[data-fiesta-ui="v1"] .fiesta-text-muted { color: var(--fiesta-text-muted); }
[data-fiesta-ui="v1"] .fiesta-text-link { color: var(--fiesta-text-link); }
[data-fiesta-ui="v1"] .fiesta-text-inverse { color: var(--fiesta-text-inverse); }
[data-fiesta-ui="v1"] .fiesta-surface-primary { background: var(--fiesta-surface-primary); }
[data-fiesta-ui="v1"] .fiesta-surface-secondary { background: var(--fiesta-surface-secondary); }
[data-fiesta-ui="v1"] .fiesta-surface-aqua { background: var(--fiesta-surface-aqua); }
[data-fiesta-ui="v1"] .fiesta-surface-warm { background: var(--fiesta-surface-warm); }
/* Inverse is an occasional contrast surface, not a theme mode. */
[data-fiesta-ui="v1"] .fiesta-surface-inverse {
  background: var(--fiesta-surface-inverse); color: var(--fiesta-text-inverse);
  --fiesta-text-primary: var(--fiesta-text-inverse);
  --fiesta-text-secondary: var(--fiesta-surface-secondary);
  --fiesta-text-muted: var(--fiesta-surface-secondary);
  --fiesta-text-link: var(--fiesta-cyan-100);
  --fiesta-text-link-hover: var(--fiesta-cyan-200);
  --fiesta-text-link-active: var(--fiesta-cyan-200);
  --fiesta-text-link-visited: var(--fiesta-cyan-100);
}
[data-fiesta-ui="v1"] .fiesta-section { padding-block: var(--fiesta-space-8); }
[data-fiesta-ui="v1"] .fiesta-section--compact { padding-block: var(--fiesta-section-operational); }
[data-fiesta-ui="v1"] .fiesta-section--spacious { padding-block: var(--fiesta-section-marketing); }
/* Native controls only: no replacement widgets or form-contract changes. */
[data-fiesta-ui="v1"] :where(input, textarea, select, button) {
  font: inherit; color: var(--fiesta-control-field-text); accent-color: var(--fiesta-control-selected);
  max-inline-size: 100%; min-inline-size: 0;
}
[data-fiesta-ui="v1"] :where(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], textarea, select) {
  display: block; inline-size: 100%; min-block-size: var(--fiesta-control-min-height);
  padding: var(--fiesta-space-3); border: var(--fiesta-border-width) solid var(--fiesta-control-field-border);
  border-radius: var(--fiesta-radius-md); background: var(--fiesta-control-field-bg);
  transition: border-color var(--fiesta-motion-fast) var(--fiesta-motion-ease);
}
[data-fiesta-ui="v1"] :where(input, textarea)::placeholder { color: var(--fiesta-control-placeholder); opacity: 1; }
[data-fiesta-ui="v1"] :where(input, textarea, select):hover:not(:disabled):not([aria-invalid="true"]):not(:user-invalid) { border-color: var(--fiesta-control-field-border-hover); }
[data-fiesta-ui="v1"] :where(textarea) { resize: vertical; min-block-size: var(--fiesta-space-11); line-height: var(--fiesta-line-body); }
[data-fiesta-ui="v1"] :where(input[type="checkbox"], input[type="radio"]) { inline-size: var(--fiesta-space-5); block-size: var(--fiesta-space-5); flex: 0 0 auto; }
[data-fiesta-ui="v1"] :where(label) { font-weight: var(--fiesta-weight-semibold); }
[data-fiesta-ui="v1"] :where(label:has(input[type="checkbox"]), label:has(input[type="radio"])) { display: flex; align-items: center; gap: var(--fiesta-space-3); min-block-size: var(--fiesta-control-min-height); }
[data-fiesta-ui="v1"] :where(fieldset) { min-inline-size: 0; border: var(--fiesta-border-width) solid var(--fiesta-border-default); padding: var(--fiesta-space-4); margin: 0; }
[data-fiesta-ui="v1"] :where(legend) { padding-inline: var(--fiesta-space-2); font-weight: var(--fiesta-weight-semibold); }
[data-fiesta-ui="v1"] :where(button, input[type="button"], input[type="submit"], input[type="reset"]) {
  min-block-size: var(--fiesta-control-min-height); min-inline-size: var(--fiesta-control-min-height);
  padding: var(--fiesta-space-3) var(--fiesta-space-5); white-space: normal; overflow-wrap: anywhere;
  border: var(--fiesta-border-width) solid var(--fiesta-control-secondary-border); border-radius: var(--fiesta-radius-md);
  background: var(--fiesta-control-secondary-bg); color: var(--fiesta-control-secondary-text); cursor: pointer;
  transition: background-color var(--fiesta-motion-fast) var(--fiesta-motion-ease);
}
[data-fiesta-ui="v1"] :where(button, input[type="button"], input[type="submit"], input[type="reset"]):hover:not(:disabled) { background: var(--fiesta-control-secondary-bg-hover); }
[data-fiesta-ui="v1"] :where(button, input[type="button"], input[type="submit"], input[type="reset"]):active:not(:disabled) { background: var(--fiesta-control-secondary-bg-active); }
[data-fiesta-ui="v1"] :where(input[readonly], textarea[readonly]) { background: var(--fiesta-surface-warm); border-style: dashed; }
/* Explicit error or browser user-interaction state, never untouched :invalid. */
[data-fiesta-ui="v1"] :where(input, textarea, select):is([aria-invalid="true"], :user-invalid) { border-color: var(--fiesta-semantic-danger-border); border-width: var(--fiesta-border-width-strong); }
[data-fiesta-ui="v1"] :where(input, textarea, select, button):disabled {
  background: var(--fiesta-control-disabled-bg); color: var(--fiesta-control-disabled-text);
  border-color: var(--fiesta-control-disabled-border); opacity: 1; cursor: not-allowed;
}

/* Two contrasting bands: white halo + navy outline; do not rely on hue alone. */
[data-fiesta-ui="v1"]:focus-visible,
[data-fiesta-ui="v1"] :focus-visible {
  outline: var(--fiesta-focus-width) solid var(--fiesta-control-focus);
  outline-offset: var(--fiesta-focus-offset);
  box-shadow: 0 0 0 var(--fiesta-focus-offset) var(--fiesta-control-focus-halo);
}
[data-fiesta-ui="v1"] .fiesta-prose { max-inline-size: var(--fiesta-prose-width); }
[data-fiesta-ui="v1"] .fiesta-container {
  inline-size: 100%; max-inline-size: var(--fiesta-container-standard);
  margin-inline: auto; padding-inline: var(--fiesta-gutter);
}
[data-fiesta-ui="v1"] .fiesta-container--marketing { max-inline-size: var(--fiesta-container-marketing); padding-inline: var(--fiesta-gutter-marketing); }
[data-fiesta-ui="v1"] .fiesta-container--reading { max-inline-size: var(--fiesta-container-reading); }
[data-fiesta-ui="v1"] .fiesta-container--form { max-inline-size: var(--fiesta-container-form); }
[data-fiesta-ui="v1"] .fiesta-container--operational { max-inline-size: var(--fiesta-container-operational); }
[data-fiesta-ui="v1"] .fiesta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--fiesta-grid-gap); }
[data-fiesta-ui="v1"] .fiesta-grid > * { min-inline-size: 0; }
[data-fiesta-ui="v1"] .fiesta-flow > * + * { margin-block-start: var(--fiesta-space-4); }
[data-fiesta-ui="v1"] .fiesta-safe-area {
  padding-top: var(--fiesta-safe-top); padding-bottom: var(--fiesta-safe-bottom);
  padding-left: var(--fiesta-safe-left); padding-right: var(--fiesta-safe-right);
}
[data-fiesta-ui="v1"] .fiesta-safe-bottom { padding-block-end: calc(var(--fiesta-space-4) + var(--fiesta-safe-bottom)); }
[data-fiesta-ui="v1"] .fiesta-type-display-xl {
  font-family: var(--fiesta-font-display);
  font-size: var(--fiesta-type-display-xl-size);
  line-height: var(--fiesta-line-display);
  font-weight: var(--fiesta-weight-bold);
  letter-spacing: var(--fiesta-tracking-display);
}
[data-fiesta-ui="v1"] .fiesta-type-display-l {
  font-family: var(--fiesta-font-display);
  font-size: var(--fiesta-type-display-l-size);
  line-height: var(--fiesta-line-display);
  font-weight: var(--fiesta-weight-bold);
  letter-spacing: var(--fiesta-tracking-display);
}
[data-fiesta-ui="v1"] .fiesta-type-h1 {
  font-family: var(--fiesta-font-display);
  font-size: var(--fiesta-type-h1-size);
  line-height: var(--fiesta-line-heading);
  font-weight: var(--fiesta-weight-bold);
  letter-spacing: var(--fiesta-tracking-heading);
}
[data-fiesta-ui="v1"] .fiesta-type-h2 {
  font-family: var(--fiesta-font-display);
  font-size: var(--fiesta-type-h2-size);
  line-height: var(--fiesta-line-heading);
  font-weight: var(--fiesta-weight-bold);
  letter-spacing: var(--fiesta-tracking-heading);
}
[data-fiesta-ui="v1"] .fiesta-type-h3 {
  font-family: var(--fiesta-font-display);
  font-size: var(--fiesta-type-h3-size);
  line-height: var(--fiesta-line-heading);
  font-weight: var(--fiesta-weight-semibold);
  letter-spacing: var(--fiesta-tracking-heading);
}
[data-fiesta-ui="v1"] .fiesta-type-h4 {
  font-family: var(--fiesta-font-display);
  font-size: var(--fiesta-type-h4-size);
  line-height: var(--fiesta-line-heading);
  font-weight: var(--fiesta-weight-semibold);
  letter-spacing: var(--fiesta-tracking-heading);
}
[data-fiesta-ui="v1"] .fiesta-type-body-large {
  font-family: var(--fiesta-font-interface);
  font-size: var(--fiesta-type-body-large-size);
  line-height: var(--fiesta-line-body);
  font-weight: var(--fiesta-weight-regular);
  letter-spacing: var(--fiesta-tracking-body);
}
[data-fiesta-ui="v1"] .fiesta-type-body {
  font-family: var(--fiesta-font-interface);
  font-size: var(--fiesta-type-body-size);
  line-height: var(--fiesta-line-body);
  font-weight: var(--fiesta-weight-regular);
  letter-spacing: var(--fiesta-tracking-body);
}
[data-fiesta-ui="v1"] .fiesta-type-body-small {
  font-family: var(--fiesta-font-interface);
  font-size: var(--fiesta-type-body-small-size);
  line-height: var(--fiesta-line-body);
  font-weight: var(--fiesta-weight-regular);
  letter-spacing: var(--fiesta-tracking-body);
}
[data-fiesta-ui="v1"] .fiesta-type-caption {
  font-family: var(--fiesta-font-interface);
  font-size: var(--fiesta-type-caption-size);
  line-height: var(--fiesta-line-compact);
  font-weight: var(--fiesta-weight-regular);
  letter-spacing: var(--fiesta-tracking-body);
}
[data-fiesta-ui="v1"] .fiesta-type-label {
  font-family: var(--fiesta-font-interface);
  font-size: var(--fiesta-type-label-size);
  line-height: var(--fiesta-line-label);
  font-weight: var(--fiesta-weight-semibold);
  letter-spacing: var(--fiesta-tracking-body);
}
[data-fiesta-ui="v1"] .fiesta-type-button {
  font-family: var(--fiesta-font-interface);
  font-size: var(--fiesta-type-button-size);
  line-height: var(--fiesta-line-label);
  font-weight: var(--fiesta-weight-semibold);
  letter-spacing: var(--fiesta-tracking-body);
}
/* Breakpoints compiled from tokens.json; existing account JS is unchanged. */
@media (min-width: 640px) {
  [data-fiesta-ui="v1"] .fiesta-container { --fiesta-gutter: var(--fiesta-space-5); }
}
@media (min-width: 768px) {
  [data-fiesta-ui="v1"] .fiesta-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  [data-fiesta-ui="v1"] .fiesta-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  [data-fiesta-ui="v1"] .fiesta-container { --fiesta-gutter: var(--fiesta-space-6); }
}
@media (min-width: 1440px) {
  [data-fiesta-ui="v1"] .fiesta-container--marketing { --fiesta-gutter-marketing: var(--fiesta-space-8); }
}
@media (prefers-reduced-motion: reduce) {
  [data-fiesta-ui="v1"] { --fiesta-motion-fast: 0ms; --fiesta-motion-standard: 0ms; --fiesta-motion-slow: 0ms; }
  /* Only token-based foundation transitions exist. No animation/event timing is rewritten. */
  [data-fiesta-ui="v1"] { scroll-behavior: auto; }
}
@media (forced-colors: active) {
  [data-fiesta-ui="v1"]:focus-visible, [data-fiesta-ui="v1"] :focus-visible {
    outline-color: Highlight; box-shadow: none;
  }
}
