/* Shared semantic theme for the user application and independent Admin. */
:root {
  color-scheme: light;
  --brand-logo-image: url("/assets/images/opendogo_logo.png?v=20260603");
  --brand-wordmark-color: transparent;
  --bg-primary: #ffffff;
  --bg-secondary: #f7f8fa;
  --bg-tertiary: #eef1f5;
  --text-primary: #111827;
  --text-secondary: #4b5563;
  --text-muted: #626b7a;
  --text-disabled: #9ca3af;
  --border-color: #e5e7eb;
  --border-strong: #cfd6df;
  --accent: #2563eb;
  --accent-strong: #1d4ed8;
  --accent-soft: #eef4ff;
  --success: #166534;
  --success-soft: #ecfdf5;
  --warning: #92400e;
  --warning-soft: #fffbeb;
  --danger: #b91c1c;
  --danger-soft: #fef2f2;
  --info: #6d28d9;
  --info-soft: #f5f3ff;
  --text-on-accent: #ffffff;
  --text-on-status: #ffffff;
  --overlay: rgba(17, 24, 39, .56);
  --shadow-sm: 0 1px 3px rgba(17, 24, 39, .06);
  --shadow-lg: 0 12px 28px rgba(17, 24, 39, .10);
  --shadow-color: rgba(17, 24, 39, .12);
  --plan-premium: #92400e;
  --plan-vip: #6d28d9;
  --chain-sol: #6d28d9;
  --chain-bsc: #92400e;
  --chain-bnb: #92400e;
  --chain-eth: #475569;
  --chain-base: #1d4ed8;
  --chain-robinhood: #15803d;
  --chart-1: #2563eb;
  --chart-2: #15803d;
  --chart-3: #92400e;
  --chart-4: #6d28d9;
  --chart-5: #b91c1c;
  --chart-6: #0f766e;
  --chart-7: #be185d;
  --chart-8: #475569;
  --overlay-color: var(--overlay);
  --accent-warm: #c2410c;
  --accent-warm-strong: #9a3412;
  --accent-warm-soft: #fff7ed;
  --text-on-warm: #ffffff;
  --border: var(--border-color);
  --shadow-md: var(--shadow-lg);
  --bg-card: var(--bg-secondary);
  --bg-card-soft: var(--bg-secondary);
  --link: var(--accent);
  --link-color: var(--link);
  --link-hover: var(--accent-strong);
  --focus-ring: color-mix(in srgb, var(--accent) 40%, transparent);
  --button-fg: var(--text-on-accent);
  --button-bg: var(--accent);
  --button-hover: var(--accent-strong);
  --selection-bg: #1d4ed8;
  --selection-fg: #ffffff;
  --chain-sol-soft: color-mix(in srgb, var(--chain-sol) 12%, var(--bg-secondary));
  --chain-bsc-soft: color-mix(in srgb, var(--chain-bsc) 12%, var(--bg-secondary));
  --chain-bnb-soft: color-mix(in srgb, var(--chain-bnb) 12%, var(--bg-secondary));
  --chain-eth-soft: color-mix(in srgb, var(--chain-eth) 12%, var(--bg-secondary));
  --chain-base-soft: color-mix(in srgb, var(--chain-base) 12%, var(--bg-secondary));
  --chain-robinhood-soft: color-mix(in srgb, var(--chain-robinhood) 12%, var(--bg-secondary));
  --plan-premium-soft: color-mix(in srgb, var(--plan-premium) 12%, var(--bg-secondary));
  --plan-vip-soft: color-mix(in srgb, var(--plan-vip) 12%, var(--bg-secondary));
}

html.dark {
  --selection-bg: #60a5fa;
  --selection-fg: #0b1220;
  --accent-warm: #fdba74;
  --accent-warm-strong: #fed7aa;
  --accent-warm-soft: #332416;
  --text-on-warm: #111315;
  color-scheme: dark;
  --brand-wordmark-color: var(--text-primary);
  --bg-primary: #111315;
  --bg-secondary: #171a1f;
  --bg-tertiary: #232832;
  --text-primary: #f3f4f6;
  --text-secondary: #c6ccd6;
  --text-muted: #9ca3af;
  --text-disabled: #6b7280;
  --border-color: #2d3440;
  --border-strong: #46515f;
  --accent: #8ab4ff;
  --accent-strong: #a8c7ff;
  --accent-soft: #1d2738;
  --success: #4ade80;
  --success-soft: #14301f;
  --warning: #fbbf24;
  --warning-soft: #33270f;
  --danger: #f87171;
  --danger-soft: #3a1f22;
  --info: #c4b5fd;
  --info-soft: #241f3a;
  --text-on-accent: #111315;
  --text-on-status: #111315;
  --overlay: rgba(5, 6, 8, .72);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, .28);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, .42);
  --shadow-color: rgba(0, 0, 0, .28);
  --plan-premium: #fbbf24;
  --plan-vip: #c4b5fd;
  --chain-sol: #c4b5fd;
  --chain-bsc: #fbbf24;
  --chain-bnb: #fbbf24;
  --chain-eth: #c6ccd6;
  --chain-base: #8ab4ff;
  --chain-robinhood: #4ade80;
  --chart-1: #8ab4ff;
  --chart-2: #4ade80;
  --chart-3: #fbbf24;
  --chart-4: #c4b5fd;
  --chart-5: #f87171;
  --chart-6: #5eead4;
  --chart-7: #f9a8d4;
  --chart-8: #c6ccd6;
}

html, body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

::selection {
  background-color: var(--selection-bg);
  color: var(--selection-fg);
  text-shadow: none;
}

/* Reuse the original logo; only recolor its dark wordmark, keeping the mascot and .com blue. */
.brand-wordmark { position: relative; display: inline-flex; max-width: 100%; vertical-align: middle; }
.brand-wordmark::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--brand-wordmark-color); -webkit-mask: var(--brand-logo-image) center / contain no-repeat; mask: var(--brand-logo-image) center / contain no-repeat; clip-path: inset(0 12.3% 0 22.5%); }
.brand-wordmark--admin { --brand-logo-image: url("/opendogo-logo.png"); }
.is-collapsed .brand-wordmark::after { display: none; }
@media (max-width: 520px) { .navbar .brand-wordmark::after { display: none; } }
