/* Optional Content Engine v2 bundle. */

body.ce-active #app {
  height: 100vh;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

.ce-nav { border-color: rgba(34,211,170,.45); color: #b8fff0; }
.ce-topbar { position: sticky; top: 0; z-index: 30; }
.ce-mark { color: var(--accent2); font-size: 20px; }
.ce-title { font-size: 15px; }
.ce-phase {
  color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .55px;
  border: 1px solid var(--border); border-radius: 20px; padding: 2px 8px;
}

.ce-shell { max-width: 1560px; margin: 0 auto; padding: 24px; }
.ce-site-tabs { display: flex; gap: 8px; margin-bottom: 18px; flex-wrap: wrap; }
.ce-site-tab {
  display: inline-flex; gap: 8px; align-items: center; color: var(--muted);
  background: var(--panel); border: 1px solid var(--border); border-radius: 10px;
  padding: 8px 13px; cursor: pointer; font-size: 13px;
}
.ce-site-tab:hover { border-color: var(--border2); color: var(--text); }
.ce-site-tab.on { border-color: var(--accent); color: #fff; background: rgba(124,92,255,.12); }
.ce-site-tab.off { opacity: .65; }
.ce-site-tab small { font-size: 9px; text-transform: uppercase; letter-spacing: .4px; }
.ce-site-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent2); }
.ce-site-tab.off .ce-site-dot { background: var(--muted); }

.ce-empty {
  min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; background: var(--panel); border: 1px dashed var(--border2); border-radius: 16px;
  padding: 40px;
}
.ce-empty-icon { font-size: 38px; color: var(--accent2); margin-bottom: 14px; }
.ce-empty h2 { font-size: 20px; margin-bottom: 8px; }
.ce-empty p { color: var(--muted); font-size: 13.5px; max-width: 500px; line-height: 1.55; margin-bottom: 16px; }

.ce-research, .ce-board-section {
  background: var(--panel); border: 1px solid var(--border); border-radius: 15px;
  padding: 18px; margin-bottom: 20px; box-shadow: 0 8px 30px rgba(0,0,0,.15);
}
.ce-research.stale{border-color:rgba(245,158,11,.55);box-shadow:0 0 0 1px rgba(245,158,11,.12)}
.ce-section-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.ce-section-head > div:first-child { flex: 1; min-width: 0; }
.ce-section-head h2 { font-size: 17px; margin-bottom: 4px; }
.ce-section-head p { color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.ce-callout {
  color: #c9d0e3; font-size: 13px; line-height: 1.6; background: rgba(124,92,255,.09);
  border-left: 3px solid var(--accent); border-radius: 8px; padding: 10px 13px; margin-bottom: 14px;
}

.ce-warnings { display: grid; gap: 7px; margin-bottom: 14px; }
.ce-warning {
  display: flex; align-items: center; gap: 9px; font-size: 12.5px; line-height: 1.4;
  border: 1px solid rgba(245,158,11,.3); background: rgba(245,158,11,.08);
  border-radius: 9px; padding: 8px 11px;
}
.ce-warning strong {
  color: #f5b04b; font-size: 9px; text-transform: uppercase; letter-spacing: .5px;
}
.ce-warning.cannibalization { border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.08); }
.ce-warning.cannibalization strong { color: #f5b04b; }

.ce-summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-bottom: 14px; }
.ce-metric {
  min-width: 0; background: var(--bg2); border: 1px solid var(--border); border-radius: 10px;
  padding: 10px 12px; display: flex; flex-direction: column;
}
.ce-metric > span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.ce-metric > strong { color: #fff; font-size: 20px; line-height: 1.25; margin-top: 3px; }
.ce-metric > small { color: var(--muted); font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ce-synth {
  border: 1px solid rgba(34,211,170,.3); background: rgba(34,211,170,.06);
  border-radius: 11px; padding: 12px 14px; margin-bottom: 14px;
}
.ce-eyebrow {
  display: block; color: var(--accent2); font-size: 9px; text-transform: uppercase;
  letter-spacing: .7px; font-weight: 700; margin-bottom: 4px;
}
.ce-synth h3 { font-size: 14px; margin-bottom: 3px; }
.ce-synth p { color: var(--muted); font-size: 12.5px; line-height: 1.5; }

.ce-research-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
.ce-subpanel { background: var(--bg2); border: 1px solid var(--border); border-radius: 11px; padding: 12px; min-width: 0; }
.ce-subpanel > h3 { font-size: 13px; margin-bottom: 8px; }
.ce-cluster, .ce-near-row {
  display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--border);
  padding: 8px 0; font-size: 12.5px;
}
.ce-cluster:first-of-type, .ce-near-row:first-of-type { border-top: none; }
.ce-cluster .grow, .ce-near-row .grow { flex: 1; min-width: 0; }
.ce-cluster strong, .ce-near-row strong {
  display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.ce-cluster .sub, .ce-near-row .sub { color: var(--muted); font-size: 10.5px; margin-top: 2px; }

.ce-seed {
  display: grid; grid-template-columns: minmax(210px, .7fr) 1.3fr; gap: 12px 18px; align-items: center;
  background: #121620; border: 1px solid var(--border); border-radius: 11px; padding: 12px 14px;
}
.ce-seed p { color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.ce-seed-controls { display: flex; align-items: center; gap: 7px; min-width: 0; }
.ce-seed-controls input {
  flex: 1; min-width: 120px; background: var(--bg2); border: 1px solid var(--border);
  border-radius: 8px; padding: 8px 10px; outline: none;
}
.ce-seed-controls input:focus { border-color: var(--accent); }
.ce-seed-controls select {
  background: var(--bg2); border: 1px solid var(--border); border-radius: 8px; padding: 8px;
}
.ce-claim-result { grid-column: 2; min-height: 13px; color: var(--muted); font-size: 10.5px; }
.ce-claim-result.taken { color: #f5b04b; }
.ce-claim-result.clear { color: var(--accent2); }

.ce-columns { display: grid; grid-template-columns: repeat(5, minmax(220px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 6px; }
.ce-column {
  min-height: 230px; background: var(--bg2); border: 1px solid var(--border); border-radius: 11px;
  padding: 9px; min-width: 220px;
}
.ce-column-head {
  display: flex; align-items: center; gap: 8px; padding: 2px 3px 9px;
  font-size: 11px; text-transform: uppercase; letter-spacing: .5px;
}
.ce-column-head strong { flex: 1; }
.ce-column-head span {
  color: var(--muted); border: 1px solid var(--border); border-radius: 20px;
  min-width: 20px; padding: 1px 6px; text-align: center; font-size: 9px;
}
.ce-column-empty { color: var(--muted); font-size: 11px; text-align: center; padding: 34px 8px; opacity: .6; }

.ce-topic {
  width: 100%; display: block; text-align: left; color: var(--text); background: var(--panel);
  border: 1px solid var(--border); border-left: 3px solid var(--accent2); border-radius: 9px;
  padding: 10px; margin-bottom: 8px; cursor: pointer; font: inherit;
}
.ce-topic:hover { border-color: var(--border2); transform: translateY(-1px); }
.ce-topic.verdict-hold { border-left-color: #f59e0b; }
.ce-topic.verdict-fail { border-left-color: var(--danger); opacity: .82; }
.ce-topic-top { display: flex; align-items: center; gap: 6px; padding-bottom: 7px; border-bottom: 1px solid var(--border); }
.ce-score { font-size: 16px; color: #fff; }
.ce-mode { color: var(--muted); font-size: 9px; letter-spacing: .4px; }
.ce-verdict { margin-left: auto; font-size: 8.5px; letter-spacing: .5px; }
.ce-verdict.pass { color: var(--accent2); }
.ce-verdict.hold { color: #f5b04b; }
.ce-verdict.fail { color: #ff829d; }
.ce-keyword { font-size: 13px; font-weight: 750; margin: 9px 0 3px; overflow-wrap: anywhere; }
.ce-bet { font-size: 10.5px; color: #c8cee0; }
.ce-topic-title {
  color: var(--muted); font-size: 10.5px; line-height: 1.4; border-top: 1px solid var(--border);
  padding-top: 7px; margin-top: 8px; display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.ce-topic-meta { color: var(--muted); opacity: .72; font-size: 9px; margin-top: 5px; overflow-wrap: anywhere; }

.ce-rejected { margin-top: 12px; border-top: 1px solid var(--border); padding-top: 10px; }
.ce-rejected summary { color: var(--muted); font-size: 11px; cursor: pointer; }
.ce-rejected-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; margin-top: 10px; }
.ce-rejected-grid .ce-topic { margin: 0; }

.ce-topic-modal { width: 760px; }
.ce-modal-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.ce-provenance {
  color: var(--muted); font-size: 10.5px; background: var(--bg2);
  border: 1px solid var(--border); border-radius: 8px; padding: 7px 9px; margin-bottom: 14px;
}
.ce-modal-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.ce-modal-head h3 { font-size: 13px; flex: 1; }
.ce-modal-head span { color: var(--muted); font-size: 10px; }
.ce-gate-list { display: grid; gap: 6px; }
.ce-gate-row {
  display: grid; grid-template-columns: 32px 44px 1fr; gap: 8px; align-items: start;
  background: var(--bg2); border: 1px solid var(--border); border-left: 3px solid var(--accent2);
  border-radius: 8px; padding: 8px 9px; font-size: 11.5px;
}
.ce-gate-row.hold { border-left-color: #f59e0b; }
.ce-gate-row.fail { border-left-color: var(--danger); }
.ce-gate-state { color: var(--muted); font-size: 8.5px; line-height: 1.7; }
.ce-gate-row .grow { min-width: 0; }
.ce-gate-row code {
  display: block; color: var(--muted); background: transparent; font-size: 9px;
  padding: 0; margin-top: 3px; overflow-wrap: anywhere;
}

.ce-site-setting { border: 1px solid var(--border); background: var(--bg2); border-radius: 11px; padding: 12px; margin-bottom: 10px; }
.ce-setting-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.ce-setting-head strong { flex: 1; }
.ce-switch-label { color: var(--muted); font-size: 12px; display: flex; align-items: center; gap: 5px; }
.ce-gate-version { color: var(--muted); font: 9px ui-monospace, Menlo, monospace; }
.ce-thresholds { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ce-thresholds label { color: var(--muted); font-size: 10px; }
.ce-thresholds input {
  width: 100%; display: block; margin-top: 4px; background: var(--panel);
  border: 1px solid var(--border); border-radius: 7px; padding: 7px 8px; outline: none;
}
.ce-thresholds input:focus { border-color: var(--accent); }
.ce-setting-foot { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.ce-setting-foot .hint { flex: 1; }

@media (max-width: 920px) {
  .ce-summary-grid, .ce-modal-metrics { grid-template-columns: repeat(2, 1fr); }
  .ce-research-grid { grid-template-columns: 1fr; }
  .ce-seed { grid-template-columns: 1fr; }
  .ce-claim-result { grid-column: 1; }
  .ce-thresholds { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .ce-shell { padding: 14px; }
  .ce-phase { display: none; }
  .ce-section-head { flex-direction: column; }
  .ce-seed-controls { flex-wrap: wrap; }
  .ce-seed-controls input { flex-basis: 100%; }
}

.ce-error-card, .ce-receipt {
  display:flex;align-items:center;gap:9px;border:1px solid rgba(239,68,102,.45);
  background:rgba(239,68,102,.08);border-radius:10px;padding:11px 13px;margin-bottom:14px;
}
.ce-error-card .grow{flex:1}.ce-error-card p,.ce-receipt p{color:var(--muted);font-size:12px;margin-top:3px}
.ce-receipt{display:block;border-color:rgba(34,211,170,.35);background:rgba(34,211,170,.07);margin-top:14px}
.ce-run-history{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10.5px;margin:-5px 0 14px}
.ce-run-history select,.ce-board-controls select,.ce-status-select,.ce-article-actions select{
  background:var(--bg2);border:1px solid var(--border);border-radius:7px;padding:6px;color:var(--text)
}
.ce-run-history span:last-child{margin-left:auto}.ce-info{margin-left:auto;color:#f5b04b}
.ce-panel-copy,.ce-threshold-copy{font-size:11px;color:var(--muted);line-height:1.45;margin-bottom:7px}
.ce-threshold-copy{font-size:9.5px;padding:5px 7px;background:rgba(124,92,255,.08);border-radius:6px}
.ce-ratio{height:4px;background:var(--border);border-radius:5px;margin:5px 0;overflow:hidden}.ce-ratio span{display:block;height:100%;background:var(--accent2)}
.ce-chip{display:inline-block;border:1px solid var(--border2);border-radius:14px;padding:2px 7px;font-size:9px;margin:3px 4px 0 0}
.ce-chip.amber{color:#f5b04b;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
.ce-findings{margin:8px 0 8px 18px}.ce-findings li{font-size:11.5px;margin:5px 0}.ce-findings li span{color:var(--muted);margin-left:5px}
.ce-actions{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.ce-synth.fallback{border-color:rgba(245,158,11,.35)}
.ce-board-controls{display:flex;align-items:center;gap:12px;margin:-5px 0 12px}.ce-board-controls label{font-size:11px;color:var(--muted)}
.ce-legend{display:flex;gap:12px;margin-left:auto;font-size:9.5px}.ce-legend .pass{color:var(--accent2)}.ce-legend .hold{color:#f5b04b}.ce-legend .fail{color:#ff829d}
.ce-filter-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.ce-filter-chip{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:4px 9px;color:var(--muted);font-size:10px;cursor:pointer}.ce-filter-chip.on{border-color:var(--accent);color:#fff;background:rgba(124,92,255,.13)}
.ce-swimlane{border-top:1px solid var(--border);padding-top:10px;margin-top:12px}.ce-swimlane>h3{font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ce-card-open{display:block;width:100%;border:0;background:none;color:var(--text);font:inherit;text-align:left;font-size:13px;font-weight:750;margin:9px 0 5px;padding:0;cursor:pointer}
.ce-card-metrics{display:flex;flex-wrap:wrap;gap:3px 7px;font-size:9.5px}.ce-card-metrics .ok{color:#a7eadb}.ce-card-metrics .bad{color:#ff9fb3}
.ce-live-link{display:block;color:var(--accent2);font-size:9.5px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-no-url{color:var(--muted);font-size:9px;margin-top:6px}
.ce-status-select{width:100%;font-size:9.5px;margin-top:7px}
.ce-workspace-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:14px}.ce-workspace-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:8px 14px;cursor:pointer}.ce-workspace-tabs button.on{color:#fff;border-color:var(--accent2)}
.ce-pane{display:grid;gap:10px}.ce-pane>h3{font-size:13px;margin-top:8px}.ce-pane input,.ce-pane textarea{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:7px;padding:8px;color:var(--text)}
.ce-score-stack{display:flex;min-height:44px;border-radius:8px;overflow:hidden;align-items:stretch}.ce-score-stack>div{display:flex;align-items:center;justify-content:center;min-width:80px;font-size:9px;color:#fff}.ce-score-stack>strong{display:flex;align-items:center;padding:0 12px;background:var(--bg2)}
.ce-gate-row{grid-template-columns:32px 72px 1fr auto}.ce-override{grid-column:3/-1;display:flex;gap:6px}.ce-override input{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px;color:var(--text)}
.ce-siblings{display:flex;flex-wrap:wrap}.ce-article-actions{display:flex;gap:8px;align-items:center}.ce-editor-toolbar{display:flex;gap:5px;flex-wrap:wrap}.ce-editor{min-height:340px;background:#fff;color:#17191f;border-radius:8px;padding:24px;line-height:1.6;overflow:auto}.ce-editor img{max-width:100%;height:auto}.ce-article-pane label{font-size:10px;color:var(--muted)}.ce-article-pane label input,.ce-article-pane label textarea{margin-top:4px}.ce-article-pane .over{color:var(--danger)}.ce-word-count{font-size:10px;color:var(--muted)}
.ce-measure-empty{min-height:230px}.ce-glossary,.ce-how{color:var(--muted);line-height:1.55}.ce-glossary h3{color:var(--text);margin-top:12px}.ce-how{padding-left:20px}.ce-how li{margin:10px 0}
.ce-thresholds{grid-template-columns:repeat(3,1fr)}
@media(max-width:920px){.ce-board-controls,.ce-run-history{align-items:flex-start;flex-direction:column}.ce-legend,.ce-run-history span:last-child{margin-left:0;flex-wrap:wrap}.ce-gate-row{grid-template-columns:30px 68px 1fr}.ce-override{grid-column:1/-1}.ce-thresholds{grid-template-columns:1fr 1fr}}
