import 'package:flutter/material.dart'; /// Visual tokens for the F∆I Recl∆Im client, sourced from the /// fai_web brand palette (see fai_web/src/styles/global.css:14-20). /// /// Unlike `fai_chain_studio`'s `ChainColors` (Tailwind sky-400 — /// dev-tool look), this palette matches the public-facing brand: /// ink/paper with a petrol "signal" accent that doubles as the eye /// of the `∆` mark. class ReclaimColors { ReclaimColors._(); // Core palette (fai_web/src/styles/global.css) static const ink = Color(0xFF08090A); static const inkRaised = Color(0xFF111315); static const paper = Color(0xFFF4F3EF); static const paperRaised = Color(0xFFE7E5DF); static const signal = Color(0xFF2E8F9E); static const mute = Color(0xFF6B7177); // Hairline divider — currentColor at 14% opacity (fai_web). static const hairlineDarkOpacity = 0.14; static const hairlineLightOpacity = 0.14; // Heatmap scale — derived from `signal` by HSL shift: // x-axis (Schaden): cool → warm as score rises // y-axis (Nutzen): muted → saturated as score rises // size: cohort count, linear sqrt mapping static const harmCool = Color(0xFF2E6E8F); static const harmWarm = Color(0xFFD8723A); static const benefitMuted = Color(0xFF5A7E83); static const benefitSaturated = Color(0xFF2E8F9E); // Tier badges — evidence tier of the lowest-tier ingredient. static const tierT1 = Color(0xFF2E8F9E); // official / peer-reviewed static const tierT2 = Color(0xFF6CA29A); // verband static const tierT3 = Color(0xFFB0AC8E); // own survey static const tierT4 = Color(0xFFA86F5C); // qualitative signal only } /// Spacing scale — 4/8/12/16/24/32/48 multiples, matching /// `ChainSpace` from `fai_chain_studio/lib/theme/tokens.dart`. class ReclaimSpace { ReclaimSpace._(); static const xs = 4.0; static const sm = 8.0; static const md = 12.0; static const lg = 16.0; static const xl = 24.0; static const xxl = 32.0; static const xxxl = 48.0; } class ReclaimRadius { ReclaimRadius._(); static const sm = Radius.circular(6); static const md = Radius.circular(10); } class ReclaimTypography { ReclaimTypography._(); static const display = 'SpaceGroteskVariable'; static const body = 'InterVariable'; static const mono = 'JetBrainsMono'; }