/* MealQuest design tokens — final palette "B4: Grape + teal blue on off-white". Built on the Organic design system (styles.css in this bundle); these values OVERRIDE its defaults. */ /* Fonts are self-hosted from web/src/assets/fonts (OFL; licence texts alongside) in place of the handoff's Google Fonts @import, so the app never calls Google. Bagel Fat One: Google Fonts latin and latin-ext woff2 subsets. Figtree: upstream static woff2 (github.com/erikdkennedy/figtree). */ @font-face { font-family: "Bagel Fat One"; font-style: normal; font-weight: 400; font-display: swap; src: url("../assets/fonts/BagelFatOne-LatinExt.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: "Bagel Fat One"; font-style: normal; font-weight: 400; font-display: swap; src: url("../assets/fonts/BagelFatOne-Latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @font-face { font-family: "Figtree"; font-style: normal; font-weight: 400; font-display: swap; src: url("../assets/fonts/Figtree-Regular.woff2") format("woff2"); } @font-face { font-family: "Figtree"; font-style: normal; font-weight: 600; font-display: swap; src: url("../assets/fonts/Figtree-SemiBold.woff2") format("woff2"); } @font-face { font-family: "Figtree"; font-style: normal; font-weight: 700; font-display: swap; src: url("../assets/fonts/Figtree-Bold.woff2") format("woff2"); } :root { /* Ground + ink */ --color-bg: #f9f6f1; /* oklch(0.975 0.008 85) — page / phone background */ --color-surface: #eee9de; /* oklch(0.935 0.016 85) — cards, rows, inputs */ --color-text: #201e1d; --color-divider: color-mix(in srgb, #201e1d 16%, transparent); --on-accent: #f9f6f1; /* text/icons on --color-accent fills (never dark text on grape) */ /* Primary accent — Grape (hue 300) */ --color-accent: #5a358c; /* oklch(0.42 0.14 300) */ --color-accent-100: #f8f1ff; --color-accent-200: #eedfff; --color-accent-300: #dac3ff; --color-accent-400: #c1a1f9; --color-accent-500: #a47ee1; --color-accent-600: #865fc0; --color-accent-700: #68449b; /* accent-colored small text on light grounds */ --color-accent-800: #4a2d73; --color-accent-900: #2d1a49; /* Second accent — Teal blue (hue 215) */ --color-accent-2: #29889c; /* oklch(0.58 0.09 215) */ --color-accent-2-100: #e0fbff; --color-accent-2-200: #bbf3ff; --color-accent-2-300: #88e0f6; --color-accent-2-400: #3fc7e4; --color-accent-2-500: #00a9ca; --color-accent-2-600: #008aaa; /* toggles ON, "Try it" button, + buttons */ --color-accent-2-700: #006b88; --color-accent-2-800: #004c63; /* teal text on teal-100/200 fills */ --color-accent-2-900: #002f3e; /* Neutrals (unchanged from Organic) */ --color-neutral-100: #f9f4ed; --color-neutral-200: #eee7db; --color-neutral-300: #dcd3c4; --color-neutral-400: #c0b6a5; --color-neutral-500: #a19786; --color-neutral-600: #82796a; --color-neutral-700: #645c50; --color-neutral-800: #474238; --color-neutral-900: #2e2b25; /* Type */ --font-heading: "Bagel Fat One", system-ui, sans-serif; /* weight 400 only */ --font-body: "Figtree", system-ui, sans-serif; /* 400 / 600 / 700 */ --font-mono: ui-monospace, Menlo, monospace; /* Radii */ --radius-sm: 8px; --radius-md: 16px; --radius-lg: 28px; --radius-card: 32px; /* mobile hero cards */ --radius-pill: 999px; /* buttons, inputs, tags, nav */ /* Spacing (Organic, density 1.1) */ --space-1: 4.4px; --space-2: 8.8px; --space-3: 13.2px; --space-4: 17.6px; --space-6: 26.4px; --space-8: 35.2px; /* Elevation */ --shadow-sm: 0 1px 2px color-mix(in srgb, #2e2b25 14%, transparent); --shadow-md: 0 3px 10px color-mix(in srgb, #2e2b25 16%, transparent); --shadow-lg: 0 12px 32px color-mix(in srgb, #2e2b25 22%, transparent); /* Motion */ --ease-spring: cubic-bezier(.34, 1.4, .64, 1); /* nav pill, snap-back, bumps */ --ease-out-soft: cubic-bezier(.2, .8, .2, 1); /* card promotion */ --ease-throw: cubic-bezier(.55, 0, .8, .4); /* fly-off right */ } @media (prefers-reduced-motion: reduce) { :root { --motion-scale: 0; } }