:root{--navy-deep:#1B365D;--navy:#2A4A73;--navy-mid:#2A4A73;--navy-light:#3D5A80;--teal-bright:#4ECDC4;--teal:#7DD3E1;--teal-pale:#B8EBE8;--blue-mid:#3B82B6;--blue-deep:#2563AB;--cream:#FEFDFB;--cream-warm:#F8F6F1;--cream-dark:#EDE9E0;--text-primary:#1B365D;--text-muted:#5A6B7A;--success:#10B981;--warning:#F59E0B;--error:#EF4444;--info:#3B82F6;--avatar-child:#FEF3C7;--avatar-youth:#D1FAE5;--radius-sm:0.5rem;--radius-md:1rem;--radius-lg:1.5rem;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--surface-page:var(--cream-warm);--surface-card:var(--cream);--surface-elevated:#ffffff;--surface-inset:var(--cream-dark);--surface-overlay:rgba(27,54,93,0.6);--content-primary:var(--navy-deep);--content-secondary:var(--text-muted);--content-tertiary:#94a3b8;--content-inverse:#ffffff;--border-default:var(--cream-dark);--border-strong:#cbd5e1;--border-subtle:rgba(148,163,184,0.3);--interactive-bg:#ffffff;--interactive-bg-hover:#f8fafc;--interactive-bg-active:#f1f5f9}html.dark{color-scheme:dark;--cream:#1e293b;--cream-warm:#0f172a;--cream-dark:#334155;--text-primary:#f1f5f9;--text-muted:#94a3b8;--color-bg:#0f172a;--color-card-bg:#1e293b;--color-text:#f1f5f9;--color-text-secondary:#94a3b8;--color-border:#334155;--surface-page:#0f172a;--surface-card:#1e293b;--surface-elevated:#1e293b;--surface-inset:#0f172a;--surface-overlay:rgba(0,0,0,0.7);--content-primary:#f1f5f9;--content-secondary:#94a3b8;--content-tertiary:#64748b;--content-inverse:#0f172a;--border-default:#334155;--border-strong:#475569;--border-subtle:rgba(148,163,184,0.15);--teal-pale:#1a3a38;--avatar-child:#78350f;--avatar-youth:#064e3b;--interactive-bg:#1e293b;--interactive-bg-hover:#334155;--interactive-bg-active:#475569;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.3);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.4),0 2px 4px -2px rgb(0 0 0/0.3);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.4),0 4px 6px -4px rgb(0 0 0/0.3);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.5),0 8px 10px -6px rgb(0 0 0/0.4)}