/* Willoughby palettes — tinted surfaces (not near-black darks), primary + secondary accents.
   Token roles: bg (canvas), bg-elevated (chrome), panel (cards), input-bg (editable fields; contrasts panel),
   chat-assistant-bg / chat-user-bg (message bubbles), accent, accent-secondary, borders. */

[data-wb-palette="honeycomb"][data-theme="dark"],
[data-wb-palette="honeycomb"][data-bs-theme="dark"] {
  --wb-bg: #4a4438;
  --wb-bg-elevated: #585044;
  --wb-panel: #686052;
  --wb-border: #8a8072;
  --wb-border-strong: #a69988;
  --wb-ink: #faf6ee;
  --wb-fg: #faf6ee;
  --wb-muted: #d8cfc0;
  --wb-ink-muted: #ece4d6;
  --wb-surface-muted: #5e564a;
  --wb-input-bg: color-mix(in srgb, var(--wb-bg) 48%, var(--wb-panel));
  --wb-accent: #e5d202;
  --wb-accent-secondary: #f0a830;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 55%, var(--wb-accent-secondary));
  --wb-accent-ink: #2a2410;
  --wb-solid: #faf6ee;
  --wb-solid-ink: #2a2410;
  --wb-solid-hover: #e8e0d4;
  --wb-danger: #ff7070;
  --wb-focus-ring: rgba(229, 210, 2, 0.45);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 22%, var(--wb-accent-secondary)), var(--wb-panel));
  --wb-chat-assistant-bg: color-mix(in srgb, var(--wb-accent-secondary) 14%, var(--wb-panel));
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 22%, var(--wb-accent-secondary)), var(--wb-bg-elevated));
  --wb-code-inline-bg: color-mix(in srgb, var(--wb-bg) 35%, var(--wb-panel));
  --bs-primary: #faf6ee;
  --bs-primary-rgb: 250, 246, 238;
  --bs-secondary: #d8cfc0;
  --bs-body-color: #faf6ee;
  --bs-body-bg: #4a4438;
  --bs-emphasis-color: #fffdf8;
  --bs-secondary-color: #d8cfc0;
  --bs-tertiary-bg: #686052;
  --bs-border-color: #8a8072;
  --bs-link-color: #f5e675;
  --bs-link-hover-color: #fff3a8;
  --staff-panel: #686052;
  --staff-ink: #faf6ee;
  --staff-muted: #d8cfc0;
  --staff-accent: #e5d202;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="honeycomb"][data-theme="light"],
[data-wb-palette="honeycomb"][data-bs-theme="light"] {
  --wb-bg: #faf3e0;
  --wb-bg-elevated: #ead9b8;
  --wb-panel: #fffdf6;
  --wb-border: #c9b896;
  --wb-border-strong: #a6926a;
  --wb-ink: #2c2618;
  --wb-fg: #2c2618;
  --wb-muted: #5c5038;
  --wb-ink-muted: #6b5e42;
  --wb-surface-muted: #f3e8cc;
  --wb-input-bg: color-mix(in srgb, #ffffff 68%, var(--wb-bg-elevated));
  --wb-accent: #c9b000;
  --wb-accent-secondary: #e8920a;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 50%, var(--wb-accent-secondary));
  --wb-accent-ink: #2c2618;
  --wb-solid: #2c2618;
  --wb-solid-ink: #fffdf6;
  --wb-solid-hover: #4a4028;
  --wb-danger: #d92d20;
  --wb-focus-ring: rgba(201, 176, 0, 0.42);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 18%, var(--wb-accent-secondary)) 40%, var(--wb-surface-muted));
  --wb-chat-assistant-bg: var(--wb-input-bg);
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 16%, var(--wb-accent-secondary)), var(--wb-surface-muted));
  --wb-code-inline-bg: var(--wb-bg-elevated);
  --bs-primary: #2c2618;
  --bs-primary-rgb: 44, 38, 24;
  --bs-secondary: #5c5038;
  --bs-body-color: #2c2618;
  --bs-body-bg: #faf3e0;
  --bs-emphasis-color: #2c2618;
  --bs-secondary-color: #5c5038;
  --bs-tertiary-bg: #fffdf6;
  --bs-border-color: #c9b896;
  --bs-link-color: #9a7a00;
  --bs-link-hover-color: #6b5500;
  --staff-panel: #fffdf6;
  --staff-ink: #2c2618;
  --staff-muted: #5c5038;
  --staff-accent: #c9b000;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="midnight-ink"][data-theme="dark"],
[data-wb-palette="midnight-ink"][data-bs-theme="dark"] {
  --wb-bg: #3a4d63;
  --wb-bg-elevated: #465f7a;
  --wb-panel: #527092;
  --wb-border: #7390ad;
  --wb-border-strong: #8fa8c4;
  --wb-ink: #eef4fc;
  --wb-fg: #eef4fc;
  --wb-muted: #c5d4e8;
  --wb-ink-muted: #dce6f4;
  --wb-surface-muted: #42576e;
  --wb-input-bg: color-mix(in srgb, var(--wb-bg) 50%, var(--wb-panel));
  --wb-accent: #5eb3ff;
  --wb-accent-secondary: #9b8cff;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 50%, var(--wb-accent-secondary));
  --wb-accent-ink: #0f1a28;
  --wb-solid: #eef4fc;
  --wb-solid-ink: #0f1a28;
  --wb-solid-hover: #d4e2f4;
  --wb-danger: #ff8a8a;
  --wb-focus-ring: rgba(94, 179, 255, 0.42);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 18%, var(--wb-accent-secondary)), var(--wb-panel));
  --wb-chat-assistant-bg: color-mix(in srgb, var(--wb-accent) 12%, var(--wb-panel));
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 20%, var(--wb-accent-secondary)), var(--wb-bg-elevated));
  --wb-code-inline-bg: color-mix(in srgb, var(--wb-bg) 38%, var(--wb-panel));
  --bs-primary: #eef4fc;
  --bs-primary-rgb: 238, 244, 252;
  --bs-secondary: #c5d4e8;
  --bs-body-color: #eef4fc;
  --bs-body-bg: #3a4d63;
  --bs-emphasis-color: #f8fbff;
  --bs-secondary-color: #c5d4e8;
  --bs-tertiary-bg: #527092;
  --bs-border-color: #7390ad;
  --bs-link-color: #9fd0ff;
  --bs-link-hover-color: #cfe8ff;
  --staff-panel: #527092;
  --staff-ink: #eef4fc;
  --staff-muted: #c5d4e8;
  --staff-accent: #5eb3ff;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="midnight-ink"][data-theme="light"],
[data-wb-palette="midnight-ink"][data-bs-theme="light"] {
  --wb-bg: #dce8f5;
  --wb-bg-elevated: #c5d9ed;
  --wb-panel: #f5f9fd;
  --wb-border: #9eb4cc;
  --wb-border-strong: #7694b0;
  --wb-ink: #0f1a28;
  --wb-fg: #0f1a28;
  --wb-muted: #3d5268;
  --wb-ink-muted: #4a6078;
  --wb-surface-muted: #e8f0f8;
  --wb-input-bg: color-mix(in srgb, #ffffff 72%, var(--wb-bg-elevated));
  --wb-accent: #0969da;
  --wb-accent-secondary: #6f42c1;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 45%, var(--wb-accent-secondary));
  --wb-accent-ink: #ffffff;
  --wb-solid: #0f1a28;
  --wb-solid-ink: #f5f9fd;
  --wb-solid-hover: #1e3048;
  --wb-danger: #c62828;
  --wb-focus-ring: rgba(9, 105, 218, 0.38);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 14%, var(--wb-accent-secondary)) 38%, var(--wb-surface-muted));
  --wb-chat-assistant-bg: var(--wb-input-bg);
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 14%, var(--wb-accent-secondary)), var(--wb-surface-muted));
  --wb-code-inline-bg: var(--wb-bg-elevated);
  --bs-primary: #0f1a28;
  --bs-primary-rgb: 15, 26, 40;
  --bs-secondary: #3d5268;
  --bs-body-color: #0f1a28;
  --bs-body-bg: #dce8f5;
  --bs-emphasis-color: #0f1a28;
  --bs-secondary-color: #3d5268;
  --bs-tertiary-bg: #f5f9fd;
  --bs-border-color: #9eb4cc;
  --bs-link-color: #0969da;
  --bs-link-hover-color: #0550ae;
  --staff-panel: #f5f9fd;
  --staff-ink: #0f1a28;
  --staff-muted: #3d5268;
  --staff-accent: #0969da;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="forest-floor"][data-theme="dark"],
[data-wb-palette="forest-floor"][data-bs-theme="dark"] {
  --wb-bg: #3d5248;
  --wb-bg-elevated: #4a6356;
  --wb-panel: #577564;
  --wb-border: #739586;
  --wb-border-strong: #8fad9e;
  --wb-ink: #eef6f0;
  --wb-fg: #eef6f0;
  --wb-muted: #c8dcd0;
  --wb-ink-muted: #dceae2;
  --wb-surface-muted: #465a50;
  --wb-input-bg: color-mix(in srgb, var(--wb-bg) 48%, var(--wb-panel));
  --wb-accent: #7cba6a;
  --wb-accent-secondary: #3d9970;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 48%, var(--wb-accent-secondary));
  --wb-accent-ink: #0f2018;
  --wb-solid: #eef6f0;
  --wb-solid-ink: #0f2018;
  --wb-solid-hover: #d4e8da;
  --wb-danger: #f08078;
  --wb-focus-ring: rgba(124, 186, 106, 0.42);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 20%, var(--wb-accent-secondary)), var(--wb-panel));
  --wb-chat-assistant-bg: color-mix(in srgb, var(--wb-accent-secondary) 12%, var(--wb-panel));
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 20%, var(--wb-accent-secondary)), var(--wb-bg-elevated));
  --wb-code-inline-bg: color-mix(in srgb, var(--wb-bg) 38%, var(--wb-panel));
  --bs-primary: #eef6f0;
  --bs-primary-rgb: 238, 246, 240;
  --bs-secondary: #c8dcd0;
  --bs-body-color: #eef6f0;
  --bs-body-bg: #3d5248;
  --bs-emphasis-color: #f6fcf8;
  --bs-secondary-color: #c8dcd0;
  --bs-tertiary-bg: #577564;
  --bs-border-color: #739586;
  --bs-link-color: #a8ddb0;
  --bs-link-hover-color: #c9f0cf;
  --staff-panel: #577564;
  --staff-ink: #eef6f0;
  --staff-muted: #c8dcd0;
  --staff-accent: #7cba6a;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="forest-floor"][data-theme="light"],
[data-wb-palette="forest-floor"][data-bs-theme="light"] {
  --wb-bg: #e4f0e4;
  --wb-bg-elevated: #c8dcc8;
  --wb-panel: #f8fcf8;
  --wb-border: #9eb89e;
  --wb-border-strong: #789878;
  --wb-ink: #142820;
  --wb-fg: #142820;
  --wb-muted: #3d5844;
  --wb-ink-muted: #4a6850;
  --wb-surface-muted: #dceadc;
  --wb-input-bg: color-mix(in srgb, #ffffff 70%, var(--wb-bg-elevated));
  --wb-accent: #2d6a4f;
  --wb-accent-secondary: #40916c;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 45%, var(--wb-accent-secondary));
  --wb-accent-ink: #ffffff;
  --wb-solid: #142820;
  --wb-solid-ink: #f8fcf8;
  --wb-solid-hover: #1b4030;
  --wb-danger: #b42318;
  --wb-focus-ring: rgba(45, 106, 79, 0.38);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 14%, var(--wb-accent-secondary)) 38%, var(--wb-surface-muted));
  --wb-chat-assistant-bg: var(--wb-input-bg);
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 14%, var(--wb-accent-secondary)), var(--wb-surface-muted));
  --wb-code-inline-bg: var(--wb-bg-elevated);
  --bs-primary: #142820;
  --bs-primary-rgb: 20, 40, 32;
  --bs-secondary: #3d5844;
  --bs-body-color: #142820;
  --bs-body-bg: #e4f0e4;
  --bs-emphasis-color: #142820;
  --bs-secondary-color: #3d5844;
  --bs-tertiary-bg: #f8fcf8;
  --bs-border-color: #9eb89e;
  --bs-link-color: #2d6a4f;
  --bs-link-hover-color: #1b4332;
  --staff-panel: #f8fcf8;
  --staff-ink: #142820;
  --staff-muted: #3d5844;
  --staff-accent: #2d6a4f;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="rose-quartz"][data-theme="dark"],
[data-wb-palette="rose-quartz"][data-bs-theme="dark"] {
  --wb-bg: #5c4452;
  --wb-bg-elevated: #6e5262;
  --wb-panel: #806072;
  --wb-border: #a08896;
  --wb-border-strong: #b8a0ae;
  --wb-ink: #faf2f6;
  --wb-fg: #faf2f6;
  --wb-muted: #e4ccd8;
  --wb-ink-muted: #f0dce6;
  --wb-surface-muted: #644c5a;
  --wb-input-bg: color-mix(in srgb, var(--wb-bg) 50%, var(--wb-panel));
  --wb-accent: #e8a0bf;
  --wb-accent-secondary: #d4789a;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 52%, var(--wb-accent-secondary));
  --wb-accent-ink: #2a141e;
  --wb-solid: #faf2f6;
  --wb-solid-ink: #2a141e;
  --wb-solid-hover: #ecdce6;
  --wb-danger: #ff9088;
  --wb-focus-ring: rgba(232, 160, 191, 0.45);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 20%, var(--wb-accent-secondary)), var(--wb-panel));
  --wb-chat-assistant-bg: color-mix(in srgb, var(--wb-accent) 14%, var(--wb-panel));
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 22%, var(--wb-accent-secondary)), var(--wb-bg-elevated));
  --wb-code-inline-bg: color-mix(in srgb, var(--wb-bg) 36%, var(--wb-panel));
  --bs-primary: #faf2f6;
  --bs-primary-rgb: 250, 242, 246;
  --bs-secondary: #e4ccd8;
  --bs-body-color: #faf2f6;
  --bs-body-bg: #5c4452;
  --bs-emphasis-color: #fff8fb;
  --bs-secondary-color: #e4ccd8;
  --bs-tertiary-bg: #806072;
  --bs-border-color: #a08896;
  --bs-link-color: #f0b8d0;
  --bs-link-hover-color: #ffd6e8;
  --staff-panel: #806072;
  --staff-ink: #faf2f6;
  --staff-muted: #e4ccd8;
  --staff-accent: #e8a0bf;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="rose-quartz"][data-theme="light"],
[data-wb-palette="rose-quartz"][data-bs-theme="light"] {
  --wb-bg: #f8e8ee;
  --wb-bg-elevated: #e8d0da;
  --wb-panel: #fff8fa;
  --wb-border: #c8a8b4;
  --wb-border-strong: #a88090;
  --wb-ink: #2a1420;
  --wb-fg: #2a1420;
  --wb-muted: #6e4858;
  --wb-ink-muted: #805868;
  --wb-surface-muted: #f0dce4;
  --wb-input-bg: color-mix(in srgb, #ffffff 72%, var(--wb-bg-elevated));
  --wb-accent: #be557b;
  --wb-accent-secondary: #9b4d6a;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 42%, var(--wb-accent-secondary));
  --wb-accent-ink: #ffffff;
  --wb-solid: #2a1420;
  --wb-solid-ink: #fff8fa;
  --wb-solid-hover: #4a2030;
  --wb-danger: #c62828;
  --wb-focus-ring: rgba(190, 85, 123, 0.38);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 14%, var(--wb-accent-secondary)) 38%, var(--wb-surface-muted));
  --wb-chat-assistant-bg: var(--wb-input-bg);
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 16%, var(--wb-accent-secondary)), var(--wb-surface-muted));
  --wb-code-inline-bg: var(--wb-bg-elevated);
  --bs-primary: #2a1420;
  --bs-primary-rgb: 42, 20, 32;
  --bs-secondary: #6e4858;
  --bs-body-color: #2a1420;
  --bs-body-bg: #f8e8ee;
  --bs-emphasis-color: #2a1420;
  --bs-secondary-color: #6e4858;
  --bs-tertiary-bg: #fff8fa;
  --bs-border-color: #c8a8b4;
  --bs-link-color: #be557b;
  --bs-link-hover-color: #9a3d60;
  --staff-panel: #fff8fa;
  --staff-ink: #2a1420;
  --staff-muted: #6e4858;
  --staff-accent: #be557b;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="slate-copper"][data-theme="dark"],
[data-wb-palette="slate-copper"][data-bs-theme="dark"] {
  --wb-bg: #4a4f58;
  --wb-bg-elevated: #565c68;
  --wb-panel: #636a78;
  --wb-border: #848c9c;
  --wb-border-strong: #9ca4b4;
  --wb-ink: #f4f4f6;
  --wb-fg: #f4f4f6;
  --wb-muted: #d0d4dc;
  --wb-ink-muted: #e4e8ee;
  --wb-surface-muted: #525862;
  --wb-input-bg: color-mix(in srgb, var(--wb-bg) 48%, var(--wb-panel));
  --wb-accent: #d4845a;
  --wb-accent-secondary: #6ba3b5;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 48%, var(--wb-accent-secondary));
  --wb-accent-ink: #1a120c;
  --wb-solid: #f4f4f6;
  --wb-solid-ink: #1a120c;
  --wb-solid-hover: #dedee4;
  --wb-danger: #ff8878;
  --wb-focus-ring: rgba(212, 132, 90, 0.42);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 18%, var(--wb-accent-secondary)), var(--wb-panel));
  --wb-chat-assistant-bg: color-mix(in srgb, var(--wb-accent-secondary) 10%, var(--wb-panel));
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 20%, var(--wb-accent-secondary)), var(--wb-bg-elevated));
  --wb-code-inline-bg: color-mix(in srgb, var(--wb-bg) 36%, var(--wb-panel));
  --bs-primary: #f4f4f6;
  --bs-primary-rgb: 244, 244, 246;
  --bs-secondary: #d0d4dc;
  --bs-body-color: #f4f4f6;
  --bs-body-bg: #4a4f58;
  --bs-emphasis-color: #fafafc;
  --bs-secondary-color: #d0d4dc;
  --bs-tertiary-bg: #636a78;
  --bs-border-color: #848c9c;
  --bs-link-color: #e8a878;
  --bs-link-hover-color: #ffc9a8;
  --staff-panel: #636a78;
  --staff-ink: #f4f4f6;
  --staff-muted: #d0d4dc;
  --staff-accent: #d4845a;
  --staff-accent-2: var(--wb-accent-secondary);
}

[data-wb-palette="slate-copper"][data-theme="light"],
[data-wb-palette="slate-copper"][data-bs-theme="light"] {
  --wb-bg: #ece8e2;
  --wb-bg-elevated: #d8d2c8;
  --wb-panel: #faf8f4;
  --wb-border: #b8b0a4;
  --wb-border-strong: #948c80;
  --wb-ink: #1c1917;
  --wb-fg: #1c1917;
  --wb-muted: #504840;
  --wb-ink-muted: #5c544c;
  --wb-surface-muted: #e4ded6;
  --wb-input-bg: color-mix(in srgb, #ffffff 68%, var(--wb-bg-elevated));
  --wb-accent: #b45309;
  --wb-accent-secondary: #287088;
  --wb-accent-dim: color-mix(in srgb, var(--wb-accent) 42%, var(--wb-accent-secondary));
  --wb-accent-ink: #ffffff;
  --wb-solid: #1c1917;
  --wb-solid-ink: #faf8f4;
  --wb-solid-hover: #3f3a36;
  --wb-danger: #b42318;
  --wb-focus-ring: rgba(180, 83, 9, 0.38);
  --wb-honey-soft: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 14%, var(--wb-accent-secondary)) 38%, var(--wb-surface-muted));
  --wb-chat-assistant-bg: var(--wb-input-bg);
  --wb-chat-user-bg: color-mix(in srgb, color-mix(in srgb, var(--wb-accent) 14%, var(--wb-accent-secondary)), var(--wb-surface-muted));
  --wb-code-inline-bg: var(--wb-bg-elevated);
  --bs-primary: #1c1917;
  --bs-primary-rgb: 28, 25, 23;
  --bs-secondary: #504840;
  --bs-body-color: #1c1917;
  --bs-body-bg: #ece8e2;
  --bs-emphasis-color: #1c1917;
  --bs-secondary-color: #504840;
  --bs-tertiary-bg: #faf8f4;
  --bs-border-color: #b8b0a4;
  --bs-link-color: #b45309;
  --bs-link-hover-color: #92400e;
  --staff-panel: #faf8f4;
  --staff-ink: #1c1917;
  --staff-muted: #504840;
  --staff-accent: #b45309;
  --staff-accent-2: var(--wb-accent-secondary);
}
