@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-var-latin.woff2) format("woff2")}:root{--step-1: 6px;--step-2: 12px;--step-3: 18px;--step-4: 24px;--step-6: 36px;--step-8: 48px;--hairline: 1px;--radius: 2px;--radius-lg: 4px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-snap: cubic-bezier(.2, .9, .1, 1);--default-font-family: "JetBrains Mono", ui-monospace, monospace;--value-font-family: "JetBrains Mono", ui-monospace, monospace}html[data-color=light]{--paper: #ebe9e0;--paper-d1: #e3e0d5;--paper-d2: #d8d5c8;--ink: #23231e;--ink-f1: #6f6e64;--ink-f2: #9d9b8f;--ink-f3: #c2bfb2;--scrim: #ebe9e0e6}html[data-color=dark]{--paper: #17171a;--paper-d1: #1e1e21;--paper-d2: #26262a;--ink: #eceadf;--ink-f1: #93918a;--ink-f2: #66655f;--ink-f3: #3d3d41;--scrim: #17171ae6}:root{--App__background-color: var(--paper);--App__color: var(--ink);--Trace__color: var(--ink-f1);--Trace--hover__color: var(--ink);--Trace--active__color: var(--ink);--Trace--faded__color: var(--ink-f3);--Trace__width: 2;--Trace__hit-width: 20;--Node__color: var(--ink);--Control__color: var(--ink-f1);--Control--hover__color: var(--ink);--Control__border-color: var(--ink-f3);--Control--hover__border-color: var(--ink-f1);--Panel__background-color: var(--paper);--Panel__border-color: var(--ink-f3);--Overlay__background-color: var(--scrim)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--App__background-color);color:var(--App__color);font-family:var(--default-font-family);font-size:16px;line-height:1.5;letter-spacing:.02em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}.u-mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.u-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.u-label{font-size:.625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-f2)}.app{position:relative;height:100%;width:100%;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;padding:max(var(--step-2),env(safe-area-inset-top)) var(--step-3) max(var(--step-3),env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--step-2);min-height:42px;position:relative;z-index:2}.chip-current{min-width:0;height:42px;display:grid;grid-template-columns:34px minmax(0,auto) auto;align-items:center;gap:10px;padding:3px 10px 3px 3px;border:var(--hairline) solid var(--Control__border-color);border-radius:var(--radius);color:var(--Control__color);background-color:color-mix(in srgb,var(--paper) 88%,transparent);transition:color .18s var(--ease-snap),border-color .18s var(--ease-snap),background-color .18s var(--ease-snap),transform .18s var(--ease-snap)}.chip-current:hover{color:var(--Control--hover__color);border-color:var(--Control--hover__border-color);background-color:var(--paper-d1)}.chip-current:active{transform:scale(.985)}.chip-current:focus-visible,.control:focus-visible{outline:var(--hairline) solid var(--ink);outline-offset:3px}.chip-current__art{width:34px;height:34px;padding:4px;fill:currentColor;border-radius:calc(var(--radius) - 1px);background-color:var(--paper-d1)}.chip-current__label{min-width:0;overflow:hidden;font-size:.625rem;letter-spacing:.16em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.chip-current__count{min-width:2.5ch;padding-left:10px;border-left:var(--hairline) solid var(--Control__border-color);color:var(--ink-f2);font-size:.625rem;letter-spacing:.12em;text-align:right}.control{width:38px;height:38px;display:grid;flex:0 0 auto;place-items:center;border:var(--hairline) solid transparent;border-radius:var(--radius);color:var(--Control__color);transition:color .18s var(--ease-snap),border-color .18s var(--ease-snap),background-color .18s var(--ease-snap),transform .14s var(--ease-snap),opacity .14s var(--ease-snap)}.control:hover{color:var(--Control--hover__color);border-color:var(--Control__border-color);background-color:var(--paper-d1)}.control:active{transform:scale(.92)}.control:disabled{cursor:default;opacity:.28}.icon{display:block;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.icon__fill{fill:currentColor;stroke:none}.stage{position:relative;display:grid;place-items:center;min-height:0;padding:var(--step-2) 0;transform-origin:center;transition:opacity .26s var(--ease-snap),filter .36s var(--ease-snap),transform .42s var(--ease-out-expo)}.stage[data-receded=true]{opacity:.14;filter:blur(8px);transform:scale(.82);pointer-events:none}.board{display:block;width:min(94vw,calc(100dvh - 132px));aspect-ratio:1;touch-action:manipulation}.footer{display:flex;align-items:center;justify-content:space-between;gap:var(--step-2);min-height:42px;position:relative;z-index:2}.footer__status{min-width:0;margin:0;overflow:hidden;font-size:.625rem;letter-spacing:.22em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;color:var(--ink-f2);transition:color .24s var(--ease-snap)}.footer__status[data-tone=alert]{color:var(--ink)}.controls{display:flex;align-items:center;gap:2px}.catalog{position:fixed;inset:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:0;gap:var(--step-3);padding:max(var(--step-2),env(safe-area-inset-top)) var(--step-3) max(var(--step-3),env(safe-area-inset-bottom));overflow:hidden;background-color:var(--Overlay__background-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.catalog__bar,.catalog__grid{width:100%;max-width:1120px;min-width:0;margin-inline:auto}.catalog__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--step-2);min-width:0}.catalog__filters{display:flex;flex:1 1 auto;min-width:0;gap:var(--step-1);overflow-x:auto;padding:3px;scrollbar-width:none}.catalog__filters::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:32px;padding:0 10px;border:var(--hairline) solid transparent;border-radius:var(--radius);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-f3);transition:color .18s var(--ease-snap),border-color .18s var(--ease-snap),background-color .18s var(--ease-snap)}.chip:hover{color:var(--ink-f1);background-color:var(--paper-d1)}.chip[aria-pressed=true]{color:var(--ink);border-color:var(--ink-f2);background-color:var(--paper-d1)}.chip:focus-visible{outline:var(--hairline) solid var(--ink-f1);outline-offset:3px}.catalog__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));align-content:start;gap:var(--step-1);min-width:0;overflow-x:hidden;overflow-y:auto;padding:2px var(--step-1) var(--step-3) 2px;overscroll-behavior:contain;scrollbar-color:var(--ink-f3) transparent;scrollbar-width:thin}.catalog__cell{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center stretch;min-width:0;aspect-ratio:1;padding:10px 8px 7px;color:var(--ink-f2);border:var(--hairline) solid transparent;border-radius:var(--radius);transform-origin:center;transition:color .18s var(--ease-snap),border-color .18s var(--ease-snap),background-color .18s var(--ease-snap),transform .18s var(--ease-snap)}.catalog__cell:hover,.catalog__cell:focus-visible{color:var(--ink);border-color:var(--ink-f3);background-color:var(--paper-d1);transform:translateY(-2px);outline:none}.catalog__cell[aria-current=true]{color:var(--ink);border-color:var(--ink-f1);background-color:var(--paper-d1)}.catalog__art{width:min(76%,72px);height:min(76%,72px);place-self:center;fill:currentColor}.catalog__label{display:block;overflow:hidden;font-size:.5rem;letter-spacing:.1em;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.outcome{position:absolute;inset:0;display:grid;place-items:center;background-color:var(--Overlay__background-color);z-index:5}.outcome__inner{display:grid;justify-items:center;gap:var(--step-3);text-align:center}.outcome__dot{width:14px;height:14px;border-radius:50%;background-color:var(--Node__color)}.outcome__title{margin:0;font-size:.75rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--ink)}.outcome__figure{font-size:2.5rem;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.outcome__actions{display:flex;gap:var(--step-4);margin-top:var(--step-2)}.outcome__action{font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-f1);padding-bottom:3px;border-bottom:var(--hairline) solid var(--ink-f3);transition:color .18s var(--ease-snap),border-color .18s var(--ease-snap)}.outcome__action:hover{color:var(--ink);border-bottom-color:var(--ink)}.outcome__action:focus-visible{outline:var(--hairline) solid var(--ink-f1);outline-offset:4px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:560px){.app,.catalog{padding-left:var(--step-2);padding-right:var(--step-2)}.chip-current{max-width:178px}.chip-current__label{max-width:74px}.footer__status{max-width:34vw;letter-spacing:.14em}.controls{gap:0}.control{width:36px;height:36px}.catalog{gap:var(--step-2)}.catalog__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding-right:2px}.catalog__cell{padding:7px 5px 6px}}.trace,.trace__head,.trace__tail,.trace__signal,.trace__hit,.fx__probe{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trace,.trace__head,.trace__tail{stroke:var(--Trace__color);stroke-width:var(--Trace__width);transition:stroke .16s var(--ease-snap)}.trace__echo{fill:none;stroke:var(--Trace__color);stroke-width:var(--Trace__width);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none}.trace__signal{stroke:var(--Trace--hover__color);stroke-width:var(--Trace__width);opacity:0;pointer-events:none;transition:opacity .2s var(--ease-snap)}.trace__hit{stroke:transparent;stroke-width:var(--Trace__hit-width);stroke-linecap:round;cursor:pointer;outline:none}@media(hover:hover){.chain:hover .trace,.chain:hover .trace__head,.chain:hover .trace__tail{stroke:var(--Trace--hover__color)}.chain:hover .trace__signal{opacity:1}}.chain:has(.trace__hit:focus-visible) .trace,.chain:has(.trace__hit:focus-visible) .trace__head,.chain:has(.trace__hit:focus-visible) .trace__tail{stroke:var(--Trace--hover__color)}.chain:has(.trace__hit:focus-visible) .trace__signal{opacity:1}.board.is-isolating .chain{opacity:.24;transition:opacity .2s var(--ease-snap)}.board.is-isolating .chain[data-focus]{opacity:1}.chain{transition:opacity .32s var(--ease-snap)}.fx__probe{stroke:var(--Trace--active__color);stroke-width:1.5;opacity:0;pointer-events:none}.fx__node{fill:var(--Node__color);opacity:0;pointer-events:none}.fx__ring{fill:none;stroke:var(--Node__color);stroke-width:1.5;opacity:0;pointer-events:none}
