/* Accessible, no-JavaScript diagrams for the CI/CD retrospective. */
.article-content .cicd-viz{margin:1.7rem 0 2rem;padding:clamp(1rem,3vw,1.7rem);border:1px solid rgba(130,155,190,.32);border-radius:18px;background:linear-gradient(145deg,rgba(37,57,92,.19),rgba(20,38,67,.07));box-shadow:0 9px 28px rgba(5,16,32,.10);color:inherit}
.article-content .cicd-viz-title{font-size:clamp(1rem,2vw,1.2rem);font-weight:750;line-height:1.35;letter-spacing:-.015em}
.article-content .cicd-viz-subtitle,.article-content .cicd-viz-note{font-size:.87rem;opacity:.78;margin:.55rem 0 1.15rem;line-height:1.5}
.article-content .cicd-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;max-width:520px;margin:1.2rem auto 0}
.article-content .cicd-language-chip{display:block;border:1px solid rgba(125,152,180,.38);border-radius:10px;padding:.7rem .3rem;text-align:center;font-size:.8rem;font-weight:750;background:rgba(112,150,198,.09)}
.article-content .cicd-flow-arrow{text-align:center;font-size:1.5rem;font-weight:700;line-height:1.65;opacity:.65}
.article-content .cicd-flow-stage{max-width:520px;margin:auto;text-align:center;padding:.8rem 1rem;font-size:.95rem;font-weight:700;border-radius:11px}
.article-content .cicd-stage-blocked{color:#9e3d27;border:1px solid #d29c88;background:rgba(240,141,92,.13)}
.article-content .cicd-stage-muted{border:1px solid rgba(130,155,190,.38);background:rgba(130,155,190,.1)}
.article-content .cicd-two-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.1rem}
.article-content .cicd-release-card{display:flex;align-items:center;flex-direction:column;gap:.65rem;text-align:center;padding:1.15rem .8rem;border-radius:13px;min-height:205px}
.article-content .cicd-stage-primary{border:1px solid #5ba996;background:rgba(45,167,128,.12)}
.article-content .cicd-stage-followup{border:1px solid #8d9db8;background:rgba(130,155,190,.10)}
.article-content .cicd-stage-eyebrow{font-size:.71rem;text-transform:uppercase;letter-spacing:.075em;font-weight:750;opacity:.76}
.article-content .cicd-stage-text{font-size:clamp(.9rem,2.4vw,1.12rem);line-height:1.45}
.article-content .cicd-stage-arrow{line-height:1;font-size:1.4rem;opacity:.65}
.article-content .cicd-stage-destination{margin-top:auto;border-radius:999px;padding:.38rem 1rem;border:1px solid currentColor;font-weight:700;font-size:.79rem}
.article-content .cicd-chart-group{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(130,155,190,.25)}
.article-content .cicd-chart-label{display:block;margin-bottom:.85rem;font-weight:750;font-size:.96rem}
.article-content .cicd-chart-row{display:grid;grid-template-columns:minmax(52px,85px) minmax(0,1fr) 65px;align-items:center;gap:.75rem;margin:.55rem 0}
.article-content .cicd-chart-series{font-size:.78rem;opacity:.78}
.article-content .cicd-chart-track{background:rgba(130,155,190,.17);height:18px;border-radius:999px;overflow:hidden}
.article-content .cicd-chart-fill{display:block;height:100%;border-radius:999px}
.article-content .cicd-chart-before{background:#8495a9}
.article-content .cicd-chart-after{background:#1c9e88}
.article-content .cicd-chart-value{text-align:right;font-size:.81rem;font-variant-numeric:tabular-nums;font-weight:750}
.article-content .cicd-chart-gain{display:inline-block;margin-top:.35rem;color:#168570;font-weight:750;font-size:.85rem}
.article-content .cicd-table-scroll{margin:1.35rem 0;overflow-x:auto;border:1px solid rgba(130,155,190,.32);border-radius:12px}
.article-content .cicd-measurement-table{width:100%;min-width:540px;border-collapse:collapse;font-size:.85rem;line-height:1.5}
.article-content .cicd-measurement-table th,.article-content .cicd-measurement-table td{padding:.72rem .85rem;text-align:left;border-bottom:1px solid rgba(130,155,190,.20)}
.article-content .cicd-measurement-table th{background:rgba(120,150,185,.14);font-weight:750}
.article-content .cicd-measurement-table tr:last-child td{border-bottom:0}
.article-content .cicd-measurement-table td:not(:first-child){font-variant-numeric:tabular-nums}
@media(max-width:560px){.article-content .cicd-two-stages{grid-template-columns:1fr}.article-content .cicd-release-card{min-height:165px}.article-content .cicd-chart-row{grid-template-columns:60px minmax(0,1fr) 53px;gap:.45rem}}
@media(prefers-reduced-motion:reduce){.article-content .cicd-viz *{animation:none!important;transition:none!important}}

/* Explicit contrast and alignment for dark article layout. Also changes the
   asset digest so the conditional S3 publisher uploads this missing file. */
.article-content .cicd-measurement-table td:first-child{font-weight:600;min-width:11rem}
.article-content .cicd-measurement-table th{color:#e7f1f9}
.article-content .cicd-measurement-table td{color:#d5e2ed}
.article-content .cicd-chart-gain{color:#36dbc1}
