/* Live Runsheet item colors, shared by the runsheet (index.html) and the
   operator page (behind.html). Each kind (worship, song, host, video,
   message, giving, prayer, pre; post and break use pre) has a light set (--lt-) and a dark
   set (--dk-); the active set (--worship-bg ...) follows the appearance.
   A theme (lib/look.js) sets data-palette and data-style on the root.
   Elements colored by kind get --c (background), --cf (text), --ca (accent);
   on the operator page they carry the class "kc". */
:root {
  /* Item colors: the Services app's item types, the same as the
     pco-alternative prototype (2026-10-15; they replace the 2026-10-05
     "Soft Tint" set). Neutral text; a tint of each kind's accent behind
     what's on. Dark mode uses the --dk- set (a lighter accent); the
     sideways stage view always does. */
  --lt-worship-acc: #C50B75; --lt-song-acc: #C50B75; --lt-host-acc: #1F6FD1; --lt-video-acc: #6B4FD8;
  --lt-message-acc: #8F4A00; --lt-pre-acc: #786D60; --lt-giving-acc: #2F7A3E; --lt-prayer-acc: #2A8C80;
  --lt-worship-bg: color-mix(in oklab, var(--lt-worship-acc) 12%, white); --lt-worship-fg: #26272B;
  --lt-song-bg: color-mix(in oklab, var(--lt-song-acc) 7%, white);       --lt-song-fg: #26272B;
  --lt-host-bg: color-mix(in oklab, var(--lt-host-acc) 11%, white);      --lt-host-fg: #26272B;
  --lt-video-bg: color-mix(in oklab, var(--lt-video-acc) 11%, white);    --lt-video-fg: #26272B;
  --lt-message-bg: color-mix(in oklab, var(--lt-message-acc) 13%, white); --lt-message-fg: #26272B;
  --lt-pre-bg: color-mix(in oklab, var(--lt-pre-acc) 10%, white);        --lt-pre-fg: #26272B;
  --lt-giving-bg: color-mix(in oklab, var(--lt-giving-acc) 11%, white);  --lt-giving-fg: #26272B;
  --lt-prayer-bg: color-mix(in oklab, var(--lt-prayer-acc) 11%, white);  --lt-prayer-fg: #26272B;
  /* The active set: light by default; the dark blocks below switch to --dk-. */
  --worship-bg: var(--lt-worship-bg); --worship-fg: var(--lt-worship-fg); --worship-acc: var(--lt-worship-acc);
  --song-bg: var(--lt-song-bg); --song-fg: var(--lt-song-fg); --song-acc: var(--lt-song-acc);
  --host-bg: var(--lt-host-bg); --host-fg: var(--lt-host-fg); --host-acc: var(--lt-host-acc);
  --video-bg: var(--lt-video-bg); --video-fg: var(--lt-video-fg); --video-acc: var(--lt-video-acc);
  --message-bg: var(--lt-message-bg); --message-fg: var(--lt-message-fg); --message-acc: var(--lt-message-acc);
  --pre-bg: var(--lt-pre-bg); --pre-fg: var(--lt-pre-fg); --pre-acc: var(--lt-pre-acc);
  --giving-bg: var(--lt-giving-bg); --giving-fg: var(--lt-giving-fg); --giving-acc: var(--lt-giving-acc);
  --prayer-bg: var(--lt-prayer-bg); --prayer-fg: var(--lt-prayer-fg); --prayer-acc: var(--lt-prayer-acc);
  --hdr-bg: #e6e5e1;     --hdr-fg: #45444a;
  --dk-worship-acc: #F06BB0; --dk-song-acc: #F06BB0; --dk-host-acc: #6EA3FF; --dk-video-acc: #A08CFF;
  --dk-message-acc: #F0A95C; --dk-pre-acc: #A39A8E; --dk-giving-acc: #6CCB7E; --dk-prayer-acc: #5CC8BA;
  --dk-worship-bg: color-mix(in oklab, var(--dk-worship-acc) 18%, #1D1E21); --dk-worship-fg: #F4F4F2;
  --dk-song-bg: color-mix(in oklab, var(--dk-song-acc) 11%, #1D1E21);       --dk-song-fg: #F4F4F2;
  --dk-host-bg: color-mix(in oklab, var(--dk-host-acc) 16%, #1D1E21);       --dk-host-fg: #F4F4F2;
  --dk-video-bg: color-mix(in oklab, var(--dk-video-acc) 16%, #1D1E21);     --dk-video-fg: #F4F4F2;
  --dk-message-bg: color-mix(in oklab, var(--dk-message-acc) 16%, #1D1E21); --dk-message-fg: #F4F4F2;
  --dk-pre-bg: color-mix(in oklab, var(--dk-pre-acc) 13%, #1D1E21);        --dk-pre-fg: #F4F4F2;
  --dk-giving-bg: color-mix(in oklab, var(--dk-giving-acc) 15%, #1D1E21);  --dk-giving-fg: #F4F4F2;
  --dk-prayer-bg: color-mix(in oklab, var(--dk-prayer-acc) 15%, #1D1E21);  --dk-prayer-fg: #F4F4F2;
  --dk-hdr-bg: #222226;     --dk-hdr-fg: #c9c8cc;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --worship-bg: var(--dk-worship-bg); --worship-fg: var(--dk-worship-fg); --worship-acc: var(--dk-worship-acc);
    --song-bg: var(--dk-song-bg); --song-fg: var(--dk-song-fg); --song-acc: var(--dk-song-acc);
    --host-bg: var(--dk-host-bg); --host-fg: var(--dk-host-fg); --host-acc: var(--dk-host-acc);
    --video-bg: var(--dk-video-bg); --video-fg: var(--dk-video-fg); --video-acc: var(--dk-video-acc);
    --message-bg: var(--dk-message-bg); --message-fg: var(--dk-message-fg); --message-acc: var(--dk-message-acc);
    --pre-bg: var(--dk-pre-bg); --pre-fg: var(--dk-pre-fg); --pre-acc: var(--dk-pre-acc);
    --giving-bg: var(--dk-giving-bg); --giving-fg: var(--dk-giving-fg); --giving-acc: var(--dk-giving-acc);
    --prayer-bg: var(--dk-prayer-bg); --prayer-fg: var(--dk-prayer-fg); --prayer-acc: var(--dk-prayer-acc);
    --hdr-bg: var(--dk-hdr-bg); --hdr-fg: var(--dk-hdr-fg);
  }
}
:root[data-theme="dark"] {
    --worship-bg: var(--dk-worship-bg); --worship-fg: var(--dk-worship-fg); --worship-acc: var(--dk-worship-acc);
    --song-bg: var(--dk-song-bg); --song-fg: var(--dk-song-fg); --song-acc: var(--dk-song-acc);
    --host-bg: var(--dk-host-bg); --host-fg: var(--dk-host-fg); --host-acc: var(--dk-host-acc);
    --video-bg: var(--dk-video-bg); --video-fg: var(--dk-video-fg); --video-acc: var(--dk-video-acc);
    --message-bg: var(--dk-message-bg); --message-fg: var(--dk-message-fg); --message-acc: var(--dk-message-acc);
    --pre-bg: var(--dk-pre-bg); --pre-fg: var(--dk-pre-fg); --pre-acc: var(--dk-pre-acc);
    --giving-bg: var(--dk-giving-bg); --giving-fg: var(--dk-giving-fg); --giving-acc: var(--dk-giving-acc);
    --prayer-bg: var(--dk-prayer-bg); --prayer-fg: var(--dk-prayer-fg); --prayer-acc: var(--dk-prayer-acc);
    --hdr-bg: var(--dk-hdr-bg); --hdr-fg: var(--dk-hdr-fg);
}
/* Everything colored by item kind: --c background, --cf text, --ca accent. */
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc) { --c: var(--host-bg); --cf: var(--host-fg); --ca: var(--host-acc); }
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc).worship { --c: var(--worship-bg); --cf: var(--worship-fg); --ca: var(--worship-acc); }
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc).song { --c: var(--song-bg); --cf: var(--song-fg); --ca: var(--song-acc); }
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc).video { --c: var(--video-bg); --cf: var(--video-fg); --ca: var(--video-acc); }
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc).message { --c: var(--message-bg); --cf: var(--message-fg); --ca: var(--message-acc); }
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc).giving { --c: var(--giving-bg); --cf: var(--giving-fg); --ca: var(--giving-acc); }
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc).prayer { --c: var(--prayer-bg); --cf: var(--prayer-fg); --ca: var(--prayer-acc); }
:is(.row, .dock, .tl-block, .st-now, .st-next li, .rail-now, .kc):is(.pre, .post, .break) { --c: var(--pre-bg); --cf: var(--pre-fg); --ca: var(--pre-acc); }
/* Color palettes (set by the Theme in Settings). "Default" is the hand-tuned set above.
   The others give one accent per kind, light (--pX) and dark (--pXd), and
   the tints and text are mixed from them. */
:root[data-palette="awaken"]  { --pw: #d01277; --pwd: #ff4fa8; --ph: #d9a300; --phd: #ffcf4a; --pv: #50536a; --pvd: #9a9db5;
                                --pm: #ee4137; --pmd: #ff6a5c; --pp: #a8a59c; --ppd: #8e8a80; }
:root[data-palette="mono"]    { --pw: #8b8a91; --pwd: #a6a5ab; --ph: #8b8a91; --phd: #a6a5ab; --pv: #8b8a91; --pvd: #a6a5ab;
                                --pm: #8b8a91; --pmd: #a6a5ab; --pp: #a8a7a2; --ppd: #7d7c80; }
:root[data-palette="classic"] { --pw: #4f8a96; --pwd: #7fb8c4; --ph: #d4a200; --phd: #ffd54a; --pv: #8e7cc3; --pvd: #b3a4e6;
                                --pm: #e06666; --pmd: #f19a9a; --pp: #a39e93; --ppd: #8e8a80; }
:root:is([data-palette="awaken"], [data-palette="classic"], [data-palette="mono"]) {
  --lt-worship-acc: var(--pw); --lt-worship-bg: color-mix(in oklab, var(--pw) 15%, white); --lt-worship-fg: color-mix(in oklab, var(--pw) 55%, #111);
  --dk-worship-acc: var(--pwd); --dk-worship-bg: color-mix(in oklab, var(--pwd) 24%, #0e0e10); --dk-worship-fg: color-mix(in oklab, var(--pwd) 30%, white);
  --lt-song-acc: var(--pw); --lt-song-bg: color-mix(in oklab, var(--pw) 8%, white); --lt-song-fg: color-mix(in oklab, var(--pw) 55%, #111);
  --dk-song-acc: var(--pwd); --dk-song-bg: color-mix(in oklab, var(--pwd) 15%, #0e0e10); --dk-song-fg: color-mix(in oklab, var(--pwd) 30%, white);
  --lt-host-acc: var(--ph); --lt-host-bg: color-mix(in oklab, var(--ph) 17%, white); --lt-host-fg: color-mix(in oklab, var(--ph) 55%, #111);
  --dk-host-acc: var(--phd); --dk-host-bg: color-mix(in oklab, var(--phd) 24%, #0e0e10); --dk-host-fg: color-mix(in oklab, var(--phd) 30%, white);
  --lt-video-acc: var(--pv); --lt-video-bg: color-mix(in oklab, var(--pv) 15%, white); --lt-video-fg: color-mix(in oklab, var(--pv) 55%, #111);
  --dk-video-acc: var(--pvd); --dk-video-bg: color-mix(in oklab, var(--pvd) 24%, #0e0e10); --dk-video-fg: color-mix(in oklab, var(--pvd) 30%, white);
  --lt-message-acc: var(--pm); --lt-message-bg: color-mix(in oklab, var(--pm) 15%, white); --lt-message-fg: color-mix(in oklab, var(--pm) 55%, #111);
  --dk-message-acc: var(--pmd); --dk-message-bg: color-mix(in oklab, var(--pmd) 24%, #0e0e10); --dk-message-fg: color-mix(in oklab, var(--pmd) 30%, white);
  --lt-pre-acc: var(--pp); --lt-pre-bg: color-mix(in oklab, var(--pp) 16%, white); --lt-pre-fg: color-mix(in oklab, var(--pp) 55%, #111);
  --dk-pre-acc: var(--ppd); --dk-pre-bg: color-mix(in oklab, var(--ppd) 20%, #0e0e10); --dk-pre-fg: color-mix(in oklab, var(--ppd) 30%, white);
}
/* Bold (the solid style): each kind's solid block (--cb) and its text (--sfg):
   white, or dark on amber. */
:root[data-style="solid"] :is(.row, .dock, .tl-block, .st-now, .rail-now, .kc) { --cb: var(--lt-host-acc); --sfg: #1f1400; }
:root[data-style="solid"] :is(.row, .dock, .tl-block, .st-now, .rail-now, .kc).worship { --cb: var(--lt-worship-acc); --sfg: #fff; }
:root[data-style="solid"] :is(.row, .dock, .tl-block, .st-now, .rail-now, .kc).video { --cb: var(--lt-video-acc); --sfg: #fff; }
:root[data-style="solid"] :is(.row, .dock, .tl-block, .st-now, .rail-now, .kc).message { --cb: var(--lt-message-acc); --sfg: #fff; }
:root[data-style="solid"] :is(.row, .dock, .tl-block, .st-now, .rail-now, .kc):is(.pre, .post, .break) {
  --cb: color-mix(in oklab, var(--pre-acc) 30%, var(--surface)); --sfg: var(--text); }
