.cx-page{--cx-ink:#183536;--cx-muted:#647472;--cx-line:#d7dfda;--cx-green:#327358;--cx-blue:#236d79;--cx-red:#a34e49;--cx-paper:#f8f8f4;color:var(--cx-ink);max-width:1160px;margin:0 auto;padding:38px 24px 75px;font-family:Arial,"Noto Sans TC",sans-serif}
.cx-page *{box-sizing:border-box}.cx-overline{margin:0 0 8px;color:#8b785e;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.cx-heading{padding:18px 0 25px;border-bottom:1px solid var(--cx-line)}.cx-heading h1{margin:0 0 8px;font-family:Georgia,"Noto Serif TC",serif;font-weight:400;font-size:clamp(38px,4vw,58px);line-height:1.12}.cx-heading>p:last-child{margin:0;color:var(--cx-muted);font-size:13px}
.cx-status{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding:32px 0;border-bottom:1px solid var(--cx-line)}.cx-status h2{margin:0 0 10px;font:400 clamp(27px,2.8vw,37px)/1.2 Georgia,"Noto Serif TC",serif}.cx-status p{max-width:720px;color:var(--cx-muted);font-size:13px;line-height:1.7}.cx-status aside{padding:17px;border-left:3px solid var(--cx-blue);background:#edf3f1}.cx-status aside>strong{display:block;font-size:16px;line-height:1.4}.cx-status aside>p{margin:6px 0 0;font-size:12px}.cx-page[data-cx-outcome="failed"] .cx-status aside{border-left-color:var(--cx-green)}.cx-page[data-cx-outcome="failed"] .cx-status h2{color:var(--cx-red)}.cx-page[data-cx-outcome="complete"] .cx-status aside{border-left-color:var(--cx-green)}.cx-recent{margin:17px 0 0!important;border-top:1px solid var(--cx-line);padding-top:10px;font-size:11px!important}.cx-recent strong{color:var(--cx-blue)}.cx-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.cx-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid var(--cx-ink);background:transparent;color:var(--cx-ink);text-decoration:none;font-size:12px;font-weight:700;cursor:pointer}.cx-button.cx-primary{background:var(--cx-ink);color:#fff}.cx-button.cx-text{border-color:transparent;border-bottom-color:var(--cx-ink)}.cx-button:disabled{opacity:.55;cursor:not-allowed}
.cx-progress{padding-top:38px}.cx-progress>header{margin-bottom:25px}.cx-progress>header h2{max-width:800px;margin:0;font:400 clamp(27px,3vw,40px)/1.25 Georgia,"Noto Serif TC",serif}.cx-zone{position:relative;width:100%;max-width:100%;margin:0 auto 23px;padding:18px 21px 22px;border:1px solid var(--cx-line);background:var(--cx-paper)}.cx-zone+.cx-zone:before{content:"";position:absolute;top:-24px;left:50%;height:23px;border-left:1px solid #9fadaa}.cx-zone.cx-debate{width:82%}.cx-zone.cx-synthesis{width:62%}.cx-zone.cx-delivery{width:82%;border-top:2px solid var(--cx-ink);background:#f0f4ef}.cx-zone>header{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}.cx-zone-index{color:#9c8061;font-family:Georgia,serif;font-size:18px}.cx-zone h3{margin:0;font:400 24px Georgia,"Noto Serif TC",serif}.cx-zone header p{margin:5px 0 0;color:var(--cx-muted);font-size:11px}.cx-base-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cx-node{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:74px;padding:13px;border:1px solid var(--cx-line);background:#f5f5f1}.cx-node strong{font:400 18px Georgia,"Noto Serif TC",serif}.cx-node small{display:block;color:var(--cx-muted)}.cx-node>span{align-self:end;color:var(--cx-muted);font-size:10px;white-space:nowrap}.cx-node[data-status="completed"]{border-color:#a6c5b0;background:#eaf2eb}.cx-node[data-status="completed"]>span{color:var(--cx-green)}.cx-node[data-status="running"]{border-color:var(--cx-blue);background:#e9f2f2;box-shadow:inset 0 3px var(--cx-blue)}.cx-node[data-status="running"]>span{color:var(--cx-blue)}.cx-node[data-status="failed"]{border-color:var(--cx-red);background:#f9eeee}.cx-node[data-status="failed"]>span{color:var(--cx-red)}
.cx-debate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cx-debate-unit{border:1px solid var(--cx-line);background:#f5f5f1}.cx-debate-unit>header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--cx-line)}.cx-debate-unit header strong{font:400 25px Georgia,serif}.cx-debate-unit header span{font-size:11px;color:var(--cx-muted)}.cx-debate-unit[data-status="running"]{border-color:var(--cx-blue);background:#e9f2f2;box-shadow:inset 0 3px var(--cx-blue)}.cx-debate-unit[data-status="completed"]{border-color:#a6c5b0;background:#eaf2eb}.cx-round{display:grid;grid-template-columns:70px minmax(20px,1fr) 80px;align-items:center;gap:9px;min-height:45px;margin:0 14px;border-bottom:1px solid var(--cx-line);font-size:11px}.cx-round:last-child{border-bottom:0}.cx-round i{height:5px;background:#d8ddda}.cx-round strong{text-align:right;color:var(--cx-muted);font-size:10px}.cx-round[data-status="completed"] i{background:var(--cx-green)}.cx-round[data-status="completed"] strong{color:var(--cx-green)}.cx-round[data-status="running"] i{background:var(--cx-blue)}.cx-round[data-status="running"] strong{color:var(--cx-blue)}.cx-round[data-status="failed"] i{background:var(--cx-red)}
.cx-synthesis{display:grid;gap:0}.cx-formed{width:75%;margin:0 auto;padding:17px 0;color:#9c8061;border-left:1px solid var(--cx-line);text-align:center;font-size:10px;font-weight:700}.cx-delivery-steps{display:grid;grid-template-columns:1fr;max-width:430px;margin:0 auto}.cx-delivery-arrow{text-align:center;color:#9c8061;padding:7px}.cx-failed-flow,.cx-unknown{padding:26px;border:1px solid var(--cx-line);color:var(--cx-muted);font-size:13px}.cx-truth{color:var(--cx-muted);font-size:11px;line-height:1.5}
@media(max-width:760px){.cx-page{padding:20px 18px 45px}.cx-heading h1{font-size:39px}.cx-status{grid-template-columns:1fr;gap:12px;padding:22px 0}.cx-status aside{order:1}.cx-progress{padding-top:30px}.cx-zone.cx-debate,.cx-zone.cx-synthesis,.cx-zone.cx-delivery{width:100%}.cx-zone{padding:15px}.cx-base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-debate-grid{grid-template-columns:1fr}.cx-actions .cx-button{flex:1 1 auto}.cx-zone h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.cx-page *{animation:none!important;scroll-behavior:auto!important}}
.cx-page[data-cx-outcome="failed"]:not([data-cx-credit="restored"]) .cx-status aside{border-left-color:#a78253;background:#f5f0e6}

/* Approved V1.1 status bars: the same color language at every real node. */
.cx-page{--cx-blue:#28658e;--cx-blue-pale:#dbe9f1;--cx-green:#397650;--cx-red:#a34e49;--cx-waiting:#b9c4c2}
.cx-node{flex-direction:column;justify-content:space-between;align-items:stretch;gap:14px;min-height:88px}
.cx-node-top{min-width:0}.cx-node-bottom{display:flex;align-items:center;gap:9px;width:100%}.cx-node-state{min-width:44px;color:var(--cx-muted);font-size:10px;text-align:right;white-space:nowrap}
.cx-state-bar{display:block;flex:1;min-width:18px;height:7px;background:var(--cx-waiting)}
.cx-node[data-status="completed"] .cx-state-bar,.cx-round[data-status="completed"] .cx-state-bar{background:var(--cx-green)}
.cx-node[data-status="running"] .cx-state-bar,.cx-round[data-status="running"] .cx-state-bar{background:var(--cx-blue)}
.cx-node[data-status="failed"] .cx-state-bar,.cx-round[data-status="failed"] .cx-state-bar{background:var(--cx-red)}
.cx-node[data-status="unknown"] .cx-state-bar,.cx-round[data-status="unknown"] .cx-state-bar{background:repeating-linear-gradient(90deg,#bbc5c2 0 9px,#edf0eb 9px 13px)}
.cx-node[data-status="completed"] .cx-node-state{color:var(--cx-green)}.cx-node[data-status="running"] .cx-node-state{color:var(--cx-blue);font-weight:700}.cx-node[data-status="failed"] .cx-node-state{color:var(--cx-red)}
.cx-round .cx-state-bar{height:7px;background:var(--cx-waiting)}.cx-round[data-status="running"] strong{font-weight:750}.cx-round[data-status="failed"] strong{color:var(--cx-red)}
.cx-failed-summary{display:flex;align-items:center;gap:12px}.cx-failed-summary .cx-state-bar{background:var(--cx-red)}.cx-failed-summary strong{color:var(--cx-red);font-size:12px;white-space:nowrap}.cx-failed-flow p{margin:12px 0 0}
.cx-debate-unit[data-status="completed"]>header span{color:var(--cx-green)}.cx-debate-unit[data-status="running"]>header span{color:var(--cx-blue);font-weight:700}.cx-debate-unit[data-status="failed"]{border-color:var(--cx-red);background:#f9eeee}.cx-debate-unit[data-status="failed"]>header span{color:var(--cx-red)}
.cx-reassurance{margin:0 0 25px;padding:17px 20px;border-left:3px solid #8eaaa8;background:#edf2f1}.cx-reassurance strong{display:block;font:400 21px/1.2 Georgia,"Noto Serif TC",serif}.cx-reassurance p{max-width:850px;margin:8px 0 0;color:var(--cx-muted);font-size:12px;line-height:1.7}
.cx-page[data-cx-outcome="running"] .cx-status aside{padding:0;border:0;background:transparent;display:flex;align-items:flex-start;justify-content:flex-end}.cx-page[data-cx-outcome="running"] .cx-status .cx-actions{margin-top:0}
.cx-completion-action{width:82%;margin:0 auto;padding:3px 0 0;display:flex;justify-content:flex-end}.cx-completion-action .cx-button{min-width:185px;min-height:48px;justify-content:space-between;gap:30px}
@media(max-width:760px){.cx-node{min-height:84px}.cx-state-bar,.cx-round .cx-state-bar{height:6px}.cx-reassurance{margin-bottom:22px;padding:15px 17px}.cx-reassurance strong{font-size:19px}.cx-page[data-cx-outcome="running"] .cx-status aside{justify-content:flex-start}.cx-completion-action{width:100%}.cx-completion-action .cx-button{width:100%}}

/* V1.2 activity cue: the full blue bar stays filled while a soft highlight travels across it. */
.cx-node[data-status="running"] .cx-state-bar,.cx-round[data-status="running"] .cx-state-bar{position:relative;overflow:hidden}
.cx-node[data-status="running"] .cx-state-bar::after,.cx-round[data-status="running"] .cx-state-bar::after{content:"";position:absolute;inset:0 auto 0 0;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:translateX(-100%);animation:cx-activity-sweep 2.8s linear infinite;pointer-events:none}
@keyframes cx-activity-sweep{to{transform:translateX(400%)}}
@media(prefers-reduced-motion:reduce){.cx-node[data-status="running"] .cx-state-bar::after,.cx-round[data-status="running"] .cx-state-bar::after{display:none}}
