/*
 * NEYA FLOW — design tokens (r104, step 0). Single source of truth for colors.
 * Layer 1 primitives → Layer 2 roles → Layer 3 components. Change brand colors HERE.
 * Step 0–1: values equal the previous literals exactly (zero visual change).
 * *-rgb channels are for rgba(var(--x-rgb), a): keep them in sync with the hex next to them.
 */
:root {
  /* ── Layer 1: primitives ── */
  --neya-sky: #b2d5e5;            /* brand blue (Tailwind name: --color-violet) */
  --neya-sky-rgb: 178, 213, 229;
  --neya-sky-200: #c8e4ef;
  --neya-sky-700: #7ba8bc;

  --neya-lime: #c6ff34;
  --neya-lime-rgb: 198, 255, 52;

  --neya-cream-50: #fff4ea;
  --neya-cream-100: #fbf7f1;
  --neya-cream-200: #f5f1ea;
  --neya-cream-200-rgb: 245, 241, 234;
  --neya-cream-300: #f0efe6;

  --neya-ink-700: #17181a;
  --neya-ink-800: #120c08;
  --neya-ink-900: #0b0c10;
  --neya-ink-950: #050407;

  --neya-ember-100: #ffcfa0;
  --neya-ember-200: #ffc27a;
  --neya-ember-300: #ffb45c;
  --neya-ember-300-rgb: 255, 180, 92;
  --neya-ember-400: #ff9a4a;
  --neya-ember-500: #ff8a3d;
  --neya-orange: #ff5528;

  --neya-red: #c2121f;

  /* ── Layer 2: roles ── */
  --role-brand: var(--neya-sky);
  --role-brand-rgb: var(--neya-sky-rgb);
  --role-accent: var(--neya-lime);
  --role-accent-rgb: var(--neya-lime-rgb);
  --role-warm: var(--neya-ember-300);
  --role-danger: var(--neya-red);
  --role-success: var(--neya-lime);
  --role-focus-ring: var(--neya-sky);
  --role-bg-light: var(--neya-cream-300);
  --role-bg-dark: var(--neya-ink-700);
  --role-text-on-dark: var(--neya-cream-50);

  /* ── Layer 3: components (only via roles; filled in later steps) ── */
  --c-visor-accent: var(--role-brand);
  --c-tariff-accent: var(--role-accent);
  --c-menu-text: var(--role-text-on-dark);

  /* r106b: auth orb ring — keeps its original, more saturated warm shades (component layer) */
  --c-orb-ring-1: #ff4d0d;
  --c-orb-ring-2: #ff8526;
  --c-orb-ring-3: #ffb44d;
  --c-orb-toggle-on: #ff9a5a;
  --c-orb-bg-end: #0a0710;
}

/* r107 step 3: glass (white) / scrim (black) alpha scale — primitives */
:root{
  --glass-02: rgba(255,255,255,.02);
  --glass-03: rgba(255,255,255,.03);
  --glass-04: rgba(255,255,255,.04);
  --glass-05: rgba(255,255,255,.05);
  --glass-06: rgba(255,255,255,.06);
  --glass-07: rgba(255,255,255,.07);
  --glass-08: rgba(255,255,255,.08);
  --glass-09: rgba(255,255,255,.09);
  --glass-10: rgba(255,255,255,.10);
  --glass-12: rgba(255,255,255,.12);
  --glass-14: rgba(255,255,255,.14);
  --glass-15: rgba(255,255,255,.15);
  --glass-16: rgba(255,255,255,.16);
  --glass-18: rgba(255,255,255,.18);
  --glass-20: rgba(255,255,255,.20);
  --glass-25: rgba(255,255,255,.25);
  --glass-30: rgba(255,255,255,.30);
  --glass-35: rgba(255,255,255,.35);
  --glass-40: rgba(255,255,255,.40);
  --glass-45: rgba(255,255,255,.45);
  --glass-50: rgba(255,255,255,.50);
  --glass-55: rgba(255,255,255,.55);
  --glass-60: rgba(255,255,255,.60);
  --glass-65: rgba(255,255,255,.65);
  --glass-70: rgba(255,255,255,.70);
  --glass-75: rgba(255,255,255,.75);
  --glass-80: rgba(255,255,255,.80);
  --glass-85: rgba(255,255,255,.85);
  --glass-90: rgba(255,255,255,.90);
  --glass-95: rgba(255,255,255,.95);
  --scrim-15: rgba(0,0,0,.15);
  --scrim-20: rgba(0,0,0,.20);
  --scrim-25: rgba(0,0,0,.25);
  --scrim-30: rgba(0,0,0,.30);
  --scrim-35: rgba(0,0,0,.35);
  --scrim-40: rgba(0,0,0,.40);
  --scrim-45: rgba(0,0,0,.45);
  --scrim-50: rgba(0,0,0,.50);
  --scrim-55: rgba(0,0,0,.55);
  --scrim-60: rgba(0,0,0,.60);
  --scrim-65: rgba(0,0,0,.65);
  --scrim-70: rgba(0,0,0,.70);
  --scrim-75: rgba(0,0,0,.75);
  --scrim-80: rgba(0,0,0,.80);
  --scrim-85: rgba(0,0,0,.85);
  --scrim-90: rgba(0,0,0,.90);
}

/* ── r112–r114: «Liquid Glass» theme (admin-only test). Default theme above stays untouched. ──
   Structure: ONE shared glass layer  html[data-theme="glass"]  (component fixes, role mappings)
   + TWO palettes  [data-mode="light"] / [data-mode="dark"]  (only colour values differ).
   Palette (sampled from Roman's references): primary blue→cyan #5b9cf0 → #72a8f0 → #84c6f2 → #90e2f6;
   secondary/success teal #3fb3a2 / #6cc9b9 / #86dad1; rare warm accent peach #e9a983 / #e9c194. No violet/magenta. */
:root{
  --c-fg: #fff;
  --c-fg-warm-rgb: 255, 240, 225; --c-fg-warm2-rgb: 255, 244, 234; --c-fg-cream-rgb: 240, 239, 230;
  --c-fg-cool-rgb: 235, 238, 245; --c-fg-cool2-rgb: 240, 242, 248;
}

/* ===== palette: LIGHT ===== */
html[data-theme="glass"][data-mode="light"]{
  color-scheme: light;
  --g-ink-rgb: 23, 32, 43;
  --c-fg: #17202b;
  --c-fg-warm-rgb: 23, 32, 43; --c-fg-warm2-rgb: 23, 32, 43; --c-fg-cream-rgb: 23, 32, 43; --c-fg-cool-rgb: 23, 32, 43; --c-fg-cool2-rgb: 23, 32, 43;
  --neya-sky: #2a9fd0; --neya-sky-rgb: 42, 159, 208; --neya-sky-200: #9fe0ee; --neya-sky-700: #2a8fc0;
  --neya-lime: #3fb3a2; --neya-lime-rgb: 63, 179, 162;
  --neya-cream-50: #17202b; --neya-cream-100: #1d2632; --neya-cream-200: #243040; --neya-cream-200-rgb: 36, 48, 64; --neya-cream-300: #2a3646;
  --neya-ink-700: #eef2f7; --neya-ink-800: #e8eef5; --neya-ink-900: #e2e9f2; --neya-ink-950: #dae3ee;
  /* former warm scale → blue/cyan primary (buttons, active states) */
  --neya-ember-100: #d3e9fb; --neya-ember-200: #b0d8f7; --neya-ember-300: #84c6f2; --neya-ember-300-rgb: 132, 198, 242;
  --neya-ember-400: #72b4f0; --neya-ember-500: #5b9cf0; --neya-orange: #4a8ee8;
  --neya-red: #e0485a;
  --role-text-on-dark: #17202b; --role-bg-dark: #eef2f7; --role-bg-light: #f6f8fb;
  --c-orb-ring-1: #5b9cf0; --c-orb-ring-2: #84c6f2; --c-orb-ring-3: #90e2f6; --c-orb-toggle-on: #3fb3a2; --c-orb-bg-end: #e6edf5;
  --c-accent-warm: #e9a983; --c-accent-warm-2: #e9c194;
  --c-panel-rgb: 250, 252, 255; --c-panel-solid: rgba(250,252,255,.94); --c-panel-border: rgba(255,255,255,.9);
  --glass-02: rgba(255,255,255,.40); --glass-03: rgba(255,255,255,.42); --glass-04: rgba(255,255,255,.45);
  --glass-05: rgba(255,255,255,.48); --glass-06: rgba(255,255,255,.50); --glass-07: rgba(255,255,255,.52);
  --glass-08: rgba(255,255,255,.55); --glass-09: rgba(255,255,255,.58); --glass-10: rgba(255,255,255,.60);
  --glass-12: rgba(255,255,255,.65); --glass-14: rgba(255,255,255,.70); --glass-15: rgba(255,255,255,.72);
  --glass-16: rgba(255,255,255,.74); --glass-18: rgba(255,255,255,.78); --glass-20: rgba(255,255,255,.82);
  --glass-25: rgba(23,32,43,.30); --glass-30: rgba(23,32,43,.36); --glass-35: rgba(23,32,43,.42); --glass-40: rgba(23,32,43,.48);
  --glass-45: rgba(23,32,43,.54); --glass-50: rgba(23,32,43,.58); --glass-55: rgba(23,32,43,.62); --glass-60: rgba(23,32,43,.66);
  --glass-65: rgba(23,32,43,.70); --glass-70: rgba(23,32,43,.74); --glass-75: rgba(23,32,43,.78); --glass-80: rgba(23,32,43,.82);
  --glass-85: rgba(23,32,43,.86); --glass-90: rgba(23,32,43,.90); --glass-95: rgba(23,32,43,.94);
  --scrim-15: rgba(40,60,90,.06); --scrim-20: rgba(40,60,90,.08); --scrim-25: rgba(40,60,90,.09); --scrim-30: rgba(40,60,90,.10);
  --scrim-35: rgba(40,60,90,.12); --scrim-40: rgba(40,60,90,.14); --scrim-45: rgba(40,60,90,.16); --scrim-50: rgba(40,60,90,.18);
  --scrim-55: rgba(40,60,90,.20); --scrim-60: rgba(40,60,90,.22); --scrim-65: rgba(40,60,90,.24); --scrim-70: rgba(40,60,90,.26);
  --scrim-75: rgba(40,60,90,.28); --scrim-80: rgba(40,60,90,.30); --scrim-85: rgba(40,60,90,.32); --scrim-90: rgba(40,60,90,.34);
  --g-color-background: #eef2f7; --g-color-foreground: #17202b; --g-color-card: rgba(255,255,255,.7); --g-color-card-foreground: #17202b;
  --g-color-secondary: rgba(255,255,255,.6); --g-color-secondary-foreground: #17202b; --g-color-muted: rgba(255,255,255,.55);
  --g-color-muted-foreground: #5b6878; --g-color-border: rgba(255,255,255,.75); --g-color-input: rgba(255,255,255,.75);
  --g-color-primary: #5b9cf0; --g-color-primary-foreground: #0d1b2c; --g-color-accent: #3fb3a2;
  --g-bg: radial-gradient(60% 45% at 10% 6%, rgba(132,198,242,.55), transparent 70%),
          radial-gradient(55% 45% at 95% 30%, rgba(144,226,246,.45), transparent 70%),
          radial-gradient(60% 50% at 70% 96%, rgba(134,218,209,.42), transparent 70%),
          radial-gradient(30% 25% at 85% 4%, rgba(233,169,131,.22), transparent 70%), #e9eff6;
}

/* ===== palette: DARK ===== */
/* the visor sits over the camera → it always uses the dark palette (also inside light glass) */
html[data-theme="glass"][data-mode="dark"],
html[data-theme="glass"][data-mode="light"] .flow-visor-root{
  color-scheme: dark;
  --g-ink-rgb: 232, 240, 250;
  --c-fg: #eef4fb;
  --c-fg-warm-rgb: 232, 240, 250; --c-fg-warm2-rgb: 232, 240, 250; --c-fg-cream-rgb: 232, 240, 250; --c-fg-cool-rgb: 232, 240, 250; --c-fg-cool2-rgb: 232, 240, 250;
  --neya-sky: #90e2f6; --neya-sky-rgb: 144, 226, 246; --neya-sky-200: #c4f0fa; --neya-sky-700: #5fb6d8;
  --neya-lime: #6cc9b9; --neya-lime-rgb: 108, 201, 185;
  --neya-cream-50: #eef4fb; --neya-cream-100: #e6eef8; --neya-cream-200: #dbe6f2; --neya-cream-200-rgb: 219, 230, 242; --neya-cream-300: #d2deec;
  --neya-ink-700: #0e1626; --neya-ink-800: #0b1220; --neya-ink-900: #08101c; --neya-ink-950: #050b15;
  --neya-ember-100: #cfe9fb; --neya-ember-200: #aedcf8; --neya-ember-300: #8fd0f5; --neya-ember-300-rgb: 143, 208, 245;
  --neya-ember-400: #79bdf3; --neya-ember-500: #62a4f1; --neya-orange: #4f93ec;
  --neya-red: #ef5d6c;
  --role-text-on-dark: #eef4fb; --role-bg-dark: #0e1626; --role-bg-light: #16213a;
  --c-orb-ring-1: #4f93ec; --c-orb-ring-2: #79bdf3; --c-orb-ring-3: #90e2f6; --c-orb-toggle-on: #6cc9b9; --c-orb-bg-end: #08101c;
  --c-accent-warm: #e9a983; --c-accent-warm-2: #e9c194;
  --c-panel-rgb: 16, 26, 44; --c-panel-solid: rgba(16,26,44,.94); --c-panel-border: rgba(180,215,255,.16);
  --glass-02: rgba(200,225,255,.03); --glass-03: rgba(200,225,255,.04); --glass-04: rgba(200,225,255,.05);
  --glass-05: rgba(200,225,255,.06); --glass-06: rgba(200,225,255,.07); --glass-07: rgba(200,225,255,.08);
  --glass-08: rgba(200,225,255,.09); --glass-09: rgba(200,225,255,.10); --glass-10: rgba(200,225,255,.11);
  --glass-12: rgba(200,225,255,.13); --glass-14: rgba(200,225,255,.15); --glass-15: rgba(200,225,255,.16);
  --glass-16: rgba(200,225,255,.17); --glass-18: rgba(200,225,255,.19); --glass-20: rgba(200,225,255,.21);
  --glass-25: rgba(232,240,250,.25); --glass-30: rgba(232,240,250,.30); --glass-35: rgba(232,240,250,.35); --glass-40: rgba(232,240,250,.40);
  --glass-45: rgba(232,240,250,.45); --glass-50: rgba(232,240,250,.50); --glass-55: rgba(232,240,250,.55); --glass-60: rgba(232,240,250,.60);
  --glass-65: rgba(232,240,250,.65); --glass-70: rgba(232,240,250,.70); --glass-75: rgba(232,240,250,.75); --glass-80: rgba(232,240,250,.80);
  --glass-85: rgba(232,240,250,.85); --glass-90: rgba(232,240,250,.90); --glass-95: rgba(232,240,250,.95);
  --scrim-15: rgba(2,6,14,.15); --scrim-20: rgba(2,6,14,.20); --scrim-25: rgba(2,6,14,.25); --scrim-30: rgba(2,6,14,.30);
  --scrim-35: rgba(2,6,14,.35); --scrim-40: rgba(2,6,14,.40); --scrim-45: rgba(2,6,14,.45); --scrim-50: rgba(2,6,14,.50);
  --scrim-55: rgba(2,6,14,.55); --scrim-60: rgba(2,6,14,.60); --scrim-65: rgba(2,6,14,.65); --scrim-70: rgba(2,6,14,.70);
  --scrim-75: rgba(2,6,14,.75); --scrim-80: rgba(2,6,14,.80); --scrim-85: rgba(2,6,14,.85); --scrim-90: rgba(2,6,14,.90);
  --g-color-background: #0e1626; --g-color-foreground: #eef4fb; --g-color-card: rgba(200,225,255,.08); --g-color-card-foreground: #eef4fb;
  --g-color-secondary: rgba(200,225,255,.10); --g-color-secondary-foreground: #eef4fb; --g-color-muted: rgba(200,225,255,.08);
  --g-color-muted-foreground: #9fb0c4; --g-color-border: rgba(180,215,255,.16); --g-color-input: rgba(180,215,255,.16);
  --g-color-primary: #62a4f1; --g-color-primary-foreground: #06121f; --g-color-accent: #6cc9b9;
  --g-bg: radial-gradient(60% 45% at 10% 6%, rgba(79,147,236,.30), transparent 70%),
          radial-gradient(55% 45% at 95% 30%, rgba(144,226,246,.16), transparent 70%),
          radial-gradient(60% 50% at 70% 96%, rgba(108,201,185,.18), transparent 70%),
          radial-gradient(30% 25% at 85% 4%, rgba(233,169,131,.10), transparent 70%), #0a1120;
}

/* r113: light tint literals (text accents) — default = original hex; light glass = deeper shade for contrast */
:root{
  --c-tint-cfe8ff: #cfe8ff;
  --c-tint-bfe3ff: #bfe3ff;
  --c-tint-9fc4ff: #9fc4ff;
  --c-tint-9fd2ff: #9fd2ff;
  --c-tint-7cc4ff: #7cc4ff;
  --c-tint-ffcfae: #ffcfae;
  --c-tint-ffb27a: #ffb27a;
  --c-tint-ffd27a: #ffd27a;
}
html[data-theme="glass"][data-mode="light"]{
  --c-tint-cfe8ff: #2f7fd8;
  --c-tint-bfe3ff: #2f7fd8;
  --c-tint-9fc4ff: #3a86de;
  --c-tint-9fd2ff: #2f8fd0;
  --c-tint-7cc4ff: #3f8fe0;
  --c-tint-ffcfae: #d98a5e;
  --c-tint-ffb27a: #d98a5e;
  --c-tint-ffd27a: #c99a3e;
}

/* r113: warm glow/accent literals → tokens (default identical); glass maps them to the blue/cyan primary */
:root{
  --c-w-150-60: 255, 150, 60;
  --c-w-210-160: 255, 210, 160;
  --c-w-210-170: 255, 210, 170;
  --c-w-190-100: 255, 190, 100;
  --c-w-170-60: 255, 170, 60;
  --c-w-138-61: 255, 138, 61;
  --c-w-140-60: 255, 140, 60;
  --c-w-150-80: 255, 150, 80;
  --c-w-154-74: 255, 154, 74;
  --c-w-160-80: 255, 160, 80;
  --c-w-170-90: 255, 170, 90;
  --c-w-170-110: 255, 170, 110;
  --c-w-189-102: 255, 189, 102;
  --c-w-190-80: 255, 190, 80;
  --c-w-190-110: 255, 190, 110;
  --c-w-190-140: 255, 190, 140;
  --c-w-200-90: 255, 200, 90;
  --c-w-200-130: 255, 200, 130;
  --c-w-200-140: 255, 200, 140;
  --c-w-200-150: 255, 200, 150;
  --c-w-200-160: 255, 200, 160;
  --c-w-205-110: 255, 205, 110;
  --c-w-207-160: 255, 207, 160;
  --c-w-210-154: 255, 210, 154;
  --c-w-214-150: 255, 214, 150;
  --c-w-214-180: 255, 214, 180;
}
html[data-theme="glass"]{
  --c-w-150-60: 91, 156, 240;
  --c-w-210-160: 160, 208, 246;
  --c-w-210-170: 160, 208, 246;
  --c-w-190-100: 114, 180, 240;
  --c-w-170-60: 114, 180, 240;
  --c-w-138-61: 91, 156, 240;
  --c-w-140-60: 91, 156, 240;
  --c-w-150-80: 91, 156, 240;
  --c-w-154-74: 91, 156, 240;
  --c-w-160-80: 91, 156, 240;
  --c-w-170-90: 114, 180, 240;
  --c-w-170-110: 114, 180, 240;
  --c-w-189-102: 114, 180, 240;
  --c-w-190-80: 114, 180, 240;
  --c-w-190-110: 114, 180, 240;
  --c-w-190-140: 114, 180, 240;
  --c-w-200-90: 160, 208, 246;
  --c-w-200-130: 160, 208, 246;
  --c-w-200-140: 160, 208, 246;
  --c-w-200-150: 160, 208, 246;
  --c-w-200-160: 160, 208, 246;
  --c-w-205-110: 160, 208, 246;
  --c-w-207-160: 160, 208, 246;
  --c-w-210-154: 160, 208, 246;
  --c-w-214-150: 160, 208, 246;
  --c-w-214-180: 160, 208, 246;
}

/* ===== shared glass layer (same rules for both palettes) ===== */
/* Tailwind roles: also on nested .dark wrappers (they re-declare --color-* locally) */
html[data-theme="glass"], html[data-theme="glass"].dark, html[data-theme="glass"] .dark{
  --color-accent: var(--g-color-accent);
  --color-background: var(--g-color-background);
  --color-border: var(--g-color-border);
  --color-card: var(--g-color-card);
  --color-card-foreground: var(--g-color-card-foreground);
  --color-foreground: var(--g-color-foreground);
  --color-input: var(--g-color-input);
  --color-muted: var(--g-color-muted);
  --color-muted-foreground: var(--g-color-muted-foreground);
  --color-primary: var(--g-color-primary);
  --color-primary-foreground: var(--g-color-primary-foreground);
  --color-secondary: var(--g-color-secondary);
  --color-secondary-foreground: var(--g-color-secondary-foreground);
}
html[data-theme="glass"] body{ background: var(--g-bg) fixed; color: var(--c-fg); }
html[data-theme="glass"] .flow-cookie-consent,
html[data-theme="glass"] .flow-cookie-strip{ background: var(--c-panel-solid) !important; color: var(--c-fg) !important; border-color: var(--c-panel-border) !important; -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%); }
html[data-theme="glass"] .flow-cookie-consent :is(p,span,label,small,a:not([class*="btn"])){ color: var(--glass-70); }
html[data-theme="glass"] .flow-cookie-consent__title{ color: var(--c-fg) !important; }
html[data-theme="glass"] .flow-cookie-consent__btn--secondary{ color: var(--c-fg) !important; background: var(--glass-10) !important; }

/* r115: glass controls — palette values */
html[data-theme="glass"][data-mode="light"]{
  --g-ctrl-bg: rgba(255,255,255,.62); --g-ctrl-border: rgba(255,255,255,.92); --g-ctrl-fg: #17202b; --g-ctrl-shadow: 0 6px 18px rgba(40,60,90,.14);
  --g-btn-grad: linear-gradient(135deg, #5b9cf0 0%, #72b4f0 55%, #84c6f2 100%); --g-btn-fg: #0d1b2c; --g-btn-shadow: 0 6px 18px rgba(91,156,240,.30);
  --g-pill-accent-rgb: 42, 157, 140;
}
html[data-theme="glass"][data-mode="dark"]{
  --g-ctrl-bg: rgba(200,225,255,.10); --g-ctrl-border: rgba(180,215,255,.18); --g-ctrl-fg: #eef4fb; --g-ctrl-shadow: 0 6px 18px rgba(2,6,14,.35);
  --g-btn-grad: linear-gradient(135deg, #4f93ec 0%, #79bdf3 55%, #8fd0f5 100%); --g-btn-fg: #06121f; --g-btn-shadow: 0 6px 18px rgba(79,147,236,.30);
  --g-pill-accent-rgb: 86, 255, 22;
}
/* r115: glass controls — shared rules */
html[data-theme="glass"] :is(.flow-legacy-menu-btn, .fm4-close){
  background: var(--g-ctrl-bg) !important; color: var(--g-ctrl-fg) !important; border: 1px solid var(--g-ctrl-border) !important;
  box-shadow: var(--g-ctrl-shadow) !important; -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
}
html[data-theme="glass"] .flow-prompt-pill{
  background-color: var(--g-ctrl-bg) !important; border-color: var(--g-ctrl-border) !important; color: var(--g-ctrl-fg) !important;
  background-image: linear-gradient(90deg, rgba(var(--g-pill-accent-rgb), .10), rgba(var(--g-pill-accent-rgb), .03)) !important;
  box-shadow: var(--g-ctrl-shadow) !important; -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
}
html[data-theme="glass"] .flow-prompt-pill__text{ color: var(--g-ctrl-fg) !important; opacity: .72; }
html[data-theme="glass"] .flow-prompt-pill__pencil{ color: rgb(var(--g-pill-accent-rgb)) !important; background: rgba(var(--g-pill-accent-rgb), .16) !important; }
html[data-theme="glass"] .flow-cookie-strip__ok{
  background: var(--g-btn-grad) !important; color: var(--g-btn-fg) !important; border-color: transparent !important; box-shadow: var(--g-btn-shadow) !important; opacity: 1 !important;
}

/* r116: loading splash follows the glass palette (light: light bg + dark text; dark: navy). The WebGL beam canvas is opaque black:
   light → inverted+hue-rotated (black→white, beams keep their hue) and multiplied onto the bg; dark → screened onto the navy bg. */
html[data-theme="glass"] :is(.flow-app-loading-screen, .flow-app-loading-screen--light, .flow-light-loader){ background: var(--g-bg) !important; }
html[data-theme="glass"][data-mode="light"] .flow-light-loader__canvas{ filter: invert(1) hue-rotate(180deg) saturate(1.3); mix-blend-mode: multiply; }
html[data-theme="glass"][data-mode="dark"] .flow-light-loader__canvas{ mix-blend-mode: screen; }
html[data-theme="glass"] .flow-light-loader__word{ color: var(--glass-90); }

/* r116: «Что нового» image cards are a dark context in both palettes — fixed dark scrim under the text, light text */
html[data-theme="glass"] .fm4 .fm4-card-img::after{ background: linear-gradient(90deg, rgba(8,14,24,.78) 0%, rgba(8,14,24,.5) 45%, rgba(8,14,24,0) 85%), linear-gradient(0deg, rgba(8,14,24,.35) 0%, rgba(8,14,24,0) 45%); }
html[data-theme="glass"] .flow-legacy-menu-panel.fm4 .fm4-card:has(.fm4-card-img) .fm4-card-h{ color: #fff !important; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
html[data-theme="glass"] .flow-legacy-menu-panel.fm4 .fm4-card:has(.fm4-card-img) .fm4-card-p{ color: rgba(255,255,255,.86) !important; text-shadow: 0 1px 6px rgba(0,0,0,.45); }
html[data-theme="glass"] .flow-legacy-menu-panel.fm4 .fm4-card:has(.fm4-card-img) .fm4-chip{ color: #fff !important; background: rgba(8,14,24,.35) !important; border-color: rgba(255,255,255,.25) !important; }
html[data-theme="glass"] .flow-legacy-menu-panel.fm4 .fm4-car-arrow{ background: var(--g-ctrl-bg); border-color: var(--g-ctrl-border); color: var(--g-ctrl-fg); box-shadow: var(--g-ctrl-shadow); }

/* r116: style-of-day «?» chip and reveal effects — no violet/magenta in glass: peach (SOD accent) + cyan + teal */
html[data-theme="glass"] .flow-visor-root .sinfo .n .sod-q{ background: conic-gradient(from 0deg, #e9a983, #84c6f2, #6cc9b9, #e9a983); box-shadow: 0 0 10px rgba(233,169,131,.6); }
html[data-theme="glass"] .sod-reveal-q{ text-shadow: -3px 0 rgba(233,169,131,.85), 3px 0 rgba(144,226,246,.85); }
html[data-theme="glass"] .sod-reveal-name{ background-image: linear-gradient(100deg, #fff 0%, #e9a983 22%, #84c6f2 40%, #6cc9b9 58%, #fff 76%, #e9a983 100%); }

/* r116: auth orb (/login, /register) — blue/cyan in glass; primary auth buttons = palette gradient */
html[data-theme="glass"] .af-orb .halo{ background: conic-gradient(from 200deg, rgba(91,156,240,0), rgba(91,156,240,.35), rgba(144,226,246,.35), rgba(108,201,185,.32), rgba(233,169,131,.18), rgba(91,156,240,0)); }
html[data-theme="glass"] .af-orb .ring{ background: radial-gradient(circle at 50% 55%, rgba(0,0,0,0) 0 calc(var(--hole,.36)*100% - 6%), rgba(10,40,90,.85) calc(var(--hole,.36)*100%), var(--c-orb-ring-1) calc(var(--hole,.36)*100% + 9%), var(--c-orb-ring-2) calc(var(--hole,.36)*100% + 17%), var(--c-orb-ring-3) calc(var(--hole,.36)*100% + 22%), rgba(91,156,240,.55) 66%, rgba(91,156,240,0) 71%); }
html[data-theme="glass"] .af-orb .shine{ background: radial-gradient(closest-side at 30% 34%, rgba(200,240,255,.75), transparent 70%); }
html[data-theme="glass"] .af-orb .core{ background: radial-gradient(circle at 50% 60%, rgba(79,147,236,.55), rgba(0,0,0,0) 70%); }
html[data-theme="glass"] :is(.af-btn, .af-go){ background: var(--g-btn-grad); color: var(--g-btn-fg); box-shadow: var(--g-btn-shadow); }

/* r116: light text tints on light glass → deeper primary; cookie primary button = palette gradient (both modes) */
html[data-theme="glass"][data-mode="light"] :is(.fm4-tar, .profile-edit-username-prefix, .flow-tariff-feature-check){ color: var(--neya-orange) !important; }
html[data-theme="glass"] .flow-cookie-consent__btn--primary{ background: var(--g-btn-grad) !important; color: var(--g-btn-fg) !important; border-color: transparent !important; box-shadow: var(--g-btn-shadow) !important; }
