/* The devlog's diagrams (content/devlog/*/*.svg), inlined in the pages. Their rules used to sit in <style> blocks and style
   attributes inside each SVG, which the site's Content-Security-Policy refuses: they live here, one block per diagram, then the
   colour classes that replaced the style attributes: last, so that they win over a diagram's own rules as the attributes did.
   The colours (--red, --accent, --green, --yellow) are defined for .devlog in devlog.css. */

/* roro9stack-f1-r1/memory.svg */
.mem-ok { fill: var(--accent); fill-opacity: .55; stroke: var(--accent); }
.mem-bad { fill: var(--red); fill-opacity: .25; stroke: var(--red); }
.mem-fixed { fill: var(--green); fill-opacity: .25; stroke: var(--green); }
.mem-grid { stroke: currentColor; stroke-opacity: .15; }
.mem-floor { stroke: var(--red); stroke-dasharray: 4 4; stroke-width: 1.5; }
.mem-dim { fill-opacity: .68; }
.mem-val { font-weight: 600; }
.mem-redtext { fill: var(--red); }
  

/* roro9stack-gemini/fetch.svg */
.gx-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.gx-panel { fill: currentColor; fill-opacity: .05; stroke: currentColor; stroke-opacity: .55; }
.gx-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.gx-warn { fill: none; stroke: var(--red); stroke-dasharray: 4 3; }
.gx-dim { fill-opacity: .68; }
.gx-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
.gx-line-hot { fill: none; stroke: var(--accent); stroke-width: 1.5; }
.gx-line-bad { fill: none; stroke: var(--red); stroke-width: 1.25; stroke-dasharray: 4 3; }
  

/* roro9stack-gemini/memory.svg */
.gm-grid { stroke: currentColor; stroke-opacity: .15; }
.gm-floor { stroke-width: 1.25; stroke-dasharray: 6 4; }
.gm-dim { fill-opacity: .68; }
.gm-step { fill: none; stroke: var(--accent); stroke-width: 2.5; }
.gm-worst { fill: none; stroke: var(--red); stroke-width: 1.5; stroke-dasharray: 3 3; }
  

/* roro9stack-gemini/window.svg */
.gw-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.gw-hot { fill: var(--accent); fill-opacity: .14; stroke: var(--accent); }
.gw-screen { fill: var(--green); fill-opacity: .25; stroke: var(--green); }
.gw-dim { fill-opacity: .68; }
.gw-tick { stroke: currentColor; stroke-opacity: .7; }
.gw-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
  

/* roro9stack-gnss/gnss-flow.svg */
.gf-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.gf-panel { fill: currentColor; fill-opacity: .05; stroke: currentColor; stroke-opacity: .55; }
.gf-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.gf-dim { fill-opacity: .68; }
.gf-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
.gf-line-hot { fill: none; stroke: var(--accent); stroke-width: 1.5; }
  

/* roro9stack-gnss/memory.svg */
.mm-free { fill: var(--accent); }
.mm-low-bad { fill: var(--red); }
.mm-low-ok { fill: var(--green); }
.mm-grid { stroke: currentColor; stroke-opacity: .15; }
.mm-floor { stroke: var(--yellow); stroke-width: 1.5; stroke-dasharray: 6 4; }
.mm-dim { fill-opacity: .68; }
  

/* roro9stack-gnss/satellites.svg */
.sv-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.sv-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.sv-dim { fill-opacity: .68; }
.sv-used { fill: var(--green); }
.sv-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
  

/* roro9stack-lora/noise.svg */
.nf-grid { stroke: currentColor; stroke-opacity: .15; }
.nf-dim { fill-opacity: .68; }
  

/* roro9stack-lora/radio.svg */
.rx-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.rx-panel { fill: currentColor; fill-opacity: .05; stroke: currentColor; stroke-opacity: .55; }
.rx-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.rx-dim { fill-opacity: .68; }
.rx-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
.rx-line-hot { fill: none; stroke: var(--accent); stroke-width: 1.5; }
.rx-bus { fill: none; stroke: var(--yellow); stroke-width: 1.25; stroke-dasharray: 5 4; }
  

/* roro9stack-lora/sweep-outside.svg */
.sw-grid { stroke: currentColor; stroke-opacity: .15; }
.sw-dim { fill-opacity: .68; }
.sw-line { fill: none; stroke: var(--accent); stroke-width: 2; }
.sw-floor { stroke: var(--muted); stroke-width: 1.25; stroke-dasharray: 6 4; }
.sw-ch { fill: var(--green); fill-opacity: .14; }
  

/* roro9stack-ota/boot.svg */
.bt-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.bt-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.bt-ok { fill: var(--green); fill-opacity: .1; stroke: var(--green); }
.bt-safe { fill: var(--yellow); fill-opacity: .14; stroke: var(--yellow); }
.bt-dim { fill-opacity: .68; }
.bt-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
.bt-line-bad { fill: none; stroke: var(--red); stroke-width: 1.5; stroke-dasharray: 5 3; }
.bt-red { fill: var(--red); }
  

/* roro9stack-ota/debug-console.svg */
.dc-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.dc-panel { fill: currentColor; fill-opacity: .05; stroke: currentColor; stroke-opacity: .55; }
.dc-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.dc-dim { fill-opacity: .68; }
.dc-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
.dc-line-hot { fill: none; stroke: var(--accent); stroke-width: 1.5; }
  

/* roro9stack-ota/probation.svg */
.pb-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.pb-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.pb-ok { fill: var(--green); fill-opacity: .12; stroke: var(--green); }
.pb-bad { fill: var(--red); fill-opacity: .08; stroke: var(--red); }
.pb-trap { fill: none; stroke: var(--red); stroke-dasharray: 4 3; }
.pb-dim { fill-opacity: .68; }
.pb-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
.pb-line-ok { fill: none; stroke: var(--green); stroke-width: 1.5; }
.pb-line-bad { fill: none; stroke: var(--red); stroke-width: 1.25; stroke-dasharray: 4 3; }
  

/* roro9stack-ota/update-file.svg */
.uf-cell { fill: none; stroke: currentColor; stroke-opacity: .5; }
.uf-signed { fill: var(--accent); fill-opacity: .14; stroke: var(--accent); }
.uf-image { fill: currentColor; fill-opacity: .06; stroke: currentColor; stroke-opacity: .5; stroke-dasharray: 4 3; }
.uf-dim { fill-opacity: .65; }
.uf-hot { fill: var(--accent); }
  

/* roro9stack-ota/ways-in.svg */
.wi-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.wi-panel { fill: currentColor; fill-opacity: .05; stroke: currentColor; stroke-opacity: .55; }
.wi-hot { fill: var(--accent); fill-opacity: .12; stroke: var(--accent); }
.wi-bad { fill: none; stroke: var(--red); stroke-dasharray: 4 3; }
.wi-dim { fill-opacity: .68; }
.wi-line { fill: none; stroke: currentColor; stroke-opacity: .6; stroke-width: 1.25; }
.wi-line-hot { fill: none; stroke: var(--accent); stroke-width: 1.5; }
.wi-line-bad { fill: none; stroke: var(--red); stroke-width: 1.25; stroke-dasharray: 4 3; }
  

/* roro9stack-s1/runtime.svg */
.rt-run { fill: var(--accent); fill-opacity: .55; stroke: var(--accent); }
.rt-other { fill: currentColor; fill-opacity: .12; stroke: currentColor; stroke-opacity: .5; }
.rt-count { fill: none; stroke: var(--green); stroke-width: 2; }
.rt-count-bad { fill: none; stroke: var(--red); stroke-width: 2; }
.rt-dim { fill-opacity: .68; }
.rt-axis { stroke: currentColor; stroke-opacity: .3; }
.rt-tick { stroke: currentColor; stroke-opacity: .5; stroke-dasharray: 2 3; }
  

/* roro9stack-s1/sd-ready.svg */
.sd-box { fill: none; stroke: currentColor; stroke-opacity: .45; }
.sd-busy { fill: currentColor; fill-opacity: .12; stroke: currentColor; stroke-opacity: .55; }
.sd-bad { fill: var(--red); fill-opacity: .14; stroke: var(--red); }
.sd-good { fill: var(--green); fill-opacity: .14; stroke: var(--green); }
.sd-new { fill: var(--accent); fill-opacity: .16; stroke: var(--accent); }
.sd-dim { fill-opacity: .68; }
.sd-guide { stroke: currentColor; stroke-opacity: .2; stroke-dasharray: 3 4; }

/* Replacing style attributes */
.f-red { fill: var(--red); } .f-accent { fill: var(--accent); } .f-green { fill: var(--green); } .f-yellow { fill: var(--yellow); }
.f-accent75 { fill: var(--accent); fill-opacity: .75; } .f-green75 { fill: var(--green); fill-opacity: .75; }
.s-yellow { stroke: var(--yellow); } .s-red15 { stroke: var(--red); stroke-width: 1.5; } .s-muted { stroke: var(--muted); } .s-green { stroke: var(--green); }
