/* themes.css — alternate theme overrides (Clean, Nixie, Telegraph, Signal) */
/* Applied via data-theme attribute on <html>. Default (warm paper) needs no overrides. */

/* ── Theme: Clean ────────────────────────────── */
[data-theme="clean"] {
  --ink: #111111;
  --paper: #f5f5f5;
  --cream: #ebebeb;
  --rule: #d0d0d0;
  --mid: #555555;       /* 7.0:1 on white — WCAG AA+ */
  --mastodon: #4b4dcc;  /* darkened for contrast */
  --bsky: #0070d4;      /* darkened for contrast */
  --threads: #3d4450;
  --linkedin: #0055a5;  /* darkened for contrast */
  --ok: #166638;        /* darkened for contrast */
  --err: #b91c1c;       /* darkened for contrast */
  --warn: #92610a;      /* darkened for contrast */
  --serif: Arial, Helvetica, sans-serif;
  --sans: Arial, Helvetica, sans-serif;
  --mono: Arial, Helvetica, sans-serif;
}

[data-theme="clean"] body { background: var(--paper); color: var(--ink); font-size: 16px; }
[data-theme="clean"] body::before { display: none; }

/* Nav */
[data-theme="clean"] nav { background: white; border-bottom: 2px solid var(--ink); }
[data-theme="clean"] .nav-logo { font-size: 22px; letter-spacing: 0; font-weight: 700; }
[data-theme="clean"] .nav-logo em { color: var(--mid); font-style: italic; }
[data-theme="clean"] .nav-tag { font-size: 11px; letter-spacing: 0.05em; color: var(--mid); }
[data-theme="clean"] .nav-link { font-size: 11px; letter-spacing: 0; color: var(--mid); border-color: var(--rule); padding: 6px 14px; }
[data-theme="clean"] .nav-link:hover { color: var(--ink); border-color: var(--ink); }
[data-theme="clean"] .nav-user-btn { font-size: 11px; letter-spacing: 0; color: var(--mid); border-color: var(--rule); padding: 6px 14px; }
[data-theme="clean"] .nav-user-btn:hover { color: var(--ink); border-color: var(--ink); }
[data-theme="clean"] .nav-user-dropdown { background: white; border-color: var(--rule); border-top-color: var(--ink); box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
[data-theme="clean"] .nav-dropdown-item { font-size: 12px; letter-spacing: 0; color: var(--mid); padding: 12px 16px; }
[data-theme="clean"] .nav-dropdown-item:hover { background: var(--cream); color: var(--ink); }

/* Section labels */
[data-theme="clean"] .section-label { font-size: 11px; letter-spacing: 0.08em; color: var(--mid); font-weight: 600; }
[data-theme="clean"] .section-line { background: var(--rule); }

/* Textarea */
[data-theme="clean"] textarea {
  background: white; border-color: var(--rule); border-top: 2px solid var(--ink);
  color: var(--ink); font-size: 15px; line-height: 1.6; padding: 16px;
  font-family: Arial, Helvetica, sans-serif;
}
[data-theme="clean"] textarea:focus { border-color: var(--ink); }
[data-theme="clean"] textarea::placeholder { color: #999; }

/* Char bars */
[data-theme="clean"] .char-bars { border: 1px solid var(--rule); border-top: 2px solid var(--ink); background: white; }
[data-theme="clean"] .char-bar { background: white; border-right-color: var(--rule); padding: 10px 12px; }
[data-theme="clean"] .cb-label { font-size: 11px; letter-spacing: 0; color: var(--mid); font-weight: 600; margin-bottom: 6px; text-transform: none; }
[data-theme="clean"] .cb-track { height: 3px; background: var(--rule); margin-bottom: 5px; }
[data-theme="clean"] .cb-count { font-size: 13px; color: var(--mid); font-weight: 600; letter-spacing: 0; }

/* Platform toggles */
[data-theme="clean"] .platform-row { background: white; border-color: var(--rule); border-top: 2px solid var(--ink); }
[data-theme="clean"] .ptoggle { background: white; border-right-color: var(--rule); color: var(--mid); font-size: 11px; letter-spacing: 0; padding: 14px 8px 12px; }
[data-theme="clean"] .ptoggle-dot { background: var(--rule); }
[data-theme="clean"] .ptoggle-label { font-weight: 600; }
[data-theme="clean"] .ptoggle.on-mastodon { color: var(--mastodon); background: #f0f0ff; }
[data-theme="clean"] .ptoggle.on-mastodon .ptoggle-dot { background: var(--mastodon); }
[data-theme="clean"] .ptoggle.on-bsky { color: var(--bsky); background: #f0f6ff; }
[data-theme="clean"] .ptoggle.on-bsky .ptoggle-dot { background: var(--bsky); }
[data-theme="clean"] .ptoggle.on-threads { color: var(--threads); background: #f5f5f7; }
[data-theme="clean"] .ptoggle.on-threads .ptoggle-dot { background: var(--threads); }
[data-theme="clean"] .ptoggle.on-linkedin { color: var(--linkedin); background: #f0f4ff; }
[data-theme="clean"] .ptoggle.on-linkedin .ptoggle-dot { background: var(--linkedin); }
[data-theme="clean"] .pswitch { background: var(--cream); border-color: var(--rule); border-radius: 2px; }
[data-theme="clean"] .pswitch::after { background: var(--rule); }
[data-theme="clean"] .ptoggle.on-mastodon .pswitch { background: #e0e0ff; border-color: var(--mastodon); }
[data-theme="clean"] .ptoggle.on-mastodon .pswitch::after { background: var(--mastodon); }
[data-theme="clean"] .ptoggle.on-bsky .pswitch { background: #d8ecff; border-color: var(--bsky); }
[data-theme="clean"] .ptoggle.on-bsky .pswitch::after { background: var(--bsky); }
[data-theme="clean"] .ptoggle.on-threads .pswitch { background: #e5e5ea; border-color: var(--threads); }
[data-theme="clean"] .ptoggle.on-threads .pswitch::after { background: var(--threads); }
[data-theme="clean"] .ptoggle.on-linkedin .pswitch { background: #d8e6ff; border-color: var(--linkedin); }
[data-theme="clean"] .ptoggle.on-linkedin .pswitch::after { background: var(--linkedin); }

/* Schedule */
[data-theme="clean"] .schedule-row { background: white; border-color: var(--rule); padding: 12px 16px; }
[data-theme="clean"] .schedule-toggle { font-size: 12px; letter-spacing: 0; color: var(--mid); font-weight: 600; }
[data-theme="clean"] .sw { border-color: var(--rule); background: var(--cream); }
[data-theme="clean"] .sw::after { background: var(--mid); }
[data-theme="clean"] .schedule-toggle input:checked ~ .sw { background: var(--ink); border-color: var(--ink); }
[data-theme="clean"] .schedule-toggle input:checked ~ .sw::after { background: white; }
[data-theme="clean"] input[type="datetime-local"] { font-size: 13px; color: var(--ink); border-left-color: var(--rule); font-family: Arial, Helvetica, sans-serif; }

/* Post button */
[data-theme="clean"] .btn-post-wrap { background: var(--ink); }
[data-theme="clean"] .btn-post { font-size: 15px; letter-spacing: 0.08em; padding: 16px; background: transparent; color: white; font-family: Arial, Helvetica, sans-serif; font-weight: 700; }
[data-theme="clean"] .btn-post:hover:not(:disabled) { background: transparent; opacity: 1; }
[data-theme="clean"] .btn-post-wrap:has(button:hover:not(:disabled)) { background: #333; }
[data-theme="clean"] .btn-post:disabled { background: transparent; opacity: 1; }
[data-theme="clean"] .btn-post-wrap:has(button:disabled) { background: #999; }
[data-theme="clean"] .btn-post.scheduled { background: transparent; }
[data-theme="clean"] .btn-post-wrap:has(.scheduled) { background: var(--ok); }

/* Results */
[data-theme="clean"] .ires { font-size: 13px; letter-spacing: 0; padding: 10px 14px; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .ires.ok  { background: #f0faf4; color: var(--ok); }
[data-theme="clean"] .ires.err { background: #fef2f2; color: var(--err); }
[data-theme="clean"] .ires.sched { background: #fffbeb; color: var(--warn); }
[data-theme="clean"] .ires.pending { background: var(--cream); color: var(--mid); }

/* Image drop */
[data-theme="clean"] .image-drop { background: white; border-color: var(--rule); }
[data-theme="clean"] .image-drop:hover, [data-theme="clean"] .image-drop.drag { border-color: var(--ink); background: var(--cream); }
[data-theme="clean"] .drop-text { font-size: 13px; color: var(--mid); letter-spacing: 0; }
[data-theme="clean"] .drop-text strong { color: var(--ink); }
[data-theme="clean"] .image-note { font-size: 12px; color: var(--mid); letter-spacing: 0; }

/* History panel */
[data-theme="clean"] .history-panel { background: white; border-left-color: var(--rule); }
[data-theme="clean"] .history-header { border-bottom-color: var(--rule); background: white; }
[data-theme="clean"] .history-title { font-size: 11px; letter-spacing: 0.08em; color: var(--mid); font-weight: 600; }
[data-theme="clean"] .queue-badge { font-size: 11px; color: var(--warn); }
[data-theme="clean"] .hcard { border-bottom-color: var(--rule); padding: 16px 20px; }
[data-theme="clean"] .hcard:hover { background: var(--cream); }
[data-theme="clean"] .hcard-text { font-size: 13px; color: var(--ink); line-height: 1.5; letter-spacing: 0; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .hcard-time { font-size: 12px; color: var(--mid); letter-spacing: 0; }
[data-theme="clean"] .hcard-del { font-size: 12px; color: var(--mid); }
[data-theme="clean"] .hcard-del:hover { color: var(--err); }
[data-theme="clean"] .pbadge { font-size: 11px; letter-spacing: 0; padding: 3px 8px; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .pbadge.mastodon { color: var(--mastodon); border-color: rgba(75,77,204,0.4); }
[data-theme="clean"] .pbadge.bsky { color: var(--bsky); border-color: rgba(0,112,212,0.4); }
[data-theme="clean"] .pbadge.threads { color: var(--threads); border-color: rgba(61,68,80,0.3); }
[data-theme="clean"] .pbadge.linkedin { color: var(--linkedin); border-color: rgba(0,85,165,0.4); }
[data-theme="clean"] .empty-history { font-size: 13px; color: var(--mid); letter-spacing: 0; }

/* Queue page */
[data-theme="clean"] h1 { font-size: 28px; font-weight: 700; letter-spacing: 0; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .sub, [data-theme="clean"] .page-sub, [data-theme="clean"] .page-meta { font-size: 12px; letter-spacing: 0.04em; color: var(--mid); font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .qitem { background: white; border-color: var(--rule); }
[data-theme="clean"] .qtext { font-size: 14px; color: var(--ink); letter-spacing: 0; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .btn { font-size: 12px; letter-spacing: 0; color: var(--mid); border-color: var(--rule); background: white; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .btn:hover { border-color: var(--ink); color: var(--ink); }

/* Bindery */
[data-theme="clean"] .post-card { border-bottom-color: var(--rule); }
[data-theme="clean"] .post-card:hover { background: var(--cream); }
[data-theme="clean"] .post-text { font-size: 14px; color: var(--ink); letter-spacing: 0; font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
[data-theme="clean"] .post-time { font-size: 12px; color: var(--mid); letter-spacing: 0; }
[data-theme="clean"] .plat-badge { font-size: 11px; letter-spacing: 0; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .search-bar input { background: white; border-color: var(--rule); border-top-color: var(--ink); color: var(--ink); font-size: 14px; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .search-bar input:focus { border-color: var(--ink); }
[data-theme="clean"] .search-bar button { background: var(--ink); color: white; font-size: 13px; letter-spacing: 0.04em; font-family: Arial, Helvetica, sans-serif; font-weight: 700; }
[data-theme="clean"] .page-btn { font-size: 12px; letter-spacing: 0; color: var(--mid); border-color: var(--rule); }
[data-theme="clean"] a.page-btn:hover { border-color: var(--ink); color: var(--ink); }
[data-theme="clean"] .related-source { font-size: 11px; color: var(--mid); border-color: var(--rule); letter-spacing: 0; }
[data-theme="clean"] .related-title { font-size: 13px; color: var(--ink); }
[data-theme="clean"] .result-count { font-size: 12px; color: var(--mid); letter-spacing: 0; }

/* Feed */
[data-theme="clean"] .tabs-bar { border-bottom-color: var(--rule); }
[data-theme="clean"] .tab { font-size: 12px; letter-spacing: 0; color: var(--mid); font-weight: 600; padding: 14px 18px; }
[data-theme="clean"] .tab.active { color: var(--ink); border-bottom-color: var(--ink); }
[data-theme="clean"] .tab:hover { color: var(--ink); }
[data-theme="clean"] .refresh { border-color: var(--rule); color: var(--mid); }
[data-theme="clean"] .refresh:hover { border-color: var(--ink); color: var(--ink); }
[data-theme="clean"] .card { border-bottom-color: var(--rule); }
[data-theme="clean"] .card:hover { background: var(--cream); }
[data-theme="clean"] .author-name { font-size: 14px; font-weight: 700; color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .author-handle { font-size: 12px; color: var(--mid); }
[data-theme="clean"] .card-text { font-size: 14px; color: var(--ink); letter-spacing: 0; line-height: 1.6; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .card-time, [data-theme="clean"] .card-link { font-size: 12px; color: var(--mid); letter-spacing: 0; }
[data-theme="clean"] .card-link:hover { color: var(--ink); }
[data-theme="clean"] .platform-badge { font-size: 11px; color: var(--mid); border-color: var(--rule); letter-spacing: 0; }
[data-theme="clean"] .status { font-size: 13px; color: var(--mid); letter-spacing: 0; }

/* Settings */
[data-theme="clean"] .platform-card { background: white; border-color: var(--rule); }
[data-theme="clean"] .pcard-head { border-bottom-color: var(--rule); }
[data-theme="clean"] .pcard-name { font-size: 13px; letter-spacing: 0; font-weight: 700; font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .pcard-status { font-size: 12px; color: var(--mid); letter-spacing: 0; }
[data-theme="clean"] .pcard-dot { background: var(--rule); }
[data-theme="clean"] .pcard-dot.on { background: var(--ok); }
[data-theme="clean"] label { font-size: 12px; letter-spacing: 0; color: var(--mid); font-weight: 600; font-family: Arial, Helvetica, sans-serif; text-transform: none; }
[data-theme="clean"] input[type="text"],
[data-theme="clean"] input[type="password"] { background: white; border-color: var(--rule); color: var(--ink); font-size: 14px; font-family: Arial, Helvetica, sans-serif; border-top-color: var(--ink); }
[data-theme="clean"] input[type="text"]:focus,
[data-theme="clean"] input[type="password"]:focus { border-color: var(--ink); outline: 2px solid rgba(17,17,17,0.15); outline-offset: 1px; }
[data-theme="clean"] .btn-save { font-size: 13px; letter-spacing: 0.04em; font-family: Arial, Helvetica, sans-serif; font-weight: 700; padding: 11px 22px; }
[data-theme="clean"] .btn-clear { font-size: 12px; letter-spacing: 0; font-family: Arial, Helvetica, sans-serif; padding: 11px 18px; color: var(--mid); border-color: var(--rule); }
[data-theme="clean"] .btn-clear:hover { border-color: var(--err); color: var(--err); }
[data-theme="clean"] .msg.ok  { font-size: 13px; background: #f0faf4; border-color: var(--ok); color: var(--ok); }
[data-theme="clean"] .msg.err { font-size: 13px; background: #fef2f2; border-color: var(--err); color: var(--err); }
[data-theme="clean"] .threads-connect-link { font-size: 12px; color: var(--bsky); letter-spacing: 0; }

/* Footer */
[data-theme="clean"] .theme-footer { background: white; border-top-color: var(--rule); }
[data-theme="clean"] .theme-footer-label { font-size: 11px; letter-spacing: 0; color: var(--mid); font-weight: 600; }
[data-theme="clean"] .theme-btn { font-size: 11px; letter-spacing: 0; color: var(--mid); border-color: var(--rule); font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .theme-btn:hover { border-color: var(--ink); color: var(--ink); }
[data-theme="clean"] .theme-btn.active { border-color: var(--ink); background: var(--ink); color: white; }

/* Footer */
[data-theme="clean"] .theme-footer { background: white; border-top-color: var(--rule); }
[data-theme="clean"] .theme-footer-label { font-size: 11px; letter-spacing: 0; color: var(--mid); font-weight: 600; }
[data-theme="clean"] .theme-btn { font-size: 11px; letter-spacing: 0; color: var(--mid); border-color: var(--rule); font-family: Arial, Helvetica, sans-serif; }
[data-theme="clean"] .theme-btn:hover { border-color: var(--ink); color: var(--ink); }
[data-theme="clean"] .theme-btn.active { border-color: var(--ink); background: var(--ink); color: white; }

/* ── Theme: Nixie ────────────────────────────── */
[data-theme="nixie"] {
  --ink: #ffb000; --paper: #0a0800; --cream: #0f0d00; --rule: #3a2800;
  --mid: #5a4010; --mastodon: #ffb000; --bsky: #ffb000;
  --threads: #3a2800; --linkedin: #ffb000;
  --ok: #996620; --err: #cc2200; --warn: #ff8800;
  --tube-bg: #1a1200; --tube-border: #cc7700;
  --glow2: #ffb347; --glow3: #ff4500;
  --serif: 'Oswald', sans-serif;
  --sans: 'Oswald', sans-serif;
  --mono: 'Share Tech Mono', monospace;
}

/* Scanlines overlay */
[data-theme="nixie"] body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 10;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 3px, rgba(0,0,0,0.08) 3px, rgba(0,0,0,0.08) 4px);
  mix-blend-mode: normal;
}

[data-theme="nixie"] body { background: #0a0800; color: #ffb000; font-family: 'Share Tech Mono', monospace; }

/* Nav */
[data-theme="nixie"] nav {
  background: #0f0d00;
  border-bottom: 2px solid #3a2800;
  position: relative; overflow: visible; z-index: 50;
}
[data-theme="nixie"] nav::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 3px, rgba(255,140,0,0.03) 3px, rgba(255,140,0,0.03) 4px);
}
[data-theme="nixie"] .nav-logo {
  font-family: 'Oswald', sans-serif; font-size: 22px; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase; color: #ffb000;
  text-shadow: 0 0 12px rgba(255,176,0,0.8), 0 0 30px rgba(255,140,0,0.4);
}
[data-theme="nixie"] .nav-logo em { color: #ff4500; font-style: normal; text-shadow: 0 0 12px rgba(255,69,0,0.8); }
[data-theme="nixie"] .nav-tag { color: #7a5510; letter-spacing: 0.3em; }
[data-theme="nixie"] .nav-link { color: #996610; border-color: #3a2800; font-size: 11px; letter-spacing: 0.15em; }
[data-theme="nixie"] .nav-link:hover { border-color: #ffb000; color: #ffb000; text-shadow: 0 0 8px rgba(255,176,0,0.6); background: rgba(255,176,0,0.05); }
[data-theme="nixie"] .nav-user-btn { color: #ffb000; border-color: #ffb000; text-shadow: 0 0 8px rgba(255,176,0,0.5); background: none; }
[data-theme="nixie"] .nav-user-btn:hover { color: #ffb347; border-color: #ffb347; }
[data-theme="nixie"] .nav-user-dropdown { background: #0f0d00; border-color: #3a2800; border-top-color: #ffb000; box-shadow: 0 4px 20px rgba(255,140,0,0.15); }
[data-theme="nixie"] .nav-dropdown-item { color: #7a5510; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .nav-dropdown-item:hover { background: #161200; color: #ffb000; }

/* Logo SVG */
[data-theme="nixie"] #bs-dot { fill: #ffb000; filter: drop-shadow(0 0 4px rgba(255,176,0,0.9)); }
[data-theme="nixie"] #bs-r1 { stroke: #ffb000; opacity: 0.5; }
[data-theme="nixie"] #bs-r2 { stroke: #ffb000; opacity: 0.3; }
[data-theme="nixie"] #bs-r3 { stroke: #ffb000; opacity: 0.2; }
[data-theme="nixie"] #bs-r4 { stroke: #ffb000; opacity: 0.12; }

/* Section labels */
[data-theme="nixie"] .section-label { color: #5a4010; letter-spacing: 0.25em; }
[data-theme="nixie"] .section-line { background: #3a2800; }

/* Textarea */
[data-theme="nixie"] textarea {
  background: #161200; border: 1px solid #3a2800; border-top: 2px solid #ffb000;
  color: #ffb000; font-family: 'Share Tech Mono', monospace;
  text-shadow: 0 0 6px rgba(255,176,0,0.3);
  box-shadow: inset 0 0 20px rgba(255,140,0,0.03);
  caret-color: #ffb000;
}
[data-theme="nixie"] textarea:focus { border-color: #ffb000; box-shadow: inset 0 0 20px rgba(255,140,0,0.05); }
[data-theme="nixie"] textarea::placeholder { color: #3a2800; }

/* Char bars — Nixie tube style */
[data-theme="nixie"] .char-bars { border: 1px solid #3a2800; border-top: none; background: #0a0800; }
[data-theme="nixie"] .char-bar { border-right-color: #3a2800; background: transparent; text-align: center; }
[data-theme="nixie"] .cb-label { color: #5a4010; font-size: 10px; letter-spacing: 0.15em; margin-bottom: 6px; }
[data-theme="nixie"] .cb-track { background: #1a1200; height: 2px; margin-bottom: 6px; }
[data-theme="nixie"] .cb-fill { background: #ffb000 !important; box-shadow: 0 0 4px rgba(255,176,0,0.6); }
/* The count becomes a tube-style number display */
[data-theme="nixie"] .cb-count {
  font-size: 20px; letter-spacing: 0.05em;
  color: #ffb347;
  text-shadow: 0 0 10px #ffb000, 0 0 25px rgba(255,140,0,0.4);
  background: #1a1200;
  border: 1px solid #554000;
  border-radius: 3px;
  padding: 4px 8px;
  display: inline-block;
  box-shadow: 0 0 8px rgba(204,119,0,0.2) inset;
  font-family: 'Share Tech Mono', monospace;
  line-height: 1;
}
[data-theme="nixie"] .cb-count-max { font-size: 10px; color: #3a2800; margin-top: 4px; display: block; letter-spacing: 0.1em; }

/* Platform toggles */
[data-theme="nixie"] .platform-row { border: 1px solid #3a2800; border-top: 2px solid #ffb000; background: #0a0800; }
[data-theme="nixie"] .ptoggle { color: #5a4010; border-right-color: #3a2800; background: transparent; font-size: 10px; letter-spacing: 0.12em; }
[data-theme="nixie"] .ptoggle-dot { background: #3a2800; }
[data-theme="nixie"] .ptoggle:hover { color: #7a5510; }
[data-theme="nixie"] .ptoggle.on-mastodon,
[data-theme="nixie"] .ptoggle.on-bsky,
[data-theme="nixie"] .ptoggle.on-threads,
[data-theme="nixie"] .ptoggle.on-linkedin {
  color: #ffb000; background: rgba(255,176,0,0.04);
  text-shadow: 0 0 6px rgba(255,176,0,0.5);
}
[data-theme="nixie"] .ptoggle.on-mastodon .ptoggle-dot,
[data-theme="nixie"] .ptoggle.on-bsky .ptoggle-dot,
[data-theme="nixie"] .ptoggle.on-threads .ptoggle-dot,
[data-theme="nixie"] .ptoggle.on-linkedin .ptoggle-dot { background: #ffb000; box-shadow: 0 0 6px #ffb000; }
[data-theme="nixie"] .pswitch { width: 32px; height: 14px; background: #161200; border: 1px solid #3a2800; border-radius: 0; }
[data-theme="nixie"] .pswitch::after { width: 8px; height: 8px; top: 2px; left: 2px; background: #3a2800; }
[data-theme="nixie"] .ptoggle.on-mastodon .pswitch,
[data-theme="nixie"] .ptoggle.on-bsky .pswitch,
[data-theme="nixie"] .ptoggle.on-threads .pswitch,
[data-theme="nixie"] .ptoggle.on-linkedin .pswitch { border-color: #ffb000; background: rgba(255,140,0,0.1); }
[data-theme="nixie"] .ptoggle.on-mastodon .pswitch::after,
[data-theme="nixie"] .ptoggle.on-bsky .pswitch::after,
[data-theme="nixie"] .ptoggle.on-threads .pswitch::after,
[data-theme="nixie"] .ptoggle.on-linkedin .pswitch::after { background: #ffb000; box-shadow: 0 0 6px #ffb000; transform: translateX(18px); }

/* Schedule row */
[data-theme="nixie"] .schedule-row { background: #0f0d00; border-color: #3a2800; }
[data-theme="nixie"] .schedule-toggle { color: #5a4010; letter-spacing: 0.15em; }
[data-theme="nixie"] .sw { background: #161200; border-color: #3a2800; border-radius: 99px; }
[data-theme="nixie"] .sw::after { background: #3a2800; }
[data-theme="nixie"] .schedule-toggle input:checked ~ .sw { background: #ffb000; border-color: #ffb000; box-shadow: 0 0 8px rgba(255,176,0,0.4); }
[data-theme="nixie"] .schedule-toggle input:checked ~ .sw::after { background: #0a0800; }
[data-theme="nixie"] input[type="datetime-local"] { color: #ffb000; border-left-color: #3a2800; font-family: 'Share Tech Mono', monospace; }

/* Post button */
[data-theme="nixie"] .btn-post-wrap { background: #ffb000; box-shadow: 0 0 20px rgba(255,176,0,0.3); }
[data-theme="nixie"] .btn-post {
  background: transparent; color: #0a0800;
  font-family: 'Oswald', sans-serif; font-size: 14px; font-weight: 700;
  letter-spacing: 0.2em;
}
[data-theme="nixie"] .btn-post:hover:not(:disabled) { opacity: 1; }
[data-theme="nixie"] .btn-post-wrap:has(button:hover:not(:disabled)) { box-shadow: 0 0 35px rgba(255,176,0,0.5); }
[data-theme="nixie"] .btn-post:disabled { opacity: 0.25; }
[data-theme="nixie"] .btn-post-wrap:has(button:disabled) { box-shadow: none; opacity: 0.25; }
[data-theme="nixie"] .btn-post.scheduled { background: #ffb000; }

/* Results */
[data-theme="nixie"] .ires.pending { background: #0f0d00; color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .ires.ok      { background: #0a1500; color: #996620; }
[data-theme="nixie"] .ires.err     { background: #150000; color: #cc2200; }
[data-theme="nixie"] .ires.sched   { background: #100800; color: #ff8800; }

/* Image drop */
[data-theme="nixie"] .image-drop { background: #0a0800; border-color: #3a2800; border-style: dashed; }
[data-theme="nixie"] .image-drop:hover, [data-theme="nixie"] .image-drop.drag { border-color: #ffb000; background: #0f0d00; }
[data-theme="nixie"] .drop-text { color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .drop-text strong { color: #ffb000; }
[data-theme="nixie"] .image-note { color: #3a2800; font-family: 'Share Tech Mono', monospace; }

/* History panel */
[data-theme="nixie"] .history-panel { background: #0a0800; border-left-color: #3a2800; }
[data-theme="nixie"] .history-header { border-bottom-color: #3a2800; background: #0f0d00; }
[data-theme="nixie"] .history-title { color: #5a4010; letter-spacing: 0.2em; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .hcard { border-bottom-color: #1a1200; }
[data-theme="nixie"] .hcard:hover { background: rgba(255,176,0,0.02); }
[data-theme="nixie"] .hcard-text { color: #ffb000; font-family: 'Share Tech Mono', monospace; font-size: 10px; line-height: 1.5; opacity: 0.8; }
[data-theme="nixie"] .hcard-time { color: #5a4010; font-size: 11px; }
[data-theme="nixie"] .hcard-del { color: #3a2800; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .hcard-del:hover { color: #cc2200; }
[data-theme="nixie"] .empty-history { color: #3a2800; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .pbadge { font-family: 'Share Tech Mono', monospace; border-radius: 2px; font-size: 10px; letter-spacing: 0.08em; }
[data-theme="nixie"] .pbadge.mastodon,
[data-theme="nixie"] .pbadge.bsky,
[data-theme="nixie"] .pbadge.linkedin { color: #996620; border-color: #554000; }
[data-theme="nixie"] .pbadge.threads { color: #5a4010; border-color: #3a2800; }
[data-theme="nixie"] .queue-badge { color: #ff8800; border-color: #ff8800; }

/* Queue/Bindery/Feed pages */
[data-theme="nixie"] main h1 { color: #ffb000; font-family: 'Oswald', sans-serif; letter-spacing: 0.1em; }
[data-theme="nixie"] .sub, [data-theme="nixie"] .page-sub, [data-theme="nixie"] .page-meta { color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .qitem { background: #0f0d00; border-color: #3a2800; border-left-color: #3a2800; }
[data-theme="nixie"] .qitem.scheduled { border-left-color: #ff8800; }
[data-theme="nixie"] .qitem.done { border-left-color: #996620; }
[data-theme="nixie"] .qitem.err { border-left-color: #cc2200; }
[data-theme="nixie"] .qtext { color: #ffb000; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .btn { background: #0f0d00; border-color: #3a2800; color: #7a5510; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .btn:hover { border-color: #ffb000; color: #ffb000; }
[data-theme="nixie"] .btn.danger:hover { border-color: #cc2200; color: #cc2200; }
[data-theme="nixie"] .post-card { border-bottom-color: #3a2800; }
[data-theme="nixie"] .post-card:hover { background: rgba(255,176,0,0.02); }
[data-theme="nixie"] .post-text { color: #ffb000; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .post-time { color: #5a4010; }
[data-theme="nixie"] .plat-badge { font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .search-bar input { background: #0f0d00; border-color: #3a2800; border-top-color: #ffb000; color: #ffb000; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .search-bar input:focus { border-color: #ffb000; }
[data-theme="nixie"] .search-bar button { background: #ffb000; color: #0a0800; font-family: 'Oswald', sans-serif; font-weight: 700; letter-spacing: 0.1em; }
[data-theme="nixie"] .page-btn { border-color: #3a2800; color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] a.page-btn:hover { border-color: #ffb000; color: #ffb000; }
[data-theme="nixie"] .related-source { border-color: #3a2800; color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .related-title { color: #ffb000; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .fetch-btn { color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .fetch-btn:hover { color: #ffb000; }
[data-theme="nixie"] .tabs-bar { border-bottom-color: #3a2800; }
[data-theme="nixie"] .tab { color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .tab.active { color: #ffb000; border-bottom-color: #ffb000; }
[data-theme="nixie"] .tab:hover { color: #7a5510; }
[data-theme="nixie"] .refresh { border-color: #3a2800; color: #5a4010; }
[data-theme="nixie"] .refresh:hover { border-color: #ffb000; color: #ffb000; }
[data-theme="nixie"] .card { border-bottom-color: #3a2800; }
[data-theme="nixie"] .card:hover { background: rgba(255,176,0,0.02); }
[data-theme="nixie"] .author-name { color: #ffb000; font-family: 'Oswald', sans-serif; }
[data-theme="nixie"] .author-handle { color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .card-text { color: #ffb000; font-family: 'Share Tech Mono', monospace; opacity: 0.8; }
[data-theme="nixie"] .card-time, [data-theme="nixie"] .card-link { color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .card-link:hover { color: #ffb000; }
[data-theme="nixie"] .platform-badge { color: #5a4010; border-color: #3a2800; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .platform-badge.mastodon, [data-theme="nixie"] .platform-badge.bsky { color: #ffb000; border-color: rgba(255,176,0,0.3); }
[data-theme="nixie"] .avatar-ph { background: #1a1200; border-color: #3a2800; color: #5a4010; }
[data-theme="nixie"] .spinner { border-color: #3a2800; border-top-color: #ffb000; }
[data-theme="nixie"] .status { color: #5a4010; font-family: 'Share Tech Mono', monospace; }

/* Settings page */
[data-theme="nixie"] .platform-card { background: #0f0d00; border-color: #3a2800; }
[data-theme="nixie"] .pcard-head { border-bottom-color: #3a2800; }
[data-theme="nixie"] .pcard-name { color: #ffb000; font-family: 'Oswald', sans-serif; letter-spacing: 0.1em; }
[data-theme="nixie"] .pcard-status { color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .pcard-dot { background: #3a2800; }
[data-theme="nixie"] .pcard-dot.on { background: #ffb000; box-shadow: 0 0 6px rgba(255,176,0,0.7); }
[data-theme="nixie"] label { color: #5a4010; font-family: 'Share Tech Mono', monospace; font-size: 12px; }
[data-theme="nixie"] input[type="text"],
[data-theme="nixie"] input[type="password"] { background: #0a0800; border-color: #3a2800; color: #ffb000; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] input[type="text"]:focus,
[data-theme="nixie"] input[type="password"]:focus { border-color: #ffb000; }
[data-theme="nixie"] .btn-save { background: #ffb000; color: #0a0800; border: none; font-family: 'Oswald', sans-serif; font-weight: 700; letter-spacing: 0.1em; }
[data-theme="nixie"] .btn-clear { border-color: #3a2800; color: #5a4010; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .btn-clear:hover { border-color: #cc2200; color: #cc2200; }
[data-theme="nixie"] .threads-connect-link { color: #ffb000; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .msg.ok { background: #0a1500; border-color: #996620; color: #996620; }
[data-theme="nixie"] .msg.err { background: #150000; border-color: #cc2200; color: #cc2200; }

/* ── Theme: Telegraph ────────────────────────────── */
[data-theme="telegraph"] {
  --ink: #1a1208;
  --paper: #f7f3ec;
  --cream: #f0ebe0;
  --rule: #c8b89a;
  --mid: #7a6640;
  --gold: #c8a060;
  --mastodon: #5a5aaa;
  --bsky: #0070c8;
  --threads: #3a2e1a;
  --linkedin: #0055a0;
  --ok: #4a7a40;
  --err: #8a2010;
  --warn: #7a5010;
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Source Serif 4', Georgia, serif;
  --mono: 'JetBrains Mono', 'Azeret Mono', monospace;
}

[data-theme="telegraph"] body { background: var(--paper); color: var(--ink); font-family: 'Source Serif 4', Georgia, serif; }
[data-theme="telegraph"] body::before { display: none; }

/* Nav */
[data-theme="telegraph"] nav { background: #1a1208; border-bottom: 3px solid #c8a060; }
[data-theme="telegraph"] .nav-logo { color: #f7f3ec; font-family: 'Playfair Display', Georgia, serif; font-size: 20px; font-weight: 700; letter-spacing: 0.04em; }
[data-theme="telegraph"] .nav-logo em { color: #c8a060; font-style: italic; font-weight: 400; }
[data-theme="telegraph"] #bs-dot { fill: #c8a060; }
[data-theme="telegraph"] #bs-r1, [data-theme="telegraph"] #bs-r2, [data-theme="telegraph"] #bs-r3, [data-theme="telegraph"] #bs-r4 { stroke: #c8a060; }
[data-theme="telegraph"] .nav-tag { color: #7a6640; font-style: italic; letter-spacing: 0.2em; }
[data-theme="telegraph"] .nav-link { color: #a89060; border-color: #3a2e1a; font-size: 11px; letter-spacing: 0.12em; }
[data-theme="telegraph"] .nav-link:hover { color: #c8a060; border-color: #c8a060; }
[data-theme="telegraph"] .nav-user-btn { color: #f7f3ec; border-color: #c8a060; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
[data-theme="telegraph"] .nav-user-btn:hover { color: #c8a060; }
[data-theme="telegraph"] .nav-user-dropdown { background: #1a1208; border-color: #3a2e1a; border-top-color: #c8a060; box-shadow: 0 4px 16px rgba(0,0,0,0.4); }
[data-theme="telegraph"] .nav-dropdown-item { color: #a89060; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
[data-theme="telegraph"] .nav-dropdown-item:hover { background: #2a1e0a; color: #c8a060; }

/* Section labels — with ornament */
[data-theme="telegraph"] .section-label { color: #7a6640; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.25em; }
[data-theme="telegraph"] .section-line { background: #c8b89a; }

/* Textarea */
[data-theme="telegraph"] textarea {
  background: #fffdf8; border: 1px solid #c8b89a; border-top: 2px solid #1a1208;
  color: #1a1208; font-family: 'Source Serif 4', Georgia, serif; font-size: 14px; line-height: 1.75;
}
[data-theme="telegraph"] textarea:focus { border-color: #1a1208; }
[data-theme="telegraph"] textarea::placeholder { color: #c8b89a; font-style: italic; }

/* Char bars */
[data-theme="telegraph"] .char-bars { border: 1px solid #c8b89a; border-top: none; background: #fffdf8; }
[data-theme="telegraph"] .char-bar { background: #fffdf8; border-right-color: #c8b89a; }
[data-theme="telegraph"] .cb-label { color: #7a6640; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
[data-theme="telegraph"] .cb-track { background: #e8dcc8; height: 2px; }
[data-theme="telegraph"] .cb-fill { background: #1a1208 !important; }
[data-theme="telegraph"] .cb-count { color: #3a2e1a; font-family: 'JetBrains Mono', monospace; font-size: 11px; }

/* Platform toggles */
[data-theme="telegraph"] .platform-row { border: 1px solid #c8b89a; border-top: 2px solid #1a1208; background: #fffdf8; }
[data-theme="telegraph"] .ptoggle { background: #fffdf8; color: #7a6640; border-right-color: #c8b89a; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
[data-theme="telegraph"] .ptoggle-dot { background: #c8b89a; }
[data-theme="telegraph"] .ptoggle:hover { color: #3a2e1a; }
[data-theme="telegraph"] .ptoggle.on-mastodon,
[data-theme="telegraph"] .ptoggle.on-bsky,
[data-theme="telegraph"] .ptoggle.on-threads,
[data-theme="telegraph"] .ptoggle.on-linkedin { color: #1a1208; background: #f0ebe0; }
[data-theme="telegraph"] .ptoggle.on-mastodon .ptoggle-dot,
[data-theme="telegraph"] .ptoggle.on-bsky .ptoggle-dot,
[data-theme="telegraph"] .ptoggle.on-threads .ptoggle-dot,
[data-theme="telegraph"] .ptoggle.on-linkedin .ptoggle-dot { background: #1a1208; }
[data-theme="telegraph"] .pswitch { background: #e8dcc8; border-color: #c8b89a; border-radius: 0; }
[data-theme="telegraph"] .pswitch::after { background: #c8b89a; }
[data-theme="telegraph"] .ptoggle.on-mastodon .pswitch,
[data-theme="telegraph"] .ptoggle.on-bsky .pswitch,
[data-theme="telegraph"] .ptoggle.on-threads .pswitch,
[data-theme="telegraph"] .ptoggle.on-linkedin .pswitch { background: #1a1208; border-color: #1a1208; }
[data-theme="telegraph"] .ptoggle.on-mastodon .pswitch::after,
[data-theme="telegraph"] .ptoggle.on-bsky .pswitch::after,
[data-theme="telegraph"] .ptoggle.on-threads .pswitch::after,
[data-theme="telegraph"] .ptoggle.on-linkedin .pswitch::after { background: #f7f3ec; transform: translateX(16px); }

/* Schedule */
[data-theme="telegraph"] .schedule-row { background: #fffdf8; border-color: #c8b89a; }
[data-theme="telegraph"] .schedule-toggle { color: #7a6640; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.15em; }
[data-theme="telegraph"] .sw { background: #e8dcc8; border-color: #c8b89a; }
[data-theme="telegraph"] .sw::after { background: #c8b89a; }
[data-theme="telegraph"] .schedule-toggle input:checked ~ .sw { background: #1a1208; border-color: #1a1208; }
[data-theme="telegraph"] .schedule-toggle input:checked ~ .sw::after { background: #f7f3ec; }
[data-theme="telegraph"] input[type="datetime-local"] { color: #1a1208; border-left-color: #c8b89a; font-family: 'JetBrains Mono', monospace; }

/* Post button */
[data-theme="telegraph"] .btn-post-wrap { background: #1a1208; }
[data-theme="telegraph"] .btn-post {
  background: transparent; color: #f7f3ec;
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 15px; font-weight: 400; letter-spacing: 0.08em;
}
[data-theme="telegraph"] .btn-post:hover:not(:disabled) { opacity: 1; background: transparent; }
[data-theme="telegraph"] .btn-post-wrap:has(button:hover:not(:disabled)) { background: #2a1e0a; }
[data-theme="telegraph"] .btn-post:disabled { opacity: 0.4; }
[data-theme="telegraph"] .btn-post.scheduled { background: transparent; }
[data-theme="telegraph"] .btn-post-wrap:has(.scheduled) { background: #4a7a40; }

/* Results */
[data-theme="telegraph"] .ires.pending { background: #f0ebe0; color: #7a6640; }
[data-theme="telegraph"] .ires.ok      { background: #eef5ec; color: #4a7a40; }
[data-theme="telegraph"] .ires.err     { background: #fdf0ee; color: #8a2010; }
[data-theme="telegraph"] .ires.sched   { background: #fdf8ee; color: #7a5010; }

/* Image drop */
[data-theme="telegraph"] .image-drop { background: #fffdf8; border-color: #c8b89a; }
[data-theme="telegraph"] .image-drop:hover, [data-theme="telegraph"] .image-drop.drag { border-color: #1a1208; background: #f0ebe0; }
[data-theme="telegraph"] .drop-text { color: #7a6640; font-family: 'Source Serif 4', serif; font-style: italic; }
[data-theme="telegraph"] .drop-text strong { color: #1a1208; font-style: normal; }
[data-theme="telegraph"] .image-note { color: #7a6640; font-family: 'JetBrains Mono', monospace; }

/* History panel */
[data-theme="telegraph"] .history-panel { background: #fffdf8; border-left-color: #c8b89a; }
[data-theme="telegraph"] .history-header { border-bottom-color: #c8b89a; background: #1a1208; }
[data-theme="telegraph"] .history-title { color: #7a6640; letter-spacing: 0.25em; font-family: 'JetBrains Mono', monospace; font-size: 11px; }
[data-theme="telegraph"] .queue-badge { color: #7a5010; border-color: currentColor; }
[data-theme="telegraph"] .hcard { border-bottom-color: #c8b89a; }
[data-theme="telegraph"] .hcard:hover { background: #f5f0e8; }
[data-theme="telegraph"] .hcard-text { color: #1a1208; font-family: 'Source Serif 4', serif; font-style: italic; font-size: 12px; line-height: 1.55; }
[data-theme="telegraph"] .hcard-time { color: #7a6640; font-family: 'JetBrains Mono', monospace; font-size: 11px; }
[data-theme="telegraph"] .hcard-del { color: #c8b89a; }
[data-theme="telegraph"] .hcard-del:hover { color: #8a2010; }
[data-theme="telegraph"] .pbadge { font-family: 'JetBrains Mono', monospace; border-radius: 0; font-size: 10px; border-color: #c8b89a; color: #3a2e1a; }
[data-theme="telegraph"] .pbadge.ok::before { content: '✓ '; }
[data-theme="telegraph"] .pbadge.mastodon { color: #5a5aaa; border-color: rgba(90,90,170,0.4); }
[data-theme="telegraph"] .pbadge.bsky { color: #0070c8; border-color: rgba(0,112,200,0.4); }
[data-theme="telegraph"] .pbadge.linkedin { color: #0055a0; border-color: rgba(0,85,160,0.4); }
[data-theme="telegraph"] .empty-history { color: #7a6640; font-family: 'Source Serif 4', serif; font-style: italic; }

/* Queue page */
[data-theme="telegraph"] h1 { font-family: 'Playfair Display', serif; font-weight: 700; color: #1a1208; }
[data-theme="telegraph"] .sub, [data-theme="telegraph"] .page-sub, [data-theme="telegraph"] .page-meta { color: #7a6640; font-family: 'JetBrains Mono', monospace; font-style: italic; }
[data-theme="telegraph"] .qitem { background: #fffdf8; border-color: #c8b89a; }
[data-theme="telegraph"] .qitem.scheduled { border-left-color: #7a5010; }
[data-theme="telegraph"] .qitem.done { border-left-color: #4a7a40; }
[data-theme="telegraph"] .qitem.err { border-left-color: #8a2010; }
[data-theme="telegraph"] .qtext { color: #1a1208; font-family: 'Source Serif 4', serif; font-size: 14px; }
[data-theme="telegraph"] .btn { background: #fffdf8; border-color: #c8b89a; color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .btn:hover { border-color: #1a1208; color: #1a1208; }

/* Bindery */
[data-theme="telegraph"] .post-card { border-bottom-color: #c8b89a; }
[data-theme="telegraph"] .post-card:hover { background: #f5f0e8; }
[data-theme="telegraph"] .post-text { color: #1a1208; font-family: 'Source Serif 4', serif; font-size: 14px; line-height: 1.7; }
[data-theme="telegraph"] .post-time { color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .search-bar input { background: #fffdf8; border-color: #c8b89a; border-top-color: #1a1208; color: #1a1208; font-family: 'Source Serif 4', serif; }
[data-theme="telegraph"] .search-bar button { background: #1a1208; color: #f7f3ec; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.1em; }
[data-theme="telegraph"] .page-btn { border-color: #c8b89a; color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] a.page-btn:hover { border-color: #1a1208; color: #1a1208; }
[data-theme="telegraph"] .related-source { border-color: #c8b89a; color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .related-title { color: #1a1208; font-family: 'Source Serif 4', serif; }

/* Feed */
[data-theme="telegraph"] .tabs-bar { border-bottom-color: #c8b89a; }
[data-theme="telegraph"] .tab { color: #7a6640; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em; }
[data-theme="telegraph"] .tab.active { color: #1a1208; border-bottom-color: #c8a060; }
[data-theme="telegraph"] .tab:hover { color: #1a1208; }
[data-theme="telegraph"] .refresh { border-color: #c8b89a; color: #7a6640; }
[data-theme="telegraph"] .refresh:hover { border-color: #1a1208; color: #1a1208; }
[data-theme="telegraph"] .card { border-bottom-color: #c8b89a; }
[data-theme="telegraph"] .card:hover { background: #f5f0e8; }
[data-theme="telegraph"] .author-name { color: #1a1208; font-family: 'Playfair Display', serif; font-weight: 700; }
[data-theme="telegraph"] .author-handle { color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .card-text { color: #1a1208; font-family: 'Source Serif 4', serif; font-size: 13px; line-height: 1.7; }
[data-theme="telegraph"] .card-time, [data-theme="telegraph"] .card-link { color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .card-link:hover { color: #1a1208; }
[data-theme="telegraph"] .platform-badge { font-family: 'JetBrains Mono', monospace; color: #7a6640; border-color: #c8b89a; }
[data-theme="telegraph"] .avatar-ph { background: #f0ebe0; border-color: #c8b89a; color: #7a6640; }
[data-theme="telegraph"] .spinner { border-color: #c8b89a; border-top-color: #1a1208; }

/* Settings */
[data-theme="telegraph"] .platform-card { background: #fffdf8; border-color: #c8b89a; }
[data-theme="telegraph"] .pcard-head { border-bottom-color: #c8b89a; }
[data-theme="telegraph"] .pcard-name { color: #1a1208; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.1em; }
[data-theme="telegraph"] .pcard-status { color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .pcard-dot { background: #c8b89a; }
[data-theme="telegraph"] .pcard-dot.on { background: #4a7a40; }
[data-theme="telegraph"] label { color: #7a6640; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
[data-theme="telegraph"] input[type="text"],
[data-theme="telegraph"] input[type="password"] { background: #fffdf8; border-color: #c8b89a; border-top-color: #1a1208; color: #1a1208; font-family: 'Source Serif 4', serif; }
[data-theme="telegraph"] .btn-save { background: #1a1208; color: #f7f3ec; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.1em; }
[data-theme="telegraph"] .btn-clear { border-color: #c8b89a; color: #7a6640; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .btn-clear:hover { border-color: #8a2010; color: #8a2010; }
[data-theme="telegraph"] .msg.ok { background: #eef5ec; border-color: #4a7a40; color: #4a7a40; }
[data-theme="telegraph"] .msg.err { background: #fdf0ee; border-color: #8a2010; color: #8a2010; }

/* Footer */
[data-theme="telegraph"] .theme-footer { background: #1a1208; border-top-color: #3a2e1a; }
[data-theme="telegraph"] .theme-footer-label { color: #3a2e1a; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .theme-btn { color: #7a6640; border-color: #3a2e1a; font-family: 'JetBrains Mono', monospace; }
[data-theme="telegraph"] .theme-btn:hover { border-color: #c8a060; color: #c8a060; }
[data-theme="telegraph"] .theme-btn.active { border-color: #c8a060; background: #c8a060; color: #1a1208; }

/* ── Theme: Signal ────────────────────────────── */
[data-theme="signal"] {
  --ink: #e6edf3;
  --paper: #0d1117;
  --cream: #161b22;
  --rule: #30363d;
  --mid: #8b949e;
  --sg: #00c27a;
  --sg2: #00a866;
  --sgd: #004d30;
  --mastodon: #7b7bdd;
  --bsky: #4499ee;
  --threads: #8b949e;
  --linkedin: #4488cc;
  --ok: #00c27a;
  --err: #f85149;
  --warn: #d29922;
  --serif: 'IBM Plex Mono', 'Azeret Mono', monospace;
  --sans: 'IBM Plex Sans', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', 'Azeret Mono', monospace;
}

[data-theme="signal"] body { background: #0d1117; color: #e6edf3; font-family: 'IBM Plex Sans', system-ui, sans-serif; }
[data-theme="signal"] body::before { display: none; }

/* Nav */
[data-theme="signal"] nav { background: #161b22; border-bottom: 1px solid #30363d; }
[data-theme="signal"] nav::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, #00c27a 30%, #00c27a 70%, transparent); opacity: 0.4; pointer-events: none; }
[data-theme="signal"] .nav-logo { color: #00c27a; font-family: 'IBM Plex Mono', monospace; font-size: 18px; font-weight: 500; letter-spacing: -0.02em; }
[data-theme="signal"] .nav-logo em { color: #7dd3bb; font-style: normal; font-weight: 400; }
[data-theme="signal"] #bs-dot { fill: #00c27a; }
[data-theme="signal"] #bs-r1 { stroke: #00c27a; opacity: 0.5; }
[data-theme="signal"] #bs-r2 { stroke: #00c27a; opacity: 0.3; }
[data-theme="signal"] #bs-r3 { stroke: #00c27a; opacity: 0.15; }
[data-theme="signal"] #bs-r4 { stroke: #00c27a; opacity: 0.08; }
[data-theme="signal"] .nav-tag { color: #484f58; font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.2em; }
[data-theme="signal"] .nav-link { color: #8b949e; border-color: transparent; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
[data-theme="signal"] .nav-link:hover { color: #e6edf3; border-color: #30363d; }
[data-theme="signal"] .nav-user-btn { color: #00c27a; border-color: #004d30; font-family: 'IBM Plex Mono', monospace; font-size: 11px; background: rgba(0,194,122,0.05); }
[data-theme="signal"] .nav-user-btn:hover { border-color: #00c27a; }
[data-theme="signal"] .nav-user-dropdown { background: #161b22; border-color: #30363d; border-top-color: #00c27a; box-shadow: 0 8px 24px rgba(0,0,0,0.4); }
[data-theme="signal"] .nav-dropdown-item { color: #8b949e; font-family: 'IBM Plex Mono', monospace; font-size: 11px; }
[data-theme="signal"] .nav-dropdown-item:hover { background: #21262d; color: #e6edf3; }

/* Section labels */
[data-theme="signal"] .section-label { color: #484f58; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.2em; }
[data-theme="signal"] .section-line { background: #30363d; }

/* Textarea */
[data-theme="signal"] textarea {
  background: #21262d; border: 1px solid #30363d; border-top: 2px solid #00c27a;
  color: #e6edf3; font-family: 'IBM Plex Mono', monospace; font-size: 13px;
  caret-color: #00c27a;
}
[data-theme="signal"] textarea:focus { border-color: #00c27a; box-shadow: 0 0 0 1px rgba(0,194,122,0.15); }
[data-theme="signal"] textarea::placeholder { color: #484f58; }

/* Char bars */
[data-theme="signal"] .char-bars { border: 1px solid #30363d; border-top: none; background: #161b22; }
[data-theme="signal"] .char-bar { background: transparent; border-right-color: #30363d; }
[data-theme="signal"] .cb-label { color: #8b949e; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.08em; }
[data-theme="signal"] .cb-track { background: #21262d; height: 2px; }
[data-theme="signal"] .cb-fill { background: #00c27a !important; }
[data-theme="signal"] .cb-count { color: #8b949e; font-family: 'IBM Plex Mono', monospace; font-size: 11px; }

/* Platform toggles */
[data-theme="signal"] .platform-row { border: 1px solid #30363d; border-top: 2px solid #00c27a; background: #161b22; }
[data-theme="signal"] .ptoggle { background: transparent; color: #484f58; border-right-color: #30363d; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
[data-theme="signal"] .ptoggle-dot { background: #30363d; }
[data-theme="signal"] .ptoggle:hover { color: #8b949e; }
[data-theme="signal"] .ptoggle.on-mastodon,
[data-theme="signal"] .ptoggle.on-bsky,
[data-theme="signal"] .ptoggle.on-threads,
[data-theme="signal"] .ptoggle.on-linkedin { color: #00c27a; background: rgba(0,194,122,0.04); }
[data-theme="signal"] .ptoggle.on-mastodon .ptoggle-dot,
[data-theme="signal"] .ptoggle.on-bsky .ptoggle-dot,
[data-theme="signal"] .ptoggle.on-threads .ptoggle-dot,
[data-theme="signal"] .ptoggle.on-linkedin .ptoggle-dot { background: #00c27a; box-shadow: 0 0 4px rgba(0,194,122,0.5); }
[data-theme="signal"] .pswitch { background: #21262d; border-color: #30363d; border-radius: 1px; }
[data-theme="signal"] .pswitch::after { background: #30363d; }
[data-theme="signal"] .ptoggle.on-mastodon .pswitch,
[data-theme="signal"] .ptoggle.on-bsky .pswitch,
[data-theme="signal"] .ptoggle.on-threads .pswitch,
[data-theme="signal"] .ptoggle.on-linkedin .pswitch { border-color: #00c27a; background: rgba(0,194,122,0.1); }
[data-theme="signal"] .ptoggle.on-mastodon .pswitch::after,
[data-theme="signal"] .ptoggle.on-bsky .pswitch::after,
[data-theme="signal"] .ptoggle.on-threads .pswitch::after,
[data-theme="signal"] .ptoggle.on-linkedin .pswitch::after { background: #00c27a; box-shadow: 0 0 4px rgba(0,194,122,0.5); transform: translateX(16px); }

/* Schedule */
[data-theme="signal"] .schedule-row { background: #161b22; border-color: #30363d; }
[data-theme="signal"] .schedule-toggle { color: #484f58; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.15em; }
[data-theme="signal"] .sw { background: #21262d; border-color: #30363d; }
[data-theme="signal"] .sw::after { background: #30363d; }
[data-theme="signal"] .schedule-toggle input:checked ~ .sw { background: #00c27a; border-color: #00c27a; box-shadow: 0 0 6px rgba(0,194,122,0.3); }
[data-theme="signal"] .schedule-toggle input:checked ~ .sw::after { background: #0d1117; }
[data-theme="signal"] input[type="datetime-local"] { color: #e6edf3; border-left-color: #30363d; font-family: 'IBM Plex Mono', monospace; }

/* Post button */
[data-theme="signal"] .btn-post-wrap { background: #00c27a; }
[data-theme="signal"] .btn-post {
  background: transparent; color: #0d1117;
  font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.15em;
}
[data-theme="signal"] .btn-post:hover:not(:disabled) { background: transparent; opacity: 1; }
[data-theme="signal"] .btn-post-wrap:has(button:hover:not(:disabled)) { background: #00a866; }
[data-theme="signal"] .btn-post:disabled { background: transparent; color: #484f58; opacity: 1; }
[data-theme="signal"] .btn-post-wrap:has(button:disabled) { background: #21262d; }
[data-theme="signal"] .btn-post.scheduled { background: transparent; }
[data-theme="signal"] .btn-post-wrap:has(.scheduled) { background: #00c27a; }

/* Results */
[data-theme="signal"] .ires.pending { background: #21262d; color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .ires.ok      { background: rgba(0,194,122,0.08); color: #00c27a; }
[data-theme="signal"] .ires.err     { background: rgba(248,81,73,0.08); color: #f85149; }
[data-theme="signal"] .ires.sched   { background: rgba(210,153,34,0.08); color: #d29922; }

/* Image drop */
[data-theme="signal"] .image-drop { background: #21262d; border-color: #30363d; }
[data-theme="signal"] .image-drop:hover, [data-theme="signal"] .image-drop.drag { border-color: #00c27a; background: #161b22; }
[data-theme="signal"] .drop-text { color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .drop-text strong { color: #00c27a; }
[data-theme="signal"] .image-note { color: #484f58; font-family: 'IBM Plex Mono', monospace; }

/* History panel */
[data-theme="signal"] .history-panel { background: #161b22; border-left-color: #30363d; }
[data-theme="signal"] .history-header { border-bottom-color: #30363d; background: #161b22; }
[data-theme="signal"] .history-title { color: #484f58; letter-spacing: 0.2em; font-family: 'IBM Plex Mono', monospace; font-size: 11px; }
[data-theme="signal"] .queue-badge { color: #d29922; border-color: #d29922; }
[data-theme="signal"] .hcard { border-bottom-color: #21262d; }
[data-theme="signal"] .hcard:hover { background: rgba(255,255,255,0.02); }
[data-theme="signal"] .hcard-text { color: #e6edf3; font-family: 'IBM Plex Mono', monospace; font-size: 11px; line-height: 1.5; opacity: 0.8; }
[data-theme="signal"] .hcard-time { color: #484f58; font-family: 'IBM Plex Mono', monospace; font-size: 11px; }
[data-theme="signal"] .hcard-del { color: #30363d; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .hcard-del:hover { color: #f85149; }
[data-theme="signal"] .pbadge { font-family: 'IBM Plex Mono', monospace; border-radius: 2px; font-size: 10px; color: #00c27a; border-color: #004d30; }
[data-theme="signal"] .pbadge.threads { color: #8b949e; border-color: #30363d; }
[data-theme="signal"] .empty-history { color: #484f58; font-family: 'IBM Plex Mono', monospace; }

/* Queue page */
[data-theme="signal"] h1 { color: #e6edf3; font-family: 'IBM Plex Sans', system-ui, sans-serif; font-weight: 600; }
[data-theme="signal"] .sub, [data-theme="signal"] .page-sub, [data-theme="signal"] .page-meta { color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .qitem { background: #161b22; border-color: #30363d; }
[data-theme="signal"] .qitem.scheduled { border-left-color: #d29922; }
[data-theme="signal"] .qitem.done { border-left-color: #00c27a; }
[data-theme="signal"] .qitem.err { border-left-color: #f85149; }
[data-theme="signal"] .qtext { color: #e6edf3; font-family: 'IBM Plex Mono', monospace; font-size: 13px; }
[data-theme="signal"] .btn { background: #161b22; border-color: #30363d; color: #8b949e; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .btn:hover { border-color: #00c27a; color: #00c27a; }

/* Bindery */
[data-theme="signal"] .post-card { border-bottom-color: #21262d; }
[data-theme="signal"] .post-card:hover { background: rgba(255,255,255,0.02); }
[data-theme="signal"] .post-text { color: #e6edf3; font-family: 'IBM Plex Mono', monospace; font-size: 13px; line-height: 1.65; }
[data-theme="signal"] .post-time { color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .search-bar input { background: #161b22; border-color: #30363d; border-top-color: #00c27a; color: #e6edf3; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .search-bar input:focus { border-color: #00c27a; }
[data-theme="signal"] .search-bar button { background: #00c27a; color: #0d1117; font-family: 'IBM Plex Sans', sans-serif; font-weight: 600; }
[data-theme="signal"] .page-btn { border-color: #30363d; color: #8b949e; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] a.page-btn:hover { border-color: #00c27a; color: #00c27a; }
[data-theme="signal"] .related-source { border-color: #30363d; color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .related-title { color: #e6edf3; font-family: 'IBM Plex Mono', monospace; }

/* Feed */
[data-theme="signal"] .tabs-bar { border-bottom-color: #30363d; }
[data-theme="signal"] .tab { color: #484f58; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.1em; }
[data-theme="signal"] .tab.active { color: #00c27a; border-bottom-color: #00c27a; }
[data-theme="signal"] .tab:hover { color: #8b949e; }
[data-theme="signal"] .refresh { border-color: #30363d; color: #484f58; }
[data-theme="signal"] .refresh:hover { border-color: #00c27a; color: #00c27a; }
[data-theme="signal"] .card { border-bottom-color: #21262d; }
[data-theme="signal"] .card:hover { background: rgba(255,255,255,0.02); }
[data-theme="signal"] .author-name { color: #e6edf3; font-family: 'IBM Plex Sans', sans-serif; font-weight: 600; }
[data-theme="signal"] .author-handle { color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .card-text { color: #e6edf3; font-family: 'IBM Plex Mono', monospace; font-size: 12px; line-height: 1.65; opacity: 0.8; }
[data-theme="signal"] .card-time, [data-theme="signal"] .card-link { color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .card-link:hover { color: #00c27a; }
[data-theme="signal"] .platform-badge { font-family: 'IBM Plex Mono', monospace; color: #484f58; border-color: #30363d; }
[data-theme="signal"] .platform-badge.mastodon, [data-theme="signal"] .platform-badge.bsky { color: #00c27a; border-color: #004d30; }
[data-theme="signal"] .avatar-ph { background: #21262d; border-color: #30363d; color: #484f58; }
[data-theme="signal"] .spinner { border-color: #30363d; border-top-color: #00c27a; }

/* Settings */
[data-theme="signal"] .platform-card { background: #161b22; border-color: #30363d; }
[data-theme="signal"] .pcard-head { border-bottom-color: #30363d; }
[data-theme="signal"] .pcard-name { color: #e6edf3; font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.1em; }
[data-theme="signal"] .pcard-status { color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .pcard-dot { background: #30363d; }
[data-theme="signal"] .pcard-dot.on { background: #00c27a; box-shadow: 0 0 4px rgba(0,194,122,0.5); }
[data-theme="signal"] label { color: #484f58; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
[data-theme="signal"] input[type="text"],
[data-theme="signal"] input[type="password"] { background: #0d1117; border-color: #30363d; border-top-color: #00c27a; color: #e6edf3; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] input[type="text"]:focus,
[data-theme="signal"] input[type="password"]:focus { border-color: #00c27a; }
[data-theme="signal"] .btn-save { background: #00c27a; color: #0d1117; font-family: 'IBM Plex Sans', sans-serif; font-weight: 600; border: none; }
[data-theme="signal"] .btn-clear { border-color: #30363d; color: #8b949e; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .btn-clear:hover { border-color: #f85149; color: #f85149; }
[data-theme="signal"] .msg.ok { background: rgba(0,194,122,0.08); border-color: #00c27a; color: #00c27a; }
[data-theme="signal"] .msg.err { background: rgba(248,81,73,0.08); border-color: #f85149; color: #f85149; }

/* Footer */
[data-theme="signal"] .theme-footer { background: #161b22; border-top-color: #30363d; }
[data-theme="signal"] .theme-footer-label { color: #484f58; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .theme-btn { color: #8b949e; border-color: #30363d; font-family: 'IBM Plex Mono', monospace; }
[data-theme="signal"] .theme-btn:hover { border-color: #8b949e; color: #e6edf3; }
[data-theme="signal"] .theme-btn.active { border-color: #00c27a; background: rgba(0,194,122,0.1); color: #00c27a; }


/* Footer */
.theme-footer { grid-column: 1/-1; border-top: 1px solid var(--rule); padding: 16px 40px; display: flex; align-items: center; gap: 0; background: var(--paper); }
.theme-footer-label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mid); margin-right: 4px; }
.theme-btn { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; border: 1px solid var(--rule); background: none; color: var(--mid); padding: 5px 12px; cursor: pointer; border-radius: 2px; transition: border-color 0.15s, color 0.15s; }
.theme-btn:hover { border-color: var(--ink); color: var(--ink); }
.theme-btn.active { border-color: var(--ink); color: var(--ink); background: var(--ink); color: var(--paper); }
[data-theme="nixie"] .theme-footer { background: #0f0d00; border-top-color: #3a2800; }
[data-theme="nixie"] .theme-footer-label { color: #3a2800; }
[data-theme="nixie"] .theme-btn { color: #5a4010; border-color: #3a2800; font-family: 'Share Tech Mono', monospace; }
[data-theme="nixie"] .theme-btn:hover { border-color: #ffb000; color: #ffb000; }
[data-theme="nixie"] .theme-btn.active { border-color: #ffb000; background: #ffb000; color: #0a0800; }
