
.iso{
  --anatomy-page:#0b0b0b;--anatomy-card:#131313;--anatomy-text:#a3a3a3;--anatomy-strong:#e6e6e6;--anatomy-muted:#6e6e6e;
  --anatomy-paper:#131313;--anatomy-face:#1b1b1b;--anatomy-top:#1c1c1c;
  --anatomy-shade-0:#0f0f0f;--anatomy-shade-1:#121212;--anatomy-shade-2:#151515;--anatomy-shade-3:#181818;
  --anatomy-lit-top:#262626;--anatomy-lit-shade:#1d1d1d;
  --anatomy-hi:#d4d4d4;--anatomy-mid:#6a6a6a;--anatomy-lo:#3e3e3e;--anatomy-faint:#2a2a2a;--anatomy-lit:#ffffff;
  --anatomy-halo:#050505;--anatomy-halo-opacity:.9;--anatomy-dot:#e6e6e6;
  --anatomy-red:#ff6b6b;--anatomy-green:#6be0a0;--anatomy-blue:#6b9bff;
  --anatomy-weight:.6px;--anatomy-ease:cubic-bezier(.32,.72,0,1);
  --anatomy-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --anatomy-lift:inset 0 1px 0 0 #ffffff0a,inset 0 0 0 1px #ffffff06,0 0 0 1px #00000026,0 1px 1px -.5px #00000014,0 3px 3px -1.5px #00000014,0 6px 6px -3px #00000014,0 12px 12px -6px #00000014;
}
.iso[data-theme="light"]{
  --anatomy-page:#f2f2ef;--anatomy-card:#fbfbfa;--anatomy-text:#57575a;--anatomy-strong:#18181a;--anatomy-muted:#8c8c90;
  --anatomy-paper:#fbfbfa;--anatomy-face:#ffffff;--anatomy-top:#ffffff;
  --anatomy-shade-0:#dcdcd9;--anatomy-shade-1:#e5e5e2;--anatomy-shade-2:#ededea;--anatomy-shade-3:#f4f4f1;
  --anatomy-lit-top:#ffffff;--anatomy-lit-shade:#eeeeeb;
  --anatomy-hi:#26262a;--anatomy-mid:#8a8a8f;--anatomy-lo:#b4b4b8;--anatomy-faint:#d4d4d6;--anatomy-lit:#000000;
  --anatomy-halo:#8a8a80;--anatomy-halo-opacity:.32;--anatomy-dot:#3a3a3e;
  --anatomy-red:#e5484d;--anatomy-green:#30a46c;--anatomy-blue:#3e63dd;
  --anatomy-lift:inset 0 1px 0 0 #ffffff,0 0 0 1px #0000000f,0 1px 1px -.5px #0000000a,0 3px 3px -1.5px #0000000a,0 6px 6px -3px #0000000a,0 12px 12px -6px #0000000a;
}

.iso-svg path,.iso-svg circle{vector-effect:non-scaling-stroke}
.iso-fill{fill:var(--anatomy-paper);stroke:none}
.iso-solid[data-lit]>.iso-fill{fill:var(--anatomy-face)}
.iso-shade,.iso-top{stroke:none}
.iso-shade[data-shade="0"]{fill:var(--anatomy-shade-0)}
.iso-shade[data-shade="1"]{fill:var(--anatomy-shade-1)}
.iso-shade[data-shade="2"]{fill:var(--anatomy-shade-2)}
.iso-shade[data-shade="3"]{fill:var(--anatomy-shade-3)}
.iso-top{fill:var(--anatomy-top)}
.iso-solid[data-lit]>.iso-top{fill:var(--anatomy-lit-top)}
.iso-solid[data-lit]>.iso-shade{fill:var(--anatomy-lit-shade)}
.iso-solid[data-seamless]>.iso-shade,.iso-solid[data-seamless]>.iso-top{stroke-width:.4;stroke-linejoin:round}
.iso-solid[data-seamless]>.iso-shade[data-shade="0"]{stroke:var(--anatomy-shade-0)}
.iso-solid[data-seamless]>.iso-shade[data-shade="1"]{stroke:var(--anatomy-shade-1)}
.iso-solid[data-seamless]>.iso-shade[data-shade="2"]{stroke:var(--anatomy-shade-2)}
.iso-solid[data-seamless]>.iso-shade[data-shade="3"]{stroke:var(--anatomy-shade-3)}
.iso-solid[data-seamless]>.iso-top{stroke:var(--anatomy-top)}
.iso-solid[data-seamless][data-lit]>.iso-top{stroke:var(--anatomy-lit-top)}
.iso-solid[data-seamless][data-lit]>.iso-shade{stroke:var(--anatomy-lit-shade)}
.iso-solid[data-lit]>.iso-edge{stroke:var(--anatomy-lit)}
.iso-halo{fill:var(--anatomy-halo);stroke:none;filter:blur(9px);opacity:var(--anatomy-halo-opacity);transform:translateY(3px)}
.iso-line{fill:none;stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight);stroke-linecap:round;stroke-linejoin:round}
.iso-line[data-tone="hi"]{stroke:var(--anatomy-hi)}
.iso-line[data-tone="mid"]{stroke:var(--anatomy-mid)}
.iso-line[data-tone="lo"]{stroke:var(--anatomy-lo)}
.iso-line[data-tone="faint"]{stroke:var(--anatomy-faint)}
.iso-line[data-tone="lit"]{stroke:var(--anatomy-lit)}
.iso-line[data-tone="red"]{stroke:var(--anatomy-red)}
.iso-line[data-tone="green"]{stroke:var(--anatomy-green)}
.iso-line[data-tone="blue"]{stroke:var(--anatomy-blue)}
.iso-line[data-dotted]{stroke-dasharray:.01 3.5;stroke-width:1}
.iso-line[data-dashed]{stroke-dasharray:3 3}
.iso-line[data-flow]{stroke-dasharray:2 6}
.iso-wire-end{fill:var(--anatomy-paper);stroke:var(--anatomy-lo);stroke-width:var(--anatomy-weight)}
.iso-wire[data-tone="hi"] .iso-wire-end{stroke:var(--anatomy-hi)}
.iso-wire[data-tone="mid"] .iso-wire-end{stroke:var(--anatomy-mid)}
.iso-wire[data-tone="faint"] .iso-wire-end{stroke:var(--anatomy-faint)}
.iso-wire[data-tone="lit"] .iso-wire-end{stroke:var(--anatomy-lit)}
.iso-dots circle{fill:var(--anatomy-dot);stroke:none;opacity:.32}
.iso-dots[data-tone="hi"] circle{opacity:.85}
.iso-dots[data-tone="mid"] circle{opacity:.45}
.iso-dots[data-tone="lo"] circle{opacity:.22}
.iso-dots[data-tone="faint"] circle{opacity:.12}
.iso-face-text{fill:var(--anatomy-mid);font-family:var(--anatomy-mono);letter-spacing:.04em}
.iso-face-text[data-tone="hi"]{fill:var(--anatomy-hi)}
.iso-face-text[data-tone="lo"]{fill:var(--anatomy-lo)}
.iso-face-text[data-tone="faint"]{fill:var(--anatomy-faint)}
.tb-body{fill:var(--anatomy-shade-2);stroke:none}
.tb-shine{fill:var(--anatomy-top);stroke:none}
.tb-shade{fill:var(--anatomy-shade-0);stroke:none}
.tb-ring{fill:none;stroke:var(--anatomy-lo);stroke-width:.45;stroke-linecap:butt;stroke-linejoin:round}
.tb-ring[data-tone="mid"]{stroke:var(--anatomy-mid)}
.tb-ring[data-tone="faint"]{stroke:var(--anatomy-faint)}
.tb-ring[data-tone="hi"]{stroke:var(--anatomy-hi)}
@keyframes iso-flow{to{stroke-dashoffset:-32}}
@keyframes iso-pulse{0%,100%{opacity:.18}12%{opacity:1}40%{opacity:.18}}
.iso-line[data-flow]{animation:iso-flow 1600ms linear infinite}
.iso-dots circle[data-pulse]{animation:iso-pulse 1600ms steps(1,end) infinite;animation-delay:var(--pulse-at,0ms)}
.iso-figure{margin:32px 0 36px}
.iso-plate{position:relative;padding:52px 24px;border-radius:0;background:var(--anatomy-card);box-shadow:0 0 0 1px var(--anatomy-mid);--anatomy-paper:var(--anatomy-card)}
.iso-plate-corners{position:absolute;inset:18px 20px;pointer-events:none}
.iso-plate-corner{position:absolute;color:var(--anatomy-muted);font-family:var(--anatomy-mono);font-size:10.5px;line-height:1;letter-spacing:.04em;white-space:nowrap}
.iso-plate-corner[data-corner="fig"]{top:0;left:0;color:var(--anatomy-text)}
.iso-plate-corner[data-corner="title"]{top:0;right:0;text-transform:uppercase;letter-spacing:.1em}
.iso-plate-corner[data-corner="hint"]{bottom:0;left:0;text-transform:uppercase;letter-spacing:.1em}
.iso-plate-corner[data-corner="readout"]{right:0;bottom:0;color:var(--anatomy-text);font-variant-numeric:tabular-nums}
.iso-plate .iso-svg{margin:0 auto}
.iso-legend{display:grid;gap:8px;margin-top:12px;color:var(--anatomy-muted);font-size:13px;line-height:1.55}
.iso-keys{display:flex;flex-wrap:wrap;gap:6px 18px}
.iso-key{display:inline-flex;align-items:center;gap:7px}
.iso-swatch{width:16px;height:10px;flex:none;overflow:visible}
.iso-swatch path{fill:none;stroke:var(--anatomy-hi);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.iso-swatch[data-mark="raised"] path,.iso-swatch[data-mark="flat"] path{stroke:var(--anatomy-mid)}
.iso-swatch[data-mark="lit"] path{stroke:var(--anatomy-lit)}
.iso-swatch[data-mark="dim"] path{stroke:var(--anatomy-lo)}
.iso-swatch[data-mark="dotted"] path{stroke-dasharray:.01 3;stroke-width:1.4}
.iso-swatch[data-mark="dashed"] path{stroke-dasharray:3 2.5}
.iso-swatch[data-mark="red"] path{stroke:var(--anatomy-red)}
.iso-swatch[data-mark="green"] path{stroke:var(--anatomy-green)}
.iso-swatch[data-mark="blue"] path{stroke:var(--anatomy-blue)}
.iso-swatch-crease{stroke:var(--anatomy-lo)!important}
@media (max-width:560px){.iso-plate{padding:48px 12px 70px}.iso-plate-corner[data-corner="hint"]{bottom:18px}}
@media (prefers-reduced-motion:reduce){.iso-line[data-flow],.iso-dots circle[data-pulse]{animation:none}}

:root{--blue:linear-gradient(92deg,#2d5fc4 0%,#4f8fdf 55%,#7ab6ec 100%)}

/* --- drawing: Anatomy tokens re-toned (cool paper, slate ink) --- */
.iso[data-theme="light"]{
  --anatomy-paper:#f3f5f8;--anatomy-face:#ffffff;--anatomy-top:#fafbfc;
  --anatomy-shade-0:#ccd4de;--anatomy-shade-1:#d8dee6;--anatomy-shade-2:#e2e7ed;--anatomy-shade-3:#ebeef2;
  --anatomy-lit-top:#ffffff;--anatomy-lit-shade:#e8ecf1;
  --anatomy-hi:#223044;--anatomy-mid:#6b7a8f;--anatomy-lo:#9eabbb;--anatomy-faint:#c6ced8;--anatomy-lit:#0b1424;
  --anatomy-halo:#3e5778;--anatomy-halo-opacity:.22;--anatomy-dot:#2e3b52;
}
.iso-line{stroke-width:var(--lw,.8px)}
/* materials */
.glass>.iso-fill{fill:#b6c3d1}.glass>.iso-top{fill:#e4e9ef}
.glass>.iso-shade[data-shade="0"]{fill:#8d9fb4}.glass>.iso-shade[data-shade="1"]{fill:#9badc0}.glass>.iso-shade[data-shade="2"]{fill:#a9b9ca}.glass>.iso-shade[data-shade="3"]{fill:#b7c5d4}
.leaf>.iso-fill,.leaf>.iso-shade[data-shade="0"]{fill:#a3ae9e}.leaf>.iso-shade[data-shade="1"]{fill:#afb9a9}.leaf>.iso-shade[data-shade="2"]{fill:#bac3b4}.leaf>.iso-shade[data-shade="3"]{fill:#c6cec0}
.leaf>.iso-shade{stroke:none}.leaf>.iso-edge{stroke:#7e8b7a!important}
.grass>.iso-fill,.grass>.iso-top{fill:#dfe4d9}.grass>.iso-shade{fill:#d3d9cc}
.slate>.iso-fill{fill:#43526a}.slate>.iso-top{fill:#5d6d86}
.slate>.iso-shade[data-shade="0"]{fill:#34415a}.slate>.iso-shade[data-shade="1"]{fill:#3b4963}.slate>.iso-shade[data-shade="2"]{fill:#43526c}.slate>.iso-shade[data-shade="3"]{fill:#4b5b76}
.slate>.iso-line{stroke:#1d2738!important}.slate>.iso-bevel,.slate>.iso-crease{stroke:#7d8da6!important}
.gold>.iso-fill,.gold>.iso-top{fill:#e3d2ad}.gold>.iso-shade[data-shade="0"]{fill:#c2aa7c}.gold>.iso-shade[data-shade="1"]{fill:#cdb68a}.gold>.iso-shade[data-shade="2"]{fill:#d6c198}.gold>.iso-shade[data-shade="3"]{fill:#ddcaa3}
.gold>.iso-line{stroke:#8f7448!important}
.mull{fill:none;stroke:#eef2f6;stroke-width:.7px;opacity:.9;vector-effect:non-scaling-stroke}
.mull.dark{stroke:#55657b;opacity:.75}
.warm{fill:#e9cf98}
.sheen{fill:#ffffff;fill-opacity:.07}
.glassq{fill:#a9bccf;fill-opacity:.26;stroke:#55657b;stroke-width:.8px}
.heatq{fill:#d6434f}
.scrq{fill:var(--c)}
.port{fill:#2a3547}
.lightbar{fill:var(--c);filter:drop-shadow(0 0 3px var(--c))}
.water{fill:#9cc7ea;opacity:.8}
.rail{fill:none;stroke:#a98a55;stroke-width:1px;vector-effect:non-scaling-stroke}.rail.grey{stroke:#8e9aaa}
.lattice{fill:none;stroke:#6b7a8f;stroke-width:.7px;vector-effect:non-scaling-stroke}
.mark{fill:#24303f}.mark.light{fill:#e4e9f0}
.puff{fill:#ffffff;filter:blur(7px)}
/* light */
.gl path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.gl .h{stroke:var(--c);stroke-width:calc(8px * var(--w,1));opacity:.32;filter:blur(3px)}
.gl .b{stroke:var(--c);stroke-width:calc(1.8px * var(--w,1));opacity:.95}
.gl .c{stroke:#fff;stroke-width:calc(.6px * var(--w,1));opacity:.9}
.gl .p,.gl .ph{stroke-dasharray:4 200}
.gl .p{stroke:#fff;stroke-width:calc(2.2px * var(--w,1))}
.gl .ph{stroke:var(--c);stroke-width:calc(9px * var(--w,1));filter:blur(3px);opacity:.85}
.gl.redline .h{opacity:.45}
.gl.ghostline .b{stroke-dasharray:4 6;opacity:.85}
.gl.ghostline .c{display:none}.gl.ghostline .h{opacity:.15}
.gl.scan .h{stroke-width:12px;opacity:.5}
.led .h{fill:var(--c);opacity:.5;filter:blur(2.2px)}.led .b{fill:var(--c)}.led .c{fill:#fff;opacity:.9}
.holo .iso-fill,.holo .iso-shade,.holo .iso-top,.holo .tb-body,.holo .tb-shine,.holo .tb-shade{fill:#76b6ea;fill-opacity:.05}
.holo .iso-line,.holo .tb-edge,.holo 
.holo .iso-halo,.holo .led,.holo .gl,.holo .warm,.holo .sheen,.holo .scrq,.holo .puff{display:none}
.holo-dev .iso-fill,.holo-dev .iso-shade,.holo-dev .iso-top{fill-opacity:var(--holo)}
.holo-dev .iso-line{stroke:#5d9fd8!important}
.mote{fill:#9ccdf5;filter:drop-shadow(0 0 3px #76b6ea)}
.air{fill:#ffffff;filter:drop-shadow(0 0 2px #76b6ea)}
.pkt .h{fill:#76b6ea;opacity:.45;filter:blur(2.5px)}.pkt .b{fill:#fff;stroke:#5d9fd8;stroke-width:1px}
.mull.soft{stroke:#7d8da6;opacity:.6}
.streak .h{stroke:#d6434f;stroke-width:7px;opacity:.25;filter:blur(3px);stroke-linecap:round}.streak .b{stroke:#d6434f;stroke-width:1.6px;stroke-linecap:round;opacity:.85}
.absorb ellipse{fill:none;stroke-width:1.4px}.absorb .r1{stroke:#76b6ea;filter:drop-shadow(0 0 4px #76b6ea)}.absorb .r2{stroke:#d6434f;opacity:.7}.absorb .dust{fill:#d6434f;opacity:.7}
.shard .pf{fill:#cfe5f8;fill-opacity:.42;stroke:#4f8fdf;stroke-width:1.6px;filter:drop-shadow(0 0 6px #7ab6ec)}
.shard .pl{fill:none;stroke:#7ab6ec;stroke-width:.8px;opacity:.7}
.lock path{fill:#7ab6ec;fill-opacity:.25;stroke:#ffffff;stroke-width:1.6px;filter:drop-shadow(0 0 8px #7ab6ec)}
.flash{fill:#ffffff;filter:blur(3px) drop-shadow(0 0 14px #7ab6ec)}
.shock{fill:none;stroke:#7ab6ec;stroke-width:1.6px;filter:drop-shadow(0 0 5px #7ab6ec)}
.dustb circle{fill:#9ccdf5;filter:drop-shadow(0 0 3px #7ab6ec)}
.flow path{fill:none;stroke:#7ab6ec;stroke-width:1.4px;stroke-linecap:round;stroke-dasharray:10 7;filter:drop-shadow(0 0 3px #7ab6ec);opacity:.85;vector-effect:non-scaling-stroke}
.calm{fill:none;stroke:#7ab6ec;stroke-width:1.6px;filter:drop-shadow(0 0 5px #7ab6ec)}
.gauge .band{fill:none;stroke:#7ab6ec;stroke-width:14px;opacity:.28}
.spark{fill:none;stroke:#d6434f;stroke-width:1.6px;filter:drop-shadow(0 0 4px #d6434f)}
.bead{fill:#fff;stroke:#d6434f;stroke-width:2px}.bead-h{fill:#d6434f;opacity:.35;filter:blur(5px)}
.core{fill:#d6434f}.core-h{fill:#d6434f;opacity:.35;filter:blur(6px)}
.scanring{fill:none;stroke:#76b6ea;stroke-width:1.4px;filter:drop-shadow(0 0 4px #76b6ea)}
.boundary path{fill:none;stroke:#76b6ea;stroke-width:1.4px;filter:drop-shadow(0 0 4px #76b6ea)}
.boundary .fill{fill:#76b6ea;fill-opacity:.12}.boundary .rib{opacity:.5;stroke-width:.8px}
.ripple{fill:none;stroke:#76b6ea;stroke-width:1.4px;filter:drop-shadow(0 0 4px #76b6ea)}
.env .fill{fill:var(--c);fill-opacity:.07}
.env .rim{fill:none;stroke:var(--c);stroke-width:1.4px;filter:drop-shadow(0 0 5px var(--c))}
.env .lat{fill:none;stroke:var(--c);stroke-width:.8px;opacity:.45;stroke-dasharray:2 5}
.env .base{fill:none;stroke:var(--c);stroke-width:.9px;opacity:.5}


.tag circle{fill:#fff;stroke:#5d9fd8;stroke-width:1.6px}
.tag .ld{fill:none;stroke:#5d9fd8;stroke-width:1px}
.tag rect{fill:#ffffffd0;stroke:#5d9fd833;stroke-width:1px}
.tag .br{fill:none;stroke:url(#blueG);stroke-width:1.4px}
.tag text{font-family:JBM;font-size:12.5px;letter-spacing:.1em;fill:#1b2636;font-weight:500}
.tag.threat circle,.tag.threat .ld{stroke:#d6434f}.tag.threat .br{stroke:#b4343f}.tag.threat text{fill:#a62f39}.tag.threat rect{stroke:#d6434f33}
.gauge .disc{fill:#ffffffc8;stroke:#c6ced8;stroke-width:1px}
.gauge .trk{fill:none;stroke:#d8dee6;stroke-width:5px;stroke-linecap:round}
.gauge .tk{stroke:#9eabbb;stroke-width:1px}
.gauge .val{fill:none;stroke:var(--c);stroke-width:5px;stroke-linecap:round}
.gauge .val-h{fill:none;stroke:var(--c);stroke-width:12px;opacity:.3;filter:blur(4px)}
.gauge.ghost .val,.gauge.ghost .trk{stroke-dasharray:3 4}
.gauge .num{font-family:Jost;font-weight:400;font-size:30px;text-anchor:middle;fill:#172233;letter-spacing:-.02em}
.gauge .lab{font-family:JBM;font-size:10.5px;letter-spacing:.14em;text-anchor:middle;fill:var(--c)}
.gauge .lab.top{fill:#56657a}
.iso-line{stroke-width:.85px}
.xr .iso-fill,.xr .iso-top,.xr .iso-shade{fill:#e4eef8;fill-opacity:.2}
.xr .iso-edge{stroke:#7f9ec2;stroke-width:.9px}.xr .iso-crease,.xr .iso-bevel{stroke:#c3d4e6}
.xr.slab .iso-top{fill:#e1ecf7;fill-opacity:.34}.xr.slab .iso-fill,.xr.slab .iso-shade{fill:#cfdeee;fill-opacity:.3}
.xr.roof .iso-top,.xr.roof .iso-fill,.xr.roof .iso-shade{fill:#e4eef8;fill-opacity:.05}
.xr.roof .iso-edge{stroke:#9db6d3;stroke-dasharray:3 3}
.xrfloor{fill:#e9f2fa;opacity:.9}
.xr.front .iso-fill,.xr.front .iso-top,.xr.front .iso-shade{fill:#eaf2fa;fill-opacity:.28}
.xrl{fill:none;stroke:#9db6d3;stroke-width:.6px;opacity:.5;vector-effect:non-scaling-stroke}
.ctx>.iso-solid>.iso-edge,.ctx .iso-edge{stroke:#9aa8b8}.ctx .iso-crease,.ctx .iso-bevel{stroke:#d3dae2}
.dim{opacity:.55}
.road{fill:#e6eaef}.lane{fill:none;stroke:#fbfcfd;stroke-width:1.4px;stroke-dasharray:7 9;vector-effect:non-scaling-stroke}
.zebra{fill:#f7f9fb;opacity:.9}
.fiber{fill:none;stroke:#9cc6ec;stroke-width:1.1px;opacity:.75;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
.panel{fill:#eef3f8;stroke:#9aa8b8;stroke-width:.6px;vector-effect:non-scaling-stroke}