:root{--g-deliver:#8a5a00;--g-operate:#9b2f6f;--dv-v1:#2f6fb5;--dv-v2:#2f8a4f}:root[data-theme=dark]{--g-deliver:#e2a84a;--g-operate:#e58cbf;--dv-v1:#7fb0ec;--dv-v2:#7cc493}[data-group=deliver]{--accent:var(--g-deliver)}[data-group=operate]{--accent:var(--g-operate)}@keyframes dv-fade-in{0%{opacity:0;transform:translateY(4px)}}@keyframes dv-sweep{0%{width:0}to{width:100%}}@keyframes dv-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}figure.card{margin:0}.card .label,.dv-choice .label,.dv-fieldset .label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.dv-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dv-between{justify-content:space-between}.grid-2.dv-wide-left{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.grid-2.dv-wide-right{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grid-2{align-items:start}.grid-2+.grid-2,.tiles+.grid-2{margin-top:0}.dv-slider{flex-direction:column;gap:4px;display:flex}.dv-slider .label{justify-content:space-between;gap:8px;display:flex}.dv-slider .label strong{font:600 13px var(--mono);color:var(--ink);letter-spacing:0;text-transform:none}.dv-choice{flex-direction:column;gap:6px;display:flex}.dv-seg{flex-wrap:wrap;width:fit-content;max-width:100%}.dv-check{color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:8px;font-size:14px;display:flex}.dv-check input{width:auto;accent-color:var(--accent);margin-top:4px}.dv-bad{color:var(--bad)}.dv-scroll{overflow-x:auto}.dv-scroll svg{width:100%;min-width:520px;height:auto;display:block}.dv-grid{stroke:var(--rule);stroke-width:1px}.dv-tick{fill:var(--ink-3);font:11px var(--mono)}.dv-tick.end{text-anchor:end}.dv-tick.mid{text-anchor:middle}.dv-threshold{stroke:var(--bad);stroke-width:1px;stroke-dasharray:4 4}.dv-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round}.dv-hist{font:12px/1.6 var(--mono);color:var(--ink-2);margin:4px 0 0;padding-left:18px}.dv-table code{font:12px var(--mono);overflow-wrap:anywhere}.dv-table tr.dv-diff td{background:var(--bad-tint)}.dv-table tr.dv-same td{background:color-mix(in srgb, var(--ok) 14%, transparent)}.dv-code{counter-reset:dvln;font:12.5px/1.65 var(--mono);background:var(--paper);border:1px solid var(--rule);margin:0;padding:8px 0;list-style:none;overflow-x:auto}.dv-code li{counter-increment:dvln;border-left:3px solid #0000;gap:10px;padding-right:12px;display:flex}.dv-code li:before{content:counter(dvln);text-align:right;width:2.2em;color:var(--ink-3);flex:none;font-size:11px}.dv-code code{font:inherit;white-space:pre}.dv-code li.add{background:color-mix(in srgb, var(--ok) 13%, transparent);border-left-color:var(--ok)}.dv-term{min-height:120px;font:12px/1.6 var(--mono);color:#d8f0dc;border:1px solid var(--rule-strong);white-space:pre-wrap;overflow-wrap:anywhere;background:#12160f;margin:0;padding:12px 14px}.dv-term .leak{color:#ffb3a1;background:#ef8a6f2e}.dv-term .warn{color:#ffe08a}.dv-wall{position:relative}.dv-lanes{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);grid-template-columns:1fr auto 1fr;gap:12px;margin-bottom:8px;display:grid}.dv-lanes span:last-child{text-align:right}.dv-lanes.team{grid-template-columns:1fr}.dv-lanes.team span{text-align:left;color:var(--ok)}.dv-wall-mark{color:var(--bad);border-left:4px solid var(--bad);border-right:4px solid var(--bad);padding:0 8px}.dv-wall.silo:before{content:"";background:repeating-linear-gradient(0deg, var(--bad) 0 8px, transparent 8px 12px);opacity:.5;width:6px;margin-left:-3px;position:absolute;top:24px;bottom:0;left:50%}.dv-events{flex-direction:column;gap:8px;min-height:120px;margin:0;padding:0;list-style:none;display:flex}.dv-events li{background:var(--paper);border:1px solid var(--rule);width:calc(50% - 16px);padding:10px 12px;font-size:14px;animation:.3s ease-out dv-fade-in}.dv-events li.lane-ops{align-self:flex-end}.dv-events li.lane-team{border-left:3px solid var(--ok);width:100%}.dv-time{font:600 11px var(--mono);color:var(--accent);display:block}.dv-loop svg{min-width:480px}.dv-loop-path{fill:none;stroke:var(--rule-strong);stroke-width:2px;stroke-dasharray:6 5}.dv-loop-node{cursor:pointer}.dv-loop-node circle{fill:var(--sheet);stroke-width:2px}.dv-loop-node.dev circle{stroke:var(--dv-v1)}.dv-loop-node.ops circle{stroke:var(--dv-v2)}.dv-loop-node.on circle{fill:var(--accent);stroke:var(--accent)}.dv-loop-node text{fill:var(--ink);font:600 11px var(--sans);text-anchor:middle;pointer-events:none}.dv-loop-node.on text{fill:var(--on-accent)}.dv-loop-btns .btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dv-dora{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dv-metric{border-top:4px solid var(--rule);gap:6px}.dv-metric strong{font:400 30px/1.1 var(--serif)}.dv-tier{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}.dv-metric.t-elite{border-top-color:var(--ok)}.dv-metric.t-elite .dv-tier{color:var(--ok)}.dv-metric.t-high{border-top-color:var(--dv-v1)}.dv-metric.t-high .dv-tier{color:var(--dv-v1)}.dv-metric.t-medium{border-top-color:var(--g-deliver)}.dv-metric.t-medium .dv-tier{color:var(--g-deliver)}.dv-metric.t-low{border-top-color:var(--bad)}.dv-metric.t-low .dv-tier{color:var(--bad)}.dv-meter{gap:3px;display:flex}.dv-meter i{background:var(--rule);flex:1;height:6px}.dv-metric.t-elite .dv-meter i.on{background:var(--ok)}.dv-metric.t-high .dv-meter i.on{background:var(--dv-v1)}.dv-metric.t-medium .dv-meter i.on{background:var(--g-deliver)}.dv-metric.t-low .dv-meter i.on{background:var(--bad)}.dv-sort{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dv-sort li{background:var(--paper);border:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:8px 10px;display:grid}.dv-sort li.ok{border-color:var(--ok)}.dv-sort li.bad{border-color:var(--bad);background:var(--bad-tint)}.dv-sort small{color:var(--ink-2);grid-column:1/-1;font-size:13px}.dv-sort .btn[aria-pressed=true]{background:var(--ink);color:var(--paper)}.dv-branch{fill:color-mix(in srgb, var(--accent) 30%, transparent);stroke:var(--accent);stroke-width:1px}.dv-merge{fill:var(--bad)}.dv-choices,.dv-jobs,.dv-sev{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.dv-choices button,.dv-jobs button,.dv-sev button{font:14px var(--sans);color:var(--ink);text-align:left;background:var(--paper);border:1px solid var(--rule);cursor:pointer;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.dv-choices small,.dv-jobs small,.dv-sev small{color:var(--ink-3);font-size:12px}.dv-choices button:hover,.dv-jobs button:hover,.dv-sev button:hover{border-color:var(--accent)}.dv-choices button[aria-pressed=true],.dv-jobs button[aria-pressed=true],.dv-sev button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.dv-choices button[aria-pressed=true] small,.dv-jobs button[aria-pressed=true] small,.dv-sev button[aria-pressed=true] small{color:var(--on-accent)}.dv-main{border-left:3px solid var(--ok);background:color-mix(in srgb, var(--ok) 10%, transparent);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.dv-main.bad{border-left-color:var(--bad);background:var(--bad-tint)}.dv-stages{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dv-stages li{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--rule);grid-template-columns:5.5rem minmax(0,1fr) 6rem;align-items:center;gap:6px 12px;padding:10px 12px;display:grid}.dv-stage-name{font-weight:600}.dv-stage-status{font:12px var(--mono);color:var(--ink-3);text-align:right;grid-area:1/3}.dv-prog{background:var(--rule);grid-area:1/2;height:6px;overflow:hidden}.dv-prog span{background:var(--accent);height:100%;display:block}.dv-log{font:12px var(--mono);color:var(--ink-2);overflow-wrap:anywhere;grid-column:1/-1}.dv-stages li.st-running{border-left-color:var(--accent)}.dv-stages li.st-pass{border-left-color:var(--ok)}.dv-stages li.st-pass .dv-stage-status,.dv-stages li.st-pass .dv-prog span{color:var(--ok);background:var(--ok)}.dv-stages li.st-pass .dv-stage-status{background:0 0}.dv-stages li.st-fail{border-left-color:var(--bad);background:var(--bad-tint)}.dv-stages li.st-fail .dv-stage-status,.dv-stages li.st-fail .dv-log{color:var(--bad)}.dv-stages li.st-fail .dv-prog span{background:var(--bad)}.dv-stages li.st-skipped{opacity:.5}.dv-merge-box .stat{flex:12rem}.dv-job rect{fill:var(--accent)}.dv-job.run rect{fill:color-mix(in srgb, var(--accent) 55%, transparent)}.dv-job.failed rect{fill:var(--bad)}.dv-job.cancelled rect{fill:var(--ink-3);opacity:.6}.dv-job.skipped rect{fill:var(--rule)}.dv-job.skipped text{opacity:.5}.dv-cursor{stroke:var(--ink);stroke-width:1.5px}.dv-history{margin-top:24px}.dv-bars{align-items:flex-end;gap:10px;height:140px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.dv-bars li{flex-direction:column;flex:0 0 52px;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex;position:relative}.dv-bars li span{background:var(--accent);width:100%;animation:.3s dv-fade-in}.dv-bars li.bad span{background:var(--bad)}.dv-bars small{font:11px var(--mono);color:var(--ink-3)}.dv-reg,.dv-envs,.dv-commits{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.dv-reg li,.dv-commits li{background:var(--paper);border:1px solid var(--rule);overflow-wrap:anywhere;padding:6px 8px}.dv-reg code,.dv-envs code,.dv-commits code{font:12px var(--mono);color:var(--ink-2)}.dv-envs li{background:var(--paper);border:1px solid var(--rule);grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.dv-envs code{overflow-wrap:anywhere}.dv-env-name{font:600 12px var(--mono);text-transform:uppercase;color:var(--accent)}.dv-secret-row td{color:var(--ink-3);font-size:13px}.dv-infra{flex-wrap:wrap;gap:8px;min-height:64px;display:flex}.dv-res{background:var(--paper);border:1px solid var(--rule-strong);border-top:4px solid var(--accent);flex-direction:column;gap:2px;min-width:110px;padding:8px 10px;animation:.3s dv-fade-in;display:flex}.dv-res b{font:600 13px var(--mono)}.dv-res small{font:11px var(--mono);color:var(--ink-3)}.dv-res.db{border-top-color:var(--dv-v1)}.dv-res.drift{border-top-color:var(--bad);background:var(--bad-tint)}.dv-pods{flex-wrap:wrap;gap:6px;display:flex}.dv-pod{width:52px;height:40px;font:600 12px var(--mono);border:2px solid var(--rule-strong);place-items:center;transition:background .3s;display:grid}.dv-pod.v1{background:color-mix(in srgb, var(--dv-v1) 22%, var(--sheet));border-color:var(--dv-v1)}.dv-pod.v2{background:color-mix(in srgb, var(--dv-v2) 22%, var(--sheet));border-color:var(--dv-v2)}.dv-pod.start{color:var(--ink-3);border-style:dashed}.dv-pod.off{color:var(--bad);border-color:var(--bad);background:var(--bad-tint)}.dv-pod.drift{border-color:var(--bad);background:var(--bad-tint)}.dv-split{border:1px solid var(--rule-strong);height:30px;font:600 11px/30px var(--mono);margin-top:4px;display:flex;overflow:hidden}.dv-split span{white-space:nowrap;padding:0 6px;transition:width .35s;overflow:hidden}.dv-split .v1{background:color-mix(in srgb, var(--dv-v1) 35%, var(--sheet))}.dv-split .v2{background:color-mix(in srgb, var(--dv-v2) 35%, var(--sheet));text-align:right}.dv-split .down{text-align:center;color:var(--bad);background:var(--bad-tint);flex:1}.dv-chart{margin:0}.dv-down{fill:var(--bad);opacity:.15}.dv-users{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;max-width:360px;display:grid}.dv-users span{aspect-ratio:1;background:var(--rule);transition:background .25s}.dv-users span.on{background:var(--accent)}.dv-users span.staff{outline:2px solid var(--ink);outline-offset:-2px}.dv-users span.new{box-shadow:0 0 0 2px var(--ok);animation:.4s dv-fade-in}.dv-fieldset{border:1px solid var(--rule);flex-direction:column;gap:14px;margin:0;padding:14px;display:flex}.dv-fieldset:disabled{opacity:.5}.dv-fieldset legend{padding:0 6px}.btn.dv-kill:not(:disabled){color:var(--bad);border-color:var(--bad)}.dv-phases{font:11px var(--mono);flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.dv-phases li{border:1px solid var(--rule);color:var(--ink-3);padding:4px 8px}.dv-phases li.past{color:var(--ok);border-color:var(--ok)}.dv-phases li.now{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.dv-cols{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.dv-cols span{font:600 13px var(--mono);border:1px solid var(--rule-strong);background:var(--paper);padding:6px 10px;transition:opacity .3s}.dv-cols span.empty{color:var(--ink-3);border-style:dashed}.dv-cols span.gone{opacity:.3;text-decoration:line-through}.dv-versions{font:13px var(--mono);flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.dv-versions li{border-left:3px solid var(--ok);background:color-mix(in srgb, var(--ok) 10%, transparent);overflow-wrap:anywhere;padding:6px 10px}.dv-versions li.bad{border-left-color:var(--bad);background:var(--bad-tint);color:var(--bad)}.dv-dot{fill:var(--ok);stroke:var(--sheet);stroke-width:2px}.dv-dot.bad{fill:var(--bad)}.dv-situation{font:14px var(--mono);border-left:3px solid var(--bad);background:var(--bad-tint);margin:0;padding:12px 14px}.dv-sev{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dv-pile,.dv-timeline{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dv-pile button{width:100%;font:14px var(--sans);color:var(--ink);text-align:left;background:var(--paper);border:1px solid var(--rule);cursor:pointer;padding:10px 12px}.dv-pile button:hover{border-color:var(--accent)}.dv-pile button.miss{border-color:var(--bad);animation:.3s dv-shake}.dv-timeline li{border-left:3px solid var(--accent);background:var(--accent-tint);padding:8px 12px;font-size:14px;animation:.3s dv-fade-in}.dv-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.dv-pairs .card{gap:8px;padding:14px}.dv-pair{font:14px/1.45 var(--sans);color:var(--ink);text-align:left;background:var(--paper);border:1px solid var(--rule);cursor:pointer;padding:10px 12px}.dv-pair:hover{border-color:var(--accent)}.dv-pair.ok{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 13%, var(--paper))}.dv-pair.bad{border-color:var(--bad);background:var(--bad-tint)}.dv-status{border:1px solid var(--ok);background:color-mix(in srgb, var(--ok) 10%, transparent);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;display:flex}.dv-status.out{border-color:var(--bad);background:var(--bad-tint)}.dv-status code{font:12px var(--mono)}.dv-gitops{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.dv-spin{background:var(--rule);height:4px;overflow:hidden}.dv-spin span{background:var(--accent);height:100%;animation:2.5s linear forwards dv-sweep;display:block}.dv-attacks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dv-attacks li{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--rule);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.dv-attacks li.ok{border-left-color:var(--ok)}.dv-attacks li.bad{border-left-color:var(--bad);background:var(--bad-tint)}.dv-attacks small{color:var(--ink-2);font-size:13px}.dv-outcome{font:12px var(--mono);color:var(--ink-3)}.dv-attacks li.ok .dv-outcome{color:var(--ok)}.dv-attacks li.bad .dv-outcome{color:var(--bad)}@media (width<=1100px){.grid-2.dv-wide-left,.grid-2.dv-wide-right{grid-template-columns:minmax(0,1fr)}.dv-gitops{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=720px){.dv-gitops,.dv-pairs,.dv-dora{grid-template-columns:minmax(0,1fr)}.dv-events li{width:calc(50% - 8px);font-size:13px}.dv-stages li{grid-template-columns:4.5rem minmax(0,1fr) 5rem}.dv-sort li{grid-template-columns:minmax(0,1fr)}.dv-envs li{grid-template-columns:4rem minmax(0,1fr)}.dv-envs li .btn{grid-column:1/-1}}@media (pointer:coarse){.dv-choices button,.dv-jobs button,.dv-sev button,.dv-pile button,.dv-pair{min-height:44px}.dv-check{align-items:center;min-height:32px}.dv-check input{margin-top:0}}@media (prefers-reduced-motion:reduce){.dv-events li,.dv-bars li span,.dv-res,.dv-timeline li,.dv-users span.new{animation:none}}.btn.dv-cmd{text-transform:none;letter-spacing:0;white-space:normal;text-align:left;line-height:1.35}.dv-choice+.tiles{margin-top:12px}.card .btn{white-space:normal;text-align:left;max-width:100%;line-height:1.3}.btn.dv-link{white-space:normal;max-width:100%;line-height:1.3}@media (width<=720px){.main .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.main .tile{padding:12px 14px}.main .tile strong{font-size:26px}}.dv-job.plan rect{fill:var(--accent);opacity:.2}
