/* The CAIO page: it plans, and it cannot do */
svg[data-viz="caio"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="caio"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="caio"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="caio"] .sub { font-size:11px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="caio"] .lab { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="caio"] .lab.ac { fill:var(--accent); }
svg[data-viz="caio"] .basel { font-size:9px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="caio"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="caio"] .box rect { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="caio"] .box.lit rect { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="caio"] .box.bad rect { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="caio"] .nm { font-size:10.5px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="caio"] .box.lit .nm { fill:var(--cream); }
svg[data-viz="caio"] .ln { font-size:9.5px; fill:var(--mute); letter-spacing:.04em; }
svg[data-viz="caio"] .ln.f { fill:var(--faint); }
svg[data-viz="caio"] .st { font-size:10.5px; fill:var(--cream); letter-spacing:.08em; }
svg[data-viz="caio"] .hs { font-size:9.5px; fill:var(--accent); letter-spacing:.04em; }
svg[data-viz="caio"] .res { font-size:9.5px; fill:var(--refuse-text); letter-spacing:.04em; }
svg[data-viz="caio"] .chip rect { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .25s, fill .25s, opacity .25s; }
svg[data-viz="caio"] .chip text { font-size:10px; fill:var(--mute); letter-spacing:.12em; }
svg[data-viz="caio"] .chip.scan rect { stroke:var(--cream); }
svg[data-viz="caio"] .chip.pick rect { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="caio"] .chip.pick text { fill:var(--cream); }
svg[data-viz="caio"] .chip.dim { opacity:.45; }
svg[data-viz="caio"] .chain { fill:none; stroke:var(--wash-line); stroke-width:1; stroke-dasharray:2 3; }
svg[data-viz="caio"] .pulse { fill:var(--accent); }
svg[data-viz="caio"] .wire { stroke:var(--wash-line); stroke-width:1; stroke-dasharray:2 3; }
svg[data-viz="caio"] .wire.cut { stroke:var(--refuse-line); }
svg[data-viz="caio"] .schema { font-size:9.5px; fill:var(--accent); letter-spacing:.08em; }
svg[data-viz="caio"] .schema.bad { fill:var(--refuse-text); }
svg[data-viz="caio"] .tok { fill:var(--cream); }
svg[data-viz="caio"] .exec rect { fill:none; stroke:var(--line-strong); stroke-width:1; stroke-dasharray:3 3; }
svg[data-viz="caio"] .exec .nm { fill:var(--faint); }
svg[data-viz="caio"] .nopath { font-size:9.5px; fill:var(--mute); letter-spacing:.14em; }

/* The Fabric page chain */
svg[data-viz="chain"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="chain"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="chain"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="chain"] .req { font-size:11px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="chain"] .opsl, svg[data-viz="chain"] .basel { font-size:9px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="chain"] .ops { stroke:var(--accent); stroke-width:1.5; opacity:.35; transition:opacity .4s; }
svg[data-viz="chain"] .ops.glow { opacity:1; }
svg[data-viz="chain"] .spine, svg[data-viz="chain"] .tick { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="chain"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="chain"] .box { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="chain"] .nm { font-size:11px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="chain"] .job { font-size:10.5px; fill:var(--faint); letter-spacing:.02em; }
svg[data-viz="chain"] .tag { font-size:10px; fill:var(--accent); letter-spacing:.06em; }
svg[data-viz="chain"] .row.lit .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="chain"] .row.lit .nm { fill:var(--cream); }
svg[data-viz="chain"] .row.lit .job { fill:var(--mute); }
svg[data-viz="chain"] .row.bad .box { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="chain"] .row.bad .tag { fill:var(--refuse-text); }
svg[data-viz="chain"] .row.none .box { stroke:var(--line-strong); fill:var(--panel-soft); }
svg[data-viz="chain"] .row.none .tag { fill:var(--faint); }
svg[data-viz="chain"] .wire { stroke:var(--wash-line); stroke-width:1; stroke-dasharray:2 4; opacity:0; }
svg[data-viz="chain"] .drop { fill:var(--accent); opacity:0; }
svg[data-viz="chain"] .tok { fill:var(--cream); }
svg[data-viz="chain"] .tok.bad { fill:var(--refuse); }

/* The Evidence page: two receipts, one join, the walk */
svg[data-viz="evidence"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="evidence"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="evidence"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="evidence"] .cbox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="evidence"] .ct { font-size:11px; fill:var(--cream); letter-spacing:.14em; }
svg[data-viz="evidence"] .cby { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="evidence"] .cr { font-size:10px; fill:var(--mute); letter-spacing:.02em; transition:fill .3s; }
svg[data-viz="evidence"] .cr.hot { fill:var(--accent); }
svg[data-viz="evidence"] .cr.bad { fill:var(--refuse-text); }
svg[data-viz="evidence"] .byte { font-weight:700; }
svg[data-viz="evidence"] .cr.bad .byte { fill:var(--refuse); }
svg[data-viz="evidence"] .dg { font-size:10px; fill:var(--accent); letter-spacing:.04em; }
svg[data-viz="evidence"] .card.hot .cbox { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="evidence"] .card.bad .cbox { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="evidence"] .jl { stroke:var(--wash-line); stroke-width:1; stroke-dasharray:2 3; transition:stroke .3s; }
svg[data-viz="evidence"] .jd { fill:var(--wash-line); transition:fill .3s; }
svg[data-viz="evidence"] .jt { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; transition:fill .3s; }
svg[data-viz="evidence"] .join.hot .jl { stroke:var(--accent); stroke-dasharray:none; stroke-width:1.5; }
svg[data-viz="evidence"] .join.hot .jd { fill:var(--accent); }
svg[data-viz="evidence"] .join.hot .jt { fill:var(--accent); }
svg[data-viz="evidence"] .wk { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="evidence"] .sbox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="evidence"] .sn { font-size:10px; fill:var(--mute); letter-spacing:.1em; transition:fill .3s; }
svg[data-viz="evidence"] .st { font-size:9.5px; fill:var(--accent); letter-spacing:.1em; }
svg[data-viz="evidence"] .step.idle .sn { fill:var(--faint); }
svg[data-viz="evidence"] .step.ok .sbox { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="evidence"] .step.ok .sn { fill:var(--cream); }
svg[data-viz="evidence"] .step.bad .sbox { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="evidence"] .step.bad .sn, svg[data-viz="evidence"] .step.bad .st { fill:var(--refuse-text); }
svg[data-viz="evidence"] .step.none .st { fill:var(--faint); }
svg[data-viz="evidence"] .arr { font-size:16px; fill:var(--mute); letter-spacing:0; }
svg[data-viz="evidence"] .track { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="evidence"] .det { font-size:10.5px; fill:var(--mute); letter-spacing:.02em; }
svg[data-viz="evidence"] .det.bad { fill:var(--refuse-text); }
svg[data-viz="evidence"] .tok { fill:var(--cream); }
svg[data-viz="evidence"] .tok.bad { fill:var(--refuse); }

/* The Company page ladder */
svg[data-viz="ladder"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="ladder"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="ladder"] .foot { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="ladder"] .rail { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="ladder"] .box { fill:var(--panel-soft); stroke:var(--line); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="ladder"] .lr-n { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; transition:fill .3s; }
svg[data-viz="ladder"] .lr-t { font-size:10.5px; fill:var(--faint); letter-spacing:.06em; transition:fill .3s; }
svg[data-viz="ladder"] .lr-d { font-size:10px; fill:var(--mute); letter-spacing:.02em; }
svg[data-viz="ladder"] .lr.lit .box { stroke:var(--wash-line); fill:var(--wash); }
svg[data-viz="ladder"] .lr.lit .lr-n { fill:var(--accent); }
svg[data-viz="ladder"] .lr.lit .lr-t { fill:var(--cream); }
svg[data-viz="ladder"] .lr.hot .box { stroke:var(--accent); }
svg[data-viz="ladder"] .lr.hot .lr-d { fill:var(--cream); }
svg[data-viz="ladder"] .thread { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 3; }
svg[data-viz="ladder"] .thread.on { stroke:var(--accent); stroke-dasharray:none; }
svg[data-viz="ladder"] .dot { fill:var(--cream); opacity:0; }
svg[data-viz="ladder"] .dot.pulse { fill:var(--accent); }

/* The MAE page: one sentence sealed, one refused */
svg[data-viz="mae"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="mae"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="mae"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="mae"] .s { font-size:11px; fill:var(--faint); letter-spacing:.02em; transition:fill .3s; }
svg[data-viz="mae"] .s.on { fill:var(--cream); }
svg[data-viz="mae"] .s .n { fill:var(--faint); }
svg[data-viz="mae"] .vague.on { fill:var(--refuse-text); text-decoration:underline; }
svg[data-viz="mae"] .spine, svg[data-viz="mae"] .tick { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="mae"] .box { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="mae"] .nm { font-size:11px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="mae"] .job { font-size:10.5px; fill:var(--faint); letter-spacing:.02em; }
svg[data-viz="mae"] .tag { font-size:10px; fill:var(--accent); letter-spacing:.06em; }
svg[data-viz="mae"] .row.lit .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="mae"] .row.lit .nm { fill:var(--cream); }
svg[data-viz="mae"] .row.lit .job, svg[data-viz="mae"] .row.bad .job { fill:var(--mute); }
svg[data-viz="mae"] .row.bad .box { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="mae"] .row.bad .nm, svg[data-viz="mae"] .row.bad .tag { fill:var(--refuse-text); }
svg[data-viz="mae"] .row.none .tag { fill:var(--faint); }
svg[data-viz="mae"] .tok { fill:var(--cream); }
svg[data-viz="mae"] .tok.bad { fill:var(--refuse); }
svg[data-viz="mae"] .ol { font-size:9.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="mae"] .ol.bad { fill:var(--refuse-text); }
svg[data-viz="mae"] .pk { fill:var(--wash); stroke:var(--accent); stroke-width:1; }
svg[data-viz="mae"] .it { font-size:10px; fill:var(--mute); letter-spacing:.04em; }
svg[data-viz="mae"] .nopk { fill:none; stroke:var(--refuse-line); stroke-width:1; stroke-dasharray:3 4; }
svg[data-viz="mae"] .np { font-size:11px; fill:var(--refuse-text); letter-spacing:.16em; }
svg[data-viz="mae"] .nps { font-size:10px; fill:var(--faint); letter-spacing:.04em; }

/* The MAIA page: rank the readings, a rule decides, resolve or ask */
svg[data-viz="maia"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="maia"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="maia"] .cap.hold { fill:var(--hold-text); }
svg[data-viz="maia"] .req { font-size:11.5px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="maia"] .lab { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="maia"] .basel { font-size:9px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="maia"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="maia"] .rd { font-size:10.5px; fill:var(--mute); letter-spacing:.04em; }
svg[data-viz="maia"] .track { stroke:var(--line); stroke-width:1; }
svg[data-viz="maia"] .bar { fill:var(--line-strong); }
svg[data-viz="maia"] .mseg { fill:var(--accent); }
svg[data-viz="maia"] .mseg.hold { fill:var(--gold); }
svg[data-viz="maia"] .gbar { fill:var(--accent); }
svg[data-viz="maia"] .gbar.hold { fill:var(--gold); }
svg[data-viz="maia"] .thr { stroke:var(--cream); stroke-width:1.2; stroke-dasharray:2 2; }
svg[data-viz="maia"] .verdict { font-size:10px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="maia"] .verdict.hold { fill:var(--hold-text); }
svg[data-viz="maia"] .rule { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="maia"] .rl { font-size:10.5px; fill:var(--mute); letter-spacing:.04em; transition:fill .3s; }
svg[data-viz="maia"] .rl.res.on { fill:var(--accent); }
svg[data-viz="maia"] .rl.ask.on { fill:var(--hold-text); }
svg[data-viz="maia"] .obox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="maia"] .ol { font-size:10.5px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="maia"] .out.on .obox { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="maia"] .out.ask.on .obox { stroke:var(--gold-line); fill:var(--gold-wash); }
svg[data-viz="maia"] .out.on .ol { fill:var(--cream); }
svg[data-viz="maia"] .hop { stroke:var(--wash-line); stroke-width:1; stroke-dasharray:2 3; }
svg[data-viz="maia"] .hop.hold { stroke:var(--gold-line); }
svg[data-viz="maia"] .tok { fill:var(--cream); }
svg[data-viz="maia"] .tok.hold { fill:var(--gold); }
svg[data-viz="maia"] .emit { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="maia"] .emit.ok { stroke:var(--wash-line); fill:var(--wash); }
svg[data-viz="maia"] .emit.hold { stroke:var(--gold-line); fill:var(--gold-wash); }
svg[data-viz="maia"] .eh { font-size:10.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="maia"] .eh.hold, svg[data-viz="maia"] .to.hold { fill:var(--hold-text); }
svg[data-viz="maia"] .to { font-size:10px; fill:var(--accent); letter-spacing:.12em; }
svg[data-viz="maia"] .el { font-size:10.5px; fill:var(--mute); letter-spacing:.04em; }
svg[data-viz="maia"] .el.q { fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="maia"] .en { font-size:9.5px; fill:var(--faint); letter-spacing:.06em; }

/* The Method page: nine phases, one package */
svg[data-viz="method"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="method"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="method"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="method"] .sent { font-size:11px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="method"] .grp { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="method"] .sep { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="method"] .spine, svg[data-viz="method"] .tick { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="method"] .box { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="method"] .no { font-size:10px; fill:var(--mute); letter-spacing:0; }
svg[data-viz="method"] .nm { font-size:10px; fill:var(--mute); letter-spacing:.1em; transition:fill .3s; }
svg[data-viz="method"] .job { font-size:10px; fill:var(--faint); letter-spacing:.02em; transition:fill .3s; }
svg[data-viz="method"] .tag { font-size:10.5px; fill:var(--accent); letter-spacing:.08em; }
svg[data-viz="method"] .row.hi .box { stroke:var(--wash-line); }
svg[data-viz="method"] .row.lit .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="method"] .row.lit .no, svg[data-viz="method"] .row.lit .nm { fill:var(--cream); }
svg[data-viz="method"] .row.lit .job { fill:var(--mute); }
svg[data-viz="method"] .row.bad .box { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="method"] .row.bad .job, svg[data-viz="method"] .row.bad .tag { fill:var(--refuse-text); }
svg[data-viz="method"] .row.none .tag { fill:var(--faint); }
svg[data-viz="method"] .pbox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; stroke-dasharray:3 3; transition:stroke .3s, fill .3s; }
svg[data-viz="method"] .pnm { font-size:10.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="method"] .ev { font-size:9.5px; fill:var(--accent); letter-spacing:.1em; opacity:0; transition:opacity .3s; }
svg[data-viz="method"] .ev.on { opacity:1; }
svg[data-viz="method"] .pno { font-size:9.5px; fill:var(--refuse-text); letter-spacing:.1em; opacity:0; }
svg[data-viz="method"] .pkg.on .pbox { stroke:var(--accent); fill:var(--wash); stroke-dasharray:none; }
svg[data-viz="method"] .pkg.on .pnm { fill:var(--cream); }
svg[data-viz="method"] .pkg.none .pbox { stroke:var(--refuse-line); fill:var(--refuse-wash); }
svg[data-viz="method"] .pkg.none .pnm { fill:var(--refuse-text); }
svg[data-viz="method"] .pkg.none .pno { opacity:1; }
svg[data-viz="method"] .tok { fill:var(--cream); }
svg[data-viz="method"] .tok.bad { fill:var(--refuse); }

/* The MGR page: a governed runtime inside the software you ship */
svg[data-viz="mgr"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="mgr"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="mgr"] .sub { font-size:11px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="mgr"] .zone, svg[data-viz="mgr"] .perl, svg[data-viz="mgr"] .basel { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="mgr"] .per { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:3 4; }
svg[data-viz="mgr"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="mgr"] .ctl { fill:none; stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="mgr"] .ctln { font-size:10px; fill:var(--faint); letter-spacing:.12em; }
svg[data-viz="mgr"] .stop { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 3; }
svg[data-viz="mgr"] .stopt { stroke:var(--mute); stroke-width:1.5; }
svg[data-viz="mgr"] .nt { font-size:9.5px; fill:var(--faint); letter-spacing:.02em; }
svg[data-viz="mgr"] .chip { font-size:10px; fill:var(--accent); letter-spacing:.12em; }
svg[data-viz="mgr"] .prod { fill:none; stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="mgr"] .prodn { font-size:10px; fill:var(--mute); letter-spacing:.14em; }
svg[data-viz="mgr"] .ver { font-size:9.5px; fill:var(--faint); letter-spacing:.12em; transition:fill .4s; }
svg[data-viz="mgr"] .ver.hi { fill:var(--cream); }
svg[data-viz="mgr"] .rcpt { font-size:9.5px; fill:var(--faint); letter-spacing:.02em; }
svg[data-viz="mgr"] .spine { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="mgr"] .box { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="mgr"] .nm { font-size:11px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="mgr"] .rule { font-size:9.5px; fill:var(--accent); letter-spacing:.12em; }
svg[data-viz="mgr"] .job { font-size:10.5px; fill:var(--faint); letter-spacing:.02em; }
svg[data-viz="mgr"] .tag { font-size:10px; fill:var(--accent); letter-spacing:.06em; }
svg[data-viz="mgr"] .tag.act { fill:var(--cream); letter-spacing:.02em; text-transform:none; }
svg[data-viz="mgr"] .row.lit .box, svg[data-viz="mgr"] .oc.lit .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="mgr"] .row.lit .nm, svg[data-viz="mgr"] .oc.lit .nm { fill:var(--cream); }
svg[data-viz="mgr"] .row.lit .job { fill:var(--mute); }
svg[data-viz="mgr"] .row.bad .box { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="mgr"] .row.bad .tag { fill:var(--refuse-text); }
svg[data-viz="mgr"] .row.none .tag { fill:var(--faint); }
svg[data-viz="mgr"] .wire { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; transition:stroke .4s, opacity .4s; }
svg[data-viz="mgr"] .wire.on { stroke:var(--wash-line); }
svg[data-viz="mgr"] .wire.glow { stroke:var(--accent); stroke-width:1.5; }
svg[data-viz="mgr"] .drop { fill:var(--accent); opacity:0; }
svg[data-viz="mgr"] .tok { fill:var(--cream); }
svg[data-viz="mgr"] .tok.bad { fill:var(--refuse); }

/* The MGT page: the state inside a proved region */
svg[data-viz="mgt"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="mgt"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="mgt"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="mgt"] .sub { font-size:11px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="mgt"] .lab, svg[data-viz="mgt"] .bl { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="mgt"] .basel { font-size:9px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="mgt"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="mgt"] .ax { stroke:var(--line); stroke-width:1; }
svg[data-viz="mgt"] .zero { font-size:9.5px; fill:var(--faint); }
svg[data-viz="mgt"] .region { fill:var(--wash); stroke:var(--wash-line); stroke-width:1.2; }
svg[data-viz="mgt"] .rl { font-size:9.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="mgt"] .ring { fill:none; stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="mgt"] .trail { fill:none; stroke:var(--mute); stroke-width:1; opacity:.55; }
svg[data-viz="mgt"] .vis { fill:var(--mute); }
svg[data-viz="mgt"] .prop { stroke:var(--mute); stroke-width:1; stroke-dasharray:2 3; }
svg[data-viz="mgt"] .prop.bad { stroke:var(--refuse); }
svg[data-viz="mgt"] .proj { stroke:var(--accent); stroke-width:1.5; stroke-dasharray:3 2; }
svg[data-viz="mgt"] .ghost { fill:none; stroke:var(--mute); stroke-width:1.2; }
svg[data-viz="mgt"] .ghost.correct { stroke:var(--accent); }
svg[data-viz="mgt"] .ghost.halt { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="mgt"] .gx { stroke:var(--refuse); stroke-width:1.5; fill:none; }
svg[data-viz="mgt"] .dot { fill:var(--cream); }
svg[data-viz="mgt"] .dbox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="mgt"] .dl { font-size:10.5px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="mgt"] .mk { stroke-width:1.2; }
svg[data-viz="mgt"] .admit .mk, svg[data-viz="mgt"] .sq.admit { fill:var(--accent); stroke:var(--accent); }
svg[data-viz="mgt"] .correct .mk, svg[data-viz="mgt"] .sq.correct { fill:none; stroke:var(--accent); stroke-width:1.2; }
svg[data-viz="mgt"] .halt .mk, svg[data-viz="mgt"] .sq.halt { fill:var(--refuse); stroke:var(--refuse); }
svg[data-viz="mgt"] .dec.on .dbox { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="mgt"] .dec.halt.on .dbox { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="mgt"] .dec.on .dl { fill:var(--cream); }
svg[data-viz="mgt"] .sq { fill:none; stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="mgt"] .bar.f { fill:var(--line-strong); }
svg[data-viz="mgt"] .bar.l { fill:var(--accent); }
svg[data-viz="mgt"] .rt { font-size:10px; fill:var(--accent); letter-spacing:.06em; text-transform:uppercase; }
svg[data-viz="mgt"] .rt.bad { fill:var(--refuse-text); }

/* The RFS · NME page: one field, three bands */
svg[data-viz="rfs"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="rfs"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="rfs"] .eq { font-size:12px; fill:var(--mute); letter-spacing:.04em; transition:fill .4s; }
svg[data-viz="rfs"] .eq.hi { fill:var(--cream); }
svg[data-viz="rfs"] .fl, svg[data-viz="rfs"] .gl, svg[data-viz="rfs"] .basel { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="rfs"] .fld { fill:none; stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="rfs"] .guard { stroke:var(--line); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="rfs"] .cbox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="rfs"] .cl { font-size:10px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="rfs"] .ct { font-size:10.5px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="rfs"] .inj { fill:none; stroke:none; }
svg[data-viz="rfs"] .dot { fill:var(--cream); opacity:0; }
svg[data-viz="rfs"] .box { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="rfs"] .nm { font-size:10px; fill:var(--mute); letter-spacing:.12em; }
svg[data-viz="rfs"] .job { font-size:10px; fill:var(--faint); letter-spacing:.02em; transition:fill .3s; }
svg[data-viz="rfs"] .wv { fill:none; stroke:var(--line-strong); stroke-width:1.2; stroke-linejoin:round; transition:stroke .3s; }
svg[data-viz="rfs"] .q { font-size:10.5px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="rfs"] .ans { font-size:10px; fill:var(--accent); letter-spacing:.06em; }
svg[data-viz="rfs"] .bnd.lit .box { stroke:var(--wash-line); }
svg[data-viz="rfs"] .bnd.lit .nm, svg[data-viz="rfs"] .bnd.lit .job { fill:var(--mute); }
svg[data-viz="rfs"] .bnd.lit .wv { stroke:var(--wash-line); }
svg[data-viz="rfs"] .bnd.res .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="rfs"] .bnd.res .nm { fill:var(--cream); }
svg[data-viz="rfs"] .bnd.res .wv { stroke:var(--accent); stroke-width:1.6; }
svg[data-viz="rfs"] .rule, svg[data-viz="rfs"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="rfs"] .rol { font-size:10px; fill:var(--faint); letter-spacing:.14em; transition:fill .3s; }
svg[data-viz="rfs"] .rov { font-size:16px; fill:var(--accent); letter-spacing:.04em; }
svg[data-viz="rfs"] .ro.hi .rol { fill:var(--cream); }

/* The SAID page: claims pointed at sources, one repaired; then a decline */
svg[data-viz="said"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="said"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="said"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="said"] .req { font-size:11px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="said"] .yours { font-size:10px; fill:var(--faint); letter-spacing:.04em; }
svg[data-viz="said"] .hd, svg[data-viz="said"] .basel, svg[data-viz="said"] .loopl { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="said"] .basel { font-size:9px; }
svg[data-viz="said"] .hd.chk { fill:var(--accent); }
svg[data-viz="said"] .box { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="said"] .nm { font-size:11px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="said"] .ms { font-size:10px; fill:var(--cream); letter-spacing:.06em; }
svg[data-viz="said"] .model.on .box { stroke:var(--mute); }
svg[data-viz="said"] .model.on .nm { fill:var(--cream); }
svg[data-viz="said"] .dn { font-size:10px; fill:var(--faint); letter-spacing:.04em; }
svg[data-viz="said"] .doc.hit .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="said"] .doc.hit .dn { fill:var(--cream); }
svg[data-viz="said"] .ct { font-size:10.5px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="said"] .cs { font-size:10px; fill:var(--faint); letter-spacing:.06em; }
svg[data-viz="said"] .cl.ok .box { stroke:var(--wash-line); }
svg[data-viz="said"] .cl.ok .cs { fill:var(--accent); }
svg[data-viz="said"] .cl.bad .box { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="said"] .cl.bad .cs { fill:var(--refuse-text); }
svg[data-viz="said"] .link { stroke:var(--wash-line); stroke-width:1; }
svg[data-viz="said"] .loop { fill:none; stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; transition:stroke .3s; }
svg[data-viz="said"] .loop.on { stroke:var(--mute); }
svg[data-viz="said"] .dot { fill:var(--cream); opacity:0; }
svg[data-viz="said"] .dot.bad { fill:var(--refuse); }
svg[data-viz="said"] .band.ok .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="said"] .band.bad .box { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="said"] .bv { font-size:11.5px; letter-spacing:.16em; }
svg[data-viz="said"] .band.ok .bv { fill:var(--accent); }
svg[data-viz="said"] .band.bad .bv { fill:var(--refuse-text); }
svg[data-viz="said"] .bd { font-size:10px; fill:var(--mute); letter-spacing:.04em; }
svg[data-viz="said"] .rec { font-size:10px; fill:var(--mute); letter-spacing:.04em; }
svg[data-viz="said"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }

/* The Contact page: twenty minutes on your own machine */
svg[data-viz="twenty"] text { font-family:var(--mono); letter-spacing:.06em; }
svg[data-viz="twenty"] .cap { font-size:11.5px; fill:var(--cream); letter-spacing:.14em; }
svg[data-viz="twenty"] .cap.ref { fill:var(--refuse-text); }
svg[data-viz="twenty"] .cap.ok { fill:var(--accent); }
svg[data-viz="twenty"] .tw-mach { fill:none; stroke:var(--line-strong); stroke-width:1; stroke-dasharray:3 4; transition:stroke .4s; }
svg[data-viz="twenty"] .tw-mach.on { stroke:var(--wash-line); }
svg[data-viz="twenty"] .tw-foot { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="twenty"] .tw-step rect { fill:none; stroke:var(--line); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="twenty"] .tw-step text { font-size:9.5px; fill:var(--faint); letter-spacing:.12em; transition:fill .3s; }
svg[data-viz="twenty"] .tw-step.on rect { stroke:var(--wash-line); }
svg[data-viz="twenty"] .tw-step.on text { fill:var(--mute); }
svg[data-viz="twenty"] .tw-step.cur rect { fill:var(--wash); stroke:var(--accent); }
svg[data-viz="twenty"] .tw-step.cur text { fill:var(--cream); }
svg[data-viz="twenty"] .tw-panel { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="twenty"] .tw-h { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="twenty"] .tw-l { font-size:10px; letter-spacing:.02em; white-space:pre; }
svg[data-viz="twenty"] .tw-l.cmd { fill:var(--cream); }
svg[data-viz="twenty"] .tw-l.out { fill:var(--mute); }
svg[data-viz="twenty"] .tw-l.held { fill:var(--hold-text); letter-spacing:.08em; }
svg[data-viz="twenty"] .tw-l.ref { fill:var(--refuse-text); letter-spacing:.08em; }
svg[data-viz="twenty"] .tw-l.ok { fill:var(--accent); }
svg[data-viz="twenty"] .tw-gate { stroke:var(--line-strong); stroke-width:2; transition:stroke .3s; }
svg[data-viz="twenty"] .tw-gate.held { stroke:var(--gold); }
svg[data-viz="twenty"] .tw-gate.ref { stroke:var(--refuse); }
svg[data-viz="twenty"] .tw-dot { fill:var(--cream); opacity:0; }
svg[data-viz="twenty"] .tw-dot.held { fill:var(--gold); }
svg[data-viz="twenty"] .tw-dot.ref { fill:var(--refuse); }
svg[data-viz="twenty"] .tw-key { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="twenty"] .tw-val { font-size:10px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="twenty"] .tw-note { font-size:10px; fill:var(--mute); letter-spacing:.02em; font-style:italic; }

/* The UCP page: access is not authority */
svg[data-viz="ucp"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="ucp"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="ucp"] .cap.hold { fill:var(--hold-text); }
svg[data-viz="ucp"] .cap.bad { fill:var(--refuse-text); }
svg[data-viz="ucp"] .req { font-size:11px; fill:var(--cream); letter-spacing:.02em; }
svg[data-viz="ucp"] .over, svg[data-viz="ucp"] .hd, svg[data-viz="ucp"] .basel { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="ucp"] .basel { font-size:9px; }
svg[data-viz="ucp"] .lane { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="ucp"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="ucp"] .box { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="ucp"] .nm { font-size:11px; fill:var(--mute); letter-spacing:.16em; }
svg[data-viz="ucp"] .pn { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="ucp"] .lb.ok .box { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="ucp"] .lb.ok .nm { fill:var(--cream); }
svg[data-viz="ucp"] .lb.hold .box { stroke:var(--gold); fill:var(--gold-wash); }
svg[data-viz="ucp"] .lb.hold .nm, svg[data-viz="ucp"] .lb.hold .pn { fill:var(--hold-text); }
svg[data-viz="ucp"] .lb.bad .box { stroke:var(--refuse); fill:var(--refuse-wash); }
svg[data-viz="ucp"] .lb.bad .nm { fill:var(--refuse-text); }
svg[data-viz="ucp"] [data-k="access"].ok .box { stroke:var(--mute); fill:var(--panel-soft); }
svg[data-viz="ucp"] .sub { font-size:10px; fill:var(--faint); letter-spacing:.04em; }
svg[data-viz="ucp"] .sub.ok { fill:var(--mute); }
svg[data-viz="ucp"] .eff { font-size:10px; fill:var(--accent); letter-spacing:.06em; }
svg[data-viz="ucp"] .eff.none { fill:var(--refuse-text); }
svg[data-viz="ucp"] .wire { stroke:var(--gold-line); stroke-width:1; stroke-dasharray:2 3; opacity:0; }
svg[data-viz="ucp"] .pulse { fill:var(--gold); opacity:0; }
svg[data-viz="ucp"] .said { font-size:10px; fill:var(--hold-text); letter-spacing:.06em; }
svg[data-viz="ucp"] .tok { fill:var(--cream); }
svg[data-viz="ucp"] .tok.bad { fill:var(--refuse); }
svg[data-viz="ucp"] .q { font-size:9.5px; fill:var(--faint); letter-spacing:.12em; }
svg[data-viz="ucp"] .a { font-size:10.5px; fill:var(--cream); letter-spacing:.04em; }
svg[data-viz="ucp"] .a.ok { fill:var(--accent); }
svg[data-viz="ucp"] .a.hold { fill:var(--hold-text); }
svg[data-viz="ucp"] .a.bad { fill:var(--refuse-text); }
svg[data-viz="ucp"] .a.spent { fill:var(--faint); }
svg[data-viz="ucp"] .rc text { font-size:9.5px; letter-spacing:.04em; }
svg[data-viz="ucp"] .hash { fill:var(--cream); }
svg[data-viz="ucp"] .prev { fill:var(--faint); }
svg[data-viz="ucp"] .verd { fill:var(--accent); letter-spacing:.1em; }
svg[data-viz="ucp"] .verd.hold, svg[data-viz="ucp"] .by.hold { fill:var(--hold-text); }
svg[data-viz="ucp"] .verd.bad, svg[data-viz="ucp"] .by.bad { fill:var(--refuse-text); }
svg[data-viz="ucp"] .act { fill:var(--mute); }
svg[data-viz="ucp"] .by { fill:var(--mute); }
svg[data-viz="ucp"] .link { fill:none; stroke:var(--wash-line); stroke-width:1; }

/* The Who Else page map */
svg[data-viz="whoelse"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="whoelse"] .cap { font-size:11.5px; fill:var(--cream); letter-spacing:.14em; }
svg[data-viz="whoelse"] .cap.us { fill:var(--accent); }
svg[data-viz="whoelse"] .zone { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="whoelse"] .zone.out { stroke-dasharray:3 4; }
svg[data-viz="whoelse"] .sub { fill:none; stroke:var(--line); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="whoelse"] .zl { font-size:9.5px; fill:var(--mute); letter-spacing:.14em; }
svg[data-viz="whoelse"] .sl { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="whoelse"] .nd { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1.2; transition:fill .3s, stroke .3s; }
svg[data-viz="whoelse"] .nl { font-size:9.5px; fill:var(--faint); letter-spacing:.06em; transition:fill .3s; }
svg[data-viz="whoelse"] .node.lit.v .nd { fill:var(--mute); stroke:var(--mute); }
svg[data-viz="whoelse"] .node.lit.us .nd { fill:var(--accent); stroke:var(--accent); }
svg[data-viz="whoelse"] .node.lit .nl { fill:var(--mute); }
svg[data-viz="whoelse"] .node.lit.us .nl { fill:var(--cream); }
svg[data-viz="whoelse"] .pin rect { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="whoelse"] .pin text { font-size:9.5px; fill:var(--cream); letter-spacing:.06em; }
svg[data-viz="whoelse"] .pin .stem { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="whoelse"] .pin.us rect { fill:var(--wash); stroke:var(--accent); }
svg[data-viz="whoelse"] .pin.us text { fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="whoelse"] .pin.us .stem { stroke:var(--wash-line); }
svg[data-viz="whoelse"] .ring { fill:none; stroke:var(--line-strong); stroke-width:1; transition:stroke .3s; }
svg[data-viz="whoelse"] .ring.hot { stroke:var(--cream); stroke-width:1.5; }
svg[data-viz="whoelse"] .ring.us { stroke:var(--wash-line); }
svg[data-viz="whoelse"] .ship { stroke:var(--wash-line); stroke-width:1; stroke-dasharray:2 4; opacity:.3; transition:opacity .4s; }
svg[data-viz="whoelse"] .dot { fill:var(--cream); opacity:0; }
svg[data-viz="whoelse"] .dot.us { fill:var(--accent); }
svg[data-viz="whoelse"] .ship.on { opacity:.9; }

/* The Why Now page: the clause moves, the rule is re-proved and delivered */
svg[data-viz="whynow"] text { font-family:var(--mono); letter-spacing:.08em; }
svg[data-viz="whynow"] .cap { font-size:11.5px; fill:var(--accent); letter-spacing:.14em; }
svg[data-viz="whynow"] .spine { stroke:var(--line-strong); stroke-width:1; }
svg[data-viz="whynow"] .cbox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="whynow"] .card.hot .cbox { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="whynow"] .ch { font-size:11px; fill:var(--cream); letter-spacing:.14em; }
svg[data-viz="whynow"] .cd { font-size:10px; fill:var(--gold); letter-spacing:.12em; }
svg[data-viz="whynow"] .ck { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="whynow"] .old { font-size:10.5px; fill:var(--mute); letter-spacing:.04em; opacity:0; }
svg[data-viz="whynow"] .strike { stroke:var(--refuse); stroke-width:1.2; opacity:0; }
svg[data-viz="whynow"] .new { font-size:10.5px; fill:var(--cream); letter-spacing:.04em; }
svg[data-viz="whynow"] .sent { font-size:10.5px; fill:var(--cream); letter-spacing:.01em; }
svg[data-viz="whynow"] .lock { font-size:9.5px; fill:var(--accent); letter-spacing:.12em; }
svg[data-viz="whynow"] .go { font-size:10.5px; fill:var(--accent); letter-spacing:.12em; }
svg[data-viz="whynow"] .pip { fill:none; stroke:var(--line-strong); stroke-width:1; transition:fill .3s, stroke .3s; }
svg[data-viz="whynow"] .pip.on { fill:var(--accent); stroke:var(--accent); }
svg[data-viz="whynow"] .stg { font-size:9.5px; fill:var(--faint); letter-spacing:.1em; transition:fill .3s; }
svg[data-viz="whynow"] .stg.on { fill:var(--mute); }
svg[data-viz="whynow"] .opsl { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; }
svg[data-viz="whynow"] .ops { stroke:var(--accent); stroke-width:1.5; opacity:.35; transition:opacity .4s; }
svg[data-viz="whynow"] .ops.glow { opacity:1; }
svg[data-viz="whynow"] .wire { stroke:var(--wash-line); stroke-width:1; stroke-dasharray:2 3; }
svg[data-viz="whynow"] .drop { fill:var(--accent); opacity:0; }
svg[data-viz="whynow"] .rbox { fill:var(--panel-soft); stroke:var(--line-strong); stroke-width:1; transition:stroke .3s, fill .3s; }
svg[data-viz="whynow"] .rn { font-size:10px; fill:var(--mute); letter-spacing:.12em; transition:fill .3s; }
svg[data-viz="whynow"] .rtag { font-size:9.5px; fill:var(--faint); letter-spacing:.06em; }
svg[data-viz="whynow"] .rt.on .rbox { stroke:var(--accent); fill:var(--wash); }
svg[data-viz="whynow"] .rt.on .rn { fill:var(--cream); }
svg[data-viz="whynow"] .rt.on .rtag { fill:var(--accent); }
svg[data-viz="whynow"] .base { stroke:var(--line-strong); stroke-width:1; stroke-dasharray:2 4; }
svg[data-viz="whynow"] .cn { font-size:20px; fill:var(--faint); letter-spacing:0; transition:fill .3s; }
svg[data-viz="whynow"] .cl { font-size:9.5px; fill:var(--faint); letter-spacing:.14em; transition:fill .3s; }
svg[data-viz="whynow"] .ctr.on .cn { fill:var(--cream); }
svg[data-viz="whynow"] .ctr.on .cl { fill:var(--mute); }
svg[data-viz="whynow"] .tok { fill:var(--cream); }
