:root{--lab-font:"ABC Areal Mono", ui-monospace, monospace;--lab-font-sans:"ABC Diatype", Arial, sans-serif;--lab-ui-size:13px;--lab-meta-size:10px;--lab-body-size:16px;--lab-title-size:40px;--lab-ui-leading:1.3;--lab-meta-leading:1.5;--lab-body-leading:1.5;--lab-ui-tracking:1.2px;--lab-meta-tracking:.6px;--lab-fg:#f9f9f9;--lab-secondary:#bbb;--lab-inactive:#aaa;--lab-nav-muted:#777;--lab-status:#999;--lab-divider:#ffffff1f;--lab-field-border:#ffffff52;--lab-panel-border:#ffffff24;--lab-panel-surface:#1c1c1cc7;--lab-panel-fallback:#1c1c1c;--lab-panel-shadow:0 24px 80px #0000003d;--lab-field-surface:#0003;--lab-field-hover:#303030;--lab-radius-panel:16px;--lab-radius-field:8px;--lab-panel-padding:20px;--lab-control-height:44px;--lab-compact-height:36px;--lab-space-xs:4px;--lab-space-sm:8px;--lab-space-md:12px;--lab-space-lg:16px;--lab-space-xl:20px;--lab-space-2xl:24px;--lab-layer-artwork:0;--lab-layer-hud:1;--lab-layer-panel:10;--lab-layer-chrome:20;--lab-layer-toggle:30;--lab-layer-navigation:40}.lab-menu-toggle{pointer-events:auto;color:var(--lab-fg);cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;padding:0;transition:color .22s cubic-bezier(.25,.8,.3,1);display:flex}.lab-menu-toggle:hover{color:var(--lab-secondary)}.lab-menu-toggle:focus-visible,.lab-switcher a:focus-visible{outline:1px solid var(--lab-secondary);outline-offset:3px}.lab-switcher{z-index:var(--lab-layer-navigation,40);top:calc(var(--lab-header-top) + var(--lab-ui-size) * 1.3 + 16px);right:var(--lab-header-gutter);box-sizing:border-box;width:max-content;max-width:calc(100vw - 32px);color:var(--lab-nav-muted);font:400 var(--lab-ui-size)/1.3 var(--lab-font);letter-spacing:var(--lab-ui-tracking);text-transform:uppercase;opacity:0;visibility:hidden;pointer-events:none;background:0 0;border:0;padding:0;transition:opacity .2s cubic-bezier(.4,0,.6,1),visibility 0s .2s;display:grid;position:fixed}.lab-switcher[hidden]{display:none}.lab-switcher[data-open=true]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s cubic-bezier(.25,.8,.3,1),visibility}.lab-switcher-label{color:var(--lab-inactive);text-align:right;font:400 var(--lab-meta-size,10px)/1.6 var(--lab-font);letter-spacing:.45px;margin-bottom:7px;display:block}.lab-switcher a{color:var(--lab-nav-muted);text-align:right;white-space:nowrap;justify-content:flex-end;align-items:center;padding:0;text-decoration:none;transition:color .22s cubic-bezier(.25,.8,.3,1);display:flex}.lab-switcher a:hover,.lab-switcher a:focus-visible{color:var(--lab-secondary)}.lab-switcher a[aria-current=page]{color:var(--lab-fg)}.standalone-lab-navigation{--lab-font:"ABC Areal Mono", ui-monospace, monospace;--lab-header-top:25px;--lab-header-gutter:30px;--lab-ui-size:13px;--lab-ui-tracking:1.2px;--lab-fg:var(--color-ink,#f9f9f9);--lab-secondary:var(--color-muted,#bbb);--lab-inactive:var(--color-inactive,#aaa);--lab-nav-muted:#777}.standalone-lab-navigation .lab-menu-toggle{z-index:var(--lab-layer-chrome,20);top:var(--lab-header-top);right:var(--lab-header-gutter);min-height:0;font:400 var(--lab-ui-size)/1.3 var(--lab-font);letter-spacing:var(--lab-ui-tracking);text-transform:uppercase;border:0;border-radius:0;padding:0;position:fixed}.standalone-lab-navigation .lab-switcher{z-index:var(--lab-layer-navigation,40)}.app-shell[data-ui-hidden=true] .standalone-lab-navigation{display:none}@media (max-width:640px){.standalone-lab-navigation{--lab-header-gutter:16px;--lab-ui-size:13px;--lab-ui-tracking:.5px}}@media (prefers-reduced-motion:reduce){.lab-menu-toggle,.lab-switcher,.lab-switcher *{transition:none!important}}:root{--lab-header-top:25px;--lab-header-gutter:30px;--lab-panel-left:24px;--lab-panel-width:min(360px, calc(100vw - 64px));--lab-panel-top:72px;--lab-panel-height:calc(100dvh - 128px)}.lab-overlay{font-family:var(--lab-font);font-variant-numeric:tabular-nums;font-weight:400}body:has(.lab-overlay){font-family:var(--lab-font);font-variant-numeric:tabular-nums;font-weight:400}.lab-overlay *{font-variant-numeric:tabular-nums;font-weight:400}.lab-overlay :is(button,input,select,textarea,output){font-family:var(--lab-font)}.lab-note,.plasticity-observation,.fatal-error{font-family:var(--lab-font-sans)}.lab-readout{z-index:var(--lab-layer-chrome);width:240px;max-width:calc(100vw - 32px);color:var(--lab-status);font:400 var(--lab-meta-size)/var(--lab-meta-leading) var(--lab-font);font-variant-numeric:tabular-nums;letter-spacing:var(--lab-meta-tracking);text-transform:uppercase;pointer-events:none;position:fixed;bottom:24px;right:30px}.lab-readout *{font-variant-numeric:tabular-nums;text-transform:uppercase;font-family:inherit;font-weight:400}.lab-readout .lab-stats{margin:0}.lab-readout .lab-status{margin-top:6px}.lab-readout output{color:var(--lab-secondary);font:inherit}.lab-readout progress{accent-color:#bbb;background:#fff3;border:0;width:100%;height:1px;margin:6px 0 8px;display:block}.lab-readout progress::-webkit-progress-bar{background:#fff3}.lab-readout progress::-webkit-progress-value{background:#bbb}.lab-overlay{z-index:var(--lab-layer-panel);top:var(--lab-panel-top);left:var(--lab-panel-left);width:var(--lab-panel-width);height:var(--lab-panel-height);min-height:0;max-height:var(--lab-panel-height);box-sizing:border-box;padding:var(--lab-panel-padding);color:var(--lab-fg);background:var(--lab-panel-fallback);border:1px solid var(--lab-panel-border);border-radius:var(--lab-radius-panel);box-shadow:var(--lab-panel-shadow);font-size:var(--lab-ui-size);line-height:var(--lab-ui-leading);visibility:visible;flex-direction:column;transition:transform .24s cubic-bezier(.25,.8,.3,1),visibility;display:flex;position:fixed;transform:translate(0)}@supports ((-webkit-backdrop-filter:blur(24px)) or (backdrop-filter:blur(24px))){.lab-overlay{background:var(--lab-panel-surface);-webkit-backdrop-filter:blur(24px)saturate(1.15);backdrop-filter:blur(24px)saturate(1.15)}}.lab-overlay[hidden]{display:none}.lab-overlay[data-open=false]{transform:translateX(calc(-100% - var(--lab-panel-left)));visibility:hidden;pointer-events:none;transition:transform .24s cubic-bezier(.25,.8,.3,1),visibility 0s .24s}.lab-overlay fieldset{border:0;min-width:0;margin:0;padding:0;display:contents}.lab-sections{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;flex:1;min-height:0;overflow-y:auto}.lab-sections::-webkit-scrollbar{width:2px}.lab-sections::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:4px}.lab-sections details{border-bottom:1px solid var(--lab-divider)}.lab-sections summary{box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:45px;font-size:var(--lab-ui-size);line-height:var(--lab-ui-leading);letter-spacing:var(--lab-ui-tracking);text-transform:uppercase;justify-content:space-between;align-items:center;padding:12px 0;list-style:none;display:flex}.lab-sections summary::-webkit-details-marker{display:none}.lab-sections summary:after{content:"+";color:var(--lab-inactive);padding-left:12px}.lab-sections details[open] summary:after{content:"−"}.lab-sections summary:hover{color:var(--lab-secondary)}.lab-section-body{padding:0 0 20px}.lab-global-actions,.lab-section-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.lab-section-actions{margin:0 0 15px}.lab-control{gap:6px;min-width:0;margin:15px 0;display:grid}.lab-control>label,.lab-color>label,.lab-check{color:var(--lab-secondary);font-size:var(--lab-ui-size);line-height:var(--lab-ui-leading);letter-spacing:var(--lab-ui-tracking);text-transform:uppercase}.lab-range{grid-template-columns:minmax(0,1fr) 64px;align-items:center;column-gap:10px}.lab-range>label{grid-column:1/-1}.lab-range input{grid-area:2/1}.lab-range output{grid-area:2/2}.lab-overlay output{color:var(--lab-secondary);font-size:var(--lab-ui-size);line-height:var(--lab-ui-leading);letter-spacing:var(--lab-ui-tracking)}.lab-range output{justify-content:flex-end;align-items:center;min-height:44px;display:flex}.lab-overlay select,.lab-overlay input[type=number],.lab-overlay input[type=text],.lab-overlay button{font-size:var(--lab-ui-size);line-height:var(--lab-ui-leading);color:var(--lab-fg);background:var(--lab-field-surface);border:1px solid var(--lab-field-border);border-radius:var(--lab-radius-field);box-sizing:border-box;min-width:0;min-height:44px;padding:10px 15px}.lab-overlay select,.lab-overlay input[type=number],.lab-overlay input[type=text]{width:100%}.lab-overlay .lab-save-settings{width:100%;margin-top:18px;display:block}.lab-overlay select{appearance:none;letter-spacing:1.1px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23f9f9f9' stroke-width='1'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:44px}.lab-overlay select option{background:var(--lab-panel-fallback);color:var(--lab-fg)}.lab-overlay input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:-6px 0 0;padding:0}.lab-overlay input[type=range]::-webkit-slider-runnable-track{background:#ffffff61;height:1px}.lab-overlay input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--lab-fg);border:0;border-radius:50%;width:10px;height:10px;margin-top:-4.5px}.lab-overlay input[type=range]::-moz-range-track{background:#ffffff61;height:1px}.lab-overlay input[type=range]::-moz-range-thumb{background:var(--lab-fg);border:0;border-radius:50%;width:10px;height:10px}.lab-check{cursor:pointer;align-items:center;gap:10px;min-height:32px;margin:2px 0;line-height:1.2;display:flex;position:relative}.lab-check input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.lab-check-mark{white-space:pre;color:var(--lab-fg);letter-spacing:0;flex:none;align-items:center;gap:5px;display:inline-flex}.lab-check-mark>span{opacity:0;width:7px;font-size:7px}.lab-check-dot{background:var(--lab-fg);border-radius:50%;height:7px}.lab-check input:checked+.lab-check-mark>span{opacity:1}.lab-color{grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:10px;margin:15px 0;display:grid}.lab-color input{border:1px solid var(--lab-field-border);border-radius:var(--lab-radius-field);background:var(--lab-field-surface);cursor:pointer;width:44px;height:44px;padding:5px}.lab-note{color:var(--lab-status);font-size:var(--lab-body-size);line-height:var(--lab-body-leading);overflow-wrap:anywhere;margin:15px 0 0}.lab-section-body>.lab-note:first-child{margin:0 0 15px}.lab-footer{flex-shrink:0;padding-top:16px}.lab-actions{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.lab-project-header{z-index:var(--lab-layer-chrome);top:var(--lab-header-top);left:var(--lab-header-gutter);right:var(--lab-header-gutter);color:var(--lab-fg);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:fixed}.lab-project-title,.lab-context{font:400 var(--lab-ui-size)/var(--lab-ui-leading) var(--lab-font);letter-spacing:var(--lab-ui-tracking);text-transform:uppercase;white-space:nowrap;margin:0}.lab-copyright{z-index:var(--lab-layer-chrome);min-height:44px;font:400 var(--lab-ui-size)/var(--lab-ui-leading) var(--lab-font);letter-spacing:var(--lab-ui-tracking);color:var(--lab-fg);align-items:center;text-decoration:none;display:flex;position:fixed;bottom:10px;left:30px}.lab-copyright:focus-visible{outline:1px solid var(--lab-secondary);outline-offset:3px}.lab-panel-ear{z-index:var(--lab-layer-toggle);top:calc(var(--lab-panel-top) + (var(--lab-panel-height) - 44px) / 2);left:calc(var(--lab-panel-left) + var(--lab-panel-width) - 12px);box-sizing:border-box;width:44px;height:44px;color:var(--lab-secondary);cursor:pointer;font:400 var(--lab-ui-size)/var(--lab-ui-leading) var(--lab-font);background:0 0;border:0;padding:0;transition:left .24s cubic-bezier(.25,.8,.3,1),color .12s;position:fixed}.lab-panel-ear[data-open=false]{left:0}.lab-panel-ear-face{box-sizing:border-box;background:#1d1d1f;border:1px solid #ffffff2e;border-left:0;border-radius:0 4px 4px 0;place-items:center;width:14px;height:44px;transition:width .26s cubic-bezier(.25,.8,.3,1),transform .24s cubic-bezier(.25,.8,.3,1),background-color .12s,border-color .12s;display:grid;position:absolute;top:0;left:12px}.lab-panel-ear[data-open=false] .lab-panel-ear-face{transform:translate(-12px)}.lab-panel-ear svg{width:12px;height:12px;transition:transform .24s;display:block}.lab-panel-ear[data-open=false] svg{transform:rotate(180deg)}.lab-panel-ear:hover,.lab-panel-ear:focus-visible{color:var(--lab-fg)}.lab-panel-ear:hover .lab-panel-ear-face,.lab-panel-ear:focus-visible .lab-panel-ear-face{width:30px}.lab-panel-ear:hover .lab-panel-ear-face{background:#2a2a2a;border-color:#ffffff52}.lab-panel-ear:focus-visible .lab-panel-ear-face{background:var(--lab-field-hover);border-color:var(--lab-secondary)}.lab-panel-ear:active .lab-panel-ear-face{background:#363636}.lab-panel-ear:focus-visible{box-shadow:none;outline:none}.lab-overlay button{font-family:var(--lab-font);font-size:var(--lab-ui-size);font-weight:400;line-height:var(--lab-ui-leading);letter-spacing:var(--lab-ui-tracking);text-transform:uppercase;cursor:pointer;transition:background-color .12s,color .12s}.lab-overlay button:hover{background:var(--lab-field-hover)}.lab-overlay button[aria-pressed=true]{border-color:var(--lab-fg);background:var(--lab-field-hover)}.lab-overlay button:disabled,.lab-overlay input:disabled,.lab-overlay select:disabled{opacity:.45;cursor:default}.lab-overlay :is(button,input,select,textarea,summary):focus-visible{outline:1px solid var(--lab-secondary);outline-offset:3px}.lab-stats{color:var(--lab-status);font-size:var(--lab-meta-size);line-height:var(--lab-meta-leading);letter-spacing:var(--lab-meta-tracking);text-transform:uppercase;margin-top:12px}.lab-status{color:var(--lab-secondary);font-size:var(--lab-meta-size);line-height:var(--lab-meta-leading);letter-spacing:var(--lab-meta-tracking);overflow-wrap:anywhere;min-height:0;margin-top:5px;display:block}.lab-status:empty{display:none}.fatal-error{font-family:var(--lab-font-sans)}@media (max-width:640px){:root{--lab-panel-left:16px;--lab-panel-height:calc(100dvh - 256px);--lab-ui-tracking:.5px;--lab-header-top:16px;--lab-header-gutter:16px}.lab-overlay{border-radius:12px}.lab-readout{width:min(280px,100vw - 32px);bottom:56px;right:16px}.lab-project-header{gap:12px}.lab-copyright{font-size:var(--lab-ui-size);letter-spacing:var(--lab-ui-tracking);bottom:2px;left:16px}}@media (max-width:420px){:root{--lab-panel-top:96px;--lab-panel-height:calc(100dvh - 280px)}.lab-project-header{gap:var(--lab-space-sm);flex-wrap:wrap}.lab-project-header .lab-menu-toggle{margin-left:auto}.lab-switcher{top:84px}}@media (max-width:360px){.lab-overlay{padding-inline:15px}.lab-copyright{font-size:var(--lab-ui-size);letter-spacing:var(--lab-ui-tracking)}.lab-control{margin-block:10px}.lab-global-actions,.lab-section-actions{grid-template-columns:1fr}.lab-actions{gap:4px}.lab-actions button{padding-inline:6px}}@media (prefers-reduced-transparency:reduce){.lab-overlay{background:var(--lab-panel-fallback);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.lab-overlay,.lab-overlay *,.lab-panel-ear,.lab-panel-ear *,.lab-menu-toggle,.lab-switcher,.lab-switcher *{transition:none!important}}@media (max-height:600px){.lab-overlay{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;display:block;overflow-y:auto}.lab-overlay .lab-sections{overflow:visible}}
