/* Dadplus Android Color System v54
   Principal visual-system refresh for Android/TWA.
   Single semantic palette; page layers consume tokens rather than inventing colors. */

html[data-dadplus-app="android"] {
  /* Primary — sober legal navy, softened for modern Android surfaces. */
  --color-primary: #17324d;
  --color-primary-strong: #0f2438;
  --color-primary-soft: #e8f0f6;

  /* Tertiary accent — warm copper, used sparingly for emphasis/status. */
  --color-accent: #b76628;
  --color-accent-strong: #7a431d;
  --color-accent-soft: #fff1e5;

  /* Material-like surface hierarchy. */
  --color-bg-app: #f7f9fb;
  --color-bg-page: var(--color-bg-app);
  --color-surface-1: #ffffff;
  --color-surface-2: #f2f5f8;
  --color-surface-3: #e7edf2;
  --color-surface-warm: #fffaf6;
  --color-nav-surface: #fbfcfd;

  /* Text — all normal-text pairs meet the repo AAA gate. */
  --color-text-primary: #112132;
  --color-text-secondary: #405365;
  --color-text-muted: #425466;
  --color-on-primary: #ffffff;
  --color-on-primary-strong: #ffffff;
  --color-on-accent: #160a03;
  --color-on-danger: #ffffff;

  /* Dividers, outlines and focus are deliberately quieter than previous versions. */
  --color-border: #ccd6df;
  --color-border-subtle: #e1e7ec;
  --color-divider: var(--color-border-subtle);
  --color-focus: var(--color-primary);

  /* Semantic states. */
  --color-success: #2f7d4b;
  --color-success-strong: #215936;
  --color-success-soft: #eaf6ee;
  --color-warning: #b76628;
  --color-warning-strong: #7a431d;
  --color-warning-soft: #fff1e5;
  --color-danger: #b3261e;
  --color-danger-strong: #8c1d18;
  --color-danger-soft: #fce8e6;
  --color-info: #356a94;
  --color-info-strong: #285476;
  --color-info-soft: #eaf2f8;

  /* Subtle elevation only. */
  --color-overlay: rgba(17, 33, 50, .48);
  --shadow-none: none;
  --shadow-subtle: 0 1px 2px rgba(17, 33, 50, .04), 0 5px 18px rgba(23, 50, 77, .035);
  --shadow-elevated: 0 2px 5px rgba(17, 33, 50, .05), 0 12px 32px rgba(23, 50, 77, .055);
  --shadow-modal: 0 22px 60px rgba(17, 33, 50, .20);

  /* Bridge existing design-system consumers to the new source of truth. */
  --dp39-brand: var(--color-primary);
  --dp39-brand-strong: var(--color-primary-strong);
  --dp39-brand-soft: var(--color-primary-soft);
  --dp39-accent: var(--color-accent);
  --dp39-accent-strong: var(--color-accent-strong);
  --dp39-accent-soft: var(--color-accent-soft);
  --dp39-success: var(--color-success);
  --dp39-success-soft: var(--color-success-soft);
  --dp39-danger: var(--color-danger);
  --dp39-danger-soft: var(--color-danger-soft);
  --dp39-bg: var(--color-bg-app);
  --dp39-surface: var(--color-surface-1);
  --dp39-surface-soft: var(--color-surface-2);
  --dp39-surface-warm: var(--color-surface-warm);
  --dp39-text: var(--color-text-primary);
  --dp39-muted: var(--color-text-secondary);
  --dp39-subtle: var(--color-text-muted);
  --dp39-line: var(--color-border-subtle);
  --dp39-line-strong: var(--color-border);
  --dp39-shadow-raised: var(--shadow-elevated);

  --dp44-on-brand: var(--color-on-primary);
  --dp44-on-brand-strong: var(--color-on-primary-strong);
  --dp44-on-accent: var(--color-on-accent);
  --dp44-on-danger: var(--color-on-danger);
  --dp44-warning: var(--color-warning);
  --dp44-warning-strong: var(--color-warning-strong);
  --dp44-warning-soft: var(--color-warning-soft);
  --dp44-success-strong: var(--color-success-strong);
  --dp44-danger-strong: var(--color-danger-strong);
  --dp44-info: var(--color-info);
  --dp44-info-strong: var(--color-info-strong);
  --dp44-info-soft: var(--color-info-soft);
  --dp44-overlay: var(--color-overlay);
  --dp44-shadow-subtle: var(--shadow-subtle);
  --dp44-shadow-elevated: var(--shadow-elevated);
  --dp44-shadow-modal: var(--shadow-modal);
}

html[data-dadplus-app="android"] .dadplus-app-bottom-nav {
  --dp39-surface: var(--color-nav-surface);
}

html[data-dadplus-app="android"][data-dadplus-app-theme="dark"] {
  /* Premium dark: deep legal navy + cool ice primary + restrained copper. */
  --color-primary: #a9d4f5;
  --color-primary-strong: #0b2942;
  --color-primary-soft: #153149;
  --color-accent: #d9955e;
  --color-accent-strong: #ffd1ac;
  --color-accent-soft: #3a251a;

  --color-bg-app: #08111a;
  --color-bg-page: var(--color-bg-app);
  --color-surface-1: #0f1a24;
  --color-surface-2: #15222e;
  --color-surface-3: #1d2c39;
  --color-surface-warm: #211a17;
  --color-nav-surface: #0c1721;

  --color-text-primary: #f4f8fb;
  --color-text-secondary: #c0ccd6;
  --color-text-muted: #98a8b6;
  --color-on-primary: #07131d;
  --color-on-primary-strong: #f4f8fb;
  --color-on-accent: #261207;
  --color-on-danger: #350806;

  --color-border: #415363;
  --color-border-subtle: #263744;
  --color-divider: var(--color-border-subtle);

  --color-success: #73c58f;
  --color-success-strong: #a6e6ba;
  --color-success-soft: #163123;
  --color-warning: #d9955e;
  --color-warning-strong: #ffd1ac;
  --color-warning-soft: #3a251a;
  --color-danger: #f2b8b5;
  --color-danger-strong: #ffdad6;
  --color-danger-soft: #4a1b19;
  --color-info: #8fc1e8;
  --color-info-strong: #b9dcf6;
  --color-info-soft: #17344a;

  --color-overlay: rgba(0, 0, 0, .68);
  --shadow-subtle: 0 1px 2px rgba(0, 0, 0, .28), 0 10px 26px rgba(0, 0, 0, .18);
  --shadow-elevated: 0 3px 8px rgba(0, 0, 0, .30), 0 18px 42px rgba(0, 0, 0, .24);
  --shadow-modal: 0 26px 70px rgba(0, 0, 0, .50);
}
