/* Generated accessible semantic colors. Decorative skin gradients remain unchanged.
 * Source/generator: tools/theme_color_source.json + build_theme_accessibility.py.
 * All rules screen-only to preserve paper/worksheet printing. */
@media screen {
html[data-theme="light"][data-skin="classic"][data-skin-tone="auto"] {
  --bg-solid: #eef2fb;
  --card: #ffffff;
  --card-hover: #fafbfc;
  --primary-light: #e3e7ff;
  --secondary-light: #ffe0eb;
  --success-light: #d1fae5;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #dbeafe;
  --text: #141a2e;
  --text-soft: #41506e;
  --muted: #4f5b72;
  --primary: #3d4ec7;
  --primary-dark: #2f3fc4;
  --secondary: #943e5b;
  --success: #046e50;
  --warn: #9d4808;
  --danger: #b41b1b;
  --info: #1d4dd6;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #a84768;
  --action-success: #047756;
  --action-warn: #a94e08;
  --action-danger: #c81e1e;
  --control-border: #5d6b86;
}
html[data-theme="light"][data-skin="classic"][data-skin-tone="sunny"] {
  --bg-solid: #eef2fb;
  --card: #ffffff;
  --card-hover: #fafbfc;
  --primary-light: #ffe8cf;
  --secondary-light: #ffe0eb;
  --success-light: #d1fae5;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #dbeafe;
  --text: #141a2e;
  --text-soft: #41506e;
  --muted: #4f5b72;
  --primary: #98460d;
  --primary-dark: #994408;
  --secondary: #943e5b;
  --success: #046e50;
  --warn: #9d4808;
  --danger: #b41b1b;
  --info: #1d4dd6;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #a84768;
  --action-success: #047756;
  --action-warn: #a94e08;
  --action-danger: #c81e1e;
  --control-border: #5d6b86;
}
html[data-theme="light"][data-skin="classic"][data-skin-tone="ocean"] {
  --bg-solid: #eef2fb;
  --card: #ffffff;
  --card-hover: #fafbfc;
  --primary-light: #e0f2fe;
  --secondary-light: #ffe0eb;
  --success-light: #d1fae5;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #dbeafe;
  --text: #141a2e;
  --text-soft: #41506e;
  --muted: #4f5b72;
  --primary: #096690;
  --primary-dark: #036499;
  --secondary: #943e5b;
  --success: #046e50;
  --warn: #9d4808;
  --danger: #b41b1b;
  --info: #1d4dd6;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #a84768;
  --action-success: #047756;
  --action-warn: #a94e08;
  --action-danger: #c81e1e;
  --control-border: #5d6b86;
}
html[data-theme="light"][data-skin="classic"][data-skin-tone="berry"] {
  --bg-solid: #eef2fb;
  --card: #ffffff;
  --card-hover: #fafbfc;
  --primary-light: #ffe4e6;
  --secondary-light: #ffe0eb;
  --success-light: #d1fae5;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #dbeafe;
  --text: #141a2e;
  --text-soft: #41506e;
  --muted: #4f5b72;
  --primary: #b6173a;
  --primary-dark: #9f1239;
  --secondary: #943e5b;
  --success: #046e50;
  --warn: #9d4808;
  --danger: #b41b1b;
  --info: #1d4dd6;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #a84768;
  --action-success: #047756;
  --action-warn: #a94e08;
  --action-danger: #c81e1e;
  --control-border: #5d6b86;
}
html[data-theme="dark"][data-skin="classic"] {
  --bg-solid: #16130f;
  --card: #221c16;
  --card-hover: #2c241c;
  --primary-light: #3a2e22;
  --secondary-light: #4a2a3a;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #f6efe4;
  --text-soft: #e1d3bf;
  --muted: #c7b69c;
  --primary: #ffd27a;
  --primary-dark: #ffe2a3;
  --secondary: #ff86b4;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87171;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #9c516d;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #c7b69c;
}
html[data-theme="light"][data-skin="kid"][data-skin-tone="auto"] {
  --bg-solid: #fff8ec;
  --card: #fffdf8;
  --card-hover: #fff6e8;
  --primary-light: #ffe8cf;
  --secondary-light: #d5f7f1;
  --success-light: #dcfce7;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #e0f2fe;
  --text: #3b2a17;
  --text-soft: #66513d;
  --muted: #62533e;
  --primary: #8b400c;
  --primary-dark: #8c3e07;
  --secondary: #0a6056;
  --success: #0d632d;
  --warn: #764c05;
  --danger: #9b2c2c;
  --info: #085b80;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #945c10, #b24254);
  --on-action: #ffffff;
  --action-secondary: #0d766a;
  --action-success: #107937;
  --action-warn: #915d06;
  --action-danger: #bf3636;
  --control-border: #8b7657;
}
html[data-theme="light"][data-skin="kid"][data-skin-tone="sunny"] {
  --bg-solid: #fff8ec;
  --card: #fffdf8;
  --card-hover: #fff6e8;
  --primary-light: #ffe8cf;
  --secondary-light: #d5f7f1;
  --success-light: #dcfce7;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #e0f2fe;
  --text: #3b2a17;
  --text-soft: #66513d;
  --muted: #62533e;
  --primary: #8b400c;
  --primary-dark: #8c3e07;
  --secondary: #0a6056;
  --success: #0d632d;
  --warn: #764c05;
  --danger: #9b2c2c;
  --info: #085b80;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #0d766a;
  --action-success: #107937;
  --action-warn: #915d06;
  --action-danger: #bf3636;
  --control-border: #8b7657;
}
html[data-theme="light"][data-skin="kid"][data-skin-tone="ocean"] {
  --bg-solid: #fff8ec;
  --card: #fffdf8;
  --card-hover: #fff6e8;
  --primary-light: #e0f2fe;
  --secondary-light: #d5f7f1;
  --success-light: #dcfce7;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #e0f2fe;
  --text: #3b2a17;
  --text-soft: #66513d;
  --muted: #62533e;
  --primary: #085b80;
  --primary-dark: #035a8a;
  --secondary: #0a6056;
  --success: #0d632d;
  --warn: #764c05;
  --danger: #9b2c2c;
  --info: #085b80;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #0d766a;
  --action-success: #107937;
  --action-warn: #915d06;
  --action-danger: #bf3636;
  --control-border: #8b7657;
}
html[data-theme="light"][data-skin="kid"][data-skin-tone="berry"] {
  --bg-solid: #fff8ec;
  --card: #fffdf8;
  --card-hover: #fff6e8;
  --primary-light: #ffe4e6;
  --secondary-light: #d5f7f1;
  --success-light: #dcfce7;
  --warn-light: #fef3c7;
  --danger-light: #fee2e2;
  --info-light: #e0f2fe;
  --text: #3b2a17;
  --text-soft: #66513d;
  --muted: #62533e;
  --primary: #a61535;
  --primary-dark: #9f1239;
  --secondary: #0a6056;
  --success: #0d632d;
  --warn: #764c05;
  --danger: #9b2c2c;
  --info: #085b80;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #0d766a;
  --action-success: #107937;
  --action-warn: #915d06;
  --action-danger: #bf3636;
  --control-border: #8b7657;
}
html[data-theme="dark"][data-skin="kid"] {
  --bg-solid: #231a10;
  --card: #2c2116;
  --card-hover: #35281a;
  --primary-light: #43301b;
  --secondary-light: #14352f;
  --success-light: #16331f;
  --warn-light: #3a2c14;
  --danger-light: #3a1a1a;
  --info-light: #14303f;
  --text: #fdeedd;
  --text-soft: #e3cdb2;
  --muted: #bda990;
  --primary: #ffa446;
  --primary-dark: #ffbe76;
  --secondary: #2ee6c8;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87b7b;
  --info: #63a7fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #177566;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #a98f6f;
}
html[data-theme="light"][data-skin="candy"][data-skin-tone="auto"] {
  --bg-solid: #fff4f9;
  --card: #fffafc;
  --card-hover: #fff0f7;
  --primary-light: #ffe1ef;
  --secondary-light: #ece4ff;
  --success-light: #d8f7ec;
  --warn-light: #fdf0cf;
  --danger-light: #ffe4e8;
  --info-light: #dff3ff;
  --text: #46273a;
  --text-soft: #6f4a63;
  --muted: #6c5463;
  --primary: #9e3067;
  --primary-dark: #a52968;
  --secondary: #6744b6;
  --success: #096848;
  --warn: #7f5206;
  --danger: #a82b41;
  --info: #1d6281;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #94566b, #64609d);
  --on-action: #ffffff;
  --action-secondary: #764ed1;
  --action-success: #0a7653;
  --action-warn: #915d06;
  --action-danger: #be3149;
  --control-border: #97768c;
}
html[data-theme="light"][data-skin="candy"][data-skin-tone="sunny"] {
  --bg-solid: #fff4f9;
  --card: #fffafc;
  --card-hover: #fff0f7;
  --primary-light: #ffe8cf;
  --secondary-light: #ece4ff;
  --success-light: #d8f7ec;
  --warn-light: #fdf0cf;
  --danger-light: #ffe4e8;
  --info-light: #dff3ff;
  --text: #46273a;
  --text-soft: #6f4a63;
  --muted: #6c5463;
  --primary: #93440d;
  --primary-dark: #954208;
  --secondary: #6744b6;
  --success: #096848;
  --warn: #7f5206;
  --danger: #a82b41;
  --info: #1d6281;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #764ed1;
  --action-success: #0a7653;
  --action-warn: #915d06;
  --action-danger: #be3149;
  --control-border: #97768c;
}
html[data-theme="light"][data-skin="candy"][data-skin-tone="ocean"] {
  --bg-solid: #fff4f9;
  --card: #fffafc;
  --card-hover: #fff0f7;
  --primary-light: #e0f2fe;
  --secondary-light: #ece4ff;
  --success-light: #d8f7ec;
  --warn-light: #fdf0cf;
  --danger-light: #ffe4e8;
  --info-light: #dff3ff;
  --text: #46273a;
  --text-soft: #6f4a63;
  --muted: #6c5463;
  --primary: #086189;
  --primary-dark: #036093;
  --secondary: #6744b6;
  --success: #096848;
  --warn: #7f5206;
  --danger: #a82b41;
  --info: #1d6281;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #764ed1;
  --action-success: #0a7653;
  --action-warn: #915d06;
  --action-danger: #be3149;
  --control-border: #97768c;
}
html[data-theme="light"][data-skin="candy"][data-skin-tone="berry"] {
  --bg-solid: #fff4f9;
  --card: #fffafc;
  --card-hover: #fff0f7;
  --primary-light: #ffe4e6;
  --secondary-light: #ece4ff;
  --success-light: #d8f7ec;
  --warn-light: #fdf0cf;
  --danger-light: #ffe4e8;
  --info-light: #dff3ff;
  --text: #46273a;
  --text-soft: #6f4a63;
  --muted: #6c5463;
  --primary: #b21739;
  --primary-dark: #9f1239;
  --secondary: #6744b6;
  --success: #096848;
  --warn: #7f5206;
  --danger: #a82b41;
  --info: #1d6281;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #764ed1;
  --action-success: #0a7653;
  --action-warn: #915d06;
  --action-danger: #be3149;
  --control-border: #97768c;
}
html[data-theme="dark"][data-skin="candy"] {
  --bg-solid: #241722;
  --card: #2d1c2b;
  --card-hover: #361f33;
  --primary-light: #45233c;
  --secondary-light: #2f2450;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #fdeaf4;
  --text-soft: #e6c9db;
  --muted: #bda6b6;
  --primary: #ff8ac4;
  --primary-dark: #ffa8d4;
  --secondary: #b79bff;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87474;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #705f9c;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #a98ba0;
}
html[data-theme="light"][data-skin="jungle"][data-skin-tone="auto"] {
  --bg-solid: #eef9e7;
  --card: #fdfef9;
  --card-hover: #f4fbe9;
  --primary-light: #dff1d2;
  --secondary-light: #ffecce;
  --success-light: #ddf2dd;
  --warn-light: #fdeccf;
  --danger-light: #ffe2e2;
  --info-light: #e0eefb;
  --text: #22401f;
  --text-soft: #364c31;
  --muted: #3d4a38;
  --primary: #225024;
  --primary-dark: #215024;
  --secondary: #693b00;
  --success: #1e5120;
  --warn: #733400;
  --danger: #85211f;
  --info: #104879;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #327635, #9c5700);
  --on-action: #ffffff;
  --action-secondary: #9c5700;
  --action-success: #2c7730;
  --action-warn: #aa4d00;
  --action-danger: #c3302d;
  --control-border: #5b6e54;
}
html[data-theme="light"][data-skin="jungle"][data-skin-tone="sunny"] {
  --bg-solid: #eef9e7;
  --card: #fdfef9;
  --card-hover: #f4fbe9;
  --primary-light: #ffe8cf;
  --secondary-light: #ffecce;
  --success-light: #ddf2dd;
  --warn-light: #fdeccf;
  --danger-light: #ffe2e2;
  --info-light: #e0eefb;
  --text: #22401f;
  --text-soft: #364c31;
  --muted: #3d4a38;
  --primary: #73350a;
  --primary-dark: #743406;
  --secondary: #693b00;
  --success: #1e5120;
  --warn: #733400;
  --danger: #85211f;
  --info: #104879;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #9c5700;
  --action-success: #2c7730;
  --action-warn: #aa4d00;
  --action-danger: #c3302d;
  --control-border: #5b6e54;
}
html[data-theme="light"][data-skin="jungle"][data-skin-tone="ocean"] {
  --bg-solid: #eef9e7;
  --card: #fdfef9;
  --card-hover: #f4fbe9;
  --primary-light: #e0f2fe;
  --secondary-light: #ffecce;
  --success-light: #ddf2dd;
  --warn-light: #fdeccf;
  --danger-light: #ffe2e2;
  --info-light: #e0eefb;
  --text: #22401f;
  --text-soft: #364c31;
  --muted: #3d4a38;
  --primary: #064c6b;
  --primary-dark: #024b72;
  --secondary: #693b00;
  --success: #1e5120;
  --warn: #733400;
  --danger: #85211f;
  --info: #104879;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #9c5700;
  --action-success: #2c7730;
  --action-warn: #aa4d00;
  --action-danger: #c3302d;
  --control-border: #5b6e54;
}
html[data-theme="light"][data-skin="jungle"][data-skin-tone="berry"] {
  --bg-solid: #eef9e7;
  --card: #fdfef9;
  --card-hover: #f4fbe9;
  --primary-light: #ffe4e6;
  --secondary-light: #ffecce;
  --success-light: #ddf2dd;
  --warn-light: #fdeccf;
  --danger-light: #ffe2e2;
  --info-light: #e0eefb;
  --text: #22401f;
  --text-soft: #364c31;
  --muted: #3d4a38;
  --primary: #8c122d;
  --primary-dark: #8c1032;
  --secondary: #693b00;
  --success: #1e5120;
  --warn: #733400;
  --danger: #85211f;
  --info: #104879;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #9c5700;
  --action-success: #2c7730;
  --action-warn: #aa4d00;
  --action-danger: #c3302d;
  --control-border: #5b6e54;
}
html[data-theme="dark"][data-skin="jungle"] {
  --bg-solid: #121b10;
  --card: #1a2518;
  --card-hover: #212e1e;
  --primary-light: #1e3a1c;
  --secondary-light: #3a2c15;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #eaf6e4;
  --text-soft: #cbe0c0;
  --muted: #9fb397;
  --primary: #7ed957;
  --primary-dark: #a5e887;
  --secondary: #ffb74d;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87b7b;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #876129;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #8fa786;
}
html[data-theme="light"][data-skin="girl"][data-skin-tone="auto"] {
  --bg-solid: #fff6fa;
  --card: #fffdfd;
  --card-hover: #fff2f8;
  --primary-light: #ffdfec;
  --secondary-light: #f0e2ff;
  --success-light: #d6f5e8;
  --warn-light: #fdeccd;
  --danger-light: #ffe2e8;
  --info-light: #e5e6ff;
  --text: #3d1f31;
  --text-soft: #6a4257;
  --muted: #6d515e;
  --primary: #a91e5c;
  --primary-dark: #a91a5c;
  --secondary: #7b2bc5;
  --success: #036647;
  --warn: #814d00;
  --danger: #b01738;
  --info: #4a4cb5;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #b73574, #64609d);
  --on-action: #ffffff;
  --action-secondary: #9032e5;
  --action-success: #047653;
  --action-warn: #965a00;
  --action-danger: #ca1a41;
  --control-border: #9a7285;
}
html[data-theme="light"][data-skin="girl"][data-skin-tone="sunny"] {
  --bg-solid: #fff6fa;
  --card: #fffdfd;
  --card-hover: #fff2f8;
  --primary-light: #ffe8cf;
  --secondary-light: #f0e2ff;
  --success-light: #d6f5e8;
  --warn-light: #fdeccd;
  --danger-light: #ffe2e8;
  --info-light: #e5e6ff;
  --text: #3d1f31;
  --text-soft: #6a4257;
  --muted: #6d515e;
  --primary: #90430d;
  --primary-dark: #934108;
  --secondary: #7b2bc5;
  --success: #036647;
  --warn: #814d00;
  --danger: #b01738;
  --info: #4a4cb5;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #9032e5;
  --action-success: #047653;
  --action-warn: #965a00;
  --action-danger: #ca1a41;
  --control-border: #9a7285;
}
html[data-theme="light"][data-skin="girl"][data-skin-tone="ocean"] {
  --bg-solid: #fff6fa;
  --card: #fffdfd;
  --card-hover: #fff2f8;
  --primary-light: #e0f2fe;
  --secondary-light: #f0e2ff;
  --success-light: #d6f5e8;
  --warn-light: #fdeccd;
  --danger-light: #ffe2e8;
  --info-light: #e5e6ff;
  --text: #3d1f31;
  --text-soft: #6a4257;
  --muted: #6d515e;
  --primary: #085e85;
  --primary-dark: #035e91;
  --secondary: #7b2bc5;
  --success: #036647;
  --warn: #814d00;
  --danger: #b01738;
  --info: #4a4cb5;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #9032e5;
  --action-success: #047653;
  --action-warn: #965a00;
  --action-danger: #ca1a41;
  --control-border: #9a7285;
}
html[data-theme="light"][data-skin="girl"][data-skin-tone="berry"] {
  --bg-solid: #fff6fa;
  --card: #fffdfd;
  --card-hover: #fff2f8;
  --primary-light: #ffe4e6;
  --secondary-light: #f0e2ff;
  --success-light: #d6f5e8;
  --warn-light: #fdeccd;
  --danger-light: #ffe2e8;
  --info-light: #e5e6ff;
  --text: #3d1f31;
  --text-soft: #6a4257;
  --muted: #6d515e;
  --primary: #b01738;
  --primary-dark: #9f1239;
  --secondary: #7b2bc5;
  --success: #036647;
  --warn: #814d00;
  --danger: #b01738;
  --info: #4a4cb5;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #9032e5;
  --action-success: #047653;
  --action-warn: #965a00;
  --action-danger: #ca1a41;
  --control-border: #9a7285;
}
html[data-theme="dark"][data-skin="girl"] {
  --bg-solid: #241420;
  --card: #2d1a28;
  --card-hover: #371f31;
  --primary-light: #46223a;
  --secondary-light: #322150;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #fde8f2;
  --text-soft: #e8c8da;
  --muted: #c1a5b7;
  --primary: #ff7ab8;
  --primary-dark: #ff9dcb;
  --secondary: #c39bff;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87474;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #755d99;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #ad88a0;
}
html[data-theme="light"][data-skin="boy"][data-skin-tone="auto"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f2f9ff;
  --primary-light: #d8ecfb;
  --secondary-light: #d3f4fa;
  --success-light: #d5f5e8;
  --warn-light: #fdeecd;
  --danger-light: #ffe1e1;
  --info-light: #dfe9ff;
  --text: #10243a;
  --text-soft: #3b5a78;
  --muted: #4a5a6a;
  --primary: #015c8b;
  --primary-dark: #075985;
  --secondary: #056075;
  --success: #036446;
  --warn: #844904;
  --danger: #ac1e1e;
  --info: #1e50be;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #076bb8, #007573);
  --on-action: #ffffff;
  --action-secondary: #06718b;
  --action-success: #047653;
  --action-warn: #9c5604;
  --action-danger: #ca2323;
  --control-border: #697f96;
}
html[data-theme="light"][data-skin="boy"][data-skin-tone="sunny"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f2f9ff;
  --primary-light: #ffe8cf;
  --secondary-light: #d3f4fa;
  --success-light: #d5f5e8;
  --warn-light: #fdeecd;
  --danger-light: #ffe1e1;
  --info-light: #dfe9ff;
  --text: #10243a;
  --text-soft: #3b5a78;
  --muted: #4a5a6a;
  --primary: #8e420d;
  --primary-dark: #924008;
  --secondary: #056075;
  --success: #036446;
  --warn: #844904;
  --danger: #ac1e1e;
  --info: #1e50be;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #06718b;
  --action-success: #047653;
  --action-warn: #9c5604;
  --action-danger: #ca2323;
  --control-border: #697f96;
}
html[data-theme="light"][data-skin="boy"][data-skin-tone="ocean"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f2f9ff;
  --primary-light: #e0f2fe;
  --secondary-light: #d3f4fa;
  --success-light: #d5f5e8;
  --warn-light: #fdeecd;
  --danger-light: #ffe1e1;
  --info-light: #dfe9ff;
  --text: #10243a;
  --text-soft: #3b5a78;
  --muted: #4a5a6a;
  --primary: #085e85;
  --primary-dark: #035d8f;
  --secondary: #056075;
  --success: #036446;
  --warn: #844904;
  --danger: #ac1e1e;
  --info: #1e50be;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #06718b;
  --action-success: #047653;
  --action-warn: #9c5604;
  --action-danger: #ca2323;
  --control-border: #697f96;
}
html[data-theme="light"][data-skin="boy"][data-skin-tone="berry"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f2f9ff;
  --primary-light: #ffe4e6;
  --secondary-light: #d3f4fa;
  --success-light: #d5f5e8;
  --warn-light: #fdeecd;
  --danger-light: #ffe1e1;
  --info-light: #dfe9ff;
  --text: #10243a;
  --text-soft: #3b5a78;
  --muted: #4a5a6a;
  --primary: #ad1637;
  --primary-dark: #9f1239;
  --secondary: #056075;
  --success: #036446;
  --warn: #844904;
  --danger: #ac1e1e;
  --info: #1e50be;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #06718b;
  --action-success: #047653;
  --action-warn: #9c5604;
  --action-danger: #ca2323;
  --control-border: #697f96;
}
html[data-theme="dark"][data-skin="boy"] {
  --bg-solid: #0d1620;
  --card: #14202c;
  --card-hover: #1a2836;
  --primary-light: #1a3348;
  --secondary-light: #123a3a;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #e6f1fb;
  --text-soft: #c1d6e8;
  --muted: #9ab0c3;
  --primary: #4bb3f0;
  --primary-dark: #7ccbf7;
  --secondary: #38d9d0;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87474;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #1e736e;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #7f9bb3;
}
html[data-theme="light"][data-skin="teen"][data-skin-tone="auto"] {
  --bg-solid: #12131c;
  --card: #1a1b29;
  --card-hover: #212336;
  --primary-light: #2a2350;
  --secondary-light: #10323c;
  --success-light: #0f3a2e;
  --warn-light: #3a2e14;
  --danger-light: #3d1a22;
  --info-light: #16283f;
  --text: #eef0ff;
  --text-soft: #c3c6e4;
  --muted: #a7abc3;
  --primary: #ab90fa;
  --primary-dark: #c4b5fd;
  --secondary: #22d3ee;
  --success: #00e5a0;
  --warn: #fbbf24;
  --danger: #ff6b81;
  --info: #60a5fa;
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #7247eb, #007753);
  --on-action: #ffffff;
  --action-secondary: #127281;
  --action-success: #007753;
  --action-warn: #836313;
  --action-danger: #ab4856;
  --control-border: #8388ab;
}
html[data-theme="light"][data-skin="teen"][data-skin-tone="sunny"] {
  --bg-solid: #12131c;
  --card: #1a1b29;
  --card-hover: #212336;
  --primary-light: #352627;
  --secondary-light: #10323c;
  --success-light: #0f3a2e;
  --warn-light: #3a2e14;
  --danger-light: #3d1a22;
  --info-light: #16283f;
  --text: #eef0ff;
  --text-soft: #c3c6e4;
  --muted: #a7abc3;
  --primary: #f97e29;
  --primary-dark: #d79160;
  --secondary: #22d3ee;
  --success: #00e5a0;
  --warn: #fbbf24;
  --danger: #ff6b81;
  --info: #60a5fa;
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #127281;
  --action-success: #007753;
  --action-warn: #836313;
  --action-danger: #ab4856;
  --control-border: #8388ab;
}
html[data-theme="light"][data-skin="teen"][data-skin-tone="ocean"] {
  --bg-solid: #12131c;
  --card: #1a1b29;
  --card-hover: #212336;
  --primary-light: #192c40;
  --secondary-light: #10323c;
  --success-light: #0f3a2e;
  --warn-light: #3a2e14;
  --danger-light: #3d1a22;
  --info-light: #16283f;
  --text: #eef0ff;
  --text-soft: #c3c6e4;
  --muted: #a7abc3;
  --primary: #21aceb;
  --primary-dark: #6faac9;
  --secondary: #22d3ee;
  --success: #00e5a0;
  --warn: #fbbf24;
  --danger: #ff6b81;
  --info: #60a5fa;
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #127281;
  --action-success: #007753;
  --action-warn: #836313;
  --action-danger: #ab4856;
  --control-border: #8388ab;
}
html[data-theme="light"][data-skin="teen"][data-skin-tone="berry"] {
  --bg-solid: #12131c;
  --card: #1a1b29;
  --card-hover: #212336;
  --primary-light: #321b2d;
  --secondary-light: #10323c;
  --success-light: #0f3a2e;
  --warn-light: #3a2e14;
  --danger-light: #3d1a22;
  --info-light: #16283f;
  --text: #eef0ff;
  --text-soft: #c3c6e4;
  --muted: #a7abc3;
  --primary: #ed758f;
  --primary-dark: #ce869a;
  --secondary: #22d3ee;
  --success: #00e5a0;
  --warn: #fbbf24;
  --danger: #ff6b81;
  --info: #60a5fa;
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #127281;
  --action-success: #007753;
  --action-warn: #836313;
  --action-danger: #ab4856;
  --control-border: #8388ab;
}
html[data-theme="dark"][data-skin="teen"] {
  --bg-solid: #12131c;
  --card: #1a1b29;
  --card-hover: #212336;
  --primary-light: #2a2350;
  --secondary-light: #10323c;
  --success-light: #0f3a2e;
  --warn-light: #3a2e14;
  --danger-light: #3d1a22;
  --info-light: #16283f;
  --text: #eef0ff;
  --text-soft: #c3c6e4;
  --muted: #a7abc3;
  --primary: #ab90fa;
  --primary-dark: #c4b5fd;
  --secondary: #22d3ee;
  --success: #00e5a0;
  --warn: #fbbf24;
  --danger: #ff6b81;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #7247eb, #007753);
  --on-action: #ffffff;
  --action-secondary: #127281;
  --action-success: #007753;
  --action-warn: #836313;
  --action-danger: #ab4856;
  --control-border: #8388ab;
}
html[data-theme="light"][data-skin="nature"][data-skin-tone="auto"] {
  --bg-solid: #f6fbf3;
  --card: #fdfffb;
  --card-hover: #f4fbef;
  --primary-light: #e0f3da;
  --secondary-light: #f0f6e2;
  --success-light: #ddf2dd;
  --warn-light: #fdf0d6;
  --danger-light: #ffe3e3;
  --info-light: #e0eefb;
  --text: #1f3320;
  --text-soft: #46603f;
  --muted: #52604b;
  --primary: #206b2e;
  --primary-dark: #226c30;
  --secondary: #586638;
  --success: #216a30;
  --warn: #895500;
  --danger: #af2525;
  --info: #155fa3;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #247834, #5f6e3c);
  --on-action: #ffffff;
  --action-secondary: #5f6e3c;
  --action-success: #257735;
  --action-warn: #945c00;
  --action-danger: #c72a2a;
  --control-border: #7a9070;
}
html[data-theme="light"][data-skin="nature"][data-skin-tone="sunny"] {
  --bg-solid: #f6fbf3;
  --card: #fdfffb;
  --card-hover: #f4fbef;
  --primary-light: #ffe8cf;
  --secondary-light: #f0f6e2;
  --success-light: #ddf2dd;
  --warn-light: #fdf0d6;
  --danger-light: #ffe3e3;
  --info-light: #e0eefb;
  --text: #1f3320;
  --text-soft: #46603f;
  --muted: #52604b;
  --primary: #98460d;
  --primary-dark: #994408;
  --secondary: #586638;
  --success: #216a30;
  --warn: #895500;
  --danger: #af2525;
  --info: #155fa3;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #5f6e3c;
  --action-success: #257735;
  --action-warn: #945c00;
  --action-danger: #c72a2a;
  --control-border: #7a9070;
}
html[data-theme="light"][data-skin="nature"][data-skin-tone="ocean"] {
  --bg-solid: #f6fbf3;
  --card: #fdfffb;
  --card-hover: #f4fbef;
  --primary-light: #e0f2fe;
  --secondary-light: #f0f6e2;
  --success-light: #ddf2dd;
  --warn-light: #fdf0d6;
  --danger-light: #ffe3e3;
  --info-light: #e0eefb;
  --text: #1f3320;
  --text-soft: #46603f;
  --muted: #52604b;
  --primary: #096690;
  --primary-dark: #036499;
  --secondary: #586638;
  --success: #216a30;
  --warn: #895500;
  --danger: #af2525;
  --info: #155fa3;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #5f6e3c;
  --action-success: #257735;
  --action-warn: #945c00;
  --action-danger: #c72a2a;
  --control-border: #7a9070;
}
html[data-theme="light"][data-skin="nature"][data-skin-tone="berry"] {
  --bg-solid: #f6fbf3;
  --card: #fdfffb;
  --card-hover: #f4fbef;
  --primary-light: #ffe4e6;
  --secondary-light: #f0f6e2;
  --success-light: #ddf2dd;
  --warn-light: #fdf0d6;
  --danger-light: #ffe3e3;
  --info-light: #e0eefb;
  --text: #1f3320;
  --text-soft: #46603f;
  --muted: #52604b;
  --primary: #b6173a;
  --primary-dark: #9f1239;
  --secondary: #586638;
  --success: #216a30;
  --warn: #895500;
  --danger: #af2525;
  --info: #155fa3;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #5f6e3c;
  --action-success: #257735;
  --action-warn: #945c00;
  --action-danger: #c72a2a;
  --control-border: #7a9070;
}
html[data-theme="dark"][data-skin="nature"] {
  --bg-solid: #121a12;
  --card: #182218;
  --card-hover: #1e2a1e;
  --primary-light: #1d3a22;
  --secondary-light: #2c3a1c;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #eaf4e6;
  --text-soft: #c8dcc0;
  --muted: #a1b59a;
  --primary: #69db7c;
  --primary-dark: #8ce99a;
  --secondary: #c0d98a;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87474;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #606c45;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #87a07e;
}
html[data-theme="light"][data-skin="winter"][data-skin-tone="auto"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f3f9ff;
  --primary-light: #dcebff;
  --secondary-light: #d8f7f7;
  --success-light: #ddf3ea;
  --warn-light: #fdf0d0;
  --danger-light: #ffe3e5;
  --info-light: #e2e8ff;
  --text: #16324f;
  --text-soft: #3d5a78;
  --muted: #4b5968;
  --primary: #2556a3;
  --primary-dark: #1b52b3;
  --secondary: #2a5e5e;
  --success: #1d624a;
  --warn: #784d05;
  --danger: #a32832;
  --info: #354dbc;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #2c66c2, #556887);
  --on-action: #ffffff;
  --action-secondary: #337272;
  --action-success: #237659;
  --action-warn: #915d06;
  --action-danger: #c1303b;
  --control-border: #6a7e93;
}
html[data-theme="light"][data-skin="winter"][data-skin-tone="sunny"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f3f9ff;
  --primary-light: #ffe8cf;
  --secondary-light: #d8f7f7;
  --success-light: #ddf3ea;
  --warn-light: #fdf0d0;
  --danger-light: #ffe3e5;
  --info-light: #e2e8ff;
  --text: #16324f;
  --text-soft: #3d5a78;
  --muted: #4b5968;
  --primary: #8e420d;
  --primary-dark: #904007;
  --secondary: #2a5e5e;
  --success: #1d624a;
  --warn: #784d05;
  --danger: #a32832;
  --info: #354dbc;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #337272;
  --action-success: #237659;
  --action-warn: #915d06;
  --action-danger: #c1303b;
  --control-border: #6a7e93;
}
html[data-theme="light"][data-skin="winter"][data-skin-tone="ocean"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f3f9ff;
  --primary-light: #e0f2fe;
  --secondary-light: #d8f7f7;
  --success-light: #ddf3ea;
  --warn-light: #fdf0d0;
  --danger-light: #ffe3e5;
  --info-light: #e2e8ff;
  --text: #16324f;
  --text-soft: #3d5a78;
  --muted: #4b5968;
  --primary: #085c82;
  --primary-dark: #035c8e;
  --secondary: #2a5e5e;
  --success: #1d624a;
  --warn: #784d05;
  --danger: #a32832;
  --info: #354dbc;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #337272;
  --action-success: #237659;
  --action-warn: #915d06;
  --action-danger: #c1303b;
  --control-border: #6a7e93;
}
html[data-theme="light"][data-skin="winter"][data-skin-tone="berry"] {
  --bg-solid: #f0f7ff;
  --card: #fdfeff;
  --card-hover: #f3f9ff;
  --primary-light: #ffe4e6;
  --secondary-light: #d8f7f7;
  --success-light: #ddf3ea;
  --warn-light: #fdf0d0;
  --danger-light: #ffe3e5;
  --info-light: #e2e8ff;
  --text: #16324f;
  --text-soft: #3d5a78;
  --muted: #4b5968;
  --primary: #ab1637;
  --primary-dark: #9f1239;
  --secondary: #2a5e5e;
  --success: #1d624a;
  --warn: #784d05;
  --danger: #a32832;
  --info: #354dbc;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #337272;
  --action-success: #237659;
  --action-warn: #915d06;
  --action-danger: #c1303b;
  --control-border: #6a7e93;
}
html[data-theme="dark"][data-skin="winter"] {
  --bg-solid: #0e1622;
  --card: #14202f;
  --card-hover: #1a2839;
  --primary-light: #1a3352;
  --secondary-light: #123c40;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #eaf2fb;
  --text-soft: #c5d7ea;
  --muted: #9cb2ca;
  --primary: #75acff;
  --primary-dark: #9cc2ff;
  --secondary: #6ce3e3;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87474;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #367272;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #85a0bd;
}
html[data-theme="light"][data-skin="spring"][data-skin-tone="auto"] {
  --bg-solid: #f2fff4;
  --card: #fdfffd;
  --card-hover: #f2fcf5;
  --primary-light: #dcf7f2;
  --secondary-light: #ffe4ec;
  --success-light: #e0f5e3;
  --warn-light: #fdf1d6;
  --danger-light: #ffe4ea;
  --info-light: #e0f3ff;
  --text: #1f3d2c;
  --text-soft: #3e6450;
  --muted: #4f6158;
  --primary: #186860;
  --primary-dark: #126860;
  --secondary: #964156;
  --success: #286831;
  --warn: #7d5512;
  --danger: #aa2a46;
  --info: #1e628a;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #1b746b, #a84960);
  --on-action: #ffffff;
  --action-secondary: #a84960;
  --action-success: #2e7738;
  --action-warn: #8c5f14;
  --action-danger: #c13050;
  --control-border: #6e867a;
}
html[data-theme="light"][data-skin="spring"][data-skin-tone="sunny"] {
  --bg-solid: #f2fff4;
  --card: #fdfffd;
  --card-hover: #f2fcf5;
  --primary-light: #ffe8cf;
  --secondary-light: #ffe4ec;
  --success-light: #e0f5e3;
  --warn-light: #fdf1d6;
  --danger-light: #ffe4ea;
  --info-light: #e0f3ff;
  --text: #1f3d2c;
  --text-soft: #3e6450;
  --muted: #4f6158;
  --primary: #95450d;
  --primary-dark: #994408;
  --secondary: #964156;
  --success: #286831;
  --warn: #7d5512;
  --danger: #aa2a46;
  --info: #1e628a;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #a84960;
  --action-success: #2e7738;
  --action-warn: #8c5f14;
  --action-danger: #c13050;
  --control-border: #6e867a;
}
html[data-theme="light"][data-skin="spring"][data-skin-tone="ocean"] {
  --bg-solid: #f2fff4;
  --card: #fdfffd;
  --card-hover: #f2fcf5;
  --primary-light: #e0f2fe;
  --secondary-light: #ffe4ec;
  --success-light: #e0f5e3;
  --warn-light: #fdf1d6;
  --danger-light: #ffe4ea;
  --info-light: #e0f3ff;
  --text: #1f3d2c;
  --text-soft: #3e6450;
  --muted: #4f6158;
  --primary: #08638c;
  --primary-dark: #036296;
  --secondary: #964156;
  --success: #286831;
  --warn: #7d5512;
  --danger: #aa2a46;
  --info: #1e628a;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #a84960;
  --action-success: #2e7738;
  --action-warn: #8c5f14;
  --action-danger: #c13050;
  --control-border: #6e867a;
}
html[data-theme="light"][data-skin="spring"][data-skin-tone="berry"] {
  --bg-solid: #f2fff4;
  --card: #fdfffd;
  --card-hover: #f2fcf5;
  --primary-light: #ffe4e6;
  --secondary-light: #ffe4ec;
  --success-light: #e0f5e3;
  --warn-light: #fdf1d6;
  --danger-light: #ffe4ea;
  --info-light: #e0f3ff;
  --text: #1f3d2c;
  --text-soft: #3e6450;
  --muted: #4e5f56;
  --primary: #b6173a;
  --primary-dark: #9f1239;
  --secondary: #964156;
  --success: #286831;
  --warn: #7d5512;
  --danger: #aa2a46;
  --info: #1e628a;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #a84960;
  --action-success: #2e7738;
  --action-warn: #8c5f14;
  --action-danger: #c13050;
  --control-border: #6e867a;
}
html[data-theme="dark"][data-skin="spring"] {
  --bg-solid: #101d15;
  --card: #17241b;
  --card-hover: #1d2c22;
  --primary-light: #163a32;
  --secondary-light: #3d2130;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #ecf9ef;
  --text-soft: #cae3d1;
  --muted: #98b4a1;
  --primary: #4fd8cb;
  --primary-dark: #8aede3;
  --secondary: #ff8fae;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87777;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #965467;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #8cac97;
}
html[data-theme="light"][data-skin="teacher"][data-skin-tone="auto"] {
  --bg-solid: #f7f8fa;
  --card: #ffffff;
  --card-hover: #fafbfd;
  --primary-light: #e2e9f3;
  --secondary-light: #fdf3d7;
  --success-light: #dcf3f0;
  --warn-light: #fdf6e3;
  --danger-light: #fde3e5;
  --info-light: #e4eef5;
  --text: #14213d;
  --text-soft: #3f4d68;
  --muted: #545c6a;
  --primary: #1d3557;
  --primary-dark: #12233c;
  --secondary: #7b5d00;
  --success: #1c6960;
  --warn: #726034;
  --danger: #b7111d;
  --info: #37627e;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #1d3557, #3d6d8c);
  --on-action: #ffffff;
  --action-secondary: #846400;
  --action-success: #1f746a;
  --action-warn: #796637;
  --action-danger: #c1121f;
  --control-border: #7b879c;
}
html[data-theme="light"][data-skin="teacher"][data-skin-tone="sunny"] {
  --bg-solid: #f7f8fa;
  --card: #ffffff;
  --card-hover: #fafbfd;
  --primary-light: #ffe8cf;
  --secondary-light: #fdf3d7;
  --success-light: #dcf3f0;
  --warn-light: #fdf6e3;
  --danger-light: #fde3e5;
  --info-light: #e4eef5;
  --text: #14213d;
  --text-soft: #3f4d68;
  --muted: #545c6a;
  --primary: #98460d;
  --primary-dark: #994408;
  --secondary: #7b5d00;
  --success: #1c6960;
  --warn: #726034;
  --danger: #b7111d;
  --info: #37627e;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #846400;
  --action-success: #1f746a;
  --action-warn: #796637;
  --action-danger: #c1121f;
  --control-border: #7b879c;
}
html[data-theme="light"][data-skin="teacher"][data-skin-tone="ocean"] {
  --bg-solid: #f7f8fa;
  --card: #ffffff;
  --card-hover: #fafbfd;
  --primary-light: #e0f2fe;
  --secondary-light: #fdf3d7;
  --success-light: #dcf3f0;
  --warn-light: #fdf6e3;
  --danger-light: #fde3e5;
  --info-light: #e4eef5;
  --text: #14213d;
  --text-soft: #3f4d68;
  --muted: #545c6a;
  --primary: #096690;
  --primary-dark: #036499;
  --secondary: #7b5d00;
  --success: #1c6960;
  --warn: #726034;
  --danger: #b7111d;
  --info: #37627e;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #846400;
  --action-success: #1f746a;
  --action-warn: #796637;
  --action-danger: #c1121f;
  --control-border: #7b879c;
}
html[data-theme="light"][data-skin="teacher"][data-skin-tone="berry"] {
  --bg-solid: #f7f8fa;
  --card: #ffffff;
  --card-hover: #fafbfd;
  --primary-light: #ffe4e6;
  --secondary-light: #fdf3d7;
  --success-light: #dcf3f0;
  --warn-light: #fdf6e3;
  --danger-light: #fde3e5;
  --info-light: #e4eef5;
  --text: #14213d;
  --text-soft: #3f4d68;
  --muted: #545c6a;
  --primary: #b6173a;
  --primary-dark: #9f1239;
  --secondary: #7b5d00;
  --success: #1c6960;
  --warn: #726034;
  --danger: #b7111d;
  --info: #37627e;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #846400;
  --action-success: #1f746a;
  --action-warn: #796637;
  --action-danger: #c1121f;
  --control-border: #7b879c;
}
html[data-theme="dark"][data-skin="teacher"] {
  --bg-solid: #10151d;
  --card: #161d27;
  --card-hover: #1c242f;
  --primary-light: #1c2b3f;
  --secondary-light: #3a3220;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #e8edf5;
  --text-soft: #c2ccdb;
  --muted: #a2aebc;
  --primary: #7ba3d8;
  --primary-dark: #a4c1e8;
  --secondary: #e9c46a;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87171;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #796637;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #8291a5;
}
html[data-theme="light"][data-skin="parent"][data-skin-tone="auto"] {
  --bg-solid: #ffffff;
  --card: #ffffff;
  --card-hover: #f7fdfb;
  --primary-light: #d9f2ee;
  --secondary-light: #fdecd8;
  --success-light: #dcf3e2;
  --warn-light: #fdecd8;
  --danger-light: #fbdfdf;
  --info-light: #e0e9fd;
  --text: #0f172a;
  --text-soft: #334155;
  --muted: #4d5b6a;
  --primary: #0d6962;
  --primary-dark: #0b5a54;
  --secondary: #9b4708;
  --success: #126d34;
  --warn: #9b4708;
  --danger: #b01b1b;
  --info: #1d4ed8;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #0f756d, #0d766a);
  --on-action: #ffffff;
  --action-secondary: #a94e08;
  --action-success: #147839;
  --action-warn: #a94e08;
  --action-danger: #b91c1c;
  --control-border: #5b6b7d;
}
html[data-theme="light"][data-skin="parent"][data-skin-tone="sunny"] {
  --bg-solid: #ffffff;
  --card: #ffffff;
  --card-hover: #f7fdfb;
  --primary-light: #ffe8cf;
  --secondary-light: #fdecd8;
  --success-light: #dcf3e2;
  --warn-light: #fdecd8;
  --danger-light: #fbdfdf;
  --info-light: #e0e9fd;
  --text: #0f172a;
  --text-soft: #334155;
  --muted: #4d5b6a;
  --primary: #98460d;
  --primary-dark: #994408;
  --secondary: #9b4708;
  --success: #126d34;
  --warn: #9b4708;
  --danger: #b01b1b;
  --info: #1d4ed8;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #a94e0f, #836313);
  --on-action: #ffffff;
  --action-secondary: #a94e08;
  --action-success: #147839;
  --action-warn: #a94e08;
  --action-danger: #b91c1c;
  --control-border: #5b6b7d;
}
html[data-theme="light"][data-skin="parent"][data-skin-tone="ocean"] {
  --bg-solid: #ffffff;
  --card: #ffffff;
  --card-hover: #f7fdfb;
  --primary-light: #e0f2fe;
  --secondary-light: #fdecd8;
  --success-light: #dcf3e2;
  --warn-light: #fdecd8;
  --danger-light: #fbdfdf;
  --info-light: #e0e9fd;
  --text: #0f172a;
  --text-soft: #334155;
  --muted: #4d5b6a;
  --primary: #096690;
  --primary-dark: #036499;
  --secondary: #9b4708;
  --success: #126d34;
  --warn: #9b4708;
  --danger: #b01b1b;
  --info: #1d4ed8;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #096f9c, #127281);
  --on-action: #ffffff;
  --action-secondary: #a94e08;
  --action-success: #147839;
  --action-warn: #a94e08;
  --action-danger: #b91c1c;
  --control-border: #5b6b7d;
}
html[data-theme="light"][data-skin="parent"][data-skin-tone="berry"] {
  --bg-solid: #ffffff;
  --card: #ffffff;
  --card-hover: #f7fdfb;
  --primary-light: #ffe4e6;
  --secondary-light: #fdecd8;
  --success-light: #dcf3e2;
  --warn-light: #fdecd8;
  --danger-light: #fbdfdf;
  --info-light: #e0e9fd;
  --text: #0f172a;
  --text-soft: #334155;
  --muted: #4d5b6a;
  --primary: #b6173a;
  --primary-dark: #9f1239;
  --secondary: #9b4708;
  --success: #126d34;
  --warn: #9b4708;
  --danger: #b01b1b;
  --info: #1d4ed8;
  --on-primary: #ffffff;
  --action-primary: linear-gradient(135deg, #ca1a41, #8845c8);
  --on-action: #ffffff;
  --action-secondary: #a94e08;
  --action-success: #147839;
  --action-warn: #a94e08;
  --action-danger: #b91c1c;
  --control-border: #5b6b7d;
}
html[data-theme="dark"][data-skin="parent"] {
  --bg-solid: #0e1518;
  --card: #141d21;
  --card-hover: #1a252a;
  --primary-light: #14352f;
  --secondary-light: #3a2c17;
  --success-light: #1a3a2e;
  --warn-light: #3a2e1a;
  --danger-light: #3a1a1a;
  --info-light: #1a2a3a;
  --text: #f1f7f8;
  --text-soft: #d3e0e3;
  --muted: #9db0b5;
  --primary: #4fd1c5;
  --primary-dark: #86e5db;
  --secondary: #f6c177;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87171;
  --info: #60a5fa;
  --bg: var(--bg-solid);
  --on-primary: #000000;
  --action-primary: linear-gradient(135deg, #5062b7, #764ba2);
  --on-action: #ffffff;
  --action-secondary: #80643e;
  --action-success: #1d7656;
  --action-warn: #836313;
  --action-danger: #a64c4c;
  --control-border: #9db0b5;
}
html[data-theme="hc"][data-skin] {
  --bg: #000000;
  --bg-solid: #000000;
  --card: #000000;
  --card-hover: #111111;
  --text: #ffffff;
  --text-soft: #ffffff;
  --muted: #ffffff;
  --border: #ffffff;
  --control-border: #ffffff;
  --primary: #ffff00;
  --primary-dark: #ffff00;
  --secondary: #00ffff;
  --success: #7dffab;
  --warn: #ffff00;
  --danger: #ffaaaa;
  --info: #aaddff;
  --on-primary: #000000;
  --on-action: #000000;
  --action-primary: #ffff00;
  --action-secondary: #00ffff;
  --action-success: #7dffab;
  --action-warn: #ffff00;
  --action-danger: #ffaaaa;
  --primary-light: #000000;
  --secondary-light: #000000;
  --success-light: #000000;
  --warn-light: #000000;
  --danger-light: #000000;
  --info-light: #000000;
}
/* card */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-panel,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-block,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-level-card,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-book-card,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-lesson-card,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-check-card,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-level-head,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-domain-head,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-lesson-head {
  background: #1c2433 !important;
  color: #f6f1e8 !important;
  border-color: #3d4d6e !important;
}
/* warm */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-steps article,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-materials,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-visual,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-goal,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-act,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-lesson-card:hover,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-lesson-card:focus-visible {
  background: #241e18 !important;
  color: #f6efe4 !important;
  border-color: #6b5428 !important;
}
/* green */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-values li,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-family,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-signs {
  background: #16281f !important;
  color: #d8f3e2 !important;
  border-color: #2f6f52 !important;
}
/* pink */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-value-block {
  background: #2a1a22 !important;
  color: #ffd9e2 !important;
  border-color: #7a4356 !important;
}
/* blue */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-audio,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-observe,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-learn li,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-steps-play {
  background: #16233a !important;
  color: #e8f1ff !important;
  border-color: #3d5a86 !important;
}
/* tile */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-material-list li,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-play-steps li,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-signs-list li,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-visual-question,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-tenframe-cell {
  background: #1f2937 !important;
  color: #f6efe4 !important;
  border-color: #4b5563 !important;
}
/* متن‌های کم‌رنگ و توضیحی */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-counts,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-note,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-audio-status,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-check-status,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-audio-text,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-visual-card figcaption,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-play-done,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-book-card small,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-book-card em,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-lesson-card small,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-lesson-card em,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-level-card em,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-level-card h2 span {
  color: #cbd5e1 !important;
}
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-counts b {
  color: #ffe1a3 !important;
}
/* نشان/برچسب‌ها */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-eyebrow,
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .pk-chips li {
  background: #33280f !important;
  color: #ffd98a !important;
}
/* ردیف درس پیش‌دبستانی همان ردیف مشترک پایه‌هاست؛ در تم تاریک و کنتراست بالا
   هم روی زمینهٔ تیره/سیاه می‌نشیند تا سطح کاغذی قفسه در این تم‌ها نماند. */
html[data-theme="light"][data-skin="teen"] .pk-page:not(.pk-sheet-page) .topic.page-slip {
  background: #1c2433 !important;
  color: #f6f1e8 !important;
  border-color: #3d4d6e !important;
}
/* ===== تم تیره و کنتراست بالا ===== */
html[data-theme="light"][data-skin="teen"] .home-hero { background: radial-gradient(1000px 400px at 88% -10%, rgba(255, 183, 3, .14), transparent 62%), radial-gradient(760px 320px at 4% 110%, rgba(124, 138, 255, .16), transparent 60%), linear-gradient(150deg, #111827 0%, #1c2340 130%); }
html[data-theme="light"][data-skin="teen"] .home-quick-card,
html[data-theme="light"][data-skin="teen"] .home-stat,
html[data-theme="light"][data-skin="teen"] .home-step,
html[data-theme="light"][data-skin="teen"] .home-activity-card,
html[data-theme="light"][data-skin="teen"] .home-shelf-row,
html[data-theme="light"][data-skin="teen"] .home-agent-card,
html[data-theme="light"][data-skin="teen"] .home-feature,
html[data-theme="light"][data-skin="teen"] .home-art-card,
html[data-theme="light"][data-skin="teen"] .home-art-badge { background: #111827; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .home-art-card--2,
html[data-theme="light"][data-skin="teen"] .home-art-card--3,
html[data-theme="light"][data-skin="teen"] .home-art-card--4 { background: linear-gradient(160deg, #111827, #22234b); }
html[data-theme="light"][data-skin="teen"] .home-quick-icon,
html[data-theme="light"][data-skin="teen"] .home-activity-icon,
html[data-theme="light"][data-skin="teen"] .home-agent-icon,
html[data-theme="light"][data-skin="teen"] .home-shelf-tag,
html[data-theme="light"][data-skin="teen"] .home-eyebrow,
html[data-theme="light"][data-skin="teen"] .home-grade-jump a { background: #28284e; color: #dedcff; border-color: #48488a; }
html[data-theme="light"][data-skin="teen"] .home-book { background: #0f172a; border-color: #334155; color: #e5e7eb; }
html[data-theme="light"][data-skin="teen"] .home-activity-list li { background: #0f172a; border-color: #334155; color: #cbd5e1; }
html[data-theme="light"][data-skin="teen"] .home-final { background: linear-gradient(120deg, #22234b, #111827 62%); border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .home-stat strong,
html[data-theme="light"][data-skin="teen"] .home-quick-go,
html[data-theme="light"][data-skin="teen"] .home-section-link,
html[data-theme="light"][data-skin="teen"] .home-step a,
html[data-theme="light"][data-skin="teen"] .home-counts b,
html[data-theme="light"][data-skin="teen"] .home-art-badge b { color: #c7d2fe; }
html[data-theme="light"][data-skin="teen"] .home-shelf-tag strong { color: #dedcff; }
html[data-theme="light"][data-skin="teen"] .home-preschool-card { background: #111827; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .home-preschool-chips li { background: #0f172a; border-color: #334155; color: #cbd5e1; }
/* ---------- پشتیبان قطعی تم تاریک: سطوح سیاه با نوشتهٔ خوانا ---------- */
/* مثل v5.11.5 — بدون وابستگی به زنجیرهٔ متغیرها؛ حتی با تیره‌سازی اجباری مرورگر هم سیاه می‌ماند */
html[data-theme="light"][data-skin="teen"] .arr-row { background: #000; border-color: #3a4556; }
html[data-theme="light"][data-skin="teen"] .arr-row.t1 { background: #0a0e18; }
html[data-theme="light"][data-skin="teen"] .arr-row:hover,
html[data-theme="light"][data-skin="teen"] .arr-row.hot { background: #141b2c; border-color: var(--primary, #7c8aff); }
html[data-theme="light"][data-skin="teen"] .arr-cell { color: #9db0ff; }
html[data-theme="light"][data-skin="teen"] .arr-row:hover .arr-cell,
html[data-theme="light"][data-skin="teen"] .arr-row.hot .arr-cell { color: #c9d2ff; }
html[data-theme="light"][data-skin="teen"] .arr-cnt { color: #b8bcc8; }
html[data-theme="light"][data-skin="teen"] .share-tray { background: #000; }
html[data-theme="light"][data-skin="teen"] .share-badge { background: #1a2236; color: #c9d2ff; }
html[data-theme="light"][data-skin="teen"] .share-empty { color: #9db0b5; border-color: #556070; }
html[data-theme="light"][data-skin="teen"] .share-rest { background: #2a2110; }
html[data-theme="light"][data-skin="teen"] .share-rest .share-badge { background: #000; color: #fbbf24; }
html[data-theme="light"][data-skin="teen"] .share-ok { background: #1a3a2e; }
html[data-theme="light"][data-skin="teen"] .lesson-game,
html[data-theme="light"][data-skin="teen"] .lesson-lab { background: linear-gradient(145deg, #241e18, #30261c); }
html[data-theme="light"][data-skin="teen"] .lesson-activity-summary,
html[data-theme="light"][data-skin="teen"] .lesson-activity-icon,
html[data-theme="light"][data-skin="teen"] .lesson-quest-timer { background: #1a1713; color: #f6efe4; border-color: #6b5428; }
html[data-theme="light"][data-skin="teen"] .course-explorer { background: #111827; border-color: #334155; box-shadow: 0 14px 34px rgba(0,0,0,.24); }
html[data-theme="light"][data-skin="teen"] .course-explorer-current { color: #a7f3d0; background: #12352e; }
html[data-theme="light"][data-skin="teen"] .course-step { border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .grade-picker-item,
html[data-theme="light"][data-skin="teen"] .book-filter-chip,
html[data-theme="light"][data-skin="teen"] .course-lesson-card,
html[data-theme="light"][data-skin="teen"] .activity-filter-chip,
html[data-theme="light"][data-skin="teen"] .course-more-button { color: #e5e7eb; background: #172033; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .grade-picker-item.is-active,
html[data-theme="light"][data-skin="teen"] .book-filter-chip.is-active,
html[data-theme="light"][data-skin="teen"] .course-lesson-card.is-selected { background: #22234b; border-color: #8580ff; }
html[data-theme="light"][data-skin="teen"] .grade-picker-number,
html[data-theme="light"][data-skin="teen"] .course-lesson-icon { background: #28284e; color: #c7d2fe; }
html[data-theme="light"][data-skin="teen"] .grade-picker-item.is-active .grade-picker-number { background: #6961de; color: #fff; }
html[data-theme="light"][data-skin="teen"] .course-search { background: #0f172a; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .course-search input { color: #f3f4f6; }
html[data-theme="light"][data-skin="teen"] .course-search kbd,
html[data-theme="light"][data-skin="teen"] .course-lesson-count,
html[data-theme="light"][data-skin="teen"] .course-search-empty,
html[data-theme="light"][data-skin="teen"] .lesson-select-empty > span { color: #cbd5e1; background: #0f172a; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .course-lesson-subject { color: #d5d5ff; background: #28284e; }
html[data-theme="light"][data-skin="teen"] .course-lesson-card-foot { border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .course-search-empty strong,
html[data-theme="light"][data-skin="teen"] .lesson-select-empty { color: #f3f4f6; }
html[data-theme="light"][data-skin="teen"] .lesson-select-empty { background: linear-gradient(100deg, #22234b, #172033); border-color: #48488a; }
html[data-theme="light"][data-skin="teen"] .activity-filter-chip.is-active { background: #635bdb; }
html[data-theme="light"][data-skin="teen"] .activity-section-count { color: #dedcff; background: #28284e; border-color: #48488a; }
html[data-theme="light"][data-skin="teen"] .learning-activities-page .game-card { background: #111827; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .learning-activities-page .game-icon { background: #28284e; }
html[data-theme="light"][data-skin="teen"] .learning-activities-page .lab-card { background: #111827; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .book-cover-card,
html[data-theme="light"][data-skin="teen"] .book-game-card,
html[data-theme="light"][data-skin="teen"] .book-lab-card { color: #f3f4f6; background: #111827; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .book-cover-card.is-selected { background: linear-gradient(150deg, #202641, #111827); border-color: #8580ff; }
html[data-theme="light"][data-skin="teen"] .book-cover-icon,
html[data-theme="light"][data-skin="teen"] .book-game-icon,
html[data-theme="light"][data-skin="teen"] .book-lab-icon { background: #28284e; }
html[data-theme="light"][data-skin="teen"] .book-game-panel,
html[data-theme="light"][data-skin="teen"] .book-lab-fields textarea { color: #f3f4f6; background: #0f172a; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .book-game-option { color: #f3f4f6; background: #172033; border-color: #475569; }
html[data-theme="light"][data-skin="teen"] .book-game-option.is-correct { color: #a7f3d0; background: #12352e; border-color: #059669; }
html[data-theme="light"][data-skin="teen"] .book-game-option.is-wrong { color: #fecdd3; background: #3b1721; border-color: #e11d48; }
html[data-theme="light"][data-skin="teen"] .book-lab-safety { color: #a7f3d0; background: #12352e; }
html[data-theme="light"][data-skin="teen"] .book-lab-clear,
html[data-theme="light"][data-skin="teen"] .book-lab-time,
html[data-theme="light"][data-skin="teen"] .book-empty-state { color: #cbd5e1; background: #0f172a; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .book-empty-state strong { color: #f3f4f6; }
html[data-theme="light"][data-skin="teen"] .book-game-action,
html[data-theme="light"][data-skin="teen"] .book-sort-item,
html[data-theme="light"][data-skin="teen"] .book-sort-move,
html[data-theme="light"][data-skin="teen"] .book-categorize-tile,
html[data-theme="light"][data-skin="teen"] .book-letter-tile,
html[data-theme="light"][data-skin="teen"] .book-word-slots,
html[data-theme="light"][data-skin="teen"] .book-control-range,
html[data-theme="light"][data-skin="teen"] .book-experiment-view,
html[data-theme="light"][data-skin="teen"] .book-lab-notes textarea { color: #f3f4f6; background: #0f172a; border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .book-game-submit,
html[data-theme="light"][data-skin="teen"] .book-category-choice { color: #f3f4f6; background: #3730a3; }
html[data-theme="light"][data-skin="teen"] .book-memory-tile.is-open,
html[data-theme="light"][data-skin="teen"] .book-memory-tile.is-matched { color: #f3f4f6; background: #172033; }
html[data-theme="light"][data-skin="teen"] .book-memory-tile.is-matched { border-color: #059669; }
html[data-theme="light"][data-skin="teen"] .book-category-bin { background: #0f172a; border-color: #475569; }
html[data-theme="light"][data-skin="teen"] .book-control-range-title,
html[data-theme="light"][data-skin="teen"] .book-array-total,
html[data-theme="light"][data-skin="teen"] .book-lab-result { color: #e2e8f0; }
html[data-theme="light"][data-skin="teen"] .book-lab-area-grid span { background: #3730a3; border-color: #635bdb; }
html[data-theme="light"][data-skin="teen"] .book-lab-notes textarea { color: #f3f4f6; }
html[data-theme="light"][data-skin="teen"] .lab-frac-cell,
html[data-theme="light"][data-skin="teen"] .lab-pct-cell,
html[data-theme="light"][data-skin="teen"] .lab-mult-row { background: #172033; border-color: #475569; }
html[data-theme="light"][data-skin="teen"] .lab-area-grid span { background: #28284e; border-color: #5145cd; }
html[data-theme="light"][data-skin="teen"] .lab-money-total { color: #a7f3d0; background: #12352e; }
html[data-theme="light"][data-skin="teen"] .book-pairs-tile,
html[data-theme="light"][data-skin="teen"] .book-array-target,
html[data-theme="light"][data-skin="teen"] .book-balance-pan,
html[data-theme="light"][data-skin="teen"] .book-weight-tile,
html[data-theme="light"][data-skin="teen"] .book-weight-chip,
html[data-theme="light"][data-skin="teen"] .book-mirror-cell,
html[data-theme="light"][data-skin="teen"] .book-thermometer,
html[data-theme="light"][data-skin="teen"] .book-clock svg circle { background: #172033; border-color: #475569; }
html[data-theme="light"][data-skin="teen"] .book-pairs-tile.is-matched { color: #a7f3d0; background: #12352e; border-color: #059669; }
html[data-theme="light"][data-skin="teen"] .book-balance-pan.is-active { background: #22234b; border-color: #8580ff; }
html[data-theme="light"][data-skin="teen"] .book-array-target.is-found { color: #a7f3d0; background: #12352e; }
html[data-theme="light"][data-skin="teen"] .book-mirror-grid { background: linear-gradient(90deg, #0f172a 0 49.4%, #ff85b3 49.4% 50.6%, #0f172a 50.6% 100%); border-color: #334155; }
html[data-theme="light"][data-skin="teen"] .book-compare-label,
html[data-theme="light"][data-skin="teen"] .book-lab-caption,
html[data-theme="light"][data-skin="teen"] .book-clock figcaption { color: #cbd5e1; }
/* Loaded after page styles. Specificity/important is intentional: old page rules
 * and theme-dark.css also use important. Do not apply these rules to print. */
html[data-theme][data-skin] .btn.primary,
html[data-theme][data-skin] .card.gradient,
html[data-theme][data-skin] .chat-msg.user,
html[data-theme][data-skin] .tabs a.on,
html[data-theme][data-skin] .avatar {
  background: var(--action-primary) !important;
  color: var(--on-action) !important;
}
html[data-theme][data-skin] .btn.secondary { background: var(--action-secondary) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] .btn.success { background: var(--action-success) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] .btn.warn,
html[data-theme][data-skin] .btn.warning { background: var(--action-warn) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] .btn.danger { background: var(--action-danger) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] .btn:hover { filter: brightness(.95); }
html[data-theme][data-skin] .btn.ghost,
html[data-theme][data-skin] .dashboard-hero-actions .btn.ghost,
html[data-theme][data-skin] .home-final .btn.ghost {
  background: var(--card) !important;
  color: var(--primary-dark) !important;
  border-color: var(--control-border) !important;
}
html[data-theme][data-skin] .btn.ghost:hover { background: var(--primary-light) !important; }
html[data-theme][data-skin] .card.gradient :is(h1,h2,h3,p,.stat,.stat strong,.muted) {
  color: var(--on-action) !important;
}
html[data-theme][data-skin] .card.gradient .stat { background: transparent; }
html[data-theme][data-skin] :is(.choice.selected,.qdot.current,.chip-btn:hover) {
  background: var(--primary) !important;
  color: var(--on-primary) !important;
}
html[data-theme][data-skin] .muted { color: var(--muted); }
html[data-theme][data-skin] .home-stat strong {
  background: none;
  -webkit-text-fill-color: var(--primary-dark);
  color: var(--primary-dark);
}
html[data-theme][data-skin] .home-stat span { color: var(--muted); }
html[data-theme][data-skin] .hero h1 {
  background: none;
  -webkit-text-fill-color: var(--primary);
  color: var(--primary);
}
html[data-theme][data-skin] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea) {
  background-color: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--control-border) !important;
}
html[data-theme][data-skin] :is(input,textarea)::placeholder { color: var(--muted); opacity: 1; }
html[data-theme][data-skin] :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid var(--primary) !important;
  outline-offset: 3px;
}
html[data-theme][data-skin] .alert.ok { background: var(--success-light); color: var(--success); }
html[data-theme][data-skin] .alert.err { background: var(--danger-light); color: var(--danger); }
html[data-theme][data-skin] .alert.warn { background: var(--warn-light); color: var(--warn); }
html[data-theme][data-skin] .alert.info { background: var(--info-light); color: var(--info); }
html[data-theme][data-skin] .audio-report-btn {
  background: var(--warn-light) !important;
  color: var(--warn) !important;
  border-color: var(--control-border) !important;
}
html[data-theme][data-skin] .audio-report-btn.is-reported {
  background: var(--success-light) !important;
  color: var(--success) !important;
}
/* Existing database content has a fixed pale Quran box. Pair its foreground
 * and background explicitly; do not recolor educational SVGs/color swatches. */
html[data-theme][data-skin] .lesson .quran-ayah {
  background: var(--success-light) !important;
  color: var(--text) !important;
  border-color: var(--success) !important;
}
/* Brown dark navigation selection had a white-on-gold gradient. */
html[data-theme="dark"][data-skin] .admin-sb-link.on {
  background: var(--primary-light) !important;
  color: var(--primary) !important;
}
html[data-theme="hc"][data-skin] :is(.card.gradient h1,.card.gradient h2,.card.gradient h3,.card.gradient p,.card.gradient .stat) {
  color: var(--on-action) !important;
}

html[data-theme][data-skin] .calendar-assigned {
  background: var(--warn-light) !important;
  color: var(--text) !important;
}
/* All remaining text-bearing primary fills found in the shared/game styles. */
html[data-theme][data-skin] :is(.arr-n,.share-head,.course-step-number,.grade-picker-item.is-active .grade-picker-number,.activity-filter-chip.is-active,.book-game-start,.book-game-next,.book-game-restart,.book-lab-save,.book-lab-clear,.book-lab-reset,.book-game-submit,.home-step-num,.mult-table thead th,.mult-table tbody th,.rte-src-btn,.pf-tab.on,.site-nav a.active,.nav-links a.active) {
  background: var(--primary) !important;
  color: var(--on-primary) !important;
}
html[data-theme][data-skin] :is(.puzzle-cell,.mem-card:not(.flip):not(.done),.admin-sb-link.on,.home-hero .home-eyebrow,.guide-fab,.guide-hero,.dashboard-hero,.kid-hero,.admin-hero,.admin-console > header,.admin-console .admin-head,.home-final,.learning-activities-page .learning-hero) {
  background: var(--action-primary) !important;
  color: var(--on-action) !important;
}
html[data-theme][data-skin] :is(.guide-hero,.dashboard-hero,.kid-hero,.admin-hero,.admin-console > header,.admin-console .admin-head,.home-final,.learning-activities-page .learning-hero) :is(h1,h2,h3,p,.muted) {
  color: var(--on-action) !important;
}
/* Do not wash out text behind decorative translucent hero overlays. */
html[data-theme][data-skin] :is(.dashboard-hero,.kid-hero,.guide-hero,.learning-hero)::before,
html[data-theme][data-skin] :is(.dashboard-hero,.kid-hero,.guide-hero,.learning-hero)::after { opacity: 0; }
html[data-theme][data-skin] :is(.home-steps .home-step,.home-steps > li,.home-steps .step)::before {
  background: var(--action-primary);
  color: var(--on-action);
}
html[data-theme][data-skin] :is(.admin-sb-badge,.install-modal-close:hover) { background: var(--action-danger) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] :is(.install-app-btn,.install-dl-btn,.nav-install-btn:hover,.money-btn .bill,.course-explorer-current > span) { background: var(--action-success) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] :is(.pk-steps article span,.pk-lesson-num) { background: var(--action-warn) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] .pk-visual-question { background: var(--card); color: var(--muted); }
html[data-theme][data-skin] .install-cta-note { color: var(--muted); }
html[data-theme][data-skin] .install-modal-close { background: var(--card); color: var(--text-soft); }

html[data-theme][data-skin] :is(.dashboard-kicker,.kid-hero-kicker,.guide-kicker,.learning-hero-eyebrow) {
  background: transparent !important;
  color: var(--on-action) !important;
}
html[data-theme][data-skin] .learning-hero-stats :is(strong,span) { color: var(--on-action); }
html[data-theme="hc"][data-skin] .learning-hero-stats > div { background: transparent; }
html[data-theme][data-skin] .chat-log .chat-msg.user[data-time]::after { color: var(--on-action); opacity: 1; }
html[data-theme][data-skin] .book-cover-card.is-selected {
  background: linear-gradient(150deg, var(--primary-light), var(--card)) !important;
}
html[data-theme][data-skin] .book-cover-arrow { color: var(--primary-dark); opacity: 1; }

html[data-theme][data-skin] .book-cover-count { color: var(--primary-dark); }

html[data-theme][data-skin] .home-hero h1 span::after { opacity: 0; }
/* Skin background-image patterns replace the original shorthand gradient. Give
 * their transparent pixels an explicit base (especially neon's dark canvas). */
html[data-theme][data-skin] body { background-color: var(--bg-solid) !important; }
html[data-theme][data-skin] .topbar { background: var(--card) !important; color: var(--text) !important; }
html[data-theme][data-skin] .topbar :is(.brand,.brand strong,.nav a,.nav-group-toggle) { color: var(--primary) !important; }
html[data-theme][data-skin] .topbar :is(.nav a:hover,.nav a.active,.nav-group-toggle:hover) { background: var(--primary-light) !important; color: var(--primary-dark) !important; }
html[data-theme][data-skin] .home-hero { background: linear-gradient(150deg, var(--card), var(--primary-light)) !important; }
html[data-theme][data-skin] .stat-card { background: linear-gradient(180deg, var(--card), var(--primary-light)) !important; }
html[data-theme][data-skin] .stat-card.c2 { background: linear-gradient(180deg, var(--card), var(--success-light)) !important; }
html[data-theme][data-skin] .stat-card.c3 { background: linear-gradient(180deg, var(--card), var(--warn-light)) !important; }
html[data-theme][data-skin] .stat-card.c4 { background: linear-gradient(180deg, var(--card), var(--secondary-light)) !important; }
html[data-theme][data-skin] .stat-card.c5 { background: linear-gradient(180deg, var(--card), var(--info-light)) !important; }
html[data-theme][data-skin] .stat-card.c6 { background: linear-gradient(180deg, var(--card), var(--danger-light)) !important; }
/* Inline notebook CSS is emitted after the shared header. Pair every legacy
 * white surface/status explicitly, rather than relying on the dark JS scan. */
html[data-theme][data-skin] :is(.nb-tile,.nb-card,.nb-day-card,.nb-day,.nb-periods li,.nb-dialog) {
  background: var(--card) !important; color: var(--text) !important;
}
html[data-theme][data-skin] :is(.nb-card h3,.nb-card h4) { color: var(--text) !important; }
html[data-theme][data-skin] :is(.nb-muted,.nb-empty,.nb-tile small) { color: var(--muted) !important; }
html[data-theme][data-skin] :is(.nb-day.is-empty,.nb-day-card.is-holiday,.nb-day-card.is-friday) { background: var(--card-hover) !important; color: var(--muted) !important; }
html[data-theme][data-skin] .nb-day-card.is-missing { background: var(--warn-light) !important; }
html[data-theme][data-skin] .nb-day-name { color: var(--primary-dark) !important; }
html[data-theme][data-skin] .nb-chip,
html[data-theme][data-skin] .nb-badge { background: var(--primary-light); color: var(--text-soft); }
html[data-theme][data-skin] :is(.nb-chip.is-active,.nb-period-no) { background: var(--primary); color: var(--on-primary); }
html[data-theme][data-skin] .nb-ok { background: var(--success-light); color: var(--success); }
html[data-theme][data-skin] .nb-warn { background: var(--warn-light); color: var(--warn); }
html[data-theme][data-skin] .nb-info { background: var(--info-light); color: var(--info); }
html[data-theme][data-skin] .nb-bad { background: var(--danger-light); color: var(--danger); }
html[data-theme][data-skin] :is(.nb-hero,.nb-btn) { background: var(--action-primary) !important; color: var(--on-action) !important; }
html[data-theme][data-skin] .nb-hero :is(h2,p) { color: var(--on-action) !important; opacity: 1; }
html[data-theme][data-skin] .nb-btn.ghost { background: var(--card) !important; color: var(--primary-dark) !important; }
html[data-theme][data-skin] .nb-btn.danger { background: var(--danger-light) !important; color: var(--danger) !important; }
html[data-theme][data-skin] .nb-status span { background: var(--card); color: var(--text); border-color: var(--control-border); }
html[data-theme][data-skin] .nb-status input:checked + span { color: var(--on-action); }
html[data-theme][data-skin] .nb-status input[value=present]:checked + span { background: var(--action-success); }
html[data-theme][data-skin] .nb-status input[value=late]:checked + span { background: var(--action-warn); }
html[data-theme][data-skin] .nb-status input[value=excused]:checked + span { background: var(--action-primary); }
html[data-theme][data-skin] .nb-status input[value=unexcused]:checked + span { background: var(--action-danger); }
html[data-theme][data-skin] .nb-status input:focus-visible + span { outline: 3px solid var(--primary); outline-offset: 3px; }
html[data-theme][data-skin] .nb-table th { background: var(--primary-light) !important; color: var(--text) !important; }
html[data-theme][data-skin] .nb-table td::before { color: var(--muted); }
@media (max-width:700px) { html[data-theme][data-skin] .nb-table tr { background: var(--card) !important; color: var(--text); } }

}
/* Later legacy HC paragraph rules used white ink even during printing.
 * Keep printable paper explicitly paired, independent of skin and theme. */
@media print {
  html[data-theme][data-skin] :is(.pk-sheet,.pk-play-sheet,.worksheet-paper) {
    background: #fff !important;
    color: #2d2a24 !important;
  }
  html[data-theme][data-skin] :is(.pk-sheet,.pk-play-sheet,.worksheet-paper) :is(h1,h2,h3,p,li,span,strong,small,em,th,td,label) {
    color: #2d2a24 !important;
  }
  html[data-theme][data-skin] :is(.pk-sheet,.pk-play-sheet,.worksheet-paper) :is(table,thead,tbody,tfoot,tr,th,td) {
    background: #fff !important;
  }
}
