:root{--gb-micro:64px;--gb-macro:128px;--gb-y:0px;--gb-y2:0px;--gb-x-band:0px;--gb-edge-noise:linear-gradient(#000,#000);--gb-line-minor:color-mix(in srgb,var(--color-rule) 3.5%,transparent);--gb-line-minor-joint:color-mix(in srgb,var(--color-rule) 13%,transparent);--gb-line-major:color-mix(in srgb,var(--color-rule) 4.5%,transparent);--gb-line-major-joint:color-mix(in srgb,var(--color-rule) 16%,transparent)}.gb-grid-major,.gb-grid-minor{background:none}.gb-grid-major:after,.gb-grid-major:before,.gb-grid-minor:after,.gb-grid-minor:before{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:repeat;-webkit-mask-repeat:repeat;mask-repeat:repeat}.gb-grid-minor:before{background-image:linear-gradient(to bottom,var(--gb-line-minor-joint) 0,var(--gb-line-minor) 26%,var(--gb-line-minor) 74%,var(--gb-line-minor-joint) 100%);-webkit-mask-image:linear-gradient(90deg,#000 0 1px,transparent 1px);mask-image:linear-gradient(90deg,#000 0 1px,transparent 1px)}.gb-grid-minor:after,.gb-grid-minor:before{background-size:var(--gb-micro) var(--gb-micro);-webkit-mask-size:var(--gb-micro) var(--gb-micro);mask-size:var(--gb-micro) var(--gb-micro)}.gb-grid-minor:after{background-image:linear-gradient(to right,var(--gb-line-minor-joint) 0,var(--gb-line-minor) 26%,var(--gb-line-minor) 74%,var(--gb-line-minor-joint) 100%);-webkit-mask-image:linear-gradient(180deg,#000 0 1px,transparent 1px);mask-image:linear-gradient(180deg,#000 0 1px,transparent 1px)}.gb-grid-major:before{background-image:linear-gradient(to bottom,var(--gb-line-major-joint) 0,var(--gb-line-major) 26%,var(--gb-line-major) 74%,var(--gb-line-major-joint) 100%);-webkit-mask-image:linear-gradient(90deg,#000 0 1px,transparent 1px);mask-image:linear-gradient(90deg,#000 0 1px,transparent 1px)}.gb-grid-major:after,.gb-grid-major:before{background-size:var(--gb-macro) var(--gb-macro);-webkit-mask-size:var(--gb-macro) var(--gb-macro);mask-size:var(--gb-macro) var(--gb-macro)}.gb-grid-major:after{background-image:linear-gradient(to right,var(--gb-line-major-joint) 0,var(--gb-line-major) 26%,var(--gb-line-major) 74%,var(--gb-line-major-joint) 100%);-webkit-mask-image:linear-gradient(180deg,#000 0 1px,transparent 1px);mask-image:linear-gradient(180deg,#000 0 1px,transparent 1px)}.gb-layer-minor{right:var(--gb-band-inset-right);left:var(--gb-band-inset);width:auto}.gb-layer-minor:after,.gb-layer-minor:before{background-position:var(--gb-x-band) var(--gb-y);-webkit-mask-position:var(--gb-x-band) var(--gb-y);mask-position:var(--gb-x-band) var(--gb-y)}.gb-layer-major:after,.gb-layer-major:before{background-position:var(--gb-x2) var(--gb-y2);-webkit-mask-position:var(--gb-x2) var(--gb-y2);mask-position:var(--gb-x2) var(--gb-y2)}.gb-root{position:absolute;inset:0}.gb-fade-bottom{height:calc(.72 * var(--navbar-height))}.gb-fade-bottom,.gb-fade-edges,.gb-field,.gb-layer,.gb-veil{opacity:0}.gb-root[data-gb-ready] .gb-fade-bottom,.gb-root[data-gb-ready] .gb-fade-edges,.gb-root[data-gb-ready] .gb-field,.gb-root[data-gb-ready] .gb-layer,.gb-root[data-gb-ready] .gb-veil{opacity:1}.gb-fade-edges{inset:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--color-paper) 70%,transparent) 0,color-mix(in srgb,var(--color-paper) 35%,transparent) var(--gb-fade),transparent var(--gb-fade-end)),linear-gradient(to left,color-mix(in srgb,var(--color-paper) 70%,transparent) 0,color-mix(in srgb,var(--color-paper) 35%,transparent) var(--gb-fade),transparent var(--gb-fade-end));background-repeat:no-repeat;background-position:0 0,100% 0;background-size:var(--gb-fade-end) 100%,var(--gb-fade-end) 100%;-webkit-mask-image:var(--gb-edge-noise,linear-gradient(#000,#000));mask-image:var(--gb-edge-noise,linear-gradient(#000,#000));-webkit-mask-size:100% calc(16 * var(--gb-micro));mask-size:100% calc(16 * var(--gb-micro));-webkit-mask-repeat:repeat-y;mask-repeat:repeat-y}.gb-root.is-offscreen .gb-dot,.gb-root.is-offscreen .gb-packet,.gb-root.is-offscreen .gb-stroke,.gb-root.is-scrolling .gb-dot,.gb-root.is-scrolling .gb-packet,.gb-root.is-scrolling .gb-stroke{animation-play-state:paused}.gb-dot{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-dasharray:100;--gb-dot-draw:280ms;--gb-dot-delay:0ms;animation:gb-trace-in var(--gb-dot-draw) cubic-bezier(.4,0,.2,1) var(--gb-dot-delay) both,gb-trace-out var(--gb-erase) cubic-bezier(.6,0,.4,1) var(--gb-erase-delay) forwards}.gb-dot.is-end{--gb-dot-delay:max(0ms,calc(var(--gb-draw) - var(--gb-dot-draw)))}