.fontzin-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fontzin-status{box-sizing:border-box;margin:var(--fz-space-2, 8px) 0 0;padding:var(--fz-space-2, 8px) var(--fz-space-px-10, 10px);border-left:3px solid var(--fz-info);border-radius:var(--fz-radius-xs);background:var(--fz-status-info-bg);color:var(--fz-ink);font:inherit;font-size:13px;line-height:1.45}.fontzin-status:empty{display:none}.fontzin-status[data-state="success"],.fontzin-status.is-success,.fontzin-status--success{border-left-color:var(--fz-success);background:var(--fz-status-success-bg)}.fontzin-status[data-state="error"],.fontzin-status.is-error,.fontzin-status--error{border-left-color:var(--fz-danger);background:var(--fz-status-error-bg);color:var(--fz-danger);font-weight:700}.fontzin-status[data-state="loading"],.fontzin-status.is-loading{opacity:.82}:is(.fontzin-badge,.fz-ui-badge){display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:var(--fz-ui-badge-height);height:var(--fz-ui-badge-height);box-sizing:border-box;padding:3px var(--fz-space-px-6, 6px) 1px;border:0;border-radius:var(--fz-ui-badge-radius);font:inherit;font-size:10.5px;font-weight:700;line-height:16px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;box-shadow:0 0 0 1px color-mix(in srgb,var(--fz-palette-paper) 10%,transparent) inset}.fontzin-badge>.fontzin-save-label{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:11px;font-weight:700;line-height:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.fontzin-save-button.fontzin-badge{position:absolute;z-index:4;top:10px;left:10px;width:auto;cursor:pointer;background:linear-gradient(135deg,var(--fz-palette-accent),var(--fz-palette-accent));color:var(--fz-palette-ink);filter:none;transition:filter var(--fz-motion-fast),box-shadow var(--fz-motion-fast),background-color var(--fz-motion-fast)}.fontzin-save-button.fontzin-badge:focus-visible{outline:var(--fz-focus-width) solid var(--fz-focus-color);outline-offset:var(--fz-focus-offset)}.fontzin-save-button.fontzin-badge:disabled,.fontzin-save-button.fontzin-badge[aria-busy="true"]{cursor:progress;opacity:.7}.fontzin-save-button.fontzin-badge:hover{filter:brightness(1.08);box-shadow:0 0 0 1px color-mix(in srgb,var(--fz-palette-paper) 18%,transparent) inset,0 3px 10px color-mix(in srgb,var(--fz-palette-ink) 24%,transparent);transform:none}.fontzin-save-button.fontzin-badge.is-saved{background:linear-gradient(135deg,var(--fz-palette-accent),var(--fz-palette-accent));color:var(--fz-palette-ink)}:is(.fontzin-button,.fz-ui-button){display:inline-flex;align-items:center;justify-content:center;gap:var(--fz-space-2, 8px);min-height:var(--fz-ui-button-height);box-sizing:border-box;padding:var(--fz-space-2, 8px) var(--fz-ui-button-padding-inline);border:0;border-radius:var(--fz-ui-button-radius);background:var(--fz-gold);color:var(--fz-palette-ink);font:inherit;font-size:var(--fz-ui-button-font-size);font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform var(--fz-motion-base),filter var(--fz-motion-base),box-shadow var(--fz-motion-base)}:is(.fontzin-button,.fz-ui-button):hover{color:var(--fz-palette-ink);filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 5px 16px color-mix(in srgb,var(--fz-palette-accent) 20%,transparent)}:is(.fontzin-button,.fz-ui-button):focus-visible{outline:var(--fz-focus-width) solid var(--fz-focus-color);outline-offset:var(--fz-focus-offset)}.fontzin-button:disabled,.fontzin-button[aria-disabled="true"],.fontzin-button[aria-busy="true"]{opacity:.52;cursor:not-allowed;transform:none;box-shadow:none;filter:none}.fontzin-character-page{color:var(--fz-ink)}.fontzin-login-required{padding:var(--fz-space-4, 16px);border:1px dashed var(--fz-primary);border-radius:var(--fz-radius-md);background:var(--fz-surface);text-align:center}

/* Component contracts. Explicit opt-in means no changes to WordPress/core plugin controls. */
:where(.fz-ui-card){box-sizing:border-box;min-width:0;border:var(--fz-ui-card-border-width) solid var(--fz-border);border-radius:var(--fz-ui-card-radius);background:var(--fz-surface);color:var(--fz-ink)}
:where(.fz-ui-card__body){padding:var(--fz-ui-card-padding)}
:where(.fz-ui-input){box-sizing:border-box;min-height:var(--fz-ui-input-height);border:1px solid var(--fz-border);border-radius:var(--fz-ui-input-radius);background:var(--fz-surface);color:var(--fz-ink);font:inherit}
:where(.fz-ui-input):focus-visible{outline:var(--fz-focus-width) solid var(--fz-focus-color);outline-offset:var(--fz-focus-offset)}
:where(.fz-ui-button)[disabled]{opacity:.6;cursor:not-allowed;transform:none}

/* Settings-backed FontZin UI primitives. Never target plain WP button, input, article or heading selectors. */
:where(.fz-ui-card){background:var(--fz-ui-surface-color,var(--fz-surface));border-color:var(--fz-ui-outline-color,var(--fz-border));box-shadow:var(--fz-ui-card-shadow,none);font-family:var(--fz-ui-font-family,inherit)}
:where(.fz-ui-card__body){font-size:var(--fz-ui-text-font-size,inherit);line-height:var(--fz-ui-text-line-height,inherit)}
:where(.fz-ui-card) :is(h2,h3,h4,.product-title,.post-title){font-weight:var(--fz-ui-heading-weight)}
:where(.fz-ui-card) a:not(.fz-ui-button){color:var(--fz-ui-link-color)}
:is(.fontzin-button,.fz-ui-button){font-family:var(--fz-ui-font-family,inherit);font-weight:var(--fz-ui-button-weight,700)}
:is(.fontzin-badge,.fz-ui-badge){font-size:var(--fz-ui-badge-font-size,10.5px)}
:where(.fz-ui-input){background:var(--fz-ui-surface-color,var(--fz-surface));border-color:var(--fz-ui-outline-color,var(--fz-border));padding-inline:var(--fz-ui-input-padding-inline,10px);font-family:var(--fz-ui-font-family,inherit);font-size:var(--fz-ui-text-font-size,inherit)}
