.diagram{--dg-ink:var(--ink);--dg-soft:var(--ink-soft);--dg-muted:var(--ink-muted);--dg-line:var(--border-strong);--dg-surface:var(--bg);--dg-panel:var(--bg-soft);--dg-admin:var(--navy-800);--dg-admin-bg:#eaeef5;--dg-author:var(--blue-700);--dg-author-bg:var(--blue-50);--dg-second:var(--acc-logic);--dg-second-bg:var(--acc-logic-bg);--dg-generate:var(--acc-repeat);--dg-generate-bg:var(--acc-repeat-bg);--dg-neutral:#55555a;--dg-neutral-bg:#f1f1f4;--dg-stop:var(--error);--dg-stop-bg:#fdf1f1;--dg-on-tone:#fff;margin-block:var(--sp-6);container-type:inline-size}:root[data-theme=dark] .diagram{--dg-ink:#f5f5f7;--dg-soft:#d2d2d7;--dg-muted:#a1a1a6;--dg-line:#6e6e73;--dg-surface:#1d1d1f;--dg-panel:#2a2a2d;--dg-admin:#a9bfe3;--dg-admin-bg:#1b2a44;--dg-author:#8fb4ff;--dg-author-bg:#14264d;--dg-second:#c6a6f0;--dg-second-bg:#2c1f42;--dg-generate:#5fd3b8;--dg-generate-bg:#123a31;--dg-neutral:#c7c7cc;--dg-neutral-bg:#2a2a2d;--dg-stop:#ff8a8a;--dg-stop-bg:#3a1a1a;--dg-on-tone:#101014}.diagram .tone-admin{--tone:var(--dg-admin);--tone-bg:var(--dg-admin-bg)}.diagram .tone-author{--tone:var(--dg-author);--tone-bg:var(--dg-author-bg)}.diagram .tone-second{--tone:var(--dg-second);--tone-bg:var(--dg-second-bg)}.diagram .tone-generate{--tone:var(--dg-generate);--tone-bg:var(--dg-generate-bg)}.diagram .tone-neutral{--tone:var(--dg-neutral);--tone-bg:var(--dg-neutral-bg)}.diagram .tone-stop{--tone:var(--dg-stop);--tone-bg:var(--dg-stop-bg)}.diagram .wide{display:none}.diagram .svgwrap svg{block-size:auto;inline-size:100%;font-family:var(--font-body);display:block}.diagram .dg-box{fill:var(--dg-surface);stroke:var(--tone);stroke-width:1.5px}.diagram .dg-head{fill:var(--tone)}.diagram .dg-head-text{fill:var(--dg-on-tone);font-size:18px;font-weight:700}.diagram .dg-body{fill:var(--dg-soft);font-size:14px}.diagram .dg-sub{font-size:12px}.diagram .dg-num{fill:var(--dg-on-tone);opacity:.85;font-size:14px;font-weight:700}.diagram .dg-arrow{stroke:var(--dg-line);stroke-width:2px;fill:none}.diagram .dg-arrowhead{fill:var(--dg-line)}.diagram .dg-bar{fill:var(--tone)}.diagram .dg-bar-text{fill:var(--dg-on-tone);font-size:15px;font-weight:700}.diagram .dg-cap{fill:var(--dg-muted);letter-spacing:.08em;font-size:12px;font-weight:700}.diagram .dg-lane{fill:var(--tone-bg)}.diagram .dg-lane-text{fill:var(--tone);font-size:15px;font-weight:700}.diagram .dg-gate{fill:var(--dg-stop-bg);stroke:var(--dg-stop);stroke-width:1.5px}.diagram .dg-gate-text{fill:var(--dg-stop);font-size:14px;font-weight:700}.diagram .dg-dash{stroke-dasharray:5 4}.diagram .dg-verb{fill:var(--dg-muted);font-size:13px;font-weight:600}.diagram.diagram .narrow{max-inline-size:28rem;font-size:var(--text-sm);gap:0;margin:0 auto;padding:0;list-style:none;display:grid}.diagram.diagram .narrow li{grid-template-columns:2.1rem minmax(0,1fr);column-gap:.8rem;padding-block-end:var(--sp-4);display:grid;position:relative}.diagram.diagram .narrow li:not(:last-child):before{content:"";inset-inline-start:1.02rem;background:var(--dg-line);inline-size:2px;position:absolute;top:2.1rem;bottom:0}.diagram.diagram .narrow .n{background:var(--tone);block-size:2.1rem;inline-size:2.1rem;color:var(--dg-on-tone);font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:800;display:grid}.diagram.diagram .narrow .b{border-radius:var(--r-md);background:var(--tone-bg);border-inline-start:4px solid var(--tone);min-inline-size:0;padding:.15rem .85rem .55rem}.diagram.diagram .narrow .t{color:var(--dg-ink);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;font-weight:700;display:flex}.diagram.diagram .narrow .chip{font-size:var(--text-xs);color:var(--tone);letter-spacing:.02em;font-weight:700}.diagram.diagram .narrow .chip:before{content:"· "}.diagram.diagram .narrow .x{color:var(--dg-soft);margin-top:.15rem}.diagram.diagram .narrow .gate{border-radius:var(--r-pill);border:1.5px solid var(--dg-stop);background:var(--dg-stop-bg);inline-size:fit-content;color:var(--dg-stop);font-weight:700;font-size:var(--text-xs);grid-column:2;margin:.7rem 0 .1rem;padding:.35rem .7rem}.diagram figcaption{margin-top:var(--sp-3);font-size:var(--text-sm);color:var(--ink-muted)}@container (width>=700px){.diagram .wide{display:block}.diagram.diagram .narrow,.diagram .narrow-wrap{display:none}}
