.sg,.sg-float,.sg-window,.sg-hint__body{--u:4px;--trace-cyan:#43bdd0;--trace-magenta:#d264ab;--trace-yellow:#cba93c;--h-ctl:26px;--h-head:24px;--h-bar:40px;--pad:calc(var(--u) * 2);color:var(--color-ink-muted);font-size:12px;line-height:1.4}.sg{gap:var(--u);flex-direction:column;min-height:0;display:flex}@media (width>=64rem){.sg{height:calc(100dvh - var(--top-bar,56px) - var(--u) * 6);min-height:40rem}}.sg-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sg__bar{align-items:center;gap:var(--u) calc(var(--u) * 3);min-height:var(--h-bar);padding:0 var(--pad);border:1px solid var(--color-line);background:var(--color-surface);flex-wrap:wrap;flex:none;display:flex}.sg__title{font-family:var(--font-display);letter-spacing:0;color:var(--color-ink);white-space:nowrap;margin:0;font-size:15px;font-weight:400}.sg__modes{border:1px solid var(--color-line);display:flex}.sg__mode{height:calc(var(--h-ctl) - 4px);padding:0 calc(var(--u) * 2.5);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-faint);cursor:pointer;background:0 0;border:none;font-size:10px;transition:color .12s,background-color .12s}.sg__mode+.sg__mode{border-left:1px solid var(--color-line)}.sg__mode:hover{color:var(--color-ink-muted)}.sg__mode[aria-pressed=true]{color:var(--color-base);background:var(--color-ink)}.sg__transport{align-items:center;gap:calc(var(--u) * 2);margin-left:auto;display:flex}.sg__master{align-items:center;gap:calc(var(--u) * 1.5);display:flex}.sg__master .sg-field__slider{width:7rem}.sg__master-value{min-width:4.5ch;font-family:var(--font-mono);color:var(--color-ink);text-align:right;font-size:11px}.sg__clip{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-base);background:var(--color-ink);padding:3px calc(var(--u) * 1.5);font-size:10px}.sg__layout{gap:var(--u);flex:auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}@media (width>=64rem){.sg__layout[data-side]{grid-template-columns:minmax(0, 1fr) auto var(--side-w,360px)}}.sg__main,.sg__charts,.sg__pane,.sg__stack{gap:var(--u);flex-direction:column;min-width:0;min-height:0;display:flex}@media (width>=64rem){.sg__charts{flex-grow:var(--chart-share,.62);flex-shrink:1;flex-basis:0}.sg__stack{flex-grow:calc(1 - var(--chart-share,.62));flex-shrink:1;flex-basis:0;overflow-y:auto}.sg__pane--scope{flex-grow:var(--scope-share,.56);flex-shrink:1;flex-basis:0}.sg__pane--spectrum{flex-grow:var(--spectrum-share,.44);flex-shrink:1;flex-basis:0}.sg__pane--error{flex-grow:var(--error-share,.22);flex-shrink:1;flex-basis:0}}.sg__side{gap:var(--u);flex-direction:column;min-width:0;min-height:0;display:flex}@media (width>=64rem){.sg__side{overflow-y:auto}}.sg-scope{border:1px solid var(--color-line);background:var(--color-surface);min-height:200px;padding:0;overflow:hidden}@media (width>=64rem){.sg-scope{flex:1 1 0;min-height:7rem}}.sg-scope--spectrum{min-height:150px}.sg-scope__canvas{display:block}.sg__view-toggles{align-items:center;gap:var(--u) calc(var(--u) * 3);padding:calc(var(--u) * 1.5) var(--pad);border:1px solid var(--color-line);background:var(--color-surface);flex-wrap:wrap;flex:none;display:flex}.sg__inline-field .sg-field{gap:calc(var(--u) * 1.5);grid-template-columns:auto auto;min-height:0}.sg-inline{align-items:center;gap:calc(var(--u) * 1.5);display:inline-flex}.sg-select--narrow{width:auto;min-width:6rem}.sg__view-name{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink);white-space:nowrap;font-size:10px}.sg__view-note{font-family:var(--font-mono);color:var(--color-ink-faint);white-space:nowrap;margin-left:auto;font-size:10px}.sg-panel{border:1px solid var(--color-line);background:var(--color-surface);flex-direction:column;flex:none;min-width:0;min-height:0;display:flex;position:relative}.sg-panel__title{align-items:center;gap:calc(var(--u) * 1.5);height:var(--h-head);padding:0 var(--pad);border-bottom:1px solid var(--color-line);background:var(--color-raised);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-faint);flex:none;margin:0;font-size:10px;font-weight:400;display:flex}.sg-panel__name{white-space:nowrap}.sg-panel__badge{letter-spacing:.08em;color:var(--color-ink-muted);margin-left:auto}.sg-panel__body{gap:var(--pad);padding:var(--pad);flex-direction:column;min-width:0;min-height:0;display:flex}.sg-panel__body--flush{gap:0;padding:0}.sg-panel__body--scroll{overflow-y:auto}.sg-panel--grow{flex:auto}.sg-panel--grow .sg-panel__body{overflow-y:auto}.sg-osc-list{gap:var(--u);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sg-osc{gap:calc(var(--u) * 1.5);padding:calc(var(--u) * 1.5);border:1px solid var(--color-line);flex-direction:column;transition:opacity .12s;display:flex}.sg-osc[data-muted=true]{opacity:.4}.sg-osc__head{align-items:center;gap:calc(var(--u) * 1.5);display:flex}.sg-osc__index{font-family:var(--font-mono);letter-spacing:.16em;color:var(--color-ink-faint);font-size:10px}.sg-osc__toggle,.sg-osc__remove{width:var(--h-ctl);height:var(--h-ctl);color:var(--color-ink-muted);border:1px solid var(--color-line);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;font-size:11px;line-height:1;transition:color .12s,border-color .12s;display:inline-flex}.sg-osc__toggle[aria-pressed=true],.sg-osc__toggle:hover,.sg-osc__remove:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-line-strong)}.sg-osc__remove{margin-left:auto}.sg-osc__remove:disabled{opacity:.3;cursor:not-allowed}.sg-osc__waveform{flex:none;width:8.5rem;min-width:0}.sg-osc__fields,.sg-grid-two{gap:var(--u) calc(var(--u) * 3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.sg-osc__fields .sg-field{gap:calc(var(--u) * 1.5);grid-template-columns:minmax(0,4.5rem) minmax(0,1fr)}.sg-osc__fields .sg-field--bare,.sg-osc__fields .sg-field--stack{grid-template-columns:minmax(0,1fr)}.sg-field{align-items:center;gap:calc(var(--u) * 2);min-width:0;min-height:var(--h-ctl);grid-template-columns:minmax(0,5.25rem) minmax(0,1fr);display:grid}.sg-field--bare{grid-template-columns:minmax(0,1fr)}.sg-field--stack{align-items:stretch;gap:var(--u);grid-template-columns:minmax(0,1fr)}.sg-field__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-faint);overflow-wrap:anywhere;min-width:0;font-size:10px;line-height:1.3;display:block}.sg-field__label .sg-hint{vertical-align:middle;margin-left:calc(var(--u) * 1.5)}.sg-field__controls{align-items:center;gap:calc(var(--u) * 2);min-width:0;display:flex}.sg-field__slider{flex:auto;min-width:2.5rem}.sg-field__readout{align-items:center;gap:var(--u);flex:none;display:inline-flex}.sg-field__number{width:4.75rem;height:var(--h-ctl);padding:0 calc(var(--u) * 1.5);font-family:var(--font-mono);color:var(--color-ink);background:var(--color-base);border:1px solid var(--color-line);text-align:right;font-size:12px}.sg-field__number:focus-visible{border-color:var(--color-line-strong)}.sg-field__number::-webkit-outer-spin-button,.sg-field__number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sg-field__number{-moz-appearance:textfield;appearance:textfield}.sg-field__unit{font-family:var(--font-mono);color:var(--color-ink-faint);min-width:2.5ch;font-size:10px}.sg-select{width:100%;height:var(--h-ctl);padding:0 calc(var(--u) * 1.5);font-family:var(--font-mono);color:var(--color-ink);background:var(--color-base);border:1px solid var(--color-line);font-size:12px}.sg-select:disabled,.sg-field__number:disabled{opacity:.4}.sg input[type=range]{-webkit-appearance:none;appearance:none;height:var(--h-ctl);cursor:pointer;background:0 0}.sg input[type=range]::-webkit-slider-runnable-track{background:var(--color-line-strong);height:1px}.sg input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-ink);border-radius:50%;width:9px;height:9px;margin-top:-4px}.sg input[type=range]::-moz-range-track{background:var(--color-line-strong);height:1px}.sg input[type=range]::-moz-range-thumb{background:var(--color-ink);border:none;border-radius:50%;width:9px;height:9px}.sg input[type=range]:disabled{opacity:.35;cursor:not-allowed}.sg-check{align-items:center;gap:calc(var(--u) * 1.5);font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-ink-muted);cursor:pointer;white-space:nowrap;font-size:10px;display:inline-flex}.sg-check input[type=checkbox]{width:12px;height:12px;accent-color:var(--color-ink)}.sg-readouts{column-gap:calc(var(--u) * 4);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));row-gap:0;display:grid}.sg-readout{justify-content:space-between;align-items:baseline;gap:calc(var(--u) * 2);border-bottom:1px solid var(--color-line);padding:3px 0;display:flex}.sg-readout__label{align-items:center;gap:calc(var(--u) * 1.5);font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-ink-faint);white-space:nowrap;font-size:10px;display:flex}.sg-readout__value{font-family:var(--font-mono);color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.sg-readout[data-alert] .sg-readout__value{text-underline-offset:3px;text-decoration:underline}.sg-buttons{gap:var(--u);flex-wrap:wrap;display:flex}.sg-button{height:var(--h-ctl);padding:0 calc(var(--u) * 2.5);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);border:1px solid var(--color-line);cursor:pointer;white-space:nowrap;background:0 0;font-size:10px;transition:color .12s,border-color .12s}.sg-button:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-line-strong)}.sg-button:disabled{opacity:.35;cursor:not-allowed}.sg-button[aria-pressed=true]{color:var(--color-base);background:var(--color-ink);border-color:var(--color-ink)}.sg-button--wide{min-width:5.5rem}.sg-button--small{height:20px;padding:0 calc(var(--u) * 1.5);font-size:9px}.sg-button--quiet{color:var(--color-ink-faint);border-color:#0000}.sg-alert{padding:calc(var(--u) * 1.5) calc(var(--u) * 2);color:var(--color-ink);border:1px solid var(--color-line-strong);background:var(--color-raised);margin:0;font-size:11px;line-height:1.45}.sg-alert__list{margin:var(--u) 0 0;padding-left:calc(var(--u) * 3);font-family:var(--font-mono);color:var(--color-ink-muted);font-size:11px}.sg-note{padding:0 var(--u);color:var(--color-ink-faint);margin:0;font-size:11px;line-height:1.5}.sg-hint{display:inline-flex;position:relative}.sg-hint__button{width:15px;height:15px;font-family:var(--font-mono);color:var(--color-ink-faint);border:1px solid var(--color-line);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:9px;line-height:1;transition:color .12s,border-color .12s;display:inline-flex}.sg-hint__button:hover,.sg-hint__button[aria-expanded=true]{color:var(--color-ink);border-color:var(--color-line-strong)}.sg-hint__body{z-index:80;width:max-content;max-width:min(26rem,100vw - 2rem);max-height:calc(100vh - 2rem);padding:calc(var(--u) * 2) calc(var(--u) * 2.5);font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--color-ink-muted);background:var(--color-raised);border:1px solid var(--color-line-strong);font-size:12px;line-height:1.55;position:fixed;overflow-y:auto;box-shadow:0 10px 30px #0000008c}.sg-hint__text{white-space:pre-line;margin:0}.sg-hint__math{margin:0 0 calc(var(--u) * 2);padding-bottom:calc(var(--u) * 2);border-bottom:1px solid var(--color-line);color:var(--color-ink);font-size:13px;overflow-x:auto}.sg-hint__math--plain{font-family:var(--font-mono);white-space:pre-wrap;font-size:11px}.sg-formulas+.sg-formulas{border-top:1px solid var(--color-line)}.sg-formulas__toggle{align-items:center;gap:calc(var(--u) * 2);width:100%;height:var(--h-ctl);padding:0 var(--pad);font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-ink-muted);cursor:pointer;text-align:left;background:0 0;border:none;font-size:10px;display:flex}.sg-formulas__toggle:hover{color:var(--color-ink)}.sg-formulas__marker{width:1ch;color:var(--color-ink-faint)}.sg-formulas__action{color:var(--color-ink-faint);text-transform:uppercase;letter-spacing:.14em;margin-left:auto}.sg-formulas__body{gap:calc(var(--u) * 3);padding:var(--u) var(--pad) calc(var(--u) * 3);border-top:1px solid var(--color-line);flex-direction:column;display:flex}.sg-math{gap:var(--u);flex-direction:column;margin:0;display:flex}.sg-math__render{padding:var(--u) 0;color:var(--color-ink);font-size:13px;overflow:auto hidden}.sg-math__render--plain{font-family:var(--font-mono);font-size:11px}.sg-math__caption{color:var(--color-ink-muted);font-size:11.5px;line-height:1.5}.sg-math__source{align-items:center;gap:var(--u);display:flex}.sg-math__source code{min-width:0;padding:3px calc(var(--u) * 1.5);font-family:var(--font-mono);white-space:pre;color:var(--color-ink-faint);background:var(--color-base);border:1px solid var(--color-line);flex:auto;font-size:10px;overflow-x:auto}.sg-lesson__heading{font-family:var(--font-display);color:var(--color-ink);margin:0;font-size:15px;font-weight:400}.sg-lesson__body{color:var(--color-ink-muted);white-space:pre-line;margin:0;font-size:12px;line-height:1.6}.sg-lesson__index{border-top:1px solid var(--color-line);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sg-lesson__link{gap:calc(var(--u) * 2);width:100%;font-family:var(--font-body);color:var(--color-ink-faint);border:none;border-bottom:1px solid var(--color-line);cursor:pointer;text-align:left;background:0 0;padding:3px 0;font-size:11.5px;transition:color .12s;display:flex}.sg-lesson__link:hover{color:var(--color-ink-muted)}.sg-lesson__link[aria-current=step]{color:var(--color-ink)}.sg-lesson__number{font-family:var(--font-mono);color:var(--color-ink-faint);font-size:10px}.sg-table-wrap{min-width:0;min-height:0;position:relative;overflow:auto}.sg-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:11px}.sg-table th{z-index:1;padding:calc(var(--u) * 1.5) calc(var(--u) * 1.5) var(--u);letter-spacing:.12em;text-transform:uppercase;text-align:left;white-space:nowrap;color:var(--color-ink-faint);background:var(--color-surface);border-bottom:1px solid var(--color-line);font-size:9px;font-weight:400;position:sticky;top:0}.sg-table td{padding:2px calc(var(--u) * 1.5);border-bottom:1px solid var(--color-line);vertical-align:middle;white-space:nowrap}.sg-table tbody tr{transition:opacity .12s}.sg-table tbody tr[data-muted]{opacity:.4}.sg-table__num{width:1%;color:var(--color-ink-faint);letter-spacing:.14em}.sg-table__value{text-align:right;color:var(--color-ink);font-variant-numeric:tabular-nums}.sg-table__alias{margin-left:calc(var(--u) * 1.5);color:var(--color-ink);border-bottom:1px dashed var(--color-line-strong);font-size:10px}.sg-table .sg-field--bare{min-height:0}.sg-table .sg-select{width:100%;min-width:6.5rem}.sg-table th .sg-hint{margin-left:calc(var(--u) * 1.5);vertical-align:middle}.sg-panel__foot{padding:var(--pad);border-top:1px solid var(--color-line);flex:none}.sg-field__number:not(:disabled){cursor:ew-resize}.sg-field__number:focus{cursor:text}.sg__view-toggles .sg-field__label,.sg-inline .sg-field__label{white-space:nowrap;overflow-wrap:normal;flex:none}.sg-noise__row{align-items:center;gap:calc(var(--u) * 2) calc(var(--u) * 4);flex-wrap:wrap;display:flex}.sg-noise__row .sg-field{gap:calc(var(--u) * 1.5);min-height:var(--h-ctl);grid-template-columns:auto auto}.sg-noise__row .sg-osc__waveform{width:8rem}.sg-split{background:var(--color-line);touch-action:none;border:none;flex:none;align-self:stretch;padding:0;transition:background-color .12s;position:relative}.sg-split:before{content:"";z-index:2;position:absolute}.sg-split--vertical{cursor:col-resize;width:1px}.sg-split--vertical:before{inset:0 -4px}.sg-split--horizontal{cursor:row-resize;height:1px}.sg-split--horizontal:before{inset:-4px 0}.sg-split:hover,.sg-split:focus-visible,.sg-split[data-dragging]{background:var(--color-ink);outline:none}@media (width<=63.99rem){.sg-split{display:none}}.sg__layouts{align-items:center;gap:2px;display:flex}.sg__layout-key{width:20px;height:20px;font-family:var(--font-mono);color:var(--color-ink-faint);border:1px solid var(--color-line);cursor:pointer;background:0 0;font-size:10px;line-height:1;transition:color .12s,background-color .12s,border-color .12s}.sg__layout-key:hover{color:var(--color-ink);border-color:var(--color-line-strong)}.sg__layout-key[aria-pressed=true]{color:var(--color-base);background:var(--color-ink);border-color:var(--color-ink)}.sg__layout-name{margin-left:calc(var(--u) * 1.5);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-faint);white-space:nowrap;font-size:10px}.sg-select--unit{width:auto;min-width:3.5rem;height:18px;margin-left:calc(var(--u) * 1.5);vertical-align:middle;padding:0 2px;font-size:10px}.sg-table th .sg-select--unit{text-transform:none;letter-spacing:0}.sg-scope--error{min-height:60px}.sg-color{width:var(--h-ctl);height:var(--h-ctl);border:1px solid var(--color-line);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;transition:border-color .12s;display:inline-flex}.sg-color:hover{border-color:var(--color-line-strong)}.sg-color__dot{background:var(--color-ink-muted);border-radius:50%;width:9px;height:9px}.sg-color[data-color=cyan] .sg-color__dot{background:var(--trace-cyan)}.sg-color[data-color=magenta] .sg-color__dot{background:var(--trace-magenta)}.sg-color[data-color=yellow] .sg-color__dot{background:var(--trace-yellow)}.sg-color[data-color=mono] .sg-color__dot{border:1px solid var(--color-ink-muted);background:0 0}.sg__trace-colors{align-items:center;gap:var(--u);display:inline-flex}.sg__trace-colors .sg-field__label{margin-right:calc(var(--u) * .5)}.sg-check:has(input:disabled){cursor:not-allowed;opacity:.4}.sg-color:disabled{opacity:.35;cursor:not-allowed}.sg-float{min-width:18rem;min-height:10rem;max-width:calc(100vw - var(--u) * 2);max-height:calc(100vh - var(--u) * 2);border:1px solid var(--color-line-strong);background:var(--color-surface);box-shadow:0 var(--pad) calc(var(--u) * 10) color-mix(in srgb, var(--color-base) 70%, transparent);resize:both;flex-direction:column;display:flex;position:fixed;overflow:hidden}.sg-float__bar{align-items:center;gap:calc(var(--u) * 1.5);height:var(--h-head);padding:0 var(--u) 0 var(--pad);background:var(--color-raised);border-bottom:1px solid var(--color-line);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-faint);cursor:grab;user-select:none;touch-action:none;flex:none;font-size:10px;display:flex}.sg-float__bar:active{cursor:grabbing}.sg-window .sg-float__bar,.sg-window .sg-float__bar:active{cursor:default}.sg-float__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sg-float__action{width:calc(var(--h-head) - var(--u));height:calc(var(--h-head) - var(--u));font-family:var(--font-mono);color:var(--color-ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;padding:0;font-size:12px;line-height:1}.sg-float__action:hover{color:var(--color-ink);border-color:var(--color-line-strong)}.sg-float__body{gap:var(--pad);min-height:0;padding:var(--pad);flex-direction:column;flex:auto;display:flex;position:relative;overflow:auto}.sg-window{background:var(--color-surface);flex-direction:column;height:100vh;display:flex}.sg-proc__summary{color:var(--color-ink);font-variant-numeric:tabular-nums}.sg-proc__foot{align-items:center;gap:var(--u);padding:var(--pad);border-top:1px solid var(--color-line);flex-wrap:wrap;display:flex}.sg-editor__row{align-items:center;gap:calc(var(--u) * 2);flex-wrap:wrap;display:flex}.sg-editor__grid{column-gap:calc(var(--u) * 4);row-gap:var(--u);grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));display:grid}.sg-editor__warn{padding-left:calc(var(--u) * 2);color:var(--color-ink);border-left:1px solid var(--color-line-strong);margin:0;font-size:11px;line-height:1.45}.sg-plot{flex:auto;min-width:0;min-height:11rem;position:relative}.sg-plot--small{flex:none;min-height:7.5rem}.sg-plot__canvas{display:block;position:absolute;top:0;left:0}.sg-editor__plots{gap:var(--pad);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.sg-editor__plot{gap:var(--u);flex-direction:column;min-width:0;display:flex}.sg-proc__note{padding:var(--pad)}
