/* ============================================================
   Темы стола. Каждая тема — свой набор тех же переменных, что в style.css.
   «Основная» (болотная с латунью) — это значения из style.css, здесь её нет.
   Тема ставится атрибутом <html data-theme="…">, выбор — в ⚙ Настройках.
   ============================================================ */

/* ---------- Классическая: чёрный и фиолетовый ---------- */
:root[data-theme="classic"],
:root[data-theme^="dark-"]{
  --board:#262626; --grid:#ffffff;
  --ink:#111111; --felt:#1e1e1e; --stage-img:none;
  --panel:#1b1b1b; --panel-2:#262626; --hover:#313131;
  --field:#141414; --sunken:#0f0f0f; --line:#343434; --scroll:#3d3d3d;
  --text:#e4e4e4; --muted:#9a9a9a; --title:#f4f4f4; --sheet-red:#e0736c;
  --roll-bg:#202020; --emote:#c9c9c9; --die-drop:#5c5c5c;
  --overlay:rgba(0,0,0,.72); --hud:rgba(24,24,24,.92); --hud-strong:rgba(22,22,22,.96);
  --auth-2:#0b0b0b; --cw-head:#232323; --cw-line:#3a3a3a;
}
:root[data-theme="classic"]{
  --brass:#8b4ee8; --brass-hi:#9d68f0; --brass-dim:#5d34a0; --accent-rgb:139,78,232; --on-accent:#ffffff;
  --whisper:#c3a8f0; --secret:#8b4ee8; --auth-1:#2a1d40; --turn-ring:#b58cff;
}

/* ---------- Тёмные вариации: та же основа, другой акцент ---------- */
:root[data-theme="dark-blue"]{
  --brass:#3b82f6; --brass-hi:#5b9bff; --brass-dim:#2556a8; --accent-rgb:59,130,246; --on-accent:#ffffff;
  --whisper:#a9c4f5; --secret:#5b8def; --auth-1:#13233f; --turn-ring:#8fc0ff;
}
:root[data-theme="dark-orange"]{
  --brass:#f28c28; --brass-hi:#ffa040; --brass-dim:#a85c14; --accent-rgb:242,140,40; --on-accent:#1a0d00;
  --whisper:#f2c79c; --secret:#d9822d; --auth-1:#3a2210; --turn-ring:#ffc27a;
}
:root[data-theme="dark-red"]{
  --brass:#e0413a; --brass-hi:#f05a52; --brass-dim:#962620; --accent-rgb:224,65,58; --on-accent:#ffffff;
  --whisper:#f0aaa6; --secret:#c94741; --auth-1:#3b1312; --turn-ring:#ff8a84;
}
:root[data-theme="dark-green"]{
  --brass:#2fb45a; --brass-hi:#45cc70; --brass-dim:#1d7a3b; --accent-rgb:47,180,90; --on-accent:#04140a;
  --whisper:#a8e0bb; --secret:#3aa862; --auth-1:#12301d; --turn-ring:#8de8a8;
}
:root[data-theme="dark-teal"]{
  --brass:#17b3a6; --brass-hi:#25cdbf; --brass-dim:#0e7a71; --accent-rgb:23,179,166; --on-accent:#021412;
  --whisper:#9fe0da; --secret:#1d9f94; --auth-1:#0f2f2c; --turn-ring:#7ee8de;
}
:root[data-theme="dark-pink"]{
  --brass:#e0559b; --brass-hi:#ef6fae; --brass-dim:#9a3468; --accent-rgb:224,85,155; --on-accent:#ffffff;
  --whisper:#f0b0d2; --secret:#c95592; --auth-1:#3a1428; --turn-ring:#ff9fcf;
}

/* ---------- Светлая: белая с золотыми кнопками ---------- */
:root[data-theme="light"]{
  --board:#f7f7f4; --grid:#3a3f47;
  color-scheme:light;
  --ink:#eceef1; --felt:#dfe2e7; --stage-img:none;
  --panel:#ffffff; --panel-2:#f4f5f7; --hover:#e8ebef;
  --field:#ffffff; --sunken:#e9ecef; --line:#d5d9df; --scroll:#c5cad1;
  --brass:#c9a227; --brass-hi:#d8b23a; --brass-dim:#a8871f; --accent-rgb:201,162,39; --on-accent:#2a1f00;
  --dragon:#c0392b; --danger-text:#b42318; --danger-bg:#fdecea; --danger-line:#f1b8b0; --err:#c2410c;
  --text:#23272e; --muted:#6b7280; --title:#14171c; --sheet-red:#8b2c3c; --sheet-icon-filter:none;
  --ok:#2f855a; --ok-text:#276749; --emote:#46684b; --whisper:#6a4c9c;
  --roll-bg:#fbfaf6; --die-min:#b4493a; --die-drop:#a0a7ae; --secret:#6b5bb0;
  --overlay:rgba(30,34,40,.45); --hud:rgba(255,255,255,.92); --hud-strong:rgba(255,255,255,.96);
  --auth-1:#ffffff; --auth-2:#d9dde3; --cw-head:#f4f5f7; --cw-line:#d5d9df; --turn-ring:#c9a227;
}

/* ---------- Кремовая: нежный крем и пудрово-розовый ---------- */
:root[data-theme="cream"]{
  --board:#fffaf3; --grid:#8c6f68;
  color-scheme:light;
  --ink:#f4ece2; --felt:#ece0d2; --stage-img:none;
  --panel:#fbf6f0; --panel-2:#f6ece4; --hover:#f1e0d8;
  --field:#fffaf6; --sunken:#efe3d8; --line:#e6d3c9; --scroll:#dcc2b8;
  --brass:#d897a3; --brass-hi:#e2a8b3; --brass-dim:#c08490; --accent-rgb:216,151,163; --on-accent:#3f1f27;
  --dragon:#c0504d; --danger-text:#a8383a; --danger-bg:#fbe6e4; --danger-line:#efbcb8; --err:#b5523d;
  --text:#4a3a37; --muted:#937a74; --title:#3b2a28; --sheet-red:#93404d; --sheet-icon-filter:none;
  --ok:#6f9a76; --ok-text:#4d7a55; --emote:#6b7d68; --whisper:#8a6a9c;
  --roll-bg:#fffaf5; --die-min:#b65f55; --die-drop:#b8a49e; --secret:#9a7fb0;
  --overlay:rgba(74,58,55,.35); --hud:rgba(251,246,240,.93); --hud-strong:rgba(251,246,240,.97);
  --auth-1:#fff7f2; --auth-2:#ead8cc; --cw-head:#f6ece4; --cw-line:#e6d3c9; --turn-ring:#d897a3;
}

/* ---------- Реалистичный стол: дубовые доски и латунь ---------- */
:root[data-theme="wood"]{
  --board:#2e2015; --grid:#f3dfbf;
  --ink:#1b120b; --felt:#6b4423;
  /* доски: стыки, волокна, разный тон досок и пара сучков */
  --stage-img:
    radial-gradient(ellipse 34px 12px at 22% 31%, rgba(40,20,6,.55), rgba(40,20,6,.15) 55%, transparent 72%),
    radial-gradient(ellipse 26px 9px at 71% 63%, rgba(40,20,6,.5), rgba(40,20,6,.12) 55%, transparent 72%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.42) 0 2px, rgba(255,225,180,.06) 2px 3px, transparent 3px 140px),
    repeating-linear-gradient(0deg, rgba(0,0,0,.07) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(0deg, rgba(255,230,190,.045) 0 2px, transparent 2px 23px),
    repeating-linear-gradient(0deg, #6d4524 0 140px, #5d3a1d 140px 280px, #77492a 280px 420px, #634022 420px 560px);
  --stage-size:900px 560px, 700px 560px, auto, auto, auto, auto;
  --panel:#2a1c12; --panel-2:#352418; --hover:#422e1f;
  --field:#1e140c; --sunken:#170f09; --line:#4f3825; --scroll:#5a4029;
  --brass:#d9a557; --brass-hi:#e8b76b; --brass-dim:#9a733c; --accent-rgb:217,165,87; --on-accent:#231505;
  --text:#ecdcc6; --muted:#b39a7e; --title:#f7e8d0; --sheet-red:#dc7d55;
  --emote:#c9b89a; --whisper:#c4a6c9; --roll-bg:#24180f; --die-drop:#7a6450; --secret:#a58bc0;
  --hud:rgba(36,24,15,.92); --hud-strong:rgba(34,23,14,.96);
  --auth-1:#4a2f1a; --auth-2:#150d07; --cw-head:#352418; --cw-line:#4f3825; --turn-ring:#ffd38a;
}
/* панели — тёмное дерево с лёгкими волокнами */
:root[data-theme="wood"] .side,
:root[data-theme="wood"] .toolbelt,
:root[data-theme="wood"] .topbar{
  background-image:repeating-linear-gradient(90deg, rgba(0,0,0,.09) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, rgba(255,220,170,.03) 0 2px, transparent 2px 19px);
}

/* ---------- Космос: чёрное небо, белые звёзды и кнопки ---------- */
:root[data-theme="space"]{
  --board:#07080f; --grid:#ffffff;
  --ink:#03040a; --felt:#020308;
  --stage-img:
    radial-gradient(1.3px 1.3px at 23px 41px, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 141px 97px, rgba(255,255,255,.85) 50%, transparent 52%),
    radial-gradient(1.6px 1.6px at 77px 180px, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 203px 151px, rgba(255,255,255,.6) 50%, transparent 52%),
    radial-gradient(1px 1px at 61px 112px, rgba(255,255,255,.7) 50%, transparent 52%),
    radial-gradient(2px 2px at 160px 30px, rgba(255,255,255,.95) 50%, transparent 52%),
    radial-gradient(1px 1px at 18px 160px, rgba(255,255,255,.5) 50%, transparent 52%),
    radial-gradient(ellipse at 22% 28%, rgba(255,255,255,.05), transparent 55%),
    radial-gradient(ellipse at 78% 72%, rgba(255,255,255,.04), transparent 50%);
  --stage-size:230px 230px, 230px 230px, 230px 230px, 310px 310px, 310px 310px, 410px 410px, 170px 170px, auto, auto;
  --panel:#090b14; --panel-2:#11141f; --hover:#1a1e2d;
  --field:#05070d; --sunken:#04050a; --line:#232838; --scroll:#2c3245;
  --brass:#f2f3f8; --brass-hi:#ffffff; --brass-dim:#8a90a8; --accent-rgb:242,243,248; --on-accent:#05060c;
  --text:#e6e8f0; --muted:#8b91a8; --title:#ffffff; --sheet-red:#c3c8e2;
  --emote:#c8cbe0; --whisper:#b9b0e8; --roll-bg:#0b0d16; --die-drop:#4f5568; --secret:#9aa0ff;
  --overlay:rgba(0,0,0,.75); --hud:rgba(9,11,20,.9); --hud-strong:rgba(8,10,18,.95);
  --auth-1:#141a33; --auth-2:#010104; --cw-head:#11141f; --cw-line:#2a3044; --turn-ring:#ffffff;
}
:root[data-theme="space"] #auth{background-image:var(--stage-img), radial-gradient(circle at 50% 30%, var(--auth-1) 0%, var(--auth-2) 70%);background-size:var(--stage-size), auto}

/* ---------- Демоническая: раскалённый красный и оранжевый ---------- */
:root[data-theme="demon"]{
  --board:#1c0707; --grid:#ff9a6a;
  --ink:#0d0404; --felt:#160606;
  --stage-img:
    radial-gradient(ellipse at 50% 115%, rgba(255,90,20,.24), transparent 60%),
    radial-gradient(ellipse at 8% -5%, rgba(190,24,12,.22), transparent 50%),
    radial-gradient(ellipse at 95% 40%, rgba(255,60,10,.08), transparent 45%);
  --panel:#180707; --panel-2:#230b0a; --hover:#30100e;
  --field:#110404; --sunken:#0c0303; --line:#4a1912; --scroll:#5a2016;
  --brass:#ff5e1a; --brass-hi:#ff7a3a; --brass-dim:#a83c12; --accent-rgb:255,94,26; --on-accent:#1a0500;
  --dragon:#d02a1e; --danger-text:#ffb4a0; --danger-bg:#3b0d08; --danger-line:#6a1a10; --err:#ff8a6a;
  --text:#f2dccf; --muted:#b0867a; --title:#ffd6b0; --sheet-red:#ff8261;
  --emote:#e0b8a8; --whisper:#e09a8a; --roll-bg:#1c0808; --die-min:#ff6b4a; --die-drop:#6b3a32; --secret:#c0392b;
  --overlay:rgba(10,0,0,.75); --hud:rgba(26,8,8,.92); --hud-strong:rgba(24,7,7,.96);
  --auth-1:#4a0e08; --auth-2:#0a0202; --cw-head:#230b0a; --cw-line:#4a1912; --turn-ring:#ff9a3c;
}
/* окна с раскалённой кромкой: красный переходит в оранжевый */
:root[data-theme="demon"] .win,
:root[data-theme="demon"] .turnwin{border-top-color:#d02a1e;box-shadow:0 -2px 14px rgba(255,80,20,.18), 0 12px 32px rgba(0,0,0,.6)}
:root[data-theme="demon"] .topbar{box-shadow:inset 0 -1px 0 rgba(255,94,26,.25)}

/* ---------- светлым темам — свои мелочи ---------- */
:root[data-theme="light"] .charmodal .content,
:root[data-theme="cream"] .charmodal .content{background:var(--cw-bg)}
:root[data-theme="light"] .stagehud .chip,
:root[data-theme="cream"] .stagehud .chip{box-shadow:0 2px 8px rgba(0,0,0,.08)}
