/*
 * One block per theme, all defining the same set of custom properties consumed by
 * main.css. `:root` carries fallback (= midnight) values so nothing is ever
 * undefined before core/theme.ts applies a data-theme attribute on first paint.
 * To add a theme: add a block here with these same properties, then add a matching
 * entry to core/themes.ts so it shows up in the picker.
 */

:root,
:root[data-theme="midnight"] {
  --bg: #1b1d27;
  --bg-panel: #23262f;
  --bg-panel-alt: #2a2e3a;
  --panel-glass: rgba(35, 38, 47, 0.82);
  --border: #3a3f4f;
  --text: #eaeaf0;
  --text-dim: #9a9fb0;
  --accent: #7c9bff;
  --accent-dim: #4a5a9b;
  --danger: #e0546a;
  --success: #4caf7d;
  --warning: #d9a441;
  --bg-image: url("/images/background_darkmode.jpg");
  /* CCC selection screen's kicker text (see main.css .ccc-option-kicker) - a
     light gray with a black glow reads fine over every dark theme/background,
     but needs the opposite treatment (dark text, white glow) on light themes -
     see the six light theme blocks below. */
  --ccc-kicker-color: #d8d8de;
  --ccc-kicker-shadow-color: rgba(0, 0, 0, 1);
  --ccc-kicker-action-shadow-color: rgba(139, 0, 0, 1);
}

:root[data-theme="indigo"] {
  --bg: #191a2e;
  --bg-panel: #21233d;
  --bg-panel-alt: #292b4a;
  --panel-glass: rgba(33, 35, 61, 0.82);
  --border: #3d4066;
  --text: #e8e9f7;
  --text-dim: #9b9dc2;
  --accent: #9d84ff;
  --accent-dim: #5b4a99;
  --danger: #ec5c8d;
  --success: #4fd19a;
  --warning: #f0b03e;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="forest"] {
  --bg: #151f1b;
  --bg-panel: #1c2b24;
  --bg-panel-alt: #24352c;
  --panel-glass: rgba(28, 43, 36, 0.82);
  --border: #35493d;
  --text: #e6efe8;
  --text-dim: #94a89c;
  --accent: #59c98a;
  --accent-dim: #357354;
  --danger: #e2637a;
  --success: #7fd858;
  --warning: #e0b64a;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="crimson"] {
  --bg: #201417;
  --bg-panel: #2b1a1f;
  --bg-panel-alt: #362228;
  --panel-glass: rgba(43, 26, 31, 0.82);
  --border: #4d2e35;
  --text: #f2e6e8;
  --text-dim: #b5949a;
  --accent: #ef6f8a;
  --accent-dim: #8f3f52;
  --danger: #ff5c6e;
  --success: #5cc98f;
  --warning: #e8a851;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="ocean"] {
  --bg: #0f1c24;
  --bg-panel: #16262f;
  --bg-panel-alt: #1d303b;
  --panel-glass: rgba(22, 38, 47, 0.82);
  --border: #2c4a58;
  --text: #e3f1f5;
  --text-dim: #8fb3bd;
  --accent: #45c2e0;
  --accent-dim: #276f82;
  --danger: #ee6a7a;
  --success: #4fd0a8;
  --warning: #edb753;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="amber"] {
  --bg: #201a10;
  --bg-panel: #2c2417;
  --bg-panel-alt: #382e1c;
  --panel-glass: rgba(44, 36, 23, 0.82);
  --border: #52432a;
  --text: #f3ead9;
  --text-dim: #b7a689;
  --accent: #f2a53d;
  --accent-dim: #93641f;
  --danger: #e8637a;
  --success: #7ac95a;
  --warning: #ffcc55;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="violet"] {
  --bg: #1a1425;
  --bg-panel: #241b31;
  --bg-panel-alt: #2f2440;
  --panel-glass: rgba(36, 27, 49, 0.82);
  --border: #453563;
  --text: #ece5f5;
  --text-dim: #a495bd;
  --accent: #c084fc;
  --accent-dim: #7c4fb0;
  --danger: #f0648a;
  --success: #57cf9e;
  --warning: #e9b64f;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="slate"] {
  --bg: #16191c;
  --bg-panel: #1e2226;
  --bg-panel-alt: #262b30;
  --panel-glass: rgba(30, 34, 38, 0.82);
  --border: #3a4147;
  --text: #e6eaec;
  --text-dim: #93a0a6;
  --accent: #6fc3d1;
  --accent-dim: #3c7d89;
  --danger: #e2687a;
  --success: #63c98b;
  --warning: #dcae4c;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="ember"] {
  --bg: #201513;
  --bg-panel: #2b1c19;
  --bg-panel-alt: #362420;
  --panel-glass: rgba(43, 28, 25, 0.82);
  --border: #4d332c;
  --text: #f2e8e5;
  --text-dim: #b59a92;
  --accent: #ef6a4d;
  --accent-dim: #9b4530;
  --danger: #ff5c4a;
  --success: #5cc98f;
  --warning: #e8a851;
  --bg-image: url("/images/background_darkmode.jpg");
}

:root[data-theme="linen"] {
  --bg: #f4efe6;
  --bg-panel: #fffdf9;
  --bg-panel-alt: #f7f1e6;
  --panel-glass: rgba(255, 253, 249, 0.82);
  --border: #e1d6c4;
  --text: #332b22;
  --text-dim: #6f6656;
  --accent: #a56a3f;
  --accent-dim: #c98f66;
  --danger: #c14a5c;
  --success: #3f8f5f;
  --warning: #b8862f;
  --bg-image: url("/images/background_lightmode.jpg");
  --ccc-kicker-color: #3a3a3a;
  --ccc-kicker-shadow-color: rgba(255, 255, 255, 1);
  --ccc-kicker-action-shadow-color: rgba(255, 40, 60, 1);
}

:root[data-theme="sand"] {
  --bg: #f7f1e0;
  --bg-panel: #fffcf5;
  --bg-panel-alt: #f6edd8;
  --panel-glass: rgba(255, 252, 245, 0.82);
  --border: #e6d9b8;
  --text: #332c1a;
  --text-dim: #756b4c;
  --accent: #d1a52e;
  --accent-dim: #e4c878;
  --danger: #c14a5c;
  --success: #3f8f5f;
  --warning: #b8862f;
  --bg-image: url("/images/background_lightmode.jpg");
  --ccc-kicker-color: #3a3a3a;
  --ccc-kicker-shadow-color: rgba(255, 255, 255, 1);
  --ccc-kicker-action-shadow-color: rgba(255, 40, 60, 1);
}

:root[data-theme="sky"] {
  --bg: #eef4fa;
  --bg-panel: #ffffff;
  --bg-panel-alt: #e7f0f9;
  --panel-glass: rgba(255, 255, 255, 0.82);
  --border: #cddaea;
  --text: #24313f;
  --text-dim: #647385;
  --accent: #3f7fc4;
  --accent-dim: #6ea3da;
  --danger: #c14a5c;
  --success: #2f8f6a;
  --warning: #b8862f;
  --bg-image: url("/images/background_lightmode.jpg");
  --ccc-kicker-color: #3a3a3a;
  --ccc-kicker-shadow-color: rgba(255, 255, 255, 1);
  --ccc-kicker-action-shadow-color: rgba(255, 40, 60, 1);
}

:root[data-theme="mint"] {
  --bg: #eef7f2;
  --bg-panel: #ffffff;
  --bg-panel-alt: #e6f4ec;
  --panel-glass: rgba(255, 255, 255, 0.82);
  --border: #cde5d7;
  --text: #223229;
  --text-dim: #5f7a6b;
  --accent: #2f9e73;
  --accent-dim: #66bd97;
  --danger: #c14a5c;
  --success: #2f8f5c;
  --warning: #b8862f;
  --bg-image: url("/images/background_lightmode.jpg");
  --ccc-kicker-color: #3a3a3a;
  --ccc-kicker-shadow-color: rgba(255, 255, 255, 1);
  --ccc-kicker-action-shadow-color: rgba(255, 40, 60, 1);
}

:root[data-theme="lavender"] {
  --bg: #f3eef8;
  --bg-panel: #ffffff;
  --bg-panel-alt: #ede4f5;
  --panel-glass: rgba(255, 255, 255, 0.82);
  --border: #ddccec;
  --text: #2e2438;
  --text-dim: #6f6180;
  --accent: #8a5fc4;
  --accent-dim: #b79ddb;
  --danger: #c14a5c;
  --success: #3f8f5f;
  --warning: #b8862f;
  --bg-image: url("/images/background_lightmode.jpg");
  --ccc-kicker-color: #3a3a3a;
  --ccc-kicker-shadow-color: rgba(255, 255, 255, 1);
  --ccc-kicker-action-shadow-color: rgba(255, 40, 60, 1);
}

:root[data-theme="blush"] {
  --bg: #faf0f2;
  --bg-panel: #ffffff;
  --bg-panel-alt: #f7e8eb;
  --panel-glass: rgba(255, 255, 255, 0.82);
  --border: #ecd3d8;
  --text: #35242a;
  --text-dim: #7a6167;
  --accent: #c15f7c;
  --accent-dim: #d98da3;
  --danger: #b8394f;
  --success: #3f8f5f;
  --warning: #b8862f;
  --bg-image: url("/images/background_lightmode.jpg");
  --ccc-kicker-color: #3a3a3a;
  --ccc-kicker-shadow-color: rgba(255, 255, 255, 1);
  --ccc-kicker-action-shadow-color: rgba(255, 40, 60, 1);
}
