:root{--paper:#e9edf1;--sheet:#f7f8fa;--ink:#18202b;--ink-soft:#5b6673;--ink-faint:#97a1ad;--rule:#dde2e8;--uses:#2457d6;--used-by:#b46a00;--error:#b3261e;--plot-1:#2457d6;--plot-2:#b46a00;--plot-3:#0e8a72;--plot-4:#b3367a;--plot-5:#6a4fd3;--plot-6:#18202b;--font-math:"Martian Mono", ui-monospace, "Cascadia Mono", Menlo, monospace;--font-ui:"Instrument Sans", system-ui, sans-serif;--line-height:2.5rem;--gutter:3.5rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0e1217;--sheet:#141920;--ink:#e3e8ee;--ink-soft:#9aa5b2;--ink-faint:#5d6774;--rule:#222a34;--uses:#77a2ff;--used-by:#f0a63a;--error:#ff7b72;--plot-1:#77a2ff;--plot-2:#f0a63a;--plot-3:#3cc7a6;--plot-4:#f07ab8;--plot-5:#a897ff;--plot-6:#e3e8ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#0e1217;--sheet:#141920;--ink:#e3e8ee;--ink-soft:#9aa5b2;--ink-faint:#5d6774;--rule:#222a34;--uses:#77a2ff;--used-by:#f0a63a;--error:#ff7b72;--plot-1:#77a2ff;--plot-2:#f0a63a;--plot-3:#3cc7a6;--plot-4:#f07ab8;--plot-5:#a897ff;--plot-6:#e3e8ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}button,input{font:inherit}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:var(--font-math)}:focus-visible{outline:2px solid var(--uses);outline-offset:2px}.graph-page{flex:1;grid-template-columns:20rem 1fr;min-height:0;display:grid}.graph-panel{border-right:1px solid var(--rule);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.fn-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.fn-row{background:var(--sheet);border:1px solid var(--rule);border-radius:6px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.5rem;padding:.4rem .4rem .4rem .6rem;display:grid}.fn-row:focus-within{border-color:var(--ink-faint)}.fn-swatch{cursor:pointer;border:none;border-radius:50%;width:.9rem;height:.9rem;padding:0}.fn-prefix{font-family:var(--font-math);color:var(--ink-faint);font-size:.85rem}.fn-input{min-width:0;color:var(--ink);font-family:var(--font-math);background:0 0;border:none;padding:.35rem 0;font-size:.9rem;font-weight:600}.fn-input:focus{outline:none}.fn-input::placeholder{color:var(--ink-faint);font-weight:400}.fn-remove{width:1.75rem;height:1.75rem;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;font-size:1.1rem;line-height:1}.fn-remove:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.fn-error{color:var(--error);grid-column:3/-1;margin:0;font-size:.8rem}.fn-add{border:1px dashed var(--ink-faint);color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:.5rem .9rem;font-size:.85rem}.fn-add:hover{color:var(--ink);border-color:var(--ink-soft)}.graph-canvas{min-height:0;position:relative;overflow:hidden}.graph-canvas canvas{position:absolute;inset:0}@media (width<=48rem){.graph-page{grid-template-rows:auto minmax(22rem,1fr);grid-template-columns:1fr}.graph-panel{border-right:none;border-bottom:1px solid var(--rule);padding:1rem}}.app{flex-direction:column;min-height:100dvh;display:flex}.site-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;height:3.5rem;padding:0 1.5rem;display:flex}.wordmark{font-family:var(--font-math);letter-spacing:-.03em;color:var(--ink);font-size:1.05rem;font-weight:750;font-stretch:112.5%;text-decoration:none}.wordmark span{color:var(--ink-soft);font-weight:300}.site-header nav{gap:1.5rem;font-size:.9rem;display:flex}.site-header nav a{color:var(--ink-soft);border-bottom:2px solid #0000;padding:.25rem 0;text-decoration:none}.site-header nav a:hover{color:var(--ink)}.site-header nav a.active{color:var(--ink);border-bottom-color:var(--uses)}.notebook-page{flex-direction:column;flex:1;width:100%;max-width:68rem;margin:0 auto;padding:2rem 1.5rem 0;display:flex}.notebook-sheet{background:var(--sheet);border:1px solid var(--rule);border-bottom:none;border-radius:6px 6px 0 0;flex-direction:column;flex:1;display:flex}.notebook-legend{background:var(--paper);border-top:1px solid var(--rule);color:var(--ink-soft);flex-wrap:wrap;gap:.5rem 1.5rem;padding:.75rem 1rem;font-size:.8rem;display:flex;position:sticky;bottom:0}.notebook-legend code{color:var(--ink);margin-right:.25rem;font-weight:600}.notebook-legend__wires{align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.swatch{border-radius:1px;width:.75rem;height:2px;display:inline-block}.swatch+.swatch,.notebook-legend__wires .swatch:nth-of-type(2){margin-left:.6rem}.swatch--uses{background:var(--uses)}.swatch--used-by{background:var(--used-by)}.nb-editor{--results-width:34%;flex-direction:column;flex:1;display:flex}.nb-editor .cm-editor{color:var(--ink);background:0 0;flex:1}.nb-editor .cm-editor.cm-focused{outline:none}.nb-editor .cm-scroller{font-family:var(--font-math);font-size:.9rem;line-height:var(--line-height);padding:.5rem 0 4rem}.nb-editor .cm-content{caret-color:var(--uses);padding:0}.nb-editor .cm-cursor{border-left:2px solid var(--uses)}.nb-editor .cm-selectionBackground,.nb-editor .cm-focused .cm-selectionBackground{background:color-mix(in srgb, var(--uses) 22%, transparent)!important}.nb-editor .cm-line{padding:0 calc(var(--results-width) + 1rem) 0 var(--gutter);border-bottom:1px solid var(--rule);transition:background-color .12s;position:relative}.nb-editor .cm-placeholder{color:var(--ink-faint)}.nb-tok-name{font-weight:650}.nb-tok-number{color:var(--ink)}.nb-tok-assign{color:var(--ink-faint);padding:0 .1em}.nb-tok-word{color:var(--ink-soft)}.nb-tok-comment{font-family:var(--font-ui);color:var(--ink-soft);font-size:.95rem}.nb-line--comment{border-bottom-color:#0000!important}.nb-add-line{height:var(--line-height);padding-left:var(--gutter);font-family:var(--font-ui);color:var(--ink-faint);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;line-height:1;transition:color .12s;display:flex}.nb-add-line:hover{color:var(--uses)}.nb-add-line__plus{font-family:var(--font-math);font-size:.95rem;font-weight:600}.nb-add-line kbd{font-family:var(--font-math);border:1px solid var(--rule);color:var(--ink-faint);border-radius:3px;margin-left:.25rem;padding:.2rem .35rem;font-size:.68rem;line-height:1}.nb-delete-line{text-align:center;width:1.25rem;font-family:var(--font-ui);color:var(--ink-faint);cursor:pointer;-webkit-user-select:none;user-select:none;opacity:0;font-size:1.1rem;transition:opacity .12s,color .12s;position:absolute;top:0;left:.5rem}.nb-editor .cm-line:hover .nb-delete-line,.nb-editor .nb-active .nb-delete-line{opacity:1}.nb-delete-line:hover{color:var(--error)}@media (hover:none){.nb-delete-line{opacity:1}}.nb-hint{color:var(--ink-faint);pointer-events:none}.nb-result{width:var(--results-width);text-overflow:ellipsis;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);pointer-events:auto;-webkit-user-select:text;user-select:text;font-weight:650;position:absolute;top:0;right:1rem;overflow:hidden}.nb-result:before{content:"";border-left:1px solid var(--rule);position:absolute;top:.75rem;bottom:.75rem;left:0}.nb-result--error{font-family:var(--font-ui);color:var(--error);font-size:.85rem;font-weight:500}.nb-result--pending{color:var(--ink-faint);font-weight:400}.nb-rel--source{background:color-mix(in srgb, var(--ink) 5%, transparent)}.nb-rel--uses{background:color-mix(in srgb, var(--uses) 8%, transparent)}.nb-rel--uses .nb-result{color:var(--uses)}.nb-rel--used-by{background:color-mix(in srgb, var(--used-by) 10%, transparent)}.nb-rel--used-by .nb-result{color:var(--used-by)}@media (width<=40rem){:root{--gutter:2rem;--line-height:2.25rem}.site-header{padding:0 1rem}.notebook-page{padding:1rem 0 0}.notebook-sheet{border-left:none;border-right:none;border-radius:0}.nb-editor .cm-line{padding-right:1rem}.nb-editor .cm-line.nb-has-result{padding-bottom:1.4rem}.nb-result{width:calc(100% - var(--gutter) - 1rem);line-height:1.25rem;top:auto;bottom:.45rem}.nb-result:before{display:none}.notebook-legend__wires{margin-left:0}}@media (prefers-reduced-motion:reduce){.nb-editor .cm-line{transition:none}}.nb-wires-layer{pointer-events:none}.nb-wires{position:absolute;top:0;left:0;overflow:visible}.nb-wire{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.26s ease-out forwards nb-wire-draw}.nb-wire--uses{stroke:var(--uses)}.nb-wire--used-by{stroke:var(--used-by);animation-delay:.12s}.nb-wire-node{fill:var(--ink)}@keyframes nb-wire-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.nb-wire{stroke-dashoffset:0;animation:none}}
