@layer windfce_accordion, windfce_actionbutton, windfce_ankerlist, windfce_colorblock,
  windfce_crisisbanner, windfce_iconlinklist, windfce_linklist, windfce_logobanner,
  windfce_notificationbanner, windfce_profilecard, windfce_themebanner,
  windfce_timeline, toptasks, wind-fce.defaults, wind-fce.components;

@layer wind-fce.defaults {
:root {
  --wind-fce-color-primary: #bfdbfe;
  --wind-fce-color-primary-hover: #93c5fd;
  --wind-fce-color-primary-light: #eff6ff;
  --wind-fce-color-on-primary: #1e293b;
  --wind-fce-color-secondary: #fde68a;
  --wind-fce-color-secondary-hover: #fcd34d;
  --wind-fce-color-secondary-light: #fffbeb;
  --wind-fce-color-on-secondary: #1e293b;
  --wind-fce-color-accent: #a7f3d0;
  --wind-fce-color-accent-hover: #6ee7b7;
  --wind-fce-color-accent-light: #ecfdf5;
  --wind-fce-color-on-accent: #1e293b;
  --wind-fce-color-surface: #fff;
  --wind-fce-color-surface-hover: #f1f5f9;
  --wind-fce-color-text: #1e293b;
  --wind-fce-color-dark: #cbd5e1;
  --wind-fce-color-dark-hover: #94a3b8;
  --wind-fce-color-on-dark: #0f172a;
  --wind-fce-color-border: #64748b;
  --wind-fce-color-border-light: #cbd5e1;
  --wind-fce-focus-color: #1d4ed8;
  --wind-fce-link-color: #1d4ed8;
  --wind-fce-link-color-hover: #1e3a8a;
  --wind-fce-button-primary-foreground: #1d4ed8;
  --wind-fce-button-primary-foreground-hover: #1e3a8a;
  --wind-fce-button-secondary-foreground: #92400e;
  --wind-fce-button-secondary-foreground-hover: #78350f;
  --wind-fce-button-accent-foreground: #047857;
  --wind-fce-button-accent-foreground-hover: #065f46;
  --wind-fce-button-surface-foreground: #475569;
  --wind-fce-button-surface-foreground-hover: #334155;
  --wind-fce-button-dark-foreground: #334155;
  --wind-fce-button-dark-foreground-hover: #0f172a;
  --wind-fce-radius: 0.5rem;
  --wind-fce-shadow: 0 12px 40px -4px hsl(0 0% 0% / 0.12);
  --wind-fce-shadow-large: 0 24px 60px -4px hsl(0 0% 0% / 0.2),
    0 8px 20px hsl(0 0% 0% / 0.15);
  --wind-fce-spacing: 1.25rem;
  --wind-fce-transition-duration: 180ms;
}

.frame-type-windfce_accordion details,
.frame-type-windfce_ankerlist,
.frame-type-windfce_logobanner .logo-banner,
.frame-type-windfce_profilecard .profile-card--card {
  background-color: var(--wind-fce-color-surface);
  color: var(--wind-fce-color-text);
  border-color: var(--wind-fce-color-border-light);
  border-radius: var(--wind-fce-radius);
}

.frame-type-windfce_ankerlist,
.frame-type-windfce_profilecard .profile-card--card {
  box-shadow: var(--wind-fce-shadow);
}

.frame-type-windfce_notificationbanner .dismissible {
  position: absolute;
  inset: 1.25rem 1.25rem auto auto;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  color: currentColor;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.frame-type-windfce_notificationbanner .dismissible::before {
  content: '';
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: currentColor;
  -webkit-mask: url('../Icons/close.svg') center / contain no-repeat;
  mask: url('../Icons/close.svg') center / contain no-repeat;
}

.frame-type-windfce_notificationbanner .dismissible:focus-visible,
.frame-type-windfce_iconlinklist button.show-more:focus-visible {
  outline: 3px solid var(--wind-fce-focus-color);
  outline-offset: 3px;
}

.frame-type-windfce_iconlinklist .icon-linklist-item:hover {
  color: var(--wind-fce-link-color-hover);
  background-color: var(--wind-fce-color-primary-light);
}

.frame-type-windfce_iconlinklist.frame-layout-1 .icon-linklist-item {
  border-color: var(--wind-fce-color-border-light);
}

.frame-type-windfce_themebanner .theme-banner__card {
  color: var(--wind-fce-color-text);
  background-color: var(--wind-fce-color-surface);
  border-radius: var(--wind-fce-radius);
  box-shadow: var(--wind-fce-shadow-large);
}

.frame-type-windfce_timeline .timeline-step::before {
  background-color: var(--wind-fce-color-border);
}

.frame-type-windfce_toptasks {
  --_toptask-background: var(--wind-fce-color-surface);
  --_toptask-background-hover: var(--wind-fce-color-primary-light);
  --_toptask-foreground: var(--wind-fce-color-text);
  --_toptask-border: var(--wind-fce-color-border-light);
}

.frame-type-windfce_toptasks.frame-layout-1 {
  --_toptask-background: var(--wind-fce-color-primary);
  --_toptask-background-hover: var(--wind-fce-color-primary-hover);
  --_toptask-foreground: var(--wind-fce-color-on-primary);
  --_toptask-border: transparent;
}

.frame-type-windfce_toptasks.frame-layout-2 {
  --_toptask-background: var(--wind-fce-color-secondary);
  --_toptask-background-hover: var(--wind-fce-color-secondary-hover);
  --_toptask-foreground: var(--wind-fce-color-on-secondary);
  --_toptask-border: transparent;
}

.frame-type-windfce_toptasks.frame-layout-3 {
  --_toptask-background: var(--wind-fce-color-accent);
  --_toptask-background-hover: var(--wind-fce-color-accent-hover);
  --_toptask-foreground: var(--wind-fce-color-on-accent);
  --_toptask-border: transparent;
}

.frame-type-windfce_toptasks .toptask-item {
  color: var(--_toptask-foreground);
  background-color: var(--_toptask-background);
  border: 1px solid var(--_toptask-border);
  border-radius: var(--wind-fce-radius);
  box-shadow: var(--wind-fce-shadow);
  transition: background-color var(--wind-fce-transition-duration) ease-out;
}

.frame-type-windfce_toptasks .toptask-item:hover {
  background-color: var(--_toptask-background-hover);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --wind-fce-transition-duration: 0.01ms;
  }
}
}

/*
 * These surface declarations intentionally sit outside a layer. They beat
 * generic, unlayered site styles while remaining less specific than a site's
 * component theme (for example, two-class layout selectors).
 */
:where(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_crisisbanner,
  .frame-type-windfce_notificationbanner
).frame-layout-0 {
  color: var(--wind-fce-color-on-primary);
  background-color: var(--wind-fce-color-primary);
}

:where(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_crisisbanner,
  .frame-type-windfce_notificationbanner
).frame-layout-1,
:where(.frame-type-windfce_themebanner).frame-layout-0 {
  color: var(--wind-fce-color-text);
  background-color: var(--wind-fce-color-primary-light);
}

:where(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_crisisbanner,
  .frame-type-windfce_notificationbanner
).frame-layout-2 {
  color: var(--wind-fce-color-on-secondary);
  background-color: var(--wind-fce-color-secondary);
}

:where(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_crisisbanner,
  .frame-type-windfce_notificationbanner
).frame-layout-3 {
  color: var(--wind-fce-color-text);
  background-color: var(--wind-fce-color-secondary-light);
}

:where(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_notificationbanner
).frame-layout-4,
:where(.frame-type-windfce_themebanner).frame-layout-1 {
  color: var(--wind-fce-color-text);
  background-color: var(--wind-fce-color-accent-light);
}

:where(.frame-type-windfce_crisisbanner).frame-layout-4 {
  color: var(--wind-fce-color-on-accent);
  background-color: var(--wind-fce-color-accent);
}

:where(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_crisisbanner,
  .frame-type-windfce_notificationbanner
).frame-layout-5,
:where(.frame-type-windfce_themebanner).frame-layout-2 {
  color: var(--wind-fce-color-text);
  background-color: var(--wind-fce-color-surface);
}

:where(.frame-type-windfce_crisisbanner).frame-layout-6 {
  color: var(--wind-fce-color-on-dark);
  background-color: var(--wind-fce-color-dark);
}

.frame-type-windfce_toptasks .toptask-item :where(h1, h2, h3, h4, h5, h6, p, li, a) {
  color: inherit;
}

:where(.frame-type-windfce_toptasks) .toptask-item :any-link,
:where(.frame-type-windfce_iconlinklist) .icon-linklist-item,
:where(.frame-type-windfce_linklist, .frame-type-windfce_ankerlist) .linklist-item-link {
  text-decoration: none;
}

:where(.frame-type-windfce_toptasks) .toptask-item :any-link {
  color: inherit;
}

:where(.frame-type-windfce_toptasks) .toptask-item :any-link:is(:hover, :active, :focus-visible),
:where(.frame-type-windfce_iconlinklist) .icon-linklist-item:is(:hover, :active, :focus-visible),
:where(.frame-type-windfce_linklist, .frame-type-windfce_ankerlist) .linklist-item-link:is(:hover, :active, :focus-visible) {
  text-decoration: none;
}

:where(.frame-type-windfce_toptasks) .toptask-item :any-link:is(:hover, :active, :focus-visible) {
  color: inherit;
}

:where(.frame-type-windfce_iconlinklist) .icon-linklist-item,
:where(.frame-type-windfce_linklist, .frame-type-windfce_ankerlist) .linklist-item-link {
  color: var(--wind-fce-link-color);
}

:where(.frame-type-windfce_iconlinklist) .icon-linklist-item:hover,
:where(.frame-type-windfce_linklist, .frame-type-windfce_ankerlist) .linklist-item-link:hover {
  color: var(--wind-fce-link-color-hover);
}

:where(.frame-type-windfce_iconlinklist) .icon-linklist-item :where(h1, h2, h3, h4, h5, h6, p) {
  color: inherit;
}

:where(.frame-type-windfce_iconlinklist) button.show-more {
  color: var(--wind-fce-link-color);
  border-color: var(--wind-fce-link-color);
}

:where(.frame-type-windfce_iconlinklist) button.show-more:hover {
  color: var(--wind-fce-link-color-hover);
  border-color: var(--wind-fce-link-color-hover);
}

:is(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_crisisbanner,
  .frame-type-windfce_notificationbanner,
  .frame-type-windfce_themebanner
) :where(h1, h2, h3, h4, h5, h6, p, li) {
  color: inherit;
}

:is(
  .frame-type-windfce_colorblock,
  .frame-type-windfce_crisisbanner,
  .frame-type-windfce_notificationbanner,
  .frame-type-windfce_themebanner
) a:not(.call-to-action-link) {
  color: inherit;
}

:where(.frame-type-windfce_accordion) details {
  color: var(--wind-fce-color-text);
  background-color: var(--wind-fce-color-surface);
  border-color: var(--wind-fce-color-border-light);
}

:where(.frame-type-windfce_accordion) summary {
  color: var(--wind-fce-color-text);
}

:where(.frame-type-windfce_accordion) summary:focus-visible {
  outline-color: var(--wind-fce-focus-color);
}

/* Notifications remain available when JavaScript is unavailable. */
html .frame-type-windfce_notificationbanner {
  display: flex;
}
