/* JEF·OS theme — keep in sync with studio/public/css/jefos-theme.css
   Illuminated Manuscript meets Food Truck */

:root,
.skin-jefos {
  --ink: #0d0d0d;
  --ink-canvas: #020201;
  --bone: #f4f1e8;
  --plum: #4b2e4f;
  --forest: #163a2f;
  --clay: #c56a4a;
  --stone: #8a8378;
  --neon: #efff00;
  /* Campaign thread palette — evil (Unmade) vs hero (Weal) */
  --thread-purple: #a56bcc;
  --thread-purple-deep: #7c4dff;
  --thread-purple-bright: #c89be8;
  --thread-gold: #d4a84b;
  --thread-gold-deep: #b8862a;
  --thread-gold-bright: #e8c468;
  --ink-raised: #181816;
  --bone-dim: rgba(244, 241, 232, 0.66);
  --bone-soft: rgba(244, 241, 232, 0.42);
  --hairline: rgba(244, 241, 232, 0.18);
  --font-title: "UnifrakturCook", "Spectral", serif;
  --font-ui: "Instrument Sans", system-ui, sans-serif;
  --font-scribble: "Rock Salt", cursive;
  --font-body: "Spectral", Georgia, serif;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Panel chrome (dark table surfaces) */
  --panel-ink: #f4f1e8;
  --panel-muted: rgba(244, 241, 232, 0.78);
  --panel-caption: #a39e94;
  --panel-divider: rgba(244, 241, 232, 0.14);
  --panel-quote-bg: rgba(75, 46, 79, 0.28);
  --panel-surface: rgba(255, 255, 255, 0.05);
  --panel-surface-hover: rgba(255, 255, 255, 0.1);
  --panel-accent: #8ec4a8;
  --panel-link: #9fd4bc;
}

/* ---- Typography ---- */
.jefos-title {
  font-family: var(--font-title);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.5px;
  color: var(--bone);
  text-decoration: none;
}

.jefos-ui {
  font-family: var(--font-ui);
  font-weight: 600;
}

.jefos-marker {
  font-family: var(--font-ui);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  color: var(--plum);
}

.jefos-meta {
  font-family: var(--font-ui);
  font-weight: 500;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  color: var(--stone);
  text-transform: uppercase;
}

.jefos-scribble--accent {
  font-family: var(--font-scribble);
  font-size: 0.86rem;
  color: var(--neon);
  background: transparent;
  display: inline-block;
  transform: rotate(-3deg);
  line-height: 1.3;
  margin-bottom: 0.35rem;
}

.jefos-underline-accent {
  background-image: linear-gradient(var(--plum), var(--plum));
  background-repeat: no-repeat;
  background-position: 0 92%;
  background-size: 100% 0.28em;
  padding: 0 1px;
}

.jefos-bar {
  display: inline-block;
  width: 2.2rem;
  height: 3px;
  background: var(--neon);
  vertical-align: middle;
}

.jefos-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}

.jefos-status-dot--active {
  background: var(--neon);
}

/* Canon status pills (match microsite) */
.status-pill {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: 999px;
  margin: 0 2px;
  vertical-align: middle;
  white-space: nowrap;
}

.badge.locked {
  color: #8ec4a8;
  background: rgba(22, 58, 47, 0.35);
  border: 0.5px solid rgba(142, 196, 168, 0.4);
}

.status-pill--proposed,
.badge.proposed {
  color: #a8b8e8;
  background: rgba(61, 79, 138, 0.28);
  border: 0.5px solid rgba(120, 140, 200, 0.4);
}
