/* FixedLife UI contract. Load after legacy global CSS, before screen CSS. */
:root {
  --palette-navy-950:#0b1820; --palette-navy-900:#12262f; --palette-navy-800:#1b3540;
  --palette-mint-300:#a7e6cf; --palette-mint-700:#17644e; --palette-white:#f4faf8;
  --color-bg:var(--palette-navy-950); --color-surface:var(--palette-navy-900);
  --color-surface-raised:var(--palette-navy-800); --color-input:#0e2029;
  --color-text:var(--palette-white); --color-muted:#b4c7ca;
  --color-accent:var(--palette-mint-300); --color-on-accent:#102c23;
  --color-accent-hover:#c2f3e1; --color-accent-pressed:#89d9bd;
  --color-border:#718e96; --color-divider:#304954; --color-focus:#f6ce84;
  --color-danger:#ffb5ac; --color-danger-bg:#422b30;
  --color-success:#b5edc7; --color-success-bg:#173d31;
  --color-warning:#f6d791; --color-warning-bg:#3d3524;
  --color-glass:rgba(18,38,47,.94);
  --font-sans:Inter,"Segoe UI",Arial,sans-serif;
  --type-xs:.8125rem; --type-sm:.875rem; --type-base:1rem; --type-lg:1.125rem;
  --type-h3:1.25rem; --type-h2:clamp(1.375rem,2vw,1.75rem);
  --type-h1:clamp(1.875rem,4.4vw,3.5rem); --type-display:clamp(2.125rem,4.6vw,4rem);
  --line-body:1.6; --line-heading:1.14;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem; --space-16:4rem;
  --radius-sm:.5rem; --radius-md:.875rem; --radius-lg:1.25rem; --radius-xl:1.75rem; --radius-pill:999px;
  --shadow-card:0 12px 32px #0000001f; --shadow-focus:0 0 0 3px var(--color-bg);
  --control-height:3rem; --control-radius:var(--radius-md); --card-padding:clamp(1rem,2.4vw,2rem);
  --content-width:74rem; --motion-fast:140ms; --motion-ease:cubic-bezier(.2,.6,.2,1);
  /* Compatibility aliases for existing modules. */
  --ink:var(--color-text); --muted:var(--color-muted); --surface:var(--color-surface);
  --glass:var(--color-glass); --line:var(--color-divider); --border:var(--color-border); --accent:var(--color-accent);
  color-scheme:dark; color:var(--color-text); background:var(--color-bg); font-family:var(--font-sans);
}
:root[data-theme=light] {
  --color-bg:#f2f5f1; --color-surface:#ffffff; --color-surface-raised:#e6efea; --color-input:#ffffff;
  --color-text:#173039; --color-muted:#47636c; --color-accent:#17644e; --color-on-accent:#ffffff;
  --color-accent-hover:#10503e; --color-accent-pressed:#0b4031;
  --color-border:#71878a; --color-divider:#cad8d3; --color-focus:#80520b;
  --color-danger:#a32f2f; --color-danger-bg:#fff0ed; --color-success:#21643d; --color-success-bg:#e8f5eb;
  --color-warning:#77530b; --color-warning-bg:#fff4d9; --color-glass:rgba(255,255,255,.94);
  --shadow-card:0 12px 32px #1730390b;
  --ink:var(--color-text); --muted:var(--color-muted); --surface:var(--color-surface);
  --glass:var(--color-glass); --line:var(--color-divider); --accent:var(--color-accent);
  color-scheme:light; color:var(--color-text); background:var(--color-bg);
}
