/* Semantic aliases. Prefer these in new work; they resolve to the base tokens
   and follow the light/dark themes automatically. */
:root{
  /* text */
  --text-heading:var(--ink);
  --text-body:var(--ink);
  --text-muted:var(--ink-soft);
  --text-label:var(--accent);
  --text-link:var(--accent);
  --text-link-hover:var(--accent-deep);
  --text-required:var(--danger);
  --text-price:var(--accent);
  --text-on-action:var(--on-action);

  /* surfaces */
  --surface-page:var(--paper);
  --surface-card:var(--surface);
  --surface-sunken:var(--surface-2);
  --surface-plate:var(--plate);
  --surface-footer:var(--sea);

  /* borders */
  --border-default:var(--line);
  --border-focus:var(--accent);
  --border-error:var(--danger);

  /* actions — sea-blue, per the brief. The rejected terracotta is gone. */
  --action:var(--accent);
  --action-hover:var(--accent-deep);
  --action-quiet-border:var(--line);
  --action-quiet-hover-border:var(--accent);

  /* status — three semantics, each a ground / border / text triple */
  --status-error-bg:color-mix(in srgb,var(--danger) 10%,var(--surface));
  --status-error-border:color-mix(in srgb,var(--danger) 40%,transparent);
  --status-error-text:var(--danger-deep);
  --status-success-bg:color-mix(in srgb,var(--success) 10%,var(--surface));
  --status-success-border:color-mix(in srgb,var(--success) 40%,transparent);
  --status-success-text:var(--success-deep);
  --status-info-bg:color-mix(in srgb,var(--info) 9%,var(--surface));
  --status-info-border:color-mix(in srgb,var(--info) 35%,transparent);
  --status-info-text:var(--info-deep);

  /* form field states */
  --field-border:var(--line);
  --field-border-focus:var(--accent);
  --field-border-error:var(--danger);
  --field-bg:var(--surface);
  --field-bg-disabled:var(--ground-sunken);
  --field-text-disabled:var(--ink-soft);
  --field-placeholder:var(--ink-soft);
  --field-hint:var(--ink-soft);
  --field-error-text:var(--danger-deep);

  /* emphasis — a pale tint field with ink on it, never coloured type on colour */
  --emphasis-tag-bg:var(--tint-sky);
  --emphasis-tag-text:var(--ink);

  /* SECTION GROUNDS — the "pastel geometry" room the brief asks for: soft geometric
     fields in pale sky / mist / lilac, used as shapes behind content rather than as
     photographic washes. Rotate them; never more than one per section. */
  --field-sky:var(--tint-sky);
  --field-mist:var(--tint-mist);
  --field-lilac:var(--tint-lilac);

  /* THE GRADIENT RULE — the one device the brief says to keep: a thin rule drawn from
     her own sky, echoing the thermal scale bar under her logo. Subtle, and a rule
     only — it is not a background wash. */
  --rule-gradient:linear-gradient(90deg,var(--accent-light),var(--sky),var(--accent)); /* @kind other */

  /* The old coastal wash is retired: it was warm (sun from the top-right), and the
     brief moves section grounds from photographic washes to geometric tint fields.
     Kept resolving, cooled, so existing surfaces do not break. */
  /* the coastal wash belongs to the RETIRED ui_kits/website/ kit, whose
     RegisterSection.jsx still resolves it through the bundle. Not orphaned, but not
     for new work either — section grounds are the geometric tint fields above. */
  --wash-coastal:
    radial-gradient(120% 120% at 100% 0%, color-mix(in srgb,var(--tint-lilac) 60%, transparent), transparent 62%),
    radial-gradient(120% 120% at 0% 100%, color-mix(in srgb,var(--sky) 12%, transparent), transparent 58%); /* @kind other */
  --wash-register:var(--wash-coastal); /* @kind other */
}
