/**
 * 设计令牌。取值直接来自设计稿 Gomoku.dc.html 的 2a / 2b 两版。
 *
 * 主题切换只改这一组 CSS 变量，不重挂任何 DOM——设计稿明确要求
 * 「主题色只是几个 CSS 变量，切换不重挂组件」。
 *
 * 深浅色默认跟随 prefers-color-scheme；用户在设置里手动选过之后，
 * JS 会在 <html> 上写 data-theme，属性选择器优先级高于媒体查询，
 * 于是停止跟随（设计稿 2c 的要求）。
 */

:root {
  color-scheme: light;

  /* —— 暖木纸（亮） —— */
  --bg: #FBF7EE;
  --surface: #EFE8DA;
  --hairline: rgba(122, 104, 78, .16);
  --hairline-strong: rgba(122, 104, 78, .22);

  --text: #2E2A24;
  --text-2: #6E655A;
  --muted: #7E7566;
  --muted-soft: #8A8073;

  --accent: #2F7D68;
  --accent-tint: rgba(47, 125, 104, .05);
  --on-accent: #FBF7EE;
  --link: #3A6E8F;
  --amber: #C9821F;
  --danger: #B4483C;

  --avatar-grad: linear-gradient(140deg, #2F7D68, #3A6E8F);

  /* —— 棋盘（数值抄自 Board.dc.html） —— */
  --board-grad: linear-gradient(155deg, #F2E0BE 0%, #E9D2A6 55%, #E0C596 100%);
  --board-line: rgba(97, 66, 32, .34);
  --board-edge: rgba(97, 66, 32, .5);
  --board-star: rgba(97, 66, 32, .6);
  --board-inset: inset 0 0 0 1px rgba(120, 86, 44, .22), inset 0 1px 0 rgba(255, 255, 255, .5);
  --stone-black: radial-gradient(circle at 34% 27%, #6d7d8a 0%, #24343f 48%, #0b141b 100%);
  --stone-white: radial-gradient(circle at 34% 27%, #ffffff 0%, #eef3f7 46%, #c3d1db 100%);
  --last-marker: #C9821F;

  /* —— 字体 —— */
  /* 不用 Google Fonts：目标服务器在国内，fonts.googleapis.com 不可达，
     会导致字体加载挂起。系统字体栈在国内设备上中文渲染更好且零请求。 */
  --font-sans: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei",
               "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;
  --font-serif: "Songti SC", "Noto Serif SC", "Source Han Serif SC",
                "SimSun", Georgia, serif;
  --font-mono: ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas,
               "Courier New", monospace;
}

/* —— 夜墨（暗）—— 两处取值必须保持一致 —— */
:root[data-theme="ink"] {
  color-scheme: dark;

  --bg: #1E1B17;
  --surface: rgba(240, 233, 220, .06);
  --hairline: rgba(240, 233, 220, .1);
  --hairline-strong: rgba(240, 233, 220, .16);

  --text: #F0E9DC;
  --text-2: #B3A895;
  --muted: #8E8474;
  --muted-soft: #8E8474;

  --accent: #57A98D;
  --accent-tint: rgba(87, 169, 141, .08);
  --on-accent: #14241E;
  --link: #7FB3CC;
  --amber: #D9A44E;
  --danger: #CC6A5E;

  --avatar-grad: linear-gradient(140deg, #57A98D, #5B8CA8);

  --board-grad: linear-gradient(155deg, #3A3128 0%, #2E271F 55%, #241E18 100%);
  --board-line: rgba(220, 190, 140, .22);
  --board-edge: rgba(220, 190, 140, .38);
  --board-star: rgba(220, 190, 140, .4);
  --board-inset: inset 0 0 0 1px rgba(240, 233, 220, .1), inset 0 1px 0 rgba(255, 255, 255, .05);
  --last-marker: #D9A44E;
}

/* 未手动选择时跟随系统。值与上方 [data-theme="ink"] 保持同步。 */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;

    --bg: #1E1B17;
    --surface: rgba(240, 233, 220, .06);
    --hairline: rgba(240, 233, 220, .1);
    --hairline-strong: rgba(240, 233, 220, .16);

    --text: #F0E9DC;
    --text-2: #B3A895;
    --muted: #8E8474;
    --muted-soft: #8E8474;

    --accent: #57A98D;
    --accent-tint: rgba(87, 169, 141, .08);
    --on-accent: #14241E;
    --link: #7FB3CC;
    --amber: #D9A44E;
    --danger: #CC6A5E;

    --avatar-grad: linear-gradient(140deg, #57A98D, #5B8CA8);

    --board-grad: linear-gradient(155deg, #3A3128 0%, #2E271F 55%, #241E18 100%);
    --board-line: rgba(220, 190, 140, .22);
    --board-edge: rgba(220, 190, 140, .38);
    --board-star: rgba(220, 190, 140, .4);
    --board-inset: inset 0 0 0 1px rgba(240, 233, 220, .1), inset 0 1px 0 rgba(255, 255, 255, .05);
    --last-marker: #D9A44E;
  }
}

/**
 * 主色可选（设计稿 2c）。只影响按钮、当前回合与最后一手标记，
 * 绝不改棋子颜色 —— 设计稿注明「棋子永远黑白，避免看错」。
 */
:root[data-accent="cinnabar"] { --accent: #C0453A; --accent-tint: rgba(192, 69, 58, .06); }
:root[data-accent="autumn"]   { --accent: #C9821F; --accent-tint: rgba(201, 130, 31, .07); }
:root[data-accent="indigo"]   { --accent: #3A6E8F; --accent-tint: rgba(58, 110, 143, .06); }
:root[data-accent="ink"]      { --accent: #5A5750; --accent-tint: rgba(90, 87, 80, .07); }
