/* Cyber blue neon theme */
:root{
  --bg0:#0B0E14;
  --bg1:#090f22;
  --card:#0e162a;
  --card2:#101b35;
  --text:#eaf3ff;
  --muted:#98aacf;
  --line:#20355f;
  --brand:#57c1ff;
  --brand2:#7d6bff;
  --shadow: 0 20px 55px rgba(7,17,42,.45);
  --radius:16px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 550px at 12% 8%, rgba(87,193,255,.22), transparent 62%),
    radial-gradient(780px 520px at 88% 15%, rgba(125,107,255,.18), transparent 60%),
    radial-gradient(1200px 820px at 70% 100%, rgba(87,193,255,.10), transparent 65%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

.container{width:min(1100px, calc(100% - 40px)); margin:0 auto;}

.topbar{
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(14px);
  background: rgba(8,14,30,.72);
  border-bottom: 1px solid var(--line);
}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0;}

.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text);}
.brand__logo{
  width:34px; height:34px; border-radius:10px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, #7dd7ff, #5f8bff);
  color:#061229;
  font-weight:800;
  letter-spacing:.5px;
}
.brand__text{font-weight:800; letter-spacing:.3px}
.brand__badge{
  display: none;
  font-size:12px;
  color: var(--muted);
  border:1px solid rgba(35,48,83,.9);
  padding:3px 8px;
  border-radius:999px;
  background: rgba(15,26,51,.35);
}

.nav{display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end;}
.nav__link{
  color:var(--muted);
  text-decoration:none;
  font-size:14px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid transparent;
}
.nav__link:hover{color:var(--text); border-color: #3a5f9c; background: #111d37;}
.nav__link--active{color:#dff3ff; background: #122449; border-color: #416cb8; box-shadow: 0 0 0 1px rgba(87,193,255,.15) inset;}

.hero{
  margin: 22px 0 18px;
  position: relative;
  border-radius: 22px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
}
.hero__bg{
  position:absolute; inset:-2px;
  background:
    radial-gradient(700px 420px at 15% 30%, rgba(255,255,255,.09), transparent 60%),
    radial-gradient(650px 420px at 75% 10%, rgba(255,255,255,.04), transparent 60%),
    radial-gradient(900px 600px at 70% 95%, rgba(255,255,255,.05), transparent 60%);
  filter: saturate(1.2);
}
.hero__content{position:relative; padding: 38px 28px;}
.hero__title{margin:0 0 10px; font-size:34px; letter-spacing:.2px}
.hero__subtitle{margin:0; color: var(--muted); line-height:1.6; font-size:16px; max-width: 62ch;}
.hero__cta{margin-top:18px; display:flex; gap:12px; flex-wrap:wrap;}
.hero__note{margin-top:14px}

.overview{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:12px;
  margin: 0 0 16px;
}
.kpi{
  border:1px solid #2f4f84;
  background: linear-gradient(180deg, rgba(13,25,48,.86), rgba(11,21,40,.9));
  border-radius: 14px;
  padding: 12px;
}
.kpi__label{font-size:12px;color:var(--muted)}
.kpi__value{margin-top:4px;font-size:16px;font-weight:800}
.kpi__meta{margin-top:4px;font-size:12px;color:var(--muted)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border-radius: 12px;
  padding: 11px 14px;
  font-weight: 750;
  text-decoration:none;
  border: 1px solid #355791;
  color: var(--text);
  background: #0f1b33;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.btn:hover{transform: translateY(-1px); background: #12254a; border-color: #4f7aca;}
.btn--primary{
  background: linear-gradient(135deg, #5fd1ff, #6f7dff);
  color:#081226;
  border-color: #73b8ff;
  box-shadow: 0 8px 24px rgba(87,193,255,.32);
}
.btn--primary:hover{border-color: #a4daff; background: linear-gradient(135deg, #78dcff, #8794ff);}
.btn--ghost{background: #111c35;}

.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  border:1px solid #3b3b3b;
  background: #161616;
  color: var(--muted);
  font-size: 13px;
}
.pill__dot{
  width:8px; height:8px; border-radius:50%;
  background: #cfcfcf;
  box-shadow: 0 0 0 4px rgba(255,255,255,.12);
}

.grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin: 16px 0 18px;
}
.card{
  display:block;
  text-decoration:none;
  border-radius: var(--radius);
  border: 1px solid #2f4f84;
  background: linear-gradient(180deg, rgba(15,28,54,.86), rgba(12,22,41,.92));
  padding: 16px 16px 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.32);
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
  color: var(--text);
}
.card:hover{transform: translateY(-2px); border-color: #4f7aca; background: linear-gradient(180deg, rgba(18,35,68,.92), rgba(12,25,48,.95)); box-shadow: 0 12px 30px rgba(40,102,209,.22);}
.card__icon{font-size:20px}
.card__title{margin-top:10px; font-weight:850; letter-spacing:.2px}
.card__desc{margin-top:6px; color: var(--muted); line-height:1.5; font-size: 14px;}

.panel{
  border-radius: 22px;
  border: 1px solid #2e2e2e;
  background: #121212;
  box-shadow: var(--shadow);
  padding: 18px;
  margin: 16px 0 26px;
}
.panel__title{margin:0; font-size:18px}
.panel__subtitle{margin-top:6px; color: var(--muted); font-size:14px; line-height:1.5}

.links{margin-top:12px; display:grid; gap:10px}
.linkrow{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #2f4f84;
  background: #0f1b33;
  text-decoration:none;
  color: var(--text);
}
.linkrow:hover{border-color: #5080d0; background: #13274a;}
.linkrow__k{font-weight:850}
.linkrow__v{color: var(--muted); margin-top:4px; font-size: 13px}
.linkrow__right{color: var(--muted); font-weight:750}

/* Knowledge Hub links: left label inside the button */
.console__knowledge .knowledge-card .linkrow{
  padding: 14px 14px;
}
.console__knowledge .knowledge-card .linkrow__k{
  font-weight: 950;
  font-size: 15px;
  color: var(--text);
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(87,193,255,.55);
  background: rgba(87,193,255,.10);
}
.console__knowledge .knowledge-card .linkrow__right{
  font-weight: 850;
}

.ops{
  margin: 8px 0 18px;
  display:grid;
  grid-template-columns: 1.35fr .8fr;
  gap:14px;
}
.ops__title{
  margin:0;
  font-size:16px;
  font-weight:800;
}
.ops__left,.ops__right{
  border:1px solid #2c4f86;
  border-radius:16px;
  background: rgba(13,25,48,.76);
  padding: 12px;
}
.ops__left .links{margin-top:10px}
.ops__right .section{margin-top:10px}

.page{
  margin: 22px 0 28px;
  border-radius: 22px;
  border:1px solid #294879;
  background: rgba(10,19,37,.84);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.page__header{padding: 18px 18px 10px; border-bottom:1px solid #2e2e2e;}
.page__title{margin:0; font-size:22px}
.page__desc{margin-top:8px; margin-bottom:0; color: var(--muted); line-height:1.6; font-size:14px}
.page__body{padding: 16px 18px 18px;}
.workflow-start{
  margin-top: 12px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.workflow-start__label{
  font-size:13px;
  color:var(--muted);
}
.workflow-start__select{
  min-width: 190px;
  border:1px solid #3c67a9;
  background:#112340;
  color:var(--text);
  border-radius: 10px;
  padding: 9px 10px;
}

.section{padding: 14px 14px; border:1px solid #2c4f86; border-radius: 16px; background: rgba(13,25,48,.86);}
.section + .section{margin-top:12px}
.section__title{margin:0; font-size:16px}
.section__meta{margin-top:6px; color: var(--muted); font-size:13px; line-height:1.6}
.section__list{margin:10px 0 0; padding-left: 18px; color: var(--muted); line-height:1.7; font-size: 13.5px;}
.kbd{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
  color: var(--text);
  border: 1px solid #3f3f3f;
  background: #111111;
  padding: 2px 8px;
  border-radius: 10px;
}

.diagram{
  border-radius: 18px;
  border:1px dashed #4b4b4b;
  background:
    radial-gradient(800px 460px at 15% 20%, rgba(255,255,255,.06), transparent 62%),
    radial-gradient(750px 520px at 80% 70%, rgba(255,255,255,.04), transparent 60%),
    rgba(255,255,255,.01);
  padding: 18px;
}
.diagram__row{
  display:grid;
  grid-template-columns: 1fr 70px 1fr 70px 1fr;
  align-items: stretch;
  gap: 10px;
}
.node{
  border: 1px solid #313131;
  border-radius: 16px;
  padding: 12px;
  background: #171717;
}
.node__t{font-weight:900; letter-spacing:.2px}
.node__d{margin-top:6px; color: var(--muted); font-size: 13px; line-height:1.6}
.arrow{
  display:grid; place-items:center;
  color: #7f7f7f;
  font-weight: 900;
  border-radius: 16px;
  border: 1px solid #2f2f2f;
  background: #101010;
}
.diagram__row + .diagram__row{margin-top:10px}

.footer{margin: 22px 0 30px;}
.footer__inner{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  color: #909090;
  font-size: 13px;
  padding: 12px 0;
  border-top: 1px solid #2f2f2f;
}
.footer__link{color: #b1b1b1; text-decoration:none}
.footer__link:hover{color: var(--text)}

/* Floating hidden actions at bottom-right */
.quick-actions{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 50;
}
.quick-actions__main{
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1px solid #4b79c7;
  background: #12254a;
  color: var(--text);
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(69,134,255,.28);
}
.quick-actions__menu{
  display: none;
  margin-bottom: 10px;
  gap: 8px;
  flex-direction: column;
}
.quick-actions.open .quick-actions__menu{display:flex}
.quick-actions__item{
  text-decoration:none;
  color: var(--text);
  background: #112340;
  border: 1px solid #3c67a9;
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 12px;
  white-space: nowrap;
}
.quick-actions__item:hover{background:#17315b;border-color:#5d8fe0}

/* Full-screen console layout on homepage */
.console{
  min-height: 100vh;
  display:grid;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  padding: 12px 14px 14px;
}
.console__sidebar{
  border:1px solid #2c4f86;
  background: rgba(9,19,38,.86);
  border-radius: 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  padding:12px 8px;
}
.console__logo{
  width:42px;height:42px;border-radius:12px;text-decoration:none;
  display:grid;place-items:center;font-weight:900;color:#061229;
  background: linear-gradient(135deg, #7dd7ff, #5f8bff);
}
.console__nav{
  width:36px;height:36px;border-radius:10px;text-decoration:none;
  display:grid;place-items:center;color:var(--muted);
  border:1px solid #315287;background:#0f1b33;
}
.console__nav.active,.console__nav:hover{color:var(--text);background:#16305d;border-color:#598fe6}

.console__main{min-width:0}
.console__topbar{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  border:1px solid #2c4f86;background: rgba(10,20,39,.84);
  border-radius: 14px;padding: 12px 14px;
}
.console__title{font-size:24px;font-weight:900;letter-spacing:.2px}
.console__topbarRight{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.console__status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.metrics-bar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.status-chip{
  font-size:12px;padding:6px 9px;border-radius:999px;
  border:1px solid #3c67a9;background:#112340;color:#b9d7ff;
}

.console__layout{
  margin-top:12px;
  display:grid;
  grid-template-columns: 250px 300px 1fr;
  gap:12px;
}
.console__center{min-width:0}

/* Linear business pipeline layout */
.console__layout--linear{
  grid-template-columns: 1fr 2fr 1fr;
}
.flow-zone{
  min-width:0;
}
.flow-zone .console-panel{
  height:100%;
}

/* Step highlight (FSM) */
body.fsm--step-0 .flow-zone--entry{border-color: rgba(87,193,255,.65); box-shadow: 0 0 0 2px rgba(87,193,255,.12) inset;}
body.fsm--step-0 .flow-zone--brain,
body.fsm--step-0 .flow-zone--matrix{opacity:.55}

body.fsm--step-1 .flow-zone--brain{opacity:1; }
body.fsm--step-1 .flow-zone--matrix{opacity:.55}
body.fsm--step-1 .flow-zone--brain .console-panel{border-color: rgba(125,107,255,.55);}
body.fsm--step-1 #stepLoadingText{display:block}

body.fsm--step-2 .flow-zone--brain{opacity:1}
body.fsm--step-3 .flow-zone--matrix{opacity:1}

/* Entry controls */
.audience-select{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}
.audience-btn{
  cursor:pointer;
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(47,79,132,.9);
  background: rgba(12,24,46,.32);
  color: var(--muted);
  font-weight:950;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}
.audience-btn::before,
.audience-btn::after{
  content:none !important;
  display:none !important;
}
.audience-btn:hover{border-color:#416cb8; background: rgba(18,36,73,.45); color: var(--text);}
.audience-btn.is-active{
  color: var(--text);
  border-color: rgba(87,193,255,.75);
  background: rgba(87,193,255,.12);
}

.console-panel__title::before,
.console-panel__title::after{
  content:none !important;
  display:none !important;
}

.btn--full{width:100%}

/* Brain outputs */
.step-loading{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(87,193,255,.45);
  background: rgba(87,193,255,.10);
  color: var(--text);
  font-weight:950;
  animation: ragSpin 1s linear infinite;
}

.brain-out{margin-top:12px;}
.ab-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.ab-card{
  border-radius:14px;
  border:1px solid rgba(44,79,134,.7);
  background: rgba(12,24,46,.28);
  padding:10px 12px;
}
.ab-card__label{
  font-weight:950;
  color: var(--muted);
  font-size:13px;
  margin-bottom:8px;
}
.ab-card__text{
  margin:0;
  white-space:pre-wrap;
  word-break:break-word;
  font-family: ui-monospace, SF Mono, Menlo, Consolas, monospace;
  font-size:11px;
  color: var(--text);
  line-height:1.45;
  max-height: 130px;
  overflow:hidden;
}

.ab-choice{
  display:flex;
  gap:10px;
}
.ab-choice__btn{
  flex:1;
  cursor:pointer;
  border-radius:999px;
  border:1px solid rgba(44,79,134,.8);
  background: rgba(12,24,46,.35);
  color: var(--muted);
  font-weight:950;
  padding:10px 12px;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.ab-choice__btn.is-active{
  border-color: rgba(103,255,188,.7);
  background: rgba(103,255,188,.12);
  color: var(--text);
}
.strategy-meta{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.strategy-meta__row{
  border:1px solid rgba(44,79,134,.65);
  background: rgba(12,24,46,.22);
  border-radius:14px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.strategy-meta__k{
  color: var(--muted);
  font-weight:950;
  font-size:12px;
}
.strategy-meta__v{
  font-weight:950;
  color: var(--text);
  font-size:12px;
  text-align:right;
  flex:1;
}

.channel6-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap:12px;
}
.channel6-item{
  border-radius:14px;
  border:1px solid rgba(44,79,134,.65);
  background: rgba(12,24,46,.22);
  padding:14px 14px;
}
.channel6-item__k{
  font-weight:950;
  color: var(--muted);
  font-size:12px;
}
.channel6-item__v{
  margin-top:8px;
  font-weight:950;
  color: var(--text);
  font-size:12px;
  line-height:1.45;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:break-word;
}

/* Trend Engine lite */
.trend-hotspots-lite{display:flex; flex-direction:column; gap:10px; margin-top:8px;}
.trend-hotspot-lite{
  border-radius:14px;
  border:1px solid rgba(44,79,134,.7);
  background: rgba(12,24,46,.22);
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.trend-hotspot-lite__title{
  color: var(--text);
  font-weight:950;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  flex:1;
}
.trend-hotspot-lite__btn{
  flex:0 0 auto;
  cursor:pointer;
  border-radius:999px;
  border:1px solid rgba(87,193,255,.55);
  background: rgba(87,193,255,.10);
  color: var(--text);
  font-weight:950;
  padding:8px 10px;
}
.trend-hotspot-lite__btn:hover{
  border-color: rgba(125,107,255,.75);
  background: rgba(125,107,255,.14);
}

/* Flow line overlay */
#flowLinesSvg{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:49;
  display:none;
}

/* Ripple + fly-in */
.omni-matrix__cell--executed{
  animation: none;
}
.omni-matrix__cell--executed::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:14px;
  border:1px solid rgba(103,255,188,.6);
  opacity:0;
  animation: cellExecutedRipple .85s ease-out forwards;
  pointer-events:none;
}
@keyframes cellExecutedRipple{
  0%{opacity:0; transform: scale(.96); filter: blur(0);}
  30%{opacity:1; transform: scale(1); filter: blur(.0);}
  100%{opacity:0; transform: scale(1.04); filter: blur(0);}
}

.fly-tag{
  position:fixed;
  z-index:60;
  max-width: 190px;
  padding:9px 11px;
  border-radius:14px;
  border:1px solid rgba(87,193,255,.6);
  background: rgba(8,14,30,.92);
  color: var(--text);
  font-weight:950;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transform: translate(0,0);
  opacity:1;
  pointer-events:none;
  transition: transform .75s cubic-bezier(.2,.8,.2,1), opacity .75s ease;
}


.console__col{min-width:0}

/* 3-column homepage: let center matrix feel dominant */
.console__layout .console__col{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.console__layout .console__col > .console-panel{
  flex:1;
  min-height:0;
  overflow:auto;
}

/* Style Checker (Brand Voice) */
.style-checker-card{
  padding:12px;
}
.switch{
  position:relative;
  width: 44px;
  height: 26px;
  display:inline-block;
}
.switch input{
  opacity:0;
  width:0;
  height:0;
}
.switch__ui{
  position:absolute;
  inset:0;
  border-radius:999px;
  border:1px solid rgba(87,193,255,.55);
  background: rgba(16,32,64,.55);
  transition: background .18s ease, border-color .18s ease;
}
.switch__ui::after{
  content:"";
  position:absolute;
  top:3px; left:3px;
  width:20px; height:20px;
  border-radius:50%;
  background: linear-gradient(135deg, rgba(95,209,255,.95), rgba(125,107,255,.9));
  box-shadow: 0 8px 22px rgba(87,193,255,.22);
  transition: transform .18s ease;
}
.switch input:checked + .switch__ui{
  border-color: rgba(103,255,188,.55);
  background: rgba(103,255,188,.12);
}
.switch input:checked + .switch__ui::after{
  transform: translateX(18px);
}

/* Strategy output blocks */
.strategy-out{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.strategy-out__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(44,79,134,.6);
  background: rgba(12,24,46,.35);
  border-radius:14px;
  padding:10px 12px;
}
.strategy-out__k{
  color: var(--muted);
  font-weight:850;
  font-size:13px;
}
.strategy-out__v{
  font-weight:950;
  font-size:13px;
  color: var(--text);
  max-width: 62%;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Trend Engine */
.trend-hotspots{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}
.trend-hotspot{
  border:1px solid rgba(44,79,134,.7);
  background: rgba(12,24,46,.35);
  border-radius:14px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.trend-hotspot__title{
  font-weight:950;
  font-size:13px;
  color: var(--text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 65%;
}
.trend-hotspot__btn{
  border:1px solid rgba(87,193,255,.55);
  background: rgba(87,193,255,.10);
  color: var(--text);
  border-radius:999px;
  padding:8px 10px;
  cursor:pointer;
  font-weight:900;
  white-space:nowrap;
  transition: transform .12s ease, border-color .12s ease, background .12s ease;
}
.trend-hotspot__btn:hover{
  transform: translateY(-1px);
  border-color: rgba(125,107,255,.75);
  background: rgba(125,107,255,.14);
}

/* Energy Flow overlay */
#energyFlowSvg{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:49;
}
.energy-path{
  fill:none;
  stroke: rgba(87,193,255,.85);
  stroke-width:3;
  stroke-linecap:round;
  filter: drop-shadow(0 0 10px rgba(87,193,255,.35));
  stroke-dasharray: 8 10;
  stroke-dashoffset: 120;
  animation: energyDash 1.2s ease-in-out forwards;
}
.energy-path--toMatrix{
  stroke: rgba(125,107,255,.85);
  filter: drop-shadow(0 0 10px rgba(125,107,255,.35));
}
@keyframes energyDash{
  0%{stroke-dashoffset: 120; opacity:.0}
  15%{opacity:1}
  100%{stroke-dashoffset: 0; opacity:1}
}

/* Omni Matrix cell deepening */
.omni-matrix__cell{
  padding: 8px 10px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.omni-matrix__cell-label{
  font-size: 12px;
  font-weight: 950;
  line-height:1.2;
}
.omni-matrix__spark{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
  height:16px;
  width:100%;
}
.omni-matrix__spark span{
  width:3px;
  border-radius:999px;
  background: rgba(87,193,255,.28);
}
.omni-matrix__cell--ok .omni-matrix__spark span{background: rgba(103,255,188,.55)}
.omni-matrix__cell--warn .omni-matrix__spark span{background: rgba(255,210,106,.55)}
.omni-matrix__cell--off .omni-matrix__spark span{background: rgba(152,170,202,.22)}
.omni-matrix__cell-meta{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:5px;
  font-size:10px;
  color: var(--muted);
}
.omni-matrix__ctr{
  font-weight:900;
  color: var(--text);
  font-size:10px;
}
.omni-matrix__aiTag{
  max-width: 100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color: var(--muted);
  font-weight:850;
}

/* Matrix visual tuning for linear pipeline */
.flow-zone--matrix .omni-matrix{
  grid-template-columns: 110px repeat(6, minmax(0,1fr));
  gap: 7px;
}
.flow-zone--matrix .omni-matrix__head,
.flow-zone--matrix .omni-matrix__stage{
  padding: 7px 8px;
  font-size: 11px;
}
.flow-zone--matrix .omni-matrix__spark{
  height: 12px;
  width: 100%;
}

/* Make the matrix less crowded in the right panel */
.flow-zone--matrix .omni-matrix__cell{
  min-height: 46px;
  padding: 7px 8px;
  gap: 4px;
}
.flow-zone--matrix .omni-matrix__cell-label{
  font-size: 11px;
}

.omni-matrix__cell--running{
  border-color: rgba(87,193,255,.9) !important;
  background: rgba(87,193,255,.14) !important;
  box-shadow: 0 0 0 2px rgba(87,193,255,.22), 0 0 22px rgba(87,193,255,.18);
  animation: cellRunningGlow 1.1s ease-in-out infinite;
}
@keyframes cellRunningGlow{
  0%{transform: translateY(0); filter: brightness(1);}
  50%{transform: translateY(-1px); filter: brightness(1.12);}
  100%{transform: translateY(0); filter: brightness(1);}
}

/* Drawer: Compliance output + multi-channel brief */
.compliance-out{
  margin-top:10px;
  border:1px solid rgba(44,79,134,.6);
  background: rgba(12,24,46,.28);
  border-radius:14px;
  padding:10px 12px;
  color: var(--muted);
  font-size:13px;
  font-weight:850;
  min-height: 36px;
}
.multi-channel-brief{
  margin-top:10px;
  border:1px solid rgba(44,79,134,.6);
  background: rgba(12,24,46,.22);
  border-radius:14px;
  padding:10px;
}
.multi-channel-brief__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:8px;
}
.mc-brief{
  border:1px solid rgba(47,79,132,.55);
  background: rgba(15,28,51,.25);
  border-radius:12px;
  padding:8px 8px;
}
.mc-brief__k{
  color: var(--muted);
  font-size:11px;
  font-weight:900;
}
.mc-brief__v{
  margin-top:6px;
  font-size:11px;
  color: var(--text);
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 3-column homepage compaction */
.console__knowledge .knowledge-hub-grid{
  grid-template-columns: 1fr;
  gap: 10px;
}
.console__knowledge .knowledge-card{
  padding: 10px 10px;
}
.console__knowledge .fingerprint-sub{
  font-size: 12px;
}
.console__knowledge .pillar-btn{
  padding: 7px 10px;
  font-size: 12px;
}

.console__console .grid{
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 10px 0 0;
}
.console__console .grid .card{
  padding: 12px;
  box-shadow: none;
  background: rgba(12,24,46,.35);
  transition: none;
}
.console__console .grid .card:hover{
  transform: none;
  box-shadow: none;
  border-color: rgba(47,79,132,.9);
  background: rgba(12,24,46,.35);
}
.console__console .card__icon{
  display:none;
}
.console__console .card__title{
  font-size: 13px;
  margin-top: 0;
}
.console__console .card__desc{
  font-size: 12px;
  margin-top: 4px;
}

/* =========================
   Homepage drawers (F layout)
   ========================= */
.drawer-left{
  border:1px solid #2c4f86;
  background: rgba(12,24,46,.82);
  border-radius:14px;
  padding:12px;
  min-height: 520px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.drawer-left__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.drawer-left__title{font-weight:900}
.drawer-left__toggle{padding:8px 10px}
.drawer-left__summary{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.drawer-summary__item{
  font-size:13px;
  color: var(--muted);
  border:1px solid rgba(65,108,184,.55);
  background: rgba(16,32,64,.45);
  padding:10px 12px;
  border-radius:12px;
}
.drawer-summary__item b{color: var(--text)}
.drawer-left__content{
  overflow:auto;
  padding-right: 4px;
}
.drawer-left--collapsed .drawer-left__content{
  display:none;
}
.drawer-left--expanded .drawer-left__toggle{ /* aria state only; kept for future */ }

/* Drawer-left UI: compact, single-column */
.drawer-left .knowledge-hub-grid{
  grid-template-columns: 1fr;
  gap: 10px;
}
.drawer-left .console-panel{
  padding: 10px;
}
.drawer-left .console-panel__title{
  margin-bottom: 8px;
}
.drawer-left .grid{
  gap: 10px;
  margin: 10px 0 0;
  grid-template-columns: 1fr;
}
.drawer-left .grid .card{
  padding: 12px;
  box-shadow: none;
  background: rgba(12,24,46,.35);
  transition: none;
}
.drawer-left .grid .card:hover{
  transform: none;
  box-shadow: none;
  border-color: rgba(47,79,132,.9);
  background: rgba(12,24,46,.35);
}
.drawer-left .card__icon{
  display:none;
}
.drawer-left .card__title{
  margin-top: 0;
  font-size: 13px;
}
.drawer-left .card__desc{
  margin-top: 4px;
  font-size: 12px;
}
.drawer-left .knowledge-card{
  padding: 10px 10px;
}
.drawer-left .knowledge-card__title{
  margin-bottom: 8px;
  font-size: 13px;
}
.drawer-left .fingerprint-status{
  padding: 10px 10px;
}
.drawer-left .fingerprint-sub{
  font-size: 12px;
}
.drawer-left .pillar-btn{
  padding: 7px 10px;
  font-size: 12px;
}

.drawer-right{
  position:fixed;
  top: 96px;
  right: 14px;
  width: 420px;
  max-width: calc(100vw - 28px);
  height: calc(100vh - 120px);
  border:1px solid #2c4f86;
  background: rgba(8,14,30,.92);
  border-radius:14px;
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  transform: translateX(110%);
  opacity:0;
  pointer-events:none;
  transition: transform .22s ease, opacity .22s ease;
  z-index: 50;
}
.drawer-right--open{
  transform: translateX(0);
  opacity:1;
  pointer-events:auto;
}
.drawer-right__inner{
  padding: 12px;
  height:100%;
  overflow:auto;
}
.drawer-right__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom: 12px;
}
.drawer-right__title{font-weight:950;color:var(--text)}
.drawer-right__close{padding:8px 10px}
.console-panel{
  border:1px solid #2c4f86;
  background: rgba(12,24,46,.82);
  border-radius:14px;
  padding:12px;
}
.console-panel__title{margin:0 0 10px;font-size:15px;font-weight:850}
.console__left .grid{margin:0}
.console__left .grid .card{min-height:120px}
.console-split{
  margin-top:12px;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:12px;
}

.log-table{display:grid;gap:8px}
.log-row{
  display:grid;
  grid-template-columns: .95fr 1.35fr .7fr .65fr;
  gap:8px;
  font-size:12px;
  color:var(--muted);
  border:1px solid #2f4f84;
  background:#0f1b33;
  border-radius:10px;
  padding:7px 8px;
}
.ok{color:#67ffbc;font-weight:700}
.warn{color:#ffd26a;font-weight:700}
.kpi-mini{
  display:flex;justify-content:space-between;align-items:center;
  border:1px solid #315287;background:#102040;border-radius:10px;
  padding:8px 10px;margin-top:8px;color:var(--muted);font-size:13px;
}
.kpi-mini b{color:#e6f2ff}

/* 核心链路：站内步骤 + 外系统一键直达 */
.workflow-nav{
  background: rgba(8,14,30,.88);
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
  font-size: 13px;
}
.workflow-nav__inner{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}
.workflow-nav__home{
  color: var(--brand);
  text-decoration: none;
  font-weight: 700;
}
.workflow-nav__home:hover{ text-decoration: underline; }
.workflow-nav__sep{ color: var(--line); user-select: none; }
.workflow-nav__arrow{ color: var(--muted); user-select: none; padding: 0 2px; }
.workflow-nav__step{
  color: var(--muted);
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.workflow-nav__step:hover{
  color: var(--text);
  border-color: #3a5f9c;
  background: #111d37;
}
.workflow-nav__step--active{
  color: #dff3ff;
  background: #122449;
  border-color: #416cb8;
  font-weight: 700;
}
.workflow-actions{
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.workflow-actions .btn--ghost{
  border: 1px solid #3a5f9c;
  background: transparent;
  color: var(--text);
  text-decoration: none;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.workflow-actions .btn--ghost:hover{
  background: #111d37;
}

/* 知识库：本页文档镜像（本地备忘） */
.kb-mirror{
  width:100%;
  min-height:220px;
  margin-top:12px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--line);
  background: rgba(8,14,30,.65);
  color:var(--text);
  font-size:14px;
  line-height:1.55;
  resize:vertical;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
.kb-mirror:focus{
  outline:none;
  border-color:#416cb8;
  box-shadow:0 0 0 2px rgba(87,193,255,.12);
}
.kb-mirror-hint{
  font-size:13px;
  color:var(--muted);
  margin-top:8px;
}
.kb-mirror-meta{
  font-size:12px;
  color:var(--muted);
  margin-top:10px;
}

/* 知识库：Confluence 自动打开被拦截时的提示条 */
.confluence-popup-hint{
  margin: 0 auto;
  width: min(1100px, calc(100% - 40px));
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid #416cb8;
  background: rgba(18, 36, 73, 0.92);
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 8px 28px rgba(7, 17, 42, 0.35);
}
.confluence-popup-hint a{
  color: var(--brand);
  font-weight: 700;
}
.confluence-popup-hint[hidden]{
  display: none !important;
}

/* 首页看板：卡片子标题 */
.card__subtitle{
  margin-top: 8px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2px;
  color: var(--brand);
  border: 1px solid rgba(87,193,255,.35);
  background: rgba(87,193,255,.08);
  padding: 6px 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* 首页看板：RAG 文档解析中动态状态 */
.rag-parsing{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 900;
  color: #bfeaff;
}
.rag-spinner{
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid rgba(191,234,255,.25);
  border-top-color: rgba(87,193,255,1);
  animation: ragSpin 1s linear infinite;
}
@keyframes ragSpin{
  from{transform: rotate(0deg);}
  to{transform: rotate(360deg);}
}

/* 首页看板：策略进化动效 */
.strategy-evolution{
  border:1px solid #2c4f86;
  background: rgba(12,24,46,.65);
  border-radius: 14px;
  padding: 12px 14px;
}
.strategy-evolution__title{
  font-weight: 950;
  margin: 0 0 8px;
}
.strategy-evolution__viz{
  display:flex;
  align-items:center;
  gap:12px;
  color: var(--muted);
}
.strategy-evolution__pipe{
  flex:1;
  height: 6px;
  border-radius: 999px;
  background: rgba(87,193,255,.14);
  position: relative;
  overflow:hidden;
}
.strategy-evolution__pipe::after{
  content:"";
  position:absolute;
  inset:0;
  width: 45%;
  background: linear-gradient(90deg, rgba(87,193,255,.0), rgba(87,193,255,.75), rgba(125,107,255,.0));
  left:-50%;
}
.strategy-evolution--active .strategy-evolution__pipe::after{
  animation: strategyFlow 1.2s ease-out;
}
@keyframes strategyFlow{
  0%{left:-50%;}
  100%{left:110%;}
}
.strategy-evolution__badge{
  font-size: 12px;
  font-weight: 950;
  color: var(--text);
  border: 1px solid rgba(87,193,255,.35);
  background: rgba(87,193,255,.08);
  padding: 6px 10px;
  border-radius: 999px;
}

/* 弹窗：AI 预览短语 */
.modal-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.68);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 999;
}
.modal-card{
  width: min(720px, calc(100% - 40px));
  border-radius: 16px;
  border: 1px solid #416cb8;
  background: rgba(8,14,30,.96);
  box-shadow: 0 18px 60px rgba(0,0,0,.5);
  padding: 18px 16px;
}
.modal-title{
  font-weight: 950;
  margin: 0 0 8px;
}
.modal-text{
  white-space: pre-wrap;
  background: rgba(11,21,40,.6);
  border: 1px solid rgba(47,79,132,.8);
  border-radius: 12px;
  padding: 12px 12px;
  line-height: 1.7;
  color: var(--text);
}

/* Step 5：闭环引导线 */
.self-opt-guide{
  border:1px solid #2c4f86;
  background: rgba(13,25,48,.55);
  border-radius: 16px;
  padding: 12px 14px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap: 12px;
  margin-top: 10px;
}
.self-opt-guide__from{
  font-weight: 950;
  color: var(--text);
  display:flex;
  align-items:center;
  gap:10px;
}
.self-opt-guide__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background: linear-gradient(135deg, #5fd1ff, #6f7dff);
  box-shadow: 0 0 0 6px rgba(87,193,255,.12);
}
.self-opt-guide__line{
  flex:1;
  min-width: 140px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(87,193,255,.75), rgba(125,107,255,.2));
  position: relative;
  overflow:hidden;
}
.self-opt-guide__line::after{
  content:"";
  position:absolute;
  right:-8px;
  top:50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: linear-gradient(135deg, #5fd1ff, #6f7dff);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.self-opt-guide__to{
  color: var(--brand);
  font-weight: 950;
  text-decoration:none;
}
.self-opt-guide__to:hover{
  text-decoration: underline;
}

/* AI 输出下拉看板 + 闸门 */
.ai-output{
  margin-top:12px;
  border:1px solid var(--line);
  background: rgba(8,14,30,.55);
  border-radius:12px;
  padding:12px 14px;
}
.ai-output summary{
  cursor:pointer;
  font-weight:800;
  color:var(--text);
}
.step-gate{
  margin-top:16px;
}
.step-gate__controls{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.step-gate__status{
  color: var(--muted);
  font-weight:700;
}
.step-gate__output-meta{
  margin-top:10px;
  color: var(--muted);
  font-size:13px;
}
.step-gate__next:disabled{
  opacity:.55;
  cursor:not-allowed;
}

/* =========================
   Knowledge Hub & Matrix
   ========================= */
.knowledge-hub-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr 1.2fr;
  gap: 12px;
  margin-top: 10px;
}
.knowledge-card{
  border:1px solid #2c4f86;
  border-radius: 14px;
  background: rgba(8,14,30,.38);
  padding: 12px 12px;
}
.knowledge-card__title{
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 950;
  letter-spacing:.2px;
}
.fingerprint-scanner{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.fingerprint-status{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 950;
  color: var(--muted);
  border:1px solid #294879;
  background: rgba(15,28,51,.45);
  padding: 10px 12px;
  border-radius: 12px;
}
.fingerprint-status__icon{
  font-size: 18px;
}
.fingerprint-status--ok{
  color:#9dffdb;
  border-color: rgba(103,255,188,.5);
}
.fingerprint-status--ok .fingerprint-status__icon{
  animation: fingerprintCheckPop .55s ease-out;
}
@keyframes fingerprintCheckPop{
  0%{transform: scale(.7); opacity:.6;}
  60%{transform: scale(1.15); opacity:1;}
  100%{transform: scale(1); opacity:1;}
}
.fingerprint-sub{
  color: var(--muted);
  font-size: 13px;
  line-height:1.6;
}
.fingerprint-sub__sep{ margin: 0 6px; opacity:.8; }

.pillars-tree{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}
.pillar-btn{
  cursor:pointer;
  border:1px solid #294879;
  background: rgba(15,28,51,.35);
  color: var(--muted);
  padding: 8px 10px;
  border-radius: 999px;
  font-weight: 900;
  transition: transform .12s ease, border-color .12s ease, background .12s ease, color .12s ease;
}
.pillar-btn:hover{
  transform: translateY(-1px);
  border-color:#416cb8;
  background: rgba(18,36,73,.55);
  color: var(--text);
}
.pillar-btn--active{
  border-color:#73b8ff;
  background: rgba(87,193,255,.12);
  color: var(--text);
}

.matrix-legend{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  margin: 10px 0 12px;
  color: var(--muted);
  font-size: 13px;
}
.legend-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.legend-item span{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(152,170,202,.4);
  border:1px solid rgba(152,170,202,.5);
}
.legend-ok span{ background: rgba(103,255,188,.18); border-color: rgba(103,255,188,.45); }
.legend-warn span{ background: rgba(255,210,106,.18); border-color: rgba(255,210,106,.45); }
.legend-off span{ background: rgba(152,170,202,.08); border-color: rgba(152,170,202,.25); }

.omni-matrix{
  display:grid;
  grid-template-columns: 140px repeat(6, 1fr);
  gap: 8px;
}
.omni-matrix__head{
  padding: 10px 10px;
  border-radius: 12px;
  border:1px solid #2c4f86;
  background: rgba(12,24,46,.45);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
}
.omni-matrix__stage{
  padding: 10px 10px;
  border-radius: 12px;
  border:1px solid #2c4f86;
  background: rgba(12,24,46,.28);
  color: var(--text);
  font-size: 13px;
  font-weight: 950;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.omni-matrix__cell{
  min-height: 56px;
  border-radius: 14px;
  border:1px solid rgba(44,79,134,.7);
  background: rgba(12,24,46,.35);
  color: var(--muted);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 950;
  position: relative;
  transition: transform .12s ease, border-color .12s ease, background .12s ease, color .12s ease;
  flex-direction:column;
  gap: 6px;
  padding: 8px 10px;
}
.omni-matrix__cell:hover{
  transform: translateY(-1px);
  border-color:#416cb8;
  background: rgba(18,36,73,.45);
  color: var(--text);
}
.omni-matrix__cell--ok{
  border-color: rgba(103,255,188,.42);
  background: rgba(103,255,188,.12);
  color: #b9ffe3;
}
.omni-matrix__cell--warn{
  border-color: rgba(255,210,106,.42);
  background: rgba(255,210,106,.12);
  color: #ffe5a9;
}
.omni-matrix__cell--off{
  opacity:.7;
  background: rgba(152,170,202,.05);
  color: rgba(152,170,202,.85);
}
.omni-matrix__cell--active{
  box-shadow: 0 0 0 2px rgba(87,193,255,.18), 0 0 0 1px rgba(87,193,255,.35) inset;
  border-color: rgba(87,193,255,.7) !important;
}

.omni-matrix__cell-label{
  font-size: 12px;
  color: inherit;
  line-height: 1.2;
}
.omni-matrix__spark{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap: 2px;
  height: 16px;
  width: 100%;
  opacity: .95;
}
.omni-matrix__spark span{
  width: 3px;
  border-radius: 999px;
  background: rgba(87,193,255,.28);
}
.omni-matrix__cell--ok .omni-matrix__spark span{background: rgba(103,255,188,.55)}
.omni-matrix__cell--warn .omni-matrix__spark span{background: rgba(255,210,106,.55)}
.omni-matrix__cell--off .omni-matrix__spark span{background: rgba(152,170,202,.22)}


.ce-tabs{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-top: 6px;
}
.ce-tab{
  cursor:pointer;
  border:1px solid #294879;
  background: rgba(15,28,51,.35);
  color: var(--muted);
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 950;
  display:inline-flex;
  align-items:center;
  gap: 8px;
}
.ce-tab:hover{
  border-color:#416cb8;
  background: rgba(18,36,73,.55);
  color: var(--text);
}
.ce-tab--active{
  border-color:#73b8ff;
  background: rgba(87,193,255,.12);
  color: var(--text);
}
.ce-qc{
  margin-top: 12px;
  color: var(--muted);
  font-weight: 900;
}
.ce-qc--ok{
  color:#9dffdb;
}
.ce-qc--pending{
  color:#ffd26a;
}
.ce-qc--fail{
  color:#ff6b7a;
}
.ce-preview-note{
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
}
.ce-flow{
  margin-top: 12px;
  display:flex;
  align-items:center;
  gap: 10px;
  color: var(--muted);
  font-weight: 900;
}
.ce-flow__arrow{
  color: rgba(87,193,255,.85);
  animation: ceFlowPulse 1.2s ease-in-out infinite;
}
@keyframes ceFlowPulse{
  0%{transform: translateY(0); opacity:.7;}
  50%{transform: translateY(-2px); opacity:1;}
  100%{transform: translateY(0); opacity:.7;}
}
.ce-timeline ol{
  margin: 8px 0 0;
}

/* 写回知识中枢动画（recap 页可用） */
.writeback-box{
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.writeback-spinner{
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(87,193,255,.22);
  border-top-color: rgba(87,193,255,1);
  animation: writebackSpin 1s linear infinite;
}
@keyframes writebackSpin{
  from{transform: rotate(0deg);}
  to{transform: rotate(360deg);}
}

@media (max-width: 940px){
  .overview{grid-template-columns: repeat(2, minmax(0,1fr));}
  .grid{grid-template-columns: repeat(2, minmax(0,1fr));}
  .ops{grid-template-columns: 1fr;}
  .diagram__row{grid-template-columns: 1fr 54px 1fr; grid-auto-rows: auto;}
  .diagram__row .arrow:nth-child(2),
  .diagram__row .arrow:nth-child(4){display:none;}
  .console{grid-template-columns: 1fr;}
  .console__sidebar{display:none}
  .console__layout{grid-template-columns: 1fr}
  .console-split{grid-template-columns: 1fr}
}
@media (max-width: 640px){
  .topbar__inner{flex-direction:column; align-items:flex-start;}
  .nav{justify-content:flex-start}
  .hero__content{padding: 26px 18px;}
  .hero__title{font-size: 28px;}
  .overview{grid-template-columns: 1fr;}
  .grid{grid-template-columns: 1fr;}
  .console{padding:10px}
  .console__title{font-size:18px}
  .log-row{grid-template-columns: 1fr}
}

