.netScreen{--scr-ground: var(--paper);--scr-ground-2: var(--paper);--scr-soft: color-mix(in srgb, var(--paper) 90%, var(--ink));--scr-raise: color-mix(in srgb, var(--paper) 78%, var(--ink));--scr-hair: color-mix(in srgb, var(--paper) 70%, var(--ink));--scr-disc: var(--paper);--scr-ink: var(--ink);--scr-body: var(--ink-2);--scr-body-strong: color-mix(in srgb, var(--ink) 88%, var(--paper));--scr-mute: var(--ink-3);--scr-law: color-mix(in srgb, var(--ink) 72%, var(--paper));--scr-def: color-mix(in srgb, var(--ink) 62%, var(--paper));--scr-hot: var(--ink);--scr-warn: var(--warn-ink);--scr-warn-bg: var(--warn-bg);--scr-warn-bd: var(--warn-bd);--scr-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--scr-sans: var(--font-ui);--scr-serif: var(--font-song);--scr-r-sm: 0;--scr-r-md: 0;--scr-ease: var(--ease);--scr-quick: .15s;--scr-base: .26s;--scr-enter: .34s;--scr-slow: .45s;--scr-amb: 5.5s;position:relative;flex:1 1 auto;min-height:420px;overflow:hidden;background:var(--paper)}.netScreen #netStage{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.netScreen #netStage.grabbing{cursor:grabbing}.netScreen svg *{transition:opacity var(--scr-base) var(--scr-ease),fill var(--scr-base) var(--scr-ease),stroke var(--scr-base) var(--scr-ease),stroke-width var(--scr-base) var(--scr-ease),stroke-opacity var(--scr-base) var(--scr-ease),transform var(--scr-base) var(--scr-ease),x1 var(--scr-base) var(--scr-ease),y1 var(--scr-base) var(--scr-ease),x2 var(--scr-base) var(--scr-ease),y2 var(--scr-base) var(--scr-ease)}.netScreen #netCam{transform-origin:0 0;transition:none}.netScreen.anim #cam{transition:transform .28s var(--scr-ease)}.netScreen.sim #cam{transition:none}.netScreen.scene svg *{transition-duration:var(--scr-slow)}.netScreen.sim svg *{transition:none!important}.netScreen.hovering svg *{transition-duration:var(--scr-quick)}.netScreen .edge.law{stroke-width:1.3;stroke-opacity:.8}.netScreen .edge.def{stroke-width:1;stroke-dasharray:4 4;stroke-opacity:.78}.netScreen .edge.dim{opacity:.25}.netScreen .edge.hot{stroke:var(--scr-hot);stroke-width:2;stroke-opacity:1}.netScreen .edge.hot.def{stroke-dasharray:5 4}.netScreen .elabel{font-family:var(--scr-serif);fill:var(--scr-body);transition:opacity .18s}.netScreen .elabel.quiet{fill:var(--scr-mute)}.netScreen .elabel.hot{fill:var(--scr-ink)}.netScreen .elabel.dim{opacity:.25}.netScreen .elabel .cnt{font-family:var(--scr-sans);font-size:9.5px;fill:var(--scr-mute)}.netScreen .node{cursor:pointer}.netScreen .node .disc{fill:var(--scr-disc);fill-opacity:1;stroke-width:1.4}.netScreen .node .halo{fill:none;stroke:var(--scr-ink);opacity:0;stroke-width:1;transition:opacity .18s}.netScreen .node:hover .halo{opacity:.5}.netScreen .node .symbol{font-family:var(--scr-serif);font-style:italic;text-anchor:middle;dominant-baseline:central;fill:var(--scr-ink);pointer-events:none;transition:opacity .18s}.netScreen .node .anch{font-size:10px;fill:var(--scr-mute);font-family:var(--scr-sans);text-anchor:middle;pointer-events:none;transition:opacity .18s;letter-spacing:.02em;opacity:0}.netScreen .node:hover .anch,.netScreen .node:focus-within .anch{opacity:1}.netScreen .node.dim{opacity:.3}.netScreen .node.path .disc{stroke-width:2.2}.netScreen .node.center .disc{fill:var(--scr-ink);stroke:var(--scr-ink)}.netScreen .node.center .symbol{fill:var(--scr-ground);font-weight:400}.netScreen #netHoverRule{stroke:var(--scr-hair)}.netScreen #netHoverLine{font-family:var(--scr-sans);font-size:12px;fill:var(--scr-ink);text-anchor:middle;pointer-events:none}.netScreen #netHoverLine .need{fill:var(--scr-warn)}.netScreen svg rect{rx:0}.netScreen[data-mode=bone] .edge.def{stroke-opacity:.04!important}.netScreen[data-mode=bone] .edge.law{stroke:var(--scr-ink);stroke-width:1.5;stroke-opacity:.9}.netScreen[data-mode=bone] .elabel{opacity:.4}.netScreen #hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;transition:opacity var(--scr-enter) var(--scr-ease);max-width:540px}.netScreen #hint .big{font-family:var(--scr-serif);font-size:20px;font-weight:400;letter-spacing:.1em;color:var(--scr-mute)}.netScreen #hint.gone{opacity:0}.netScreen #miniLegend{position:absolute;left:0;bottom:0;padding:0 0 4px var(--s-4);font-size:11.5px;color:var(--scr-mute);display:flex;gap:14px;align-items:center}.netScreen #miniLegend .item{display:flex;align-items:center;gap:6px;white-space:nowrap}.netScreen #miniLegend .cap{color:var(--scr-mute)}.netScreen #zoomChip{position:absolute;right:var(--s-4);top:10px;font-family:var(--scr-mono);font-size:11.5px;color:var(--scr-ink);min-width:44px;text-align:right;opacity:0;transform:translateY(-2px);transition:opacity var(--scr-quick) var(--scr-ease),transform var(--scr-quick) var(--scr-ease);font-variant-numeric:tabular-nums}.netScreen #zoomChip.show{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.netScreen svg *{transition-duration:1ms!important}}.netScreen #arwLaw path{fill:var(--scr-law)}.netScreen #arwDef path{fill:var(--scr-def)}.netScreen #arwHot path{fill:var(--scr-hot)}.netScreen #miniLegend .lg-law line{stroke:var(--scr-law);stroke-width:1.6}.netScreen #miniLegend .lg-def line{stroke:var(--scr-def);stroke-width:1.2;stroke-dasharray:4 3}#app[data-mode=fuse] .netScreen{flex:0 0 auto;height:clamp(200px,30vh,320px);min-height:0}#app[data-mode=fuse] #miniLegend{display:none}#fuseLayer text{paint-order:stroke}
