/* Generated by scripts/sync-app-data.cjs from livufit-app/src/styles/theme.css. Do not edit here:
   change the app palette and run `npm run sync:app`. The device setting chooses light or dark. */
:root{color-scheme:light;
color-scheme:light;
 --bg:#f4f8f8;--surface:#ffffff;--surface-2:#f7fafa;--tint:#e6f3f4;--tint-2:#cfe6e6;
 --line:#d8e5e6;--line-2:#9dbcc0;
 --ink:#103f47;--muted:#4f6b72;
 --brand:#07727b;--brand-fill:#087f89;--brand-soft:#5b9ca0;--brand-deep:#075b67;--hero:#063d48;--hero-2:#164f53;
 --on-dark:#ffffff;--on-dark-soft:#dff6e9;--on-accent:#063d48;
 --lime:#b9f578;--lime-soft:#e6f7cf;--mint:#8cf0d8;
 --glass:rgba(255,255,255,.08);--glass-2:rgba(255,255,255,.16);--frost:rgba(255,255,255,.93);
 --veil:rgba(6,61,72,.08);--scrim:rgba(6,61,72,.45);--backdrop:rgba(6,61,72,.24);--backdrop-strong:rgba(6,61,72,.34);
 --shadow-1:rgba(6,61,72,.06);--shadow-2:rgba(6,61,72,.14);--shadow-3:rgba(6,61,72,.28);
 --ok:#1f7a4d;--ok-soft:#a9d8bc;--ok-bg:#e3f5ea;--ok-line:#a9d8bc;--ok-fill:#64a044;
 --warn:#8a5a12;--warn-soft:#f3cfae;--warn-bg:#fff3de;--warn-line:#efd6a8;--warn-fill:#ef9f4f;
 --bad:#a12626;--bad-soft:#f3b9b0;--bad-bg:#fbe6e6;--bad-line:#f2d1ce;--bad-fill:#d9543a;
 --heart:#9c416c;--heart-soft:#efc3d4;--heart-bg:#fff0f6;--heart-line:#f1dbe4;--heart-fill:#ad537d;
 --macro-protein:#8577b0;--macro-fat:#bc8a42;--route-a:#3d5a80;--route-b:#5b7fb0;--route-c:#98b8de;
 /* Accent tones for labels, tiles and rings (1.5.0): flame = calories, water, strength = purple, cardio = blue, food = green, calm = lilac, gold = rewards. */
 --accent-flame:#e8772e;--accent-flame-bg:#fdebdd;--accent-water:#2f8fd8;--accent-water-bg:#e2f0fc;--accent-strength:#6d5bd0;--accent-strength-bg:#ebe7fb;--accent-cardio:#1f8fb8;--accent-cardio-bg:#e0f2f9;--accent-food:#2f9a5b;--accent-food-bg:#e2f5e8;--accent-calm:#8a63c9;--accent-calm-bg:#f0e9fb;--accent-gold:#b8862a;--accent-gold-bg:#fbf1db;
 --hero-image-overlay:rgba(6,61,72,.55);
 /* Text and veils on a hero photo with a light variant (Home, strength workout): the light theme shows the bright photo with
    dark petrol text on a soft light wash; the dark theme the dark photo with white text on a dark veil. --photo-night darkens
    the Home photo at night in the dark theme only. */
 --photo-bg:#f4f8f8;--photo-ink:#103f47;--photo-ink-soft:#2c5a63;--photo-accent:#075b67;
 --photo-wash:rgba(244,248,248,.82);--photo-wash-soft:rgba(244,248,248,.36);--photo-wash-evening:rgba(244,248,248,.7);
 --photo-veil:rgba(244,248,248,.5);--photo-halo:rgba(255,255,255,.55);
 /* The soft pulse around the plan reveal's note when it has come to life: teal on the light card, lime on the dark one. */
 --ai-glow:#0e9ca6;--ai-glow-soft:rgba(14,156,166,.22);
 --photo-glass:rgba(255,255,255,.7);--photo-glass-ink:#103f47;--photo-glass-line:rgba(16,63,71,.12);--photo-night:transparent;
 --theme-color:#f4f8f8;
 /* Sportschermen (trainingsoverzicht, oefeningscherm, sportsessies) volgen het gewone palet:
    licht is licht, donker is donker. Alleen tekst óp een foto blijft --on-dark met --scrim. */
 --focus-bg:var(--bg);--focus-card:var(--surface);--focus-card-2:var(--surface-2);
 --focus-ink:var(--ink);--focus-soft:var(--muted);
 --focus-line:var(--line);--focus-line-2:var(--line-2);
 --focus-veil:var(--veil);--focus-veil-2:var(--tint);--focus-track:var(--tint-2);
 --muscle-primary:#d63a2f;--muscle-secondary:#2f7fd6;
 /* The opaque stop of a mask-image gradient (only its alpha counts, so it is the same in both themes). */
 --mask:#000;
 /* An unchecked radio button or checkbox: white in both themes, like the native controls (see below). */
 --control-bg:#ffffff;
 /* Contrast (26 Sept 2026): text in an accent tone uses its -ink shade (WCAG AA on the tone's -bg and on white); icons
    and rings keep the bright accent. Text on the always-dark 3D stage uses --on-stage-*; the stop button of a running
    cooking timer --timer-stop-bg; small light text on --brand-fill --on-fill-soft; a waiting "Online zoeken" button
    --idle-opacity. The dark theme keeps its previous colours for all of these. */
 --accent-food-ink:#267b49;--accent-calm-ink:#7d51c3;--accent-gold-ink:#8c6620;--accent-flame-ink:#ad4f13;--accent-water-ink:#206fab;--accent-cardio-ink:#197293;--accent-strength-ink:#6754ce;
 --on-stage-muted:#9fb9bd;--on-stage-link:#4cc5ce;--timer-stop-bg:var(--scrim);--on-fill-soft:var(--on-dark);--idle-opacity:.78;
 /* Sign in with Apple / Google / Microsoft (2 Oct 2026): each provider's own button colours from its brand rules, light and dark. */
 --brand-apple-bg:#000000;--brand-apple-ink:#ffffff;
 --brand-google-bg:#ffffff;--brand-google-line:#747775;--brand-google-ink:#1f1f1f;
 --brand-ms-bg:#ffffff;--brand-ms-line:#8c8c8c;--brand-ms-ink:#5e5e5e;
 /* Polish system (9 Oct 2026, Claude Design + ChatGPT review, docs/design-polish.md): edges that identify a control, pressed,
    disabled and focus states, a quiet divider inside a panel, the area under a chart line and the resting card shadow. */
 --control-surface:#f7fafa;--control-line:#6d8b91;--surface-pressed:#edf4f4;--divider-soft:#e7eeee;
 --focus-ring:#07727b;--primary-hover:#afe96c;--primary-pressed:#a3de61;--disabled-bg:#e6eeee;--disabled-ink:#526d74;
 --chart-area:rgba(7,114,123,.08);
 /* The chosen option of a choice group (segments, chips, view switches, option cards; owner 15 Oct 2026: a chosen Ja/Nee
    was only a slightly darker shade). A filled --selected face stands out 3:1 or more from an unchosen option in both
    themes (WCAG 1.4.11, tests/choice-contrast-browser.cjs); --on-selected is the text on it (4.5:1 or more): white on the
    dark teal in the light theme, dark petrol on the light teal in the dark theme. --selected-check is the tick of a checked
    checkbox in --on-selected. --selected-line is the 2 px edge of a chosen
    option card that keeps its own background. */
 --selected:var(--brand);--on-selected:var(--on-dark);--selected-line:var(--brand);
 --selected-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3.2 3.2L15 6.5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 --shadow-card:0 1px 2px rgba(6,61,72,.04),0 8px 24px -14px rgba(6,61,72,.14);
 --shadow-float:0 12px 32px rgba(6,61,72,.12);
}
@media (prefers-color-scheme:dark){:root{color-scheme:dark;
--brand-apple-bg:#ffffff;--brand-apple-ink:#000000;
 --brand-google-bg:#131314;--brand-google-line:#8e918f;--brand-google-ink:#e3e3e3;
 --brand-ms-bg:#2f2f2f;--brand-ms-line:#5e5e5e;--brand-ms-ink:#ffffff;
 color-scheme:dark;
 --bg:#0b1a1e;--surface:#142a30;--surface-2:#193239;--tint:#1e3c44;--tint-2:#26505a;
 --line:#2b4a52;--line-2:#3f6570;
 --ink:#e8f2f3;--muted:#9fb9bd;
 --brand:#4cc5ce;--brand-fill:#0b767f;--brand-soft:#3a7d84;--brand-deep:#0c6b75;--hero:#0e2b31;--hero-2:#1a474d;
 --on-dark:#ffffff;--on-dark-soft:#dff6e9;--on-accent:#063d48;
 --lime:#b9f578;--lime-soft:#22391f;--mint:#8cf0d8;
 --glass:rgba(255,255,255,.08);--glass-2:rgba(255,255,255,.16);--frost:rgba(20,42,48,.93);
 --veil:rgba(255,255,255,.08);--scrim:rgba(0,0,0,.6);--backdrop:rgba(0,0,0,.38);--backdrop-strong:rgba(0,0,0,.52);
 --shadow-1:rgba(0,0,0,.3);--shadow-2:rgba(0,0,0,.45);--shadow-3:rgba(0,0,0,.6);
 --ok:#7fd29a;--ok-soft:#a9d8bc;--ok-bg:#163a2a;--ok-line:#2a5c40;--ok-fill:#4f8f35;
 --warn:#f2c15c;--warn-soft:#f3cfae;--warn-bg:#3b2e12;--warn-line:#5c4a1c;--warn-fill:#d98a3a;
 --bad:#ff8f88;--bad-soft:#f3b9b0;--bad-bg:#3d1c1c;--bad-line:#5e2e2e;--bad-fill:#c94a32;
 --heart:#f19ac0;--heart-soft:#efc3d4;--heart-bg:#3a1f2c;--heart-line:#5c3344;--heart-fill:#ad537d;
 --macro-protein:#8577b0;--macro-fat:#bc8a42;--route-a:#3d5a80;--route-b:#5b7fb0;--route-c:#98b8de;
 --accent-flame:#ff9a4d;--accent-flame-bg:#3a2415;--accent-water:#6cc0ff;--accent-water-bg:#15304a;--accent-strength:#a89cf0;--accent-strength-bg:#2a2650;--accent-cardio:#5fc9ee;--accent-cardio-bg:#123a4a;--accent-food:#7bd69a;--accent-food-bg:#163a2a;--accent-calm:#c4a8ff;--accent-calm-bg:#2d2446;--accent-gold:#f2c15c;--accent-gold-bg:#3b2e12;
 --hero-image-overlay:rgba(11,26,30,.62);
 --photo-bg:#0e2b31;--photo-ink:#ffffff;--photo-ink-soft:#dff6e9;--photo-accent:#b9f578;
 --photo-wash:rgba(11,26,30,.62);--photo-wash-soft:rgba(11,26,30,.3);--photo-wash-evening:rgba(11,26,30,.62);
 --photo-veil:rgba(0,0,0,.6);--photo-halo:rgba(0,0,0,.6);
 --ai-glow:#b9f578;--ai-glow-soft:rgba(185,245,120,.2);
 --photo-glass:rgba(255,255,255,.16);--photo-glass-ink:#ffffff;--photo-glass-line:rgba(255,255,255,.16);--photo-night:rgba(0,0,0,.6);
 --theme-color:#0b1a1e;
 --focus-bg:var(--bg);--focus-card:var(--surface);--focus-card-2:var(--surface-2);
 --focus-ink:var(--ink);--focus-soft:var(--muted);
 --focus-line:var(--line);--focus-line-2:var(--line-2);
 --focus-veil:var(--veil);--focus-veil-2:var(--tint);--focus-track:var(--tint-2);
 --muscle-primary:#ff7a6e;--muscle-secondary:#6cb0ff;
 --mask:#000;
 --control-bg:#ffffff;
 --accent-food-ink:var(--accent-food);--accent-calm-ink:var(--accent-calm);--accent-gold-ink:var(--accent-gold);--accent-flame-ink:var(--accent-flame);--accent-water-ink:var(--accent-water);--accent-cardio-ink:var(--accent-cardio);--accent-strength-ink:var(--accent-strength);
 --on-stage-muted:var(--muted);--on-stage-link:var(--brand);--timer-stop-bg:var(--scrim);--on-fill-soft:var(--on-dark-soft);--idle-opacity:.55;
 --control-surface:#193239;--control-line:#739198;--surface-pressed:#203a42;--divider-soft:#203b42;
 --focus-ring:#8cf0d8;--primary-hover:#afe96c;--primary-pressed:#a3de61;--disabled-bg:#20343a;--disabled-ink:#97b0b5;
 --chart-area:rgba(76,197,206,.08);
 --selected:var(--brand);--on-selected:var(--on-accent);--selected-line:var(--brand);
 --selected-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3.2 3.2L15 6.5' fill='none' stroke='%23063d48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 /* A dark card gets its depth from the surface step and the hairline, not from heavier black shadows. */
 --shadow-card:none;
 --shadow-float:0 16px 40px rgba(0,0,0,.32);
}}
