.op{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:12px;padding:14px;display:grid}.op-chips{flex-wrap:wrap;gap:6px;display:flex}.op-chips .chip{height:28px;padding:0 10px;font-size:12px}.op-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.op-title{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.op-title h3{font-weight:600}.op-ctl{align-items:center;gap:6px;display:flex}.op-btn{border:1px solid var(--line-2);width:30px;height:30px;color:var(--text-2);border-radius:6px;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.op-btn:hover{color:var(--text);border-color:var(--text-2)}.op-open{font-family:var(--font-mono);color:var(--signal);white-space:nowrap;margin-left:6px;font-size:12px}.op-open:hover{text-decoration:underline}.op-stage{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:12px;display:grid}.op-full .op-stage{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}@media (width<=820px){.op-stage,.op-full .op-stage{grid-template-columns:1fr}}.op-svg{background:var(--bg-2);border:1px solid var(--line);background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:18px 18px;border-radius:8px;width:100%;height:auto}.op-rail{font-family:var(--font-mono);letter-spacing:.12em;fill:var(--mute);font-size:8px}.op-edge{fill:none;stroke:var(--line-2);stroke-width:1.2px;transition:stroke .3s}.op-edge.plan{stroke-dasharray:2 5;opacity:.8}.op-edge.active{stroke:var(--signal);stroke-width:1.6px;stroke-dasharray:4 6;animation:1.2s linear infinite op-dash}.op-edge.act.active{stroke:var(--ok)}.op-dot{fill:var(--signal);filter:url(#op-glow)}@keyframes op-dash{to{stroke-dashoffset:-40px}}.op-node rect{fill:var(--panel);stroke:var(--line-2);stroke-width:1px;transition:stroke .25s,fill .25s}.op-node.supervisor rect{fill:var(--panel-2)}.op-node .op-accent{fill:var(--signal);stroke:none}.op-node.system rect{fill:var(--bg-2)}.op-node.active rect{stroke:var(--signal);stroke-width:1.6px;filter:url(#op-glow)}.op-node.system.active rect{stroke:var(--ok)}.op-node.waiting rect{stroke:var(--warn);stroke-width:1.6px}.op-label{font-family:var(--font-body);fill:var(--text);font-size:11.5px;font-weight:600}.op-sub{font-family:var(--font-mono);fill:var(--mute);font-size:8.5px}.op-sub2{font-family:var(--font-mono);letter-spacing:.08em;fill:var(--ok);text-transform:uppercase;font-size:7.5px}.op-badge{font-family:var(--font-mono);letter-spacing:.06em;fill:var(--warn);font-size:9px}.op-badge.ok{fill:var(--ok)}@media (prefers-reduced-motion:reduce){.op-edge.active{animation:none}.op-node.active rect{filter:none}}.op-log{grid-template-rows:auto 1fr;gap:8px;min-height:0;display:grid}.op-log-head{justify-content:space-between;align-items:center;display:flex}.op-clock{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:12px}.op-log ol{align-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid}.op-step{border:1px solid #0000;border-radius:6px;grid-template-columns:18px 1fr;align-items:baseline;gap:2px 8px;padding:7px 9px;font-size:13px;line-height:1.35;transition:all .25s;display:grid}.op-step .op-meta{grid-column:2}.op-step .op-glyph{color:var(--mute);text-align:center;font-size:12px}.op-step .op-text{color:var(--text-2)}.op-step .op-meta{color:var(--mute);white-space:nowrap;font-size:10.5px}.op-step.now{background:var(--signal-soft);border-color:color-mix(in srgb, var(--signal) 40%, transparent)}.op-step.now .op-text{color:var(--text);font-weight:500}.op-step.now .op-glyph{color:var(--signal)}.op-step.k-approval.now{background:color-mix(in srgb, var(--warn) 12%, transparent);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.op-step.k-approval.now .op-glyph{color:var(--warn)}.op-step.k-write.now,.op-step.k-verify.now{background:color-mix(in srgb, var(--ok) 10%, transparent);border-color:color-mix(in srgb, var(--ok) 40%, transparent)}.op-step.k-write.now .op-glyph,.op-step.k-verify.now .op-glyph{color:var(--ok)}.op-step.past .op-text{color:var(--text-2)}.op-step.past .op-glyph{color:var(--ok)}.op-step.next{opacity:.45}.op-step.k-done .op-text{color:var(--ok);font-weight:600}.op-hero .op-log ol{max-height:300px;overflow:hidden}.op-tele{color:var(--mute);border-top:1px solid var(--line);flex-wrap:wrap;gap:6px 18px;padding-top:10px;font-size:11.5px;display:flex}.op-tele b{color:var(--text);font-weight:500}.op-tele .st-running{color:var(--signal)}.op-tele .st-waiting{color:var(--warn)}.op-tele .st-done{color:var(--ok)}.op-rule{margin-left:auto}.op-foot{margin:-4px 0 0;font-size:11.5px}
