
*{box-sizing:border-box}html,body{margin:0;padding:0;overflow:hidden;background:transparent}.diagram{overflow:hidden}.head{display:grid;gap:7px}.stage{position:relative}.flow{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:28px}.flow .card:not(:last-child)::after{content:"→";position:absolute;top:50%;right:-22px;width:16px;color:var(--track-strong);font-size:20px;font-weight:900;line-height:1;text-align:center;transform:translateY(-50%)}.grid,.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.layers{display:grid;gap:10px}.layers .card{grid-template-columns:120px minmax(0,1fr);align-items:center;border-left:4px solid var(--track)!important}.decision{display:grid;gap:12px}.decision-root{justify-self:center;width:min(520px,100%);text-align:center;border-color:color-mix(in srgb,var(--track) 45%,var(--line))!important;background:var(--track-tint)!important}.branches{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:12px}.branches::before{content:"";position:absolute;top:-7px;left:18%;right:18%;height:1px;background:var(--line)}.funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px}.funnel .policy{grid-column:1/-1;justify-self:center;width:min(620px,100%);border-color:color-mix(in srgb,var(--track) 45%,var(--line))!important;background:var(--track-tint)!important}.card{position:relative}.card[data-tone="ok"]{border-top:4px solid var(--green)!important}.card[data-tone="warn"]{border-top:4px solid var(--amber)!important}.card[data-tone="stop"]{border-top:4px solid var(--red)!important}.card[data-tone="info"]{border-top:4px solid var(--blue)!important}.tag{width:fit-content}.note{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:13px}.note strong{color:var(--track-strong)}@media(max-width:760px){.flow{grid-template-columns:1fr;gap:24px}.flow .card:not(:last-child)::after{top:auto;right:50%;bottom:-21px;transform:translateX(50%) rotate(90deg)}.grid,.grid.count-3,.split,.branches,.funnel{grid-template-columns:repeat(2,minmax(0,1fr))}.layers .card{grid-template-columns:1fr}.funnel .policy{grid-column:1/-1}.branches::before{display:none}}@media(max-width:460px){.grid,.grid.count-3,.split,.branches,.funnel{grid-template-columns:1fr}.funnel .policy{grid-column:auto}.note{grid-template-columns:1fr}}
  