/* /assets/css/systems/org-institutions/how-bill-proposal-review-and-voting-process-works-explained.css — 本页专属样式（en/zh 共用） */
/* ============ 议案审议与表决流程 · Bill review & voting process (systems) ============
   抽象系统流程图：方框 + 箭头，无外壳。共享类（.part/.body/.body2/.body3/.accent/
   .tag/.tag-sm/.is-running/@keyframes）已在 base 定义；零件区分色与动画用
   body[data-topic="bill-review-vote"] 作用域限定，避免与其它页互扰。
   红线：仅作抽象模型，不涉及任何现实国家 / 组织 / 政体的评判。 */

/* 主题蓝体系：零件描边 / 小字对比度修正（页面作用域） */
body[data-topic="bill-review-vote"] .part .body{stroke:#2563eb;stroke-width:1.6}
body[data-topic="bill-review-vote"] .part .body2{stroke:#60a5fa;stroke-width:1.2}
body[data-topic="bill-review-vote"] .tag-sm{fill:#5b6472;font-size:11px}

/* 各部件区分色（作用域限定 · per-part distinct fills，均在中灰蓝值域内，禁近白） */
body[data-topic="bill-review-vote"] .bv-p-draft .body{fill:#c2d1e4}
body[data-topic="bill-review-vote"] .bv-p-draft .body2{fill:#dde7f4}
body[data-topic="bill-review-vote"] .bv-p-submit .body{fill:#bccbe0}
body[data-topic="bill-review-vote"] .bv-p-submit .body2{fill:#d8e4f3}
body[data-topic="bill-review-vote"] .bv-p-review .body{fill:#c6d3e5}
body[data-topic="bill-review-vote"] .bv-p-review .body2{fill:#e0eaf5}
body[data-topic="bill-review-vote"] .bv-p-debate .body{fill:#bfcee2}
body[data-topic="bill-review-vote"] .bv-p-debate .body2{fill:#dae6f4}
body[data-topic="bill-review-vote"] .bv-p-vote .body{fill:#c4d1e3}
body[data-topic="bill-review-vote"] .bv-p-vote .body2{fill:#dce7f3}
body[data-topic="bill-review-vote"] .bv-p-outcome .body{fill:#c2d1e4}
body[data-topic="bill-review-vote"] .bv-p-outcome .body2{fill:#dde7f4}
body[data-topic="bill-review-vote"] .bv-p-amendment .body{fill:#c6d3e5}
body[data-topic="bill-review-vote"] .bv-p-amendment .body2{fill:#e0eaf5}

/* 高亮态（页面引擎 is-active 时） */
.part.is-active .body{fill:#9dc3f5;stroke:#1d4ed8;stroke-width:2.2}
.part.is-active .body2{fill:#c4daf8;stroke:#3b82f6;stroke-width:1.4}
.part.is-active .body3{fill:#1d4ed8}
.part.is-active{filter:drop-shadow(0 0 12px rgba(29,78,216,.5))}

/* 流程箭头：实蓝 = 前进步骤；虚橙 = 未通过退回；虚蓝 = 修订回路 */
.bv-flow-fwd{fill:none;stroke:#2563eb;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:12 10;animation:bv-move 1.2s linear infinite;animation-play-state:paused}
.bv-flow-ret{fill:none;stroke:#ea580c;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:12 10;animation:bv-move 1.8s linear infinite;animation-play-state:paused}
.bv-flow-amd{fill:none;stroke:#5b8fd6;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:10 9;animation:bv-move 1.4s linear infinite;animation-play-state:paused}
.is-running .bv-flow-fwd,.is-running .bv-flow-ret,.is-running .bv-flow-amd{animation-play-state:running}
@keyframes bv-move{to{stroke-dashoffset:-44}}

/* 未通过退回的脉冲提示 */
.bv-p-return{animation:bv-retpulse 4s ease-in-out infinite;animation-play-state:paused}
.is-running .bv-p-return{animation-play-state:running}
@keyframes bv-retpulse{0%,100%{opacity:.5}50%{opacity:1}}

@media (prefers-reduced-motion:reduce){
  .is-running .bv-flow-fwd,.is-running .bv-flow-ret,.is-running .bv-flow-amd,.is-running .bv-p-return{animation:none}
}