/* 🎨 BOSBM GP-OS 配色主題（與 equity.bosbm.ai 同一組色彩身分）
 *   用 html[data-theme="x"]（特異度 0,1,1）覆寫各頁 :root（0,1,0）裡的變數，
 *   所以不必動 70 頁各自的 inline <style>，載入順序也不影響。
 *
 *   ⚠️ 目前只提供亮色系。GP-OS 的 --navy 同時被當成「文字色」與「頁首／按鈕底色」
 *      （255 處當文字、170 處當底色），要做深色主題必須先把這兩種用途拆成不同變數，
 *      那是 70 頁、20 種變數組的重構，不在本次範圍。⛔ 不要只改 --navy 就想做出深色主題：
 *      頁首會跟著變亮、按鈕會看不見字。
 */
/* ⛔ --gold 有兩種互相衝突的用途，必須拆成兩個 token，不可共用一個值：
      ① 深底上的文字＋按鈕底色 —— 頁首品牌字 60 處（深藍漸層上）、當底色填充 66 處
         （其中 53 處按鈕上面壓的是深藍字）。這兩種都要求 --gold「亮」。
      ② 白底／淺卡片上的文字 —— a.login 12 處、.kpi .gold .v、.codebox、.secret… 約 20 處。
         這種要求「深」。
      一個值不可能同時滿足：要在 #1B2A4A 上達 4.5 需亮度 L≥0.285，要在白底上達 4.5 需 L≤0.183。
      所以 --gold 維持亮（服務 ①，占 126 處），另開 --gold-ink 給 ②，並在下方統一改指過去。
      ⚠️ 順帶修掉舊有問題：品牌金 #C9A84C 當白底文字本來就只有 2.0 對比，一直是讀不清的。
      九個主題 × 四種底色（深藍頁首／金底按鈕／白底／淺卡 #f7f8fb）實測全數 ≥4.5。 */
html[data-theme="gpos"]     { --gold:#C9A84C; --gold-ink:#8A6B12; --bg:#EEF1F5; }
html[data-theme="teal"]     { --gold:#4FC3DC; --gold-ink:#0E6D86; --bg:#eef4f7; }
html[data-theme="emerald"]  { --gold:#4CC38F; --gold-ink:#0B6A4B; --bg:#edf5f1; }
html[data-theme="violet"]   { --gold:#B08BD8; --gold-ink:#6A4A8C; --bg:#f2eff7; }
html[data-theme="graphite"] { --gold:#A8B6CC; --gold-ink:#4A5568; --bg:#eff1f4; }
html[data-theme="copper"]   { --gold:#E0985A; --gold-ink:#94530F; --bg:#f8f2ea; }
html[data-theme="sky"]      { --gold:#6BA8E8; --gold-ink:#17568F; --bg:#edf2f9; }
html[data-theme="mint"]     { --gold:#5ED0A8; --gold-ink:#0F7054; --bg:#ecf5f1; }
html[data-theme="sand"]     { --gold:#D9B36A; --gold-ink:#87641E; --bg:#f8f4ec; }

/* 把「淺底上的金色文字」改指 --gold-ink。
   特異度：各頁 inline 是 a.login(0,1,1)／.kpi .gold .v(0,3,0)，
   這裡加上 html[data-theme] 變成 (0,2,1)／(0,4,0)，穩定勝出，不必改 70 頁。 */
html[data-theme] a.login,
html[data-theme] .kpi .gold .v,
html[data-theme] .codebox,
html[data-theme] .secret,
html[data-theme] .sdot.s,
html[data-theme] .out h2,
html[data-theme] .line.total { color: var(--gold-ink); }

/* 切換器（附掛在頁首右上；沒有頁首的頁面固定在右上角） */
.bt-sw{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;vertical-align:middle}
.bt-sw>span{font-size:12px;opacity:.6;margin-right:2px}
.bt-sw button{width:18px;height:18px;border-radius:50%;padding:0;cursor:pointer;line-height:0;
  border:2px solid transparent;transition:transform .12s}
.bt-sw button:hover{transform:scale(1.18)}
.bt-sw button[aria-pressed="true"]{outline:2px solid #fff;outline-offset:1px}
.bt-sw button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.bt-float{position:fixed;top:10px;right:12px;z-index:40;background:rgba(27,42,74,.75);
  padding:6px 10px;border-radius:20px;backdrop-filter:blur(6px)}
@media (prefers-reduced-motion:reduce){.bt-sw button:hover{transform:none}}
