/* Spokes dark theme – hand-tuned tokens + spokes.no look (loaded after the generated spokes-dark.css). Light = untouched. */
html[data-theme="dark"]{
  --spk-bg:#252b2d;--spk-card:#2f3638;--spk-card2:#343c3f;--spk-line:#3d474a;--spk-ink:#eef3f5;--spk-mu:#a9b6bc;--spk-p:#0d4a57;--spk-pt:rgba(13,74,87,.24);--spk-pi:#a5e8fd;
  --spk-acc-fg:#a5e8fd;--spk-danger-fg:#ff8f87;
  --blv-bg:#252b2d;--blv-card:#2f3638;--blv-soft:#30383b;--blv-line:#3d474a;--blv-line2:#47535a;
  --blv-ink:#eef3f5;--blv-ink2:#d5dee2;--blv-muted:#a9b6bc;--blv-faint:#98a6ad;
  --blv-primary:#093843;--blv-primary-h:#0d4a57;--blv-primary-t:rgba(13,74,87,.22);--blv-primary-i:#a5e8fd;--blv-primary-l:#a5e8fd;--blv-on-primary:#fff;
  --blv-danger:#dc2626;--blv-danger-b:rgba(220,38,38,.16);
  --blv-hdr:linear-gradient(115deg,rgba(13,74,87,.20) 0%,rgba(13,74,87,.06) 55%,rgba(165,221,230,.05) 100%);--blv-hdr-ink:#f3f7f8;--blv-hdr-eb:#a5e8fd;
  --blv-sh:0 1px 2px rgba(0,0,0,.5),0 4px 14px rgba(0,0,0,.35);--blv-sh2:0 2px 4px rgba(0,0,0,.5),0 12px 28px rgba(0,0,0,.5);
  color-scheme:dark;background:#252b2d
}
html[data-theme="dark"] body{color:#eef3f5;background-color:#252b2d;
  background-image:radial-gradient(900px 480px at 12% -8%,rgba(13,74,87,.22),transparent 62%),radial-gradient(700px 420px at 100% 0%,rgba(165,221,230,.07),transparent 60%),
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:auto,auto,48px 48px,48px 48px;background-attachment:fixed}
html[data-theme="dark"] ::selection{background:rgba(165,221,230,.3);color:#fff}
html[data-theme="dark"] a{color:inherit}
html[data-theme="dark"] :focus-visible{outline-color:#a5e8fd}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background-color:#0f1315;color:#eef3f5;border-color:#33414a}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#7f8d94;opacity:1}
html[data-theme="dark"] img{opacity:.96}
html[data-theme="dark"] .spk-cap__bar,html[data-theme="dark"] .spk-cap__w .spk-cap__bar{background:#3d474a}
/* approval banner keeps its signal colours (orange/green) */
html[data-theme="dark"] .spk-apv__b--o{background:#f97316;color:#1a0d00}
html[data-theme="dark"] .spk-apv__b--g{background:#16a34a;color:#fff}
/* theme switch */
.spk-thseg{display:inline-flex;gap:2px;padding:2px;border-radius:999px;background:var(--blv-soft,#eef2f7);border:1px solid var(--blv-line,#e2e8f0)}
.spk-thseg button{display:inline-flex;align-items:center;gap:6px;min-height:30px;min-width:30px;justify-content:center;padding:0 8px;border:0;border-radius:999px;background:none;color:var(--blv-muted,#5b6575);font:inherit;font-size:13px;cursor:pointer}
.spk-thseg button[aria-checked="true"]{background:var(--blv-card,#fff);color:var(--blv-ink,#1e293b);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.spk-thseg button:focus-visible{outline:2px solid var(--blv-primary,#0d4a57);outline-offset:1px}
.spk-thseg--top{margin-right:8px}
.spk-thseg--ms,.spk-thseg--lg{width:100%}.spk-thseg--ms button,.spk-thseg--lg button{flex:1;min-height:44px;font-size:14px}
.spk-thc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:0 0 16px;padding:16px 18px;border:1px solid var(--blv-line,#e2e8f0);border-radius:14px;background:var(--blv-card,#fff)}
.spk-thc h2{margin:0 0 4px;font-size:16px}.spk-thc p{margin:0;color:var(--blv-muted,#5b6575);font-size:13px;max-width:52ch}.spk-thc .spk-thseg{width:auto;min-width:320px}
@media (max-width:600px){.spk-thc .spk-thseg{min-width:0;width:100%}}
html[data-theme="dark"] .spk-thseg{background:#0f1315;border-color:#3d474a}
html[data-theme="dark"] .spk-thseg button[aria-checked="true"]{background:#0d4a57;color:#fff}
@media (max-width:900px){.blv-nav .spk-thseg--top{display:none}}
html[data-theme="dark"] .kc-bt,html[data-theme="dark"] .kc-bs,html[data-theme="dark"] .kc-bb{color:color-mix(in srgb,var(--c,#a9b6bc) 45%,#fff)}
html[data-theme="dark"] .blv-tb-fl{color:#fff}
html[data-theme="dark"] .blv-demo{background:#2a1f05!important;color:#fde68a!important;border-color:#4a3608!important}
html[data-theme="dark"] .blv-demo *{color:inherit}
html[data-theme="dark"] img[src*="spokes-logo"]{filter:invert(1) hue-rotate(180deg)}
html[data-theme="dark"] svg.ws-mk,html[data-theme="dark"] svg[fill="#1C1C1C"]{fill:#eef3f5}
html[data-theme="dark"] .kc-dh--td small,html[data-theme="dark"] .kc-dh--td .kc-dn{color:#ff8f87}
