/* RunoffSankey — estilos. Cores de nós e fluxos vêm de variáveis CSS (tema claro/escuro sem re-render). */
.sk{position:relative;font-family:var(--font-ui);color:var(--ink)}
.sk-svg{display:block;width:100%;height:auto;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.sk-flow{fill:none;stroke-opacity:.35;cursor:pointer;transition:stroke-opacity .12s}
.sk-node,.sk-label{cursor:pointer;transition:opacity .12s}
.sk-hit{fill:transparent;pointer-events:all}
.sk-name{fill:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.sk-val{fill:var(--ink-muted);font-variant-numeric:tabular-nums}
.sk-head{fill:var(--ink-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.sk-leader{fill:none;stroke:var(--edge-strong);stroke-width:1}
.sk-focus .sk-flow{stroke-opacity:.08}
.sk-focus .sk-flow.on{stroke-opacity:.7}
.sk-focus .sk-node:not(.on),.sk-focus .sk-label:not(.on){opacity:.35}
.sk-readout{margin:8px 0 0;min-height:2.9em;font-size:13.5px;line-height:1.45;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.sk-sr{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media (prefers-reduced-motion:reduce){.sk-flow,.sk-node,.sk-label{transition:none}}
