:root, .editor-styles-wrapper {
  --lp-color-primary: var(--wp--preset--color--lp-primary);
  --lp-color-primary-dark: var(--wp--preset--color--lp-primary-dark);
  --lp-color-accent: var(--wp--preset--color--lp-accent);
  --lp-color-text: var(--wp--preset--color--lp-text);
  --lp-color-secondary: var(--wp--preset--color--lp-secondary);
  --lp-color-text-muted: var(--lp-color-secondary);
  --lp-color-bg-alt: var(--wp--preset--color--lp-bg-alt);
  --lp-color-white: var(--wp--preset--color--lp-white);
  --lp-color-border: color-mix(in srgb, var(--lp-color-secondary) 25%, transparent);
  --lp-color-error: var(--lp-color-accent);
  --lp-color-success: var(--lp-color-primary);
  --lp-focus-ring: 3px solid var(--lp-color-primary);
  --lp-container-wide: 90rem;
  --lp-container: 75rem;
  --lp-container-narrow: 46rem;
  --lp-space-xs: 0.5rem;
  --lp-space-sm: 0.75rem;
  --lp-space-md: 1rem;
  --lp-space-lg: 1.5rem;
  --lp-space-xl: 2.5rem;
  --lp-space-2xl: clamp(3rem, 5vw, 5rem);
  --lp-gutter: clamp(1rem, 3vw, 2.5rem);
  --lp-radius-sm: 0.25rem;
  --lp-radius-md: 0.5rem;
  --lp-radius-lg: 0.75rem;
  --lp-shadow-sm: 0 2px 8px color-mix(in srgb, var(--lp-color-primary-dark) 8%, transparent);
  --lp-shadow-md: 0 8px 24px color-mix(in srgb, var(--lp-color-primary-dark) 12%, transparent);
  --lp-font: var(--wp--preset--font-family--lp-system);
}
.lp-foundation, .lp-foundation * { box-sizing: border-box; }
.lp-foundation {
  color: var(--lp-color-text);
  background: var(--lp-color-white);
  font-family: var(--lp-font);
  font-size: var(--wp--preset--font-size--lp-body);
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.lp-container { inline-size: min(100%, var(--lp-container)); margin-inline: auto; padding-inline: var(--lp-gutter); }
.lp-section { padding-block: var(--lp-space-2xl); border-block-end: 1px solid var(--lp-color-border); }
.lp-foundation :where(h1,h2,h3,h4) { color: var(--lp-color-primary); line-height: 1.15; font-weight: 700; margin-block: 0 var(--lp-space-lg); text-wrap: balance; }
.lp-foundation h1 { font-size: var(--wp--preset--font-size--lp-h1); }
.lp-foundation h2 { font-size: var(--wp--preset--font-size--lp-h2); }
.lp-foundation h3 { font-size: var(--wp--preset--font-size--lp-h3); }
.lp-foundation h4 { font-size: var(--wp--preset--font-size--lp-h4); }
.lp-display { font-size: var(--wp--preset--font-size--lp-display); line-height: 1.1; font-weight: 700; }
.lp-body-large { font-size: var(--wp--preset--font-size--lp-large); }
.lp-small, .lp-caption { font-size: var(--wp--preset--font-size--lp-small); }
.lp-eyebrow { font-size: var(--wp--preset--font-size--lp-small); font-weight: 700; letter-spacing: 0.08em; }
.lp-muted { color: var(--lp-color-text-muted); }
.lp-surface-alt { background: var(--lp-color-bg-alt); --lp-color-text-muted: var(--lp-color-text); }
.lp-surface-dark { background: var(--lp-color-primary); color: var(--lp-color-white); --lp-color-text-muted: var(--lp-color-white); --lp-focus-ring: 3px solid var(--lp-color-white); }
.lp-surface-dark :where(h2,h3,h4,a) { color: var(--lp-color-white); }
.lp-foundation a { color: var(--lp-color-primary); text-decoration: underline; text-underline-offset: 0.2em; }
.lp-foundation .lp-surface-dark a { color: var(--lp-color-white); }
.lp-foundation a:hover { text-decoration-thickness: 2px; }
.lp-foundation :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: var(--lp-focus-ring); outline-offset: 4px; box-shadow: 0 0 0 3px var(--lp-color-white); }
.lp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-md); }
.lp-foundation .lp-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-block-size: 48px; max-inline-size: 100%; padding: var(--lp-space-sm) var(--lp-space-lg);
  border: 2px solid var(--lp-color-accent); border-radius: var(--lp-radius-sm);
  background: var(--lp-color-accent); color: var(--lp-color-white);
  font: inherit; font-weight: 700; text-align: center; text-decoration: none; cursor: pointer;
}
.lp-foundation .lp-button:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.lp-foundation .lp-button--secondary { background: transparent; border-color: var(--lp-color-primary); color: var(--lp-color-primary); }
.lp-surface-dark .lp-button { border-color: var(--lp-color-white); }
.lp-surface-dark .lp-button--secondary { color: var(--lp-color-white); border-color: var(--lp-color-white); }
.lp-foundation .lp-button:disabled { background: var(--lp-color-bg-alt); color: var(--lp-color-text); border-color: var(--lp-color-secondary); cursor: not-allowed; }
.lp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--lp-space-lg); }
.lp-card { background: var(--lp-color-white); color: var(--lp-color-text); padding: var(--lp-space-lg); border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-md); box-shadow: var(--lp-shadow-sm); }
.lp-card .lp-muted { color: var(--lp-color-secondary); }
.lp-card:hover { box-shadow: var(--lp-shadow-md); }
.lp-swatch { min-block-size: 5rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-sm); }
.lp-swatch--primary { background: var(--lp-color-primary); }
.lp-swatch--primary-dark { background: var(--lp-color-primary-dark); }
.lp-swatch--accent { background: var(--lp-color-accent); }
.lp-swatch--text { background: var(--lp-color-text); }
.lp-swatch--secondary { background: var(--lp-color-secondary); }
.lp-swatch--bg-alt { background: var(--lp-color-bg-alt); }
.lp-swatch--white { background: var(--lp-color-white); }
.lp-table-scroll { overflow-x: auto; border: 1px solid var(--lp-color-border); margin-block: var(--lp-space-lg); }
.lp-foundation table { border-collapse: collapse; inline-size: 100%; margin: 0; }
.lp-foundation caption { text-align: start; padding: var(--lp-space-md); font-weight: 700; }
.lp-foundation th, .lp-foundation td { padding: var(--lp-space-md); text-align: start; border: 1px solid var(--lp-color-border); }
.lp-foundation thead { background: var(--lp-color-primary); color: var(--lp-color-white); }
.lp-foundation tbody tr:nth-child(even) { background: var(--lp-color-bg-alt); color: var(--lp-color-text); }
.lp-field { margin-block-end: var(--lp-space-lg); }
.lp-foundation label, .lp-foundation legend { font-weight: 600; }
.lp-foundation label { display: block; margin-block-end: var(--lp-space-xs); }
.lp-foundation :where(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  inline-size: 100%; min-block-size: 48px; padding: var(--lp-space-sm); border: 1px solid var(--lp-color-secondary);
  border-radius: var(--lp-radius-sm); color: var(--lp-color-text); background: var(--lp-color-white); font: inherit;
}
.lp-foundation textarea { min-block-size: 8rem; resize: vertical; }
.lp-foundation input[type=checkbox] { inline-size: 1.25rem; block-size: 1.25rem; accent-color: var(--lp-color-primary); }
.lp-foundation .lp-check-label { display: flex; align-items: center; gap: var(--lp-space-sm); min-block-size: 48px; }
.lp-foundation fieldset { min-inline-size: 0; border: 1px solid var(--lp-color-border); padding: var(--lp-space-lg); }
.lp-error { color: var(--lp-color-error); font-weight: 600; }
.lp-success { color: var(--lp-color-success); font-weight: 600; }
.lp-foundation [aria-invalid=true] { border: 2px solid var(--lp-color-error); }
.lp-space-sample { block-size: var(--lp-space-md); background: var(--lp-color-primary); max-inline-size: 100%; }
.lp-space-sample--xs { inline-size: var(--lp-space-xs); }
.lp-space-sample--sm { inline-size: var(--lp-space-sm); }
.lp-space-sample--md { inline-size: var(--lp-space-md); }
.lp-space-sample--lg { inline-size: var(--lp-space-lg); }
.lp-space-sample--xl { inline-size: var(--lp-space-xl); }
.lp-space-sample--2xl { inline-size: var(--lp-space-2xl); }
@media (prefers-reduced-motion: reduce) {
  .lp-foundation *, .lp-foundation *::before, .lp-foundation *::after { scroll-behavior: auto; animation: none; transition: none; }
}
