.tug{--tug-bg:#f7f5f0;--tug-panel:#fff;--tug-ink:#1f1d1a;--tug-muted:#6b665d;--tug-line:#9a948a;--tug-rule:#9a948a;--tug-link:#2f5d8a;--tug-on:#2f5d8a;--tug-on-ink:#fff;--tug-accent:#c0392b;--tug-grid-minor:#e6e8e3;--tug-grid-major:#dadfdc;--tug-font:system-ui, sans-serif;--tug-radius:6px;--tug-radius-sm:4px;--tug-radius-pill:10px;--tug-overlay-shadow:-4px 0 16px #0003;--tug-node-unit:#5a8fca;--tug-node-source:#d57e36;--tug-node-ink:#1f1d1a;--tug-sys-s:62%;--tug-sys-l:44%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--tug-d-bg:#16171a;--tug-d-panel:#202226;--tug-d-ink:#e8e6e1;--tug-d-muted:#9a968e;--tug-d-line:#6c6a66;--tug-d-rule:#6c6a66;--tug-d-link:#7fb0e0;--tug-d-on:#7fb0e0;--tug-d-on-ink:#16171a;--tug-d-accent:#f07366;--tug-d-grid-minor:#1e2023;--tug-d-grid-major:#2a2d33;--tug-d-node-unit:#7fb0e0;--tug-d-node-source:#e0975a;--tug-d-node-ink:#16171a;--tug-d-sys-s:60%;--tug-d-sys-l:64%}@media(prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .tug{--tug-bg:var(--tug-d-bg);--tug-panel:var(--tug-d-panel);--tug-ink:var(--tug-d-ink);--tug-muted:var(--tug-d-muted);--tug-line:var(--tug-d-line);--tug-rule:var(--tug-d-rule);--tug-link:var(--tug-d-link);--tug-on:var(--tug-d-on);--tug-on-ink:var(--tug-d-on-ink);--tug-accent:var(--tug-d-accent);--tug-grid-minor:var(--tug-d-grid-minor);--tug-grid-major:var(--tug-d-grid-major);--tug-node-unit:var(--tug-d-node-unit);--tug-node-source:var(--tug-d-node-source);--tug-node-ink:var(--tug-d-node-ink);--tug-sys-s:var(--tug-d-sys-s);--tug-sys-l:var(--tug-d-sys-l);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:where(:root[data-theme=dark]) .tug{--tug-bg:var(--tug-d-bg);--tug-panel:var(--tug-d-panel);--tug-ink:var(--tug-d-ink);--tug-muted:var(--tug-d-muted);--tug-line:var(--tug-d-line);--tug-rule:var(--tug-d-rule);--tug-link:var(--tug-d-link);--tug-on:var(--tug-d-on);--tug-on-ink:var(--tug-d-on-ink);--tug-accent:var(--tug-d-accent);--tug-grid-minor:var(--tug-d-grid-minor);--tug-grid-major:var(--tug-d-grid-major);--tug-node-unit:var(--tug-d-node-unit);--tug-node-source:var(--tug-d-node-source);--tug-node-ink:var(--tug-d-node-ink);--tug-sys-s:var(--tug-d-sys-s);--tug-sys-l:var(--tug-d-sys-l);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.tug,.tug *,.tug :before,.tug :after{box-sizing:border-box}.tug{background:var(--tug-bg);height:100%;color:var(--tug-ink);font:15px/1.45 var(--tug-font);display:flex;position:relative;overflow:hidden;container:tug/inline-size}.tug a{background:0 0}.tug .stage{flex:1;min-width:0;position:relative}.tug .graph{cursor:grab;background-color:var(--tug-bg);background-image:linear-gradient(var(--tug-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--tug-grid-major) 1px,transparent 1px),linear-gradient(var(--tug-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--tug-grid-minor) 1px,transparent 1px);background-size:100px 100px,100px 100px,20px 20px,20px 20px;width:100%;height:100%;display:block}.tug .graph:active{cursor:grabbing}.tug .link path{fill:none;stroke:var(--tug-line);stroke-width:1.4px}.tug .link.approx path{stroke-dasharray:9 3 2 3;opacity:.8}.tug .world.lines-hidden .link{visibility:hidden}.tug .link .value{fill:var(--tug-muted);text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:var(--tug-bg);stroke-width:4px;font-size:11px}.tug .arrowhead{fill:var(--tug-line)}.tug .arrowhead.open{fill:none;stroke:var(--tug-line);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.tug .node{cursor:pointer}.tug .node.unit .shape{fill:var(--tug-node-unit)}.tug .node.source .shape{fill:var(--tug-node-source)}.tug .node .marks path{fill:none;stroke:hsl(var(--h) var(--tug-sys-s) var(--tug-sys-l));stroke-width:3.5px;stroke-linecap:round}.tug .node .ring{fill:var(--tug-bg);stroke:var(--tug-node-source);stroke-width:1.5px}.tug .node text,.tug .node tspan{fill:var(--tug-node-ink);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:12px;font-weight:500}.tug .node:focus-visible{outline:none}.tug .node .pin{display:none}.tug .node.pinned .pin{display:inline}.tug .node .pin circle{fill:var(--tug-panel);stroke:var(--tug-line);stroke-width:1px}.tug .node .pin use{fill:none;stroke:var(--tug-muted);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.tug .node:focus-visible .shape,.tug .node.selected .shape{stroke:var(--tug-accent);stroke-width:3px}.tug .axis{pointer-events:none;opacity:.8}.tug .axis line{stroke:var(--tug-muted);stroke-width:1px}.tug .axis .spine{opacity:.5}.tug .axis .minor{opacity:.6}.tug .axis .row{stroke-dasharray:2 6;opacity:.45}.tug .axis text{fill:var(--tug-muted);dominant-baseline:middle;paint-order:stroke;stroke:var(--tug-bg);stroke-width:3px;font-size:12px}.tug .axis .note{font-size:11px;font-style:italic}.tug .axis .exp{font-size:10px}.tug .axis .gap{fill:var(--tug-bg)}.tug .axis .break{fill:none;stroke:var(--tug-muted);stroke-width:1.2px}.tug .dim{opacity:.18}.tug .node{touch-action:none}.tug .sidebar-toggle{width:36px;height:36px;color:var(--tug-ink);background:var(--tug-panel);border:1px solid var(--tug-rule);border-radius:var(--tug-radius);cursor:pointer;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.tug .sidebar-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:20px;height:20px}.tug .sidebar-toggle:focus-visible{outline:2px solid var(--tug-accent);outline-offset:2px}.tug .sidebar-head .sidebar-toggle{background:0 0;border-color:#0000;position:static}.tug .sidebar-head .sidebar-toggle:hover{border-color:var(--tug-rule)}.tug .sidebar-head{border-bottom:1px solid var(--tug-rule);align-items:center;gap:6px;margin:-6px 0 14px -8px;display:flex}.tug .tabs{align-self:stretch;gap:2px;display:flex}.tug .tabs [role=tab]{font:inherit;color:var(--tug-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 10px;font-size:.9rem}.tug .tabs [role=tab]:hover{color:var(--tug-ink)}.tug .tabs [role=tab][aria-selected=true]{color:var(--tug-ink);border-bottom-color:var(--tug-accent)}.tug .tabs [role=tab]:focus-visible{outline:2px solid var(--tug-accent);outline-offset:-2px}.tug .sidebar [role=tabpanel][hidden]{display:none}.tug .sidebar{background:var(--tug-panel);border-left:1px solid var(--tug-rule);flex:none;width:340px;padding:16px 18px;position:relative;overflow-y:auto}.tug .sidebar[hidden]{display:none}.tug .sidebar h2{margin:0 0 2px;font-size:1.2rem}.tug .sidebar h3{text-transform:uppercase;letter-spacing:.05em;color:var(--tug-muted);margin:14px 0 4px;font-size:.8rem}.tug .sidebar section>h3:first-child{margin-top:0}.tug .sidebar .kind{color:var(--tug-muted);margin:0 0 8px;font-size:.9rem}.tug .sidebar .empty,.tug .sidebar .hint{color:var(--tug-muted);margin:0 0 6px;font-size:.9rem}.tug .sidebar ul{margin:0;padding:0;list-style:none}.tug .sidebar li{margin:3px 0}.tug .sidebar small{color:var(--tug-muted);display:block}.tug .sidebar li button,.tug .sidebar .clear{font:inherit;color:var(--tug-link);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.tug .sidebar .clear{margin-top:6px;font-size:.9rem}.tug .sidebar .clear[hidden]{display:none}.tug .systems li{align-items:baseline;gap:6px;display:flex}.tug .systems label{cursor:pointer;flex:1;align-items:baseline;gap:6px;display:flex}.tug .swatch{background:hsl(var(--h) var(--tug-sys-s) var(--tug-sys-l));border-radius:50%;flex:none;align-self:center;width:9px;height:9px;display:inline-block}.tug .sidebar .kind .system{font:inherit;color:inherit;border-radius:var(--tug-radius-pill);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.tug .sidebar .kind .system:hover{border-color:var(--tug-rule);color:var(--tug-ink)}.tug .sidebar .kind .system[aria-pressed=true]{border-color:var(--tug-accent);color:var(--tug-ink)}.tug .sidebar .kind .system:focus-visible{outline:2px solid var(--tug-accent);outline-offset:1px}.tug .sidebar .kind .wiki{margin:0 4px 0 2px}.tug .wiki{color:var(--tug-muted);font-size:.85rem;text-decoration:none}.tug .wiki:hover,.tug .wiki:focus-visible{color:var(--tug-link)}.tug .sidebar .light{border:1px solid var(--tug-rule);border-radius:var(--tug-radius);flex-wrap:wrap;gap:4px 14px;margin:0 0 10px;padding:4px 8px 6px;font-size:.85rem;display:flex}.tug .sidebar .light legend{text-transform:uppercase;letter-spacing:.05em;color:var(--tug-muted);padding:0 4px;font-size:.75rem}.tug .sidebar .light label{cursor:pointer;align-items:center;gap:5px;display:flex}.tug .sidebar .light input{accent-color:var(--tug-on);margin:0}.tug .sidebar li>.swatch{vertical-align:1px;cursor:help;margin-right:4px}.tug .systems label small{margin-left:auto;display:inline}.tug .systems input{accent-color:var(--tug-on)}.tug .systems li{border-left:3px solid #0000;padding-left:6px}.tug .systems li.marked{border-left-color:var(--tug-accent);font-weight:600}.tug .systems .here{color:var(--tug-muted);font-size:.72rem;font-weight:400;display:none}.tug .systems li.marked .here{display:inline}.tug .seg{border:none;margin:0;padding:0;font-size:.8rem}.tug .seg legend,.tug .seg .caption{float:left;border-radius:var(--tug-radius-sm);background:var(--tug-bg);text-transform:uppercase;letter-spacing:.05em;color:var(--tug-muted);margin-bottom:3px;padding:1px 6px;font-size:.68rem}.tug .seg .options{clear:both;background:var(--tug-panel);border:1px solid var(--tug-rule);border-radius:var(--tug-radius);gap:2px;padding:2px;display:flex}.tug .seg label{border-radius:var(--tug-radius-sm);cursor:pointer;color:var(--tug-muted);padding:2px 8px;position:relative}.tug .seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.tug .seg label:has(input:checked){background:var(--tug-on);color:var(--tug-on-ink)}.tug .seg label:has(input:focus-visible){outline:2px solid var(--tug-accent);outline-offset:1px}.tug .corner.top-left{pointer-events:none;flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:60px}.tug .corner.top-left>*{pointer-events:auto}.tug .corner.bottom{pointer-events:none;flex-wrap:wrap;align-items:flex-end;gap:8px 16px;display:flex;position:absolute;bottom:12px;left:16px;right:12px}.tug .corner.bottom>*{pointer-events:auto}.tug .seg.motion{font-size:.72rem}.tug .corner.bottom .themer,.tug .corner.bottom .legend+.seg.motion{margin-left:auto}.tug button.icon{width:28px;height:28px;color:var(--tug-muted);background:var(--tug-panel);border:1px solid var(--tug-rule);border-radius:var(--tug-radius);cursor:pointer;place-items:center;padding:0;display:grid}.tug button.icon:hover{color:var(--tug-ink)}.tug button.icon:focus-visible{outline:2px solid var(--tug-accent);outline-offset:2px}.tug button.icon[hidden],.tug .themer[hidden]{display:none}.tug .themer{background:var(--tug-panel);border:1px solid var(--tug-rule);border-radius:var(--tug-radius);align-self:flex-end;gap:2px;padding:2px;display:flex}.tug .themer button{font:inherit;color:var(--tug-muted);border-radius:var(--tug-radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:3px 6px;font-size:.72rem;display:flex}.tug .themer button:hover{color:var(--tug-ink)}.tug .themer button[aria-pressed=true]{background:var(--tug-on);color:var(--tug-on-ink)}.tug .themer button:focus-visible{outline:2px solid var(--tug-accent);outline-offset:1px}.tug .themer svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;stroke-linejoin:miter;width:13px;height:13px}.tug button.icon svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round;width:16px;height:16px}.tug .seg .caption{width:fit-content;display:block}.tug .seg.motion legend{float:right}.tug .seg.reset .options button{font:inherit;color:var(--tug-ink);border-radius:var(--tug-radius-sm);cursor:pointer;background:0 0;border:none;padding:2px 8px}.tug .seg.reset .options button:hover{background:var(--tug-grid-major)}.tug .seg.reset .options button:focus-visible{outline:2px solid var(--tug-accent);outline-offset:1px}@container tug (width<=640px){.tug .sidebar{width:min(340px,100% - 48px);box-shadow:var(--tug-overlay-shadow);position:absolute;top:0;bottom:0;right:0}}.tug .legend{border-radius:var(--tug-radius-sm);background:var(--tug-bg);color:var(--tug-muted);flex-wrap:wrap;gap:4px 14px;margin:0;padding:2px 8px;font-size:.8rem;display:flex}.tug .key:before{content:"";vertical-align:middle;margin-right:6px;display:inline-block}.tug .key.source:before{background:var(--tug-node-source);width:9px;height:9px;box-shadow:0 0 0 1.5px var(--tug-bg),0 0 0 3px var(--tug-node-source);border-radius:50%;margin-left:3px}.tug .key.unit:before{background:var(--tug-node-unit);border-radius:50%;width:12px;height:12px}.tug .key.derived:before{border-top:1.5px solid var(--tug-line);width:18px}.tug .key.approx:before{background:repeating-linear-gradient(90deg,var(--tug-line) 0 6px,transparent 6px 8px,var(--tug-line) 8px 9px,transparent 9px 11px);width:18px;height:1.5px}
