/* 由 ops/gen-theme.py 從 assets/palette-tokens.css（bright 調子）產生——請勿手改；改配色改正本再重生 */
html[data-palette]{
  --hue-coral-paper:#f8f3ef;
  --hue-coral-center:#faf9f8;
  --hue-coral-tint-1:#f7decd;
  --hue-coral-tint-2:#fbc098;
  --hue-coral-tint-3:#fca062;
  --hue-coral-accent:#a2521d;
  --hue-coral-accent-strong:#5c2e10;
  --hue-coral-ink:#493527;
  --hue-coral-ink-2:#6f5441;
  --hue-coral-hairline:#e8dad1;
  --hue-coral-on-tint:#5c2e10;
  --hue-coral-seq-1:#fde7d8;
  --hue-coral-seq-2:#fddac3;
  --hue-coral-seq-3:#fccdaf;
  --hue-coral-seq-4:#fbc099;
  --hue-coral-seq-5:#fab384;
  --hue-coral-seq-6:#f9a56d;
  --hue-coral-seq-7:#f89757;
  --hue-coral-seq-8:#f7893f;
  --hue-apricot-paper:#f7f3ed;
  --hue-apricot-center:#faf9f8;
  --hue-apricot-tint-1:#f5e0c0;
  --hue-apricot-tint-2:#f9c371;
  --hue-apricot-tint-3:#faa320;
  --hue-apricot-accent:#8d5f19;
  --hue-apricot-accent-strong:#4f350e;
  --hue-apricot-ink:#443724;
  --hue-apricot-ink-2:#68573d;
  --hue-apricot-hairline:#e6dbcc;
  --hue-apricot-on-tint:#4f350e;
  --hue-apricot-seq-1:#fde8c9;
  --hue-apricot-seq-2:#fcdcae;
  --hue-apricot-seq-3:#fad091;
  --hue-apricot-seq-4:#f9c474;
  --hue-apricot-seq-5:#f8b654;
  --hue-apricot-seq-6:#f7a934;
  --hue-apricot-seq-7:#f59b13;
  --hue-apricot-seq-8:#eb910a;
  --hue-wheat-paper:#f6f4eb;
  --hue-wheat-center:#faf9f8;
  --hue-wheat-tint-1:#f2e2ad;
  --hue-wheat-tint-2:#f6c62a;
  --hue-wheat-tint-3:#e2ae05;
  --hue-wheat-accent:#7d6516;
  --hue-wheat-accent-strong:#46390c;
  --hue-wheat-ink:#403922;
  --hue-wheat-ink-2:#63593a;
  --hue-wheat-hairline:#e3ddc7;
  --hue-wheat-on-tint:#46390c;
  --hue-wheat-seq-1:#fceab2;
  --hue-wheat-seq-2:#fadf88;
  --hue-wheat-seq-3:#f8d45b;
  --hue-wheat-seq-4:#f6c72d;
  --hue-wheat-seq-5:#f1bb0a;
  --hue-wheat-seq-6:#e5b20a;
  --hue-wheat-seq-7:#d8a809;
  --hue-wheat-seq-8:#cd9f09;
  --hue-lemon-paper:#f5f4e8;
  --hue-lemon-center:#faf9f7;
  --hue-lemon-tint-1:#ece68b;
  --hue-lemon-tint-2:#ddcf09;
  --hue-lemon-tint-3:#c6b904;
  --hue-lemon-accent:#706a14;
  --hue-lemon-accent-strong:#3f3c0b;
  --hue-lemon-ink:#3c3a20;
  --hue-lemon-ink-2:#5d5b37;
  --hue-lemon-hairline:#e0dec1;
  --hue-lemon-on-tint:#3f3c0b;
  --hue-lemon-seq-1:#f9ef6c;
  --hue-lemon-seq-2:#f4e40a;
  --hue-lemon-seq-3:#e9da0a;
  --hue-lemon-seq-4:#ded009;
  --hue-lemon-seq-5:#d4c609;
  --hue-lemon-seq-6:#c9bc08;
  --hue-lemon-seq-7:#beb208;
  --hue-lemon-seq-8:#b4a908;
  --hue-sprout-paper:#f3f5e7;
  --hue-sprout-center:#f9faf7;
  --hue-sprout-tint-1:#ddeb82;
  --hue-sprout-tint-2:#bed909;
  --hue-sprout-tint-3:#a8c104;
  --hue-sprout-accent:#626e13;
  --hue-sprout-accent-strong:#373e0b;
  --hue-sprout-ink:#373b20;
  --hue-sprout-ink-2:#575d36;
  --hue-sprout-hairline:#dbe0bf;
  --hue-sprout-on-tint:#373e0b;
  --hue-sprout-seq-1:#e0f74b;
  --hue-sprout-seq-2:#d0ef0a;
  --hue-sprout-seq-3:#c7e40a;
  --hue-sprout-seq-4:#bed909;
  --hue-sprout-seq-5:#b4cf09;
  --hue-sprout-seq-6:#abc408;
  --hue-sprout-seq-7:#a2ba08;
  --hue-sprout-seq-8:#9ab007;
  --hue-lake-paper:#edf5f7;
  --hue-lake-center:#f8fafa;
  --hue-lake-tint-1:#beeaf4;
  --hue-lake-tint-2:#65dbf9;
  --hue-lake-tint-3:#05c5f5;
  --hue-lake-accent:#187187;
  --hue-lake-accent-strong:#0d404c;
  --hue-lake-ink:#233d43;
  --hue-lake-ink-2:#3a5f68;
  --hue-lake-hairline:#cde0e5;
  --hue-lake-on-tint:#0d404c;
  --hue-lake-seq-1:#c9f2fd;
  --hue-lake-seq-2:#abebfb;
  --hue-lake-seq-3:#89e4fa;
  --hue-lake-seq-4:#67dcf9;
  --hue-lake-seq-5:#41d3f7;
  --hue-lake-seq-6:#15c8f5;
  --hue-lake-seq-7:#0abeeb;
  --hue-lake-seq-8:#09b4de;
  --hue-sky-paper:#eff4f8;
  --hue-sky-center:#f8f9fa;
  --hue-sky-tint-1:#cfe6f7;
  --hue-sky-tint-2:#9dd2fb;
  --hue-sky-tint-3:#6bbdfc;
  --hue-sky-accent:#1e6ca8;
  --hue-sky-accent-strong:#113d5f;
  --hue-sky-ink:#263b4b;
  --hue-sky-ink-2:#405d72;
  --hue-sky-hairline:#d2dee8;
  --hue-sky-on-tint:#113d5f;
  --hue-sky-seq-1:#d9eefd;
  --hue-sky-seq-2:#c5e5fd;
  --hue-sky-seq-3:#b2dcfc;
  --hue-sky-seq-4:#9ed3fb;
  --hue-sky-seq-5:#89c9fa;
  --hue-sky-seq-6:#75c0f9;
  --hue-sky-seq-7:#5fb6f8;
  --hue-sky-seq-8:#4badf7;
  --hue-ridge-paper:#f1f4f9;
  --hue-ridge-center:#f8f9fa;
  --hue-ridge-tint-1:#d9e3f9;
  --hue-ridge-tint-2:#b8ccfc;
  --hue-ridge-tint-3:#96b5fd;
  --hue-ridge-accent:#2b5fda;
  --hue-ridge-accent-strong:#16357e;
  --hue-ridge-ink:#2c3956;
  --hue-ridge-ink-2:#485980;
  --hue-ridge-hairline:#d7ddeb;
  --hue-ridge-on-tint:#16357e;
  --hue-ridge-seq-1:#e3ebfe;
  --hue-ridge-seq-2:#d5e1fd;
  --hue-ridge-seq-3:#c6d7fd;
  --hue-ridge-seq-4:#b8cdfc;
  --hue-ridge-seq-5:#aac2fb;
  --hue-ridge-seq-6:#9bb8fb;
  --hue-ridge-seq-7:#8daefa;
  --hue-ridge-seq-8:#7fa4fa;
  --hue-iris-paper:#f4f3fa;
  --hue-iris-center:#f9f8fa;
  --hue-iris-tint-1:#e3dffa;
  --hue-iris-tint-2:#cdc6fd;
  --hue-iris-tint-3:#b7acfd;
  --hue-iris-accent:#6350e0;
  --hue-iris-accent-strong:#301da6;
  --hue-iris-ink:#393362;
  --hue-iris-ink-2:#5a5190;
  --hue-iris-hairline:#dddbec;
  --hue-iris-on-tint:#301da6;
  --hue-iris-seq-1:#ece9fe;
  --hue-iris-seq-2:#e1ddfe;
  --hue-iris-seq-3:#d8d2fd;
  --hue-iris-seq-4:#cdc6fd;
  --hue-iris-seq-5:#c4bbfc;
  --hue-iris-seq-6:#bab0fc;
  --hue-iris-seq-7:#b0a4fb;
  --hue-iris-seq-8:#a699fb;
  --hue-wisteria-paper:#f7f2f9;
  --hue-wisteria-center:#faf8fa;
  --hue-wisteria-tint-1:#eedcf9;
  --hue-wisteria-tint-2:#e4befc;
  --hue-wisteria-tint-3:#d8a0fd;
  --hue-wisteria-accent:#9731db;
  --hue-wisteria-accent-strong:#571782;
  --hue-wisteria-ink:#492e5a;
  --hue-wisteria-ink-2:#6e4b86;
  --hue-wisteria-hairline:#e4d9eb;
  --hue-wisteria-on-tint:#571782;
  --hue-wisteria-seq-1:#f4e6fe;
  --hue-wisteria-seq-2:#efd9fd;
  --hue-wisteria-seq-3:#e9ccfd;
  --hue-wisteria-seq-4:#e4bffc;
  --hue-wisteria-seq-5:#deb2fc;
  --hue-wisteria-seq-6:#d8a4fb;
  --hue-wisteria-seq-7:#d397fb;
  --hue-wisteria-seq-8:#cd8afa;
  /* 舊變數名 → 主色相 token（主色相由 html[data-palette] 決定） */
  --bg:var(--paper);--bg-color:var(--paper);--paper-card:var(--center);--card:var(--center);--card-bg:var(--center);
  --text:var(--ink);--text-main:var(--ink);--sub:var(--ink-2);--text-sub:var(--ink-2);--mut:var(--ink-2);--ink-muted:var(--ink-2);
  --border:var(--hairline);--border-color:var(--hairline);--line:var(--hairline);--shadow:none;
  --clay:var(--accent);--accent-clay:var(--accent);--accent-hover:var(--accent-strong);--clay-deep:var(--accent-strong);
  --dark:var(--accent-strong);--accent-dark:var(--accent-strong);
  /* 次要色相：同調子、不同色相；對＝湖水（冷）、錯＝珊瑚（暖），一暖一冷才不會在色弱下塌成同色 */
  --blue:var(--hue-sky-accent);--accent-blue:var(--hue-sky-accent);--matrix-blue:var(--hue-sky-accent);--matrix-gray:var(--hue-sky-tint-1);
  --green:var(--hue-lake-accent);--accent-green:var(--hue-lake-accent);--sage:var(--hue-lake-accent);--ok:var(--hue-lake-accent);
  --pass-ink:var(--hue-lake-accent-strong);--pass-bg:var(--hue-lake-tint-1);--pass-border:var(--hue-lake-accent);
  --red:var(--hue-coral-accent);--urgent:var(--hue-coral-accent);
  --purple:var(--hue-wisteria-accent);--accent-purple:var(--hue-wisteria-accent);--teal:var(--hue-lake-accent);--accent-teal:var(--hue-lake-accent);
  --gold:var(--hue-apricot-tint-2);--oat:var(--hue-apricot-tint-1);--fix:var(--hue-apricot-accent);--on-gold:var(--hue-apricot-accent-strong);
  /* SRS 熟悉度三階＝鳶尾色相的明度階（Munsell 明度軸），字用 accent-strong */
  --srs-hard-bg:var(--hue-iris-tint-1);--srs-hard-ink:var(--hue-iris-accent-strong);
  --srs-good-bg:var(--hue-iris-tint-2);--srs-good-ink:var(--hue-iris-accent-strong);
  --srs-easy-bg:var(--hue-iris-tint-3);--srs-easy-ink:var(--hue-iris-accent-strong);
}
/* 暗色頁：紙墨改接 dark-* token（同色相），填色 token 不換（palette-tokens.css 規則） */
html[data-palette].dark-page{
  --paper:var(--dark-paper);--center:var(--dark-raised);--ink:var(--dark-ink);--ink-2:var(--dark-ink-2);
  --accent:var(--dark-accent);--accent-strong:var(--dark-accent);--hairline:var(--dark-hairline);
  /* 次要色相：亮頁的 accent／accent-strong 是「淺紙上的字色」，在暗紙上實測只有 2.9–3.0:1；
     palette 對每色相只提供一個暗紙專用字色 dark-accent（產生器保證在該色相暗紙上 ≥4.5:1），
     所以暗頁把兩者都收斂到 dark-accent（不是筆誤）；跨色相配對（例如湖水 dark-accent 落在珊瑚暗紙）由 ops/c3-uat.js 逐頁實測 */
  --hue-coral-accent:#ec9b65;--hue-coral-accent-strong:#ec9b65;--hue-coral-ink:#f8f3ef;--hue-coral-ink-2:#c7b3a6;--hue-coral-paper:#301909;--hue-coral-center:#3f2717;--hue-coral-hairline:#4a392e;
  --hue-apricot-accent:#dfa454;--hue-apricot-accent-strong:#dfa454;--hue-apricot-ink:#f7f3ed;--hue-apricot-ink-2:#c4b5a3;--hue-apricot-paper:#2c1b04;--hue-apricot-center:#3c2a12;--hue-apricot-hairline:#473b2c;
  --hue-wheat-accent:#d2ac4e;--hue-wheat-accent-strong:#d2ac4e;--hue-wheat-ink:#f6f4eb;--hue-wheat-ink-2:#c0b7a2;--hue-wheat-paper:#281e03;--hue-wheat-center:#382c11;--hue-wheat-hairline:#443c2b;
  --hue-lemon-accent:#bdb553;--hue-lemon-accent-strong:#bdb553;--hue-lemon-ink:#f5f4e8;--hue-lemon-ink-2:#bab9a3;--hue-lemon-paper:#232004;--hue-lemon-center:#312f12;--hue-lemon-hairline:#3f3e2c;
  --hue-sprout-accent:#a9bc5f;--hue-sprout-accent-strong:#a9bc5f;--hue-sprout-ink:#f3f5e7;--hue-sprout-ink-2:#b5baa5;--hue-sprout-paper:#1d2207;--hue-sprout-center:#2b3116;--hue-sprout-hairline:#3b3f2e;
  --hue-lake-accent:#43c2e7;--hue-lake-accent-strong:#43c2e7;--hue-lake-ink:#edf5f7;--hue-lake-ink-2:#a3bcc5;--hue-lake-paper:#03232d;--hue-lake-center:#0f333e;--hue-lake-hairline:#2b4148;
  --hue-sky-accent:#67baf7;--hue-sky-accent-strong:#67baf7;--hue-sky-ink:#eff4f8;--hue-sky-ink-2:#a7bac9;--hue-sky-paper:#092133;--hue-sky-center:#183043;--hue-sky-hairline:#2f3f4c;
  --hue-ridge-accent:#8eaffe;--hue-ridge-accent-strong:#8eaffe;--hue-ridge-ink:#f1f4f9;--hue-ridge-ink-2:#aeb7cb;--hue-ridge-paper:#151e35;--hue-ridge-center:#232d45;--hue-ridge-hairline:#363d4d;
  --hue-iris-accent:#b0a3f8;--hue-iris-accent-strong:#b0a3f8;--hue-iris-ink:#f4f3fa;--hue-iris-ink-2:#b7b5ca;--hue-iris-paper:#1f1b33;--hue-iris-center:#2e2a43;--hue-iris-hairline:#3d3b4c;
  --hue-wisteria-accent:#ca9be9;--hue-wisteria-accent-strong:#ca9be9;--hue-wisteria-ink:#f7f2f9;--hue-wisteria-ink-2:#beb2c6;--hue-wisteria-paper:#26192f;--hue-wisteria-center:#35273e;--hue-wisteria-hairline:#423949;
}
html[data-palette] body{background:var(--paper);color:var(--ink)}
