.loom-root{--loom-ground:Canvas;--loom-ink:CanvasText;--loom-soft:color-mix(in srgb, CanvasText 70%, Canvas);--loom-dim:color-mix(in srgb, CanvasText 48%, Canvas);--loom-line:color-mix(in srgb, CanvasText 16%, Canvas);--loom-mark:CanvasText;--loom-band:CanvasText;--loom-accent:Highlight;--loom-thread-opacity:.34;--loom-grid-opacity:.22;--loom-band-tint-opacity:.04;--loom-band-gutter-opacity:.2;--loom-mark-stroke:color-mix(in srgb, CanvasText 35%, transparent);--loom-casing:Canvas;--loom-casing-width:3px;--loom-numeral:Canvas;--loom-font:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--loom-label-size:10.5px;--loom-band-label-size:8.5px;color:var(--loom-soft);position:relative}.loom-scroll{overscroll-behavior-x:contain;cursor:grab;max-width:100%;overflow:auto}.loom-scroll.is-drag{cursor:grabbing;user-select:none}.loom-scroll:focus-visible{outline:2px solid var(--loom-accent);outline-offset:2px}.loom-svg{max-width:none;display:block}.loom-thread{stroke:var(--loom-ink);stroke-width:.5px;opacity:var(--loom-thread-opacity)}.loom-gridline{stroke:var(--loom-line);stroke-width:.5px;opacity:var(--loom-grid-opacity)}.loom-bandline{stroke:var(--loom-ink);opacity:.4}.loom-band-gutter{opacity:var(--loom-band-gutter-opacity)}.loom-band-gutter.is-open{opacity:1}.loom-band-tint{opacity:var(--loom-band-tint-opacity)}.loom-band-label{font-family:var(--loom-font);font-size:var(--loom-band-label-size);letter-spacing:.14em;text-transform:uppercase}.loom-rlabel,.loom-clabel{font-family:var(--loom-font);font-size:var(--loom-label-size);letter-spacing:.02em;fill:var(--loom-soft)}.loom-rlabel.is-group,.loom-clabel.is-group{text-transform:uppercase;letter-spacing:.12em;fill:var(--loom-dim)}.loom-rlabel.lit,.loom-clabel.lit{fill:var(--loom-ink);paint-order:stroke fill;stroke:var(--loom-casing);stroke-width:2.6px;stroke-linejoin:round;font-weight:700}.loom-mark{stroke:var(--loom-mark-stroke);stroke-width:.8px;transition:none}.loom-casing{fill:none;stroke:var(--loom-casing);stroke-width:var(--loom-casing-width)}.loom-halo{stroke-width:1px;stroke-dasharray:3 2;stroke-opacity:.75}.loom-numeral{font-family:var(--loom-font);fill:var(--loom-numeral);pointer-events:none;font-weight:700}.loom-spark-base{stroke:var(--loom-line);stroke-width:.6px}.loom-cell-g.lit .loom-mark{stroke:var(--loom-ink);stroke-width:1.2px}.loom-margin-bar{opacity:.85}.loom-margin-cap{font-family:var(--loom-font);letter-spacing:.14em;text-transform:uppercase;fill:var(--loom-dim);font-size:8.5px}.loom-glow{pointer-events:none}.loom-crosshair{stroke-width:1px;stroke-dasharray:2 3;pointer-events:none}.loom-hit{cursor:crosshair;outline:none}.loom-hit:focus-visible{stroke:var(--loom-accent);stroke-width:2px}.loom-hit.is-group{cursor:zoom-in}.loom-root.is-opened .loom-hit:not(.is-group){cursor:zoom-out}.is-toggle{cursor:zoom-in}.is-toggle[aria-expanded=true]{cursor:zoom-out}.is-toggle:focus-visible{paint-order:stroke fill;stroke:var(--loom-accent);stroke-width:3px;stroke-linejoin:round;outline:none}.loom-rlabel.is-toggle:hover,.loom-clabel.is-toggle:hover{fill:var(--loom-ink)}.loom-band-gutter.is-toggle:hover{opacity:1}.loom-shut-zone{cursor:zoom-out}.loom-band-tint{pointer-events:none}.loom-reading{font-family:var(--loom-font);min-height:3.4em;font-size:.8rem}.loom-sentence{color:var(--loom-ink);margin:0 0 .3rem;font-family:inherit;font-size:1.05em}.loom-verb{font-style:italic}.loom-self{color:var(--loom-dim)}.loom-cue{color:var(--loom-cue-colour,var(--loom-ink));text-transform:uppercase;letter-spacing:.1em;font-size:.9em}.loom-reading-meta{color:var(--loom-dim);flex-wrap:wrap;gap:.2rem .9rem;margin:0;font-size:.86em;display:flex}.loom-dist{align-items:center;gap:.3em;display:inline-flex}.loom-dist i{width:.62em;height:.62em;display:inline-block}.loom-controls{font-family:var(--loom-font);flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;font-size:.7rem;display:flex}.loom-chips{flex-wrap:wrap;gap:.28rem;display:flex}.loom-chip{border:1px solid var(--loom-line);color:var(--loom-dim);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:.35em;padding:.3em .6em;display:inline-flex}.loom-chip i{background:var(--chip);opacity:.35;width:.66em;height:.66em}.loom-chip.is-on{color:var(--loom-ink);border-color:var(--loom-ink)}.loom-chip.is-on i{opacity:1}.loom-threshold{flex-direction:column;gap:.2rem;min-width:16rem;display:flex}.loom-threshold label{color:var(--loom-dim);text-transform:uppercase;letter-spacing:.1em}.loom-threshold output{color:var(--loom-ink);font-weight:700}.loom-threshold input{accent-color:var(--loom-accent);width:100%}.loom-hint{color:var(--loom-dim);opacity:.8}.loom-detail{align-items:center;gap:.5rem;display:flex}.loom-opt{cursor:pointer;align-items:center;gap:.25em;display:inline-flex}.loom-opt input{accent-color:var(--loom-accent)}.loom-presets{gap:.3rem;display:flex}.loom-preset,.loom-reset{border:1px solid var(--loom-line);color:var(--loom-dim);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.3em .6em}.loom-preset.is-sel{color:var(--loom-ink);border-color:var(--loom-ink)}.loom-preset:hover,.loom-reset:hover,.loom-chip:hover{color:var(--loom-ink)}.loom-legend{font-family:var(--loom-font);font-size:.68rem}.loom-legend-title{letter-spacing:.14em;text-transform:uppercase;color:var(--loom-dim);margin:0 0 .4rem}.loom-legend ul{flex-wrap:wrap;gap:.3rem 1rem;margin:0;padding:0;list-style:none;display:flex}.loom-legend li{color:var(--loom-soft);align-items:center;gap:.4em;display:inline-flex}.loom-swatch{width:.7em;height:.7em;display:inline-block}.loom-legend-verb{color:var(--loom-dim);font-style:italic}.loom-hovercard.is-interactive{pointer-events:auto}.loom-hovercard{pointer-events:none;z-index:60;overscroll-behavior:contain;background:var(--loom-card-bg,Canvas);max-width:30rem;max-height:60vh;color:var(--loom-card-ink,CanvasText);border:1px solid var(--loom-card-line,CanvasText);font-family:var(--loom-font);padding:.85rem 1rem .9rem;font-size:.7rem;line-height:1.5;position:fixed;overflow-y:auto}.loom-hovercard[hidden]{display:none}.loom-hovercard :is(h1,h2,h3,p,ul){margin:0 0 .45rem}.loom-hovercard ul{padding:0;list-style:none}.loom-hovercard li{border-top:1px solid var(--loom-card-line,CanvasText);margin-top:.35rem;padding-top:.35rem}@media (prefers-reduced-motion:reduce){.loom-root *,.loom-hovercard *{transition:none!important;animation:none!important}}@media (forced-colors:active){.loom-band-tint,.loom-band-gutter,.loom-glow{display:none}.loom-mark{stroke:canvastext;stroke-width:1px}.loom-crosshair{stroke:highlight}}
