/* ═══════════════════════════════════════════════════════════════════════════
   DM WORKSHOP — v69.5 skin, matched to Jeremy's 15 reference mockups.

   The visual language (see /reference images): near-black leather stage;
   PARCHMENT cards carrying dark ink; Cinzel gold serif headings with thin
   ornamental rules; crimson wax-seal primary buttons with gold text; dark
   panels hairlined in translucent gold; colored tag chips ON the parchment;
   red pushpins; the italic gold footer tagline between diamond rules.

   Palette is Workshop-scoped (--cxw-*): the Workshop is DM-only chrome and
   keeps this fixed identity regardless of the campaign's player-facing
   theme, exactly like the mockups. Platform tokens are still consulted for
   fonts and a handful of shared roles.
   ════════════════════════════════════════════════════════════════════════ */

:root {
  /* leather + gold + parchment + crimson — Workshop-namespaced (--cxw-*),
     defined at :root because drawers, modals, and the quick-capture button
     mount on <body>, outside .cxw-page. Nothing else consumes them. */
  --cxw-bg: #131009;
  --cxw-panel: #1b1610;
  --cxw-panel-2: #211b13;
  --cxw-line: rgba(201, 162, 74, .18);
  --cxw-line-strong: rgba(201, 162, 74, .38);
  --cxw-gold: #c9a24a;
  --cxw-gold-bright: #f4c867;
  --cxw-crimson: #6d1a1f;
  --cxw-crimson-hi: #8c2429;
  --cxw-crimson-line: #a83236;
  --cxw-parch: #e9dcbd;
  --cxw-parch-2: #ddcda6;
  --cxw-parch-line: #b9a678;
  --cxw-ink: #2b2115;
  --cxw-ink-soft: #57482f;
  --cxw-ink-dim: #7a6a4c;
  --cxw-text: #e8dcc0;
  --cxw-text-soft: #b0a488;
  --cxw-text-dim: #8a8377;
  --cxw-green: #4f7d52;
  --cxw-red: #a03a3a;
  --cxw-blue: #3f6386;
  --cxw-violet: #6b4f8a;
}
.cxw-page {
  font-family: var(--font-body, "EB Garamond", Georgia, serif);
  color: var(--cxw-text);
}

/* nav item ships hidden; the DM body class or codex-runtime reveals it */
.nav-item[data-page="workshop"] { display: none; }
body.cxw-dm .nav-item[data-page="workshop"] { display: flex; }

/* ── page header: gold serif + ornament ────────────────────────────────── */
.cxw-header .cxw-eyebrow {
  color: var(--cxw-crimson-line);
  letter-spacing: .22em; text-transform: uppercase; font-size: .66rem; font-weight: 700;
}
.cxw-title-line {
  font-family: var(--font-display, "Cinzel", Georgia, serif);
  color: var(--cxw-text);
  display: flex; align-items: center; gap: 16px;
}
.cxw-ornament { flex: 0 1 180px; height: 8px; position: relative; }
.cxw-ornament::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%;
  border-top: 1px solid var(--cxw-line-strong);
}
.cxw-ornament::after {
  content: "\2726"; position: absolute; left: 26px; top: 50%; transform: translateY(-54%);
  color: var(--cxw-gold); font-size: .6rem; background: transparent;
  text-shadow: -14px 0 0 var(--cxw-bg), 14px 0 0 var(--cxw-bg);
}
.cxw-page .page-description { color: var(--cxw-text-soft); }

/* ── footer tagline ────────────────────────────────────────────────────── */
.cxw-tagline {
  margin: 42px 0 8px; display: flex; align-items: center; justify-content: center; gap: 18px;
}
.cxw-tagline em {
  font-family: var(--font-body, "EB Garamond", serif);
  font-style: italic; color: var(--cxw-gold); font-size: 1.02rem; letter-spacing: .04em; white-space: nowrap;
}
.cxw-tagline-rule { flex: 0 1 220px; height: 1px; background: var(--cxw-line-strong); position: relative; }
.cxw-tagline-rule::before, .cxw-tagline-rule::after {
  content: "\2B29"; position: absolute; top: 50%; transform: translateY(-52%);
  color: var(--cxw-gold); font-size: .55rem;
}
.cxw-tagline-rule::before { left: -4px; }
.cxw-tagline-rule::after { right: -4px; }

/* ── subnav: dark pills, crimson active with gold edge ─────────────────── */
.cxw-subnav { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 14px; }
.cxw-subnav button {
  appearance: none; cursor: pointer;
  font-family: inherit; font-size: .84rem; letter-spacing: .02em;
  padding: 7px 14px; border-radius: 9px;
  background: var(--cxw-panel); color: var(--cxw-text-soft);
  border: 1px solid var(--cxw-line);
  transition: color .15s, border-color .15s, background .15s;
}
.cxw-subnav button:hover { color: var(--cxw-gold-bright); border-color: var(--cxw-line-strong); }
.cxw-subnav button.active {
  background: linear-gradient(180deg, var(--cxw-crimson-hi), var(--cxw-crimson));
  border-color: var(--cxw-crimson-line); color: #f0dfb8; font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 8px rgba(0,0,0,.4);
}

/* ── status line ───────────────────────────────────────────────────────── */
.cxw-status { min-height: 20px; font-size: .82rem; color: var(--cxw-text-soft); margin-bottom: 10px; }
.cxw-status.ok { color: #9fc79b; }
.cxw-status.error { color: #e08a8a; }

/* ── buttons inside the Workshop ───────────────────────────────────────── */
.cxw-page .button, .cxw-confirm .button, .cxw-drawer .button {
  font-family: inherit; font-size: .84rem; letter-spacing: .02em;
  border-radius: 9px; padding: 8px 14px; cursor: pointer;
  background: var(--cxw-panel-2); color: var(--cxw-text);
  border: 1px solid var(--cxw-line-strong);
  transition: border-color .15s, background .15s, color .15s;
}
.cxw-page .button:hover, .cxw-confirm .button:hover, .cxw-drawer .button:hover { border-color: var(--cxw-gold); color: var(--cxw-gold-bright); }
.cxw-page .button-primary, .cxw-confirm .button-primary, .cxw-drawer .button-primary {
  background: linear-gradient(180deg, var(--cxw-crimson-hi), var(--cxw-crimson));
  border: 1px solid var(--cxw-crimson-line);
  outline: 1px solid rgba(201,162,74,.35); outline-offset: -3px;
  color: #f4e3ba; font-weight: 700;
  box-shadow: 0 3px 10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.09);
}
.cxw-page .button-primary:hover, .cxw-confirm .button-primary:hover, .cxw-drawer .button-primary:hover { background: linear-gradient(180deg, #9c2b31, var(--cxw-crimson-hi)); color: #ffefc4; }
.cxw-page .button-danger, .cxw-confirm .button-danger, .cxw-drawer .button-danger { background: var(--cxw-crimson); border-color: var(--cxw-crimson-line); color: #f0d3d3; }
.cxw-page .button:disabled, .cxw-confirm .button:disabled, .cxw-drawer .button:disabled { opacity: .5; cursor: default; }

/* ── overview: dark gold-hairlined tool cards ──────────────────────────── */
.cxw-overview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.cxw-tool-card {
  appearance: none; cursor: pointer; text-align: left;
  background: linear-gradient(180deg, var(--cxw-panel-2), var(--cxw-panel));
  border: 1px solid var(--cxw-line); border-radius: 12px; padding: 16px 16px 13px;
  color: var(--cxw-text); font-family: inherit;
  transition: border-color .18s, transform .18s, box-shadow .18s;
}
.cxw-tool-card:hover { border-color: var(--cxw-line-strong); transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.4); }
.cxw-tool-mark { display: block; font-size: 1.3rem; color: var(--cxw-gold); margin-bottom: 8px; }
.cxw-tool-card h3 {
  margin: 0 0 6px; font-family: var(--font-display, "Cinzel", serif);
  font-size: .92rem; letter-spacing: .02em; color: var(--cxw-gold-bright);
}
.cxw-tool-card p { margin: 0 0 10px; font-size: .8rem; line-height: 1.5; color: var(--cxw-text-soft); }
.cxw-tool-count {
  font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--cxw-text-dim); border-top: 1px solid var(--cxw-line); padding-top: 8px; display: block;
}
.cxw-overview-note { margin: 18px 2px 0; font-size: .8rem; color: var(--cxw-text-dim); font-style: italic; }

/* ── toolbar row ───────────────────────────────────────────────────────── */
.cxw-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.cxw-toolbar .cxw-search {
  flex: 1 1 220px; min-width: 0;
  background: var(--cxw-panel); color: var(--cxw-text);
  border: 1px solid var(--cxw-line); border-radius: 9px; padding: 8px 12px;
  font-family: inherit; font-size: .85rem;
}
.cxw-toolbar .cxw-search::placeholder { color: var(--cxw-text-dim); }
.cxw-toolbar .cxw-search:focus { outline: none; border-color: var(--cxw-line-strong); }
.cxw-toolbar select {
  background: var(--cxw-panel); color: var(--cxw-text);
  border: 1px solid var(--cxw-line); border-radius: 9px; padding: 8px 10px;
  font-family: inherit; font-size: .82rem;
}
.cxw-toolbar #cxw-new-btn { margin-left: auto; }

/* popular tags row — colored chips like the mockups */
.cxw-tagbar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 2px 0 14px; }
.cxw-tagbar:not(:empty)::before {
  content: "Popular tags \203A"; font-size: .64rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--cxw-gold); margin-right: 4px;
}
.cxw-tagchip {
  appearance: none; cursor: pointer; font-family: inherit;
  font-size: .7rem; letter-spacing: .03em; padding: 3px 10px; border-radius: 6px;
  background: var(--cxw-panel-2); border: 1px solid var(--cxw-line); color: #efe6d2;
  transition: filter .15s, box-shadow .15s;
}
.cxw-tagchip[class*="cxw-tg-"] { border-color: transparent; }
.cxw-tagchip:hover { filter: brightness(1.2); }
.cxw-tagchip.active { box-shadow: 0 0 0 1px var(--cxw-gold-bright); }

/* the eight tag colors (dark chips, light text — as on the mockup cards) */
.cxw-tg-0 { background: #7c2d2d; } /* red   — plot */
.cxw-tg-1 { background: #2d4a6b; } /* blue  — npc */
.cxw-tg-2 { background: #2f5c39; } /* green — location */
.cxw-tg-3 { background: #5a3d7a; } /* violet— quest */
.cxw-tg-4 { background: #6b5a1f; } /* olive — lore */
.cxw-tg-5 { background: #3f5c5a; } /* teal  — item */
.cxw-tg-6 { background: #6b3a1f; } /* rust  — faction */
.cxw-tg-7 { background: #4a4357; } /* slate — encounter */

/* ── kanban boards ─────────────────────────────────────────────────────── */
.cxw-board { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x proximity; }
.cxw-col {
  flex: 0 0 264px; max-width: 264px; max-height: 72vh;
  display: flex; flex-direction: column; scroll-snap-align: start;
  background: var(--cxw-panel);
  border: 1px solid var(--cxw-line); border-radius: 12px;
}
.cxw-col.cxw-drop-target { border-color: var(--cxw-gold); box-shadow: inset 0 0 0 1px var(--cxw-gold); }
.cxw-col-head {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 12px; border-bottom: 1px solid var(--cxw-line);
  background: linear-gradient(180deg, rgba(0,0,0,.28), transparent);
  border-radius: 12px 12px 0 0;
}
.cxw-col-title {
  flex: 1; font-family: var(--font-display, "Cinzel", serif);
  font-size: .74rem; letter-spacing: .05em; color: var(--cxw-gold-bright);
}
.cxw-col-count {
  flex: none; min-width: 20px; text-align: center;
  font-size: .68rem; font-weight: 700; color: var(--cxw-text);
  background: rgba(201,162,74,.14); border: 1px solid var(--cxw-line);
  border-radius: 6px; padding: 1px 6px;
}
.cxw-col-body { flex: 1; overflow-y: auto; padding: 10px; display: flex; flex-direction: column; gap: 10px; }
.cxw-col-controls { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 10px 10px; border-bottom: 1px solid var(--cxw-line); }
.cxw-col-controls button { min-height: 30px; padding: 5px 7px; border: 1px solid var(--cxw-line); border-radius: 5px; background: transparent; color: var(--cxw-text-soft); font: 11px/1.3 system-ui, sans-serif; cursor: pointer; }
.cxw-col-controls button:hover:not(:disabled), .cxw-col-controls button:focus-visible { color: var(--cxw-gold-bright); border-color: var(--cxw-gold); }
.cxw-col-controls button:focus-visible { outline: 2px solid var(--cxw-gold); outline-offset: 2px; }
.cxw-col-controls button:disabled { opacity: .4; cursor: default; }
.cxw-col-controls [data-cxw-column-action="delete"] { color: #ecaaa4; }
.cxw-col-foot { padding: 8px 10px 10px; border-top: 1px solid var(--cxw-line); }
.cxw-add-inline {
  width: 100%; appearance: none; cursor: pointer; font-family: inherit;
  background: transparent; border: 1px dashed var(--cxw-line-strong); border-radius: 8px;
  color: var(--cxw-text-soft); font-size: .78rem; padding: 7px 0;
  transition: color .15s, border-color .15s;
}
.cxw-add-inline:hover { color: var(--cxw-gold-bright); border-color: var(--cxw-gold); }

/* ── THE PARCHMENT CARD ────────────────────────────────────────────────── */
.cxw-card {
  position: relative;
  background:
    radial-gradient(140% 90% at 18% 0%, rgba(255,250,235,.5), transparent 55%),
    linear-gradient(168deg, var(--cxw-parch) 0%, var(--cxw-parch-2) 100%);
  border: 1px solid var(--cxw-parch-line);
  border-radius: 6px;
  padding: 11px 12px 9px;
  color: var(--cxw-ink);
  cursor: grab;
  box-shadow:
    0 1px 0 rgba(255,248,228,.55) inset,
    0 0 0 1px rgba(43,33,21,.14) inset,
    0 3px 8px rgba(0,0,0,.45);
  transition: transform .14s, box-shadow .14s;
}
.cxw-card:hover, .cxw-card:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,248,228,.55) inset, 0 0 0 1px rgba(43,33,21,.14) inset, 0 6px 14px rgba(0,0,0,.5);
  outline: none;
}
.cxw-card:focus-visible { box-shadow: 0 0 0 2px var(--cxw-gold), 0 6px 14px rgba(0,0,0,.5); }
.cxw-card.cxw-dragging { opacity: .55; transform: rotate(1.2deg); cursor: grabbing; }
.cxw-lib-card { cursor: pointer; }

/* ink on parchment — every text role inside a card flips dark */
.cxw-card-title, .cxw-card .cxw-card-title {
  margin: 0; font-weight: 700; font-size: .9rem; line-height: 1.3; color: var(--cxw-ink);
}
h4.cxw-card-title { font-family: inherit; }
.cxw-card-body, .cxw-card-excerpt { margin: 5px 0 0; font-size: .8rem; line-height: 1.45; color: var(--cxw-ink-soft); }
p.cxw-card-excerpt { margin: 5px 0 0; }
.cxw-card-top { display: flex; align-items: flex-start; gap: 7px; }
.cxw-card-meta, .cxw-card-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 8px; }
.cxw-linkcount { margin-left: auto; font-size: .7rem; color: var(--cxw-ink-dim); }

/* red pushpin */
.cxw-pin { color: #a1272c; }
.cxw-card > .cxw-pin {
  position: absolute; top: -7px; right: 10px; font-size: .95rem;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.5));
}
/* colored status dot, top-right like the mockups */
.cxw-dot, .cxw-card-dot {
  width: 9px; height: 9px; border-radius: 50%; flex: none;
  border: 1px solid rgba(43,33,21,.35);
}
.cxw-dot { position: absolute; top: 10px; right: 10px; }
.cxw-card-dot { margin-top: 4px; }

/* tags ON parchment: dark chips, light text */
.cxw-tag, .cxw-minitag {
  font-size: .64rem; letter-spacing: .04em; padding: 2px 8px; border-radius: 5px;
  background: #4a4357; color: #efe6d2; line-height: 1.5;
}
.cxw-minitag { background: rgba(43,33,21,.14); color: var(--cxw-ink-soft); }
.cxw-minitag.cxw-tg-0, .cxw-minitag.cxw-tg-1, .cxw-minitag.cxw-tg-2, .cxw-minitag.cxw-tg-3,
.cxw-minitag.cxw-tg-4, .cxw-minitag.cxw-tg-5, .cxw-minitag.cxw-tg-6, .cxw-minitag.cxw-tg-7 { color: #efe6d2; }
.cxw-converted-tag { background: rgba(122,31,36,.16); color: #7a1f24; font-weight: 700; }

/* status pills on parchment (vault / lore / sandbox) */
.cxw-status-pill {
  margin-left: auto; flex: none; font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em;
  padding: 2px 9px; border-radius: 5px;
  background: rgba(43,33,21,.12); color: var(--cxw-ink-soft);
  border: 1px solid rgba(43,33,21,.2);
}
.cxw-status-available, .cxw-status-canon, .cxw-status-ready, .cxw-status-resolved, .cxw-status-achieved
  { background: #dfe8d5; color: #33552f; border-color: #a9bf9c; }
.cxw-status-reserved, .cxw-status-draft, .cxw-status-underway, .cxw-status-advancing, .cxw-status-in-play
  { background: #efe3c2; color: #7a5c14; border-color: #cbb277; }
.cxw-status-used, .cxw-status-fragment, .cxw-status-scrapped, .cxw-status-broken, .cxw-status-abandoned
  { background: #e2d9ea; color: #563a78; border-color: #b4a1cb; }

/* library groups */
.cxw-lib-group { margin: 0 0 26px; }
.cxw-lib-cat {
  margin: 0 0 10px; font-family: var(--font-display, "Cinzel", serif);
  font-size: .84rem; letter-spacing: .08em; color: var(--cxw-gold-bright);
  border-bottom: 1px solid var(--cxw-line); padding-bottom: 7px;
  display: flex; align-items: baseline; gap: 10px;
}
.cxw-lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }

/* ── vault rows: parchment ledger strips ───────────────────────────────── */
.cxw-vault-rows { display: flex; flex-direction: column; gap: 7px; }
.cxw-vault-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px; border-radius: 6px; cursor: pointer;
  background: linear-gradient(168deg, var(--cxw-parch), var(--cxw-parch-2));
  border: 1px solid var(--cxw-parch-line); color: var(--cxw-ink);
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 2px 6px rgba(0,0,0,.4);
  transition: transform .12s, box-shadow .12s;
}
.cxw-vault-row:hover, .cxw-vault-row:focus-visible {
  transform: translateY(-1px); outline: none;
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 4px 10px rgba(0,0,0,.5);
}
.cxw-vault-name { font-weight: 700; color: var(--cxw-ink); flex: none; max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxw-vault-meaning { flex: 1; min-width: 0; font-size: .82rem; font-style: italic; color: var(--cxw-ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxw-vault-add { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cxw-vault-add input[type="text"] { flex: 1 1 180px; }

/* quick-capture / vault-add: a parchment writing surface */
.cxw-capture {
  background: linear-gradient(168deg, var(--cxw-parch), var(--cxw-parch-2));
  border: 1px solid var(--cxw-parch-line); border-radius: 8px;
  padding: 12px 14px; margin-bottom: 16px;
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 3px 10px rgba(0,0,0,.45);
}
.cxw-capture input[type="text"], .cxw-capture textarea, .cxw-capture select {
  background: rgba(255,252,242,.55); color: var(--cxw-ink);
  border: 1px solid rgba(43,33,21,.28); border-radius: 7px;
  padding: 8px 10px; font-family: inherit; font-size: .88rem;
}
.cxw-capture input::placeholder, .cxw-capture textarea::placeholder { color: var(--cxw-ink-dim); }
.cxw-capture .cxw-cap-title { width: 100%; box-sizing: border-box; margin-bottom: 8px; }
.cxw-capture textarea { width: 100%; box-sizing: border-box; resize: vertical; }
.cxw-cap-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }
.cxw-cap-save { margin-left: auto; }
.cxw-listgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }

/* ── empty & loading ───────────────────────────────────────────────────── */
.cxw-empty {
  border: 1px dashed var(--cxw-line-strong); border-radius: 10px;
  padding: 26px 18px; text-align: center; color: var(--cxw-text-soft); font-size: .88rem; font-style: italic;
}
.cxw-loading { padding: 30px 6px; color: var(--cxw-text-soft); font-style: italic; }
.cxw-hint { display: block; font-size: .74rem; color: var(--cxw-text-dim); margin-top: 5px; line-height: 1.5; }

/* ── drawer (right editor panel — dark inspector, as in the mockups) ───── */
#cxw-drawer-wrap { position: fixed; inset: 0; z-index: 1200; }
.cxw-drawer-backdrop { position: absolute; inset: 0; background: rgba(6,4,2,.6); }
.cxw-drawer {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(470px, 100vw);
  display: flex; flex-direction: column;
  background: linear-gradient(180deg, #1e1812, var(--cxw-panel));
  border-left: 1px solid var(--cxw-line-strong);
  box-shadow: -14px 0 40px rgba(0,0,0,.55);
}
.cxw-drawer-head {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px; border-bottom: 1px solid var(--cxw-line);
}
.cxw-drawer-kicker {
  flex: 1; font-family: var(--font-display, "Cinzel", serif);
  font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cxw-gold);
}
.cxw-drawer-close {
  appearance: none; cursor: pointer; width: 30px; height: 30px; border-radius: 8px;
  background: transparent; border: 1px solid var(--cxw-line); color: var(--cxw-text-soft);
  font-size: .8rem; line-height: 1;
}
.cxw-drawer-close:hover { color: var(--cxw-gold-bright); border-color: var(--cxw-line-strong); }
.cxw-drawer-body { flex: 1; overflow-y: auto; padding: 16px; }
.cxw-drawer-foot {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  padding: 12px 16px; border-top: 1px solid var(--cxw-line);
  background: rgba(0,0,0,.22);
}
.cxw-foot-spacer { flex: 1; }
.cxw-dirty { font-size: .72rem; color: var(--cxw-text-dim); font-style: italic; }

/* fields */
.cxw-field { margin-bottom: 14px; }
.cxw-field > label {
  display: block; font-size: .64rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--cxw-gold); margin-bottom: 6px;
}
.cxw-field input[type="text"], .cxw-field textarea, .cxw-field select {
  width: 100%; box-sizing: border-box;
  background: #14100a; color: var(--cxw-text);
  border: 1px solid var(--cxw-line); border-radius: 8px;
  padding: 9px 11px; font-family: inherit; font-size: .88rem; line-height: 1.5;
}
.cxw-field textarea { resize: vertical; }
.cxw-field input:focus, .cxw-field textarea:focus, .cxw-field select:focus {
  outline: none; border-color: var(--cxw-line-strong);
}
.cxw-field input::placeholder, .cxw-field textarea::placeholder { color: var(--cxw-text-dim); }

/* chips inside the drawer */
.cxw-chiprow { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.cxw-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .74rem; padding: 3px 10px; border-radius: 999px;
  background: var(--cxw-panel-2); color: var(--cxw-text-soft);
  border: 1px solid var(--cxw-line);
}
.cxw-chip button { appearance: none; cursor: pointer; background: none; border: 0; color: var(--cxw-text-dim); font-size: .78rem; padding: 0; line-height: 1; }
.cxw-chip button:hover { color: #e08a8a; }
button.cxw-chip { font: inherit; cursor: pointer; }
.cxw-chip-link { color: var(--cxw-gold-bright); border-color: var(--cxw-line-strong); }
.cxw-chip-link:hover { background: rgba(201,162,74,.12); }
.cxw-arch-toggle { cursor: pointer; }
.cxw-arch-toggle input { accent-color: var(--cxw-gold); }

/* color label radio row */
.cxw-colorrow { display: flex; gap: 8px; }
.cxw-colorrow button {
  appearance: none; cursor: pointer; width: 24px; height: 24px; border-radius: 50%;
  border: 2px solid var(--cxw-line);
}
.cxw-colorrow button[aria-checked="true"] { border-color: var(--cxw-gold-bright); box-shadow: 0 0 0 2px rgba(244,200,103,.3); }

/* entity link picker */
.cxw-picker { position: relative; }
.cxw-picker input { width: 100%; box-sizing: border-box; background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line); border-radius: 8px; padding: 9px 11px; font-family: inherit; font-size: .85rem; }
.cxw-picker-results {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 40;
  background: var(--cxw-panel-2); border: 1px solid var(--cxw-line-strong); border-radius: 9px;
  overflow: hidden; box-shadow: 0 10px 26px rgba(0,0,0,.55);
}
.cxw-picker-results button {
  display: block; width: 100%; text-align: left; appearance: none; cursor: pointer;
  background: none; border: 0; border-bottom: 1px solid var(--cxw-line);
  color: var(--cxw-text); font-family: inherit; font-size: .82rem; padding: 9px 12px;
}
.cxw-picker-results button:last-child { border-bottom: 0; }
.cxw-picker-results button:hover { background: rgba(201,162,74,.1); }
.cxw-picker-type { font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; color: var(--cxw-gold); margin-right: 6px; }
.cxw-picker-results .cxw-picker-none { padding: 10px 12px; font-size: .8rem; color: var(--cxw-text-dim); font-style: italic; }

/* meta grid */
.cxw-meta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; font-size: .76rem; color: var(--cxw-text-dim); margin: 4px 0 0; }
.cxw-meta-grid dt { text-transform: uppercase; letter-spacing: .1em; font-size: .62rem; color: var(--cxw-gold); }
.cxw-meta-grid dd { margin: 2px 0 0; color: var(--cxw-text-soft); }

/* ── modals ────────────────────────────────────────────────────────────── */
.cxw-confirm-backdrop { position: fixed; inset: 0; z-index: 1300; background: rgba(6,4,2,.66); display: flex; align-items: center; justify-content: center; padding: 20px; }
.cxw-confirm {
  width: min(430px, 100%);
  background: linear-gradient(180deg, #1f1913, var(--cxw-panel));
  border: 1px solid var(--cxw-line-strong); border-radius: 12px; padding: 18px;
  box-shadow: 0 18px 50px rgba(0,0,0,.6);
}
.cxw-confirm h3 { margin: 0 0 8px; font-family: var(--font-display, "Cinzel", serif); font-size: .95rem; color: var(--cxw-gold-bright); }
.cxw-confirm p { margin: 0 0 16px; font-size: .86rem; color: var(--cxw-text-soft); line-height: 1.55; }
.cxw-confirm .cxw-confirm-actions { display: flex; gap: 8px; justify-content: flex-end; }
.cxw-confirm .cxw-field input, .cxw-confirm .cxw-field textarea { background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line); border-radius: 8px; width: 100%; box-sizing: border-box; padding: 9px 11px; font-family: inherit; }

/* convert modal: preview is a real parchment page */
.cxw-convert { width: min(580px, 100%); max-height: 88vh; overflow: auto; }
.cxw-radio { display: flex; align-items: baseline; gap: 8px; font-size: .85rem; color: var(--cxw-text); padding: 3px 0; cursor: pointer; }
.cxw-radio input { accent-color: var(--cxw-gold); flex: none; }
.cxw-secret-row { color: var(--cxw-text-soft); }
.cxw-secret-mark { font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; color: var(--cxw-crimson-line); font-weight: 700; }
.cxw-secret-warning {
  margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; font-size: .82rem;
  border: 1px solid var(--cxw-crimson-line);
  background: rgba(140,36,41,.18); color: #f0d9b8;
}
.cxw-cv-preview {
  border: 1px solid var(--cxw-parch-line); border-radius: 6px; padding: 14px 16px;
  background: linear-gradient(168deg, var(--cxw-parch), var(--cxw-parch-2));
  color: var(--cxw-ink);
  max-height: 230px; overflow: auto; font-size: .84rem; line-height: 1.55;
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 3px 8px rgba(0,0,0,.4);
}
.cxw-cv-preview h2 { margin: 0 0 8px; font-family: var(--font-display, "Cinzel", serif); font-size: 1rem; color: var(--cxw-ink); }
.cxw-cv-preview h3 { margin: 12px 0 4px; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: #6d1a1f; }
.cxw-cv-preview p, .cxw-cv-preview li { margin: 0 0 8px; color: var(--cxw-ink-soft); }
.cxw-cv-preview ol, .cxw-cv-preview ul { margin: 0 0 8px; padding-left: 20px; }

/* ── clue / step / branch editors (parchment slips in the drawer) ──────── */
.cxw-clue-row, .cxw-branch-row { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; }
.cxw-clue-state {
  flex: none; width: 108px; text-align: left; font-size: .66rem; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase;
  padding: 8px 8px; border-radius: 7px; cursor: pointer; font-family: inherit;
  background: var(--cxw-panel-2); color: var(--cxw-text-soft); border: 1px solid var(--cxw-line);
  transition: border-color .15s, color .15s;
}
.cxw-clue-state:hover { border-color: var(--cxw-line-strong); }
.cxw-clue-planted, .cxw-step-underway { color: var(--cxw-text); border-color: var(--cxw-line-strong); }
.cxw-clue-found, .cxw-step-done { color: var(--cxw-gold-bright); border-color: var(--cxw-gold); }
.cxw-clue-connected { color: var(--cxw-gold-bright); border-color: var(--cxw-gold-bright); background: rgba(201,162,74,.12); }
.cxw-clue-row input, .cxw-branch-row input {
  background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line);
  border-radius: 7px; padding: 8px 10px; font-family: inherit; font-size: .84rem;
}
.cxw-clue-row .cxw-clue-text { flex: 2 1 120px; min-width: 0; }
.cxw-clue-row .cxw-clue-where { flex: 1 1 80px; min-width: 0; }
.cxw-branch-row input { flex: 1 1 100px; min-width: 0; }
.cxw-clue-del {
  flex: none; appearance: none; background: none; border: 0; cursor: pointer;
  color: var(--cxw-text-dim); font-size: .85rem; padding: 4px;
}
.cxw-clue-del:hover { color: #e08a8a; }
.cxw-branch-likely {
  flex: none; appearance: none; cursor: pointer;
  background: var(--cxw-panel-2); border: 1px solid var(--cxw-line); border-radius: 7px;
  color: var(--cxw-text-dim); font-size: .8rem; padding: 6px 9px;
}
.cxw-branch-likely.active { color: var(--cxw-gold-bright); border-color: var(--cxw-gold); }

/* clue / step progress on cards (drawn ON parchment) */
.cxw-clue-progress { display: flex; align-items: center; gap: 10px; margin: 8px 0 2px; }
.cxw-clue-bar { flex: 1; height: 6px; border-radius: 999px; overflow: hidden; background: rgba(43,33,21,.18); }
.cxw-clue-fill { display: block; height: 100%; background: linear-gradient(90deg, #8c6a1f, #c9a24a); border-radius: 999px; transition: width .25s; }
.cxw-clue-nums { flex: none; font-size: .7rem; font-weight: 700; color: var(--cxw-ink-soft); }
.cxw-three-clue { margin: 6px 0 2px; font-size: .72rem; line-height: 1.45; color: #7a1f24; font-weight: 600; }
.cxw-agenda-next { margin: 4px 0 2px; font-size: .76rem; font-style: italic; color: var(--cxw-ink-soft); }

/* ── random tables ─────────────────────────────────────────────────────── */
.cxw-table-card .cxw-roll-btn { font-size: .74rem; padding: 5px 11px; background: rgba(43,33,21,.1); color: var(--cxw-ink); border: 1px solid rgba(43,33,21,.3); }
.cxw-table-card .cxw-roll-btn:hover { color: #6d1a1f; border-color: #6d1a1f; }
.cxw-roll-result {
  margin: 8px 0 2px; padding: 8px 10px; border-radius: 6px; font-size: .82rem; line-height: 1.5;
  background: rgba(255,252,240,.6); border: 1px dashed rgba(43,33,21,.35); color: var(--cxw-ink);
}
.cxw-roll-die {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 22px; padding: 0 4px; margin-right: 5px;
  border-radius: 5px; font-size: .72rem; font-weight: 800;
  background: var(--cxw-crimson); color: #f4e3ba; border: 1px solid var(--cxw-crimson-line);
}

/* ── session idea generator ────────────────────────────────────────────── */
.cxw-gen-panel { max-width: 780px; }
.cxw-gen-panel > .button-primary { margin: 6px 0 14px; }
.cxw-gen-idea {
  border-radius: 8px; padding: 6px 18px 16px;
  background: linear-gradient(168deg, var(--cxw-parch), var(--cxw-parch-2));
  border: 1px solid var(--cxw-parch-line); color: var(--cxw-ink);
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 4px 14px rgba(0,0,0,.5);
}
.cxw-gen-row { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid rgba(43,33,21,.16); }
.cxw-gen-row:last-of-type { border-bottom: 0; }
.cxw-gen-label {
  flex: none; width: 132px; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em;
  color: #6d1a1f;
}
.cxw-gen-text { flex: 1; font-size: .92rem; line-height: 1.55; color: var(--cxw-ink); }
.cxw-gen-reroll {
  flex: none; appearance: none; cursor: pointer;
  background: none; border: 1px solid rgba(43,33,21,.3); border-radius: 6px;
  color: var(--cxw-ink-soft); font-size: .85rem; padding: 2px 8px;
  transition: color .15s, border-color .15s;
}
.cxw-gen-reroll:hover { color: #6d1a1f; border-color: #6d1a1f; }
.cxw-gen-actions { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }

/* ── question prompts ──────────────────────────────────────────────────── */
.cxw-prompt-sets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.cxw-prompt-card {
  max-width: 740px; border-radius: 8px; padding: 22px 24px;
  background: linear-gradient(168deg, var(--cxw-parch), var(--cxw-parch-2));
  border: 1px solid var(--cxw-parch-line); color: var(--cxw-ink);
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 4px 14px rgba(0,0,0,.5);
}
.cxw-prompt-q {
  margin: 0 0 6px; font-family: var(--font-display, "Cinzel", serif);
  font-size: 1.08rem; line-height: 1.5; color: var(--cxw-ink);
}
.cxw-prompt-sets .cxw-tagchip { font-size: .78rem; padding: 6px 13px; border-radius: 8px; }

/* ── timeline sandbox: parchment event strips ──────────────────────────── */
.cxw-sandbox-list { display: flex; flex-direction: column; gap: 8px; max-width: 880px; }
.cxw-sandbox-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px; border-radius: 6px; cursor: pointer;
  background: linear-gradient(168deg, var(--cxw-parch), var(--cxw-parch-2));
  border: 1px solid var(--cxw-parch-line); color: var(--cxw-ink);
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 2px 7px rgba(0,0,0,.4);
  transition: transform .12s, box-shadow .12s;
}
.cxw-sandbox-row:hover, .cxw-sandbox-row:focus-visible {
  transform: translateY(-1px); outline: none;
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 5px 12px rgba(0,0,0,.5);
}
.cxw-sb-reorder { display: flex; flex-direction: column; gap: 2px; flex: none; }
.cxw-sb-reorder button {
  appearance: none; cursor: pointer;
  background: rgba(43,33,21,.08); border: 1px solid rgba(43,33,21,.28); border-radius: 4px;
  color: var(--cxw-ink-soft); font-size: .52rem; line-height: 1; padding: 3px 6px;
}
.cxw-sb-reorder button:hover:not(:disabled) { color: #6d1a1f; border-color: #6d1a1f; }
.cxw-sb-reorder button:disabled { opacity: .3; cursor: default; }
.cxw-sb-when { flex: none; width: 132px; font-size: .74rem; font-weight: 700; color: #6d1a1f; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxw-sb-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cxw-sb-main strong { color: var(--cxw-ink); font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxw-sb-excerpt { font-size: .76rem; color: var(--cxw-ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── connection web (6B: full spec) ────────────────────────────────────── */
.cxw-web-toolbar { align-items: stretch; }
.cxw-web-picker { flex: 1 1 220px; position: relative; }
.cxw-web-picker input { width: 100%; box-sizing: border-box; background: var(--cxw-panel); color: var(--cxw-text); border: 1px solid var(--cxw-line); border-radius: 9px; padding: 8px 12px; font-family: inherit; font-size: .84rem; }
.cxw-web-typebar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 2px 0 8px; }
.cxw-web-typebar .cxw-tagchip { opacity: .45; }
.cxw-web-typebar .cxw-tagchip.active { opacity: 1; }
.cxw-web-typebar .cxw-col-count { margin-left: 4px; }

.cxw-web-frame { display: flex; gap: 12px; align-items: stretch; }
.cxw-web-stage {
  position: relative; overflow: hidden; flex: 1; min-width: 0;
  min-height: 480px; height: 64vh; touch-action: none;
  border: 1px solid var(--cxw-line-strong); border-radius: 12px;
  background:
    radial-gradient(circle at 50% 42%, rgba(201,162,74,.05), transparent 55%),
    radial-gradient(rgba(201,162,74,.12) 1px, transparent 1px) 0 0 / 30px 30px,
    #100d08;
  cursor: grab;
}
.cxw-web-stage:active { cursor: grabbing; }
.cxw-web-world { position: absolute; left: 0; top: 0; width: 0; height: 0; transform-origin: 0 0; }
.cxw-web-svg { position: absolute; left: 0; top: 0; width: 4000px; height: 3000px; overflow: visible; }

.cxw-web-node {
  position: absolute; width: 150px; min-height: 44px; box-sizing: border-box;
  padding: 8px 11px 7px; border-radius: 8px; cursor: grab; user-select: none; touch-action: none;
  background: linear-gradient(168deg, var(--cxw-parch), var(--cxw-parch-2));
  border: 1px solid var(--cxw-parch-line);
  box-shadow: 0 1px 0 rgba(255,248,228,.5) inset, 0 3px 9px rgba(0,0,0,.55);
  transition: opacity .18s, box-shadow .18s;
}
.cxw-web-node:active { cursor: grabbing; }
.cxw-web-node:focus-visible { outline: 2px solid var(--cxw-gold-bright); outline-offset: 1px; }
.cxw-web-linkfrom { border-color: var(--cxw-gold-bright); box-shadow: 0 0 0 2px rgba(244,200,103,.5), 0 3px 9px rgba(0,0,0,.55); }
.cxw-web-selected { border-color: var(--cxw-crimson-line); box-shadow: 0 0 0 2px rgba(168,50,54,.55), 0 3px 9px rgba(0,0,0,.55); }
.cxw-web-hit { box-shadow: 0 0 0 2px var(--cxw-gold-bright), 0 3px 9px rgba(0,0,0,.55); }
.cxw-web-dimmed { opacity: .35; }
.cxw-web-filtered { opacity: .12; pointer-events: none; }
body.cxw-linking .cxw-web-node { cursor: crosshair; }
.cxw-web-label { display: block; font-size: .8rem; font-weight: 700; color: var(--cxw-ink); line-height: 1.3; word-break: break-word; }
.cxw-web-type { display: block; font-size: .56rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #6d1a1f; margin-top: 2px; }

/* zoom toolbar (left, like the mockup) */
.cxw-web-zoombar {
  position: absolute; left: 12px; top: 12px; z-index: 20;
  display: flex; flex-direction: column; gap: 6px;
}
.cxw-web-zoombar button {
  width: 34px; height: 34px; appearance: none; cursor: pointer;
  background: var(--cxw-panel-2); color: var(--cxw-text);
  border: 1px solid var(--cxw-line-strong); border-radius: 8px;
  font-size: .95rem; line-height: 1; font-family: inherit;
}
.cxw-web-zoombar button:hover { color: var(--cxw-gold-bright); border-color: var(--cxw-gold); }

/* legend (bottom-left, like the mockup) */
.cxw-web-legend {
  position: absolute; left: 12px; bottom: 12px; z-index: 20;
  display: flex; flex-direction: column; gap: 4px;
  background: rgba(19,16,9,.88); border: 1px solid var(--cxw-line); border-radius: 9px;
  padding: 9px 12px; font-size: .66rem; letter-spacing: .04em; color: var(--cxw-text-soft);
}
.cxw-web-legend span { display: flex; align-items: center; gap: 7px; }
.cxw-web-legend i { width: 14px; height: 3px; border-radius: 2px; display: inline-block; }

/* minimap (bottom-right, like the mockup) */
.cxw-web-minimap {
  position: absolute; right: 12px; bottom: 12px; z-index: 20; cursor: pointer;
  border: 1px solid var(--cxw-line-strong); border-radius: 8px;
}

/* inspector (right panel, like the mockup) */
.cxw-web-inspector {
  flex: 0 0 260px; max-width: 260px; overflow-y: auto;
  background: linear-gradient(180deg, #1e1812, var(--cxw-panel));
  border: 1px solid var(--cxw-line-strong); border-radius: 12px;
}
.cxw-ins-body { padding: 12px 14px; }
.cxw-ins-title { margin: 0 0 8px; font-family: var(--font-display, "Cinzel", serif); font-size: .98rem; color: var(--cxw-gold-bright); }
.cxw-web-inspector .cxw-status-pill { display: inline-block; margin-left: 0; background: rgba(201,162,74,.12); color: var(--cxw-text-soft); border-color: var(--cxw-line); }
.cxw-ins-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 4px; }
.cxw-ins-actions .button { font-size: .74rem; padding: 6px 10px; }
.cxw-ins-h {
  margin: 16px 0 8px; font-size: .64rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--cxw-gold);
  border-top: 1px solid var(--cxw-line); padding-top: 12px;
}
.cxw-ins-conns { display: flex; flex-direction: column; gap: 6px; }
.cxw-ins-conn {
  display: flex; align-items: center; gap: 9px; width: 100%; text-align: left;
  appearance: none; cursor: pointer; font-family: inherit;
  background: var(--cxw-panel-2); border: 1px solid var(--cxw-line); border-radius: 8px;
  padding: 8px 10px; color: var(--cxw-text);
}
.cxw-ins-conn:hover { border-color: var(--cxw-line-strong); }
.cxw-ins-conn i { flex: none; width: 4px; height: 26px; border-radius: 2px; }
.cxw-ins-conn-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cxw-ins-conn-main strong { font-size: .8rem; color: var(--cxw-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxw-ins-conn-main em { font-size: .68rem; font-style: normal; color: var(--cxw-text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxw-ins-conn-edit { flex: none; color: var(--cxw-text-dim); font-size: .78rem; padding: 3px; }
.cxw-ins-conn-edit:hover { color: var(--cxw-gold-bright); }

/* ── responsive ────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .cxw-drawer { width: 100vw; border-left: 0; }
  .cxw-col { flex-basis: 82vw; max-width: 82vw; }
}
@media (max-width: 640px) {
  .cxw-subnav { gap: 6px; }
  .cxw-subnav button { font-size: .76rem; padding: 6px 11px; }
  .cxw-toolbar .cxw-search { flex-basis: 100%; }
  .cxw-capture .cxw-cap-save { width: 100%; margin-left: 0; }
  .cxw-listgrid, .cxw-lib-grid { grid-template-columns: 1fr; }
  .cxw-vault-name { max-width: 55%; }
  .cxw-vault-meaning { display: none; }
  .cxw-clue-row, .cxw-branch-row { flex-wrap: wrap; }
  .cxw-clue-row .cxw-clue-text { flex-basis: 100%; order: -1; }
  .cxw-branch-row input { flex-basis: 100%; }
  .cxw-gen-row { flex-wrap: wrap; }
  .cxw-gen-label { width: auto; flex-basis: 100%; }
  .cxw-sb-when { display: none; }
  .cxw-ornament { display: none; }
  .cxw-tagline-rule { flex-basis: 60px; }
}

/* ── v69.6 · attachments ────────────────────────────────────────────────── */
.cxw-att-row { display: flex; align-items: center; gap: 9px; margin-bottom: 7px; }
.cxw-att-thumb {
  width: 40px; height: 40px; object-fit: cover; border-radius: 6px; flex: none;
  border: 1px solid var(--cxw-line-strong); background: #14100a;
}
.cxw-att-icon { flex: none; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 1rem; border: 1px solid var(--cxw-line); border-radius: 6px; }
.cxw-att-name { flex: 1; min-width: 0; font-size: .82rem; color: var(--cxw-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cxw-att-row .cxw-chip-link { flex: none; text-decoration: none; }

/* ── v69.6 · global quick capture ───────────────────────────────────────── */
.cxw-qc-btn {
  position: fixed; right: 22px; bottom: 22px; z-index: 1100;
  width: 52px; height: 52px; border-radius: 50%; cursor: pointer;
  font-size: 1.25rem; line-height: 1;
  background: linear-gradient(180deg, var(--cxw-crimson-hi, #8c2429), var(--cxw-crimson, #6d1a1f));
  border: 1px solid var(--cxw-crimson-line, #a83236);
  outline: 1px solid rgba(201,162,74,.4); outline-offset: -3px;
  color: #f4e3ba;
  box-shadow: 0 5px 16px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.1);
  transition: transform .15s, box-shadow .15s;
}
.cxw-qc-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.1); }
.cxw-qc { width: min(460px, 100%); }
@media (max-width: 640px) {
  .cxw-qc-btn { right: 14px; bottom: 74px; width: 46px; height: 46px; }
}

/* 6B responsive: inspector becomes a bottom sheet on narrow screens */
@media (max-width: 900px) {
  .cxw-web-frame { flex-direction: column; }
  .cxw-web-inspector { flex: none; max-width: none; max-height: 40vh; }
  .cxw-web-stage { height: 52vh; }
  .cxw-web-legend { display: none; }
}

/* ── v69.8 · 6C per-tool depth ──────────────────────────────────────────── */

/* clue blocks (mystery) */
.cxw-clue-block {
  border: 1px solid var(--cxw-line); border-radius: 9px; padding: 9px 10px; margin-bottom: 8px;
  background: rgba(0,0,0,.18);
  display: flex; flex-direction: column; gap: 6px;
}
.cxw-clue-block-top { display: flex; gap: 6px; align-items: center; }
.cxw-clue-block-top select {
  flex: 1 1 90px; min-width: 0;
  background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line);
  border-radius: 7px; padding: 6px 8px; font-family: inherit; font-size: .76rem;
}
.cxw-clue-block input { width: 100%; box-sizing: border-box; background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line); border-radius: 7px; padding: 7px 9px; font-family: inherit; font-size: .82rem; }
.cxw-clue-block-row { display: flex; gap: 6px; }
.cxw-clue-block-row input { flex: 1 1 60px; min-width: 0; }

/* guided prompts (lore) */
.cxw-guided { border: 1px solid var(--cxw-line); border-radius: 9px; padding: 0 12px 4px; margin-bottom: 14px; }
.cxw-guided summary {
  cursor: pointer; padding: 10px 0; font-size: .64rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--cxw-gold);
  display: flex; align-items: center; gap: 8px;
}
.cxw-guided[open] summary { border-bottom: 1px solid var(--cxw-line); margin-bottom: 12px; }

/* progress clocks (agenda) */
.cxw-clock-sizes { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cxw-clock-row { display: flex; align-items: center; gap: 8px; }
.cxw-clock-row .button { padding: 4px 10px; font-size: .85rem; }
.cxw-clock-pips { display: flex; gap: 4px; align-items: center; flex-wrap: wrap; }
.cxw-clock-pip {
  width: 15px; height: 15px; border-radius: 50%;
  border: 1px solid var(--cxw-line-strong); background: rgba(0,0,0,.3);
}
.cxw-clock-pip.filled { background: linear-gradient(180deg, var(--cxw-gold-bright), var(--cxw-gold)); border-color: var(--cxw-gold); }
.cxw-clock-count { font-size: .72rem; font-weight: 700; color: var(--cxw-text-soft); }
.cxw-clock-mini { margin: 8px 0 2px; }
.cxw-clock-mini .cxw-clock-pip { width: 11px; height: 11px; border-color: rgba(43,33,21,.4); background: rgba(43,33,21,.14); }
.cxw-clock-mini .cxw-clock-pip.filled { background: linear-gradient(180deg, #8c6a1f, #c9a24a); border-color: #8c6a1f; }
.cxw-clock-mini .cxw-clock-count { color: var(--cxw-ink-soft); }

/* branch planner (scenario) */
.cxw-branch-card { border: 1px solid var(--cxw-line); border-radius: 9px; padding: 9px 10px 10px; margin-bottom: 10px; background: rgba(0,0,0,.18); }
.cxw-branch-head { display: flex; gap: 6px; align-items: center; margin-bottom: 8px; }
.cxw-branch-head input {
  flex: 1; min-width: 0; background: #14100a; color: var(--cxw-gold-bright); font-weight: 700;
  border: 1px solid var(--cxw-line); border-radius: 7px; padding: 7px 9px; font-family: inherit; font-size: .84rem;
}
.cxw-branch-step { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 7px; }
.cxw-branch-step-n {
  flex: none; width: 20px; height: 20px; margin-top: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: .68rem; font-weight: 800; border-radius: 5px;
  background: var(--cxw-crimson); color: #f4e3ba; border: 1px solid var(--cxw-crimson-line);
}
.cxw-branch-step-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.cxw-branch-step-main input { width: 100%; box-sizing: border-box; background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line); border-radius: 7px; padding: 7px 9px; font-family: inherit; font-size: .82rem; }
.cxw-branch-step-row { display: flex; gap: 5px; }
.cxw-branch-step-row input:first-child { flex: 0 1 130px; }
.cxw-branch-step-row input:last-child { flex: 1; }
.cxw-branch-step-ctl { flex: none; display: flex; flex-direction: column; gap: 2px; }
.cxw-branch-step-ctl button {
  appearance: none; cursor: pointer; background: none; border: 1px solid var(--cxw-line);
  border-radius: 4px; color: var(--cxw-text-dim); font-size: .5rem; line-height: 1; padding: 3px 5px;
}
.cxw-branch-step-ctl button:hover:not(:disabled) { color: var(--cxw-gold-bright); border-color: var(--cxw-gold); }
.cxw-branch-step-ctl button:disabled { opacity: .3; cursor: default; }
.cxw-branch-card .cxw-add-inline { margin-top: 2px; }

/* world-state trackers */
.cxw-ws-row { display: flex; align-items: center; gap: 7px; margin-bottom: 7px; }
.cxw-ws-row input[type="text"] { flex: 0 1 120px; min-width: 0; background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line); border-radius: 7px; padding: 6px 8px; font-family: inherit; font-size: .8rem; }
.cxw-ws-row .button { padding: 3px 9px; font-size: .82rem; }
.cxw-ws-bar { flex: 1; }

/* timeline type badge on sandbox rows */
.cxw-ttype-tag { flex: none; background: rgba(109,26,31,.14); color: #6d1a1f; font-weight: 700; }

/* roll panel (table drawer) */
.cxw-roll-n { width: 62px; background: #14100a; color: var(--cxw-text); border: 1px solid var(--cxw-line); border-radius: 7px; padding: 7px 8px; font-family: inherit; }
.cxw-roll-results { margin: 10px 0 8px; padding-left: 22px; font-size: .84rem; line-height: 1.6; color: var(--cxw-text); }
.cxw-roll-results:empty { display: none; }

/* generator inputs + locks + sources */
.cxw-gen-inputs { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 12px; margin: 8px 0 12px; }
.cxw-gen-inputs label {
  display: flex; flex-direction: column; gap: 4px;
  font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cxw-gold);
}
.cxw-gen-inputs select, .cxw-gen-inputs input {
  background: var(--cxw-panel); color: var(--cxw-text); border: 1px solid var(--cxw-line);
  border-radius: 8px; padding: 8px 10px; font-family: var(--font-body, serif); font-size: .84rem;
  letter-spacing: normal; text-transform: none; font-weight: 400;
}
.cxw-gen-num {
  flex: none; width: 20px; height: 20px; margin-top: 2px;
  display: flex; align-items: center; justify-content: center;
  font-size: .66rem; font-weight: 800; border-radius: 50%;
  background: #2b2115; color: #e9dcbd;
}
.cxw-gen-lock {
  flex: none; appearance: none; cursor: pointer; background: none;
  border: 1px solid rgba(43,33,21,.3); border-radius: 6px;
  font-size: .72rem; padding: 2px 6px; color: var(--cxw-ink-soft);
}
.cxw-gen-lock.active { border-color: #6d1a1f; background: rgba(109,26,31,.1); }
.cxw-gen-sources { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(43,33,21,.16); }
.cxw-gen-sources-h { font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #6d1a1f; }
.cxw-gen-sources .cxw-chip { background: rgba(43,33,21,.1); color: var(--cxw-ink-soft); border-color: rgba(43,33,21,.28); }

@media (max-width: 640px) {
  .cxw-clue-block-row { flex-wrap: wrap; }
  .cxw-branch-step-row { flex-wrap: wrap; }
  .cxw-branch-step-row input:first-child { flex-basis: 100%; }
  .cxw-gen-inputs { grid-template-columns: 1fr; }
}

/* ── v70.0 · workshop close-out ─────────────────────────────────────────── */
.cxw-pm-list { max-height: 44vh; overflow-y: auto; display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.cxw-pm-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid var(--cxw-line); border-radius: 8px; background: var(--cxw-panel-2); font-size: .82rem; color: var(--cxw-text); }
.cxw-pm-row.off span { opacity: .4; text-decoration: line-through; }
.cxw-pm-row.custom { border-color: var(--cxw-gold); }
.cxw-pm-row .cxw-chip { flex: none; cursor: pointer; }
.cxw-sb-grouphead { margin: 18px 0 8px; }

/* ── v70.1 · drawer view mode ───────────────────────────────────────────── */
.cxw-drawer-view .cxw-drawer-body { padding-top: 6px; }
.cxw-vw-title { margin: 8px 0 10px; font-family: var(--font-display, "Cinzel", serif); font-size: 1.25rem; color: var(--cxw-gold-bright); line-height: 1.3; }
.cxw-vw-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 16px; }
.cxw-vw-block { margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--cxw-line); }
.cxw-vw-block:last-of-type { border-bottom: 0; }
.cxw-vw-block h4 { margin: 0 0 6px; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cxw-gold); }
.cxw-vw-block p { margin: 0 0 8px; font-size: .88rem; line-height: 1.65; color: var(--cxw-text); }
.cxw-vw-clues, .cxw-vw-steps { margin: 4px 0 0; padding-left: 20px; font-size: .85rem; line-height: 1.7; color: var(--cxw-text); }
.cxw-vw-clues li { margin-bottom: 6px; list-style: none; margin-left: -20px; }
.cxw-vw-clues .cxw-status-pill { margin: 0 6px 0 0; }
.cxw-vw-steps li.done { opacity: .6; text-decoration: line-through; }
.cxw-vw-steps li.underway { color: var(--cxw-gold-bright); }
.cxw-vw-ws-name { flex: 0 1 120px; font-size: .8rem; color: var(--cxw-text); }

/* ── v70.2 · card previews ──────────────────────────────────────────────── */
.cxw-card-more { margin: 7px 0 2px; display: flex; flex-direction: column; gap: 4px; }
.cxw-more-row { display: flex; gap: 7px; align-items: baseline; font-size: .76rem; line-height: 1.45; }
.cxw-more-l { flex: none; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #6d1a1f; padding-top: 1px; }
.cxw-more-t { color: var(--cxw-ink-soft); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cxw-sb-preview em { font-style: normal; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #6d1a1f; }

/* DM Workshop prep desk, grouped navigation and responsive editors. */
:root{--cxw-bg:#141716;--cxw-panel:#1c211f;--cxw-panel-2:#242b27;--cxw-line:rgba(204,215,201,.13);--cxw-line-strong:rgba(215,195,145,.32);--cxw-gold:#d4bb80;--cxw-gold-bright:#f0d9a5;--cxw-text:#ebece4;--cxw-text-soft:#b7bfb5;--cxw-text-dim:#98a394;--cxw-crimson:#31463a;--cxw-crimson-hi:#47614d;--cxw-crimson-line:#718674;--cxw-parch:#eee6d4;--cxw-parch-2:#e7dfcd;--cxw-parch-line:#c8bfa8;--cxw-ink:#302e26;--cxw-ink-soft:#57574b}
#page-workshop.cxw-refresh{padding:0!important;margin:24px auto!important;max-width:1600px;overflow:visible;background:#141816!important;background-image:radial-gradient(ellipse at 80% 0,rgba(105,123,91,.13),transparent 55%)!important;border:1px solid var(--cxw-line);border-radius:18px;color:var(--cxw-text);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;box-shadow:0 20px 70px #0003;--font-body:system-ui,-apple-system,'Segoe UI',sans-serif;--font-display:Georgia,serif}
#page-workshop.cxw-refresh h1,#page-workshop.cxw-refresh h2,#page-workshop.cxw-refresh h3{color:var(--cxw-text);text-transform:none;letter-spacing:normal}
#page-workshop.cxw-refresh button{font-family:inherit;letter-spacing:normal;text-transform:none}
#page-workshop .cxw-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 30px!important;margin:0!important;border:0;border-radius:18px 18px 0 0;background:transparent!important;border-bottom:1px solid var(--cxw-line)}
#page-workshop .cxw-header h1{font:32px/1.2 Georgia,serif;margin:9px 0 7px}
#page-workshop .cxw-header p{color:var(--cxw-text-soft);font:13px/1.5 system-ui,sans-serif;margin:0}
#page-workshop .cxw-eyebrow{font:10px/1.3 system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#c4b287}
.cxw-eyebrow>span{margin-left:12px;padding:4px 7px;border:1px solid var(--cxw-line);border-radius:4px;letter-spacing:.04em;color:#aec4ac;font-size:9px}
.cxw-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.cxw-page .button,.cxw-create-menu>summary{font:12px/1.4 system-ui,sans-serif;padding:10px 15px;border-radius:7px;box-shadow:none;outline:none;background:#252b26;color:#e3e7df;border:1px solid #525948}
.cxw-page .button-primary,.cxw-create-menu>summary.button-primary{background:#d7bf89;color:#1a211b;border:1px solid #d7bf89;font-weight:650;outline:none}
.cxw-page .button-primary:hover{background:#ead4a3;color:#1a211b}
#cxw-layout-toggle{font-size:11px;background:transparent;border-color:transparent;color:var(--cxw-text-dim)}
.cxw-create-menu{position:relative}.cxw-create-menu summary{cursor:pointer;list-style:none}.cxw-create-menu summary::-webkit-details-marker{display:none}
#cxw-create-options{position:absolute;right:0;top:calc(100% + 8px);width:230px;max-height:60vh;overflow:auto;padding:7px;background:#222a24;border:1px solid #68725d;border-radius:10px;z-index:100;box-shadow:0 15px 35px #0008}
#cxw-create-options button{display:block;width:100%;padding:9px 11px;text-align:left;border:0;border-radius:4px;background:transparent;color:#ecece2;font-size:12px}
#cxw-create-options button:hover,#cxw-create-options button:focus-visible{background:#384333}
.cxw-workspace{display:grid;grid-template-columns:214px minmax(0,1fr);align-items:start}
#cxw-mobile-tools{display:none}
#page-workshop .cxw-header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;row-gap:0}
#page-workshop .cxw-header>.cxw-eyebrow{grid-column:1;grid-row:1}
#page-workshop .cxw-header>h1{grid-column:1;grid-row:2}
#page-workshop .cxw-header>p{grid-column:1;grid-row:3}
#page-workshop .cxw-header>.cxw-header-actions{grid-column:2;grid-row:1/4}
#page-workshop.cxw-refresh>.cxw-header{border:0!important;border-bottom:1px solid var(--cxw-line)!important;border-radius:18px 18px 0 0!important}
#page-workshop #cxw-title{font:32px/1.2 Georgia,serif!important;margin:9px 0 7px!important}
#page-workshop #cxw-description{font:13px/1.5 system-ui,sans-serif!important;margin:0!important}
#page-workshop:not(.cxw-show-layout) .cx-blk-tools{display:none!important}
#cxw-subnav{display:block;margin:0;padding:17px 12px 24px;background:transparent!important;border:0;border-right:1px solid var(--cxw-line);border-radius:0;position:sticky;top:76px;max-height:calc(100vh - 95px);overflow:auto;scrollbar-width:thin;scrollbar-color:#4d5544 transparent}
#cxw-subnav button{display:flex;align-items:center;gap:9px;width:100%;margin:2px 0;padding:8px 10px;min-height:34px;border:1px solid transparent;border-radius:6px;text-align:left;background:transparent;color:#b8c0b4;font-size:11px;box-shadow:none;outline:none}
#cxw-subnav button.active{background:#344031;color:#eceddf;border-color:#657154}
#cxw-subnav button:hover{background:#293027;color:#f1e6cb}
.cxw-nav-icon{font-family:Georgia,serif;color:#b8a16f;font-size:16px;width:17px;text-align:center;flex:none}.cxw-nav-count{margin-left:auto;font-size:10px;color:#96a38f}
.cxw-nav-group h3{font:9px/1.4 system-ui,sans-serif!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:#858f80!important;margin:19px 10px 6px}
.cxw-nav-note{font:10px/1.6 system-ui,sans-serif;color:#a0ac96;margin:24px 10px 0;padding-top:16px;border-top:1px solid var(--cxw-line)}
.cxw-work-area{min-width:0;padding:29px 30px 32px}
.cxw-section-heading{display:flex;gap:20px;justify-content:space-between;align-items:start;margin:0 0 21px}
#cxw-section-eyebrow{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#b7a478}
#cxw-section-title{font:29px/1.2 Georgia,serif;margin:9px 0 8px}
#cxw-section-description{font:12px/1.65 system-ui,sans-serif;color:#a9b4a3;margin:0;max-width:630px}
.cxw-private-badge{font:10px/1.4 system-ui,sans-serif;white-space:nowrap;padding:7px 9px;color:#abbba5;border:1px solid #3c4939;border-radius:5px}
#cxw-status{font-family:system-ui,sans-serif;min-height:0;margin:0;background:transparent!important}#cxw-status:not(:empty){padding:10px;margin:0 0 14px;border:1px solid var(--cxw-line);border-radius:6px}
#cxw-root{min-width:0;background:transparent!important;border:0;padding:0;border-radius:0;color:var(--cxw-text)}
.cxw-desk-search{display:flex;gap:13px;align-items:center}.cxw-desk-search>label:first-child{display:flex;flex:1;min-width:0;align-items:center;border:1px solid #444c40;background:#111511;border-radius:7px;padding:0 12px}.cxw-search-icon{font:27px Georgia,serif;color:#9ca48c}
#cxw-desk-search{width:100%;min-width:0;border:0;outline:none;background:transparent;color:#eeeadd;padding:13px 10px;font:12px system-ui,sans-serif}
#cxw-desk-search::placeholder{color:#879281}.cxw-desk-search>label:focus-within{outline:2px solid #cbb47a;outline-offset:2px}
.cxw-archive-check{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;color:#a9b4a0;cursor:pointer}.cxw-archive-check input{accent-color:#9cb48d}
.cxw-desk-stats{display:flex;flex-wrap:wrap;gap:18px;padding:15px 0 23px;color:#8e9c85;font-size:10px}.cxw-desk-stats strong{color:#d7dccd;font-weight:550;margin-right:3px}.cxw-desk-stats>span:last-child{margin-left:auto}
.cxw-live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a3bf8d;margin-right:4px}
.cxw-desk-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.cxw-desk-section-title h3{font:18px Georgia,serif;margin:0}.cxw-desk-section-title>span{font-size:10px;color:#98a38e}
.cxw-desk-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}
.cxw-desk-entry{display:flex;flex-direction:column;gap:11px;text-align:left;min-width:0;width:100%;padding:19px!important;background:linear-gradient(125deg,#2b3329,#20271f)!important;border:1px solid #48503e!important;border-radius:10px;color:#eceddf!important;cursor:pointer;box-shadow:none;transition:border-color .15s,transform .15s}
.cxw-desk-entry:hover{border-color:#a89769!important;transform:translateY(-2px)}
.cxw-desk-entry:focus-visible,.cxw-page button:focus-visible,.cxw-page summary:focus-visible,.cxw-drawer button:focus-visible,.cxw-drawer summary:focus-visible{outline:2px solid #ddc997;outline-offset:3px}
.cxw-entry-type{font:9px/1.4 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#c6b583}
.cxw-desk-entry>strong{font:21px/1.28 Georgia,serif;color:#f1eddc}
.cxw-entry-excerpt{font:12px/1.6 system-ui,sans-serif;color:#b3bda8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cxw-entry-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid #ffffff12;font:9px system-ui,sans-serif;color:#929f86}.cxw-entry-bottom>span{color:#c2b486}.cxw-entry-bottom>span>span{margin-left:8px;font-size:15px}
.cxw-desk-attention{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:0 0 24px;padding:14px;background:#352e1d;border:1px solid #675932;border-radius:7px;color:#d9c692}.cxw-attention-symbol{font:27px Georgia,serif}.cxw-desk-attention>span:nth-child(2){flex:1}.cxw-desk-attention strong{display:block;font:12px/1.5 system-ui,sans-serif}.cxw-desk-attention span span{display:block;font:11px/1.5 system-ui,sans-serif;color:#b5ab8c;margin-top:2px}
.cxw-desk-recent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:24px}
.cxw-desk-row{background:#1c231b!important;padding:14px 16px!important;gap:7px}.cxw-desk-row>strong{font-size:16px}.cxw-desk-row .cxw-entry-excerpt{font-size:11px;-webkit-line-clamp:1}.cxw-desk-row .cxw-entry-bottom{font-size:9px;padding-top:8px}
.cxw-desk-start{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;background:linear-gradient(120deg,#292c21,#20251e);border:1px solid #484d37;border-radius:10px}.cxw-desk-start h3{font:22px Georgia,serif;margin:9px 0}.cxw-desk-start p{font-size:11px;color:#a7b19b;margin:0}.cxw-desk-start-buttons{display:flex;flex-direction:column;gap:7px;flex-shrink:0}.cxw-desk-start-buttons .button{font-size:11px;white-space:nowrap}
.cxw-tool-directory{margin-top:25px}.cxw-tool-directory>summary{display:flex;justify-content:space-between;cursor:pointer;padding:15px 0;color:#c4cbbb;font:12px system-ui,sans-serif;border-top:1px solid var(--cxw-line)}.cxw-tool-directory summary>span{color:#b7a478;font-size:10px}.cxw-tool-directory[open] .cxw-overview-grid{margin-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.cxw-tool-card h3{font:17px Georgia,serif}.cxw-tool-card p{font:12px/1.6 system-ui,sans-serif}.cxw-tool-card{background:#1e251c}.cxw-desk-empty{padding:25px;border:1px dashed #4c5643;border-radius:8px;color:#acb4a1;grid-column:1/-1;font-size:12px;line-height:1.7}
.cxw-searching .cxw-desk-pinned,.cxw-searching .cxw-desk-attention,.cxw-searching .cxw-desk-start,.cxw-searching .cxw-tool-directory{display:none}
.cxw-page .cxw-toolbar{margin-bottom:16px;gap:9px}.cxw-page .cxw-toolbar input,.cxw-page .cxw-toolbar select{font:12px system-ui,sans-serif;padding:11px}.cxw-page .cxw-toolbar select{max-width:100%}.cxw-tagbar:not(:empty)::before{font:9px system-ui,sans-serif;letter-spacing:.08em}.cxw-page .cxw-tagchip{font-size:10px;padding:5px 9px}
.cxw-board-view{display:flex;gap:0;border:1px solid #515b47;border-radius:6px;overflow:hidden}.cxw-board-view button{padding:8px 10px;background:transparent;color:#b7c1aa;border:0;font-size:11px}.cxw-board-view button[aria-pressed=true]{background:#46523a;color:#f1eddd}
.cxw-board{scrollbar-color:#5d654a #11160f;scrollbar-width:thin;gap:13px}.cxw-col{flex-basis:260px;max-width:260px;max-height:75vh;background:#1b2118}.cxw-col-head{padding:13px;background:transparent}.cxw-col-title{font:12px system-ui,sans-serif;letter-spacing:0}.cxw-card{padding:15px;border-radius:7px;box-shadow:0 2px 3px #0002}.cxw-card-title,.cxw-card .cxw-card-title{font:17px/1.35 Georgia,serif}.cxw-card-excerpt,.cxw-card-body{font:12px/1.6 system-ui,sans-serif}.cxw-card .cxw-tag{font:9px/1.4 system-ui,sans-serif}.cxw-col-foot{padding:10px}.cxw-add-inline{font-size:11px;padding:10px}.cxw-card-meta{gap:6px}
.cxw-board.cxw-board-list{display:block}.cxw-board-list-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--cxw-line)}.cxw-board-list-row>label{display:flex;flex-direction:column;gap:6px;font:9px system-ui,sans-serif;color:#adba9e}.cxw-board-list-row select{padding:10px;background:#293322;color:#e4ead8;border:1px solid #566348;border-radius:6px;font:12px system-ui,sans-serif}
.cxw-lib-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}.cxw-lib-cat{font-size:13px}.cxw-vault-row{padding:14px;font-size:14px}.cxw-vault-meaning{font-size:12px}.cxw-status-pill{font-size:9px}.cxw-web-stage{min-height:440px}
/* Retain every editor field, with reading space and secondary actions in a menu. */
#cxw-drawer-wrap{z-index:10000}
body[data-current-page="workshop"] .cxw-confirm-backdrop{z-index:10010}
#cxwf-save{background:#d6be83!important;color:#192114!important;border-color:#d6be83!important}
.cxw-confirm .cxw-radio{position:relative;display:block;padding:4px 0 4px 26px;margin:7px 0;font:12px/1.6 system-ui,sans-serif;letter-spacing:normal;text-transform:none;color:#d7e0ce;min-height:24px}
.cxw-confirm .cxw-radio input[type=checkbox],.cxw-confirm .cxw-radio input[type=radio]{position:absolute;left:0;top:6px;width:16px!important;height:16px!important;margin:0!important;padding:0!important;accent-color:#d6be83}
.cxw-confirm .cxw-radio .cxw-hint{display:block;font:10px/1.6 system-ui,sans-serif;color:#aebba0;letter-spacing:normal;text-transform:none}
.cxw-drawer-backdrop{background:#070d0b99;backdrop-filter:blur(5px)}
.cxw-drawer{width:min(760px,calc(100vw - 36px));right:18px;top:18px;bottom:18px;border:1px solid #647056;border-radius:15px;overflow:visible;background:#192219;color:#e5ebde;box-shadow:0 25px 90px #0009;font-family:system-ui,sans-serif;--font-body:system-ui,sans-serif;--font-display:Georgia,serif}
.cxw-drawer-head{padding:18px 25px;background:#242e21;border-radius:15px 15px 0 0}.cxw-drawer-kicker{font:11px system-ui,sans-serif;color:#cebd8b;letter-spacing:.11em}.cxw-drawer-close{width:34px;height:34px;color:#dfe5d4}
.cxw-drawer-body{padding:25px;overscroll-behavior:contain}.cxw-drawer-view .cxw-drawer-body{padding-top:23px}.cxw-vw-title{font:30px/1.3 Georgia,serif;color:#f2e9ce;margin:0 0 16px}.cxw-vw-block h4{font:10px system-ui,sans-serif;color:#c6b77c;letter-spacing:.1em}.cxw-vw-block p{font:15px/1.8 system-ui,sans-serif;color:#d2dbc9}.cxw-vw-block{padding-bottom:18px;margin-bottom:23px}
.cxw-field{margin-bottom:21px}.cxw-field>label{font:10px/1.4 system-ui,sans-serif;color:#bccbac;letter-spacing:.08em}.cxw-field input[type=text],.cxw-field textarea,.cxw-field select{font:14px/1.6 system-ui,sans-serif;padding:12px;background:#10190f;border-color:#48543d;color:#e8ecdf}.cxw-field textarea{min-height:110px}#cxwf-title{font:24px/1.4 Georgia,serif}.cxw-field .cxw-hint{font-size:11px;line-height:1.6}
.cxw-drawer-foot{padding:14px 24px;background:#242e21;border-radius:0 0 15px 15px;flex-wrap:nowrap;gap:12px}.cxw-drawer-foot .button{font:12px system-ui,sans-serif;padding:10px 14px;outline:none;box-shadow:none}.cxw-drawer-foot .button-primary{background:#d6be83;color:#192114;border-color:#d6be83}.cxw-drawer-foot>.cxw-chip{font:11px system-ui,sans-serif;padding:7px 9px}.cxw-dirty{font:10px system-ui,sans-serif;max-width:135px}.cxw-entry-actions{position:relative}.cxw-entry-actions summary{list-style:none;cursor:pointer;padding:9px 13px;color:#dae1cf;border:1px solid #556248;border-radius:6px;font:11px system-ui,sans-serif}.cxw-entry-actions>div{position:absolute;bottom:calc(100% + 12px);left:0;padding:6px;width:220px;max-height:50vh;overflow:auto;display:flex;flex-direction:column;gap:3px;background:#273021;border:1px solid #71815d;border-radius:8px;box-shadow:0 12px 35px #0008;z-index:3}.cxw-entry-actions .button{text-align:left;background:transparent;border:0}.cxw-entry-actions .button:hover{background:#3b472f}.cxw-entry-actions .button-danger{color:#efa49a}
.cxw-confirm{font-family:system-ui,sans-serif;background:#20291d}.cxw-confirm h3{font-family:Georgia,serif}.cxw-confirm p{font:13px/1.6 system-ui,sans-serif}.cxw-confirm input,.cxw-confirm textarea{font:14px/1.5 system-ui,sans-serif}
/* The campaign page-builder controls remain available behind Page layout. */
#page-workshop:not(.cxw-show-layout) .cx-insert-strip,#page-workshop:not(.cxw-show-layout) .wb-add-bar,#page-workshop:not(.cxw-show-layout) .cx-block-controls{display:none!important}
#page-workshop .cxw-workspace>.cx-insert-strip,#page-workshop .cxw-work-area>.cx-insert-strip{display:none!important}
#page-workshop.cxw-show-layout{outline:2px dashed #b79f6e}
body[data-current-page="workshop"] #content{padding-top:20px}
body[data-current-page="workshop"] #page-workshop.cxw-refresh{margin-top:0!important}
#page-workshop .cxw-header{padding-top:21px!important;padding-bottom:21px!important}
#cxw-subnav button{font-size:12px}
@media(min-width:1500px){.cxw-desk-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cxw-desk-recent{grid-template-columns:repeat(2,minmax(0,1fr))}.cxw-workspace{grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:1000px){.cxw-workspace{grid-template-columns:190px minmax(0,1fr)}.cxw-work-area{padding:23px 20px}#page-workshop .cxw-header{padding:24px!important}.cxw-desk-search{align-items:stretch;flex-direction:column}.cxw-archive-check{align-self:flex-end}.cxw-desk-stats>span:last-child{margin-left:0}.cxw-desk-start{align-items:start;flex-direction:column}.cxw-desk-start-buttons{flex-direction:row;flex-wrap:wrap}.cxw-private-badge{display:none}.cxw-desk-section-title>span{display:none}.cxw-desk-cards{grid-template-columns:1fr}.cxw-header-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){#page-workshop.cxw-refresh{margin:10px auto!important;border-radius:12px}#page-workshop .cxw-header{padding:20px!important;align-items:start;flex-direction:column;gap:15px}#page-workshop .cxw-header h1{font-size:29px}.cxw-header-actions{width:100%;justify-content:flex-start}#cxw-layout-toggle{margin-left:auto;order:3}.cxw-workspace{display:block}#cxw-subnav{position:static;max-height:230px;padding:12px;border-right:0;border-bottom:1px solid var(--cxw-line);display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}#cxw-subnav>button{grid-column:1/-1}#cxw-subnav .cxw-nav-note{display:none}.cxw-nav-group h3{margin-top:9px}.cxw-nav-group{min-width:0}#cxw-subnav button{font-size:10px;padding:7px}.cxw-nav-icon{width:13px}.cxw-work-area{padding:23px 18px}.cxw-desk-recent{grid-template-columns:1fr}.cxw-desk-stats{gap:10px}.cxw-desk-stats>span:last-child{flex-basis:100%}.cxw-section-heading{margin-bottom:17px}#cxw-section-title{font-size:26px}.cxw-tool-directory[open] .cxw-overview-grid{grid-template-columns:1fr}.cxw-tool-directory summary>span{display:none}.cxw-col{flex-basis:255px;max-width:255px}.cxw-toolbar #cxw-new-btn{margin-left:0}.cxw-board-list-row{grid-template-columns:1fr;gap:10px;padding:15px 0}.cxw-board-list-row>label{flex-direction:row;align-items:center;justify-content:space-between}.cxw-board-list-row select{width:70%}.cxw-drawer{width:100%;inset:0;border-radius:0}.cxw-drawer-head,.cxw-drawer-foot{border-radius:0;padding:13px 16px}.cxw-drawer-body{padding:20px}.cxw-drawer-foot{gap:6px;flex-wrap:wrap}.cxw-drawer-foot .cxw-foot-spacer{flex:1}.cxw-dirty{margin-left:auto}.cxw-vw-title{font-size:27px}.cxw-drawer-foot .button{padding:10px}.cxw-drawer-foot .cxw-entry-actions summary{padding:10px}.cxw-clue-block-row{flex-wrap:wrap}.cxw-desk-start{padding:18px}}
@media(prefers-reduced-motion:reduce){.cxw-desk-entry,.cxw-card{transition:none;transform:none!important}}
@media(max-width:700px){#page-workshop .cxw-header{grid-template-columns:minmax(0,1fr);gap:0}#page-workshop #cxw-title{font-size:29px!important}#page-workshop .cxw-header>.cxw-header-actions{grid-column:1;grid-row:4;margin-top:15px}}
@media(max-width:700px){#cxw-mobile-tools{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 24px);margin:12px;padding:12px;border:1px solid #58654d;border-radius:7px;background:#293325;color:#e9eadc;text-align:left;font:12px system-ui,sans-serif}#cxw-mobile-tools span{font-size:10px;color:#c3b384}#cxw-subnav{display:none;max-height:50vh}#page-workshop.cxw-mobile-nav-open #cxw-subnav{display:grid}.cxw-work-area{padding-top:13px}}
