/* =====================================================================
   AGNUS · EDITORIAL DASHBOARD + CONTROL CENTER
   The engine room. Newsroom + SEO command center + AI research lab.
   Builds on agnus.css tokens (v1.0).
   ===================================================================== */
:root{
  --bg:#F8F7F4; --paper:#FCFBF8; --paper-warm:#F3F1EC; --paper-2:#ECE9E1;
  --char:#1C1B19; --char-2:#272522; --char-3:#2A2825;
  --ink:#1D1D1F; --ink-soft:#6E6B66; --ink-mute:#908D86; --ink-faint:#B8B4AB;
  --gold:#B28A42; --gold-deep:#8F6E32; --gold-mid:#C9A96A; --gold-light:#E7D6AE; --gold-soft:#FFF8EA;
  --gold-grad:linear-gradient(100deg,#8F6E32 0%,#E7D6AE 42%,#B28A42 70%,#E7D6AE 100%);
  --line:#E7E2D8; --line-soft:#F0ECE3; --line-strong:#DAD4C8; --line-dark:#393530;
  --success:#2E8B57; --pass:#2E8B57; --warn:#C67A00; --error:#B83C3C; --sapphire:#3E6AE1; --sapphire-soft:#ECF1FD;
  --graphite:#161513; --graphite-2:#201E1B; --graphite-3:#2A2724;
  --on-dark:#F5F4F1; --on-dark-soft:rgba(245,244,241,0.64); --on-dark-mute:rgba(245,244,241,0.42);
  --sh-1:0 1px 2px rgba(28,27,25,.05); --sh-2:0 18px 44px -28px rgba(28,27,25,.10); --sh-3:0 40px 80px -44px rgba(28,27,25,.16);
  --font-sans:'Manrope',system-ui,sans-serif; --font-mono:'IBM Plex Mono',monospace; --font-serif:'Newsreader',Georgia,serif;
  --sidebar-w:264px;
  --tex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}
*{ box-sizing:border-box; }
html,body{ margin:0; height:100%; }
body{ font-family:var(--font-sans); color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; overflow:hidden; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; color:inherit; cursor:pointer; }
::-webkit-scrollbar{ width:9px; height:9px; }
::-webkit-scrollbar-thumb{ background:rgba(0,0,0,0.14); border-radius:99px; }
.mono{ font-family:var(--font-mono); }

/* ── APP LAYOUT ─────────────────────────────────────────────────── */
.app{ display:grid; grid-template-columns:var(--sidebar-w) 1fr; height:100vh; }

/* ── SIDEBAR (deep graphite mission-control rail) ───────────────── */
.sidebar{ background:var(--graphite); color:var(--on-dark); display:flex; flex-direction:column; position:relative; isolation:isolate; border-right:1px solid var(--line-dark); }
.sidebar .sb-tex{ position:absolute; inset:0; z-index:0; background-image:var(--tex); background-size:200px; opacity:.05; mix-blend-mode:overlay; pointer-events:none; }
.sidebar > *{ position:relative; z-index:1; }
.sb-brand{ display:flex; align-items:center; gap:11px; padding:20px 22px 16px; border-bottom:1px solid var(--line-dark); }
.sb-brand .wm{ font-family:var(--font-sans); font-weight:800; font-size:21px; letter-spacing:0.14em; color:#fff; }
.sb-brand .badge{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-light); border:1px solid var(--line-dark); border-radius:5px; padding:3px 7px; margin-left:auto; }
.sb-scroll{ flex:1; overflow-y:auto; padding:14px 12px 20px; }
.sb-scroll::-webkit-scrollbar-thumb{ background:rgba(245,244,241,0.14); }
.sb-group{ margin-bottom:6px; }
.sb-gl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--on-dark-mute); padding:14px 12px 7px; }
.sb-item{ display:flex; align-items:center; gap:11px; width:100%; text-align:left; background:none; border:none; color:var(--on-dark-soft); font-size:13.5px; font-weight:500; letter-spacing:-0.01em; padding:9px 12px; border-radius:9px; transition:background .18s ease, color .18s ease; position:relative; }
.sb-item .ic{ width:18px; height:18px; flex:none; opacity:.8; }
.sb-item .ct{ margin-left:auto; font-family:var(--font-mono); font-size:10px; color:var(--on-dark-mute); background:rgba(245,244,241,0.07); border-radius:6px; padding:1px 7px; }
.sb-item:hover{ background:rgba(245,244,241,0.06); color:#fff; }
.sb-item.on{ background:rgba(245,244,241,0.09); color:#fff; }
.sb-item.on::before{ content:""; position:absolute; left:-12px; top:50%; transform:translateY(-50%); width:3px; height:20px; border-radius:0 3px 3px 0; background:var(--gold); }
.sb-item.on .ic{ opacity:1; color:var(--gold-light); }
.sb-divider{ height:1px; background:var(--line-dark); margin:12px 12px; }
.sb-foot{ padding:12px; border-top:1px solid var(--line-dark); }
.sb-user{ display:flex; align-items:center; gap:11px; padding:8px 12px; border-radius:10px; transition:background .18s ease; }
.sb-user:hover{ background:rgba(245,244,241,0.06); }
.sb-user .av{ width:34px; height:34px; border-radius:50%; background:var(--gold-grad); color:#241B07; display:grid; place-items:center; font-weight:800; font-size:13px; flex:none; }
.sb-user .nm{ font-size:13px; font-weight:600; color:#fff; }
.sb-user .rl{ font-family:var(--font-mono); font-size:10px; color:var(--on-dark-mute); }

/* ── MAIN COLUMN ────────────────────────────────────────────────── */
.main{ display:flex; flex-direction:column; min-width:0; height:100vh; }
.topbar{ display:flex; align-items:center; gap:18px; padding:0 30px; height:64px; flex:none; border-bottom:1px solid var(--line); background:rgba(252,251,248,0.82); backdrop-filter:saturate(180%) blur(18px); }
.topbar .tb-title{ font-weight:700; font-size:16px; letter-spacing:-0.02em; }
.topbar .tb-title small{ display:block; font-family:var(--font-mono); font-size:10.5px; font-weight:400; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-top:1px; }
.tb-search{ margin-left:auto; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:999px; padding:8px 16px; background:var(--paper); color:var(--ink-mute); min-width:280px; transition:border-color .2s ease, box-shadow .2s ease; }
.tb-search:focus-within{ border-color:var(--char); box-shadow:var(--sh-2); }
.tb-search svg{ width:16px; height:16px; flex:none; }
.tb-search input{ border:none; outline:none; background:none; font-family:var(--font-sans); font-size:13.5px; color:var(--ink); width:100%; }
.tb-search kbd{ font-family:var(--font-mono); font-size:10px; border:1px solid var(--line); border-radius:5px; padding:1px 6px; color:var(--ink-mute); }
.tb-icon{ width:38px; height:38px; border-radius:10px; border:1px solid var(--line); background:var(--paper); display:grid; place-items:center; color:var(--ink-soft); position:relative; transition:border-color .2s ease, color .2s ease; }
.tb-icon:hover{ border-color:var(--ink-faint); color:var(--ink); }
.tb-icon .dot{ position:absolute; top:8px; right:9px; width:7px; height:7px; border-radius:50%; background:var(--error); border:1.5px solid var(--paper); }
.tb-icon svg{ width:18px; height:18px; }

.stage{ flex:1; overflow-y:auto; }
.stage-in{ max-width:1240px; margin:0 auto; padding:30px 30px 80px; }
.stage.dark{ background:var(--graphite); }

/* ── pipeline full-height mode ── */
.stage.pipeline-mode{ overflow:hidden; display:flex; flex-direction:column; }
.stage.pipeline-mode .stage-in{ max-width:none; margin:0; padding:0; flex:1; display:flex; flex-direction:column; overflow:hidden; min-height:0; }

/* ── HEADERS / GENERIC ──────────────────────────────────────────── */
.page-h{ margin-bottom:26px; }
.page-h h1{ font-family:var(--font-sans); font-weight:700; font-size:clamp(26px,3vw,38px); letter-spacing:-0.035em; margin:0 0 6px; }
.page-h .greet{ font-family:var(--font-serif); font-weight:300; }
.page-h p{ font-size:15px; color:var(--ink-soft); margin:0; max-width:64ch; }
.eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:14px; }
.eyebrow .ix{ color:var(--gold); }
.sec-title{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:34px 0 16px; }
.sec-title h2{ font-family:var(--font-sans); font-weight:700; font-size:20px; letter-spacing:-0.025em; margin:0; }
.sec-title .link{ font-family:var(--font-mono); font-size:11.5px; color:var(--ink-soft); display:inline-flex; gap:6px; align-items:center; }
.sec-title .link:hover{ color:var(--gold-deep); }

.card{ background:var(--paper); border:1px solid var(--line); border-radius:16px; box-shadow:var(--sh-1); }
.row{ display:flex; align-items:center; gap:12px; }
.grow{ flex:1; }
.muted{ color:var(--ink-mute); }
.tiny{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.04em; }

/* chips / pills */
.pill{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:10px; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; border-radius:999px; padding:4px 10px; border:1px solid var(--line); color:var(--ink-soft); }
.pill.green{ color:var(--success); background:#EEF7F0; border-color:color-mix(in srgb,var(--success) 34%,transparent); }
.pill.gold{ color:#A2762C; background:#FFF8EA; border-color:#D9BF84; }
.pill.blue{ color:var(--sapphire); background:var(--sapphire-soft); border-color:color-mix(in srgb,var(--sapphire) 30%,transparent); }
.pill.red{ color:var(--error); background:#FBEEEE; border-color:color-mix(in srgb,var(--error) 30%,transparent); }
.pill.warn{ color:var(--warn); background:#FBF1E2; border-color:color-mix(in srgb,var(--warn) 30%,transparent); }
.pill.dark{ color:#fff; background:var(--char); border-color:var(--char); }
.pill.ghost{ background:transparent; }

/* buttons */
.b{ display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:10px; font-weight:600; font-size:13.5px; letter-spacing:-0.01em; padding:10px 16px; border:1px solid transparent; transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.b:active{ transform:translateY(1px); }
.b-dark{ background:var(--char); color:#fff; }
.b-dark:hover{ background:var(--char-3); }
.b-gold{ background:var(--gold); color:#241B07; }
.b-gold:hover{ background:var(--gold-mid); }
.b-line{ border-color:var(--line); color:var(--ink); background:var(--paper); }
.b-line:hover{ border-color:var(--char); }
.b-ghost{ color:var(--ink-soft); }
.b-ghost:hover{ background:var(--paper-2); color:var(--ink); }
.b-sm{ padding:7px 12px; font-size:12.5px; border-radius:8px; }
.b-block{ width:100%; }

/* meters */
.meter{ height:7px; border-radius:999px; background-color:var(--paper-2); background-image:var(--gold-grad); background-repeat:no-repeat; background-position:left center; background-size:0% 100%; overflow:hidden; transition:background-size .9s cubic-bezier(.2,.8,.2,1); }
.meter .fill{ display:none; }
.meter.green{ background-image:linear-gradient(90deg,var(--success),#7CCFA0); }
.meter.blue{ background-image:linear-gradient(90deg,var(--sapphire),#86A6F2); }
.meter.thin{ height:5px; }

/* ── DASHBOARD HOME ─────────────────────────────────────────────── */
.home-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:22px; align-items:start; }
.priorities{ background:var(--graphite); color:#fff; border-radius:18px; padding:26px 28px; position:relative; overflow:hidden; isolation:isolate; }
.priorities .tx{ position:absolute; inset:0; z-index:0; background-image:var(--tex); background-size:200px; opacity:.05; mix-blend-mode:overlay; }
.priorities .glow{ position:absolute; inset:0; z-index:0; background:radial-gradient(70% 80% at 90% 0%, rgba(178,138,66,0.18), transparent 60%); }
.priorities > *{ position:relative; z-index:1; }
.priorities .ph{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:18px; }
.prio{ display:flex; align-items:flex-start; gap:14px; padding:14px 0; border-top:1px solid rgba(245,244,241,0.1); }
.prio:first-of-type{ border-top:none; }
.prio .n{ width:24px; height:24px; border-radius:7px; background:rgba(245,244,241,0.08); display:grid; place-items:center; font-family:var(--font-mono); font-size:11px; color:var(--gold-light); flex:none; margin-top:1px; }
.prio .pt{ flex:1; font-size:14.5px; color:rgba(245,244,241,0.9); line-height:1.4; }
.prio .pt b{ color:#fff; font-weight:700; }
.prio .go{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.prio:hover .go{ color:var(--gold-light); }

.metrics{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.metric{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 20px; box-shadow:var(--sh-1); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; }
.metric:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.metric .ml{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.metric .mv{ font-family:var(--font-sans); font-weight:800; font-size:30px; letter-spacing:-0.04em; margin-top:8px; line-height:1; }
.metric .md{ font-family:var(--font-mono); font-size:11px; margin-top:7px; }
.metric .md .up{ color:var(--success); }
.metric .md .dn{ color:var(--error); }

/* ── INTELLIGENCE FEED ──────────────────────────────────────────── */
.feed{ display:grid; gap:14px; }
.story{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px 24px; box-shadow:var(--sh-1); transition:border-color .25s ease, box-shadow .25s ease; }
.story:hover{ border-color:var(--line-strong); box-shadow:var(--sh-2); }
.story-top{ display:flex; align-items:center; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.src{ display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:11px; color:var(--ink-soft); }
.src .lo{ width:18px; height:18px; border-radius:5px; background:var(--char); color:#fff; display:grid; place-items:center; font-size:9px; font-weight:700; }
.story h3{ font-family:var(--font-sans); font-weight:700; font-size:19px; letter-spacing:-0.025em; margin:0 0 14px; }
.story-stats{ display:flex; gap:24px; flex-wrap:wrap; margin-bottom:16px; }
.sstat{ }
.sstat .l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); }
.sstat .v{ font-size:14px; font-weight:700; margin-top:3px; display:flex; align-items:center; gap:6px; }
.story-rec{ font-size:13px; color:var(--ink-soft); margin-bottom:16px; }
.story-rec b{ color:var(--ink); font-weight:600; }
.story-act{ display:flex; gap:10px; flex-wrap:wrap; }

/* ── KEYWORD DISCOVERY ──────────────────────────────────────────── */
.kw-filters{ display:flex; gap:9px; flex-wrap:wrap; margin-bottom:22px; }
.kw-filter{ font-size:12.5px; font-weight:500; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:8px 14px; background:var(--paper); transition:all .18s ease; }
.kw-filter:hover{ border-color:var(--ink-faint); }
.kw-filter.on{ background:var(--char); color:#fff; border-color:var(--char); }
.kw-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.kw{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--sh-1); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; }
.kw:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.kw-top{ display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:16px; }
.kw-top h3{ font-family:var(--font-mono); font-weight:500; font-size:16px; letter-spacing:-0.01em; margin:0; color:var(--ink); }
.kw-score{ text-align:center; flex:none; }
.kw-score .n{ font-family:var(--font-sans); font-weight:800; font-size:26px; letter-spacing:-0.04em; line-height:1; }
.kw-score .n.hi{ color:var(--success); } .kw-score .n.mid{ color:var(--warn); }
.kw-score .l{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-top:3px; }
.kw-attrs{ display:grid; grid-template-columns:1fr 1fr; gap:9px 18px; margin-bottom:16px; }
.kw-attr{ display:flex; justify-content:space-between; font-size:12.5px; }
.kw-attr .k{ color:var(--ink-mute); }
.kw-attr .v{ font-weight:600; }
.kw-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--line-soft); }
.kw-cluster{ font-family:var(--font-mono); font-size:11px; color:var(--ink-soft); }

/* opportunity breakdown */
.opp{ background:var(--graphite); color:#fff; border-radius:18px; padding:26px 28px; margin-bottom:24px; position:relative; overflow:hidden; isolation:isolate; }
.opp .tx{ position:absolute; inset:0; z-index:0; background-image:var(--tex); background-size:200px; opacity:.05; mix-blend-mode:overlay; }
.opp > *{ position:relative; z-index:1; }
.opp h3{ font-family:var(--font-sans); font-weight:700; font-size:18px; letter-spacing:-0.02em; margin:0 0 4px; color:#fff; }
.opp .sub{ font-family:var(--font-mono); font-size:12px; color:var(--on-dark-soft); margin-bottom:20px; }
.opp-bars{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px 36px; }
.opp-bar .ob-top{ display:flex; justify-content:space-between; font-size:12.5px; margin-bottom:7px; }
.opp-bar .ob-top .k{ color:var(--on-dark-soft); }
.opp-bar .ob-top .v{ font-family:var(--font-mono); color:var(--gold-light); font-weight:600; }
.opp-final{ display:flex; align-items:baseline; gap:12px; margin-top:22px; padding-top:20px; border-top:1px solid rgba(245,244,241,0.1); }
.opp-final .n{ font-family:var(--font-sans); font-weight:800; font-size:40px; letter-spacing:-0.04em; color:var(--gold-light); line-height:1; }
.opp-final .l{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-soft); }

/* ── TOPIC CLUSTERS ─────────────────────────────────────────────── */
.clusters{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cluster{ background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--sh-1); }
.cluster-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }
.cluster-top h3{ font-family:var(--font-sans); font-weight:700; font-size:18px; letter-spacing:-0.025em; margin:0; }
.pillar{ display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:11px; background:var(--gold-soft); border:1px solid #E8DCBE; margin:14px 0; }
.pillar .ic{ color:var(--gold-deep); }
.pillar .pt{ font-size:13.5px; font-weight:700; }
.pillar .pl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); }
.supports{ display:grid; gap:7px; margin-bottom:16px; }
.support{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); padding:4px 0; }
.support .st{ width:16px; height:16px; border-radius:5px; display:grid; place-items:center; font-size:9px; flex:none; }
.support .st.done{ background:#EEF7F0; color:var(--success); }
.support .st.todo{ background:var(--paper-2); color:var(--ink-faint); }
.cluster-stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px 18px; padding-top:16px; border-top:1px solid var(--line-soft); }
.cstat{ display:flex; justify-content:space-between; font-size:12.5px; }
.cstat .k{ color:var(--ink-mute); } .cstat .v{ font-weight:600; }

/* ── KANBAN PIPELINE ────────────────────────────────────────────── */
.kanban{ display:flex; gap:16px; overflow-x:auto; padding-bottom:18px; }
.kcol{ flex:0 0 290px; background:var(--paper-warm); border:1px solid var(--line); border-radius:14px; padding:12px; display:flex; flex-direction:column; max-height:calc(100vh - 240px); }
.kcol-h{ display:flex; align-items:center; gap:8px; padding:6px 8px 12px; }
.kcol-h .dot{ width:8px; height:8px; border-radius:50%; }
.kcol-h .t{ font-weight:700; font-size:13px; letter-spacing:-0.01em; }
.kcol-h .c{ margin-left:auto; font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); }
.kcol-body{ display:grid; gap:10px; overflow-y:auto; padding:2px; }
.kcard{ background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px; box-shadow:var(--sh-1); transition:transform .2s ease, box-shadow .2s ease; }
.kcard:hover{ transform:translateY(-2px); box-shadow:var(--sh-2); }
.kcard h4{ font-size:13.5px; font-weight:700; letter-spacing:-0.015em; margin:0 0 9px; line-height:1.3; }
.kcard .kkw{ font-family:var(--font-mono); font-size:10.5px; color:var(--sapphire); margin-bottom:10px; }
.kcard-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.kcard-foot{ display:flex; align-items:center; justify-content:space-between; padding-top:10px; border-top:1px solid var(--line-soft); }
.kcard-foot .av{ width:24px; height:24px; border-radius:50%; background:var(--char); color:#fff; display:grid; place-items:center; font-size:10px; font-weight:700; }
.kcard-foot .seo{ font-family:var(--font-mono); font-size:10.5px; color:var(--ink-mute); }
.kcard-foot .seo b{ color:var(--success); }

/* ── AI WRITER (3 column) ───────────────────────────────────────── */
.writer{ display:grid; grid-template-columns:230px 1fr 320px; gap:18px; height:calc(100vh - 200px); }
.w-col{ background:var(--paper); border:1px solid var(--line); border-radius:14px; display:flex; flex-direction:column; overflow:hidden; }
.w-col-h{ padding:14px 16px; border-bottom:1px solid var(--line); font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-mute); display:flex; align-items:center; gap:8px; }
.w-col-body{ flex:1; overflow-y:auto; padding:14px 16px; }
.outline-item{ font-size:13px; color:var(--ink-soft); padding:8px 10px; border-radius:8px; border-left:2px solid transparent; transition:background .18s ease; }
.outline-item:hover{ background:var(--paper-2); }
.outline-item.on{ color:var(--ink); font-weight:600; border-left-color:var(--gold); background:var(--gold-soft); }
.outline-item.sub{ padding-left:22px; font-size:12px; }
.editor-doc{ max-width:640px; }
.editor-doc h1{ font-family:var(--font-sans); font-weight:700; font-size:30px; letter-spacing:-0.03em; margin:0 0 12px; }
.editor-doc .ed-meta{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); margin-bottom:22px; display:flex; gap:14px; flex-wrap:wrap; }
.editor-doc h2{ font-family:var(--font-sans); font-weight:700; font-size:20px; letter-spacing:-0.02em; margin:26px 0 10px; }
.editor-doc p{ font-size:15px; line-height:1.7; color:var(--ink); margin:0 0 14px; }
.editor-doc p .il{ color:var(--sapphire); border-bottom:1px solid color-mix(in srgb,var(--sapphire) 40%,transparent); }
.ai-act{ display:flex; flex-direction:column; gap:8px; }
.ai-act .grp-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); margin:12px 0 2px; }
.ai-btn{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; background:var(--paper); border:1px solid var(--line); border-radius:9px; padding:10px 12px; font-size:13px; color:var(--ink); transition:border-color .18s ease, background .18s ease; }
.ai-btn:hover{ border-color:var(--gold); background:var(--gold-soft); }
.ai-btn .ic{ color:var(--gold-deep); width:15px; height:15px; }
/* research panel sources */
.rsrc{ display:flex; align-items:flex-start; gap:10px; padding:11px 0; border-top:1px solid var(--line-soft); }
.rsrc:first-child{ border-top:none; }
.rsrc .rt{ flex:1; }
.rsrc .rt .rn{ font-size:13px; font-weight:600; letter-spacing:-0.01em; }
.rsrc .rt .ru{ font-family:var(--font-mono); font-size:10.5px; color:var(--ink-mute); }

/* trust labels */
.trust{ font-family:var(--font-mono); font-size:9px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; border-radius:5px; padding:3px 7px; flex:none; }
.trust.official{ color:#fff; background:var(--char); }
.trust.high{ color:var(--success); background:#EEF7F0; }
.trust.community{ color:var(--sapphire); background:var(--sapphire-soft); }
.trust.opinion{ color:var(--warn); background:#FBF1E2; }
.trust.low{ color:var(--ink-mute); background:var(--paper-2); }

/* ── INTERNAL LINKING / CHECKLIST (shared list) ─────────────────── */
.linklist{ display:grid; gap:12px; }
.linkrec{ display:flex; gap:14px; padding:16px; border:1px solid var(--line); border-radius:13px; background:var(--paper); box-shadow:var(--sh-1); }
.linkrec .ln{ width:26px; height:26px; border-radius:8px; background:var(--sapphire-soft); color:var(--sapphire); display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:600; flex:none; }
.linkrec .lt{ flex:1; }
.linkrec .lt .lh{ font-size:14px; font-weight:700; letter-spacing:-0.015em; }
.linkrec .lt .anchor{ font-family:var(--font-mono); font-size:11.5px; color:var(--sapphire); margin:3px 0; }
.linkrec .lt .lr{ font-size:12px; color:var(--ink-mute); }

.checklist{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.check{ display:flex; align-items:center; gap:12px; padding:13px 18px; background:var(--paper); font-size:13.5px; }
.check .cb{ width:20px; height:20px; border-radius:6px; display:grid; place-items:center; font-size:11px; flex:none; }
.check .cb.y{ background:#EEF7F0; color:var(--success); }
.check .cb.n{ background:#FBF1E2; color:var(--warn); }

/* score ring */
.qscore{ display:flex; align-items:center; gap:18px; background:var(--graphite); color:#fff; border-radius:16px; padding:22px 26px; }
.qscore .ring{ --p:91; width:76px; height:76px; border-radius:50%; flex:none; display:grid; place-items:center; background:conic-gradient(var(--gold) calc(var(--p)*1%), rgba(245,244,241,0.12) 0); position:relative; }
.qscore .ring::before{ content:""; position:absolute; inset:7px; border-radius:50%; background:var(--graphite); }
.qscore .ring .rn{ position:relative; font-family:var(--font-sans); font-weight:800; font-size:22px; letter-spacing:-0.04em; color:var(--gold-light); }
.qscore .qt h4{ margin:0 0 4px; font-size:16px; font-weight:700; color:#fff; }
.qscore .qt p{ margin:0; font-size:13px; color:var(--on-dark-soft); }

/* ── CALENDAR ───────────────────────────────────────────────────── */
.cal{ display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.cal-hd{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); text-align:center; padding-bottom:6px; }
.cal-day{ min-height:104px; background:var(--paper); border:1px solid var(--line); border-radius:11px; padding:9px; display:flex; flex-direction:column; gap:5px; }
.cal-day.dim{ background:var(--paper-warm); opacity:.6; }
.cal-day .dn{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); }
.cal-day.today .dn{ color:var(--gold-deep); font-weight:600; }
.cal-ev{ font-size:10.5px; font-weight:600; border-radius:6px; padding:4px 7px; line-height:1.25; }
.cal-ev.published{ background:#EEF7F0; color:var(--success); }
.cal-ev.scheduled{ background:var(--sapphire-soft); color:var(--sapphire); }
.cal-ev.draft{ background:var(--paper-2); color:var(--ink-soft); }
.cal-ev.update{ background:#FBF1E2; color:var(--warn); }

/* gaps alert */
.gap-alert{ display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border:1px solid color-mix(in srgb,var(--warn) 32%,transparent); background:#FBF7EF; border-radius:12px; font-size:13.5px; color:var(--ink); }
.gap-alert .ic{ color:var(--warn); flex:none; }

/* ── ANALYTICS ──────────────────────────────────────────────────── */
.an-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }
.an-table{ width:100%; border-collapse:collapse; background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.an-table th{ text-align:left; font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); padding:13px 16px; border-bottom:1px solid var(--line); font-weight:500; }
.an-table td{ padding:14px 16px; border-bottom:1px solid var(--line-soft); font-size:13.5px; }
.an-table tr:last-child td{ border-bottom:none; }
.an-table tr:hover td{ background:var(--paper-warm); }
.bscore{ display:inline-flex; gap:3px; }
.bscore i{ width:7px; height:14px; border-radius:2px; background:var(--paper-2); }
.bscore i.on{ background:var(--gold); }

/* ── AFFILIATE ──────────────────────────────────────────────────── */
.aff-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.aff{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:20px; box-shadow:var(--sh-1); }
.aff-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.aff h3{ font-size:16px; font-weight:700; letter-spacing:-0.02em; margin:0; }
.aff .rev{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.04em; color:var(--success); margin:10px 0 4px; }
.aff-rows{ display:grid; gap:7px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line-soft); }
.aff-row{ display:flex; justify-content:space-between; font-size:12.5px; }
.aff-row .k{ color:var(--ink-mute); } .aff-row .v{ font-weight:600; }

/* ── CONTROL CENTER ─────────────────────────────────────────────── */
.cc{ display:grid; grid-template-columns:230px 1fr; gap:26px; }
.cc-nav{ position:sticky; top:0; align-self:start; }
.cc-group{ margin-bottom:18px; }
.cc-gl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-faint); padding:0 12px 8px; }
.cc-item{ display:block; width:100%; text-align:left; background:none; border:none; color:var(--ink-soft); font-size:13px; font-weight:500; padding:8px 12px; border-radius:8px; transition:background .16s ease, color .16s ease; }
.cc-item:hover{ background:var(--paper-2); color:var(--ink); }
.cc-item.on{ background:var(--char); color:#fff; }
.cc-panel-h{ margin-bottom:22px; }
.cc-panel-h h2{ font-family:var(--font-sans); font-weight:700; font-size:26px; letter-spacing:-0.03em; margin:0 0 6px; }
.cc-panel-h p{ font-size:14px; color:var(--ink-soft); margin:0; max-width:60ch; }

/* AI personalities */
.persona-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.persona{ background:var(--paper); border:1px solid var(--line); border-radius:15px; padding:20px; transition:border-color .2s ease, box-shadow .2s ease; }
.persona:hover{ border-color:var(--line-strong); box-shadow:var(--sh-2); }
.persona-top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.persona .em{ width:42px; height:42px; border-radius:11px; display:grid; place-items:center; font-size:19px; flex:none; background:var(--gold-soft); }
.persona h3{ font-size:16px; font-weight:700; letter-spacing:-0.02em; margin:0; }
.persona .model{ font-family:var(--font-mono); font-size:11px; color:var(--gold-deep); }
.persona .desc{ font-size:13px; color:var(--ink-soft); line-height:1.5; margin:0; }
.persona-tasks{ display:flex; gap:6px; flex-wrap:wrap; margin-top:12px; }

/* routing map */
.routing{ display:grid; gap:10px; }
.route{ display:grid; grid-template-columns:150px 1fr; align-items:center; gap:16px; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px 18px; }
.route .task{ font-weight:600; font-size:14px; display:flex; align-items:center; gap:9px; }
.route .chain{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.route .node{ display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:12px; border:1px solid var(--line); border-radius:8px; padding:6px 11px; background:var(--paper-warm); }
.route .node .tier{ font-size:8.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.route .node.primary{ border-color:var(--gold); background:var(--gold-soft); }
.route .arrow{ color:var(--ink-faint); }

/* API connection cards */
.api-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.api{ background:var(--paper); border:1px solid var(--line); border-radius:15px; padding:20px; position:relative; transition:border-color .2s ease, box-shadow .2s ease; }
.api:hover{ box-shadow:var(--sh-2); }
.api.verified{ border-color:var(--gold); }
.api-top{ display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.api .lo{ width:38px; height:38px; border-radius:10px; background:var(--char); color:#fff; display:grid; place-items:center; font-weight:800; font-size:14px; flex:none; }
.api h3{ font-size:15.5px; font-weight:700; letter-spacing:-0.02em; margin:0; }
.api .sub{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); }
.api .status{ position:absolute; top:18px; right:18px; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:10px; letter-spacing:0.04em; text-transform:uppercase; }
.api .status .d{ width:7px; height:7px; border-radius:50%; }
.api .status.healthy{ color:var(--success); } .api .status.healthy .d{ background:var(--success); }
.api .status.verified{ color:var(--gold-deep); } .api .status.verified .d{ background:var(--gold); box-shadow:0 0 8px var(--gold); }
.api-rows{ display:grid; gap:6px; padding-top:14px; border-top:1px solid var(--line-soft); }
.api-row{ display:flex; justify-content:space-between; font-size:12px; }
.api-row .k{ color:var(--ink-mute); } .api-row .v{ font-family:var(--font-mono); font-weight:500; }
.api-key{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:11.5px; color:var(--ink-soft); background:var(--paper-warm); border:1px solid var(--line); border-radius:8px; padding:8px 11px; margin-top:12px; }
.api-key .grow{ letter-spacing:0.1em; }

/* content sources */
.src-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.src-group{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.src-group h4{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin:0 0 14px; display:flex; align-items:center; gap:8px; }
.src-group h4 .ct{ margin-left:auto; color:var(--gold-deep); }
.src-line{ display:flex; align-items:center; gap:10px; padding:8px 0; font-size:13.5px; border-top:1px solid var(--line-soft); }
.src-line:first-of-type{ border-top:none; }
.src-line .ck{ color:var(--success); }
.src-line .w{ margin-left:auto; font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); }
.src-line .wbar{ width:54px; }

/* writing style sliders */
.styles{ display:grid; gap:18px; max-width:560px; }
.style-row .st-top{ display:flex; justify-content:space-between; margin-bottom:8px; }
.style-row .st-top .k{ font-weight:600; font-size:14px; }
.style-row .st-top .v{ font-family:var(--font-mono); font-size:12px; color:var(--gold-deep); }
.slider{ -webkit-appearance:none; appearance:none; width:100%; height:7px; border-radius:999px; background:var(--paper-2); outline:none; }
.slider::-webkit-slider-thumb{ -webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:var(--char); cursor:pointer; border:3px solid var(--paper); box-shadow:var(--sh-1); }
.slider::-moz-range-thumb{ width:20px; height:20px; border-radius:50%; background:var(--char); cursor:pointer; border:3px solid var(--paper); }

/* prompt library */
.prompts-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.prompt-row{ display:flex; align-items:center; gap:14px; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px 18px; transition:border-color .2s ease; }
.prompt-row:hover{ border-color:var(--gold); }
.prompt-row .pi{ width:34px; height:34px; border-radius:9px; background:var(--gold-soft); color:var(--gold-deep); display:grid; place-items:center; font-family:var(--font-serif); font-style:italic; font-size:15px; flex:none; }
.prompt-row .pn{ font-size:14px; font-weight:600; letter-spacing:-0.01em; }
.prompt-row .pm{ font-family:var(--font-mono); font-size:10.5px; color:var(--ink-mute); }
.prompt-row .perf{ margin-left:auto; text-align:right; }
.prompt-row .perf .n{ font-family:var(--font-sans); font-weight:700; font-size:15px; color:var(--success); }
.prompt-row .perf .l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }

/* memory timeline */
.memory{ display:grid; gap:16px; }
.mem{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 22px; }
.mem h4{ font-size:15px; font-weight:700; margin:0 0 14px; display:flex; align-items:center; gap:9px; }
.mem-chain{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.mem-node{ font-family:var(--font-mono); font-size:12px; border:1px solid var(--line); border-radius:8px; padding:6px 12px; background:var(--paper-warm); }
.mem-node.now{ border-color:var(--gold); background:var(--gold-soft); color:var(--gold-deep); font-weight:600; }
.mem-arrow{ color:var(--ink-faint); }

/* knowledge graph chain */
.kg{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; background:var(--graphite); border-radius:18px; padding:40px 28px; }
.kg-node{ font-family:var(--font-mono); font-size:13px; color:#fff; border:1px solid var(--line-dark); border-radius:10px; padding:11px 16px; background:var(--graphite-2); transition:border-color .2s ease, transform .2s ease; }
.kg-node:hover{ border-color:var(--gold); transform:translateY(-2px); }
.kg-arrow{ color:var(--gold); }

/* automation builder */
.flow{ display:grid; gap:0; max-width:520px; }
.flow-step{ display:flex; align-items:center; gap:14px; padding:14px 18px; background:var(--paper); border:1px solid var(--line); border-radius:12px; position:relative; }
.flow-step .fi{ width:34px; height:34px; border-radius:9px; display:grid; place-items:center; font-size:15px; flex:none; }
.flow-step.trigger .fi{ background:var(--gold-soft); color:var(--gold-deep); }
.flow-step .fi{ background:var(--sapphire-soft); color:var(--sapphire); }
.flow-step .ft{ font-size:13.5px; font-weight:500; }
.flow-step .ft b{ font-weight:700; }
.flow-conn{ width:2px; height:18px; background:var(--line-strong); margin-left:35px; }

/* ── AI ASSISTANT DOCK + COUNCIL ────────────────────────────────── */
.assistant-fab{ position:fixed; bottom:24px; right:24px; z-index:90; display:flex; align-items:center; gap:11px; background:var(--graphite); color:#fff; border:1px solid var(--line-dark); border-radius:999px; padding:11px 20px 11px 14px; box-shadow:var(--sh-3); transition:transform .25s cubic-bezier(.2,.8,.2,1); }
.assistant-fab:hover{ transform:translateY(-2px); }
.assistant-fab .orb{ width:30px; height:30px; border-radius:50%; background:var(--gold-grad); display:grid; place-items:center; color:#241B07; font-weight:800; font-size:13px; box-shadow:0 0 16px -2px var(--gold); }
.assistant-fab .at{ font-size:13.5px; font-weight:600; }
.assistant-fab .at small{ display:block; font-family:var(--font-mono); font-size:9.5px; font-weight:400; color:var(--on-dark-mute); letter-spacing:0.04em; }

.assistant-panel{ position:fixed; bottom:24px; right:24px; z-index:95; width:420px; max-width:calc(100vw - 32px); height:600px; max-height:calc(100vh - 48px); background:var(--paper); border:1px solid var(--line); border-radius:20px; box-shadow:var(--sh-3); display:none; flex-direction:column; overflow:hidden; }
.assistant-panel.open{ display:flex; }
.ap-head{ background:var(--graphite); color:#fff; padding:18px 20px; display:flex; align-items:center; gap:12px; position:relative; overflow:hidden; }
.ap-head .tx{ position:absolute; inset:0; background-image:var(--tex); background-size:160px; opacity:.06; mix-blend-mode:overlay; }
.ap-head .orb{ width:36px; height:36px; border-radius:50%; background:var(--gold-grad); display:grid; place-items:center; color:#241B07; font-weight:800; flex:none; position:relative; }
.ap-head .ht{ position:relative; }
.ap-head .ht h4{ margin:0; font-size:15px; font-weight:700; }
.ap-head .ht .st{ font-family:var(--font-mono); font-size:10px; color:var(--gold-light); display:flex; align-items:center; gap:6px; }
.ap-head .ht .st .d{ width:6px; height:6px; border-radius:50%; background:var(--success); }
.ap-head .x{ margin-left:auto; position:relative; color:var(--on-dark-soft); background:none; border:none; font-size:20px; line-height:1; }
.ap-head .x:hover{ color:#fff; }
.ap-body{ flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:14px; }
.msg{ max-width:88%; font-size:13.5px; line-height:1.55; padding:13px 15px; border-radius:14px; }
.msg.ai{ background:var(--paper-warm); border:1px solid var(--line); align-self:flex-start; border-bottom-left-radius:5px; }
.msg.me{ background:var(--char); color:#fff; align-self:flex-end; border-bottom-right-radius:5px; }
.msg.ai b{ color:var(--gold-deep); }
.msg .rec-card{ margin-top:10px; padding:12px; border-radius:10px; background:var(--paper); border:1px solid var(--line); }
.msg .rec-card .rt{ font-weight:700; font-size:13px; margin-bottom:6px; }
.msg .rec-card .rm{ font-family:var(--font-mono); font-size:11px; color:var(--ink-soft); display:flex; gap:12px; flex-wrap:wrap; }
.ap-suggest{ padding:0 18px 12px; display:flex; gap:8px; flex-wrap:wrap; }
.ap-chip{ font-size:12px; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:7px 12px; background:var(--paper); transition:border-color .18s ease; }
.ap-chip:hover{ border-color:var(--gold); color:var(--ink); }
.ap-input{ padding:14px 18px; border-top:1px solid var(--line); display:flex; gap:10px; }
.ap-input input{ flex:1; border:1px solid var(--line); border-radius:10px; padding:11px 14px; font-family:var(--font-sans); font-size:13.5px; outline:none; }
.ap-input input:focus{ border-color:var(--char); }
.ap-input .send{ width:42px; border-radius:10px; background:var(--char); color:#fff; border:none; display:grid; place-items:center; }

/* Council */
.council-banner{ display:flex; align-items:center; gap:18px; background:var(--graphite); color:#fff; border-radius:18px; padding:24px 28px; position:relative; overflow:hidden; isolation:isolate; margin-bottom:24px; }
.council-banner .tx{ position:absolute; inset:0; z-index:0; background-image:var(--tex); background-size:200px; opacity:.05; mix-blend-mode:overlay; }
.council-banner .glow{ position:absolute; inset:0; z-index:0; background:radial-gradient(60% 100% at 88% 0%, rgba(178,138,66,0.2), transparent 60%); }
.council-banner > *{ position:relative; z-index:1; }
.council-banner .seal{ width:54px; height:54px; border-radius:50%; border:1px solid var(--gold); display:grid; place-items:center; font-family:var(--font-serif); font-style:italic; font-size:22px; color:var(--gold-light); background:linear-gradient(160deg,rgba(231,214,174,0.2),transparent); flex:none; }
.council-banner h3{ font-family:var(--font-sans); font-weight:700; font-size:20px; letter-spacing:-0.025em; margin:0 0 4px; color:#fff; }
.council-banner p{ font-size:13.5px; color:var(--on-dark-soft); margin:0; max-width:52ch; }
.directors{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }
.director{ background:var(--paper); border:1px solid var(--line); border-radius:13px; padding:16px; text-align:center; transition:border-color .3s ease, transform .3s ease; }
.director.thinking{ border-color:var(--gold); }
.director .em{ width:40px; height:40px; border-radius:11px; margin:0 auto 10px; display:grid; place-items:center; font-size:18px; background:var(--gold-soft); }
.director .dn{ font-size:13px; font-weight:700; letter-spacing:-0.01em; }
.director .ds{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); margin-top:3px; }
.director .ds.live{ color:var(--gold-deep); }
.report{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.report-row{ display:flex; gap:16px; padding:18px 22px; background:var(--paper); }
.report-row .ri{ width:30px; height:30px; border-radius:8px; background:var(--graphite); color:var(--gold-light); display:grid; place-items:center; font-size:13px; flex:none; }
.report-row .rt h4{ margin:0 0 4px; font-size:14px; font-weight:700; letter-spacing:-0.015em; }
.report-row .rt p{ margin:0; font-size:13.5px; color:var(--ink-soft); line-height:1.5; }
.report-row .rt p b{ color:var(--ink); font-weight:600; }

/* fade-in */
.fade{ opacity:1; }

/* modal */
.modal-bg{ position:fixed; inset:0; z-index:100; background:rgba(22,21,19,0.5); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; padding:24px; }
.modal-bg.open{ display:flex; }
.modal{ background:var(--paper); border-radius:20px; width:560px; max-width:100%; max-height:90vh; overflow-y:auto; box-shadow:var(--sh-3); }
.modal-h{ padding:22px 26px; border-bottom:1px solid var(--line); display:flex; align-items:center; }
.modal-h h3{ margin:0; font-size:18px; font-weight:700; letter-spacing:-0.02em; }
.modal-h .x{ margin-left:auto; background:none; border:none; font-size:22px; color:var(--ink-mute); line-height:1; }
.modal-b{ padding:24px 26px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:12px; font-weight:600; color:var(--ink-soft); margin-bottom:7px; }
.field input, .field select, .field textarea{ width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 13px; font-family:var(--font-sans); font-size:13.5px; outline:none; background:var(--paper); }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--char); }
.field-row{ display:flex; gap:8px; flex-wrap:wrap; }
.opt{ font-size:13px; border:1px solid var(--line); border-radius:9px; padding:9px 14px; background:var(--paper); color:var(--ink-soft); transition:all .16s ease; }
.opt:hover{ border-color:var(--ink-faint); }
.opt.on{ background:var(--char); color:#fff; border-color:var(--char); }
.modal-f{ padding:18px 26px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:10px; }

/* ── PHASE 2: STORY BUILDER ── */
.sb-rail{ display:flex; gap:10px; overflow-x:auto; padding-bottom:18px; margin-bottom:22px; }
.sb-stage{ flex:0 0 auto; display:flex; align-items:center; gap:12px; background:var(--paper); border:1px solid var(--line); border-radius:13px; padding:14px 18px; text-align:left; transition:border-color .2s ease, background .2s ease; }
.sb-stage .sn{ width:26px; height:26px; border-radius:50%; background:var(--paper-2); color:var(--ink-mute); display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; flex:none; }
.sb-stage .st{ font-size:14px; font-weight:700; letter-spacing:-0.01em; }
.sb-stage .sd{ font-size:11.5px; color:var(--ink-mute); }
.sb-stage:hover{ border-color:var(--ink-faint); }
.sb-stage.on{ border-color:var(--gold); background:var(--gold-soft); }
.sb-stage.on .sn{ background:var(--gold); color:#241B07; }
.sb-stage.done .sn{ background:var(--success); color:#fff; }
.sb-panel{ padding:26px 28px; }

/* ── COVERAGE MAP ── */
.cov-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:8px; }
.cov-cell{ background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--c); border-radius:13px; padding:16px 18px; box-shadow:var(--sh-1); }
.cov-cell .cov-v{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.04em; color:var(--c); }
.cov-cell .cov-n{ font-size:13px; font-weight:600; margin:3px 0 10px; }
.cov-cell .cov-bar .meter{ background-image:linear-gradient(90deg,var(--c),var(--c)); }

/* ── DATABASES ── */
.db-detail{ padding:26px 28px; margin-bottom:24px; }
.db-head{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.db-head .lo{ width:46px; height:46px; border-radius:12px; background:var(--char); color:#fff; display:grid; place-items:center; font-weight:800; font-size:18px; flex:none; }
.db-head h2{ margin:0; font-size:22px; font-weight:700; letter-spacing:-0.03em; }
.db-head .sub{ font-family:var(--font-mono); font-size:12px; color:var(--ink-mute); }
.db-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.db-col h4{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin:0 0 10px; }
.db-foot{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line-soft); }

/* ── CONTENT LIBRARY ── */
.lib-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:8px; }
.lib-tile{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 20px; box-shadow:var(--sh-1); transition:transform .25s ease, box-shadow .25s ease; }
.lib-tile:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.lib-tile .lib-ic{ width:38px; height:38px; border-radius:10px; background:var(--gold-soft); color:var(--gold-deep); display:grid; place-items:center; font-family:var(--font-serif); font-style:italic; font-size:17px; margin-bottom:12px; }
.lib-tile .lib-n{ font-size:14.5px; font-weight:700; letter-spacing:-0.015em; }
.lib-tile .lib-c{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); margin-top:2px; }

/* ── COMMAND PALETTE ── */
.cmdk{ position:fixed; inset:0; z-index:120; background:rgba(22,21,19,0.42); backdrop-filter:blur(6px); display:none; align-items:flex-start; justify-content:center; padding-top:14vh; }
.cmdk.open{ display:flex; }
.cmdk-box{ width:600px; max-width:calc(100vw - 32px); background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:var(--sh-3); overflow:hidden; }
.cmdk-in{ display:flex; align-items:center; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); }
.cmdk-in svg{ width:18px; height:18px; color:var(--ink-mute); flex:none; }
.cmdk-in input{ flex:1; border:none; outline:none; font-family:var(--font-sans); font-size:16px; color:var(--ink); background:none; }
.cmdk-in kbd{ font-family:var(--font-mono); font-size:10px; border:1px solid var(--line); border-radius:5px; padding:2px 7px; color:var(--ink-mute); }
.cmdk-list{ max-height:50vh; overflow-y:auto; padding:8px; }
.cmdk-gl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); padding:10px 14px 5px; }
.cmdk-item{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:none; border:none; padding:11px 14px; border-radius:10px; font-size:14px; color:var(--ink); transition:background .12s ease; }
.cmdk-item .ci{ width:24px; height:24px; border-radius:7px; background:var(--paper-2); display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; color:var(--ink-soft); flex:none; }
.cmdk-item .ck{ margin-left:auto; font-family:var(--font-mono); font-size:10px; color:var(--ink-faint); }
.cmdk-item:hover, .cmdk-item.sel{ background:var(--paper-warm); }
.cmdk-item.sel .ci{ background:var(--gold); color:#241B07; }

/* ── AI WRITER v2 ── */.wstatus{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.wstat{ display:flex; flex-direction:column; gap:3px; background:var(--paper); border:1px solid var(--line); border-radius:11px; padding:10px 15px; min-width:84px; }
.wstat .wl{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); }
.wstat .wv{ font-size:15px; font-weight:700; letter-spacing:-0.02em; }
.wstat .wv.g{ color:var(--success); } .wstat .wv.w{ color:var(--warn); } .wstat .wv.gd{ color:var(--gold-deep); }
.w-col-tabs{ display:flex; gap:3px; padding:10px 12px 0; flex-wrap:wrap; }
.wct{ background:none; border:none; font-family:var(--font-mono); font-size:10px; letter-spacing:0.03em; color:var(--ink-mute); padding:6px 8px; border-radius:7px; }
.wct.on{ background:var(--paper-2); color:var(--ink); }

@media (max-width:1100px){
  .cov-grid,.lib-grid{ grid-template-columns:repeat(2,1fr); }
  .db-cols{ grid-template-columns:1fr; gap:18px; }
}
@media (max-width:1100px){
  .home-grid{ grid-template-columns:1fr; } .kw-grid,.clusters,.persona-grid,.src-grid,.prompts-list{ grid-template-columns:1fr; }
  .an-grid,.aff-grid{ grid-template-columns:1fr 1fr; } .directors{ grid-template-columns:repeat(2,1fr); }
  .writer{ grid-template-columns:1fr; height:auto; } .cc{ grid-template-columns:1fr; }
}

/* ════════ KNOWLEDGE SYSTEM ════════ */
/* architecture strip */
.ks-arch-wrap{ background:var(--graphite); border-radius:18px; padding:22px 26px; position:relative; overflow:hidden; isolation:isolate; }
.ks-arch-label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:16px; position:relative; z-index:1; }
.arch{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; position:relative; z-index:1; }
.arch-tx{ position:absolute; inset:0; z-index:0; background-image:var(--tex); background-size:200px; opacity:.05; mix-blend-mode:overlay; }
.arch-node{ font-family:var(--font-mono); font-size:11.5px; color:var(--on-dark-soft); border:1px solid var(--line-dark); border-radius:8px; padding:7px 12px; white-space:nowrap; }
.arch-node.on{ color:#241B07; background:var(--gold-grad); border-color:transparent; font-weight:600; }
.arch-arr{ color:var(--gold); transform:rotate(-90deg); font-size:13px; }

/* source group cards */
.ksg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ksg{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px 22px; box-shadow:var(--sh-1); cursor:pointer; transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .25s ease; }
.ksg:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--gold); }
.ksg-top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:14px; }
.ksg-ic{ width:42px; height:42px; border-radius:11px; background:var(--gold-soft); display:grid; place-items:center; font-size:19px; }
.ksg-trust{ text-align:center; }
.ksg-trust .n{ font-family:var(--font-sans); font-weight:800; font-size:22px; letter-spacing:-0.04em; line-height:1; }
.ksg-trust .n.hi{ color:var(--success); } .ksg-trust .n.mid{ color:var(--warn); } .ksg-trust .n.lo{ color:var(--error); }
.ksg-trust .l{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-top:2px; }
.ksg h3{ font-family:var(--font-sans); font-weight:700; font-size:17px; letter-spacing:-0.02em; margin:0 0 6px; }
.ksg-meta{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); margin-bottom:12px; }
.ksg-meta b{ color:var(--ink); }
.ksg-bar{ margin-bottom:14px; }
.ksg-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:12px; border-top:1px solid var(--line-soft); }

/* source table */
.src-table .tnum{ font-family:var(--font-sans); font-weight:700; font-size:14px; padding:2px 9px; border-radius:7px; }
.tnum.green{ color:var(--success); background:#EEF7F0; } .tnum.gold{ color:var(--gold-deep); background:var(--gold-soft); }
.tnum.warn{ color:var(--warn); background:#FBF1E2; } .tnum.red{ color:var(--error); background:#FBEEEE; }

/* source detail drawer */
.sd-drawer{ position:fixed; top:0; right:0; bottom:0; width:480px; max-width:calc(100vw - 32px); z-index:110; background:var(--paper); border-left:1px solid var(--line); box-shadow:-30px 0 80px -40px rgba(28,27,25,.4); transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.8,.2,1); overflow-y:auto; }
.sd-drawer.open{ transform:none; }
.sd-body{ padding:24px 26px 40px; }
.sd-h{ display:flex; align-items:flex-start; margin-bottom:22px; }
.sd-h h3{ margin:4px 0 0; font-size:22px; font-weight:700; letter-spacing:-0.03em; }
.sd-h .x{ margin-left:auto; background:none; border:none; font-size:24px; color:var(--ink-mute); line-height:1; }
.sd-row{ display:flex; gap:14px; }
.sd-checks{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:11px; overflow:hidden; }
.sd-check{ display:flex; align-items:center; gap:11px; padding:11px 14px; background:var(--paper); font-size:13px; }
.sd-check .cb{ width:19px; height:19px; border-radius:6px; display:grid; place-items:center; font-size:11px; flex:none; }
.sd-check .cb.y{ background:#EEF7F0; color:var(--success); } .sd-check .cb.n{ background:#FBEEEE; color:var(--error); }
.sd-foot{ display:flex; gap:10px; margin-top:8px; }
.sd-foot .b{ flex:1; }
/* drawer v2 — identity, endpoints, audit, accordions */
.sd-ident{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.sd-val{ float:right; font-family:var(--font-mono); font-size:11px; color:var(--gold-deep); font-weight:600; }
.sd-endpoints{ display:grid; gap:8px; }
.sd-ep{ display:flex; align-items:center; gap:10px; }
.sd-ep .ep-l{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); width:96px; flex:none; }
.sd-ep input{ flex:1; border:1px solid var(--line); border-radius:8px; padding:8px 11px; font-family:var(--font-mono); font-size:12px; outline:none; background:var(--paper); }
.sd-audit{ background:var(--paper-warm); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:18px; }
.sda-h{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:14px; margin-bottom:12px; }
.sda-h .ic{ color:var(--gold-deep); }
.sda-row{ display:flex; justify-content:space-between; gap:12px; font-size:13px; padding:4px 0; }
.sda-row .sda-k{ color:var(--ink-mute); } .sda-row .sda-v{ font-weight:600; }
.sda-block{ margin-top:10px; }
.sda-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:6px; }
.sda-row2{ font-size:12.5px; color:var(--ink-soft); padding:2px 0; }
.sda-tags{ display:flex; gap:6px; flex-wrap:wrap; }
.sd-acc{ display:flex; align-items:center; justify-content:space-between; width:100%; text-align:left; background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:13px 16px; font-size:13.5px; font-weight:600; color:var(--ink); margin-bottom:8px; transition:border-color .15s ease; }
.sd-acc:hover{ border-color:var(--ink-faint); }
.sd-acc .acc-x{ transition:transform .2s ease; color:var(--ink-mute); }
.sd-acc.open .acc-x{ transform:rotate(90deg); }
.sd-acc-body{ display:none; padding:4px 4px 16px; }
.sd-acc-body.open{ display:block; }
.hh-row{ display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--line-soft); font-size:13px; }
.hh-row:first-child{ border-top:none; }
.hh-dot{ width:8px; height:8px; border-radius:50%; flex:none; } .hh-dot.ok{ background:var(--success); } .hh-dot.warn{ background:var(--warn); }
.hh-t{ font-weight:600; width:84px; flex:none; } .hh-s{ color:var(--ink-soft); font-size:12.5px; }
.hh-uptime{ display:flex; justify-content:space-between; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); font-size:13px; }
.hh-uptime b{ color:var(--success); font-weight:700; }
.cov-row{ display:flex; align-items:center; gap:12px; padding:6px 0; }
.cov-k{ font-size:12.5px; width:120px; flex:none; } .cov-bar{ flex:1; } .cov-v{ font-family:var(--font-mono); font-size:11px; font-weight:600; color:var(--gold-deep); width:36px; text-align:right; }
.cov-dis{ flex:1; font-family:var(--font-mono); font-size:11px; color:var(--ink-faint); text-align:right; }
.lss-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.lss{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:12px; text-align:center; }
.lss-n{ font-family:var(--font-sans); font-weight:800; font-size:20px; letter-spacing:-0.03em; }
.lss-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); margin-top:4px; }

/* knowledge database tabs */
.kdb-tabs{ display:flex; gap:4px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:22px; padding-bottom:2px; }
.kdb-tab{ background:none; border:none; font-size:13px; font-weight:600; color:var(--ink-soft); padding:9px 13px; border-radius:8px 8px 0 0; border-bottom:2px solid transparent; margin-bottom:-3px; transition:color .16s ease, border-color .16s ease; }
.kdb-tab:hover{ color:var(--ink); }
.kdb-tab.on{ color:var(--ink); border-bottom-color:var(--gold); }

/* entity manager */
.ent-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:8px; }
.ent{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:20px; box-shadow:var(--sh-1); cursor:pointer; transition:transform .25s ease, box-shadow .25s ease; }
.ent:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.ent-ic{ width:40px; height:40px; border-radius:11px; background:var(--gold-soft); color:var(--gold-deep); display:grid; place-items:center; font-size:18px; margin-bottom:12px; }
.ent-n{ font-size:15px; font-weight:700; letter-spacing:-0.02em; }
.ent-c{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); margin-top:2px; }

/* sync engine + logs */
.sync-engine{ display:flex; align-items:center; gap:8px; background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:7px 8px 7px 14px; }
.sync-engine .se-dot{ width:8px; height:8px; border-radius:50%; background:var(--success); box-shadow:0 0 8px var(--success); animation:pulse 2s ease infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.4; } }
.logfeed{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.logrow{ display:grid; grid-template-columns:14px 52px 130px 1fr 200px 84px 130px; align-items:center; gap:12px; padding:13px 18px; background:var(--paper); font-size:13px; }
.logrow:hover{ background:var(--paper-warm); }
.log-dot{ width:9px; height:9px; border-radius:50%; }
.log-time{ color:var(--ink-mute); font-size:12px; }
.log-src{ font-weight:600; }
.log-msg{ color:var(--ink); }
.log-act{ font-size:12px; }
.log-aff{ text-align:right; }

@media (max-width:1100px){
  .ksg-grid,.ent-grid{ grid-template-columns:repeat(2,1fr); }
  .sd-drawer{ width:100%; }
  .logrow{ grid-template-columns:14px 1fr; gap:6px; }
  .logrow .log-time,.logrow .log-act,.logrow .log-conf,.logrow .log-aff{ display:none; }
}

/* ── AGNUS BRAIN v2 ── */
.brain-alert{ display:flex; align-items:center; gap:16px; background:#FBF7EF; border:1px solid color-mix(in srgb,var(--warn) 30%,transparent); border-radius:14px; padding:14px 18px; }
.brain-alert .ba-pulse{ width:10px; height:10px; border-radius:50%; background:var(--warn); box-shadow:0 0 10px var(--warn); flex:none; animation:pulse 1.8s ease infinite; }
.brain-alert .ba-t{ flex:1; font-size:13.5px; color:var(--ink); line-height:1.5; }
.brain-alert .ba-chip{ display:inline-block; font-family:var(--font-mono); font-size:11px; background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:1px 7px; margin:0 3px; }
.brain-recs{ display:grid; gap:14px; }
.brec{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px 22px; box-shadow:var(--sh-1); }
.brec-h{ display:flex; align-items:flex-start; gap:14px; margin-bottom:14px; }
.brec-h .ln{ width:26px; height:26px; border-radius:8px; background:var(--gold); color:#241B07; display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:600; flex:none; }
.brec-h .lh{ font-size:16px; font-weight:700; letter-spacing:-0.02em; }
.brec-h .lr{ font-size:13px; color:var(--ink-soft); margin-top:3px; }
.brec-conf{ text-align:center; flex:none; }
.brec-conf .cn{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.04em; color:var(--success); line-height:1; }
.brec-conf .cl{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-top:2px; }
.brec-ev{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:11px; padding:13px 15px; margin-bottom:14px; }
.brec-ev .bev-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:8px; }
.brec-ev .bev-list{ display:flex; flex-wrap:wrap; gap:7px; }
.brec-ev .bev{ font-size:12px; color:var(--ink-soft); background:var(--paper); border:1px solid var(--line); border-radius:7px; padding:4px 9px; }
.brec-f{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.brec-conf{ cursor:pointer; position:relative; }
.brec-metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }
.bm{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:10px 12px; }
.bm-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.bm-v{ font-size:14px; font-weight:700; letter-spacing:-0.02em; margin-top:3px; }
.bev{ cursor:pointer; position:relative; transition:border-color .15s ease; }
.bev:hover{ border-color:var(--gold)!important; }
.ev-pop,.conf-pop{ position:absolute; top:calc(100% + 8px); left:0; z-index:60; width:280px; background:var(--graphite); color:#fff; border:1px solid var(--line-dark); border-radius:12px; padding:14px 16px; box-shadow:var(--sh-3); }
.conf-pop{ left:auto; right:0; width:300px; }
.evp-h{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:10px; }
.evp-row{ display:flex; justify-content:space-between; gap:12px; font-size:12px; padding:5px 0; border-top:1px solid var(--line-dark); }
.evp-row span{ color:var(--on-dark-mute); } .evp-row b{ color:#fff; font-weight:600; text-align:right; }
.cb-row{ display:flex; align-items:center; gap:10px; padding:5px 0; }
.cb-row .cb-k{ font-size:11.5px; color:var(--on-dark-soft); width:120px; flex:none; }
.cb-row .cb-bar{ flex:1; } .cb-row .cb-bar .meter{ background-color:rgba(255,255,255,0.1); }
.cb-row .cb-v{ font-family:var(--font-mono); font-size:11px; color:var(--gold-light); width:34px; text-align:right; }
.formula{ display:flex; align-items:stretch; gap:8px; flex-wrap:wrap; position:relative; z-index:1; }
.fterm{ flex:1; min-width:120px; background:rgba(255,255,255,0.05); border:1px solid var(--line-dark); border-radius:12px; padding:14px; }
.fterm .fw{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.04em; color:var(--gold-light); }
.fterm .fn{ font-size:13px; font-weight:600; color:#fff; margin:4px 0 4px; }
.fterm .fd{ font-size:11px; color:var(--on-dark-mute); line-height:1.4; }
.fplus{ display:flex; align-items:center; color:var(--gold); font-size:16px; }
.score-rows{ display:grid; gap:8px; }
.score-row{ display:flex; align-items:center; gap:12px; }
.score-row .sr-k{ font-size:12px; color:var(--ink-soft); width:90px; flex:none; }
.score-row .sr-bar{ flex:1; } .score-row .sr-v{ font-family:var(--font-mono); font-size:12px; font-weight:600; color:var(--gold-deep); width:28px; text-align:right; }
.kgraph{ background:var(--graphite); border-radius:18px; padding:36px 28px; position:relative; overflow:hidden; isolation:isolate; }
.kgtx{ position:absolute; inset:0; background-image:var(--tex); background-size:200px; opacity:.05; mix-blend-mode:overlay; }
.kg-row{ display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; position:relative; z-index:1; margin-bottom:14px; }
.kg-branch{ display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; position:relative; z-index:1; }
.kg-link{ width:26px; height:2px; background:var(--gold); opacity:.5; }
.kgn{ font-family:var(--font-mono); font-size:13px; color:#fff; border:1px solid var(--line-dark); border-radius:10px; padding:11px 16px; background:var(--graphite-2); transition:border-color .2s ease, transform .2s ease, background .2s ease; }
.kgn:hover{ border-color:var(--gold); transform:translateY(-2px); }
.kgn.on{ border-color:var(--gold); background:var(--gold-soft); color:var(--graphite); font-weight:600; }
.kgp{ margin-top:18px; padding:22px 24px; }
.kgp-h{ display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; }
.kgp-h h3{ margin:3px 0 0; font-size:20px; font-weight:700; letter-spacing:-0.03em; }
.kgp-h>span{ margin-left:auto; }
.kgp-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
.kgp-stat{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:11px; padding:13px 15px; }
.kgp-stat .kl{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.kgp-stat .kv{ font-size:18px; font-weight:800; letter-spacing:-0.03em; margin-top:4px; }
.kgp-foot{ display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:16px; border-top:1px solid var(--line-soft); }
.mem-hero{ padding:26px 28px; margin-bottom:24px; }
.mem-health{ text-align:center; }
.mem-health .mh-n{ font-family:var(--font-sans); font-weight:800; font-size:30px; letter-spacing:-0.04em; color:var(--success); line-height:1; }
.mem-health .mh-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-top:3px; }
.mem-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0; }
.mem-stat{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:11px; padding:13px 15px; }
.mem-stat .ms-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.mem-stat .ms-v{ font-size:16px; font-weight:700; letter-spacing:-0.02em; margin-top:3px; }
.mem-spark{ border-top:1px solid var(--line-soft); padding-top:16px; }
.mem-spark .msp-l{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:10px; }
.mem-spark .msp-bars{ display:flex; align-items:flex-end; gap:4px; height:64px; }
.mem-spark .msp-bars span{ flex:1; background:var(--gold-grad); border-radius:3px 3px 0 0; min-height:4px; }
.tl{ display:grid; gap:0; }
.tl-row{ display:flex; gap:16px; }
.tl-rail{ display:flex; flex-direction:column; align-items:center; flex:none; }
.tl-dot{ width:36px; height:36px; border-radius:10px; display:grid; place-items:center; font-size:15px; background:var(--graphite); color:var(--gold-light); flex:none; }
.tl-dot.recover{ background:var(--success); color:#fff; } .tl-dot.change{ background:var(--warn); color:#fff; }
.tl-line{ width:2px; flex:1; background:var(--line-strong); margin:4px 0; }
.tl-card{ flex:1; background:var(--paper); border:1px solid var(--line); border-radius:13px; padding:16px 18px; margin-bottom:14px; box-shadow:var(--sh-1); }
.tl-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:7px; }
.tl-time{ font-size:11.5px; color:var(--ink-mute); }
.tl-card h4{ margin:0 0 4px; font-size:15px; font-weight:700; letter-spacing:-0.02em; }
.tl-card p{ margin:0; font-size:13px; color:var(--ink-soft); line-height:1.5; }
.prio-stars{ font-size:11px; color:var(--gold); }
.ingest{ font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:0.04em; border-radius:6px; padding:3px 8px; }
.ingest.rss{ color:var(--warn); background:#FBF1E2; } .ingest.api{ color:var(--sapphire); background:var(--sapphire-soft); }
.ingest.html{ color:var(--ink-soft); background:var(--paper-2); } .ingest.webhook{ color:var(--success); background:#EEF7F0; } .ingest.manual{ color:var(--gold-deep); background:var(--gold-soft); }
@media (max-width:1100px){ .brec-metrics,.kgp-stats,.mem-stats{ grid-template-columns:repeat(2,1fr); } .conf-pop,.ev-pop{ left:0; right:auto; } }

/* ═══ KNOWLEDGE SOURCES v2 — group cards + drawer ═══ */
/* group card stats */
.ksg-badge{ font-size:11px; padding:3px 9px; }
.ksg-stats{ display:grid; grid-template-columns:1fr 1fr; gap:6px 16px; font-size:12.5px; margin-top:10px; }
.ksg-stats div{ color:var(--ink-soft); } .ksg-stats div b{ color:var(--ink); font-weight:700; }
/* drawer sections */
.sd-section{ padding:18px 0; border-top:1px solid var(--line-soft); }
.sd-section:first-of-type{ border-top:none; padding-top:0; }
.sd-section-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:14px; font-weight:600; }
/* endpoint table */
.ep-table{ border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.ep-hrow{ display:grid; grid-template-columns:130px 1fr 64px 110px 80px; gap:10px; align-items:center; padding:9px 14px; background:var(--paper-warm); font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.ep-row{ display:grid; grid-template-columns:130px 1fr 64px 110px 80px; gap:10px; align-items:center; padding:10px 14px; border-top:1px solid var(--line-soft); transition:background .15s ease; }
.ep-row:hover{ background:var(--paper-warm); } .ep-row.dim{ opacity:.5; }
.ep-type{ font-size:12px; font-weight:600; letter-spacing:-0.01em; }
.ep-url{ width:100%; border:1px solid var(--line); border-radius:7px; padding:6px 9px; font-family:var(--font-mono); font-size:11.5px; outline:none; background:var(--paper); color:var(--ink); }
.ep-url:focus{ border-color:var(--char); }
.ep-tog{ position:relative; display:inline-flex; align-items:center; }
.ep-tog input{ opacity:0; position:absolute; } .tog-sl{ width:36px; height:20px; border-radius:999px; background:var(--paper-2); border:1px solid var(--line); transition:background .2s ease; cursor:pointer; }
.ep-tog input:checked + .tog-sl{ background:var(--success); border-color:var(--success); }
.ep-lc{ font-size:11px; color:var(--ink-mute); }
.ep-st{ font-size:11px; }
/* auth key */
.auth-key{ display:flex; align-items:center; gap:8px; background:var(--paper-warm); border:1px solid var(--line); border-radius:10px; padding:11px 14px; flex-wrap:wrap; }
.ak-val{ font-family:var(--font-mono); font-size:13px; letter-spacing:0.18em; color:var(--ink); flex:1; min-width:100px; }
/* trust & scoring */
.ts-grid{ display:grid; gap:11px; margin-bottom:16px; }
.ts-row{ display:flex; align-items:center; gap:14px; }
.ts-k{ font-size:12.5px; font-weight:600; width:130px; flex:none; color:var(--ink-soft); }
.ts-row .meter{ flex:1; }
.ts-v{ font-family:var(--font-mono); font-size:12px; font-weight:700; color:var(--gold-deep); width:30px; text-align:right; }
.ts-final{ display:flex; align-items:baseline; gap:10px; padding:14px 16px; background:var(--graphite); border-radius:11px; }
.ts-fl{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.6); flex:1; }
.ts-fn{ font-family:var(--font-sans); font-weight:800; font-size:32px; letter-spacing:-0.04em; line-height:1; }
.ts-fn.hi{ color:#7CCFA0; } .ts-fn.mid{ color:var(--gold-light); } .ts-fn.lo{ color:#E89A8C; }
.ts-final .tiny{ color:rgba(255,255,255,0.4); }

/* ═══ CREATE WIZARD v2 — AI Strategist ═══ */
/* wizard step indicator (base structural rules) */
.wiz-steps{ display:flex; align-items:center; gap:10px; padding:16px 26px 4px; }
.wiz-step{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--ink-mute); }
.wiz-step .wn{ width:24px; height:24px; border-radius:50%; background:var(--paper-2); display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:600; flex:none; }
.wiz-step.on{ color:var(--ink); } .wiz-step.on .wn{ background:var(--char); color:#fff; }
.wiz-step.done .wn{ background:var(--success); color:#fff; }
.wiz-line{ flex:1; height:1px; background:var(--line); }
.wiz-pane{ display:none; } .wiz-pane.on{ display:block; }
.modal-xl{ width:900px; max-width:calc(100vw - 32px); }
/* opportunity grid */
.opp-intro{ font-family:var(--font-sans); font-weight:700; font-size:17px; letter-spacing:-0.02em; margin-bottom:16px; }
.opp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.opp-card{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; text-align:left; padding:14px 16px; border:1px solid var(--line); border-radius:13px; background:var(--paper); transition:border-color .18s ease, background .18s ease; }
.opp-card:hover{ border-color:var(--ink-faint); background:var(--paper-warm); }
.opp-card.on{ border-color:var(--gold); background:var(--gold-soft); }
.oc-ic{ font-size:20px; margin-bottom:3px; }
.oc-t{ font-size:13.5px; font-weight:700; letter-spacing:-0.01em; }
.oc-d{ font-size:11.5px; color:var(--ink-mute); line-height:1.4; }
/* keyword intelligence panel */
.kip-search{ margin-top:4px; }
.kip-bar{ display:flex; gap:9px; align-items:center; }
.kip-bar input{ flex:1; border:1px solid var(--line); border-radius:9px; padding:10px 13px; font-family:var(--font-sans); font-size:14px; outline:none; background:var(--paper); }
.kip-bar input:focus{ border-color:var(--char); }
.kip-loading{ padding:18px 0; text-align:center; }
.kip{ margin-top:16px; }
.kip-kw{ display:flex; align-items:baseline; gap:12px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.kip-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-mute); }
.kip-val{ font-family:var(--font-sans); font-weight:700; font-size:17px; letter-spacing:-0.02em; }
.kip-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }
.ks{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:10px 12px; }
.ks-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:4px; }
.ks-v{ font-size:14px; font-weight:700; letter-spacing:-0.01em; }
.ks-v.up{ color:var(--success); } .ks-v.easy{ color:var(--success); } .ks-v.high{ color:var(--sapphire); }
.kip-two{ display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; margin-bottom:14px; padding:14px; background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:12px; }
.kip-row{ display:flex; align-items:baseline; gap:9px; padding:4px 0; font-size:13px; }
.kip-k{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); width:110px; flex:none; }
.kip-vt{ font-weight:600; }
.kip-lists{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }
.kl{ }
.kl-h{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:7px; }
.kl-i{ font-size:12px; color:var(--ink-soft); padding:4px 0; border-top:1px solid var(--line-soft); line-height:1.35; }
.kl-i:first-of-type{ border-top:none; }
.kip-foot{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:14px 16px; background:var(--graphite); border-radius:12px; }
.kip-rec{ display:flex; align-items:center; gap:12px; }
.kip-stars{ font-size:18px; color:var(--gold); flex:none; }
.kip-rec span{ font-size:13px; color:var(--on-dark); }
.kip-rec b{ color:#fff; }
/* expand intelligence */
.kip-expand{ margin-top:14px; background:var(--paper-warm); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.kip-expand-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:12px; }
.kip-expand-dims{ display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; margin-bottom:14px; }
.kd-l{ font-size:11.5px; font-weight:700; color:var(--ink); }
.kd-v{ font-size:12px; color:var(--ink-soft); margin-top:2px; line-height:1.4; }
.kip-summary{ font-size:13.5px; line-height:1.65; color:var(--ink); padding:14px 16px; background:var(--graphite); border-radius:10px; color:rgba(245,244,241,0.88); }
.kip-summary b{ color:#fff; }
/* opportunity pick panels */
.opp-pick{ background:var(--paper-warm); border:1px solid var(--line); border-radius:13px; padding:16px 18px; }
.opp-pick-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:12px; }
.opp-rec{ padding:12px 14px; border:1px solid var(--line); border-radius:11px; background:var(--paper); cursor:pointer; margin-bottom:8px; transition:border-color .16s ease; }
.opp-rec:last-child{ margin-bottom:0; }
.opp-rec:hover{ border-color:var(--ink-faint); }
.opp-rec.on{ border-color:var(--gold); background:var(--gold-soft); }
.or-n{ font-size:14px; font-weight:700; letter-spacing:-0.015em; }
.or-ev{ font-size:12.5px; color:var(--ink-soft); margin:3px 0 8px; }
.or-meta{ display:flex; gap:7px; flex-wrap:wrap; }
.opp-result{ margin-top:12px; }
.or-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:9px; }
.or-row{ display:flex; align-items:baseline; gap:10px; padding:6px 0; border-top:1px solid var(--line-soft); font-size:13px; }
.or-row:first-of-type{ border-top:none; }
.or-t{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.04em; font-weight:600; text-transform:uppercase; flex:none; width:72px; }
.or-t.red{ color:var(--error); } .or-t.warn{ color:var(--warn); } .or-t.gold{ color:var(--gold-deep); } .or-t.blue{ color:var(--sapphire); }
.or-v{ font-size:13px; color:var(--ink); }
/* content strategy grid */
.cs-grid{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.cs-row{ display:flex; gap:0; background:var(--paper); }
.cs-row:hover{ background:var(--paper-warm); }
.cs-k{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); padding:12px 16px; width:160px; flex:none; border-right:1px solid var(--line-soft); display:flex; align-items:center; }
.cs-v{ padding:12px 16px; flex:1; font-size:13.5px; color:var(--ink); display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
@media (max-width:860px){ .opp-grid{ grid-template-columns:1fr 1fr; } .kip-stats{ grid-template-columns:repeat(2,1fr); } .kip-two,.kip-lists,.kip-expand-dims{ grid-template-columns:1fr; } .cs-k{ width:110px; font-size:9px; } .modal-xl{ width:100%; } }

/* ════════ FEEDBACK ROUND COMPONENTS ════════ */
/* brain confidence + probability */
.brec-conf .cl2{ font-family:var(--font-mono); font-size:8.5px; color:var(--success); margin-top:2px; }
.brec-conf .cl3{ font-family:var(--font-mono); font-size:8.5px; color:var(--gold-deep); margin-top:1px; }
.exp-h{ font-size:16px; font-weight:700; letter-spacing:-0.02em; margin-bottom:16px; }
.exp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.exp-stat{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:11px; padding:13px 15px; }
.exp-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:5px; }
.exp-v{ font-size:15px; font-weight:700; letter-spacing:-0.02em; }
.exp-creates{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:11px; padding:14px 16px; }
.exp-row{ font-size:13px; color:var(--ink-soft); padding:3px 0; }
.brec-prob{ display:flex; align-items:center; gap:10px; margin-bottom:14px; padding:10px 12px; background:#EEF7F0; border:1px solid color-mix(in srgb,var(--success) 24%,transparent); border-radius:10px; }
.brec-prob .bp-k{ font-size:12px; font-weight:600; color:var(--ink); flex:none; }
.brec-prob .bp-bar{ flex:1; } .brec-prob .bp-v{ font-family:var(--font-sans); font-weight:800; font-size:16px; letter-spacing:-0.03em; color:var(--success); }
.brec-prob .bp-note{ font-size:11px; color:var(--ink-mute); flex:none; }
/* evidence popover chart */
.evp-chart{ margin:10px 0; padding:10px; background:rgba(255,255,255,0.04); border-radius:9px; }
.evp-cl{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); margin-bottom:8px; }
.evp-bars{ display:flex; align-items:flex-end; gap:3px; height:44px; }
.evp-bars span{ flex:1; background:var(--gold-light); border-radius:2px 2px 0 0; min-height:3px; opacity:.85; }
.evp-bars span.fc{ background:var(--success); }
/* research brief pipeline */
.pipe{ display:grid; gap:0; }
.pipe-step{ display:flex; align-items:center; gap:14px; padding:13px 4px; opacity:.5; transition:opacity .3s ease; }
.pipe-step.active{ opacity:1; } .pipe-step.done{ opacity:1; }
.pipe-dot{ width:30px; height:30px; border-radius:50%; background:var(--paper-2); display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; flex:none; transition:background .3s ease, color .3s ease; }
.pipe-step.active .pipe-dot{ background:var(--gold); color:#241B07; } .pipe-step.done .pipe-dot{ background:var(--success); color:#fff; }
.pipe-t{ flex:1; font-size:14px; font-weight:600; } .pipe-st{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); }
.pipe-step.active .pipe-st{ color:var(--gold-deep); }
/* live evidence (writer) */
.live-ev{ background:var(--graphite); color:#fff; border-radius:12px; padding:14px 16px; margin-bottom:18px; }
.le-h{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:10px; }
.le-rows{ display:grid; gap:8px; }
.le-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12.5px; padding:7px 10px; border-radius:8px; background:rgba(255,255,255,0.04); }
.le-row.warn{ background:rgba(198,122,0,0.16); }
.le-claim{ color:rgba(245,244,241,0.9); } .le-v{ display:flex; align-items:center; gap:6px; flex:none; font-family:var(--font-mono); font-size:11px; color:var(--on-dark-soft); }
/* chief editor speaking */
.chief{ display:flex; flex-direction:column; gap:12px; }
.chief-intro{ display:flex; gap:11px; align-items:flex-start; }
.chief-orb{ width:32px; height:32px; border-radius:50%; background:var(--gold-grad); color:#241B07; display:grid; place-items:center; font-weight:800; flex:none; }
.chief-hi{ font-size:13px; color:var(--ink-soft); line-height:1.5; padding-top:6px; }
.chief-msg{ background:var(--paper-warm); border:1px solid var(--line); border-radius:13px; padding:14px; }
.chief-msg.ok{ background:#EEF7F0; border-color:color-mix(in srgb,var(--success) 22%,transparent); }
.chief-msg p{ margin:0 0 10px; font-size:13.5px; line-height:1.5; color:var(--ink); }
.chief-msg.ok p{ margin:0; color:var(--ink); }
.chief-impact{ font-family:var(--font-mono); font-size:11px; color:var(--gold-deep); margin-bottom:10px; }
.chief-cites{ display:flex; gap:5px; margin-bottom:10px; }
.chief-quick{ margin-top:4px; } .chief-qrow{ display:flex; flex-wrap:wrap; gap:6px; }
.chief-chip{ font-size:12px; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:6px 11px; background:var(--paper); transition:border-color .15s ease; }
.chief-chip:hover{ border-color:var(--gold); color:var(--ink); }
/* publish freshness ring */
.freshness .ring{ --p:93; border-radius:50%; flex:none; display:grid; place-items:center; background:conic-gradient(var(--gold) calc(var(--p)*1%), var(--paper-2) 0); position:relative; }
.freshness .ring::before{ content:""; position:absolute; inset:5px; border-radius:50%; background:var(--paper); }
.freshness .ring .rn{ position:relative; font-weight:800; letter-spacing:-0.03em; color:var(--gold-deep); }
/* executive command center */
.exec-brief{ background:var(--graphite); color:#fff; border-radius:20px; padding:26px 28px; position:relative; overflow:hidden; isolation:isolate; margin-bottom:8px; }
.exec-brief .tx{ position:absolute; inset:0; z-index:0; background-image:var(--tex); background-size:200px; opacity:.05; mix-blend-mode:overlay; }
.exec-brief .glow{ position:absolute; inset:0; z-index:0; background:radial-gradient(70% 90% at 88% 0%, rgba(178,138,66,0.18), transparent 60%); }
.exec-brief>*{ position:relative; z-index:1; }
.eb-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.eb-head .eb-l{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); }
.eb-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.eb-stat{ background:rgba(255,255,255,0.04); border:1px solid var(--line-dark); border-radius:13px; padding:16px 18px; cursor:pointer; transition:border-color .2s ease, background .2s ease; }
.eb-stat:hover{ border-color:rgba(220,192,137,0.45); background:rgba(255,255,255,0.06); }
.eb-n{ font-family:var(--font-sans); font-weight:800; font-size:28px; letter-spacing:-0.04em; line-height:1; }
.eb-n.gold{ color:var(--gold-light); } .eb-n.red{ color:#E89A8C; } .eb-n.blue{ color:#9DB6F2; } .eb-n.green{ color:#7CCFA0; }
.eb-d{ font-size:12.5px; color:var(--on-dark-soft); margin-top:6px; }
.exec-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:8px; }
.exec-card{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px; box-shadow:var(--sh-1); display:flex; flex-direction:column; }
.exc-h{ display:flex; gap:11px; align-items:flex-start; margin-bottom:12px; }
.exc-n{ width:24px; height:24px; border-radius:7px; background:var(--gold); color:#241B07; display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:600; flex:none; }
.exc-t{ font-size:15px; font-weight:700; letter-spacing:-0.02em; line-height:1.25; }
.exc-why{ font-size:13px; color:var(--ink-soft); line-height:1.5; margin-bottom:12px; }
.exc-why b{ color:var(--ink); }
.exc-ev{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.exc-meta{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }
.exc-act{ display:flex; gap:8px; margin-top:auto; }
/* entity manager cards */
.ent-type-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
.ent-type{ display:flex; align-items:center; gap:12px; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:12px 16px; }
.entcard-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.entcard{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px; box-shadow:var(--sh-1); cursor:pointer; transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .25s ease; }
.entcard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--gold); }
.entcard-h{ display:flex; gap:12px; align-items:center; margin-bottom:16px; }
.entcard-h .lo{ width:42px; height:42px; border-radius:11px; background:var(--char); color:#fff; display:grid; place-items:center; font-weight:800; font-size:16px; flex:none; }
.entcard-h h3{ font-size:17px; font-weight:700; letter-spacing:-0.02em; margin:0; }
.entcard-scores{ display:flex; gap:24px; padding:14px 0; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); margin-bottom:14px; }
.entcard-scores .es-n{ font-family:var(--font-sans); font-weight:800; font-size:22px; letter-spacing:-0.04em; line-height:1; }
.entcard-scores .es-n.hi{ color:var(--success); } .entcard-scores .es-n.mid{ color:var(--warn); } .entcard-scores .es-n.lo{ color:var(--error); }
.entcard-scores .es-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); margin-top:4px; }
.entcard-conn{ display:flex; flex-wrap:wrap; gap:8px 14px; margin-bottom:14px; }
.entcard-conn .ec{ font-size:12px; color:var(--ink-soft); } .entcard-conn .ec b{ color:var(--ink); font-weight:700; }
.entcard-f{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--line-soft); }
/* entity detail */
.ent-hero{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:24px 26px; margin-bottom:22px; }
.ent-hero .eh-l{ display:flex; align-items:center; gap:16px; }
.ent-hero .lo{ width:60px; height:60px; border-radius:15px; background:var(--char); color:#fff; display:grid; place-items:center; font-weight:800; font-size:24px; flex:none; }
.eh-scores{ display:flex; gap:22px; }
.ehs{ text-align:center; } .ehs-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); margin-top:8px; }
.ehs-ring{ width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--gold) calc(var(--p)*1%), var(--paper-2) 0); position:relative; }
.ehs-ring.blue{ background:conic-gradient(var(--sapphire) calc(var(--p)*1%), var(--paper-2) 0); }
.ehs-ring::before{ content:""; position:absolute; inset:6px; border-radius:50%; background:var(--paper); }
.ehs-ring span{ position:relative; font-weight:800; font-size:16px; letter-spacing:-0.03em; }
.ehs-big{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.03em; color:var(--ink); padding-top:18px; }
.ent-cols{ display:grid; grid-template-columns:1fr 340px; gap:22px; align-items:start; }
.ent-block{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px 22px; box-shadow:var(--sh-1); margin-bottom:18px; }
.ent-block h3{ font-size:16px; font-weight:700; letter-spacing:-0.02em; margin:0 0 14px; }
.ent-desc{ font-size:14px; color:var(--ink-soft); line-height:1.6; margin:0 0 16px; }
.ent-facts{ display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; }
.ef-k{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.ef-v{ font-size:13.5px; font-weight:600; margin-top:2px; }
.rel-graph{ display:flex; flex-direction:column; align-items:center; gap:16px; padding:10px 0; }
.rg-center{ font-family:var(--font-sans); font-weight:800; font-size:18px; letter-spacing:-0.03em; background:var(--char); color:#fff; padding:12px 24px; border-radius:12px; }
.rg-spokes{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.rg-spoke{ display:flex; flex-direction:column; align-items:center; gap:4px; border:1px solid var(--line); border-radius:11px; padding:10px 14px; background:var(--paper-warm); }
.rg-rel{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); }
.rg-node{ font-size:13px; font-weight:600; }
.health-list{ display:grid; gap:2px; } .hl-row{ display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-top:1px solid var(--line-soft); }
.hl-row:first-child{ border-top:none; } .hl-row .cb{ width:18px; height:18px; border-radius:6px; display:grid; place-items:center; font-size:10px; flex:none; }
.hl-row .cb.y{ background:#EEF7F0; color:var(--success); } .hl-row .cb.n{ background:#FBF1E2; color:var(--warn); }
.hl-k{ font-size:13px; font-weight:600; } .hl-v{ font-size:11.5px; color:var(--ink-mute); }
.ment-row{ display:flex; justify-content:space-between; padding:7px 0; border-top:1px solid var(--line-soft); font-size:13px; }
.ment-row:first-of-type{ border-top:none; } .ment-row b{ font-weight:700; }
.ent-ai{ background:var(--graphite); color:#fff; border-color:var(--line-dark); }
.ent-ai h3{ color:var(--gold-light); }
.sugg-list{ display:grid; gap:7px; }
.sugg{ display:flex; align-items:center; gap:9px; text-align:left; width:100%; background:rgba(255,255,255,0.05); border:1px solid var(--line-dark); border-radius:9px; padding:9px 12px; font-size:12.5px; color:#fff; transition:border-color .15s ease; }
.sugg:hover{ border-color:var(--gold); } .sugg-ic{ width:18px; height:18px; border-radius:5px; background:var(--gold); color:#241B07; display:grid; place-items:center; font-weight:700; flex:none; }
/* timeline change drawer */
.tl-change{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.tlc-box{ flex:1; border-radius:12px; padding:14px 16px; border:1px solid var(--line); }
.tlc-box.old{ background:#FBEEEE; border-color:color-mix(in srgb,var(--error) 22%,transparent); }
.tlc-box.neu{ background:#EEF7F0; border-color:color-mix(in srgb,var(--success) 22%,transparent); }
.tlc-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:6px; }
.tlc-v{ font-size:13px; font-weight:600; } .tlc-arr{ color:var(--ink-faint); font-size:18px; }
.tl-affect{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tla-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:7px; }
.tla-row{ font-size:12.5px; color:var(--ink-soft); padding:3px 0; }
.tl-row.clickable{ cursor:pointer; } .tl-row.clickable:hover .tl-card{ border-color:var(--gold); }
/* knowledge db toolbar */
.kdb-toolbar{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.kdb-search{ display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:9px; padding:8px 12px; background:var(--paper); min-width:200px; }
.kdb-search svg{ width:15px; height:15px; color:var(--ink-mute); flex:none; } .kdb-search input{ border:none; outline:none; font-family:var(--font-sans); font-size:13px; background:none; width:100%; }
.kdb-fchips{ display:flex; gap:6px; flex-wrap:wrap; } .kdb-bulk{ display:flex; gap:6px; }
@media (max-width:1100px){ .eb-grid,.exec-cards,.entcard-grid{ grid-template-columns:1fr; } .ent-cols{ grid-template-columns:1fr; } .ent-facts,.tl-affect{ grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════════
   AGNUS Dashboard — 4-section upgrade: Keywords / Research / Clusters / Pipeline
   ═══════════════════════════════════════════════════════════════════ */

/* ── DISCOVERY ENGINE ─────────────────────────────────────────────── */
.de-block{ background:var(--graphite); color:#fff; border-radius:18px; padding:22px 26px; margin-bottom:20px; position:relative; overflow:hidden; isolation:isolate; }
.de-block::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 120% at 90% 0%, rgba(178,138,66,0.18), transparent 60%); pointer-events:none; }
.de-header{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; position:relative; z-index:1; }
.de-orb{ width:38px; height:38px; border-radius:50%; background:var(--gold-grad); box-shadow:0 0 18px -4px var(--gold); flex:none; animation:pulse 2.4s ease infinite; }
.de-info .de-title{ font-family:var(--font-sans); font-weight:700; font-size:16px; letter-spacing:-0.02em; color:#fff; }
.de-info .de-sub{ font-family:var(--font-mono); font-size:11px; color:var(--on-dark-soft); margin-top:3px; }
.de-stats{ display:flex; gap:18px; flex-wrap:wrap; }
.des{ text-align:center; }
.des .des-v{ font-family:var(--font-sans); font-weight:800; font-size:22px; letter-spacing:-0.04em; color:var(--gold-light); line-height:1; }
.des .des-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); margin-top:3px; }
.de-act{ display:flex; gap:10px; flex-wrap:wrap; margin-left:auto; }

/* ── KW MODE SELECTOR ─────────────────────────────────────────────── */
.kw-mode{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.kwm{ font-size:13.5px; font-weight:600; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:9px 18px; background:var(--paper); transition:all .18s ease; }
.kwm:hover{ border-color:var(--ink-faint); color:var(--ink); }
.kwm.on{ background:var(--char); color:#fff; border-color:var(--char); }

/* ── KW CARD v2 (with evidence) ───────────────────────────────────── */
.kw2 .kw-evidence{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:10px 12px; margin-bottom:12px; }
.kwe-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:7px; }
.kwe-i{ font-size:12px; color:var(--ink-soft); padding:3px 0; border-top:1px solid var(--line-soft); }
.kwe-i:first-of-type{ border-top:none; }
.kw-acts{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }

/* ── KW DETAIL DRAWER ─────────────────────────────────────────────── */
.kwd-section{ display:flex; gap:0; padding:12px 0; border-top:1px solid var(--line-soft); }
.kwd-section:first-of-type{ border-top:none; }
.kwd-k{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); width:140px; flex:none; padding-top:2px; }
.kwd-v{ flex:1; font-size:13.5px; color:var(--ink); line-height:1.5; }

/* ── RESEARCH PANEL v2 ────────────────────────────────────────────── */
.rs-cards{ display:grid; grid-template-columns:repeat(7,1fr); gap:12px; margin-bottom:20px; }
.rs-card{ background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px; text-align:center; box-shadow:var(--sh-1); }
.rs-n{ font-family:var(--font-sans); font-weight:800; font-size:20px; letter-spacing:-0.04em; }
.rs-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-top:4px; }
.rs-actions{ display:flex; gap:9px; flex-wrap:wrap; margin-bottom:22px; }
.rs-grid{ display:grid; grid-template-columns:1fr 260px; gap:22px; align-items:start; }
.rs-main{ display:flex; flex-direction:column; gap:0; }
.rs-aside{ position:sticky; top:80px; }
.rsrc-group{ margin-bottom:20px; }
.rsrc-gh{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); padding:10px 0 8px; border-bottom:1px solid var(--line-soft); margin-bottom:4px; }
.rsrc-row{ cursor:pointer; transition:background .18s ease; border-radius:10px; overflow:hidden; }
.rsrc-row:hover{ background:var(--paper-warm); }
.rsrc-main{ display:flex; align-items:center; gap:12px; padding:11px 12px; }
.rsrc-left{ flex:1; }
.rsrc-left .rname{ font-size:14px; font-weight:600; }
.rsrc-left .ru{ font-family:var(--font-mono); font-size:10px; color:var(--ink-mute); margin-top:2px; }
.rconf{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); }
.rsrc-expand{ display:none; padding:4px 12px 14px; background:var(--paper-warm); border-radius:0 0 10px 10px; }
.rsrc-row.open .rsrc-expand{ display:block; }
.rsrc-row2{ display:grid; grid-template-columns:1fr 1fr; gap:6px 18px; margin-bottom:10px; }
.re-row{ display:flex; gap:8px; font-size:12px; }
.re-k{ color:var(--ink-mute); flex:none; width:100px; }
.re-v{ font-weight:600; }
.rsrc-ev .rev-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:5px; }
.rsrc-ev .rev-i{ font-size:12px; color:var(--ink-soft); padding:2px 0; }
.rs-section{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin-bottom:16px; box-shadow:var(--sh-1); }
.rs-sh{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:12px; }
.rs-ev-list{ display:grid; gap:6px; }
.rs-ev-i{ display:flex; align-items:baseline; gap:8px; font-size:13px; color:var(--ink-soft); padding:4px 0; border-top:1px solid var(--line-soft); }
.rs-ev-i:first-child{ border-top:none; }
.rs-conflict{ background:#FBF7EF; border:1px solid color-mix(in srgb,var(--warn) 30%,transparent); border-radius:14px; padding:18px 20px; margin-bottom:16px; }
.rsc-h{ display:flex; align-items:center; gap:10px; font-size:14.5px; margin-bottom:8px; }
.rsc-dot{ width:10px; height:10px; border-radius:50%; background:var(--warn); flex:none; animation:pulse 1.8s ease infinite; }
.rsc-detail{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); margin-bottom:12px; }
.rsc-row{ display:flex; align-items:center; gap:10px; padding:7px 0; font-size:13px; color:var(--ink); border-top:1px solid color-mix(in srgb,var(--warn) 18%,transparent); }
.rsc-note{ font-size:12.5px; color:var(--ink-soft); margin-top:10px; }
.rs-tl{ display:grid; gap:8px; }
.rs-tl-i{ display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:9px; background:var(--paper); border:1px solid var(--line-soft); font-size:13px; }
.rs-tl-t{ font-family:var(--font-mono); font-size:11px; color:var(--ink-mute); width:90px; flex:none; }
.rs-tl-d{ flex:1; font-weight:600; }
.rs-comp-list{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:11px; overflow:hidden; }
.rs-comp-i .check{ padding:10px 14px; background:var(--paper); margin:0; }
.rs-cites{ display:flex; gap:7px; flex-wrap:wrap; }
.rs-cite{ font-family:var(--font-mono); font-size:12px; color:var(--sapphire); background:var(--sapphire-soft); border:1px solid color-mix(in srgb,var(--sapphire) 28%,transparent); border-radius:7px; padding:4px 10px; }
.rs-ents{ display:flex; flex-wrap:wrap; gap:7px; }
.rs-ent{ font-size:13px; font-weight:600; border:1px solid var(--line); border-radius:9px; padding:7px 12px; background:var(--paper); color:var(--ink); transition:border-color .15s ease; }
.rs-ent:hover{ border-color:var(--gold); color:var(--gold-deep); }

/* ── TOPIC CLUSTERS v2 ─────────────────────────────────────────────── */
.cluster-hint{ cursor:pointer; }
.clu-layout{ display:grid; grid-template-columns:1fr 300px; gap:22px; align-items:start; }
.clu-main{ }
.clu-side{ position:sticky; top:80px; display:flex; flex-direction:column; gap:14px; }
.clu-health{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px 22px; box-shadow:var(--sh-1); }
.ch-row{ display:flex; align-items:center; gap:10px; padding:5px 0; }
.ch-k{ font-size:12px; color:var(--ink-soft); width:148px; flex:none; }
.ch-bar{ flex:1; } .ch-v{ font-family:var(--font-mono); font-size:11px; font-weight:600; color:var(--gold-deep); width:34px; text-align:right; }
.clu-suggestions{ background:var(--graphite); color:#fff; border-radius:16px; padding:20px 22px; }
.cs-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:14px; }
.clu-sug{ padding:12px 0; border-top:1px solid var(--line-dark); }
.clu-sug:first-of-type{ border-top:none; padding-top:0; }
.clu-sug-t{ font-size:13px; color:rgba(245,244,241,0.88); line-height:1.4; margin-bottom:9px; }
.clu-sug-t b{ color:#fff; }
.clu-sug-acts{ display:flex; gap:7px; flex-wrap:wrap; }
/* cluster map */
.clu-map{ background:var(--graphite); border-radius:14px; padding:24px; position:relative; overflow:hidden; }
.cm-pillar{ display:flex; align-items:center; justify-content:center; background:var(--gold-grad); color:#241B07; font-weight:700; font-size:14px; border-radius:11px; padding:12px 20px; margin-bottom:16px; text-align:center; }
.cm-row{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:14px; }
.cm-node{ font-size:12.5px; font-weight:600; border-radius:9px; padding:9px 14px; border:1px solid var(--line-dark); }
.cm-node.pub{ background:#1A3B2A; color:#7CCFA0; border-color:#2E8B57; }
.cm-node.miss{ background:rgba(184,60,60,0.18); color:#E89A8C; border-color:#B83C3C; border-style:dashed; }
.cm-node.prod{ background:rgba(62,106,225,0.18); color:#9DB6F2; border-color:var(--sapphire); }
.cm-node.draft{ background:rgba(198,122,0,0.18); color:#E8B46A; border-color:var(--warn); }
.cm-legend{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-bottom:16px; }
.cml{ display:flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:10.5px; color:var(--on-dark-soft); }
.cml-dot{ width:9px; height:9px; border-radius:50%; }
.cml-dot.pub{ background:var(--success); } .cml-dot.miss{ background:var(--error); } .cml-dot.prod{ background:var(--sapphire); } .cml-dot.draft{ background:var(--warn); }
.cm-controls{ border-top:1px solid var(--line-dark); padding-top:14px; }

/* ── ARTICLE PIPELINE v2 ──────────────────────────────────────────── */
.pipe-health{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:16px 20px; margin-bottom:14px; box-shadow:var(--sh-1); }
.ph-stats{ display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.phs{ font-size:13.5px; font-weight:600; color:var(--ink); padding:0 16px; border-right:1px solid var(--line); }
.phs:last-child{ border-right:none; }
.phs-red{ color:var(--error); } .phs-green{ color:var(--success); } .phs-blue{ color:var(--sapphire); }
.pipe-filters{ margin-bottom:14px; }
.ai-queue{ display:flex; align-items:center; gap:18px; background:var(--graphite); border-radius:12px; padding:12px 18px; margin-bottom:18px; flex-wrap:wrap; }
.aq-h{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); flex:none; }
.aq-stats{ display:flex; gap:18px; flex-wrap:wrap; }
.aqs{ display:flex; align-items:center; gap:8px; cursor:pointer; }
.aqs-l{ font-size:13px; color:var(--on-dark-soft); }
.aqs b{ font-family:var(--font-sans); font-weight:800; font-size:18px; letter-spacing:-0.03em; color:#fff; }
/* smart kanban card */
.kcard2 h4{ font-size:14px; font-weight:700; letter-spacing:-0.015em; margin:0 0 7px; line-height:1.3; }
.kcard2-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:10px; }
.kc2s{ background:var(--paper-warm); border-radius:7px; padding:6px 7px; text-align:center; }
.kc2s .kc2l{ font-family:var(--font-mono); font-size:8px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); display:block; }
.kc2s b{ font-family:var(--font-sans); font-size:13px; font-weight:800; letter-spacing:-0.02em; }
.kcard2-owner{ display:flex; align-items:center; gap:7px; }
.kcard2-acts{ display:flex; gap:7px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line-soft); }
.kc2-more{ position:relative; }
.more-menu{ display:none; position:absolute; bottom:calc(100% + 6px); right:0; width:220px; background:var(--graphite); border:1px solid var(--line-dark); border-radius:13px; padding:6px; box-shadow:var(--sh-3); z-index:50; }
.more-menu.open{ display:block; }
.mm-i{ display:block; width:100%; text-align:left; padding:9px 12px; font-size:13px; color:var(--on-dark); background:none; border:none; border-radius:8px; transition:background .12s ease; }
.mm-i:hover{ background:rgba(245,244,241,0.08); }
/* article detail drawer */
.art-meta-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:18px; }
.am{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:10px 12px; }
.am-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.am-v{ font-size:14px; font-weight:700; letter-spacing:-0.01em; margin-top:3px; }

@media (max-width:1100px){
  .rs-cards{ grid-template-columns:repeat(4,1fr); }
  .rs-grid{ grid-template-columns:1fr; }
  .rs-aside{ position:static; }
  .clu-layout{ grid-template-columns:1fr; }
  .clu-side{ position:static; }
  .art-meta-row{ grid-template-columns:repeat(2,1fr); }
  .kcard2-stats{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px){
  .rs-cards{ grid-template-columns:repeat(2,1fr); }
  .de-stats{ display:none; }
}
/* ═══════════════════════════════════════════════════════════════════
   AGNUS Dashboard — Story Builder v2 / AI Writer v2 / Human Review /
   Publishing Calendar v2 / Content Archive v2
   ═══════════════════════════════════════════════════════════════════ */

/* ── STORY BUILDER ─────────────────────────────────────────────────── */
.sb-steps-bar{ display:flex; gap:6px; overflow-x:auto; padding:4px 0 12px; margin-bottom:18px; }
.sb-steps-bar::-webkit-scrollbar{ height:0; }
.sb-step{ flex:none; font-size:12px; font-weight:600; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:8px 14px; background:var(--paper); white-space:nowrap; transition:all .18s ease; }
.sb-step:hover{ border-color:var(--ink-faint); color:var(--ink); }
.sb-step.on{ background:var(--char); color:#fff; border-color:var(--char); }
.sb-step.done{ background:var(--success); color:#fff; border-color:var(--success); }
.sb-layout{ display:grid; grid-template-columns:1fr 280px; gap:22px; align-items:start; }
.sb-main{ display:flex; flex-direction:column; gap:14px; }
.sb-workspace{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:24px 26px; box-shadow:var(--sh-1); }
.sb-ws-h{ font-family:var(--font-sans); font-weight:700; font-size:18px; letter-spacing:-0.025em; margin-bottom:18px; }
.sb-nav{ display:flex; align-items:center; gap:12px; padding:14px 0 0; border-top:1px solid var(--line); }
.sb-aside{ position:sticky; top:80px; }
.sb-summary{ background:var(--graphite); color:#fff; border-radius:16px; padding:20px 22px; }
.sb-sum-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:14px; }
.sb-sum-row{ display:flex; align-items:baseline; gap:8px; padding:6px 0; border-top:1px solid var(--line-dark); font-size:12.5px; }
.sb-sum-row:first-of-type{ border-top:none; }
.sbsr-k{ color:var(--on-dark-mute); width:120px; flex:none; font-size:11.5px; }
.sbsr-v{ color:#fff; font-weight:600; }
/* sb opp cards */
.sb-opp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sb-opp-card{ text-align:left; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); transition:all .18s ease; }
.sb-opp-card:hover{ border-color:var(--ink-faint); }
.sb-opp-card.on{ border-color:var(--gold); background:var(--gold-soft); }
.sob-t{ font-size:13px; font-weight:700; letter-spacing:-0.01em; }
.sob-d{ font-size:11.5px; color:var(--ink-soft); margin-top:3px; }
.sb-acts{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
/* sb topic */
.sb-topic-card{ background:var(--paper-warm); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.stc-title{ font-family:var(--font-sans); font-weight:700; font-size:18px; letter-spacing:-0.025em; margin-bottom:14px; }
.stc-rows{ display:grid; gap:8px; }
.stc-row{ display:flex; gap:12px; font-size:13px; }
.stc-k{ color:var(--ink-mute); width:90px; flex:none; }
.stc-v{ font-weight:600; }
/* sb keyword strategy */
.sb-kw-grid{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.sb-kw-row{ display:flex; gap:12px; padding:10px 14px; background:var(--paper); font-size:13px; }
.sbkw-l{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); width:110px; flex:none; padding-top:1px; }
.sbkw-v{ color:var(--ink); font-weight:500; }
/* sb angle cards */
.sb-angles{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sb-angle-card{ text-align:left; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--paper); transition:all .18s ease; }
.sb-angle-card:hover{ border-color:var(--ink-faint); }
.sb-angle-card.on{ border-color:var(--gold); background:var(--gold-soft); }
.sba-t{ font-size:14px; font-weight:700; letter-spacing:-0.015em; margin-bottom:5px; }
.sba-d{ font-size:11.5px; color:var(--ink-soft); }
/* sb monetization cards */
.sb-mono-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sb-mono-card{ text-align:left; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); transition:all .18s ease; }
.sb-mono-card.on{ border-color:var(--gold); background:var(--gold-soft); }
.sbm-t{ font-size:13px; font-weight:700; letter-spacing:-0.01em; }
.sbm-d{ font-size:11.5px; color:var(--ink-soft); margin-top:3px; }
/* sb seo grid */
.sb-seo-grid{ display:grid; gap:8px; }
.sb-seo-row{ display:flex; gap:12px; padding:8px 0; border-top:1px solid var(--line-soft); font-size:13px; }
.sb-seo-row:first-of-type{ border-top:none; }
.sbseo-k{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); width:110px; flex:none; padding-top:1px; }
.sbseo-v{ color:var(--ink); font-weight:500; flex:1; }
/* sb audience */
.sb-audience{ display:flex; flex-direction:column; gap:12px; }
/* sb outline */
.sb-outline{ display:grid; gap:12px; }
.sb-ol-row{ display:flex; gap:14px; }
.sb-ol-n{ width:28px; height:28px; border-radius:8px; background:var(--gold); color:#241B07; display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:600; flex:none; }
.sb-ol-body{ flex:1; background:var(--paper-warm); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.sb-ol-h{ font-size:15px; font-weight:700; letter-spacing:-0.02em; margin-bottom:10px; }
.sb-ol-grid{ display:grid; grid-template-columns:1fr 1fr; gap:6px 18px; }
.sb-og{ display:flex; gap:8px; font-size:12px; }
.sog-l{ color:var(--ink-mute); width:80px; flex:none; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.04em; text-transform:uppercase; padding-top:1px; }
/* sb entities */
.sb-ents{ display:flex; flex-wrap:wrap; gap:7px; }
/* sb questions */
.sb-qlist{ display:grid; gap:10px; }
.sb-q{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:12px 14px; }
.sbq-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:5px; }
.sbq-v{ font-size:13px; color:var(--ink); }
/* sb checklist */
.sb-checklist.checklist{ background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
/* chief group label */
.chief-group-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-deep); margin:12px 0 4px; }

/* ── AI WRITER v2 ─────────────────────────────────────────────────── */
.writer-status-bar{ background:var(--paper-warm); border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin-bottom:14px; }
.wsb-modes{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.wsb-mode{ font-size:12px; font-weight:600; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:6px 13px; background:var(--paper); transition:all .18s ease; }
.wsb-mode:hover{ border-color:var(--ink-faint); }
.wsb-mode.on{ background:var(--char); color:#fff; border-color:var(--char); }
.wsb-cards{ display:flex; gap:8px; overflow-x:auto; padding-bottom:2px; }
.wsb-cards::-webkit-scrollbar{ height:0; }
.wsb-card{ flex:none; background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:8px 10px; min-width:72px; text-align:center; cursor:pointer; transition:all .18s ease; }
.wsb-card:hover{ border-color:var(--gold); }
.wsb-l{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.wsb-v{ font-size:13px; font-weight:700; margin-top:3px; }
.wsb-v.green{ color:var(--success); } .wsb-v.warn{ color:var(--warn); }
/* outline item states */
.sb-ol-item{ padding:9px 10px; border-radius:9px; border:1px solid transparent; transition:all .18s ease; margin-bottom:4px; cursor:pointer; }
.sb-ol-item:hover{ background:var(--paper-2); }
.sb-ol-item.on{ background:var(--gold-soft); border-color:var(--gold); }
.soli-top{ display:flex; align-items:center; gap:8px; justify-content:space-between; }
.soli-t{ font-size:13px; font-weight:600; flex:1; }
.soli-meta{ display:flex; gap:8px; margin-top:4px; }
/* paragraph hover toolbar */
.para-hover-block{ position:relative; }
.para-toolbar{ display:none; position:absolute; top:-34px; left:0; z-index:10; display:flex; gap:4px; background:var(--graphite); border-radius:9px; padding:5px 8px; box-shadow:var(--sh-3); }
.para-hover-block:hover .para-toolbar{ display:flex; }
.pt-b{ font-family:var(--font-mono); font-size:10.5px; color:var(--on-dark); border:none; background:none; padding:3px 6px; border-radius:5px; white-space:nowrap; transition:background .12s ease; }
.pt-b:hover{ background:rgba(245,244,241,0.12); }
/* writer tabs */
.writer-tabs{ display:flex; gap:2px; overflow-x:auto; flex-wrap:nowrap; position:relative; }
.writer-tabs::-webkit-scrollbar{ height:0; }
.writer-tab{ font-size:11.5px; font-weight:500; color:var(--ink-soft); border:none; background:none; padding:6px 10px; border-radius:6px; white-space:nowrap; transition:all .15s ease; }
.writer-tab:hover{ background:var(--paper-2); color:var(--ink); }
.writer-tab.on{ background:var(--char); color:#fff; }
.writer-tab-more{ display:none; position:absolute; top:calc(100%+4px); right:0; z-index:30; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:6px; box-shadow:var(--sh-3); min-width:160px; }
.writer-tab.open + .writer-tab-more{ display:block; }
.wmm-i{ display:block; width:100%; text-align:left; padding:8px 12px; font-size:13px; color:var(--ink); background:none; border:none; border-radius:7px; }
.wmm-i:hover{ background:var(--paper-warm); }

/* ── HUMAN REVIEW ─────────────────────────────────────────────────── */
.hr-hero{ display:flex; gap:24px; background:var(--graphite); color:#fff; border-radius:18px; padding:28px 30px; margin-bottom:16px; position:relative; overflow:hidden; isolation:isolate; align-items:center; flex-wrap:wrap; }
.hr-hero::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 120% at 90% 0%, rgba(178,138,66,0.18), transparent 60%); }
.hr-hero > *{ position:relative; z-index:1; }
.hr-ring-wrap{ text-align:center; flex:none; }
.hr-ring-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); margin-top:8px; }
.hr-hero .ring::before{ background:var(--graphite); }
.hr-hero .ring .rn{ color:var(--gold-light); }
.hr-hero-detail{ flex:1; }
.hr-status{ margin-bottom:14px; }
.hr-meta-row{ display:flex; gap:22px; flex-wrap:wrap; margin-bottom:16px; }
.hr-meta{ }
.hrm-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); }
.hrm-v{ font-family:var(--font-sans); font-weight:800; font-size:20px; letter-spacing:-0.03em; }
.hr-checks{ display:flex; flex-wrap:wrap; gap:6px; }
.hr-check{ font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:0.04em; border-radius:7px; padding:4px 9px; }
.hr-check.ok{ color:var(--success); background:rgba(46,139,87,0.18); }
.hr-check.warn{ color:var(--warn); background:rgba(198,122,0,0.18); }
.hr-check.fail{ color:var(--error); background:rgba(184,60,60,0.18); }
.hr-critical{ background:#FBF7EF; border:1px solid color-mix(in srgb,var(--warn) 30%,transparent); border-radius:16px; padding:20px 22px; margin-bottom:16px; }
.hrc-h{ font-family:var(--font-sans); font-weight:700; font-size:16px; letter-spacing:-0.02em; margin-bottom:14px; }
.hrc-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid color-mix(in srgb,var(--warn) 18%,transparent); }
.hrc-row:first-of-type{ border-top:none; padding-top:0; }
.hrc-left .hrc-t{ font-size:14px; font-weight:700; }
.hrc-left .hrc-d{ font-size:12.5px; color:var(--ink-soft); margin-top:3px; max-width:44ch; }
.hrc-right{ display:flex; align-items:center; gap:10px; flex:none; }
.hrc-gain{ font-family:var(--font-sans); font-weight:800; font-size:16px; letter-spacing:-0.03em; color:var(--success); }
.hr-two-col{ display:grid; grid-template-columns:1fr 340px; gap:20px; align-items:start; }
.hr-sh{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
.hr-summary-card{ padding:20px 22px; margin-bottom:16px; }
.hr-sum-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; }
.hr-sum-row{ display:flex; gap:8px; font-size:12.5px; }
.hrsr-k{ color:var(--ink-mute); width:90px; flex:none; }
.hrsr-v{ font-weight:600; }
.hr-recs{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px 22px; box-shadow:var(--sh-1); position:sticky; top:80px; }
.hr-rec-row{ padding:14px 0; border-top:1px solid var(--line-soft); }
.hr-rec-row:first-of-type{ border-top:none; padding-top:0; }
.hrr-t{ font-size:14px; font-weight:700; letter-spacing:-0.015em; }
.hrr-d{ font-size:12.5px; color:var(--ink-soft); margin-top:3px; }
.hrr-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.hrr-gain{ font-family:var(--font-sans); font-weight:800; font-size:15px; color:var(--success); }
.hr-quality{ display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.hr-qcat{ background:var(--paper); border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.hr-qcat-h{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:14px 16px; background:none; border:none; font-size:14px; font-weight:600; color:var(--ink); transition:background .16s ease; }
.hr-qcat-h:hover{ background:var(--paper-warm); }
.hqh-ic{ font-size:16px; }
.hqh-t{ flex:1; }
.hqh-score{ font-family:var(--font-mono); font-size:12px; color:var(--ink-mute); }
.hr-qcat-body{ display:none; padding:4px 16px 16px; }
.hr-qcat-h.open + .hr-qcat-body{ display:block; }
.why-block{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:9px; padding:12px 14px; margin-top:8px; }
.why-inner{ display:grid; gap:4px; }
.why-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-top:6px; }
.why-v{ font-size:13px; color:var(--ink); }
.hr-sticky-footer{ position:fixed; bottom:0; left:var(--sidebar-w); right:0; z-index:80; background:rgba(252,251,248,0.92); backdrop-filter:saturate(180%) blur(18px); border-top:1px solid var(--line); padding:14px 30px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.hr-sf-title{ font-size:15px; font-weight:700; letter-spacing:-0.02em; }
.hr-sf-acts{ display:flex; gap:8px; flex-wrap:wrap; }

/* ── PUBLISHING CALENDAR v2 ─────────────────────────────────────────── */
.cal-intel{ background:var(--graphite); color:#fff; border-radius:18px; padding:22px 26px; margin-bottom:18px; position:relative; overflow:hidden; isolation:isolate; }
.cal-intel::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 120% at 90% 0%, rgba(178,138,66,0.18), transparent 60%); pointer-events:none; }
.ci-stats{ display:flex; gap:22px; flex-wrap:wrap; margin-bottom:18px; position:relative; z-index:1; padding-bottom:18px; border-bottom:1px solid var(--line-dark); }
.ci-stat{ text-align:center; }
.ci-n{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.04em; line-height:1; }
.ci-n{ color:var(--gold-light); }
.ci-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); margin-top:4px; }
.ci-next{ position:relative; z-index:1; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.cin-l{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-light); flex:none; }
.cin-t{ font-size:16px; font-weight:700; color:#fff; letter-spacing:-0.02em; }
.cin-r{ font-size:13px; color:var(--on-dark-soft); flex:1; }
.cal-mini-meta{ display:flex; gap:6px; justify-content:space-between; margin-top:2px; }
.cal-day{ min-height:80px; }

/* ── CONTENT ARCHIVE ─────────────────────────────────────────────────── */
.arc-hero{ background:var(--graphite); color:#fff; border-radius:18px; padding:24px 28px; margin-bottom:18px; position:relative; overflow:hidden; isolation:isolate; }
.arc-hero::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 120% at 90% 0%, rgba(178,138,66,0.18), transparent 60%); pointer-events:none; }
.arc-hero-stats{ display:flex; gap:24px; flex-wrap:wrap; position:relative; z-index:1; }
.arc-stat{ text-align:center; }
.arc-n{ font-family:var(--font-sans); font-weight:800; font-size:22px; letter-spacing:-0.04em; line-height:1; color:var(--gold-light); }
.arc-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); margin-top:3px; }
.arc-table th, .arc-table td{ white-space:nowrap; }
.arc-analytics{ margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }

@media(max-width:1100px){
  .sb-layout{ grid-template-columns:1fr; }
  .sb-aside{ position:static; }
  .sb-opp-grid,.sb-angles,.sb-mono-grid{ grid-template-columns:1fr 1fr; }
  .hr-two-col{ grid-template-columns:1fr; }
  .hr-recs{ position:static; }
  .hr-sticky-footer{ left:0; }
  .wsb-cards{ flex-wrap:wrap; }
  .arc-hero-stats{ gap:14px; }
}
/* ══════════════════════ KNOWLEDGE UPGRADES v2 CSS ══════════════════════ */

/* Knowledge Flow chain */
.kf-chain{ display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:12px 0; }
.kf-node{ background:var(--graphite-2); color:var(--on-dark); font-family:var(--font-mono); font-size:12px; border:1px solid var(--line-dark); border-radius:8px; padding:8px 14px; cursor:pointer; transition:border-color .15s ease; }
.kf-node:hover{ border-color:var(--gold); }
.kf-arr{ color:var(--gold); font-size:16px; padding:2px 0 2px 14px; }

/* Connected Modules */
.kc-mods{ display:flex; flex-wrap:wrap; gap:7px; }
.kc-mod{ font-size:12.5px; color:var(--success); background:#EEF7F0; border:1px solid color-mix(in srgb,var(--success) 24%,transparent); border-radius:8px; padding:5px 11px; cursor:pointer; }

/* Business Impact */
.kb-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.kb-item{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:10px 12px; font-size:13px; cursor:pointer; }
.kb-item b{ display:block; font-size:15px; font-weight:700; letter-spacing:-0.02em; }

/* Coverage Heatmap */
.kh-bars{ display:grid; gap:8px; }
.kh-row{ display:flex; align-items:center; gap:12px; }
.kh-k{ font-size:12px; color:var(--ink-soft); width:90px; flex:none; }
.kh-bar{ flex:1; }
.kh-v{ font-family:var(--font-mono); font-size:11px; font-weight:600; color:var(--gold-deep); width:34px; text-align:right; }

/* Source Dependency */
.kd-dep{ display:flex; flex-direction:column; gap:4px; }
.kdf-row{ font-size:13px; color:var(--ink-soft); padding:5px 0; border-top:1px solid var(--line-soft); }
.kdf-row:first-child{ border-top:none; }

/* Provenance chain */
.kprov-chain{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.kprov-node{ font-size:13px; font-weight:600; background:var(--paper-warm); border:1px solid var(--line); border-radius:8px; padding:8px 14px; }
.kprov-arr{ color:var(--ink-faint); padding:2px 0 2px 14px; font-size:14px; }

/* Section header */
.kd-sec-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-deep); padding:20px 0 10px; }

/* ── SOURCE SCORING v2 ──────────────────────────────────────────── */
.ks-phil{ background:var(--graphite); color:#fff; border-radius:14px; padding:20px 22px; margin-bottom:4px; }
.ksp-text{ font-family:var(--font-sans); font-weight:700; font-size:18px; letter-spacing:-0.025em; margin-bottom:8px; }
.ks-phil p{ font-size:13.5px; color:var(--on-dark-soft); margin:0; line-height:1.6; }
.ksf-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:4px; }
.ksf-card{ background:var(--paper); border:1px solid var(--line); border-radius:13px; padding:16px; }
.ksf-pct{ font-family:var(--font-sans); font-weight:800; font-size:26px; letter-spacing:-0.04em; color:var(--gold-deep); line-height:1; }
.ksf-name{ font-weight:700; font-size:14px; margin:5px 0 4px; }
.ksf-q{ font-size:12px; color:var(--ink-soft); margin-bottom:5px; }
.ksf-ex{ font-size:11px; color:var(--ink-mute); line-height:1.4; }
.kse-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:4px; }
.kse-card{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px 20px; box-shadow:var(--sh-1); }
.kse-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.kse-top h3{ font-size:17px; font-weight:700; letter-spacing:-0.02em; margin:0 0 4px; }
.kse-overall{ font-family:var(--font-mono); font-size:12px; color:var(--ink-mute); }
.kse-explain{ background:var(--paper-warm); border:1px solid var(--line); border-radius:11px; padding:12px 14px; margin-top:10px; }
.kse-why-h{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px; }
.kse-weak{ font-size:12px; color:var(--warn); margin-top:8px; }
.ks2-layout{ display:grid; grid-template-columns:1fr 280px; gap:22px; align-items:start; }
.ks2-main{ display:flex; flex-direction:column; gap:0; }
.ks2-aside{ position:sticky; top:80px; display:flex; flex-direction:column; gap:14px; }
.ks-timeline{ background:var(--paper-warm); border:1px solid var(--line); border-radius:13px; padding:16px 18px; margin-bottom:4px; }
.ks-tl-bars{ display:flex; align-items:flex-end; gap:4px; height:60px; margin-bottom:8px; }
.ks-tl-bar{ flex:1; background:var(--gold-grad); border-radius:3px 3px 0 0; min-height:4px; cursor:pointer; transition:opacity .15s ease; }
.ks-tl-bar:hover{ opacity:.7; }
.ks-tl-labels{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:10px; color:var(--ink-mute); }
.ks-tl-note{ font-size:12px; color:var(--ink-soft); margin-top:8px; }
.ks-sim{ background:var(--paper-warm); border:1px solid var(--line); border-radius:13px; padding:16px 18px; margin-bottom:4px; }
.ks-sim-row{ display:flex; align-items:center; gap:8px; font-size:13.5px; flex-wrap:wrap; }
.ks-sim-sel{ border:1px solid var(--line); border-radius:8px; padding:7px 10px; font-family:var(--font-sans); font-size:13px; outline:none; background:var(--paper); }

/* ── KNOWLEDGE DATABASE v2 ─────────────────────────────────────── */
.kdb-entity-select{ display:flex; gap:7px; flex-wrap:wrap; margin-bottom:14px; }
.kdb-ov-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-bottom:4px; }
.kdb-ov-card{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:11px 13px; }
.kovc-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); }
.kovc-v{ font-size:14px; font-weight:700; letter-spacing:-0.01em; margin-top:3px; }
.kovc-v.green{ color:var(--success); }
.kdb-prov-row{ cursor:pointer; border:1px solid var(--line); border-radius:10px; padding:10px 14px; margin-bottom:8px; transition:border-color .15s ease; }
.kdb-prov-row:hover{ border-color:var(--gold); }
.kdbp-main{ display:flex; align-items:center; gap:10px; }
.kdbp-expand{ display:none; padding-top:10px; margin-top:10px; border-top:1px solid var(--line-soft); }
.kdb-prov-row.open .kdbp-expand{ display:block; }
.kdb-health-gauge{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; padding:8px 0; }
.kdb-hg-ring{ text-align:center; }
.kdb-hg-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-top:8px; }
.kdb-hg-detail{ flex:1; display:grid; gap:8px; }
.kdb-hg-row{ display:flex; align-items:center; gap:10px; font-size:13px; }
.kdb-hg-row span:first-child{ width:88px; flex:none; color:var(--ink-soft); }

/* ── KNOWLEDGE GRAPH v2 ────────────────────────────────────────── */
.kgh-bar{ display:flex; gap:20px; flex-wrap:wrap; background:var(--graphite); border-radius:14px; padding:16px 22px; margin-bottom:14px; }
.kgh-stat{ text-align:center; }
.kgh-v{ font-family:var(--font-sans); font-weight:800; font-size:22px; letter-spacing:-0.04em; line-height:1; }
.kgh-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); margin-top:3px; }
.kg-modes-wrap{ overflow-x:auto; margin-bottom:14px; }
.kg-modes{ display:flex; gap:7px; min-width:max-content; padding-bottom:6px; }
.kg-mode-btn{ font-size:12.5px; font-weight:500; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:7px 13px; background:var(--paper); transition:all .15s ease; white-space:nowrap; }
.kg-mode-btn:hover{ border-color:var(--ink-faint); }
.kg-mode-btn.on{ background:var(--char); color:#fff; border-color:var(--char); }
.kg-rel-legend{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.kg-rel-item{ display:flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:11px; color:var(--ink-soft); }
.kg-rel-dot{ width:9px; height:9px; border-radius:50%; flex:none; }
.kg-link-edge{ background:rgba(220,192,137,0.15); border:1px solid var(--gold); border-radius:6px; display:inline-flex; align-items:center; justify-content:center; }
.kg-controls{ display:flex; flex-wrap:wrap; gap:7px; }
.kg-ctrl{ padding:6px 11px !important; }
.kg2-layout{ display:grid; grid-template-columns:1fr 300px; gap:22px; align-items:start; }
.kg2-main{ display:flex; flex-direction:column; gap:0; }
.kg2-aside{ position:sticky; top:80px; display:flex; flex-direction:column; gap:14px; }
.kg-timeline-ctrl{ background:var(--paper-warm); border:1px solid var(--line); border-radius:13px; padding:14px 18px; margin-bottom:14px; }
.kg-tl-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
.kg-tl-year{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.04em; color:var(--ink); margin-top:8px; }
.hr-sh{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }

@media (max-width:1100px){
  .ksf-cards{ grid-template-columns:repeat(3,1fr); }
  .kse-grid{ grid-template-columns:1fr; }
  .ks2-layout,.kg2-layout{ grid-template-columns:1fr; }
  .ks2-aside,.kg2-aside{ position:static; }
  .kdb-ov-cards{ grid-template-columns:repeat(3,1fr); }
  .kb-grid{ grid-template-columns:repeat(2,1fr); }
}
/* ══════════════════════ IKEA ARTICLE BUILDER CSS ══════════════════════ */

/* Flight Plan */
.flight-plan{ display:flex; align-items:flex-start; gap:16px; background:var(--graphite); color:#fff; border-radius:18px; padding:22px 24px; position:relative; overflow:hidden; flex-wrap:wrap; }
.fp-icon{ font-size:28px; flex:none; }
.fp-body{ flex:1; min-width:200px; }
.fp-mission{ margin-bottom:12px; }
.fp-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); display:block; margin-bottom:3px; }
.fp-title{ font-family:var(--font-sans); font-weight:700; font-size:17px; letter-spacing:-0.02em; color:#fff; }
.fp-row{ display:flex; gap:20px; flex-wrap:wrap; margin-bottom:10px; }
.fp-stat{ }
.fp-sl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); display:block; margin-bottom:3px; }
.fp-stat b{ font-size:14px; color:#fff; font-weight:700; }
.fp-completed, .fp-missing{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:6px; font-family:var(--font-mono); font-size:10px; }
.fp-completed .fp-sl, .fp-missing .fp-sl{ color:var(--on-dark-mute); }
.fp-cta{ display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex:none; }
.fp-next{ text-align:right; }
.fp-na{ font-size:13px; color:var(--on-dark-soft); margin-top:3px; max-width:200px; line-height:1.4; }

/* Step Strip */
.step-strip{ display:flex; align-items:center; overflow-x:auto; padding:16px 0 18px; gap:0; margin-bottom:8px; }
.step-strip::-webkit-scrollbar{ height:0; }
.step-node{ display:flex; flex-direction:column; align-items:center; flex:none; cursor:pointer; position:relative; }
.sn-icon{ width:36px; height:36px; border-radius:50%; background:var(--paper-2); display:grid; place-items:center; font-size:16px; border:2px solid var(--line); transition:all .2s ease; }
.sn-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.04em; color:var(--ink-mute); margin-top:5px; white-space:nowrap; max-width:60px; text-align:center; overflow:hidden; text-overflow:ellipsis; }
.step-node.active .sn-icon{ background:var(--gold); color:#241B07; border-color:var(--gold); box-shadow:0 0 14px -2px var(--gold); }
.step-node.active .sn-label{ color:var(--gold-deep); font-weight:600; }
.step-node.done .sn-icon{ background:var(--success); color:#fff; border-color:var(--success); }
.step-node.done .sn-label{ color:var(--success); }
.sn-line{ position:absolute; top:18px; left:36px; width:clamp(20px,3vw,48px); height:2px; background:var(--line-strong); }
.sn-line.done{ background:var(--success); }

/* Mission Cards Grid */
.mission-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:8px; }
.mission-card{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px 22px; box-shadow:var(--sh-1); cursor:pointer; transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease; }
.mission-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--gold); }
.mc-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.mc-step{ font-family:var(--font-mono); font-size:10.5px; font-weight:600; letter-spacing:0.04em; padding:4px 10px; border-radius:999px; }
.mc-step.green{ color:var(--success); background:#EEF7F0; border:1px solid color-mix(in srgb,var(--success) 22%,transparent); }
.mc-step.gold{ color:var(--gold-deep); background:var(--gold-soft); border:1px solid #D9BF84; }
.mc-step.warn{ color:var(--warn); background:#FBF1E2; border:1px solid color-mix(in srgb,var(--warn) 22%,transparent); }
.mission-card h4{ font-size:16px; font-weight:700; letter-spacing:-0.02em; margin:0 0 6px; line-height:1.25; }
.mc-kw{ font-size:12px; color:var(--sapphire); margin-bottom:10px; }
.mc-prog{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.mc-prog-bar{ flex:1; }
.mc-prog-pct{ font-family:var(--font-mono); font-size:11px; font-weight:600; color:var(--ink); flex:none; }
.mc-meta{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.mc-missing{ display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.mc-miss{ font-family:var(--font-mono); font-size:10px; color:var(--warn); background:#FBF1E2; border:1px solid color-mix(in srgb,var(--warn) 22%,transparent); border-radius:6px; padding:2px 8px; }
.mc-next{ font-size:12.5px; color:var(--gold-deep); font-weight:500; }

/* Mission View */
.mission-view{ background:var(--bg); border:1px solid var(--line); border-radius:18px; padding:24px; margin-top:18px; box-shadow:var(--sh-2); }
.mv-head{ display:flex; align-items:flex-start; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.mv-back{ flex:none; }
.mv-step-badge{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:5px; }
.mv-title h2{ font-family:var(--font-sans); font-weight:700; font-size:clamp(20px,2.8vw,32px); letter-spacing:-0.03em; margin:0; }
.mv-layout{ display:grid; grid-template-columns:1fr 320px; gap:20px; margin-top:16px; align-items:start; }
.mv-main{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:22px; }
.mv-aside{ display:flex; flex-direction:column; gap:14px; position:sticky; top:80px; }
.mv-workspace h3{ font-size:22px; font-weight:700; letter-spacing:-0.03em; margin:0 0 8px; }
.mv-workspace p{ font-size:13.5px; color:var(--ink-soft); margin:0 0 16px; line-height:1.6; }

/* 3-mode fields */
.mode-badge{ display:inline-flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:9.5px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; border-radius:6px; padding:3px 9px; margin-left:8px; }
.mode-auto{ color:var(--success); background:#EEF7F0; border:1px solid color-mix(in srgb,var(--success) 22%,transparent); }
.mode-assist{ color:var(--sapphire); background:var(--sapphire-soft); border:1px solid color-mix(in srgb,var(--sapphire) 22%,transparent); }
.mode-manual{ color:var(--ink-soft); background:var(--paper-2); border:1px solid var(--line); }
.field-row-3{ background:var(--paper-warm); border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-bottom:12px; }
.fr3-top{ display:flex; align-items:center; margin-bottom:8px; }
.fr3-top label{ font-size:12px; font-weight:700; color:var(--ink-soft); }
.fr3-val{ font-size:14px; font-weight:600; margin-bottom:8px; line-height:1.45; }
.fr3-sources{ display:flex; gap:5px; flex-wrap:wrap; margin-bottom:8px; }
.fr3-acts{ display:flex; gap:7px; flex-wrap:wrap; }

/* E-E-A-T panels */
.ee-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
.ee-panel{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px; box-shadow:var(--sh-1); }
.ee-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.ee-cat{ font-family:var(--font-sans); font-weight:700; font-size:15px; letter-spacing:-0.01em; }
.ee-score-ring .ring{ background:conic-gradient(var(--gold) calc(var(--p)*1%), var(--paper-2) 0); border-radius:50%; display:grid; place-items:center; position:relative; }
.ee-score-ring .ring::before{ content:""; position:absolute; inset:5px; border-radius:50%; background:var(--paper); }
.ee-score-ring .ring .rn{ position:relative; font-weight:800; letter-spacing:-0.03em; font-size:13px; color:var(--gold-deep); }
.ee-missing{ margin-bottom:12px; }
.ee-fixes{ display:flex; gap:6px; flex-wrap:wrap; }

/* Semantic map */
.sem-main-topic{ background:var(--graphite); color:#fff; font-family:var(--font-sans); font-weight:700; font-size:15px; letter-spacing:-0.02em; border-radius:10px; padding:11px 16px; margin-bottom:12px; }
.sem-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.sem-concept{ background:var(--paper-warm); border:1px solid var(--line); border-radius:11px; padding:12px 14px; }
.sc-name{ font-size:14px; font-weight:700; letter-spacing:-0.01em; margin-bottom:8px; }
.sc-stats{ display:flex; gap:6px; flex-wrap:wrap; }
.sc-stat{ font-family:var(--font-mono); font-size:10px; font-weight:600; padding:3px 8px; border-radius:6px; }
.sc-stat.green{ color:var(--success); background:#EEF7F0; }
.sc-stat.warn{ color:var(--warn); background:#FBF1E2; }

/* Voice questions */
.voice-q{ background:var(--paper-warm); border:1px solid var(--line); border-radius:13px; padding:14px 16px; margin-bottom:10px; }
.vq-text{ font-size:14.5px; color:var(--ink); font-weight:600; margin-bottom:10px; line-height:1.4; }
.vq-acts{ display:flex; gap:7px; flex-wrap:wrap; }

/* Blueprint v2 */
.bp-section{ background:var(--paper); border:1px solid var(--line); border-radius:14px; margin-bottom:12px; overflow:hidden; box-shadow:var(--sh-1); }
.bp-sec-head{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--line-soft); background:var(--paper-warm); }
.bp-sec-h{ font-family:var(--font-sans); font-weight:700; font-size:15px; letter-spacing:-0.02em; }
.bp-sec-body{ padding:14px 18px; display:grid; gap:8px; }
.bp-row{ display:flex; gap:12px; font-size:13px; }
.bp-k{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); width:70px; flex:none; padding-top:2px; }
.bp-v{ flex:1; color:var(--ink); line-height:1.5; }

/* Story Builder layout */
.sb-layout{ display:grid; grid-template-columns:200px 1fr 280px; gap:18px; align-items:start; }
.sb-left{ position:sticky; top:80px; }
.sb-steps{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:8px; }
.sb-step{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:9px; font-size:13px; font-weight:600; color:var(--ink-soft); cursor:pointer; transition:background .15s ease, color .15s ease; }
.sb-step:hover{ background:var(--paper-2); color:var(--ink); }
.sb-step.on{ background:var(--char); color:#fff; }
.sb-step.done{ color:var(--success); }
.sbs-dot{ width:22px; height:22px; border-radius:50%; background:var(--paper-2); display:grid; place-items:center; font-family:var(--font-mono); font-size:11px; font-weight:600; flex:none; }
.sb-step.on .sbs-dot{ background:var(--gold); color:#241B07; }
.sb-step.done .sbs-dot{ background:var(--success); color:#fff; }
.sb-main{ }
.sb-workspace{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:22px; }
.sb-workspace h3{ font-size:22px; font-weight:700; letter-spacing:-0.03em; margin:0 0 14px; }
.sb-aside{ position:sticky; top:80px; }

/* Keyword Intelligence table */
.ki-table{ background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-bottom:14px; }
.ki-head{ display:grid; grid-template-columns:repeat(9,1fr); gap:0; background:var(--paper-warm); border-bottom:1px solid var(--line); }
.ki-head span, .ki-row span{ padding:10px 10px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); display:block; border-right:1px solid var(--line-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ki-head span{ font-weight:600; }
.ki-row{ display:grid; grid-template-columns:repeat(9,1fr); gap:0; border-bottom:1px solid var(--line-soft); font-size:12.5px; transition:background .15s ease; }
.ki-row:last-child{ border-bottom:none; }
.ki-row:hover{ background:var(--paper-warm); }
.ki-row span{ font-family:var(--font-sans); font-size:12px; color:var(--ink); font-weight:400; text-transform:none; letter-spacing:0; }
.ki-row span:first-child{ font-weight:600; color:var(--gold-deep); }

/* Asset manager */
.asset-readiness{ margin-bottom:14px; }
.ar-h{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
.asset-table{ display:grid; gap:10px; }
.asset-row{ display:flex; align-items:center; gap:12px; background:var(--paper-warm); border:1px solid var(--line); border-radius:12px; padding:12px 16px; flex-wrap:wrap; }
.ar-name{ font-size:14px; font-weight:600; width:160px; flex:none; }
.ar-status{ flex:none; }
.ar-acts{ display:flex; gap:7px; flex-wrap:wrap; margin-left:auto; }

/* Preview frame */
.preview-frame{ background:var(--paper-warm); border:1px solid var(--line); border-radius:14px; padding:24px; margin-top:14px; }
.pf-desktop{ max-width:560px; }
.pf-title{ font-family:var(--font-sans); font-weight:700; font-size:18px; letter-spacing:-0.02em; color:var(--sapphire); margin-bottom:5px; text-decoration:underline; }
.pf-desc{ font-size:13.5px; color:var(--ink-soft); margin-bottom:5px; line-height:1.5; }
.pf-url{ font-family:var(--font-mono); font-size:11.5px; color:var(--success); }

/* Research panel mission banner */
.rs-mission{ display:flex; align-items:flex-start; gap:16px; background:var(--graphite); color:#fff; border-radius:16px; padding:20px 22px; margin-bottom:18px; flex-wrap:wrap; }
.rsm-icon{ font-size:26px; flex:none; }
.rsm-title{ font-family:var(--font-sans); font-weight:700; font-size:16px; letter-spacing:-0.02em; margin-bottom:5px; }
.rsm-sub{ font-size:13px; color:var(--on-dark-soft); line-height:1.5; max-width:56ch; }
.rsm-acts{ display:flex; gap:9px; flex-wrap:wrap; align-self:flex-end; }

@media (max-width:1100px){
  .mission-grid{ grid-template-columns:1fr; }
  .sb-layout{ grid-template-columns:1fr; }
  .sb-left,.sb-aside{ position:static; }
  .mv-layout{ grid-template-columns:1fr; }
  .mv-aside{ position:static; }
  .ee-grid,.sem-grid{ grid-template-columns:1fr; }
  .ki-head,.ki-row{ grid-template-columns:repeat(4,1fr); }
  .ki-head span:nth-child(n+5),.ki-row span:nth-child(n+5){ display:none; }
  .ar-name{ width:auto; }
}
/* ══════════════════════ PIPELINE v4 MISSION CONTROL ══════════════════════ */

/* Mission Header */
.mc-mission-header{
  background:var(--graphite);
  border-radius:20px;
  padding:clamp(22px,3vw,36px);
  margin:0 0 28px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.mc-mission-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(70% 120% at 90% -10%, rgba(178,138,66,0.22), transparent 60%);
  z-index:0;
}
.mcm-inner{ display:grid; grid-template-columns:1fr auto; gap:clamp(18px,3vw,48px); align-items:start; position:relative; z-index:1; }
.mcm-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-light); margin-bottom:8px; }
.mcm-title{ font-family:var(--font-sans); font-weight:800; font-size:clamp(20px,2.8vw,32px); letter-spacing:-0.03em; color:#fff; margin-bottom:8px; line-height:1.1; }
.mcm-goal{ font-size:14px; color:var(--on-dark-soft); line-height:1.6; max-width:52ch; }
.mcm-right{ display:flex; flex-direction:column; gap:14px; align-items:flex-end; }
.mcm-stat{ text-align:right; }
.mcm-sl{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--on-dark-mute); margin-bottom:4px; }
.mcm-prog{ display:flex; align-items:center; gap:10px; width:220px; }
.mcm-prog .meter{ flex:1; }
.mcm-pct{ font-family:var(--font-sans); font-weight:800; font-size:15px; color:var(--success); flex:none; }
.mcm-step-badge{ font-family:var(--font-mono); font-size:13px; font-weight:600; letter-spacing:0.04em; color:var(--gold-light); }
.mcm-na{ font-size:14px; font-weight:600; color:#fff; }
.mcm-time{ font-family:var(--font-mono); font-size:13px; color:var(--on-dark-soft); }
.mcm-cta{ margin-top:6px; }

/* Steps list */
.pipeline-steps{ display:flex; flex-direction:column; gap:10px; }

/* Step Card */
.step-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--sh-1);
  transition:border-color .2s ease, box-shadow .2s ease;
  cursor:pointer;
}
.step-card:hover{ border-color:var(--line-strong); }
.step-card.step-active{
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold), var(--sh-2);
  cursor:default;
}
.step-card.step-done{ background:var(--paper-warm); }
.step-card.step-pending{ opacity:.72; }

.step-card-head{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 22px;
}
.sc-num-icon{ display:flex; align-items:center; gap:10px; flex:none; }
.sc-num{ font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:0.08em; color:var(--ink-mute); width:18px; }
.sc-icon{ font-size:20px; width:36px; height:36px; border-radius:10px; background:var(--paper-2); display:grid; place-items:center; flex:none; }
.step-card.step-active .sc-icon{ background:var(--gold-soft); }
.step-card.step-done .sc-icon{ background:#EEF7F0; }
.sc-title{ flex:1; min-width:0; }
.sc-name{ font-family:var(--font-sans); font-weight:700; font-size:16px; letter-spacing:-0.02em; }
.sc-mission{ font-size:13px; color:var(--ink-soft); line-height:1.5; margin-top:4px; max-width:56ch; }
.sc-status{ font-family:var(--font-mono); font-size:10.5px; font-weight:600; letter-spacing:0.04em; padding:5px 12px; border-radius:999px; flex:none; white-space:nowrap; }
.sc-status.green{ color:var(--success); background:#EEF7F0; border:1px solid color-mix(in srgb,var(--success) 22%,transparent); }
.sc-status.gold{ color:var(--gold-deep); background:var(--gold-soft); border:1px solid #D9BF84; }
.sc-status.ghost{ color:var(--ink-mute); background:var(--paper-2); border:1px solid var(--line); }

/* Step Card Body */
.step-card-body{ padding:0 22px 22px; border-top:1px solid var(--line-soft); }
.step-section{ padding:16px 0; border-bottom:1px solid var(--line-soft); }
.step-section:last-child{ border-bottom:none; }
.step-section-dflow{ border-top:2px solid var(--line); margin-top:4px; padding-top:20px; }
.ss-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
.ss-items{ display:flex; flex-wrap:wrap; gap:7px; }
.ss-item{ font-size:13px; color:var(--ink-soft); background:var(--paper-2); border:1px solid var(--line-soft); border-radius:7px; padding:5px 11px; }
.ss-engine{ font-family:var(--font-sans); font-weight:700; font-size:16px; letter-spacing:-0.02em; color:var(--ink); background:var(--graphite); color:var(--gold-light); border-radius:10px; padding:11px 16px; display:inline-block; }
.ss-outputs{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px 18px; }
.ss-out{ display:flex; align-items:baseline; gap:8px; font-size:13px; color:var(--ink-soft); }
.ss-check{ color:var(--success); font-size:12px; flex:none; }
.ss-conn{ display:grid; grid-template-columns:repeat(2,1fr); gap:5px 24px; }
.ss-conn-item{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-soft); }
.step-actions{ display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:16px 0; border-bottom:1px solid var(--line-soft); }
.sa-col{ display:flex; flex-direction:column; gap:7px; }
.sa-btn{ width:100%; justify-content:flex-start !important; text-align:left; }
.step-continue{ padding-top:16px; }

/* Data Flow Strip */
.dflow{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:0; align-items:start; background:var(--graphite); border-radius:14px; padding:20px; margin-top:4px; }
.df-col{ }
.df-label{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:8px; }
.df-divider{ height:1px; background:rgba(255,255,255,0.1); margin-bottom:10px; }
.df-item{ font-size:12px; color:var(--on-dark-soft); padding:3px 0; display:flex; align-items:center; gap:7px; }
.df-check{ color:var(--success); font-size:11px; }
.df-arrow{ display:flex; align-items:center; justify-content:center; padding:0 12px; color:var(--gold); font-size:18px; align-self:center; }
.df-next-val{ font-family:var(--font-sans); font-weight:700; font-size:14px; color:var(--gold-light); letter-spacing:-0.01em; line-height:1.4; }
.df-input .df-label{ color:var(--sapphire); }
.df-engine .df-label{ color:var(--gold-light); }
.df-output .df-label{ color:var(--success); }
.df-next .df-label{ color:var(--on-dark-mute); }

/* Enrich Grid */
.enrich-ctrl{ margin-bottom:16px; }
.enrich-progress{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.enrich-progress .meter{ width:200px; }
.enrich-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.enrich-mod{ background:var(--paper); border:1px solid var(--line); border-radius:13px; padding:16px; transition:border-color .2s ease, box-shadow .2s ease; }
.enrich-mod:hover{ border-color:var(--gold); }
.em-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.em-check-label{ display:flex; align-items:center; gap:9px; cursor:pointer; }
.em-checkbox{ width:17px; height:17px; cursor:pointer; accent-color:var(--gold); flex:none; }
.em-name{ font-size:14px; font-weight:700; letter-spacing:-0.01em; }
.em-status{ font-family:var(--font-mono); font-size:9.5px; font-weight:600; letter-spacing:0.04em; padding:3px 8px; border-radius:6px; }
.em-pending{ color:var(--ink-mute); background:var(--paper-2); }
.em-running{ color:var(--warn); background:#FBF1E2; }
.em-done{ color:var(--success); background:#EEF7F0; }
.em-engine{ font-family:var(--font-mono); font-size:10.5px; color:var(--sapphire); margin-bottom:10px; }
.em-el{ color:var(--ink-mute); margin-right:4px; }
.em-output{ display:grid; gap:4px; margin-bottom:12px; }
.em-out-row{ font-size:12px; color:var(--ink-soft); display:flex; align-items:center; gap:6px; }
.em-run{ width:100%; }

@media (max-width:1100px){
  .mcm-inner{ grid-template-columns:1fr; }
  .mcm-right{ align-items:flex-start; }
  .mcm-prog{ width:100%; }
  .ss-outputs{ grid-template-columns:1fr 1fr; }
  .ss-conn{ grid-template-columns:1fr; }
  .step-actions{ grid-template-columns:1fr; }
  .enrich-grid{ grid-template-columns:1fr 1fr; }
  .dflow{ grid-template-columns:1fr; }
  .df-arrow{ transform:rotate(0); padding:6px 0; }
}
@media (max-width:640px){
  .ss-outputs{ grid-template-columns:1fr; }
  .enrich-grid{ grid-template-columns:1fr; }
}
/* ══ PIPELINE v5: inline editing + auto-generation + keyword input ══ */

/* Keyword input section */
.kw-input-section{ background:var(--graphite); border-radius:14px; padding:22px 24px; }
.kw-prompt{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:12px; }
.kw-input-wrap{ display:flex; gap:10px; align-items:center; margin-bottom:10px; }
.kw-main-input{ flex:1; border:1px solid rgba(255,255,255,0.2); border-radius:10px; padding:13px 16px; font-family:var(--font-sans); font-size:16px; font-weight:600; letter-spacing:-0.01em; outline:none; background:rgba(255,255,255,0.07); color:#fff; transition:border-color .2s ease; }
.kw-main-input::placeholder{ color:rgba(255,255,255,0.32); }
.kw-main-input:focus{ border-color:var(--gold); }
.kw-discover-btn{ white-space:nowrap; }
.kw-discover-btn:disabled{ opacity:.38; cursor:not-allowed; }
.kw-hint{ font-size:13px; color:rgba(255,255,255,0.42); font-style:italic; }
.kw-from{ font-size:13.5px; color:var(--on-dark-soft); }
.kw-from b{ color:#fff; }

/* Auto-generation animation */
.step-auto-acts{ display:flex; flex-direction:column; gap:12px; }
.auto-act-block{ background:var(--paper-warm); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.sa-auto-btn{ margin-bottom:10px; }
.auto-eng{ display:flex; flex-wrap:wrap; gap:6px; }
.ae-chip{ font-family:var(--font-mono); font-size:10.5px; color:var(--sapphire); background:var(--sapphire-soft); border:1px solid color-mix(in srgb,var(--sapphire) 22%,transparent); border-radius:6px; padding:3px 9px; }

/* Engine chain animation */
.eng-chain{ display:flex; flex-direction:column; gap:7px; padding:12px 0; }
.ec-step{ display:flex; align-items:center; gap:10px; font-size:13px; font-weight:500; padding:7px 12px; border-radius:9px; transition:background .3s ease; }
.ec-dot{ width:9px; height:9px; border-radius:50%; flex:none; transition:background .3s ease; }
.ec-pending{ color:var(--ink-mute); } .ec-pending .ec-dot{ background:var(--line-strong); }
.ec-running{ color:var(--sapphire); background:var(--sapphire-soft); } .ec-running .ec-dot{ background:var(--sapphire); animation:pulse 1s ease infinite; }
.ec-done{ color:var(--success); } .ec-done .ec-dot{ background:var(--success); }

/* Generated output panel */
.step-outputs-panel{ background:var(--paper-warm); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:0; }
.sop-grid{ display:grid; gap:8px; }
.sop-row{ display:flex; gap:12px; font-size:13.5px; padding:6px 0; border-top:1px solid var(--line-soft); }
.sop-row:first-child{ border-top:none; }
.sop-k{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); width:110px; flex:none; padding-top:2px; }
.sop-v{ flex:1; color:var(--ink); font-weight:500; line-height:1.5; }
.sop-log{ display:grid; gap:4px; margin-top:4px; }
.spl-row{ font-size:12.5px; color:var(--ink-soft); padding:4px 0; display:flex; align-items:baseline; gap:8px; border-top:1px solid var(--line-soft); }
.spl-row:first-child{ border-top:none; }

/* Inline edit panel */
.inline-edit-panel{ background:var(--paper); border:1px solid var(--gold); border-radius:12px; padding:16px; margin-top:10px; }
.ie-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
.ie-input{ width:100%; border:1px solid var(--line); border-radius:9px; padding:10px 13px; font-family:var(--font-sans); font-size:14px; outline:none; background:var(--paper); box-sizing:border-box; margin-bottom:10px; transition:border-color .15s ease; }
.ie-input:focus{ border-color:var(--char); }
.ie-textarea{ width:100%; border:1px solid var(--line); border-radius:9px; padding:10px 13px; font-family:var(--font-sans); font-size:13.5px; outline:none; background:var(--paper); box-sizing:border-box; margin-bottom:10px; resize:vertical; line-height:1.6; }
.ie-textarea:focus{ border-color:var(--char); }
.ie-acts{ display:flex; gap:8px; }

/* Enrich progress inline */
.enrich-progress-wrap{ display:flex; align-items:center; gap:10px; }

/* Step card v5 adjustments */
.step-manual-acts{ display:flex; flex-wrap:wrap; gap:8px; }
/* ── APPROVAL GATE ─────────────────────────────────────────────── */
.approval-gate{ display:flex; align-items:flex-start; gap:16px; background:var(--graphite); color:#fff; border-radius:16px; padding:22px 24px; margin:16px 0; position:relative; overflow:hidden; isolation:isolate; }
.approval-gate::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 100% at 90% 0%, rgba(178,138,66,0.18), transparent 60%); pointer-events:none; }
.approval-gate>*{ position:relative; z-index:1; }
.ag-icon{ font-size:28px; flex:none; margin-top:2px; }
.ag-body{ flex:1; }
.ag-title{ font-family:var(--font-sans); font-weight:700; font-size:17px; letter-spacing:-0.02em; color:#fff; margin-bottom:8px; }
.ag-note{ font-size:13.5px; color:rgba(245,244,241,0.72); line-height:1.6; margin-bottom:16px; }
.ag-acts{ display:flex; gap:10px; flex-wrap:wrap; }

/* ── DISCOVERY 3-LAYER EXPANDABLE PANEL ─────────────────────────── */
.disc-summary{ margin-top:16px; }
.disc-kw-hero{ font-family:var(--font-sans); font-weight:800; font-size:22px; letter-spacing:-0.03em; color:var(--ink); margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.disc-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.dm-stat{ background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:11px 14px; }
.dm-l{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); }
.dm-v{ font-size:14px; font-weight:700; letter-spacing:-0.01em; margin-top:3px; }
.dm-v.up{ color:var(--success); } .dm-v.easy{ color:var(--success); }
.disc-rec{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--on-dark); background:var(--graphite); border-radius:10px; padding:13px 16px; margin-bottom:16px; line-height:1.5; }
/* expandable sections */
.disc-sections{ display:grid; gap:8px; margin-bottom:14px; }
.disc-sec{ border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--paper); }
.disc-sec-h{ display:flex; align-items:center; gap:11px; padding:13px 16px; cursor:pointer; transition:background .15s ease; user-select:none; }
.disc-sec-h:hover{ background:var(--paper-warm); }
.disc-sec.open .disc-sec-h{ background:var(--gold-soft); border-bottom:1px solid var(--line); }
.dsh-ic{ font-size:16px; flex:none; }
.dsh-label{ font-size:14px; font-weight:600; letter-spacing:-0.01em; flex:1; }
.dsh-arr{ color:var(--ink-mute); font-size:18px; transition:transform .2s ease; }
.disc-sec.open .dsh-arr{ transform:rotate(90deg); }
.disc-sec-body{ display:none; padding:16px; }
.disc-sec.open .disc-sec-body{ display:block; }
/* grid inside sections */
.ds-grid{ display:grid; gap:0; }
.ds-row{ display:flex; gap:14px; padding:9px 0; border-top:1px solid var(--line-soft); font-size:13px; }
.ds-row:first-child{ border-top:none; }
.ds-k{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); width:130px; flex:none; padding-top:2px; }
.ds-v{ flex:1; font-weight:500; color:var(--ink); line-height:1.5; }
/* competitor list */
.ds-comp-list{ display:grid; gap:10px; }
.ds-comp{ background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; padding:12px 14px; }
.ds-comp-n{ font-size:14px; font-weight:700; margin-bottom:4px; }
.ds-comp-g{ font-size:12.5px; color:var(--error); margin-bottom:3px; }
.ds-comp-a{ font-size:12px; color:var(--success); }
/* PAA list */
.ds-paa-list{ display:grid; gap:8px; }
.ds-paa-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:9px; }
.ds-paa-q{ font-size:13px; font-weight:500; font-style:italic; }
/* affiliate list */
.ds-aff-list{ display:grid; gap:8px; }
.ds-aff-row{ display:flex; align-items:center; gap:16px; padding:10px 12px; background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:10px; }
.ds-aff-n{ font-size:14px; font-weight:700; flex:1; }
.ds-aff-r{ font-family:var(--font-mono); font-size:12px; color:var(--success); font-weight:600; }
.ds-aff-c{ font-size:11.5px; color:var(--ink-mute); }
/* deep link */
.disc-deep{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-top:14px; border-top:1px solid var(--line-soft); }
@media (max-width:860px){ .disc-metrics{ grid-template-columns:repeat(2,1fr); } }
/* ── STEP CARD ICON — clean mono, no emoji rendering ──────────────── */
.sc-num-icon{ display:flex; align-items:center; gap:10px; flex:none; }
.sc-num{ width:28px; height:28px; border-radius:8px; background:var(--paper-2); display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:600; color:var(--ink-mute); flex:none; }
.step-card.step-active .sc-num, .step-card.step-done .sc-num{ background:var(--char); color:#fff; }
.sc-icon{ width:28px; height:28px; border-radius:8px; background:transparent; display:grid; place-items:center; font-size:14px; color:var(--ink-mute); font-family:var(--font-mono); flex:none;
  /* critical: prevent emoji rendering */
  font-variant-emoji:text; font-style:normal; }
/* override any OS emoji rendering */
.sc-icon::after{ font-variant-emoji:text!important; }
.step-card.step-active .sc-icon{ color:var(--gold-deep); }
.step-card.step-done .sc-icon{ color:var(--success); }

/* Step card head — matches AGNUS card style */
.step-card{ background:var(--paper); border:1px solid var(--line); border-radius:16px; margin-bottom:10px; box-shadow:var(--sh-1); overflow:hidden; }
.step-card.step-done{ background:var(--paper); border-color:var(--line); }
.step-card.step-active{ border-color:var(--gold); }
.step-card-head{ display:flex; align-items:center; gap:14px; padding:16px 20px; cursor:pointer; transition:background .15s ease; }
.step-card-head:hover{ background:var(--paper-warm); }
.sc-name{ font-size:15px; font-weight:700; letter-spacing:-0.02em; color:var(--ink); }
.sc-mission{ font-size:12.5px; color:var(--ink-soft); margin-top:2px; line-height:1.4; max-width:56ch; }
.sc-status{ margin-left:auto; flex:none; font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:0.04em; padding:5px 11px; border-radius:999px; }
.sc-status.green{ color:var(--success); background:#EEF7F0; border:1px solid color-mix(in srgb,var(--success) 22%,transparent); }
.sc-status.gold{ color:var(--gold-deep); background:var(--gold-soft); border:1px solid var(--gold); }
.sc-status.ghost{ color:var(--ink-mute); background:var(--paper-2); border:1px solid var(--line); }
.step-card-body{ padding:18px 20px; border-top:1px solid var(--line-soft); }
.step-section{ margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--line-soft); }
.step-section:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:none; }
.ss-label{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
.step-continue{ display:flex; align-items:center; gap:12px; margin-top:4px; }

/* Discovery expandable sections — AGNUS style */
.disc-kw-hero{ font-family:var(--font-sans); font-weight:800; font-size:24px; letter-spacing:-0.04em; color:var(--ink); margin-bottom:18px; }
.disc-sec-h{ border:none; border-radius:0; background:none; }
.disc-sec{ border:1px solid var(--line); border-radius:12px; background:var(--paper); overflow:hidden; }
.disc-sec.open{ border-color:var(--line-strong); }
.disc-sec-h{ padding:13px 16px; }
.disc-sec.open .disc-sec-h{ background:var(--paper-warm); }
.dsh-label{ font-size:14px; font-weight:600; letter-spacing:-0.01em; }
.dsh-ic{ font-family:var(--font-mono); font-size:14px; color:var(--gold-deep); font-variant-emoji:text; }

/* sc-tag replaces sc-icon — clean monospace label chip */
.sc-tag{ font-family:var(--font-mono); font-size:9px; font-weight:600; letter-spacing:0.12em; color:var(--ink-mute); background:var(--paper-2); border:1px solid var(--line); border-radius:6px; padding:3px 7px; flex:none; white-space:nowrap; }
.step-card.step-active .sc-tag{ color:var(--gold-deep); background:var(--gold-soft); border-color:var(--gold); }
.step-card.step-done .sc-tag{ color:var(--success); background:#EEF7F0; border-color:color-mix(in srgb,var(--success) 22%,transparent); }

/* ── STEP CARD v6 — premium SVG icons + clear header ──────────────── */
.sc-num-icon{ display:flex; align-items:center; gap:12px; flex:none; }
.sc-num{ width:30px; height:30px; border-radius:9px; background:var(--paper-2); border:1px solid var(--line); display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:700; color:var(--ink-mute); flex:none; transition:background .2s ease, color .2s ease; }
.step-card.step-done .sc-num{ background:var(--success); color:#fff; border-color:var(--success); }
.step-card.step-active .sc-num{ background:var(--char); color:#fff; border-color:var(--char); }
.sc-icon-svg{ width:36px; height:36px; display:grid; place-items:center; color:var(--ink-mute); flex:none; transition:color .2s ease; }
.sc-icon-svg svg{ display:block; }
.step-card.step-active .sc-icon-svg{ color:var(--gold-deep); }
.step-card.step-done .sc-icon-svg{ color:var(--success); }
.sc-title{ flex:1; min-width:0; }
.sc-name{ font-family:var(--font-sans); font-weight:700; font-size:16px; letter-spacing:-0.022em; color:var(--ink); }
.step-card.step-done .sc-name{ color:var(--ink-soft); }
.sc-mission{ font-size:13px; color:var(--ink-soft); margin-top:3px; line-height:1.45; max-width:60ch; }
.sc-status{ flex:none; font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.06em; padding:5px 12px; border-radius:999px; }
.sc-status.green{ color:var(--success); background:#EEF7F0; border:1px solid color-mix(in srgb,var(--success) 22%,transparent); }
.sc-status.gold{ color:var(--gold-deep); background:var(--gold-soft); border:1px solid var(--gold); }
.sc-status.ghost{ color:var(--ink-mute); background:var(--paper-2); border:1px solid var(--line); }
.step-card-head{ display:flex; align-items:center; gap:14px; padding:18px 22px; cursor:pointer; user-select:none; transition:background .15s ease; }
.step-card-head:hover{ background:var(--paper-warm); }
.step-card{ background:var(--paper); border:1px solid var(--line); border-radius:16px; margin-bottom:12px; box-shadow:var(--sh-1); overflow:hidden; transition:border-color .2s ease; }
.step-card.step-active{ border-color:var(--gold); box-shadow:0 0 0 1px var(--gold), var(--sh-2); }
.step-card.step-done{ border-color:color-mix(in srgb,var(--success) 30%,var(--line)); }

/* ── AUDIENCE PROFILE CARD ──────────────────────────────────────── */
.aud-profile{ background:var(--graphite); color:#fff; border-radius:18px; padding:24px 26px; margin-bottom:20px; position:relative; overflow:hidden; isolation:isolate; }
.aud-profile::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 100% at 90% 0%, rgba(178,138,66,0.18), transparent 60%); pointer-events:none; }
.ap-header{ position:relative; z-index:1; margin-bottom:18px; }
.ap-label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-light); margin-bottom:5px; }
.ap-sub{ font-size:13px; color:var(--on-dark-soft); }
.ap-attrs{ display:grid; gap:1px; background:rgba(255,255,255,0.06); border-radius:12px; overflow:hidden; margin-bottom:18px; position:relative; z-index:1; }
.ap-attr{ background:rgba(255,255,255,0.04); padding:13px 16px; cursor:pointer; display:grid; grid-template-columns:130px 1fr auto; align-items:center; gap:12px; transition:background .15s ease; }
.ap-attr:hover{ background:rgba(255,255,255,0.09); }
.ap-k{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--on-dark-mute); }
.ap-v{ font-size:13.5px; color:#fff; font-weight:500; line-height:1.4; }
.ap-edit-hint{ font-family:var(--font-mono); font-size:10px; color:var(--gold-light); opacity:0; transition:opacity .15s ease; white-space:nowrap; }
.ap-attr:hover .ap-edit-hint{ opacity:1; }
.ap-input{ width:100%; background:rgba(255,255,255,0.1); border:1px solid var(--gold); border-radius:7px; padding:6px 10px; font-family:var(--font-sans); font-size:13.5px; color:#fff; outline:none; }
.ap-downstream{ position:relative; z-index:1; padding:16px; background:rgba(255,255,255,0.04); border-radius:12px; transition:box-shadow .4s ease; }
.apd-label{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--on-dark-mute); margin-bottom:12px; }
.apd-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.apd-item{ display:flex; align-items:flex-start; gap:10px; }
.apd-ic{ font-family:var(--font-mono); font-size:14px; color:var(--gold-light); flex:none; margin-top:2px; }
.apd-k{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--on-dark-mute); margin-bottom:3px; }
.apd-v{ font-size:12.5px; color:rgba(245,244,241,0.82); line-height:1.4; }
@media (max-width:860px){ .ap-attr{ grid-template-columns:1fr; } .apd-grid{ grid-template-columns:1fr; } }
/* ── ARTICLE BRIEF — content contract ───────────────────────────── */
.brief-header{ background:var(--graphite); border-radius:16px; padding:20px 24px; margin-bottom:18px; }
.bh-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.bh-kw{ font-family:var(--font-sans); font-weight:800; font-size:20px; letter-spacing:-0.03em; color:#fff; }
.bh-meta{ display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
.brief-sections{ display:grid; gap:10px; margin-bottom:18px; }
.brief-sec{ background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--sh-1); }
.bs-head{ display:flex; align-items:center; gap:12px; padding:14px 18px; background:var(--paper-warm); border-bottom:1px solid var(--line-soft); }
.bs-num{ width:28px; height:28px; border-radius:8px; background:var(--char); color:#fff; display:grid; place-items:center; font-family:var(--font-mono); font-size:12px; font-weight:700; flex:none; }
.bs-h2{ font-family:var(--font-sans); font-weight:700; font-size:15px; letter-spacing:-0.02em; flex:1; }
.bs-words{ font-family:var(--font-mono); font-size:11px; color:var(--gold-deep); background:var(--gold-soft); border:1px solid var(--gold); border-radius:6px; padding:3px 9px; flex:none; }
.bs-attrs{ display:grid; gap:0; padding:4px 0; }
.bsa{ display:flex; gap:12px; padding:8px 18px; border-top:1px solid var(--line-soft); font-size:13px; }
.bsa:first-child{ border-top:none; }
.bsa-k{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); width:100px; flex:none; padding-top:2px; }
.bsa-v{ flex:1; color:var(--ink); line-height:1.5; }
/* ── READER JOURNEY ─────────────────────────────────────────────── */
.reader-journey{ background:var(--graphite); border-radius:16px; padding:20px 24px; margin-top:14px; }
.rj-label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:16px; }
.rj-chain{ display:flex; align-items:stretch; gap:0; flex-wrap:wrap; margin-bottom:14px; }
.rj-step{ background:rgba(255,255,255,0.06); border-radius:10px; padding:11px 14px; min-width:100px; }
.rj-step.rj-entry{ background:rgba(255,255,255,0.04); }
.rj-step.rj-current{ background:rgba(178,138,66,0.22); border:1px solid var(--gold); }
.rj-step.rj-revenue{ background:rgba(46,139,87,0.22); border:1px solid var(--success); }
.rj-step.rj-premium{ background:rgba(178,138,66,0.14); border:1px solid var(--gold-deep); }
.rj-step.rj-academy{ background:rgba(62,106,225,0.18); border:1px solid var(--sapphire); }
.rjs-name{ font-size:12.5px; font-weight:700; color:#fff; margin-bottom:4px; }
.rjs-note{ font-size:11px; color:var(--on-dark-mute); line-height:1.35; }
.rj-arr{ display:flex; align-items:center; padding:0 8px; color:var(--gold); font-size:14px; }
.rj-est{ font-size:13px; color:var(--on-dark-soft); border-top:1px solid rgba(255,255,255,0.08); padding-top:12px; }
/* ── BLUEPRINT ──────────────────────────────────────────────────── */
.bp-header{ background:var(--graphite); border-radius:16px; padding:20px 24px; margin-bottom:14px; }
.bp-kw{ font-family:var(--font-sans); font-weight:800; font-size:20px; letter-spacing:-0.03em; color:#fff; margin-bottom:8px; }
.bp-meta{ display:flex; gap:8px; flex-wrap:wrap; }
.bp-tabs{ display:flex; gap:4px; margin-bottom:16px; border-bottom:1px solid var(--line); padding-bottom:2px; }
.bp-sec{ background:var(--paper); border:1px solid var(--line); border-radius:13px; overflow:hidden; margin-bottom:10px; box-shadow:var(--sh-1); }
.bps-head{ display:flex; align-items:center; gap:12px; padding:12px 18px; background:var(--paper-warm); border-bottom:1px solid var(--line-soft); }
.bps-num{ width:26px; height:26px; border-radius:7px; background:var(--char); color:#fff; display:grid; place-items:center; font-family:var(--font-mono); font-size:11px; font-weight:700; flex:none; }
.bps-h2{ font-size:14px; font-weight:700; letter-spacing:-0.015em; }
.bps-prompt{ padding:14px 18px; }
.bps-plabel{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px; }
.bps-ptext{ font-size:13px; color:var(--ink-soft); line-height:1.7; background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:9px; padding:12px 14px; font-family:var(--font-mono); font-size:12px; }

/* ── ENRICH BEFORE/AFTER ────────────────────────────────────────── */
.enrich-ba-header{ background:var(--graphite); border-radius:14px; padding:18px 22px; margin-bottom:16px; }
.eba-kw{ font-family:var(--font-sans); font-weight:800; font-size:18px; letter-spacing:-0.03em; color:#fff; margin-bottom:8px; }
.eba-meta{ display:flex; gap:8px; }
.enrich-ba-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:0; }
.eba-card{ background:var(--paper); border:1px solid var(--line); border-radius:13px; overflow:hidden; box-shadow:var(--sh-1); }
.eba-head{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); padding:10px 14px; background:var(--paper-warm); border-bottom:1px solid var(--line-soft); }
.eba-cols{ display:flex; gap:0; }
.eba-col{ flex:1; padding:10px 12px; min-width:0; }
.eba-before{ border-right:1px solid var(--line-soft); }
.eba-cl{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:7px; }
.eba-arr{ display:flex; align-items:center; padding:0 6px; color:var(--gold); font-size:14px; background:var(--paper-warm); }
.eba-row{ font-size:11.5px; padding:3px 0; border-top:1px solid var(--line-soft); }
.eba-row:first-of-type{ border-top:none; }
.eba-k{ display:block; font-family:var(--font-mono); font-size:9px; letter-spacing:0.04em; text-transform:uppercase; color:var(--ink-mute); }
.eba-v{ display:block; font-size:12px; line-height:1.4; margin-top:1px; }
.eba-bad{ color:var(--error); }
.eba-good{ color:var(--success); font-weight:600; }
@media (max-width:860px){ .enrich-ba-grid{ grid-template-columns:1fr; } }
/* ── MISSION TYPE SELECTOR ─────────────────────────────────────── */
.mtype-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.mtype-card{ color:inherit; display:flex; flex-direction:column; align-items:flex-start; gap:5px; text-align:left; padding:14px 16px; border:1px solid var(--line); border-radius:13px; background:var(--paper); transition:border-color .18s ease, background .18s ease, box-shadow .18s ease; cursor:pointer; }
.mtype-card:hover{ border-color:var(--ink-faint); background:var(--paper-warm); }
.mtype-card.on{ border-color:var(--gold); background:var(--gold-soft); box-shadow:0 0 0 1px var(--gold); }
.mtc-ic{ font-size:20px; margin-bottom:3px; }
.mtc-name{ font-size:13.5px; font-weight:700; letter-spacing:-0.01em; }
.mtc-desc{ font-size:11.5px; color:var(--ink-mute); line-height:1.4; }
.cluster-planner-banner{ background:var(--graphite); color:var(--gold-light); border-radius:11px; padding:13px 16px; font-size:13.5px; line-height:1.5; }

/* ── CLUSTER ARCHITECTURE ──────────────────────────────────────── */
.cluster-arch-header{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.cluster-map-mini{ display:flex; align-items:stretch; gap:0; overflow-x:auto; padding:4px 0 16px; scroll-snap-type:x proximity; }
.cluster-map-mini::-webkit-scrollbar{ height:6px; } .cluster-map-mini::-webkit-scrollbar-thumb{ background:rgba(0,0,0,0.12); border-radius:99px; }
.cmm-node{ flex:0 0 220px; scroll-snap-align:start; background:var(--paper); border:1px solid var(--line); border-radius:13px; padding:14px 16px; margin-right:0; cursor:pointer; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.cmm-node:hover{ border-color:var(--gold); transform:translateY(-3px); box-shadow:var(--sh-2); }
.cmm-node.cmm-selected{ border-color:var(--gold); background:var(--gold-soft); }
.cmm-pillar{ border-color:var(--gold); background:var(--gold-soft); }
.cmm-n-role{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:5px; }
.cmm-pillar .cmm-n-role{ color:var(--gold-deep); font-weight:700; }
.cmm-n-title{ font-size:13.5px; font-weight:700; letter-spacing:-0.015em; line-height:1.3; margin-bottom:7px; }
.cmm-n-meta{ font-family:var(--font-mono); font-size:10.5px; color:var(--ink-mute); margin-bottom:4px; }
.cmm-n-traffic{ font-family:var(--font-mono); font-size:10.5px; color:var(--success); }
.cmm-n-cta{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.04em; color:var(--gold-deep); margin-top:10px; opacity:0; transition:opacity .15s ease; }
.cmm-node:hover .cmm-n-cta{ opacity:1; }
.cmm-link{ display:flex; align-items:center; padding:0 8px; color:var(--gold); font-size:14px; flex:none; }

/* ── MEDIA & ASSETS PLAN ───────────────────────────────────────── */
.media-plan{ background:var(--paper); border:1px solid var(--line); border-radius:16px; overflow:hidden; margin-top:18px; }
.mp-header{ background:var(--graphite); padding:18px 22px; }
.mp-label{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); margin-bottom:6px; }
.mp-sub{ font-size:13.5px; color:var(--on-dark-soft); }
.mp-sub b{ color:#fff; }
.mp-assets{ display:grid; gap:0; }
.mp-asset{ border-top:1px solid var(--line); }
.mp-asset:first-child{ border-top:none; }
.mpa-head{ display:flex; align-items:center; gap:12px; padding:13px 18px; background:var(--paper-warm); border-bottom:1px solid var(--line-soft); }
.mpa-num{ width:26px; height:26px; border-radius:7px; background:var(--char); color:#fff; display:grid; place-items:center; font-family:var(--font-mono); font-size:11px; font-weight:700; flex:none; }
.mpa-type{ font-size:15px; font-weight:700; letter-spacing:-0.02em; }
.mpa-body{ display:grid; gap:0; padding:4px 0; }
.mpa-why{ display:flex; gap:14px; padding:8px 18px; border-top:1px solid var(--line-soft); font-size:13px; }
.mpa-why:first-child{ border-top:none; }
.mpak{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); width:120px; flex:none; padding-top:2px; }
.mpav{ flex:1; color:var(--ink); line-height:1.5; }
.mpav.seo-spec{ font-family:var(--font-mono); font-size:11.5px; color:var(--sapphire); }
@media (max-width:860px){ .mtype-grid{ grid-template-columns:repeat(2,1fr); } .cluster-map-mini{ flex-direction:column; } .cmm-link{ display:none; } }
/* ── Discovery done banner ── */
.disc-done-banner{ background:color-mix(in srgb,var(--success) 14%,transparent); border:1px solid color-mix(in srgb,var(--success) 32%,transparent); border-radius:10px; padding:11px 16px; font-size:13.5px; font-weight:600; color:var(--success); margin-bottom:12px; }
.mc-dark .disc-done-banner{ background:color-mix(in srgb,var(--success) 16%,transparent); color:#5FDB93; }

/* ── Media asset upload slot ── */
.mpa-slot{ margin-left:auto; flex:none; }
.mpa-slot image-slot{ width:120px; height:68px; display:block; border:1px dashed var(--line-strong); border-radius:8px; }

/* ── Source API Connection section ── */
.sd-conn{ background:var(--graphite); border-radius:14px; padding:18px 20px; margin:16px 0; }
.sdc-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.sdc-title{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-light); }
.sdc-status{ font-family:var(--font-mono); font-size:11px; font-weight:600; }
.sdc-status.ok{ color:var(--success); }
.sdc-status.off{ color:rgba(245,244,241,0.4); }
.sdc-note{ font-size:12.5px; color:rgba(245,244,241,0.6); line-height:1.5; margin-bottom:12px; }
.sdc-note b{ color:#fff; }
.sdc-auth{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.sdc-auth .opt{ background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.14); color:rgba(245,244,241,0.75); }
.sdc-auth .opt.on{ background:var(--gold); border-color:var(--gold); color:#241B07; }
.sdc-input-row{ display:flex; gap:8px; margin-bottom:10px; }
.sdc-input{ flex:1; border:1px solid rgba(255,255,255,0.18); border-radius:9px; padding:11px 13px; font-family:var(--font-mono); font-size:12.5px; background:rgba(255,255,255,0.07); color:#fff; outline:none; }
.sdc-input::placeholder{ color:rgba(255,255,255,0.3); }
.sdc-input:focus{ border-color:var(--gold); }
.sdc-acts{ display:flex; gap:8px; flex-wrap:wrap; }
.sdc-result{ margin-top:10px; font-size:12.5px; line-height:1.5; }
.sdc-ok{ color:var(--success); }
.sdc-err{ color:#E89A8C; }
.sdc-hint{ color:rgba(245,244,241,0.45); font-size:11.5px; margin-top:4px; }

/* ══ MISSION CONSOLE — modal shell + motion ══════════════════════ */
.mc-overlay{ position:fixed; inset:0; z-index:200; display:none; pointer-events:none; }
.mc-overlay.open{ display:block; opacity:1; pointer-events:auto; }
.mc-backdrop{ position:absolute; inset:0; background:rgba(22,21,19,0.42); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.mc-shell{ position:absolute; top:50%; left:50%; width:min(1100px,94vw); height:min(760px,88vh); background:var(--paper); border-radius:20px; box-shadow:0 60px 120px -40px rgba(0,0,0,0.5); transform:translate(-50%,-50%); display:grid; grid-template-columns:220px 1fr; overflow:hidden; transform:translate(-50%,-50%) scale(0.97); transition:transform .28s cubic-bezier(.2,.8,.2,1); }
.mc-overlay.open .mc-shell{ transform:translate(-50%,-50%) scale(1); }
.mc-rail{ background:var(--graphite); padding:18px 10px; overflow-y:auto; display:flex; flex-direction:column; gap:2px; }
.mc-rail-item{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; cursor:pointer; color:var(--on-dark-soft); font-size:13px; font-weight:500; transition:background .15s ease, color .15s ease; }
.mc-rail-item:hover{ background:rgba(255,255,255,0.06); color:#fff; }
.mc-rail-item.on{ background:rgba(220,192,137,0.14); color:#fff; }
.mc-rail-item.done{ color:var(--success); }
.mri-ic{ width:16px; height:16px; display:flex; align-items:center; justify-content:center; flex:none; }
.mri-ic svg{ width:15px; height:15px; }
.mri-n{ flex:1; }
.mri-check{ font-size:11px; color:var(--success); }
.mc-body{ display:flex; flex-direction:column; min-width:0; }
.mc-topbar{ display:flex; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid var(--line); flex:none; }
.mc-dots{ display:flex; gap:5px; }
.mc-dot{ width:6px; height:6px; border-radius:50%; background:var(--line-strong); transition:background .3s ease, transform .3s ease; }
.mc-dot.on{ background:var(--gold); transform:scale(1.3); }
.mc-dot.done{ background:var(--success); }
.mc-close{ margin-left:auto; background:none; border:none; font-size:22px; color:var(--ink-mute); line-height:1; cursor:pointer; }
.mc-close:hover{ color:var(--ink); }
.mc-main{ flex:1; overflow-y:auto; padding:22px 26px; transition:opacity .12s ease; }
.mc-main .step-card{ border:none; box-shadow:none; margin-bottom:0; }
.mc-main .step-card-head{ padding:0 0 16px; cursor:default; }
.mc-main .step-card-head:hover{ background:none; }
.mc-bottombar{ display:flex; align-items:center; gap:10px; padding:14px 20px; border-top:1px solid var(--line); flex:none; }

/* compact steps list (shown on the page behind the blurred console) */
.compact-steps{ display:flex; flex-direction:column; gap:6px; }
.cstep{ display:flex; align-items:center; gap:12px; padding:12px 16px; background:var(--paper); border:1px solid var(--line); border-radius:12px; cursor:pointer; transition:border-color .15s ease; }
.cstep:hover{ border-color:var(--ink-faint); }
.cstep-active{ border-color:var(--gold); }
.cstep-done{ opacity:.7; }

/* tab strip (replaces accordion for sub-results) */
.dtab-strip{ position:relative; display:flex; gap:4px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:16px; padding-bottom:0; }
.dtab-btn{ display:flex; align-items:center; gap:6px; background:none; border:none; padding:9px 13px; font-size:12.5px; font-weight:600; color:var(--ink-mute); cursor:pointer; border-radius:8px 8px 0 0; transition:color .15s ease; }
.dtab-btn:hover{ color:var(--ink); }
.dtab-btn.on{ color:var(--ink); }
.dtab-underline{ position:absolute; bottom:-1px; height:2px; background:var(--gold); border-radius:2px; transition:left .18s cubic-bezier(.2,.8,.2,1), width .18s cubic-bezier(.2,.8,.2,1); }
.dtab-bodywrap{ position:relative; }
.dtab-pane{ display:none; }
.dtab-pane.on{ display:block; }
@keyframes dtabFade{ from{ opacity:0; } to{ opacity:1; } }

/* generic "why" popover */
.why-pop{ position:absolute; top:calc(100% + 6px); left:0; z-index:60; width:260px; background:var(--graphite); color:#fff; border-radius:11px; padding:12px 14px; box-shadow:var(--sh-3); }
@keyframes whyFade{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }
.why-h{ display:block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:6px; }
.why-b{ display:block; font-size:12px; line-height:1.5; color:rgba(245,244,241,0.85); }
.why-b b{ color:#fff; }
.sop-v, .ds-v, .mpav{ cursor:help; }

@media (max-width:900px){
  .mc-shell{ grid-template-columns:1fr; }
  .mc-rail{ display:none; }
}

/* ── SEO/GEO score pills + what's-left popover ── */
.mc-scores{ display:flex; gap:8px; margin-left:14px; }
.score-pill{ display:flex; align-items:center; gap:5px; font-family:var(--font-mono); font-size:11px; font-weight:600; padding:4px 10px; border-radius:999px; cursor:pointer; position:relative; transition:background .15s ease; }
.score-pill.seo{ background:var(--sapphire-soft); color:var(--sapphire); }
.score-pill.geo{ background:var(--gold-soft); color:var(--gold-deep); }
.score-pill:hover{ filter:brightness(0.96); }
.score-pill b{ font-weight:800; }
.score-pop{ position:absolute; top:calc(100% + 8px); left:0; z-index:80; width:260px; background:var(--graphite); color:#fff; border-radius:12px; padding:12px 14px; box-shadow:var(--sh-3); }
.sp-h{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:8px; }
.sp-row{ display:flex; align-items:flex-start; gap:8px; font-size:12.5px; line-height:1.4; padding:6px 0; border-top:1px solid var(--line-dark); cursor:pointer; color:rgba(245,244,241,0.88); }
.sp-row:first-of-type{ border-top:none; }
.sp-row:hover{ color:#fff; }
.sp-dot{ width:6px; height:6px; border-radius:50%; background:var(--warn); flex:none; margin-top:5px; }
.sp-row.sp-done{ color:var(--success); cursor:default; }
.sp-row.sp-done:hover{ color:var(--success); }

/* ── Search Optimization: suggestion fields (Accept/Modify/Regenerate) ── */
.seo-mission{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:20px 22px; margin-top:18px; }
.som-head{ margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.som-title{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:6px; }
.som-sub{ font-size:13px; color:var(--ink-soft); line-height:1.5; }
.sf-row{ display:grid; grid-template-columns:140px 1fr auto; gap:16px; align-items:flex-start; padding:16px 0; border-top:1px solid var(--line-soft); }
.sf-row:first-of-type{ border-top:none; }
.sf-row.sf-accepted{ background:#EEF7F0; margin:0 -12px; padding:16px 12px; border-radius:10px; border-top-color:transparent; }
.sf-k{ font-size:13px; font-weight:700; color:var(--ink); padding-top:2px; }
.sf-box{ min-width:0; }
.sf-v{ font-size:14.5px; font-weight:600; color:var(--ink); margin-bottom:6px; line-height:1.4; }
.sf-edit{ width:100%; border:1px solid var(--gold); border-radius:8px; padding:8px 11px; font-family:var(--font-sans); font-size:14px; outline:none; box-sizing:border-box; }
.sf-meta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:4px; }
.sf-conf{ font-family:var(--font-mono); font-size:11px; color:var(--success); font-weight:600; }
.sf-src{ font-family:var(--font-mono); font-size:11px; color:var(--sapphire); }
.sf-reason{ font-size:12px; color:var(--ink-mute); font-style:italic; }
.sf-acts{ display:flex; flex-direction:column; gap:6px; flex:none; }
.sf-done{ font-size:12.5px; font-weight:700; color:var(--success); white-space:nowrap; }

/* ══ MISSION CONSOLE v2 — dark control room (matches reference) ══════ */
.mc-shell.mc-dark{ background:var(--graphite); display:flex; flex-direction:column; padding:0; width:min(1240px,96vw); height:min(820px,92vh); }
.mc-topbar2{ display:flex; align-items:center; gap:18px; padding:14px 22px; background:var(--graphite-2); border-bottom:1px solid rgba(255,255,255,0.06); flex:none; }
.mc2-brand{ display:flex; align-items:center; gap:10px; }
.mc2-logo{ width:32px; height:32px; border-radius:9px; background:var(--gold-grad); color:#fff; display:grid; place-items:center; font-weight:800; font-size:15px; flex:none; }
.mc2-app{ font-size:13.5px; font-weight:700; color:#fff; }
.mc2-mission{ font-size:11px; color:rgba(255,255,255,0.5); }
.mc2-scores{ display:flex; gap:22px; margin-left:20px; }
.mc2-score{ text-align:center; }
.mc2-sl{ font-family:var(--font-mono); font-size:9px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.4); }
.mc2-sv{ font-size:14px; font-weight:700; color:#fff; margin-top:2px; }
.mc2-meta{ display:flex; align-items:center; gap:16px; margin-left:auto; }
.mc2-mi{ text-align:right; }
.mc2-ml{ font-family:var(--font-mono); font-size:9px; color:rgba(255,255,255,0.4); }
.mc2-mv{ font-size:12.5px; font-weight:600; color:#fff; display:flex; align-items:center; gap:5px; justify-content:flex-end; }
.mc2-live{ width:6px; height:6px; border-radius:50%; background:#22C55E; box-shadow:0 0 6px #22C55E; }
.mc2-avatar{ width:34px; height:34px; border-radius:50%; background:var(--gold-grad); color:#fff; display:grid; place-items:center; font-size:12px; font-weight:700; }
.mc-close2{ background:rgba(255,255,255,0.06); border:none; color:rgba(255,255,255,0.6); width:28px; height:28px; border-radius:8px; font-size:16px; cursor:pointer; }
.mc-close2:hover{ background:rgba(255,255,255,0.12); color:#fff; }

.mc-cardrow{ display:flex; flex-wrap:nowrap; gap:8px; padding:12px 18px; background:var(--graphite); flex:none; overflow-x:auto; max-height:112px; }
.mc2-card{ background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:12px; padding:9px 10px; cursor:pointer; transition:border-color .15s ease, background .15s ease; flex:0 0 108px; width:108px; }
.mc2-card:hover{ border-color:rgba(255,255,255,0.18); }
.mc2-active{ border-color:var(--gold); background:rgba(178,138,66,0.14); }
.mc2-done{ opacity:.75; }
.mc2-c-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.mc2-c-num{ font-family:var(--font-mono); font-size:10px; color:rgba(255,255,255,0.4); }
.mc2-c-ic{ width:16px; height:16px; color:var(--gold-light); }
.mc2-c-ic svg{ width:16px; height:16px; }
.mc2-active .mc2-c-ic{ color:var(--gold); }
.mc2-done .mc2-c-ic{ color:#22C55E; }
.mc2-c-name{ font-size:12px; font-weight:700; color:#fff; margin-bottom:3px; }
.mc2-c-desc{ display:none; }
.mc2-c-status{ display:flex; align-items:center; gap:5px; font-size:9.5px; color:rgba(255,255,255,0.5); }
.mc2-c-dot{ width:6px; height:6px; border-radius:50%; background:#7C8795; }
.mc2-active .mc2-c-dot{ background:var(--gold); }
.mc2-done .mc2-c-dot{ background:#22C55E; }

.mc-workspace{ flex:1 1 auto; display:grid; grid-template-columns:1fr 260px; gap:0; overflow:hidden; min-height:220px; }
.mc-wsmain{
  overflow-y:auto; padding:18px 20px; background:var(--graphite); color:rgba(255,255,255,0.85);
  /* re-map shared design tokens so every reused light-theme component
     (which keys off these vars for bg/text/border) renders dark here */
  --bg:var(--graphite); --paper:var(--graphite-2); --paper-warm:var(--graphite-3); --paper-2:var(--graphite-3);
  --ink:rgba(255,255,255,0.88); --ink-soft:rgba(255,255,255,0.62); --ink-mute:rgba(255,255,255,0.42); --ink-faint:rgba(255,255,255,0.28);
  --line:rgba(255,255,255,0.12); --line-soft:rgba(255,255,255,0.07); --line-strong:rgba(255,255,255,0.2); --line-dark:rgba(255,255,255,0.12);
  --char:var(--graphite-3); --char-2:var(--graphite-3); --char-3:var(--graphite-3);
  --gold-soft:rgba(178,138,66,0.16); --sapphire-soft:rgba(62,106,225,0.18);
  --sh-1:none; --sh-2:none; --sh-3:none;
}
.mc-wsmain .step-card{ background:transparent; border:none; box-shadow:none; }
.mc-wsmain .step-card-head{ display:none; }
.mc-wsmain .ss-label, .mc-wsmain .sop-k, .mc-wsmain .ds-k, .mc-wsmain .kip-k, .mc-wsmain .tiny.muted{ color:rgba(255,255,255,0.4); }
.mc-wsmain .step-outputs-panel, .mc-wsmain .disc-summary, .mc-wsmain .auto-act-block, .mc-wsmain .opp-pick, .mc-wsmain .kip{ background:rgba(255,255,255,0.03); border-color:rgba(255,255,255,0.08); }
.mc-wsmain .dtab-btn{ color:rgba(255,255,255,0.5); }
.mc-wsmain .dtab-btn.on{ color:#fff; }
.mc-wsmain .dtab-strip{ border-bottom-color:rgba(255,255,255,0.1); }
.mc-wsside{ background:var(--graphite-2); border-left:1px solid rgba(255,255,255,0.06); padding:18px 16px; overflow-y:auto; }
.mc2-side-h{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:12px; }
.mc2-donut-wrap{ display:flex; justify-content:center; margin-bottom:14px; }
.mc2-donut{ --p:37; width:110px; height:110px; border-radius:50%; background:conic-gradient(var(--gold) calc(var(--p)*1%), rgba(255,255,255,0.08) 0); display:grid; place-items:center; position:relative; }
.mc2-donut::before{ content:""; position:absolute; inset:14px; border-radius:50%; background:var(--graphite-2); }
.mc2-donut span{ position:relative; font-size:20px; font-weight:800; color:#fff; }
.mc2-legend{ display:flex; flex-direction:column; gap:6px; }
.mc2-leg-row{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:rgba(255,255,255,0.6); }
.mc2-leg-row b{ margin-left:auto; color:#fff; }
.mc2-leg-dot{ width:7px; height:7px; border-radius:50%; flex:none; }
.mc2-agent-rows, .mc2-comp-list, .mc2-qa-list{ display:flex; flex-direction:column; gap:8px; }
.mc2-arow{ display:flex; justify-content:space-between; font-size:11.5px; color:rgba(255,255,255,0.5); }
.mc2-arow b{ color:#fff; font-weight:600; }
.mc2-comp{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:rgba(255,255,255,0.6); }
.mc2-comp-dot{ width:6px; height:6px; border-radius:50%; background:#22C55E; }
.mc2-qa{ text-align:left; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:8px; padding:8px 10px; font-size:11.5px; color:rgba(255,255,255,0.75); cursor:pointer; }
.mc2-qa:hover{ background:rgba(255,255,255,0.08); }

.mc-ledger{ background:var(--graphite); border-top:1px solid rgba(255,255,255,0.06); padding:10px 20px; flex:none; max-height:130px; overflow-y:auto; }
.mc2-ledger-h{ display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:10px; }
.mc2-ledger-filter{ margin-left:auto; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:6px; color:rgba(255,255,255,0.6); font-size:11px; padding:3px 6px; }
.mc2-ledger-row{ display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; }
.mc2-ledger-item{ flex:0 0 118px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); border-radius:10px; padding:10px; }
.mc2-ledger-av{ width:22px; height:22px; border-radius:50%; background:var(--gold-grad); color:#fff; display:grid; place-items:center; font-size:10px; font-weight:700; margin-bottom:6px; }
.mc2-ledger-t{ font-family:var(--font-mono); font-size:9px; color:rgba(255,255,255,0.35); }
.mc2-ledger-e{ font-size:11px; font-weight:700; color:#fff; margin:3px 0 2px; }
.mc2-ledger-d{ font-size:9.5px; color:rgba(255,255,255,0.4); line-height:1.3; }
.mc2-ledger-foot{ margin-top:8px; text-align:right; }
.mc2-ledger-foot a{ font-size:11px; color:var(--gold); cursor:pointer; }
@media (max-width:1000px){ .mc-workspace{ grid-template-columns:1fr; } .mc-wsside{ display:none; } }
@media (max-height:700px){ .mc-ledger{ display:none; } }

/* ══ RESEARCH CONSOLE — tabbed intelligence panel ══════════════════════ */
.rsrch-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.rsrch-tab{ display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600; color:var(--ink-soft); background:var(--paper); border:1px solid var(--line); border-radius:9px; padding:9px 13px; cursor:pointer; transition:all .15s ease; }
.rsrch-tab:hover{ border-color:var(--ink-faint); color:var(--ink); }
.rsrch-tab.on{ background:var(--gold-grad,var(--gold)); color:#fff; border-color:transparent; }
.rt-ic{ display:flex; width:15px; height:15px; flex:none; }
.rt-ic svg{ width:100%; height:100%; }

.paa-layout{ display:grid; grid-template-columns:1fr 340px; gap:16px; align-items:start; }
.paa-card{ padding:18px 20px; }
.paa-card-head h3{ margin:0 0 14px; font-size:15px; display:flex; align-items:center; gap:10px; }
.paa-badge{ font-family:var(--font-mono); font-size:10.5px; font-weight:600; letter-spacing:0.03em; color:var(--gold-deep); background:var(--gold-soft); border-radius:999px; padding:4px 10px; }
.paa-toolbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line-soft); }
.paa-selall{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ink-soft); margin-right:4px; }
.paa-table{ display:flex; flex-direction:column; }
.paa-row{ display:grid; grid-template-columns:26px 26px 1fr 100px 84px 84px; align-items:center; gap:10px; padding:10px 6px; border-top:1px solid var(--line-soft); font-size:13px; cursor:pointer; border-radius:8px; }
.paa-row:first-child{ border-top:none; }
.paa-row:hover{ background:var(--paper-warm); }
.paa-row.on{ background:var(--gold-soft); }
.paa-row-hd{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); cursor:default; }
.paa-row-hd:hover{ background:none; }
.paa-num{ color:var(--ink-mute); font-size:12px; }
.paa-q{ color:var(--ink); font-weight:500; }
.paa-intent{ font-size:11px; font-weight:600; }
.paa-intent.c{ color:var(--gold-deep); }
.paa-intent.i{ color:var(--sapphire); }
.paa-src{ color:var(--ink-soft); font-size:12px; }
.paa-acts{ display:flex; gap:4px; }
.paa-acts button{ background:none; border:none; color:var(--ink-mute); cursor:pointer; font-size:13px; padding:2px 4px; }
.paa-acts button:hover{ color:var(--ink); }
.paa-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:12px; border-top:1px solid var(--line-soft); }
.paa-pager{ display:flex; gap:4px; }
.paa-pager button{ min-width:26px; height:26px; border-radius:6px; border:1px solid var(--line); background:var(--paper); color:var(--ink-soft); font-size:12px; cursor:pointer; }
.paa-pager button.on{ background:var(--char); color:#fff; border-color:var(--char); }

.paa-detail-card{ padding:18px 20px; }
.paa-detail-h{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:14px; }
.paa-detail-h h3{ margin:0; font-size:16px; line-height:1.35; }
.paa-detail-x{ background:none; border:none; color:var(--ink-mute); font-size:20px; cursor:pointer; line-height:1; flex:none; }
.paa-d-row{ padding:10px 0; border-top:1px solid var(--line-soft); }
.paa-d-row:first-of-type{ border-top:none; }
.paa-d-k{ font-family:var(--font-mono); font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:6px; }
.paa-d-v{ font-size:13.5px; color:var(--ink); }
.paa-chips{ display:flex; gap:6px; flex-wrap:wrap; }
.paa-brand-chip{ font-size:11.5px; font-weight:600; background:var(--paper-warm); border:1px solid var(--line-soft); border-radius:999px; padding:5px 10px; }
.paa-brand-chip.more{ color:var(--ink-mute); }
.paa-kw-chip{ font-size:11.5px; background:var(--sapphire-soft); color:var(--sapphire); border-radius:999px; padding:5px 10px; }
.paa-voice-list{ display:flex; flex-direction:column; gap:8px; }
.paa-voice-row{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ink-soft); }
.paa-d-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; padding-top:16px; border-top:1px solid var(--line-soft); }
@media (max-width:900px){ .paa-layout{ grid-template-columns:1fr; } .paa-row{ grid-template-columns:22px 22px 1fr 80px 70px; } .paa-src{ display:none; } }
