.cm{font-family:var(--body)}.cm-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.cm-h{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#ffffff80}.cm-chip{font-family:var(--mono);font-size:9px;letter-spacing:.1em;padding:4px 9px;border-radius:3px;border:1px solid rgba(39,176,106,.5);color:var(--ok);transition:color .3s,border-color .3s}.cm-chip.bad{border-color:#e8483a8c;color:var(--red)}.cm-pipe{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr;align-items:center;background:#040a1466;border:1px solid var(--line);border-radius:var(--r-stage);padding:16px 18px}.cm-node{background:#071326bf;border:1px solid var(--line);border-radius:var(--r-panel);padding:12px;text-align:center;transition:border-color .3s,box-shadow .3s}.cm-node b{display:block;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em;color:#dfe9f5}.cm-node small{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.04em;color:#ffffff73;margin-top:4px}.cm-node.run{border-color:var(--cyan);box-shadow:0 0 12px #34d2f259}.cm-seg{position:relative;height:20px}.cm-seg:before{content:"";position:absolute;left:0;right:7px;top:50%;height:2px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,rgba(52,210,242,.3) 0 5px,transparent 5px 10px)}.cm-seg:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);border:4px solid transparent;border-left:6px solid rgba(52,210,242,.3)}.cm-seg.run:before{background:repeating-linear-gradient(90deg,var(--cyan) 0 5px,transparent 5px 10px);animation:cmFlow .5s linear infinite}.cm-seg.run:after{border-left-color:var(--cyan)}@keyframes cmFlow{to{background-position:10px 0}}@media(max-width:700px){.cm-pipe{grid-template-columns:1fr;padding:14px}.cm-seg{height:16px}.cm-seg:before{inset:0 auto 0 50%;width:2px;height:auto;transform:translate(-50%);background:repeating-linear-gradient(180deg,rgba(52,210,242,.3) 0 5px,transparent 5px 10px)}.cm-seg:after{inset:auto auto 0 50%;transform:translate(-50%);border:4px solid transparent;border-top:6px solid rgba(52,210,242,.3);border-left:4px solid transparent}.cm-seg.run:before{background:repeating-linear-gradient(180deg,var(--cyan) 0 5px,transparent 5px 10px);animation:cmFlowV .5s linear infinite}.cm-seg.run:after{border-top-color:var(--cyan);border-left-color:transparent}}@keyframes cmFlowV{to{background-position:0 10px}}.cm-cmds{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}@media(max-width:560px){.cm-cmds{grid-template-columns:1fr}}.cm-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 14px;border-radius:var(--r-panel);background:none;cursor:pointer;font-family:var(--mono);transition:transform .2s,box-shadow .2s,opacity .2s}.cm-btn .lb{font-size:10.5px;font-weight:500;letter-spacing:.08em}.cm-btn .st{font-size:8.5px;letter-spacing:.05em;opacity:.7}.cm-btn:disabled{opacity:.35;cursor:not-allowed}.cm-btn.ins{border:1px solid rgba(52,210,242,.5);color:var(--cyan)}.cm-btn.bad{border:1px solid rgba(232,72,58,.5);color:#ff9d94}.cm-btn.fix{border:1px solid rgba(47,143,224,.5);color:#7db8ea}.cm-btn.rel{border:1px solid rgba(39,176,106,.55);color:#6fdc9f}.cm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #02081480}.cm-log{height:138px;overflow:hidden;margin-top:14px;padding:10px 15px 8px;display:flex;flex-direction:column;gap:3px;background:#040a148c;border:1px solid var(--line);border-radius:var(--r-stage);font-family:var(--mono);font-size:11px}.cm-ln{display:flex;gap:10px;line-height:1.5;animation:cmLnIn .3s ease both;white-space:nowrap}@keyframes cmLnIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.cm-ln .t{color:#ffffff52;flex:none}.cm-ln .tag{flex:none;font-weight:500;min-width:112px}.cm-ln .tag.info{color:var(--blue)}.cm-ln .tag.ok{color:var(--ok)}.cm-ln .tag.stop{color:var(--red)}.cm-ln .x{color:#ffffff9e}.cm-ln .x b{color:#fff;font-weight:500}@media(prefers-reduced-motion:reduce){.cm-seg.run:before{animation:none}.cm-ln{animation:none}.cm-btn{transition:none}}
