/* Purpose-built illustrations. All diagram styles are isolated from page chrome. */
.iv-figure{--iv-ink:#193f33;--iv-muted:#6d7e73;--iv-line:#d7e1d1;--iv-lime:#b8cc91;box-sizing:border-box;margin:0;padding:25px;background:#f3f6ed;border:1px solid var(--iv-line);border-radius:12px;color:var(--iv-ink);font-family:var(--sans,Arial,sans-serif);min-width:0}
.iv-figure *{box-sizing:border-box}
.iv-chart-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:24px}
.iv-eyebrow{font:600 9px/1.6 var(--sans,Arial,sans-serif);letter-spacing:1.15px;color:#637b5e}
.iv-chart-tag{font-size:9px;line-height:1.5;white-space:nowrap;color:var(--iv-muted)}
.iv-figure figcaption{display:block;font-size:10px;line-height:1.8;color:#7b887a;margin-top:20px;max-width:100%}
.iv-switch{display:flex;gap:4px;padding:4px;border:1px solid #d8e1d0;background:#e8eee0;border-radius:7px;margin:0 0 24px}
.iv-switch button{display:flex;align-items:center;justify-content:center;gap:16px;flex:1;min-width:0;padding:9px 8px;border:0;border-radius:4px;background:transparent;color:#75836c;font:500 11px/1.4 var(--sans,Arial,sans-serif);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.iv-switch button[aria-pressed=true]{background:#fff;color:var(--iv-ink);box-shadow:0 2px 5px #1e463014}
.iv-switch button:focus-visible{outline:2px solid #48704e;outline-offset:2px}
.iv-switch button:hover{color:var(--iv-ink)}
.iv-allocation{display:grid;gap:11px;animation:iv-appear .3s ease}
.iv-allocation[hidden]{display:none}
.iv-server-row{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:14px}
.iv-server-name{display:flex;align-items:center;gap:7px;font-size:9px;color:#60735f;white-space:nowrap}
.iv-server-name svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.25;flex-shrink:0}
.iv-slots{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:33px;gap:3px;padding:4px;border:1px solid #dce5d4;border-radius:5px;background:repeating-linear-gradient(90deg,#e5ebdc 0, #e5ebdc calc(8.333% - 1px),#f5f7f1 calc(8.333% - 1px),#f5f7f1 8.333%);position:relative;min-width:0}
.iv-task{display:grid;place-items:center;grid-row:1;border-radius:3px;font:600 10px/1 var(--sans,Arial,sans-serif);background:#3e6f56;color:#f5f8ed;box-shadow:inset 0 1px #ffffff21;min-width:0}
.iv-task-b,.iv-task-f{background:#728e63}.iv-task-c,.iv-task-g{background:#a3b881;color:#264634}.iv-task-d,.iv-task-h{background:#bfcda6;color:#31533d}
.iv-slots-available{background:#eef5e5;border:1px dashed #a2b987}
.iv-available-label{grid-column:1/-1;grid-row:1;display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;color:#58784d;white-space:nowrap}
.iv-available-label svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.iv-allocation-key{display:flex;gap:19px;justify-content:flex-end;margin-top:12px;font-size:8px;color:#7f8d78}
.iv-allocation-key>span{display:flex;align-items:center;gap:5px}.iv-allocation-key i{width:8px;height:8px;display:inline-block;border-radius:2px}.iv-key-work{background:#497558}.iv-key-free{border:1px solid #b8c8a8;background:#e5ebdc}
.iv-algorithm-loop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--iv-line)}
.iv-algorithm-loop>span{font-size:12px;font-weight:600;min-width:0}.iv-algorithm-loop small{display:block;font-size:9px;font-weight:400;color:var(--iv-muted);margin-top:6px;line-height:1.5}.iv-algorithm-loop>b{font-size:20px;font-weight:400;color:#94ab77}
.iv-proof-route{display:flex;gap:8px;align-items:center;margin-top:28px}
.iv-proof-stage{display:flex;align-items:center;flex-direction:column;min-width:0;flex:1;min-height:134px;background:#fff;border:1px solid #d7e1ce;border-radius:7px;padding:19px 8px 15px;text-align:center}
.iv-stage-icon{display:grid;place-items:center;height:31px;width:31px;margin-bottom:12px;fill:none;stroke:#628354;stroke-width:1.3}.iv-code-icon{font:500 22px/1 var(--mono,monospace);color:#628354;letter-spacing:-4px;padding-right:4px}.iv-stage-icon>svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7}
.iv-proof-stage>strong{font-size:16px;font-weight:600;letter-spacing:-.35px}.iv-proof-stage>span:last-child{font-size:9px;color:var(--iv-muted);margin-top:6px;line-height:1.5}
.iv-proof-final{background:#224d3b;border-color:#224d3b;color:#f3f8e9}.iv-proof-final .iv-stage-icon{color:#c5dca2}.iv-proof-final>span:last-child{color:#bfd1b8}
.iv-route-arrow{font-size:18px;color:#8ca277;font-weight:400;flex-shrink:0}
.iv-proof-bridge{display:flex;align-items:center;gap:10px;margin:18px 0 25px;color:#738668;font-size:9px}.iv-proof-bridge i{flex:1;height:1px;background:#c7d5bb;position:relative}.iv-proof-bridge i::after{content:'';position:absolute;right:0;top:-3px;border:solid #aabd97;border-width:0 1px 1px 0;padding:3px;transform:rotate(-45deg)}
.iv-algorithm-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px;border-top:1px solid var(--iv-line);padding-top:20px}
.iv-algorithm-pair>div{display:flex;align-items:center;gap:10px}.iv-algorithm-pair svg{width:26px;height:26px;padding:4px;border-radius:50%;background:#dce8ca;stroke:#4e713e;stroke-width:1.7;fill:none;flex-shrink:0}.iv-algorithm-pair strong{display:block;font-size:15px;letter-spacing:-.3px}.iv-algorithm-pair small{display:block;font-size:9px;color:var(--iv-muted);margin-top:4px}
.iv-time-unit{font-size:10px;color:#74856c;margin-bottom:24px}
.iv-time-plot{position:relative;padding-bottom:25px}
.iv-time-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:18px}.iv-time-label{font-size:10px;color:#6c7f63}
.iv-time-track{height:49px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(33.333% - 1px),#dae3d0 calc(33.333% - 1px),#dae3d0 33.333%);border-left:1px solid #cbd9bd;position:relative}
.iv-time-bar{height:37px;top:6px;position:relative;width:var(--iv-value);border-radius:0 4px 4px 0;display:flex;align-items:center;justify-content:flex-end;padding:0 10px}
.iv-time-bar strong{font:500 18px/1 var(--sans,Arial,sans-serif);letter-spacing:-.6px}.iv-time-baseline{background:#acba98;color:#344e30}.iv-time-optimized{background:#245d43;color:#f3f7e9}
.iv-time-optimized strong{position:absolute;left:calc(100% + 9px);color:#245d43}
.iv-time-axis{position:absolute;left:86px;right:0;bottom:4px;display:flex;justify-content:space-between;font-size:9px;color:#839175;padding-top:8px;border-top:1px solid #cbd9bd}
.iv-planning-flow{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:19px 0 0;border-top:1px solid var(--iv-line);margin-top:21px;font-size:10px;color:#718566;flex-wrap:wrap}
.iv-planning-flow>strong{font-size:11px;font-weight:600;color:var(--iv-ink)}
@keyframes iv-appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:740px){.iv-figure{padding:20px}.iv-chart-head{gap:8px;margin-bottom:19px}.iv-eyebrow{font-size:8px;letter-spacing:.65px}.iv-chart-tag{font-size:8px}.iv-server-row{grid-template-columns:67px minmax(0,1fr);gap:8px}.iv-server-name{font-size:8px;gap:5px}.iv-server-name svg{width:18px;height:18px}.iv-slots{gap:2px;grid-template-rows:30px;padding:3px}.iv-task{font-size:9px}.iv-available-label{font-size:8px;gap:3px}.iv-available-label svg{width:13px;height:13px}.iv-proof-route{gap:5px}.iv-proof-stage{padding:16px 5px 13px;min-height:127px}.iv-proof-stage>strong{font-size:14px}.iv-proof-stage>span:last-child{font-size:8px}.iv-route-arrow{font-size:15px}.iv-proof-bridge{font-size:8px;gap:7px}.iv-time-row{grid-template-columns:63px minmax(0,1fr);gap:9px}.iv-time-label{font-size:9px}.iv-time-axis{left:72px}.iv-time-bar{padding:0 7px}.iv-time-bar strong{font-size:17px}.iv-algorithm-loop{gap:9px}.iv-algorithm-loop>span{font-size:11px}.iv-algorithm-loop small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.iv-allocation{animation:none}.iv-switch button{transition:none}}
