evals-lab 0.15.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -0
- package/README.md +35 -14
- package/bin/evals-lab.js +8 -1
- package/bin/presets.js +234 -0
- package/lab/VERSION +1 -1
- package/lab/demo/pipelines/demo-1.json +105 -106
- package/lab/demo/pipelines/demo-2.json +105 -106
- package/lab/demo/pipelines/documents.json +54 -51
- package/lab/demo/pipelines/sentiment.json +30 -30
- package/lab/demo/pipelines/weather-alerts.json +35 -35
- package/lab/demo/pipelines/wordings.json +33 -36
- package/lab/evals-core.mjs +815 -194
- package/lab/kinds/list.mjs +2 -2
- package/lab/metrics/builtin.mjs +24 -24
- package/lab/run-evals.js +34 -56
- package/lab/server.py +350 -180
- package/lab/web/dist/assets/gallery-ICJNZQIZ.js +5 -0
- package/lab/web/dist/assets/{gallery-eVJoaK-6.css → gallery-bG2vNzKT.css} +1 -1
- package/lab/web/dist/assets/main-Crw-d4cy.js +18 -0
- package/lab/web/dist/assets/main-Dxf5iQLA.css +1 -0
- package/lab/web/dist/assets/tokens-C5ist-xG.js +64 -0
- package/lab/web/dist/assets/tokens-CuK6hUMK.css +1 -0
- package/lab/web/dist/gallery.html +4 -4
- package/lab/web/dist/index.html +4 -4
- package/package.json +1 -1
- package/lab/presets.json +0 -62
- package/lab/web/dist/assets/gallery-Cy8oycht.js +0 -5
- package/lab/web/dist/assets/main-B-LGmhPu.css +0 -1
- package/lab/web/dist/assets/main-wqNvXpWp.js +0 -15
- package/lab/web/dist/assets/tokens-CWVzmtid.css +0 -1
- package/lab/web/dist/assets/tokens-mCS6IZGh.js +0 -64
|
@@ -0,0 +1 @@
|
|
|
1
|
+
code{font:inherit}:where(a[href]){color:var(--amber);text-decoration:none}:where(a[href]):hover{text-underline-offset:2px;text-decoration:underline}button,input,select,textarea{font:inherit;color:var(--ink);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl)}input:not([type=checkbox]),select{height:var(--field);padding:0 var(--s2);min-width:0;max-width:100%}::placeholder{color:var(--dim);opacity:1}textarea{width:100%;min-height:calc(2lh + 2 * var(--s2) + 2px);field-sizing:content;max-height:24lh;padding:var(--s2);resize:vertical;line-height:1.45}input[type=checkbox]{width:18px;height:18px;accent-color:var(--amber);margin:0}.fbar-chip:focus-visible .fbar-pip,.pill input:focus-visible+span{outline:2px solid var(--amber);outline-offset:2px}.chiplist:has(:focus-visible){outline:2px solid var(--amber);outline-offset:2px}.affix:has(>input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}.prop-card:has(input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}input[readonly],textarea[readonly],.readonly{background:0 0;border-style:dashed}.prop[data-locked] .prop-value>span{border:1px dashed var(--line);border-radius:var(--r-ctl);padding:var(--s1) var(--s2);color:var(--dim)}.prop[data-locked] .prop-name{align-items:center;gap:6px;display:inline-flex}button{align-items:center;gap:var(--s1);-webkit-tap-highlight-color:transparent;min-height:var(--ctl);padding:0 var(--s3);font-size:var(--t-label);background:var(--amber);color:var(--on-amber);cursor:pointer;border-color:#0000;font-weight:600;display:inline-flex}button:where(:hover:not(:disabled,[aria-disabled=true])){background:color-mix(in srgb, var(--amber) 88%, var(--ink))}button:active:not(:disabled,[aria-disabled=true]){transform:translateY(1px)}button:disabled,button[aria-disabled=true]{opacity:.5;cursor:not-allowed}button[aria-busy=true]:disabled{opacity:1;cursor:progress}.ghost{color:var(--amber);border-color:var(--line);background:0 0;font-weight:500}.ghost.destructive{color:var(--rust)}.destructive:not(.ghost,.menu-item){background:var(--rust);color:var(--on-rust)}.destructive:not(.ghost,.menu-item):hover:not(:disabled,[aria-disabled=true]){background:color-mix(in srgb, var(--rust) 88%, var(--ink))}:where(.ghost,.fbar-btn,.wiz-pill-btn,.picker,.multi-btn,.prop-card:not([data-disabled])):hover:not(:disabled,[aria-disabled=true]),.pill:hover span,button.fbar-chip.scope:hover .fbar-pip{border-color:var(--faint)}.link-btn{min-height:0;font:inherit;color:var(--amber);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;padding:0}.link-btn:hover{text-underline-offset:2px;text-decoration:underline}@media (pointer:coarse),(width<=600px){.link-btn{min-height:var(--tap);align-content:center}}.icon-btn{width:var(--ctl);min-height:var(--ctl);color:var(--faint);background:0 0;border-color:#0000;justify-content:center;padding:0}.icon-btn:hover,.icon-btn:focus-visible{color:var(--ink)}.head-undo:enabled>svg{color:var(--amber);flex:none}@media (width>=601px){.head-undo:enabled{gap:var(--s1);width:auto;max-width:32ch;padding:0 var(--s2);color:var(--dim);font-weight:400}.head-undo:enabled:hover,.head-undo:enabled:focus-visible{color:var(--ink)}.head-undo:enabled:after{content:attr(title);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}}.row-act{white-space:nowrap}.group,.pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane)}.note{color:var(--dim);font-size:var(--t-label);margin:0}.unset{color:var(--dim)}p.unset{font-size:var(--t-label);margin:0}.message.error{color:var(--rust)}.scrollx{position:relative;overflow-x:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono-block{padding:var(--s3);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);font:var(--t-note) / 1.5 var(--mono);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.badge{align-items:center;gap:var(--s1);padding:var(--s-half) var(--s2);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-note);color:var(--dim);white-space:nowrap;vertical-align:middle;background:0 0;font-weight:400;line-height:1.3;display:inline-flex}.badge.amber{color:var(--amber);border-color:var(--amber)}.badge.sage{color:var(--sage);border-color:var(--sage)}.badge.rust{color:var(--rust);border-color:var(--rust)}.group{padding:var(--s4)}.group.sub{margin-top:var(--s3);background:0 0;border:0;border-radius:0;padding:0}.group-summary{align-items:center;gap:var(--s2);min-height:var(--ctl);cursor:pointer;list-style:none;display:flex}.group-summary::-webkit-details-marker{display:none}.group-caret{color:var(--faint);transition:transform var(--dur);flex:none}.group[open]>.group-summary .group-caret{transform:rotate(90deg)}.group-title{font-size:var(--t-heading);overflow-wrap:break-word;min-width:0;margin:0;font-weight:600}.group.sub .group-title{font-size:var(--t-label)}.group.sub[data-depth="2"]>.group-summary>.group-title{color:var(--dim)}.group.sub[data-depth="2"]{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.group.sub[data-depth="3"]{margin-top:var(--s3)}@media (width>=601px){.group .group{margin-inline-start:calc(16px + var(--s2))}}.group-body>.group.sub[data-depth="2"]:first-child,.group-body>.prop-scope:first-child>.group.sub[data-depth="2"]:first-child{margin-top:var(--s2);border-top:0;padding-top:0}.group-note{font-size:var(--t-note);color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1000;min-width:0;overflow:hidden}.group[open]>.group-summary .group-note{display:none}.group-rename{flex:1;min-width:0}.group-body{margin-top:var(--s3)}.group-about{margin:0 0 var(--s2);color:var(--dim);font-size:var(--t-label);line-height:1.45}.group-about:last-child{margin-bottom:0}.group.sub>.group-body{margin-top:var(--s2)}.group-summary .menu{margin-left:auto}.menu{flex:none;display:inline-flex;position:relative}.menu-pop{right:0;top:calc(100% + var(--s1));z-index:var(--z-popover);gap:var(--s-half);min-width:160px;max-width:calc(100vw - 2 * var(--s4));padding:var(--s1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-pop);flex-direction:column;display:flex;position:absolute}.menu-pop.start{left:0;right:auto}.menu-pop.up{top:auto;bottom:calc(100% + var(--s1))}.menu-pop.fixed{position:fixed;bottom:auto;right:auto}.menu-item{justify-content:flex-start;gap:var(--s2);padding:0 var(--s2);color:var(--amber);white-space:nowrap;background:0 0;border-color:#0000;font-weight:500}.menu-item:hover,.menu-item:focus-visible{background:var(--surface2)}.menu-item.destructive{color:var(--rust)}.menu-item.described{height:auto;padding-block:var(--s1);text-align:left;white-space:normal;align-items:flex-start}.menu-pop:has(.described){min-width:240px}.menu-item.described svg{margin-top:3px}.menu-about{font-size:var(--t-note);color:var(--dim);white-space:normal;font-weight:400;display:block}.pe-insert .menu-pop{min-width:260px;left:auto;right:0}.pe-field{height:auto;padding:var(--s1) var(--s2);text-align:left;color:var(--ink);white-space:normal;overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:stretch;gap:0;font-weight:400}.pe-field small{color:var(--dim);font-size:var(--t-note)}.multi{max-width:100%;display:inline-flex;position:relative}.multi-btn{justify-content:space-between;align-items:center;gap:var(--s2);height:var(--ctl);min-height:var(--ctl);max-width:100%;padding:0 var(--s2);font-size:inherit;cursor:pointer;background:var(--surface2);color:var(--ink);border-color:var(--line);font-weight:400;display:inline-flex}.multi-btn>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-btn .multi-none{color:var(--dim)}.multi-btn>svg{color:var(--dim);flex:none}.multi-opt{align-items:center;gap:var(--s2);min-height:var(--ctl);padding:0 var(--s2);border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;display:flex}.multi-opt:hover,.multi-opt:focus-within{background:var(--surface2)}.chiplist{align-items:center;gap:var(--s1) var(--s2);min-height:var(--field);padding:var(--s1) var(--s2);background:var(--surface2);max-width:100%;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-ctl);cursor:text;flex-wrap:wrap;display:flex}.chiplist-chip{align-items:center;gap:var(--s1);padding-left:var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);max-width:100%;font-size:var(--t-label);display:inline-flex}.chiplist-word{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.chiplist-x{min-height:var(--ctl);min-width:var(--s5);padding:0 var(--s1);border-radius:var(--r-pill);color:var(--dim);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.chiplist-x:hover,.chiplist-x:focus-visible{color:var(--rust)}.chiplist-input{min-width:6ch;min-height:var(--field);color:var(--ink);font:inherit;background:0 0;border:0;flex:6ch;padding:0}.chiplist-input:focus{outline:none}.chiplist-input::placeholder{color:var(--dim)}.ws-trigger{align-items:center;gap:var(--s2);min-height:var(--ctl);padding:0 var(--s2) 0 var(--s1);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-ctl);font-size:var(--t-label);cursor:pointer;font-weight:500;display:inline-flex}.ws-trigger:hover,.ws-trigger:focus-visible{background:var(--surface2)}.ws-trigger>svg{color:var(--dim);flex:none}.ws-name{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;overflow:hidden}.ws-tile{background:var(--surface2);width:24px;height:24px;color:var(--amber);font-size:var(--t-note);border-radius:6px;flex:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.ws-tile.small{width:20px;height:20px}.ws-sec{gap:var(--s-half);flex-direction:column;display:flex}.ws-sec+.ws-sec{margin-top:var(--s1);padding-top:var(--s1);border-top:1px solid var(--line)}.ws-sec-head{padding:var(--s1) var(--s2) var(--s-half);font-size:var(--t-note);color:var(--dim);margin:0}.ws-opt{justify-content:flex-start}.ws-opt-name{text-align:left;flex:auto}.ws-check{color:var(--amber);flex:none}@media (width<=600px){.ws-trigger .ws-name{display:none}.ws-menu .ws-pop{left:calc(100% - 100vw + 2 * var(--s2));max-width:none;right:0}}.share-trigger{align-items:center;gap:var(--s1);min-height:var(--ctl);padding:0 var(--s2);color:var(--ink);font-size:var(--t-label);font-weight:500;display:inline-flex}.share-trigger>svg{color:var(--dim);flex:none}.share-summary{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;overflow:hidden}.share-sec{gap:var(--s-half);margin:var(--s1) 0;padding:var(--s1) 0;border-block:1px solid var(--line);flex-direction:column;display:flex}.share-opt{justify-content:flex-start}.share-opt[disabled]{color:var(--dim);opacity:1}.share-check{color:var(--amber);flex:none}.share-opt[aria-checked=false] .share-check{visibility:hidden}.repeater,.repeater-items{grid-template-columns:minmax(0,1fr)}.repeater-items{gap:var(--s2);display:grid}.repeater{display:grid}.repeater-items>.group.sub,.repeater-items>.group.sub[data-depth]{border-top:0;margin-top:0;padding-top:0}.repeater-items>.group.sub:not(:last-child){padding-bottom:var(--s2);border-bottom:1px solid var(--line)}.repeater-empty{padding:var(--s4);border:1px dashed var(--line);border-radius:var(--r-pane);color:var(--dim);font-size:var(--t-label);text-align:center;margin:0}.add-btn{width:fit-content;margin:var(--s2) 0 0 auto;justify-self:end;display:flex}.add-btn.ghost,.add-btn>.menu>.ghost{background:var(--surface)}.props>.add-btn{grid-column:1/-1}.add-row{justify-content:flex-end;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.add-row>.add-btn{margin:0}.props,.prop{--prop-cols:var(--prop-label-col,fit-content(35%)) minmax(0, 1fr) auto var(--ctl)}.prop-scope{display:contents}.prop-name.prop-probe{visibility:hidden;white-space:nowrap;pointer-events:none;min-width:0;position:absolute}.props{grid-template-columns:var(--prop-cols);row-gap:var(--s2);column-gap:var(--s2);padding-top:calc(var(--s1) * 1.5);display:grid}.props>.prop{grid-column:1/-1;grid-template-columns:subgrid}.prop{grid-template-columns:var(--prop-cols);align-items:center;gap:var(--s2);min-height:var(--ctl);grid-template-areas:"name value flag menu";display:grid}.prop-name{grid-area:name}.prop-value{grid-area:value}.prop-flag{grid-area:flag}.prop-menu{grid-area:menu}.prop[data-hint]{row-gap:var(--s-half);grid-template-areas:"name value flag menu"".hint hint hint"}.prop[data-hint][data-control=static]:has(>.prop-value>span:empty:only-child){grid-template-areas:"name hint flag menu"}.prop[data-hint][data-control=static]>.prop-value:has(>span:empty:only-child){display:none}.prop-hint{font-size:var(--t-note);color:var(--dim);grid-area:hint;max-width:72ch;line-height:1.4}.prop-name{font-size:var(--t-label);color:var(--dim);overflow-wrap:anywhere;min-width:88px}.prop-name code{font:inherit;color:inherit}.prop-value{align-items:center;gap:var(--s2);min-width:0;font-size:var(--t-label);display:flex}.prop[data-w] .prop-value>:is(input,select,.picker,.multi,.affix){width:var(--w-half);min-width:12ch;max-width:100%}.prop[data-w=quarter] .prop-value>:is(input,select,.picker,.multi,.affix){width:var(--w-quarter);min-width:10ch}.prop[data-w=full] .prop-value>:is(input,select,.picker,.multi,.secret,.affix){width:var(--w-full)}.prop .prop-value>.multi>.multi-btn{width:100%}@media (width>=601px){.props:not(:has(.menu,.prop-flag>*)) .prop-value{grid-column:2/-1}}.affix{height:var(--field);background:var(--surface2);min-width:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r-ctl);align-items:center;display:flex}.affix>input{background:0 0;border:0;flex:1;min-width:0;height:100%;padding-right:0}.affix>input:focus-visible{outline:none}.affix-text{padding:0 var(--s2) 0 var(--s-half);color:var(--dim);flex:none}.prop-value [aria-invalid=true]:is(input,select,textarea,.picker,.multi-btn){border-color:var(--rust)}.prop-value .switch[aria-invalid=true] .switch-track{box-shadow:0 0 0 1px var(--rust)}.prop:not([data-hint])>.prop-hint{position:absolute}.affix[data-invalid]{box-shadow:inset 0 0 0 1px var(--rust)}.prop-error{color:var(--rust)}textarea.mono{font-family:var(--mono);font-size:var(--t-note);white-space:pre;overflow-wrap:normal}.secret{align-items:center;gap:var(--s1);min-width:0;display:flex}.secret input{flex:1;min-width:0}.prop-static-icon{align-items:center;gap:var(--s2);display:inline-flex}.prop a[href]{color:var(--amber)}.prop-code{font:inherit;min-height:var(--ctl);max-width:100%;padding:var(--s1) var(--s2);border:1px dashed var(--line);border-radius:var(--r-ctl);white-space:pre-wrap;overflow-wrap:anywhere;align-items:center;display:flex}.prop-cards{gap:var(--s2);flex-wrap:wrap;min-width:0;display:flex}.prop-card{white-space:nowrap;align-items:center;gap:var(--s2);min-height:var(--ctl);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface2);font-size:var(--t-label);cursor:pointer;font-weight:600;display:inline-flex;position:relative}.prop-card input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.prop-card svg{color:var(--amber);flex:none}.prop-card:has(input:checked){border-color:var(--amber);background:var(--tint-amber)}.prop-card[data-disabled]{opacity:.5;cursor:not-allowed}.prop-card[data-disabled] input{cursor:not-allowed}.prop-flag label{min-width:var(--ctl);min-height:var(--ctl);justify-content:center;align-items:center;display:inline-flex}.prop-menu{min-width:var(--ctl);justify-content:flex-end;display:flex}@media (width<=600px){.group{padding:var(--s3)}.prop[data-w]:not([data-w=quarter]),.prop[data-control=cards],.prop[data-control=code]{row-gap:var(--s1);grid-template-areas:"name name flag menu""value value value value"}.prop[data-hint]:not([data-w=quarter]){grid-template-areas:"name name flag menu""value value value value""hint hint hint hint"}.prop[data-w]:not([data-w=quarter]) .prop-value>:is(input,select,.picker,.multi,.secret,.affix){width:100%}table.dt-cards,table.dt-cards :is(tbody,tr,td){display:block}table.dt-cards thead{display:none}table.dt-cards tbody tr{margin-bottom:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-pane);position:relative}table.dt-cards tbody tr:last-of-type{margin-bottom:0}table.dt-cards tbody tr.top-match{background:color-mix(in srgb, var(--surface2) 55%, transparent)}table.dt-cards td{height:auto;font-size:var(--t-label);overflow-wrap:anywhere;border:0;padding:0;background:0 0!important}table.dt-cards td.num{text-align:left}table.dt-cards td.dt-title{align-items:center;column-gap:var(--s2);min-height:var(--ctl);padding-right:calc(var(--ctl) + var(--s1));font-size:var(--t-label);flex-wrap:wrap;font-weight:600;display:flex}table.dt-cards td.dt-menu{top:var(--s1);right:var(--s1);width:auto;position:absolute}table.dt-cards td:not(.dt-title,.dt-menu)[data-label]:before{content:attr(data-label) " ";color:var(--dim)}table.dt-cards tbody tr:has(>td.dt-select>input){padding-left:calc(var(--s1) + var(--ctl))}table.dt-cards td.dt-select:empty{display:none}table.dt-cards td.dt-select{top:var(--s2);left:var(--s1);width:var(--ctl);height:var(--ctl);justify-content:center;align-items:center;padding:0;display:flex;position:absolute}table.dt-cards tbody tr[aria-selected=true]{background:var(--tint-amber);border-color:var(--amber)}table.dt-cards tbody tr:has(>td.dt-expand){padding-left:calc(var(--s1) + var(--ctl))}table.dt-cards td.dt-expand{top:var(--s2);left:var(--s1);padding:0;position:absolute}table.dt-cards td.dt-expand .icon-btn{min-width:var(--ctl);min-height:var(--ctl)}.dt-bulk{flex-wrap:wrap}.dt-bulk-count{flex-basis:100%}}@media (pointer:coarse),(width<=600px){input[type=checkbox]{width:22px;height:22px}}.modal-backdrop{z-index:var(--z-modal);padding:var(--s4);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:min(100%,420px);max-height:calc(100vh - 2 * var(--s4));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-modal);flex-direction:column;display:flex}.modal.wide{width:min(100%,960px);height:min(88vh,760px)}.modal-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);display:flex}.modal-head h2{min-width:0;font-size:var(--t-heading);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;font-weight:600;overflow:hidden}.modal-head .menu{flex:none}.modal-body{padding:var(--s4);min-height:0;overflow-y:auto}.modal-foot{justify-content:flex-end;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--line);flex-wrap:wrap;flex:none;display:flex}.modal.edit{width:min(100%,560px)}.modal.edit.wide{width:min(100%,880px);height:auto}.modal.edit .modal-body{flex:auto}.edit-status{margin:0 0 var(--s3);font-size:var(--t-label);color:var(--dim);overflow-wrap:anywhere}.edit-section+.edit-section{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.edit-section-title{margin:0 0 var(--s2);font-size:var(--t-label);color:var(--dim);font-weight:600}.edit-choices{gap:var(--s2);flex-wrap:wrap;display:flex}.edit-choices button[aria-pressed=true]{background:var(--amber);color:var(--on-amber);border-color:#0000}.edit-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;flex:auto;display:flex}.edit-outcome-live:empty{display:none}.edit-outcome{min-height:var(--ctl)}.edit-outcome.bad{color:var(--rust)}.edit-refusal{color:var(--rust);font-size:var(--t-label);overflow-wrap:anywhere}.edit-outcomes{align-items:center;gap:var(--s2);min-width:0;margin-right:auto;display:flex}.edit-done,.edit-save{flex:none}@media (width<=600px){.modal-backdrop:has(>.modal.edit){padding:0}.modal.edit,.modal.edit.wide{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.edit-actions>button{flex:auto;justify-content:center}.edit-outcomes{flex-basis:100%}.edit-outcomes:not(:has(>:not(:empty))){display:none}}.cm-body{gap:var(--s3);flex-direction:column;display:flex}.cm-row{align-items:center;gap:var(--s2);grid-template-columns:minmax(88px,35%) minmax(0,1fr);display:grid}.cm-label{font-size:var(--t-label);color:var(--dim)}.cm-input{height:var(--field);min-height:var(--field);padding:0 var(--s3);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink);font-size:var(--t-label)}.cm-taken{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-radius:var(--r-ctl);background:color-mix(in srgb, var(--amber) 14%, var(--surface));font-size:var(--t-label);margin:0;display:flex}.cm-taken svg{color:var(--amber);flex:none}.cm-share-note,.cm-reassure{font-size:var(--t-note);color:var(--dim);margin:0}.cm-confirm{gap:var(--s3);flex-direction:column;display:flex}.cm-confirm-head{font-size:var(--t-label);margin:0;font-weight:600}.cm-deps{gap:var(--s1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cm-deps>li{align-items:center;gap:var(--s2);font-size:var(--t-label);display:flex}.cm-deps>li>svg{color:var(--dim);flex:none}.cm-deps>li>a{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cm-dep-kind{color:var(--dim);font-size:var(--t-note);margin-left:auto}.cm-warn{align-items:center;gap:var(--s2);font-size:var(--t-label);color:var(--rust);margin:0;display:flex}.cm-warn svg{color:var(--rust);flex:none}.undo-toast{left:50%;bottom:var(--s4);z-index:var(--z-toast);align-items:center;gap:var(--s2);max-width:calc(100vw - 2 * var(--s3));padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-pop);font-size:var(--t-label);display:flex;position:fixed;transform:translate(-50%)}.undo-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.undo-btn{flex:none}.dt-sort,.dt-head{align-items:center;gap:var(--s1);min-height:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.dt-glyph{color:var(--faint);opacity:0;transition:opacity var(--dur);flex:none}.dt-sort:hover .dt-glyph,.dt-sort:focus-visible .dt-glyph,.dt-glyph.on{opacity:1}.dt-glyph.on{color:var(--amber)}.dt-head{min-height:0;font:inherit;color:var(--amber);background:0 0;border:0;padding:0}table.dt{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--t-label);font-variant-numeric:tabular-nums}.dt>:where(thead,tbody)>:where(tr)>:where(th,td){padding:var(--s2) var(--s3);text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.dt>:where(thead)>:where(tr)>:where(th){height:var(--ctl);padding-block:var(--s1);font-size:var(--t-label);color:var(--dim);white-space:nowrap;background:0 0;font-weight:500}.dt>:where(tbody)>:where(tr)>:where(td){height:calc(var(--ctl) + var(--s3));color:var(--ink);transition:background-color var(--dur-fast)}.dt>:where(tbody)>:where(tr:last-child)>:where(td){border-bottom:0}.dt>:where(tbody)>:where(tr:hover,tr.top-match)>:where(td){background:color-mix(in srgb, var(--surface2) 55%, transparent)}.dt>:where(tbody)>:where(tr.dt-band)>:where(td){height:auto;font-size:var(--t-note);color:var(--dim);background:var(--surface2)}.dt td.dt-title{font-weight:500}.dt :is(th,td).num{text-align:right}.dt th.num .dt-sort{flex-direction:row-reverse}.dt :is(th,td).dt-select{width:1%;padding-inline:var(--s3) 0}.dt :is(th,td).dt-select input{margin:0;display:block}.dt>:where(tbody)>:where(tr[aria-selected=true])>:where(td){background:var(--tint-amber)}.dt :is(th,td).dt-expand{width:1%;padding-inline:var(--s1) 0}.dt .dt-chevron svg{transition:transform var(--dur)}.dt tr.dt-open>td .dt-chevron svg{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.dt .dt-chevron svg{transition:none}}.dt :is(th,td).dt-menu{width:1%;padding-inline:0 var(--s1);text-align:right;white-space:nowrap}.dt-bulk{justify-content:flex-end;align-items:center;gap:var(--s2);min-height:var(--ctl);margin-bottom:var(--s2);display:flex}.dt-bulk-count{gap:var(--s2);font-size:var(--t-label);color:var(--dim);font-variant-numeric:tabular-nums;margin-right:auto;display:flex}.dt-pager{justify-content:flex-end;align-items:center;gap:var(--s2);margin-top:var(--s2);display:flex}@media (pointer:coarse){.dt-glyph{opacity:1}.dt-sort,.dt-head{min-height:var(--tap)}}.fbar{margin-bottom:var(--s3);padding-top:calc(var(--s1) * 1.5);position:relative}.fbar-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.fbar-trail{margin-left:auto;display:inline-flex}.fbar-row:has(>.fbar-trail)>.fbar-search{flex-basis:0;min-width:6rem}.fbar-search{min-width:0;color:var(--faint);flex:auto;display:flex;position:relative}.fbar-search svg{left:var(--s3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.fbar-search:focus-within{color:var(--amber)}.fbar-search input{width:100%;padding-left:calc(var(--s3) + 15px + var(--s2));font-size:var(--t-note);flex:auto}.fbar-row>.note{margin:0}.fbar-btn{width:var(--ctl);background:var(--surface2);border-color:var(--line);color:var(--dim);flex:none;justify-content:center;margin-left:auto;padding:0;position:relative}.fbar-btn:hover{color:var(--ink)}.fbar-btn[aria-expanded=true]{color:var(--ink);border-color:var(--faint)}.fbar-btn.on{color:var(--amber);border-color:var(--amber);background:var(--tint-amber)}.fbar-badge{min-width:17px;height:17px;padding:0 var(--s1);border-radius:var(--r-pill);background:var(--amber);color:var(--on-amber);font-size:var(--t-caption);font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--surface);place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.fbar-chips{align-items:center;gap:var(--s1) var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.fbar-chip{min-height:26px;color:var(--ink);font-size:var(--t-note);background:0 0;border:0;padding:0;font-weight:600}.fbar-pip{min-height:26px;padding:0 var(--s2) 0 var(--s3);border-radius:var(--r-pill);background:color-mix(in srgb, var(--amber) 14%, var(--surface));border:1px solid #0000;align-items:center;gap:6px;display:inline-flex}.fbar-chip svg{color:var(--dim)}.fbar-chip:hover svg,.fbar-chip:focus-visible svg{color:var(--rust)}.fbar-chip:focus-visible{outline:none}.fbar-chip-k{color:var(--dim);font-weight:500}.fbar-chip.scope{align-items:center;display:inline-flex}.fbar-chip.scope .fbar-pip{padding-right:var(--s3);border-color:var(--line);background:0 0}.fbar-clear{min-height:26px;padding:0 var(--s1);color:var(--amber);font-size:var(--t-note);background:0 0;border:0;font-weight:500}.fbar-count{color:var(--dim);font-size:var(--t-note);font-variant-numeric:tabular-nums;margin-left:auto}.fbar-scrim{display:none}.fbar-panel{top:calc(var(--ctl) + var(--s2));z-index:var(--z-popover);gap:var(--s4);width:min(340px,100%);padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-panel);transform-origin:100% 0;animation:fbar-in var(--dur) ease-out;display:grid;position:absolute;right:0}@keyframes fbar-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.fbar-panel-head{justify-content:space-between;align-items:center;min-height:26px;display:flex}.fbar-panel-title{font-size:var(--t-heading);font-weight:600}.fbar-set{border:0;min-width:0;margin:0;padding:0}.fbar-set legend{margin-bottom:var(--s2);font-size:var(--t-note);color:var(--dim);padding:0;font-weight:600}.fbar-select{flex-direction:column;display:flex}.fbar-select .fbar-set-label{margin-bottom:var(--s2);font-size:var(--t-note);color:var(--dim);font-weight:600}.fbar-select select{width:100%}.pills{border:0;flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;display:flex}.pill{cursor:pointer;display:inline-flex;position:relative}.pill input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.pill span{min-height:30px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-label);color:var(--ink);transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);align-items:center;display:inline-flex}.pill input:checked+span{background:var(--amber);border-color:var(--amber);color:var(--on-amber);font-weight:600}.field-chip{align-items:center;gap:var(--s1);padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface2);font-size:var(--t-label);color:var(--ink);white-space:nowrap;vertical-align:baseline;display:inline-flex}.field-chip svg{color:var(--dim);flex:none}.wizard-pill{display:inline-flex}.wiz-pill-btn{align-items:center;gap:var(--s1);height:var(--ctl);padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface2);color:var(--ink);font-size:var(--t-label);font-weight:600;display:inline-flex}.wiz-pill-btn svg{color:var(--amber);flex:none}.wiz-pill-btn[aria-expanded=true]{border-color:var(--faint)}.wiz-pill-count{font-variant-numeric:tabular-nums}.wiz-pop{min-width:220px;padding:var(--s2);gap:var(--s2)}.wiz-pop-head{padding:0 var(--s1);font-size:var(--t-label);color:var(--ink);margin:0;font-weight:600}.wiz-steps{gap:var(--s-half);margin:0;padding:0;list-style:none;display:grid}.wiz-step{align-items:center;gap:var(--s2);padding:var(--s1) var(--s1);font-size:var(--t-body);color:var(--dim);grid-template-columns:auto 1fr;display:grid}.wiz-step.done{color:var(--ink)}.wiz-step.current .wiz-step-title{color:var(--ink);font-weight:600}.wiz-tick{width:16px;color:var(--sage);justify-content:center;display:inline-flex}.wiz-dot{border-radius:var(--r-pill);border:1.5px solid var(--line);width:7px;height:7px}.wiz-step.current .wiz-dot{border-color:var(--ink)}.wiz-pop-acts{gap:var(--s-half);padding-top:var(--s1);border-top:1px solid var(--line);display:grid}.wiz-go{justify-content:flex-start;gap:var(--s2)}.fbar-done{display:none}@media (pointer:coarse),(width<=600px){.fbar-chip,.fbar-clear{min-height:var(--tap)}.fbar-chips{row-gap:0;margin-top:0}.fbar-pip{min-height:32px}.pill span{min-height:var(--tap);padding:0 var(--s4)}.fbar-trail .pill span{padding:0 var(--s3)}.prop-card{min-height:var(--tap)}}@media (width<=600px){.fbar-scrim{z-index:var(--z-modal);background:var(--scrim);animation:fbar-fade var(--dur) ease-out;display:block;position:fixed;inset:0}.fbar-panel{z-index:calc(var(--z-modal) + 1);width:auto;max-height:85vh;padding:var(--s3) var(--s4) calc(var(--s4) + env(safe-area-inset-bottom));border-radius:var(--r-sheet) var(--r-sheet) 0 0;animation:fbar-up var(--dur) cubic-bezier(.2, .8, .2, 1);border-width:1px 0 0;position:fixed;inset:auto 0 0;overflow:auto}.fbar-panel:before{content:"";width:36px;height:4px;margin-bottom:calc(var(--s2) - var(--s4));border-radius:var(--r-pill);background:var(--line);justify-self:center}.fbar-done{justify-content:center;width:100%;display:flex}}@keyframes fbar-up{0%{transform:translateY(100%)}}@keyframes fbar-fade{0%{opacity:0}}.tab-strip{--mark:4px;gap:var(--s1);margin-bottom:var(--s4);background:linear-gradient(var(--line), var(--line)) left bottom / 100% var(--mark) no-repeat;flex-wrap:wrap;display:flex}.tab-strip a{align-items:center;gap:var(--s1);min-height:var(--tap);padding:0 var(--s3) var(--mark);color:var(--dim);font-size:var(--t-label);white-space:nowrap;font-weight:500;text-decoration:none;display:inline-flex}.tab-strip a:hover{color:var(--ink)}.tab-strip a.on{color:var(--ink);background:linear-gradient(var(--amber), var(--amber)) left bottom / 100% var(--mark) no-repeat}.tab-strip .tab-icon{flex:none}.tab-strip.section{margin-top:calc(-1 * var(--s2))}.tab-strip.section a.on{background-image:linear-gradient(var(--dim), var(--dim))}@media (width<=600px){.tab-strip{gap:0}.tab-strip .tab-icon{width:18px;height:18px}.tab-strip a{min-height:var(--tap);justify-content:center;gap:var(--s-half);padding:var(--s1) 0 calc(var(--s1) + var(--mark));min-width:var(--tap);font-size:var(--t-note);flex-direction:column;flex:1}}.ctx-head{align-items:flex-start;gap:var(--s2) var(--s3);margin-top:calc(-1 * var(--s4));padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--r-pane) var(--r-pane);border-top:0;flex-wrap:nowrap;display:flex}.ctx-id{gap:var(--s-half);flex-direction:column;flex:auto;min-width:0;display:flex}.ctx-kind{font-size:var(--t-note);color:var(--dim)}.ctx-name{align-self:flex-start;align-items:center;gap:var(--s1);max-width:100%;min-height:var(--ctl);color:var(--ink);font-size:var(--t-context);text-align:left;background:0 0;border:0;padding:0;font-weight:600;line-height:1.25;display:inline-flex}.ctx-name-text{overflow-wrap:anywhere;min-width:0}.ctx-name svg{color:var(--dim);flex:none}.ctx-name:has(.ctx-name-text){min-height:0;padding-block:calc((var(--ctl) - 1.25em) / 2);display:block}.ctx-name:has(.ctx-name-text) svg{vertical-align:-.125em;margin-left:var(--s1);display:inline-block}button.ctx-name:hover svg,button.ctx-name:focus-visible svg{color:var(--amber)}.ctx-side{justify-content:flex-end;align-items:center;gap:var(--s2) var(--s3);min-width:0;min-height:calc(var(--t-note) * 1.5 + var(--s1) / 2 + var(--ctl));flex-wrap:wrap;flex:none;margin-left:auto;display:flex}.ctx-meta{font-size:var(--t-note);color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.ctx-acts{align-items:center;gap:var(--s1);flex:none;margin-left:auto;display:flex}.ctx-primary{font-weight:500}@media (width<=600px){.ctx-head{flex-wrap:wrap;align-items:center}.ctx-id{flex-basis:100%}.ctx-side{flex:100%;justify-content:flex-start;min-height:0;margin-left:0}.ctx-meta{white-space:normal;overflow-wrap:anywhere;flex:100%}.ctx-acts{margin-left:0}}.ctx-head.docked{border-radius:0}.action-bar{padding:var(--s2) var(--s4);background:var(--surface2);border:1px solid var(--line);border-radius:0 0 var(--r-pane) var(--r-pane);border-top:0;position:relative;overflow:hidden}.action-bar-row{align-items:center;gap:var(--s3);flex-wrap:nowrap;display:flex}.action-bar-primary{padding:0 var(--s5);flex:none}.action-bar-line{min-width:0;font-size:var(--t-label);color:var(--dim);flex:auto}.action-bar-secondary{flex:none;margin-left:auto}.action-bar-meter{background:var(--line);height:3px;position:absolute;bottom:0;left:0;right:0}.action-bar-fill{background:var(--amber);height:100%}@media (width<=600px){.action-bar{padding:var(--s3)}.action-bar-primary{padding:0 var(--s4)}}.switcher{gap:var(--s-half);margin:0;padding:0;list-style:none;display:grid}.switcher-opt{align-items:center;gap:var(--s2);width:100%;min-height:var(--ctl);color:var(--ink);text-align:left;background:0 0;border-color:#0000;font-weight:500;display:flex}.switcher-opt:hover,.switcher-opt:focus-visible{background:var(--surface2)}.switcher-opt[aria-current=true]{color:var(--amber);font-weight:600}.switcher-label{overflow-wrap:anywhere;min-width:0}.switcher-text{flex-direction:column;min-width:0;display:flex}.switcher-detail{font-size:var(--t-note);color:var(--dim);font-weight:400}.switcher-check{flex:none}.switcher-when{font-size:var(--t-note);color:var(--dim);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-weight:400}.switcher-part+.switcher-part{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.switcher-head{margin:0 0 var(--s2);font-size:var(--t-label);color:var(--dim);font-weight:600}.switcher-foot{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}.switcher-wait .message-retry{justify-content:flex-end}.switcher-none{margin:0}.switcher-entry{align-items:center;gap:var(--s2);flex:auto;min-width:0;display:flex}.switcher-entry-field{flex:auto;min-width:0}.switcher-entry-buttons{gap:var(--s2);flex:none;display:flex}.switcher-pick{gap:var(--s1)}.switcher-pick[aria-current=true]{font-weight:600}@media (width<=600px){.modal-backdrop:has(>.modal.switcher-sheet){padding:0}.modal.switcher-sheet{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.modal.switcher-sheet .modal-body{flex:auto}.switcher-entry{flex-wrap:wrap}.switcher-entry-field{flex-basis:100%}.switcher-entry-buttons{margin-left:auto}table.dt-cards.switcher-table tbody tr{align-items:center;gap:var(--s2);margin-bottom:var(--s1);padding:0 var(--s3);display:flex}table.dt-cards.switcher-table td.dt-title{flex:auto;min-height:0;padding-right:0}table.dt-cards.switcher-table td:not(.dt-title)[data-label]:before{content:none}table.dt-cards.switcher-table td:not(.dt-title){font-size:var(--t-note);color:var(--dim);flex:none;padding:0}}.picker{justify-content:space-between;align-items:center;gap:var(--s2);height:var(--field);min-height:var(--field);min-width:12ch;max-width:100%;padding:0 var(--s2) 0 var(--s3);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink);font-size:inherit;text-align:left;font-weight:400;display:inline-flex}.picker svg{color:var(--faint);transition:color var(--dur-fast);flex:none}.picker:hover svg,.picker:focus-visible svg{color:var(--amber)}.picker-main{align-items:center;gap:var(--s2);min-width:0;display:inline-flex}.picker-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.picker-value.empty{color:var(--dim)}.loading{min-height:var(--ctl);align-items:center;display:flex}.loading-status{align-items:center;gap:var(--s2);color:var(--dim);font-size:var(--t-note);display:inline-flex}.message-retry{align-items:center;gap:var(--s2);min-height:var(--ctl);flex-wrap:wrap;display:flex}.message-retry>.message{margin:0 auto 0 0}.spinner{flex:none;animation:.8s linear infinite spinner-turn}@keyframes spinner-turn{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{stroke-dasharray:2 3}}.mark{vertical-align:-2px;display:inline-flex}.mark.met{color:var(--sage)}.mark.not{color:var(--rust)}.json-view{overflow:auto}.json-view.fill{box-sizing:border-box;min-height:100%}.modal-body:has(>.json-view.fill){flex-direction:column;display:flex}.modal-body>.json-view.fill{flex:auto;min-height:0}.j-key{color:var(--syn-key)}.j-str{color:var(--syn-str)}.j-num{color:var(--syn-num)}.j-lit{color:var(--syn-lit);font-weight:600}.j-punct{color:var(--dim)}.switch{align-items:center;gap:var(--s2);min-height:var(--ctl);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.switch:disabled{opacity:.5;cursor:not-allowed}@media (pointer:coarse){.switch{min-width:var(--tap)}}.switch-track{border-radius:var(--r-pill);background:var(--surface2);border:1px solid var(--line);width:34px;height:20px;transition:background var(--dur) ease, border-color var(--dur) ease;flex:none;position:relative}.switch[aria-checked=true] .switch-track{background:var(--amber);border-color:var(--amber)}.switch-thumb{background:var(--surface);border:1px solid var(--line);width:16px;height:16px;transition:transform var(--dur) ease, background var(--dur) ease, border-color var(--dur) ease;border-radius:50%;position:absolute;top:1px;left:1px}.switch[aria-checked=true] .switch-thumb{background:var(--on-amber);border-color:var(--on-amber);transform:translate(14px)}.switch-label{font-size:var(--t-note);color:var(--ink)}.prop-value .switch-label{font-size:inherit}.radio-cards{gap:var(--s2);margin:var(--s3) 0 0;border:0;min-width:0;padding:0;display:grid}.radio-cards-legend{margin-bottom:var(--s1);font-size:var(--t-label);color:var(--dim);padding:0;font-weight:600}.radio-card{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-pane);cursor:pointer;align-items:flex-start;display:flex;position:relative}.radio-card.on{border-color:var(--amber);background:color-mix(in srgb, var(--amber) 12%, transparent)}.radio-card>input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.radio-card:has(>input:focus-visible){outline:2px solid var(--amber);outline-offset:2px}.radio-card-dot{box-sizing:border-box;border:1px solid var(--faint);background:var(--surface);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px}.radio-card.on .radio-card-dot{border:5px solid var(--amber);background:var(--on-amber)}.radio-card-text{flex:auto;gap:2px;min-width:0;display:grid}.radio-card-text :is(input,button,select,textarea){z-index:1;position:relative}.radio-card-name{overflow-wrap:anywhere;font-weight:600}.radio-card-about{color:var(--dim);font-size:var(--t-label)}.radio-cards.compact{gap:var(--s1);margin:0}.radio-cards.compact .radio-card{align-items:center;gap:var(--s3);min-height:var(--tap);padding:var(--s1) var(--s2)}.radio-cards.compact .radio-card-dot{margin-top:0}.radio-cards.compact .radio-card-name{font-weight:400;font-size:var(--t-note)}.strip{--cell:20px;grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:clamp(1px, calc(100cqi / var(--n) / 6), 4px);min-width:0;display:grid;container-type:inline-size}.strip-cell{height:var(--cell);box-sizing:border-box;min-width:0;color:var(--rust);border-radius:3px;place-items:center;display:grid}.strip-cell.pass{background:var(--sage)}.strip-cell.fail{border:1.5px solid var(--rust);background:color-mix(in srgb, var(--rust) 10%, transparent)}.strip-cell.none{border:1px dashed var(--line)}.strip-x{width:clamp(0px, calc((100cqi / var(--n) - 14px) * 1000), 10px);height:auto}a.strip-cell:hover{outline:1px solid var(--ink);outline-offset:1px}.strip.sm{--cell:14px}.strip.xs{--cell:7px;--w:7px;grid-template-columns:repeat(var(--n), var(--w));gap:1px}.strip.xs.tight{--w:4px}.strip.xs{width:calc(var(--n) * (var(--w) + 1px) - 1px);flex:none}.strip.xs .strip-cell{border-radius:1.5px}.strip.xs .strip-cell.fail{border-width:1.5px}.strip.fit{grid-template-columns:repeat(var(--n), minmax(0, 28px))}.strip-track{background:var(--sage);border-radius:3px;min-width:0;height:20px;display:block;position:relative;overflow:hidden}.strip-track.sm{height:14px}.strip-notch{position:absolute;top:0;bottom:0}.strip-notch.fail{background:var(--surface)}.strip-notch.none{background:var(--surface);border:1px dashed var(--line);box-sizing:border-box}a.strip-track:hover{outline:1px solid var(--ink);outline-offset:1px}.trend{height:var(--trend-h,64px);min-width:0;position:relative}.trend-rule{border-top:1px solid var(--line);height:0;position:absolute;left:0;right:0}.trend-rule.top{top:var(--pad);border-top-style:dashed}.trend-rule.mid{border-top-style:dashed;top:50%}.trend-rule.base{bottom:var(--pad);border-top-color:color-mix(in srgb, var(--dim) 55%, var(--line))}.trend svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trend-area{fill:color-mix(in srgb, var(--ink) 5%, transparent);stroke:none}.trend-path{fill:none;stroke:var(--ink);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.trend-cols{grid-template-columns:repeat(var(--n), minmax(0, 1fr));display:grid;position:absolute;inset:0}.trend-col{min-width:0;position:relative}.trend-col:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.trend-dot{box-sizing:border-box;background:var(--surface);border:1.75px solid var(--ink);border-radius:50%;width:8px;height:8px;margin:0 0 -4px -4px;position:absolute;left:50%}.trend-dot.latest{background:var(--ink);width:10px;height:10px;margin:0 0 -5px -5px}.trend.best .trend-path{stroke:var(--sage);stroke-width:2.5px}.trend.best .trend-area{fill:color-mix(in srgb, var(--sage) 14%, transparent)}.trend.best .trend-dot{border-color:var(--sage)}.trend.best .trend-dot.latest{background:var(--sage)}.trend.quiet .trend-path{stroke:var(--dim)}.trend.quiet .trend-dot{border-color:var(--dim)}.trend.quiet .trend-dot.latest{background:var(--dim)}.trend-break{border-left:1px dashed var(--dim);position:absolute;top:0;bottom:0;left:0}.trend-break-label{font-size:var(--t-caption);color:var(--dim);white-space:nowrap;background:var(--surface);padding-right:2px;line-height:1.2;position:absolute;top:0;left:4px}.prompt{gap:var(--s1);margin-top:var(--s2);font-size:var(--t-label);grid-template-columns:minmax(0,1fr);display:grid}.prompt>.prop-name,.prompt>.prop-hint{grid-area:auto}.prompt textarea{field-sizing:content;width:100%;min-height:3lh;max-height:60vh}.pe-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.pe-words{margin-top:var(--s1)}.words-view{margin-top:var(--s2);font-size:var(--t-label);gap:var(--s2);display:grid}.wv-words{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.wv-empty{color:var(--dim)}.wv-changed{background:var(--highlight);color:var(--ink);padding:0 var(--s-half);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px}.words-view.readonly{padding:var(--s2) var(--s3);border:1px dashed var(--line);border-radius:var(--r-ctl);margin-top:0}.wv-exprs{gap:var(--s1);padding:var(--s2);border:1px dashed var(--line);border-radius:var(--r-ctl);display:grid}.wv-exprs code{font-family:var(--mono);font-size:var(--t-note);color:var(--dim);overflow-wrap:anywhere}.rule-tries{margin:var(--s2) 0 0;gap:var(--s1);font-size:var(--t-label);overflow-wrap:anywhere;padding:0;list-style:none;display:grid}.rule-tries .hit{color:var(--sage)}.rule-tries .fault{color:var(--rust)}.metric-picker .mp-family{margin:0 0 var(--s3);border:0;padding:0}.metric-picker .mp-family legend{font-size:var(--t-label);color:var(--dim);margin-bottom:var(--s1);font-weight:600}.metric-picker .mp-grid{gap:var(--s1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-picker .mp-type{text-align:left;min-height:var(--ctl);padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink);font:inherit;font-size:var(--t-label);cursor:pointer;background:0 0}.metric-picker .mp-type:hover,.metric-picker .mp-type.top-match{border-color:var(--amber)}.metric-picker .mp-type.on{border-color:var(--amber);color:var(--amber);font-weight:600}@media (width<=600px){.metric-picker .mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (pointer:coarse){.metric-picker .mp-type{min-height:var(--tap)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:var(--lightningcss-light,#f4f3ef)var(--lightningcss-dark,#17181c);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1e2025);--surface2:var(--lightningcss-light,#eceae4)var(--lightningcss-dark,#262931);--line:var(--lightningcss-light,#d6d3cb)var(--lightningcss-dark,#32363f);--ink:var(--lightningcss-light,#1d1f24)var(--lightningcss-dark,#e6e8ec);--dim:var(--lightningcss-light,#5b606b)var(--lightningcss-dark,#9aa0ab);--faint:var(--lightningcss-light,#80858f)var(--lightningcss-dark,#737882);--amber:var(--lightningcss-light,#955919)var(--lightningcss-dark,#cf9349);--on-amber:var(--lightningcss-light,#fff)var(--lightningcss-dark,#20160a);--sage:var(--lightningcss-light,#3a7240)var(--lightningcss-dark,#7fa87f);--rust:var(--lightningcss-light,#a4472b)var(--lightningcss-dark,#cc7a5e);--on-sage:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0f1a10);--on-rust:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f0f0a);--tint-amber:color-mix(in srgb, var(--amber) 10%, var(--surface));--dot:var(--lightningcss-light,#dcd9d1)var(--lightningcss-dark,#2a2d34);--scrim:var(--lightningcss-light,#1e202473)var(--lightningcss-dark,#17181cbf);--highlight:var(--lightningcss-light,#fff0a0)var(--lightningcss-dark,#5a4d1a);--w-quarter:25%;--w-half:50%;--w-full:100%;--syn-key:var(--lightningcss-light,#2d5a94)var(--lightningcss-dark,#8db4e6);--syn-str:var(--lightningcss-light,#3a6e40)var(--lightningcss-dark,#9cc69a);--syn-num:var(--lightningcss-light,#7a3fa0)var(--lightningcss-dark,#c9a3e6);--syn-lit:var(--lightningcss-light,#94561a)var(--lightningcss-dark,#e0ac6e);--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-shift:0px;--t-caption:calc(11px + var(--t-shift));--t-note:calc(12px + var(--t-shift));--t-label:calc(13px + var(--t-shift));--t-body:calc(14px + var(--t-shift));--t-heading:calc(15px + var(--t-shift));--t-title:calc(16px + var(--t-shift));--t-context:calc(19px + var(--t-shift));--lh:1.5;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s-half:2px;--ctl:32px;--tap:44px;--field:var(--ctl);--r-ctl:7px;--r-pane:10px;--r-pill:999px;--r-sheet:16px;--shadow:var(--lightningcss-light,#1e202424)var(--lightningcss-dark,#0a0b0d73);--e-pop:0 2px 6px var(--shadow);--e-panel:0 4px 12px var(--shadow);--e-modal:0 8px 24px var(--shadow);--z-sticky:5;--z-popover:20;--z-modal:30;--z-toast:40;--dur-fast:.12s;--dur:.15s}@media (pointer:coarse),(width<=600px){:root{--ctl:var(--tap);--field:36px;--t-shift:-1px}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--ground);background-image:radial-gradient(var(--dot) 1px, transparent 1.5px);background-size:var(--s4) var(--s4);color:var(--ink);font:var(--t-body) / var(--lh) var(--sans);margin:0}:focus-visible,[data-focus-ring]{outline:2px solid var(--amber);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<meta name="color-scheme" content="dark light">
|
|
7
7
|
<title>Components</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/gallery-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/tokens-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/tokens-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/gallery-
|
|
8
|
+
<script type="module" crossorigin src="/assets/gallery-ICJNZQIZ.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/tokens-C5ist-xG.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/tokens-CuK6hUMK.css">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/gallery-bG2vNzKT.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<!-- The fixtures gallery: every component in every state, for the eye and
|
package/lab/web/dist/index.html
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<meta name="color-scheme" content="dark light">
|
|
7
7
|
<title>Evals Lab</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/tokens-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/tokens-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-Crw-d4cy.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/tokens-C5ist-xG.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/tokens-CuK6hUMK.css">
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/main-Dxf5iQLA.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
package/package.json
CHANGED
package/lab/presets.json
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"id": "repeat-1.2",
|
|
4
|
-
"label": "repeat 1.2",
|
|
5
|
-
"opts": {
|
|
6
|
-
"repeatPenalty": "1.2"
|
|
7
|
-
}
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"id": "repeat-1.3",
|
|
11
|
-
"label": "repeat 1.3",
|
|
12
|
-
"opts": {
|
|
13
|
-
"repeatPenalty": "1.3"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"id": "frequency-0.5",
|
|
18
|
-
"label": "frequency 0.5",
|
|
19
|
-
"opts": {
|
|
20
|
-
"frequencyPenalty": "0.5"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"id": "presence-0.5",
|
|
25
|
-
"label": "presence 0.5",
|
|
26
|
-
"opts": {
|
|
27
|
-
"presencePenalty": "0.5"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"id": "dry",
|
|
32
|
-
"label": "DRY 0.8 / 1.75 / 2",
|
|
33
|
-
"opts": {
|
|
34
|
-
"dryMultiplier": "0.8",
|
|
35
|
-
"dryBase": "1.75",
|
|
36
|
-
"dryAllowedLength": "2"
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"id": "dry-strong",
|
|
41
|
-
"label": "DRY 2 / 2 / 2",
|
|
42
|
-
"opts": {
|
|
43
|
-
"dryMultiplier": "2",
|
|
44
|
-
"dryBase": "2",
|
|
45
|
-
"dryAllowedLength": "2"
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"id": "grammar",
|
|
50
|
-
"label": "grammar",
|
|
51
|
-
"opts": {
|
|
52
|
-
"grammar": "root ::= \" \"? item (\",\" \" \"? item){0,23}\nitem ::= word (\" \" word){0,3}\nword ::= [A-Za-z] [-A-Za-z']{0,23}"
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": "grammar-numbered",
|
|
57
|
-
"label": "grammar + numbers",
|
|
58
|
-
"opts": {
|
|
59
|
-
"grammar": "root ::= \" \"? item (\",\" \" \"? item){0,23}\nitem ::= (num \". \")? word (\" \" word){0,3}\nnum ::= [0-9] [0-9]?\nword ::= [A-Za-z] [-A-Za-z']{0,23}"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
]
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{An as e,Bn as t,Cn as n,Ct as r,Dt as i,En as a,Et as o,Fn as s,Gn as c,Hn as l,In as ee,It as u,Jt as d,Kt as f,Mn as te,Nt as ne,On as p,Ot as m,Pn as re,Pt as h,Qt as ie,Sn as g,Sr as ae,Tt as oe,Vn as se,Wn as ce,Yt as le,_n as ue,_t as de,an as fe,bn as _,bt as pe,cn as v,ct as me,dn as he,gn as y,gt as ge,ht as _e,in as ve,it as ye,kn as be,kt as b,l as xe,ln as x,mn as Se,n as Ce,nn as we,pn as S,qt as C,rn as w,s as T,tn as E,un as Te,wt as Ee,xr as De,xt as D,yn as Oe,yt as O,zn as ke}from"./tokens-mCS6IZGh.js";var k=ae(),Ae=De(),A=[{id:`text`,label:`Plain text`,settings:[]},{id:`list`,label:`List`,settings:[{key:`parse`,label:`Parse as`,type:`select`,choices:[{value:`csv`,label:`CSV`},{value:`lines`,label:`One a line`},{value:`json`,label:`JSON array`}]}]}],j=[{id:`case`,label:`Case`,accepts:[`list`],options:[{key:`mode`,label:`Mode`,type:`select`,choices:[{value:`LOWER`,label:`lower`},{value:`SENTENCE`,label:`Sentence`},{value:`TITLE`,label:`Title`},{value:`UPPER`,label:`UPPER`},{value:`NONE`,label:`As replied`}]}],defaults:()=>({type:`case`,mode:`LOWER`})},{id:`join`,label:`Join`,accepts:[`list`],options:[{key:`with`,label:`Separator`,type:`text`}],defaults:()=>({type:`join`,with:`, `})}],je=[{name:`language`,type:`value`,value:`English UK`},{name:`geo-location`,type:`value`,value:`Hamilton, Waikato, New Zealand`},{name:`geo`,type:`block`,enabled:!1}],Me=[{path:`group/open`,title:`Group, open`},{path:`group/closed`,title:`Group, closed with a note`},{path:`group/no-menu`,title:`Group without actions`},{path:`group/sub`,title:`Sub-group, level 3`},{path:`group/depth`,title:`Group, three levels deep`},{path:`group/renaming`,title:`Group, renaming`},{path:`menu/disabled`,title:`Menu with a disabled item`},{path:`row/button`,title:`Row actions, one action a button`},{path:`row/menu`,title:`Row actions, two or more in the menu`},{path:`actionbar/states`,title:`Action bar, docked under a header, in its four states`},{path:`tabs/main`,title:`Tab strip, the lab's tabs`},{path:`tabs/section`,title:`Tab strip, a section strip under the lab's`},{path:`header/pipeline`,title:`Context header, a Pipeline`},{path:`header/dataset`,title:`Context header, a Dataset`},{path:`header/source`,title:`Context header, a Source`},{path:`header/switcher`,title:`Switcher, recent and more`},{path:`header/switcher-detail`,title:`Switcher, with a detail`},{path:`picker/fields`,title:`Picker, a profile and a Source`},{path:`multi/closed`,title:`Multi-select, two of three ticked`},{path:`multi/open`,title:`Multi-select, its list open`},{path:`chiplist/words`,title:`Chip-list, words with the input to add more`},{path:`chiplist/empty`,title:`Chip-list, empty with its placeholder`},{path:`workspace/menu`,title:`Workspace trigger and its three-part menu`},{path:`copymove/choose`,title:`Copy or move, a destination chosen`},{path:`copymove/collision`,title:`Copy or move, the name is already taken`},{path:`copymove/confirm`,title:`Copy or move, a Move that breaks a dependency`},{path:`copymove/confirm-pipeline`,title:`Copy or move, a pipeline Move that leaves its data behind`},{path:`share/menu`,title:`Share menu, All / some / New workspaces`},{path:`header/long`,title:`Context header, a long name`},{path:`menu/busy`,title:`Menu with a busy item`},{path:`loading/group`,title:`Loading, inside a group`},{path:`loading/error`,title:`Loading failed, with Retry`},{path:`loading/busy-button`,title:`Busy buttons`},{path:`repeater/empty`,title:`Repeater, empty`},{path:`repeater/min`,title:`Repeater at min 1`},{path:`repeater/between`,title:`Repeater, two of four`},{path:`repeater/max`,title:`Repeater at max`},{path:`repeater/locked`,title:`Repeater, a locked row`},{path:`props/controls`,title:`Property table, every control`},{path:`props/required`,title:`Property table, required only`},{path:`props/long`,title:`Property table, long values`},{path:`props/cards`,title:`Property table, a kind chosen by card`},{path:`props/widths`,title:`Property table, a width per value`},{path:`props/affix`,title:`Property table, a fixed suffix and a field's error`},{path:`props/secret`,title:`Property table, a key held and not held`},{path:`props/code`,title:`Property table, an endpoint and a payload`},{path:`table/sortable`,title:`Table, sortable headers and a row menu`},{path:`table/paged`,title:`Table, paged ten at a time`},{path:`table/select`,title:`DataTable with selection`},{path:`table/select-on`,title:`Table, two rows selected`},{path:`table/filter`,title:`Table with a filter bar`},{path:`table/filter-on`,title:`Table, filtered, with a scope`},{path:`edit/form`,title:`Edit modal, a profile`},{path:`edit/plain`,title:`Edit modal, one section and no menu`},{path:`edit/long`,title:`Edit modal, a form that scrolls`},{path:`edit/status`,title:`Edit modal, a status that is a refusal`},{path:`edit/picker`,title:`Dialog with nothing to save, a picker: Cancel`},{path:`edit/viewer`,title:`Dialog with nothing to save, a viewer: Close`},{path:`view/tokens`,title:`Token mappings`},{path:`view/output`,title:`Output with Case`},{path:`view/output-text`,title:`Output, plain text`},{path:`view/output-two`,title:`Output with two modifiers`},{path:`view/output-twice`,title:`Output with the same modifier twice`},{path:`view/output-flow`,title:`Responses with Read as`},{path:`view/field-chip`,title:`Field chips in a target's words, with a changed word`},{path:`view/field-edit`,title:`The Edited target's editable prompt, with Insert field and a highlighted diff`},{path:`view/insert-field`,title:`The Edited target's Insert field menu, open`},{path:`wizard/pill`,title:`Wizard pill, two of four steps done`},{path:`wizard/pill-open`,title:`Wizard pill, its checklist open on the current step`},{path:`switch/off`,title:`Switch, off`},{path:`switch/on`,title:`Switch, on`},{path:`switch/disabled`,title:`Switch, disabled`},{path:`badge/tones`,title:`Badge, in each tone`},{path:`button/link`,title:`Link button, in a sentence and in a table cell`},{path:`button/destructive`,title:`Destructive button, ghost and filled`},{path:`pills/one`,title:`Pills, one of a few (how a list is shown)`},{path:`pills/some`,title:`Pills, any of a few (which parts of a list show)`},{path:`radiocards/types`,title:`Radio cards, a name and what it does`},{path:`radiocards/detail`,title:`Radio cards, a control in a card`},{path:`radiocards/compact`,title:`Radio cards, compact, with pictures`},{path:`versions/restore`,title:`Restore versions, the dialog`},{path:`versions/table`,title:`Versions table, columns of its own and words to open`},{path:`table/expand`,title:`Table, a row open onto its detail`},{path:`table/pinned`,title:`Table, a pinned row drawn through the columns`},{path:`sync/bar`,title:`Sync bar, a conflict and an offline save`},{path:`why/button`,title:`Why button, disabled with a reason`}],M=ue(),N=()=>{},P=(...e)=>e.map(e=>({label:e,icon:e===`Remove`?y.remove:e===`Clone`?y.clone:y.rename,onSelect:N,destructive:e===`Remove`}));function F({start:e,min:t,max:n,locked:r}){let[i,a]=(0,k.useState)(e);return(0,M.jsx)(pe,{noun:`scenario`,items:i,...t===void 0?{}:{min:t},...n===void 0?{}:{max:n},...r?{locked:r}:{},onAdd:()=>a([...i,`Target ${String.fromCharCode(65+i.length)}`]),onRemove:e=>a(i.filter((t,n)=>n!==e)),onClone:e=>a([...i.slice(0,e+1),`${i[e]} copy`,...i.slice(e+1)]),onRename:N,empty:`No targets yet.`,renderItem:(e,t,n)=>(0,M.jsx)(x,{id:`scenario-${t}`,title:e,level:3,actions:n,children:(0,M.jsx)(`p`,{className:`note`,children:`A connection, a profile and a prompt for each job.`})},`${e}-${t}`)})}function Ne(){let[e,t]=(0,k.useState)(je),n=(n,r)=>t(e.map(e=>e.name===n?{...e,...r}:e));return(0,M.jsx)(xe,{mappings:e,onValue:(e,t)=>n(e,{value:t}),onEnabled:(e,t)=>n(e,{enabled:t}),onEdit:N,onRemove:n=>t(e.filter(e=>e.name!==n)),onAdd:()=>t([...e,{name:`token${e.length+1}`,type:`value`,value:``}])})}function I({start:e,readAs:t}){let[n,r]=(0,k.useState)(e),[i,a]=(0,k.useState)(t);return(0,M.jsx)(ye,{id:`output`,out:n,readAs:i,outputKinds:A,modifiers:j,onFormat:e=>r({kind:e,modifiers:n.modifiers.filter(t=>j.find(e=>e.id===t.type)?.accepts.includes(e))}),onReadAs:a,onModifier:(e,t)=>r({...n,modifiers:n.modifiers.map((n,r)=>r===e?t:n)}),onAddModifier:e=>r({...n,modifiers:[...n.modifiers,e]}),onRemoveModifier:e=>r({...n,modifiers:n.modifiers.filter((t,n)=>n!==e)})})}function Pe(){let[e,t]=(0,k.useState)(`Job 1`),[n,r]=(0,k.useState)(!0);return(0,M.jsx)(x,{id:`renaming`,title:e,actions:[{label:`Rename…`,icon:y.rename,onSelect:()=>r(!0)}],...n?{rename:{value:e,onCommit:n=>{t(n||e),r(!1)},onCancel:()=>r(!1)}}:{},children:(0,M.jsx)(`p`,{className:`note`,children:`Enter or leaving keeps the name; Escape cancels.`})})}function Fe(){let[e,t]=(0,k.useState)(`system`);return(0,M.jsx)(`div`,{className:`gallery-row`,style:{justifyContent:`flex-end`},children:(0,M.jsx)(o,{current:{id:`w1`,slug:`work`,name:`Work`},workspaces:[{id:`w1`,slug:`work`,name:`Work`},{id:`w2`,slug:`side-project`,name:`Side project`},{id:`w3`,slug:`client-demos`,name:`Client demos`}],onSwitch:N,onNew:N,onManage:N,theme:e,onTheme:t})})}var Ie=[{id:`cur`,slug:`work`,name:`Work`,archived:!1,isDefault:!0,lastUsed:`2026-10-08T09:30:00Z`,createdAt:null,pipelines:4,runs:18},{id:`side`,slug:`side-project`,name:`Side project`,archived:!1,isDefault:!1,lastUsed:`2026-10-07T09:30:00Z`,createdAt:null,pipelines:2,runs:6},{id:`demos`,slug:`client-demos`,name:`Client demos`,archived:!1,isDefault:!1,lastUsed:`2026-10-06T09:30:00Z`,createdAt:null,pipelines:1,runs:0}],Le={id:`cur`,slug:`work`,name:`Work`},Re={undo:null,offer:N,undoNow:N,dismiss:N},ze=e=>({copyMovePreflight:async()=>({nameTaken:e,suggestedName:`Daily regressions (copy)`}),copyAsset:async()=>({id:`copy`}),moveAsset:async()=>({id:`same`}),forWorkspace:()=>({})});function L({nameTaken:e=!1,confirm:t=!1,subject:n,dependents:r=[]}){return(0,M.jsx)(_e,{api:ze(e),subject:n??{kind:`filter-set`,id:`f1`,name:`Daily regressions`},workspaces:Ie,current:Le,dependents:r,undo:Re,onClose:N,defaultDest:`side`,...t?{defaultConfirm:!0}:{}})}function Be(){let e=[{id:`w1`,name:`Work`},{id:`w2`,name:`Side project`},{id:`w3`,name:`Client demos`}];return(0,M.jsx)(`div`,{style:{display:`grid`,gap:`var(--s3)`,maxWidth:`20rem`},children:[{label:`All workspaces`,shares:void 0},{label:`Some workspaces`,shares:[`w2`]},{label:`New workspaces`,shares:[r]},{label:`No workspaces`,shares:[Ee]}].map(t=>(0,M.jsx)(oe,{label:t.label,workspaces:e,shares:t.shares,onChange:N},t.label))})}function R({sections:e,menu:t,status:n,statusBad:r,outcome:i}){return(0,M.jsx)(f,{title:`Lab Ollama`,...n?{status:n}:{},...r?{statusBad:!0}:{},...t?{menu:t}:{},sections:e,actions:[{label:`Test connection`,icon:be,onSelect:N,outcome:i?{label:i,onOpen:N}:void 0}],onClose:N})}var z=()=>[{key:`name`,label:`Name`,width:`full`,required:!0,control:{type:`text`,value:`Lab Ollama`,onChange:N}},{key:`slug`,label:`Slug`,width:`full`,required:!0,control:{type:`text`,value:`lab-ollama`,onChange:N}},{key:`type`,label:`Type`,required:!0,control:{type:`select`,value:`ollama`,onChange:N,options:[{value:`ollama`,label:`Ollama (Local)`},{value:`anthropic`,label:`Anthropic`}]}},{key:`url`,label:`Address`,width:`full`,control:{type:`text`,value:``,placeholder:`http://127.0.0.1:11434`,onChange:N}},{key:`key`,label:`Key`,control:{type:`secret`,value:``,onChange:N}},{key:`model`,label:`Model`,width:`full`,control:{type:`text`,value:`minicpm-v4.6:latest`,onChange:N}}],B=()=>[{key:`seed`,label:`Seed`,control:{type:`text`,value:``,placeholder:`1234`,onChange:N}},{key:`nPredict`,label:`Reply tokens`,width:`quarter`,control:{type:`text`,value:``,onChange:N}},{key:`temperature`,label:`Temperature`,control:{type:`text`,value:`0.3`,onChange:N}},{key:`repeatPenalty`,label:`Repeat penalty`,width:`quarter`,control:{type:`text`,value:``,onChange:N}}],V=()=>[{key:`endpoint`,label:`Endpoint`,required:!0,control:{type:`code`,text:`http://127.0.0.1:11434/api/chat`}},{key:`prompt`,label:`Prompt`,required:!0,control:{type:`static`,text:`(prompt)`}},{key:`model`,label:`model`,control:{type:`code`,text:`minicpm-v4.6:latest`}},{key:`options`,label:`options`,control:{type:`code`,text:`{"seed":1234,"temperature":0.3}`}}],H={key:`kind`,label:`Response Format`,required:!0,control:{type:`select`,value:`list`,onChange:N,options:A.map(e=>({value:e.id,label:e.label}))}};function U({actions:e}){return(0,M.jsx)(x,{id:`g`,title:`Actions`,children:(0,M.jsx)(u,{label:`Actions`,rows:[{name:`Ask_Claude`}],rowKey:e=>e.name,columns:[{key:`name`,header:`Name`,role:`title`,cell:e=>e.name},{key:`menu`,header:``,role:`menu`,sort:null,cell:()=>(0,M.jsx)(Te,{label:`Ask_Claude actions`,actions:e})}]})})}var Ve=[[`home`,`Home`,s],[`runs`,`Runs`,se],[`history`,`History`,ee],[`library`,`Library`,re],[`setup`,`Setup`,a]],He=[[`datasets`,`Datasets`,c],[`prompts`,`Prompts`,te],[`sources`,`Sources`,t]],W=e=>(0,M.jsx)(w,{label:`Lab`,current:e,items:Ve.map(([e,t,n])=>({key:e,label:t,icon:n,href:`#/${e}`}))}),G=e=>(0,M.jsx)(w,{label:`Library`,level:`section`,current:e,items:He.map(([e,t,n])=>({key:e,label:t,icon:n,href:`#/library/${e}`}))}),K=({section:e,children:t})=>(0,M.jsxs)(`div`,{children:[W(e?`library`:`runs`),e&&G(e),t]}),q=(...e)=>e.map(e=>({label:e,icon:e===`Delete`?y.remove:e===`Clone`?y.clone:y.rename,onSelect:N,destructive:e===`Delete`})),Ue={"header/pipeline":()=>(0,M.jsx)(K,{children:(0,M.jsx)(E,{kind:`Pipeline`,name:`Pipeline 1`,onPick:N,meta:`2 jobs, 3 targets`,primary:{label:`New pipeline`,icon:p,onSelect:N},actions:q(`Rename…`,`Clone`,`Export YAML`,`Import YAML…`,`Restore…`,`Delete`)})}),"header/dataset":()=>(0,M.jsx)(K,{section:`datasets`,children:(0,M.jsx)(E,{kind:`Dataset`,name:`Demo 1`,onPick:N,meta:`62 cases, 19 graded`,primary:{label:`New dataset`,icon:p,onSelect:N},actions:q(`Rename…`,`Clone`,`Import JSON…`,`Export JSON`,`Restore…`,`Delete`)})}),"header/switcher":()=>(0,M.jsx)(b,{kind:`Pipeline`,value:`p5`,onPick:N,onClose:N,recent:[`p7`,`p6`,`p5`,`p4`,`p3`],options:Array.from({length:13},(e,t)=>({id:`p${t}`,label:[`Demo 1`,`Demo 2`,`Receipts`,`Menus`,`Street signs`,`Labels`,`Plates`,`Posters`,`Packaging`,`Whiteboards`,`Book spines`,`Shop fronts`,`Timetables`][t],used:t<8?{at:`2026-10-0${t+1}T09:30:00Z`,label:O(`2026-10-0${t+1}T09:30:00Z`)}:null}))}),"header/switcher-detail":()=>(0,M.jsx)(b,{kind:`Connection`,value:`c1`,onPick:N,onClose:N,detailLabel:`Model`,recent:[`c3`,`c1`],options:[[`Lab Ollama gemma3 4b`,`gemma3:4b`],[`Lab Ollama minicpm`,`minicpm-v`],[`Anthropic`,`claude-sonnet-4-5`],[`Dell llama`,`qwen2.5vl:7b`],[`OpenAI`,`gpt-5`],[`Docker llama`,`qwen2.5vl:7b`]].map(([e,t],n)=>({id:`c${n}`,label:e,detail:t,used:n<4?{at:`2026-10-1${n}T09:30:00Z`,label:O(`2026-10-1${n}T09:30:00Z`)}:null}))}),"picker/fields":()=>(0,M.jsx)(x,{id:`g`,title:`Target A`,children:(0,M.jsx)(C,{label:`Target A setup`,rows:[{key:`profile`,label:`Profile`,control:{type:`picker`,kind:`Profile`,value:`p2`,usedLabel:`Last changed`,onChange:N,recent:[`p5`,`p4`,`p3`,`p2`,`p1`],options:[{id:`#echo`,label:`Echo`,fixed:!0},...[`Lab Ollama`,`Anthropic`,`Cloud vision`,`Local llama`,`OpenRouter`,`Bench`,`Vision`].map((e,t)=>({id:`p${t}`,label:e,used:t<6?{at:`2026-10-0${t+1}T09:30:00Z`,label:O(`2026-10-0${t+1}T09:30:00Z`)}:null}))]}},{key:`source`,label:`Source`,control:{type:`picker`,kind:`Source`,value:`gone`,usedLabel:`Last changed`,onChange:N,options:[{id:``,label:`Any`,fixed:!0},{id:`gone`,label:`Shoot 3 (missing)`,missing:!0},{id:`s1`,label:`Receipts`}]}}]})}),"header/source":()=>(0,M.jsx)(K,{section:`sources`,children:(0,M.jsx)(E,{kind:`Source`,name:`Demo 1 images`,onPick:N,meta:`File Library. 63 files, 48 MB`,primary:{label:`Upload…`,icon:_,onSelect:N},actions:q(`Rename…`,`Delete`)})}),"workspace/menu":()=>(0,M.jsx)(Fe,{}),"copymove/choose":()=>(0,M.jsx)(L,{}),"copymove/collision":()=>(0,M.jsx)(L,{nameTaken:!0}),"copymove/confirm":()=>(0,M.jsx)(L,{confirm:!0,dependents:[{kind:`pipeline`,id:`w1`,name:`Nightly regression`,href:`#/runs`}]}),"copymove/confirm-pipeline":()=>(0,M.jsx)(L,{confirm:!0,subject:{kind:`pipeline`,id:`w1`,name:`Nightly regression`},dependents:[{kind:`eval-group`,id:`g1`,name:`Receipts, 62 cases`,href:`#/library/datasets/g1`},{kind:`source`,id:`s1`,name:`Receipt images`,href:`#/library/sources`}]}),"share/menu":()=>(0,M.jsx)(Be,{}),"header/long":()=>(0,M.jsx)(K,{children:(0,M.jsx)(E,{kind:`Pipeline`,name:`Receipts and handwritten menus, second pass with the tighter prompt and a Contains metric`,onPick:N,meta:`12 jobs, 8 targets`,primary:{label:`New pipeline`,icon:p,onSelect:N},actions:q(`Rename…`,`Clone`,`Delete`)})}),"actionbar/states":()=>(0,M.jsxs)(`div`,{children:[W(`runs`),(0,M.jsx)(E,{kind:`Pipeline`,name:`Demo 1`,onPick:N,meta:`1 job, 2 targets`,docked:!0,primary:{label:`New pipeline`,icon:p,onSelect:N},actions:q(`Rename…`,`Delete`)}),(0,M.jsx)(D,{primary:{label:`Run`,icon:e,onSelect:N},status:(0,M.jsx)(`b`,{children:`Ready to run`})}),(0,M.jsxs)(`div`,{style:{display:`grid`,gap:`var(--s4)`,marginTop:`var(--s5)`},children:[(0,M.jsx)(D,{primary:{label:`Run`,icon:e,onSelect:N,disabled:!0},status:(0,M.jsxs)(M.Fragment,{children:[`Connection "Vision" not found. `,(0,M.jsxs)(`a`,{href:`#/setup`,style:{whiteSpace:`nowrap`},children:[`Open`,`\xA0`,`Setup`]})]})}),(0,M.jsx)(D,{primary:{label:`Run`,icon:e,onSelect:N,disabled:!0},status:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`b`,{children:`Running`}),` 12 of 42`]}),secondary:{label:`Stop`,icon:n,onSelect:N},progress:28,progressLabel:`Run progress`}),(0,M.jsx)(D,{primary:{label:`Run`,icon:e,onSelect:N},status:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`b`,{children:`Done`}),` 42 in 2m`]})})]})]}),"tabs/main":()=>W(`runs`),"tabs/section":()=>(0,M.jsxs)(`div`,{children:[W(`library`),G(`datasets`)]}),"group/open":()=>(0,M.jsx)(x,{id:`g`,title:`Evals`,actions:P(`Change…`,`Remove`),children:(0,M.jsx)(`p`,{className:`note`,children:`The graded set.`})}),"group/closed":()=>(0,M.jsx)(x,{id:`g`,title:`Content`,open:!1,note:`Sample library, 63 files`,actions:P(`Change…`,`Remove`)}),"group/no-menu":()=>(0,M.jsx)(x,{id:`g`,title:`Mapping`,children:(0,M.jsx)(`p`,{className:`note`,children:`Nothing to do to it.`})}),"group/sub":()=>(0,M.jsx)(x,{id:`g`,title:`Job 1`,actions:P(`Rename…`,`Remove`),children:(0,M.jsx)(x,{id:`g-sub`,title:`Scenarios`,level:3,actions:P(`Clear`),children:(0,M.jsx)(`p`,{className:`note`,children:`Inside a pane.`})})}),"group/depth":()=>(0,M.jsxs)(x,{id:`g`,title:`Job 1`,actions:P(`Rename…`,`Remove`),children:[(0,M.jsxs)(x,{id:`g-scenarios`,title:`Scenarios`,level:3,children:[(0,M.jsx)(x,{id:`g-plain`,title:`Plain`,level:3,actions:P(`Rename…`,`Remove`),children:(0,M.jsx)(`p`,{className:`note`,children:`A pane, a section of it, and a thing with a name inside that section.`})}),(0,M.jsx)(x,{id:`g-strict`,title:`Strict`,level:3,actions:P(`Rename…`,`Remove`)})]}),(0,M.jsx)(x,{id:`g-output`,title:`Output`,level:3,children:(0,M.jsx)(`p`,{className:`note`,children:`The next section of the same pane.`})})]}),"group/renaming":()=>(0,M.jsx)(Pe,{}),"menu/disabled":()=>(0,M.jsx)(x,{id:`g`,title:`Target D`,actions:[{label:`Rename…`,icon:y.rename,onSelect:N},{label:`Clone`,icon:y.clone,onSelect:N,disabled:!0},{label:`Remove`,icon:y.remove,onSelect:N,destructive:!0}]}),"row/button":()=>(0,M.jsx)(U,{actions:[{label:`New pipeline`,icon:e,onSelect:N}]}),"row/menu":()=>(0,M.jsx)(U,{actions:[{label:`View…`,icon:l,onSelect:N},{label:`Download`,icon:ce,onSelect:N},{label:`Remove`,icon:g,onSelect:N,destructive:!0}]}),"menu/busy":()=>(0,M.jsx)(x,{id:`g`,title:`History`,actions:[{label:`Export JSON`,icon:y.export,onSelect:N,busy:!0},{label:`Clear`,icon:y.clear,onSelect:N,destructive:!0}]}),"loading/group":()=>(0,M.jsx)(x,{id:`g`,title:`History`,actions:P(`Rename…`),children:(0,M.jsx)(S,{label:`Runs`,delay:0})}),"loading/error":()=>(0,M.jsx)(x,{id:`g`,title:`History`,children:(0,M.jsx)(S,{label:`Runs`,error:`Runs not loaded: server unreachable.`,onRetry:N})}),"loading/busy-button":()=>(0,M.jsx)(x,{id:`g`,title:`Run`,children:(0,M.jsxs)(`div`,{className:`gallery-row`,children:[(0,M.jsxs)(`button`,{type:`button`,className:`run`,disabled:!0,"aria-busy":!0,children:[(0,M.jsx)(Se,{size:16}),`Run`]}),(0,M.jsxs)(`button`,{type:`button`,className:`ghost`,disabled:!0,"aria-busy":!0,children:[(0,M.jsx)(Se,{}),`Older`]})]})}),"repeater/empty":()=>(0,M.jsx)(F,{start:[]}),"repeater/min":()=>(0,M.jsx)(F,{start:[`Target A`],min:1}),"repeater/between":()=>(0,M.jsx)(F,{start:[`Target A`,`Target B`],min:1,max:4}),"repeater/max":()=>(0,M.jsx)(F,{start:[`Target A`,`Target B`,`Target C`,`Target D`],min:1,max:4}),"repeater/locked":()=>(0,M.jsx)(F,{start:[`Reply`,`Target A`],locked:(e,t)=>t===0}),"props/controls":()=>(0,M.jsx)(C,{label:`Controls`,onRename:N,onRemove:N,onAdd:N,addLabel:`Add row`,rows:[H,{key:`language`,label:`{language}`,code:!0,control:{type:`text`,value:`English UK`,onChange:N}},{key:`geo`,label:`{geo}…{/geo}`,code:!0,control:{type:`static`,text:`Block`},enabled:{checked:!0,onChange:N}},{key:`image`,label:`Image`,control:{type:`checkbox`,checked:!0,label:`Send`,onChange:N}}]}),"props/required":()=>(0,M.jsx)(C,{label:`Output`,onRemove:N,rows:[H]}),"props/long":()=>(0,M.jsx)(C,{label:`Long`,onRemove:N,rows:[{key:`geo-location`,label:`{geo-location}`,code:!0,control:{type:`text`,value:`Hamilton, Waikato, New Zealand, Southern Hemisphere, Earth`,onChange:N}},{key:`averylongtokennamethatdoesnotbreak`,label:`{averylongtokennamethatdoesnotbreak}`,code:!0,control:{type:`text`,value:``,onChange:N}}]}),"props/cards":()=>(0,M.jsx)(tt,{}),"props/widths":()=>(0,M.jsx)(C,{label:`Widths`,rows:[{key:`type`,label:`Type`,required:!0,control:{type:`select`,value:`ollama`,onChange:N,options:[{value:`ollama`,label:`Ollama (Local)`},{value:`anthropic`,label:`Anthropic`}]}},{key:`url`,label:`Address`,width:`full`,control:{type:`text`,value:``,placeholder:`http://127.0.0.1:11434`,onChange:N}},{key:`model`,label:`Model`,width:`full`,control:{type:`text`,value:`minicpm-v4.6:latest`,onChange:N}},{key:`seed`,label:`Seed`,control:{type:`text`,value:``,placeholder:`1234`,onChange:N}},{key:`nPredict`,label:`Reply tokens`,width:`quarter`,control:{type:`text`,value:``,onChange:N}},{key:`temperature`,label:`Temperature`,control:{type:`text`,value:`0.2`,onChange:N}},{key:`grammar`,label:`Grammar`,control:{type:`textarea`,value:`root ::= item (", " item)*
|
|
2
|
-
item ::= [a-z ]+`,onChange:N}}]}),"props/affix":()=>(0,M.jsx)(C,{label:`Call`,rows:[{key:`name`,label:`Name`,control:{type:`text`,value:`open-meteo-forecast`,suffix:`.txt`,onChange:N}},{key:`taken`,label:`Name`,error:`open-meteo-forecast-storm.txt is taken.`,control:{type:`text`,value:`open-meteo-forecast-storm`,suffix:`.txt`,onChange:N}},{key:`status`,label:`Status`,width:`quarter`,control:{type:`text`,value:`200`,numeric:!0,onChange:N}},{key:`body`,label:`Body`,control:{type:`textarea`,mono:!0,value:`{
|
|
3
|
-
"category": "utilities"
|
|
4
|
-
}`,onChange:N}}]}),"props/secret":()=>(0,M.jsx)(C,{label:`Keys`,rows:[{key:`held`,label:`Key`,control:{type:`secret`,value:`sk-not-a-real-key-0000`,onChange:N}},{key:`empty`,label:`Key`,control:{type:`secret`,value:``,onChange:N}},{key:`server`,label:`Key`,control:{type:`secret`,value:``,held:!0,onChange:N}}]}),"props/code":()=>(0,M.jsx)(C,{label:`Debug`,rows:[{key:`endpoint`,label:`Endpoint`,required:!0,control:{type:`code`,text:`https://api.anthropic.com/v1/messages`}},{key:`prompt`,label:`Prompt`,required:!0,control:{type:`static`,text:`(prompt)`}},{key:`model`,label:`model`,control:{type:`code`,text:`claude-sonnet-4-5-20250929`}},{key:`options`,label:`options`,control:{type:`code`,text:`{"seed":1234,"temperature":0}`}},{key:`stream`,label:`stream`,control:{type:`code`,text:`false`}}]}),"table/sortable":()=>(0,M.jsx)($,{count:4}),"table/paged":()=>(0,M.jsx)($,{count:35,pageSize:10}),"table/select":()=>(0,M.jsx)($,{count:5,picked:[]}),"table/select-on":()=>(0,M.jsx)($,{count:5,picked:[1,3]}),"table/filter":()=>(0,M.jsx)(et,{}),"table/filter-on":()=>(0,M.jsx)(et,{search:`IMG_40`,size:`large`}),"edit/form":()=>(0,M.jsx)(R,{outcome:`Connected`,menu:[{label:`Restore…`,icon:y.restore,onSelect:N},{label:`Apply preset: repeat 1.3`,icon:y.preset,onSelect:N}],sections:[{key:`identity`,rows:z()},{key:`settings`,title:`Settings`,rows:B()},{key:`debug`,title:`Debug`,rows:V(),folded:!0}]}),"edit/plain":()=>(0,M.jsx)(f,{title:`A mapping`,sections:[{key:`one`,rows:[H,{key:`with`,label:`Separator`,control:{type:`text`,value:`, `,onChange:N}}]}],onClose:N}),"edit/long":()=>(0,M.jsx)(R,{menu:[{label:`Restore…`,icon:y.restore,onSelect:N,disabled:!0}],sections:[{key:`identity`,rows:z()},{key:`settings`,title:`Settings`,rows:[...B(),{key:`grammar`,label:`Grammar`,control:{type:`textarea`,value:`root ::= item (", " item)*
|
|
5
|
-
item ::= [a-z ]+`,onChange:N}},{key:`imagePosition`,label:`Image position`,control:{type:`select`,value:`after`,onChange:N,options:[{value:`before`,label:`before the prompt`},{value:`after`,label:`after the prompt`}]}},{key:`cachePrompt`,label:`Cache prompt`,control:{type:`select`,value:`off`,onChange:N,options:[{value:`on`,label:`on`},{value:`off`,label:`off`}]}}]},{key:`debug`,title:`Debug`,rows:V(),folded:!0}]}),"edit/status":()=>(0,M.jsx)(R,{status:`the relay could not reach http://127.0.0.1:11434`,statusBad:!0,sections:[{key:`identity`,rows:z()}]}),"edit/picker":()=>(0,M.jsx)(ie,{title:`Link eval group`,onClose:N,dismiss:`Cancel`,children:(0,M.jsx)(`div`,{className:`edit-choices`,children:[`Captions`,`Sentiment`,`Weather alerts`].map(e=>(0,M.jsx)(`button`,{type:`button`,className:`ghost`,children:e},e))})}),"edit/viewer":()=>(0,M.jsx)(f,{title:`Test connection`,sections:[{key:`result`,rows:[{key:`time`,label:`Time`,control:{type:`static`,text:`412 ms`}},{key:`result`,label:`Result`,control:{type:`static`,text:`Reached Ollama. 2 models: gemma3:4b, minicpm-v.`}}]}],onClose:N}),"view/tokens":()=>(0,M.jsx)(x,{id:`g`,title:`Token mappings`,level:3,children:(0,M.jsx)(Ne,{})}),"view/output":()=>(0,M.jsx)(I,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`LOWER`}]}}),"view/output-text":()=>(0,M.jsx)(I,{start:{kind:`text`,modifiers:[]}}),"view/output-two":()=>(0,M.jsx)(I,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`TITLE`},{type:`join`,with:` | `}]}}),"view/output-twice":()=>(0,M.jsx)(I,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`TITLE`},{type:`case`,mode:`LOWER`}]}}),"view/output-flow":()=>(0,M.jsx)(I,{start:{kind:`text`,modifiers:[]},readAs:`@body('Ask')?['content']?[0]?['text']`}),"view/field-chip":()=>(0,M.jsx)(x,{id:`g`,title:`Edited`,level:3,children:(0,M.jsxs)(`div`,{className:`prompt`,children:[(0,M.jsx)(`span`,{className:`prop-name`,children:`Prompt`}),(0,M.jsx)(T,{words:`Summarise @{triggerBody()?['text']} in two short sentences for @{variables('Audience')}.`,was:`Summarise @{triggerBody()?['text']} in one sentence for @{variables('Audience')}.`})]})}),"view/field-edit":()=>(0,M.jsx)(Xe,{}),"view/insert-field":()=>(0,M.jsx)(x,{id:`g`,title:`Edited`,level:3,children:(0,M.jsxs)(`div`,{className:`prompt`,children:[(0,M.jsxs)(`div`,{className:`pe-head`,children:[(0,M.jsx)(`span`,{className:`prop-name`,children:`Prompt`}),(0,M.jsx)(fe,{fields:Ye,onInsert:N,label:`Edited`,defaultOpen:!0})]}),(0,M.jsx)(`textarea`,{"aria-label":`Edited, prompt`,rows:4,defaultValue:X}),(0,M.jsx)(T,{className:`pe-words`,words:X,was:Je,showExprs:!1})]})}),"multi/closed":()=>(0,M.jsx)(Z,{}),"multi/open":()=>(0,M.jsx)(Z,{open:!0}),"chiplist/words":()=>(0,M.jsx)(Ze,{start:[`clearly`,`obviously`,`as an AI`]}),"chiplist/empty":()=>(0,M.jsx)(Ze,{start:[]}),"wizard/pill":()=>(0,M.jsx)(Qe,{}),"wizard/pill-open":()=>(0,M.jsx)(Qe,{open:!0}),"switch/off":()=>(0,M.jsx)(qe,{}),"switch/on":()=>(0,M.jsx)(qe,{start:!0}),"switch/disabled":()=>(0,M.jsx)(d,{checked:!0,disabled:!0,label:`Fetch now`,onChange:N}),"badge/tones":()=>(0,M.jsxs)(`div`,{className:`gallery-row`,children:[(0,M.jsx)(v,{children:`Latest`}),(0,M.jsx)(v,{tone:`amber`,children:`Default`}),(0,M.jsx)(v,{tone:`sage`,children:`Done`}),(0,M.jsx)(v,{tone:`rust`,children:`Failed`})]}),"button/link":()=>(0,M.jsxs)(x,{id:`g`,title:`Evals`,children:[(0,M.jsxs)(`p`,{className:`note`,children:[`Graded by `,(0,M.jsx)(`button`,{type:`button`,className:`link-btn`,onClick:N,children:`Reference`}),`.`]}),(0,M.jsx)(u,{label:`Eval groups`,rows:[{id:`reference`,name:`Reference`},{id:`tone`,name:`Tone of voice`}],rowKey:e=>e.id,columns:[{key:`name`,header:`Name`,role:`title`,sort:e=>e.name,cell:e=>(0,M.jsx)(`button`,{type:`button`,className:`link-btn`,onClick:N,children:e.name})}]})]}),"button/destructive":()=>(0,M.jsxs)(`div`,{className:`gallery-row`,children:[(0,M.jsxs)(`button`,{type:`button`,className:`ghost destructive`,onClick:N,children:[(0,M.jsx)(g,{size:14,"aria-hidden":`true`}),` Remove`]}),(0,M.jsxs)(`button`,{type:`button`,className:`destructive`,onClick:N,children:[(0,M.jsx)(g,{size:14,"aria-hidden":`true`}),` Delete`]}),(0,M.jsx)(`button`,{type:`button`,className:`destructive`,disabled:!0,onClick:N,children:`Delete`})]}),"pills/one":()=>(0,M.jsx)(J,{}),"pills/some":()=>(0,M.jsx)(J,{some:!0}),"radiocards/types":()=>(0,M.jsx)(Y,{}),"radiocards/detail":()=>(0,M.jsx)(Y,{detail:!0}),"radiocards/compact":()=>(0,M.jsx)(Y,{compact:!0}),"versions/restore":()=>(0,M.jsx)(ge,{noun:`pipeline`,versions:We,at:e=>e.at,reason:e=>e.reason,onRestore:N,onClose:N}),"versions/table":()=>(0,M.jsx)(x,{id:`versions`,title:`Versions`,children:(0,M.jsx)(de,{label:`Versions`,versions:Ge,at:e=>e.at,atLabel:`Made`,rowKey:e=>String(e.version),columns:[{key:`version`,header:`Version`,role:`title`,cell:e=>`v${e.version}${e.version===3?` (newest)`:``}`}],current:e=>e.version===3,onRestore:N,expand:{label:(e,t)=>t?`Hide words`:`Show words`,detail:e=>(0,M.jsx)(`p`,{className:`note`,children:e.text})}})}),"table/expand":()=>(0,M.jsx)(Ke,{}),"table/pinned":()=>(0,M.jsx)(x,{id:`profiles`,title:`Connection Profiles`,children:(0,M.jsx)(u,{label:`Profiles`,cards:!0,rows:Q(3),rowKey:e=>e.name,pinnedRow:{name:`(Default)`,kb:0},select:{noun:`profile`},columns:[{key:`name`,header:`Profile`,role:`title`,cell:e=>e.name===`(Default)`?(0,M.jsx)(`span`,{className:`note`,children:e.name}):e.name},{key:`size`,header:`Size`,className:`num`,sort:e=>e.kb,cell:e=>e.kb?`${e.kb} KB`:`(Any)`}]})}),"sync/bar":()=>(0,M.jsx)(me,{lines:[{key:`c`,alert:!0,text:`Data conflict: Reference.`,actions:[{label:`Keep this tab's data`,onSelect:N},{label:`Lose this tab's changes`,onSelect:N}]},{key:`o`,text:`Receipts not saved: the server could not be reached.`,actions:[{label:`Retry`,onSelect:N}]}]}),"why/button":()=>(0,M.jsxs)(`div`,{className:`sacts`,children:[(0,M.jsx)(`button`,{type:`button`,className:`ghost`,children:`Cancel`}),(0,M.jsx)(we,{why:`Needs a prompt`,disabled:!0,onClick:N,children:`Create`})]})},We=[{at:`2026-10-13T14:47:00Z`,reason:`run`},{at:`2026-10-13T11:02:00Z`,reason:`idle`},{at:`2026-10-12T09:30:00Z`,reason:`restore`}],Ge=[{version:3,at:`2026-10-13T14:47:00Z`,text:`List what you see, one item a line.`},{version:2,at:`2026-10-12T11:02:00Z`,text:`List what you see.`},{version:1,at:`2026-10-10T09:30:00Z`,text:`Describe it.`}];function J({some:e}){let[t,n]=(0,k.useState)(`thumbs`),[r,i]=(0,k.useState)(new Set([`todo`,`missing`]));return e?(0,M.jsx)(h,{label:`Show`,on:r,onToggle:e=>i(t=>{let n=new Set(t);return n.delete(e)||n.add(e),n}),options:[{value:`graded`,label:`Graded 12`},{value:`todo`,label:`To do 3`},{value:`missing`,label:`Missing 1`}]}):(0,M.jsx)(h,{label:`View`,value:t,onChange:n,options:[{value:`thumbs`,label:`Thumbnails`},{value:`list`,label:`List`}]})}function Y({detail:e,compact:t}){let[n,r]=(0,k.useState)(t?`b.jpg`:e?`new`:`drop`),[i,a]=(0,k.useState)(``);return t?(0,M.jsx)(m,{label:`3 items without a case`,legend:!0,compact:!0,value:n,onChange:r,options:[`a.jpg`,`b.jpg`,`notes.txt`].map(e=>({value:e,label:e,lead:(0,M.jsx)(`span`,{style:{width:56,height:42,flex:`none`,borderRadius:4,background:`var(--surface2)`,border:`1px solid var(--line)`},"aria-hidden":`true`})}))}):e?(0,M.jsx)(m,{label:`Filter set`,value:n,onChange:r,options:[{value:`new`,label:`New filter set`,children:(0,M.jsx)(`input`,{type:`text`,"aria-label":`Name`,placeholder:`Name`,value:i,onChange:e=>a(e.target.value)})},{value:`existing`,label:`Existing filter set`,about:`Joins the end of its filters.`}]}):(0,M.jsx)(m,{label:`Post-format`,legend:!0,value:n,onChange:r,options:[{value:`drop`,label:`Drop items`,about:`Each item of a list reply, dropped when it matches.`},{value:`keep`,label:`Keep first`,about:`Keep the first N items.`},{value:`reject`,label:`Reject reply`,about:`The whole answer, refused when it matches.`}]})}function Ke(){let[e,t]=(0,k.useState)(()=>new Set([Q(4)[0].name]));return(0,M.jsx)(x,{id:`runs`,title:`Runs`,children:(0,M.jsx)(u,{label:`Runs`,cards:!0,rows:Q(4),rowKey:e=>e.name,defaultSort:null,expand:{label:(e,t)=>`${t?`Hide`:`Show`} ${e.name}`,can:(e,t)=>t!==2,open:e,onChange:t,detail:e=>(0,M.jsxs)(`p`,{className:`note`,children:[e.name,` sent 2 requests, `,e.kb,` KB back.`]})},columns:[{key:`name`,header:`Name`,role:`title`,cell:e=>e.name},{key:`size`,header:`Size`,className:`num`,sort:e=>e.kb,cell:e=>`${e.kb} KB`}]})})}function qe({start:e}){let[t,n]=(0,k.useState)(!!e);return(0,M.jsx)(d,{checked:t,onChange:n,label:`Fetch now`})}var Je=`Tell me about this location in 1 sentence: @{variables('LocationVar')}`,X=`Tell me about this location in 2 sentences, for someone visiting for the first time: @{variables('LocationVar')}`,Ye=[{name:`LocationVar`,expr:`@{variables('LocationVar')}`},{name:`text`,expr:`@{triggerBody()?['text']}`}];function Xe(){let[e,t]=(0,k.useState)(X);return(0,M.jsx)(x,{id:`g`,title:`Edited`,level:3,children:(0,M.jsx)(Ce,{label:`Edited`,asks:[{key:`connection`,label:`Connection`,control:{type:`static`,text:`Anthropic Direct`}}],prompt:e,onPrompt:t,rows:[{key:`model`,label:`Model`,control:{type:`static`,text:`claude-haiku-4-5`}}],request:[{key:`request`,label:`Request`,control:{type:`code`,text:`POST /v1/messages`}},{key:`body`,label:`Body`,control:{type:`code`,text:JSON.stringify({model:`claude-haiku-4-5`,max_tokens:1024,messages:[{role:`user`,content:e}]},null,2)}}],requestId:`story-edited-request`,words:{text:e,was:Je},fields:Ye})})}function Z({open:e=!1}){let[t,n]=(0,k.useState)([`better`,`same`]),r=[{value:`better`,label:`Better`},{value:`same`,label:`Same`},{value:`worse`,label:`Worse`}];return e?(0,M.jsx)(`div`,{style:{minHeight:180},children:(0,M.jsx)(le,{value:t,options:r,onChange:n,defaultOpen:!0})}):(0,M.jsx)(C,{label:`Judged against recorded`,rows:[{key:`expected`,label:`Expected`,required:!0,control:{type:`multi`,value:t,options:r,onChange:n}}]})}function Ze({start:e}){let[t,n]=(0,k.useState)(e);return(0,M.jsx)(`div`,{style:{maxWidth:360},children:(0,M.jsx)(i,{value:t,onChange:n})})}function Qe({open:e}){return(0,M.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,padding:`var(--s3)`},children:(0,M.jsx)(ve,{name:`Test a workflow`,done:2,total:4,current:2,steps:[{title:`Add a workflow Source`,done:!0},{title:`Test an action`,done:!0},{title:`Run the test`,done:!1},{title:`Compare the replies`,done:!1}],onOpen:N,onCancel:N,...e?{defaultOpen:!0}:{}})})}var $e=Me.map(e=>({...e,render:Ue[e.path]})),Q=e=>Array.from({length:e},(e,t)=>({name:`IMG_${String(4e3+t*7919%97).padStart(4,`0`)}.jpg`,kb:t*37%900+40}));function et({search:e=``,size:t=`all`}){let[n,r]=(0,k.useState)(e),[i,a]=(0,k.useState)(t),[o,s]=(0,k.useState)(`shoot`),c=Q(12),l=c.filter(e=>e.name.toLowerCase().includes(n.trim().toLowerCase())&&(i===`all`||i===`large`==e.kb>=400));return(0,M.jsxs)(x,{id:`files`,title:`Files`,children:[(0,M.jsx)(ne,{noun:`files`,search:{label:`Name`,placeholder:`Search names`,value:n,onChange:r},count:{shown:l.length,total:c.length},filters:[{key:`source`,label:`Source`,value:o,neutral:null,onChange:s,options:[{value:`shoot`,label:`Tuesday shoot`},{value:`samples`,label:`Sample library`}]},{key:`size`,label:`Size`,value:i,onChange:a,options:[{value:`all`,label:`All`},{value:`small`,label:`Small`},{value:`large`,label:`Large`}]}]}),l.length?(0,M.jsx)(u,{label:`Files`,rows:l,rowKey:e=>e.name,columns:[{key:`name`,header:`Name`,cell:e=>e.name},{key:`size`,header:`Size`,sort:e=>e.kb,cell:e=>`${e.kb} KB`}]}):(0,M.jsx)(`p`,{className:`note`,children:`No files match these filters.`})]})}function $({count:e,pageSize:t,picked:n}){let r=Q(e),[i,a]=(0,k.useState)(r),[o,s]=(0,k.useState)(()=>new Set((n??[]).map(e=>r[e].name)));return(0,M.jsx)(x,{id:`files`,title:`Files`,children:(0,M.jsx)(u,{label:`Files`,cards:!0,rows:i,rowKey:e=>e.name,pageSize:t??null,select:n&&{noun:`file`,selected:o,onChange:s,actions:e=>[{label:`Move…`,icon:y.rename,onSelect:N},{label:`Remove`,icon:y.remove,destructive:!0,onSelect:()=>{a(t=>t.filter(t=>!e.includes(t))),s(new Set)}},{label:`Export`,icon:_,onSelect:N}]},columns:[{key:`name`,header:`Name`,role:`title`,cell:e=>e.name},{key:`size`,header:`Size`,className:`num`,sort:e=>e.kb,cell:e=>`${e.kb} KB`},{key:`menu`,header:``,role:`menu`,sort:null,cell:e=>(0,M.jsx)(he,{label:`${e.name} actions`,actions:[{label:`Rename…`,icon:y.rename,onSelect:N},{label:`Remove`,icon:y.remove,destructive:!0,onSelect:N}]})}]})})}function tt(){let[e,t]=(0,k.useState)(`files`);return(0,M.jsx)(C,{label:`New Source`,rows:[{key:`type`,label:`Type`,control:{type:`cards`,value:e,onChange:t,options:[{value:`files`,label:`File Library`,icon:(0,M.jsx)(ke,{size:16,fill:`currentColor`,"aria-hidden":`true`})},{value:`flow`,label:`Power Automate flow`,icon:(0,M.jsx)(Oe,{size:16,fill:`currentColor`,"aria-hidden":`true`})}]}},{key:`name`,label:`Name`,control:{type:`text`,value:``,onChange:N}}]})}var nt=()=>decodeURIComponent(location.hash.replace(/^#\/?/,``));function rt(){let[e,t]=(0,k.useState)(nt);(0,k.useEffect)(()=>{let e=()=>t(nt());return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[]);let n=$e.find(t=>t.path===e);return n?(0,M.jsxs)(`main`,{className:`gallery-one`,"data-route":n.path,children:[(0,M.jsxs)(`nav`,{className:`gallery-nav`,children:[(0,M.jsx)(`a`,{href:`#/`,children:`All`}),(0,M.jsx)(`span`,{children:n.title})]}),n.render()]}):(0,M.jsxs)(`main`,{className:`gallery-index`,"data-route":``,children:[(0,M.jsx)(`h1`,{children:`Components`}),(0,M.jsx)(`ul`,{children:$e.map(e=>(0,M.jsxs)(`li`,{children:[(0,M.jsx)(`a`,{href:`#/${e.path}`,children:e.title}),` `,(0,M.jsx)(`code`,{children:e.path})]},e.path))})]})}(0,Ae.createRoot)(document.getElementById(`root`)).render((0,M.jsx)(k.StrictMode,{children:(0,M.jsx)(rt,{})}));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.figures{--fig-lead:32px;--fig-lead-dense:22px;align-items:stretch;gap:var(--s4);display:flex}.fig{align-content:start;gap:var(--s-half);min-width:0;display:grid}.fig-label{font-size:var(--t-label);color:var(--dim)}.fig-value{font-size:var(--t-body);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.fig-good{color:var(--sage)}.fig-bad{color:var(--rust)}.fig-lead{flex:none}.fig-headline{gap:var(--s1);display:grid}.fig-headline>.fig-value{font-size:var(--fig-lead);letter-spacing:-.01em;font-weight:600;line-height:1.1}.fig-under{font-size:var(--t-label);color:var(--ink)}.fig-part{font-variant-numeric:tabular-nums lining-nums}.fig-of{color:var(--dim)}.fig-rest{align-content:start;gap:var(--s3) var(--s5);padding-left:var(--s4);border-left:1px solid var(--line);flex-wrap:wrap;flex:auto;display:flex}.figures.dense{display:block}.figures.dense .fig-headline{align-items:baseline;gap:var(--s1) var(--s2);flex-wrap:wrap;display:flex}.figures.dense .fig-headline>.fig-value{font-size:var(--fig-lead-dense)}.figures.dense>.fig-rest{margin-top:var(--s2);padding:var(--s2) 0 0;border-left:0;border-top:1px solid var(--line);gap:var(--s2) var(--s4)}@media (width<=600px){.figures{display:block}.figures>.fig-rest{margin-top:var(--s3);padding:var(--s3) 0 0;border-left:0;border-top:1px solid var(--line);gap:var(--s2) var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.raw-content{resize:none;flex:1;width:100%;min-height:40vh}.raw-foot{align-items:center;gap:var(--s3);margin-top:var(--s3);flex-wrap:wrap;display:flex}.raw-foot .note{flex:auto;margin:0}.raw-foot .note.bad{color:var(--rust)}.datasets{gap:var(--s4);grid-template-columns:minmax(0,1fr);display:grid}.datasets>.note{margin:0}@media (pointer:coarse),(width<=600px){.eg-groups td[data-state=none]{display:none}}.cf-preview img{border:1px solid var(--line);border-radius:var(--r-ctl);max-width:100%;max-height:220px;display:block}.cf-preview .note{margin:var(--s1) 0 0;overflow-wrap:anywhere}.ev-all{margin-left:var(--s3);flex:none;justify-content:flex-start}@media (width>=601px){.ev-all{display:none}}@media (width<=600px){.ev-all{margin-left:calc(var(--s3) + 1px)}}.ev-from{gap:var(--s1) var(--s3);margin:0 0 var(--s3);flex-wrap:wrap;display:flex}.ev-empty .note a{color:var(--amber)}.ev-check{cursor:pointer;justify-content:center;align-items:center;min-width:24px;min-height:24px;display:inline-flex}.ev-check input{margin:0}@media (pointer:coarse),(width<=600px){.ev-check{min-width:var(--tap);min-height:var(--tap)}}.dstable .ds-todo{color:var(--amber)}.ds-nomatch{font-size:var(--t-label);color:var(--dim)}.ds-status{font-size:var(--t-label);color:var(--sage);font-weight:600}.ds-status.ds-todo{color:var(--dim)}.ds-status.ds-missing{color:var(--rust)}.ds-status.ds-nocase{color:var(--dim)}.ds-note{text-overflow:ellipsis;white-space:nowrap;max-width:36ch;color:var(--dim);display:block;overflow:hidden}.item-picker .ip-items{max-height:50vh;overflow:auto}.item-picker .ip-thumb{object-fit:cover;background:var(--surface2);border:1px solid var(--line);border-radius:4px;flex:none;width:56px;height:42px}.ev-bulk{width:min(100%,480px)}.ev-changes{margin:var(--s3) 0 0}.ev-refusal{margin-top:var(--s3);color:var(--rust);font-size:var(--t-label)}.ev-refusal-head{margin:0 0 var(--s1);font-weight:600}.ev-refusal ul{padding-left:var(--s4);gap:var(--s1);margin:0;display:grid}.ev-refusal li{overflow-wrap:anywhere}.ev-refusal b{font-weight:600}@media (width<=600px){.dstable td[data-label=Note][data-state=none]{display:none}.dstable .ds-note{white-space:normal;max-width:none}.dstable td[data-label=Status]:before{content:none}.ds-cases{max-height:calc(100vh - 300px);overflow:auto}.ds-cases .dt-bulk{z-index:1;background:var(--surface);position:sticky;top:0}.ds-cases .dstable{padding-bottom:56px}}.filters-page{gap:var(--s4);grid-template-columns:minmax(0,1fr);display:grid}.filters-page>.note{margin:0}.filters-page>.note.bad{color:var(--rust)}.nf-verbs{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.nf-verb{gap:var(--s2);width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-ctl);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;display:flex}.nf-verb:hover,.nf-verb:focus-visible{background:color-mix(in srgb, var(--amber) 10%, transparent)}.nf-verb-icon{color:var(--dim);padding-top:3px;display:flex}.nf-verb-text{gap:var(--s-half);display:grid}.nf-verb-name{font-weight:600}.nf-verb-about{color:var(--dim);font-size:var(--t-label)}.verb-label{align-items:center;gap:var(--s2);display:inline-flex}.edit-override{align-items:center;gap:var(--s2);cursor:pointer;display:inline-flex}.edit-override input{accent-color:var(--amber)}.cond-builder{gap:var(--s2);display:grid}.cond-row{gap:var(--s1);display:grid}.cond-line{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.cond-prefix,.cond-unit{color:var(--dim)}.cond-num{text-align:center;width:5rem}.cond-regex{min-width:12ch;font-family:var(--mono);flex:16ch}.cond-x{width:var(--field);height:var(--field);color:var(--dim);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.cond-x:hover,.cond-x:focus-visible{color:var(--rust)}.cond-share{gap:var(--s1);display:grid}.cond-share .cond-num{justify-self:start}.cond-add{margin:var(--s1) auto 0 0;justify-self:start}.filter-tests{gap:var(--s3);display:grid}.filter-tests>.note{margin:0}.filter-test{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-ctl);display:grid}.filter-test-result{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.filter-test-verdict{font-size:var(--t-label);overflow-wrap:anywhere}.filter-test-verdict.hit{color:var(--sage)}.filter-test-verdict.fault{color:var(--rust)}@media (pointer:coarse),(width<=600px){.cond-num{text-align:left;width:100%}}.pl-open{gap:var(--s-half);justify-items:start;width:100%;display:grid}.pl-title{align-items:center;gap:var(--s2);overflow-wrap:anywhere;flex-wrap:wrap;display:inline-flex}.pl-preview{color:var(--dim);font-size:var(--t-note);-webkit-line-clamp:2;line-clamp:2;white-space:pre-line;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:400;display:-webkit-box;overflow:hidden}.pl-run{color:var(--amber)}.pl-words{max-height:240px;font-family:var(--sans);overflow:auto}.edit-section .dt{margin-top:var(--s1)}.edit .prop[data-key=text] textarea{min-height:180px}@media (pointer:coarse),(width<=600px){.pl-run{min-height:var(--tap);align-items:center;display:inline-flex}}@media (width<=600px){.pl-words{max-height:240px;font-family:var(--sans);overflow:auto}.edit-section .dt{margin-top:var(--s1)}}.sp-list{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.sp-pick{gap:var(--s1);width:100%;padding:var(--s3);text-align:left;color:var(--ink);justify-items:start;font-weight:400;display:grid}.sp-pick:hover,.sp-pick:focus-visible,.sp-pick.top-match{border-color:var(--amber)}.sp-head{align-items:center;gap:var(--s2);flex-wrap:wrap;display:inline-flex}.sp-title{overflow-wrap:anywhere;font-weight:600}.sp-text{color:var(--dim);font-size:var(--t-label);white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sp-meta{gap:var(--s3);color:var(--dim);font-size:var(--t-note);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.sources{gap:var(--s3);grid-template-columns:minmax(0,1fr);display:grid}.shead{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.shead-title{font-size:var(--t-title);flex:100%;margin:0;font-weight:600}.sfoot{align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s2);flex-wrap:wrap;display:flex}.swarn{align-items:center;gap:var(--s2);font-size:var(--t-label);color:var(--rust);margin:0;display:flex}.swarn svg{flex:none}.sfoot .add-btn{margin:0 0 0 auto}.skind{color:var(--amber);flex:none}.sfolders{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-rows:1fr;margin:0;padding:0;list-style:none;display:grid}.sfolder{display:grid;position:relative}.sfolder-open{align-items:flex-start;gap:var(--s1);width:100%;height:100%;padding:var(--s3);color:var(--ink);font:var(--t-body) var(--sans);text-align:left;flex-direction:column;display:flex}.sfolder-open:hover,.sfolder-open:focus-visible{border-color:var(--amber)}.sfolder-open.off{opacity:.5;cursor:not-allowed}.sfolder-open .skind{margin-bottom:var(--s1)}.sfolder-name{word-break:break-word;padding-right:calc(var(--ctl) + var(--s1));font-weight:600}.sfolder-meta{color:var(--dim);font-size:var(--t-note)}.squota{align-items:center;display:inline-flex;position:relative}.sfolder-open .squota{width:100%;min-height:14px;margin-top:auto;display:flex}.squota-bar{border-radius:var(--r-pill);background:var(--surface2);width:100%;height:6px;display:block;overflow:hidden}.squota-fill{background:var(--amber);height:100%;display:block}.sfolder-open .squota-pct{margin-left:var(--s2);color:var(--dim);font-size:var(--t-note);font-variant-numeric:tabular-nums;flex:none}.squota-pop{visibility:hidden;right:0;top:calc(100% + var(--s1));z-index:var(--z-popover);padding:var(--s1) var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);box-shadow:var(--e-pop);font:var(--t-label) var(--sans);color:var(--ink);white-space:nowrap;position:absolute}.squota:hover>.squota-pop,.sfolder-open:focus-visible .squota-pop{visibility:visible}.sfolder-menu{top:var(--s2);right:var(--s2);position:absolute}.slist tbody tr{cursor:pointer}.slist .stype{color:var(--dim);font-size:var(--t-note);white-space:nowrap}.slist .sfile-name{white-space:nowrap}.slist-folders td.sfile-name{white-space:normal;word-break:break-word}.slist-folders .sfile-name .skind{vertical-align:-2px;margin-right:var(--s2)}.sadd .props{--prop-cols:minmax(88px, 22%) minmax(0, 1fr) auto var(--ctl)}.sfiles{min-height:96px;max-height:calc(100vh - 320px);overflow:auto}.sfiles.drag{outline:2px dashed var(--amber);outline-offset:-2px}.stiles{padding:var(--s2);gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-auto-rows:1fr;margin:0;list-style:none;display:grid}.stile-cell{min-width:0;display:grid;position:relative}.stile{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-pane);width:100%;min-width:0;height:100%;color:var(--ink);cursor:pointer;font:var(--t-body) var(--sans);flex-direction:column;align-items:stretch;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.stile:hover,.stile:focus-visible{border-color:var(--amber)}.stile-img{aspect-ratio:1;object-fit:cover;background:var(--surface2);width:100%;display:block}.stile-type{gap:var(--s1);aspect-ratio:1;width:100%;color:var(--dim);font-size:var(--t-note);flex-direction:column;justify-content:center;align-items:center;display:flex}.stile-type svg{color:var(--faint)}.stile-text{aspect-ratio:1;width:100%;padding:var(--s2);background:var(--surface);color:var(--dim);font:var(--t-caption) / 1.4 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;display:block;overflow:hidden}.stile-name{padding:var(--s2) calc(var(--ctl) + var(--s1)) var(--s2) var(--s2);font-size:var(--t-note);text-align:left;white-space:nowrap;text-overflow:ellipsis;margin-top:auto;overflow:hidden}.stile-menu{right:var(--s1);bottom:var(--s-half);position:absolute}.supload{gap:var(--s1);display:grid}.sdrop{color:var(--dim);margin:0}.suploads{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.suploads li{align-items:center;gap:var(--s2);font-size:var(--t-note);display:flex}.supload-name{word-break:break-word;flex:auto}.suploads .bad{color:var(--rust)}.supload-bar{border-radius:var(--r-pill);background:var(--surface2);width:72px;height:6px;display:inline-block;position:relative;overflow:hidden}.supload-bar:after{content:"";background:var(--amber);animation:1.2s ease-in-out infinite supload;position:absolute;inset:0}@keyframes supload{0%{transform:translate(-100%)}to{transform:translate(200%)}}.sacts{gap:var(--s2);margin-top:var(--s3);justify-content:flex-end;display:flex}.spreview-img{border-radius:var(--r-ctl);max-width:100%;max-height:60vh;margin:0 auto;display:block}.spreview-text{max-height:60vh;overflow:auto}.spreview-doc{border-radius:var(--r-ctl);border:0;width:100%;height:min(62vh,600px);display:block}@media (pointer:coarse){.sfolder-open{min-height:72px}.stile{min-height:96px}.sfiles{max-height:calc(100vh - 300px)}}.sflow{overflow-x:auto}.sflow td{overflow-wrap:anywhere}.sflow-in{color:var(--dim);font-size:var(--t-note);display:block}.sresult{align-items:center;gap:var(--s1);vertical-align:middle;white-space:nowrap;display:inline-flex}.slist tr[data-fresh]>td{background:var(--tint-amber)}.call-content{min-height:16lh}.modal.edit .prop[data-key=error] .prop-value{color:var(--rust)}.snone{color:var(--dim)}.slist a[href]{color:var(--amber);overflow-wrap:anywhere;text-decoration:none}.slist a[href]:hover{text-decoration:underline}.home{--mark:36px;--sub:28px;--rail:2px}.home-line,.home-branch{margin:0;padding:0;list-style:none}.home-line{max-width:560px}.home-pane{margin-top:var(--s5);padding:var(--s5)}@media (width<=600px){.home-pane{margin-top:var(--s4);padding:var(--s4)}}.home-stop{padding:0 0 var(--s5) calc(var(--mark) + var(--s3));position:relative}.home-stop.branch{padding:0 0 var(--s4) calc(var(--sub) + var(--s3))}.home-mark{left:0;top:calc(var(--ctl) / 2 - var(--mark) / 2);z-index:1;width:var(--mark);height:var(--mark);border:var(--rail) solid var(--line);background:var(--surface);color:var(--dim);border-radius:50%;place-items:center;display:grid;position:absolute}.branch .home-mark{width:var(--sub);height:var(--sub);top:calc(var(--ctl) / 2 - var(--sub) / 2)}.home-stop:after{content:"";left:calc(var(--mark) / 2 - var(--rail) / 2);top:calc(var(--ctl) / 2);bottom:calc(var(--ctl) / -2);width:var(--rail);background:var(--line);position:absolute}.home-stop.branch:after{left:calc(var(--sub) / 2 - var(--rail) / 2)}.home-stop:last-child:after{display:none}.home-branch>.home-stop:first-child:before{content:"";top:calc(var(--ctl) / 2 - var(--rail) / 2);height:var(--rail);left:calc(-1 * (var(--mark) / 2 + var(--s3)));width:calc(var(--mark) / 2 + var(--s3));background:var(--line);position:absolute}.home-branch{margin-top:var(--s2)}.home-fork{padding-bottom:var(--s3)}.hub>.home-name .home-mark,.start>.home-name .home-mark{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}.home-line>.hub:after{background:var(--amber)}.home-line>.hub+.home-stop>.home-name .home-mark{border-color:var(--amber)}.home-name{min-height:var(--ctl);font-size:var(--t-title);color:var(--ink);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.branch>.home-name{font-size:var(--t-heading)}.home-name:hover{text-underline-offset:3px;text-decoration:underline}.home-name:hover .home-mark{color:var(--ink)}.hub>.home-name:hover .home-mark,.start>.home-name:hover .home-mark{color:var(--on-amber)}.home-fact{margin-left:var(--s2);color:var(--dim);font-size:var(--t-label);font-variant-numeric:tabular-nums}.home-start{min-height:var(--ctl);margin-left:var(--s2);align-items:center;text-decoration:none;display:inline-flex}.home-start:hover .badge{background:var(--tint-amber)}.home-items{margin:0;padding:0;list-style:none}.home-items a{align-items:baseline;gap:var(--s2);min-height:var(--ctl);padding-block:calc((var(--ctl) - 1.5em) / 2);color:var(--ink);min-width:0;text-decoration:none;display:flex}.home-items a:hover .home-item{text-underline-offset:3px;text-decoration:underline}.home-item{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;flex:0 auto;min-width:0;display:-webkit-box;overflow:hidden}.home-item code{font-size:var(--t-label)}.home-sub{color:var(--dim);font-size:var(--t-note);font-variant-numeric:tabular-nums;flex:none}.home-items .home-more{color:var(--dim);font-size:var(--t-label)}.home-version{margin:var(--s4) 0 0;color:var(--dim);font-size:var(--t-caption);font-variant-numeric:tabular-nums}@media (width>=960px){.home-line{gap:0 var(--s4);grid-template-columns:repeat(6,minmax(0,1fr));max-width:none;display:grid}.home-fork{grid-column:span 3;padding-bottom:0}.home-branch{gap:0 var(--s4);margin-top:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-stop,.home-stop.branch{padding:calc(var(--mark) + var(--s2)) 0 0}.home-stop.branch{padding-top:calc(var(--sub) + var(--s2))}.home-mark{top:0}.branch .home-mark{top:0;left:calc(var(--mark) / 2 - var(--sub) / 2)}.home-stop:after{top:calc(var(--mark) / 2 - var(--rail) / 2);bottom:auto;left:var(--mark);right:calc(-1 * var(--s4));width:auto;height:var(--rail)}.home-stop.branch:after{top:calc(var(--sub) / 2 - var(--rail) / 2);left:calc(var(--mark) / 2 + var(--sub) / 2)}.home-branch>.home-stop:first-child:before{display:none}.home-fork{padding-top:0}.home-fork>.home-name{z-index:1;min-height:var(--mark);padding:0 var(--s3) 0 calc(var(--mark) + var(--s2));background:var(--surface);position:relative}.home-fork .home-branch{margin-top:var(--s4)}.home-fork:before{content:"";left:calc(var(--mark) / 2 - var(--rail) / 2);width:var(--rail);top:calc(var(--mark) / 2);height:calc(var(--mark) / 2 + var(--s4) + var(--sub) / 2);background:var(--line);position:absolute}.home-fact{margin-left:0;display:block}.home-start{width:fit-content;margin:0;display:flex}.home-items{margin-top:var(--s2)}.home-items a{padding-block:var(--s1);flex-direction:column;align-items:flex-start;gap:0}.home-item{max-width:100%}.home-version{margin-top:var(--s5)}}.runs{gap:var(--s4);grid-template-columns:minmax(0,1fr);display:grid}.repeater[data-noun=job]>.repeater-items{gap:var(--s4)}.add-why{margin-top:var(--s1)}#pipelines select{min-width:min(16rem,100%)}.pick-item{text-align:left;justify-content:flex-start;width:100%}.pick-others{gap:var(--s2);margin-top:var(--s4);display:grid}.pick-item:has(.pick-about){align-items:flex-start;gap:var(--s-half);height:auto;padding-block:var(--s2);flex-direction:column}.pick-about{font-size:var(--t-note);color:var(--dim);font-weight:400}.eval-flag{align-items:center;gap:var(--s1);color:var(--rust);display:inline-flex}.eval-flag svg{flex:none}@media (pointer:coarse),(width<=600px){.eg-links td[data-state=none]{display:none}}.mkey{margin-top:var(--s2)}.mchips{gap:var(--s1);margin-top:var(--s2);flex-wrap:wrap;display:flex}.mchip{min-height:var(--ctl);font-size:var(--t-label)}.mchip.ok{background:var(--sage);color:var(--on-sage);border-color:#0000}.mchip.missing{border-style:dashed}.mchip.todo{border-color:var(--line)}.runbar{z-index:var(--z-sticky);margin-bottom:var(--s4);padding-top:calc(var(--s2) + env(safe-area-inset-top,0px));position:sticky;top:0}@media (width<=600px){.runbar{padding-top:calc(var(--s3) + env(safe-area-inset-top,0px))}}.runbar-why{overflow-wrap:anywhere}.runbar-why.bad{color:var(--rust)}.runbar-fix{color:var(--amber);white-space:nowrap}button.runbar-fix{min-height:0}.runbar-open{align-items:baseline;gap:var(--s2);max-width:100%;font-size:var(--t-label);color:var(--dim);text-align:left;background:0 0;border:0;border-radius:0;flex-wrap:wrap;padding:0;font-weight:400;display:inline-flex}.runbar-open:hover .runbar-word,.runbar-open:focus-visible .runbar-word{color:var(--amber)}.runbar-word{color:var(--ink);font-weight:600}.runbar-detail{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.runs :is(input,select,textarea,button,summary){scroll-margin-top:calc(var(--ctl) + var(--s4))}.import-missing{gap:var(--s2);margin:var(--s2) 0 0;padding:0;list-style:none;display:grid}.import-missing li{font-size:var(--t-label);color:var(--rust)}.stages{counter-reset:stage;--rail:28px;--rail-dot:24px}.stages>.group.sub{counter-increment:stage;margin-inline-start:0;padding-inline-start:calc(var(--rail) + var(--s3));padding-top:0;padding-bottom:var(--s4);border-top:0;margin-top:0;position:relative}.stages>.group.sub:last-child{padding-bottom:0}.stages>.group.sub:before{content:counter(stage);inset-inline-start:calc((var(--rail) - var(--rail-dot)) / 2);top:calc((var(--ctl) - var(--rail-dot)) / 2);width:var(--rail-dot);height:var(--rail-dot);box-sizing:border-box;border:1.5px solid var(--line);font-size:var(--t-caption);color:var(--dim);background:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute}.stages>.group.sub:not(:last-child):after{content:"";inset-inline-start:calc(var(--rail) / 2 - 1px);top:calc((var(--ctl) + var(--rail-dot)) / 2 + 4px);background:var(--line);width:2px;position:absolute;bottom:4px}.stages .repeater-items:has(>.stage-row){gap:var(--s2)}.stages .stage-row>.props{padding-top:0}.job-reply{margin:calc(-1 * var(--s1)) 0;font-size:var(--t-note);color:var(--dim);justify-content:center;align-items:center;gap:6px;display:flex}.job-reply svg{color:var(--faint)}.repeater-items:has(>.target){gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.target:not(:last-child){padding-bottom:var(--s2);border-bottom:1px solid var(--line)}.repeater-items:has(>.target)>.target:not(:last-child){border-bottom:0;padding-bottom:0}.target-head{grid-template-columns:22px minmax(0, 1fr) auto var(--ctl);gap:var(--s3);align-items:center;min-height:48px;display:grid}.target-badge{background:var(--surface2);width:22px;height:22px;color:var(--ink);font-size:var(--t-caption);justify-content:center;padding:0;font-weight:700}.target-name{font-size:var(--t-label);overflow-wrap:anywhere;grid-column:2;margin:0;font-weight:600}.target-idle{color:var(--dim);font-size:var(--t-label);white-space:nowrap;grid-column:3}.target-head .menu{grid-column:4;justify-self:end}.target .group.sub{margin-inline-start:0}@media (width<=600px){.stages{--rail:24px;--rail-dot:22px}.stages>.group.sub{padding-inline-start:calc(var(--rail) + var(--s2))}.target-head{column-gap:var(--s2);padding:var(--s1) 0}}.recorded-replies{gap:var(--s4);display:grid}.recorded-replies section{gap:var(--s2);min-width:0;display:grid}.recorded-replies h3{font-size:var(--t-label);margin:0;font-weight:600}.flow{--flow:16px;--flow-dot:10px;margin:0;padding:0;list-style:none}.flow-step{min-width:0;padding-inline-start:calc(var(--flow) + var(--s3));padding-bottom:var(--s4);position:relative}.flow-step:last-child{padding-bottom:0}.flow-step:before{content:"";inset-inline-start:calc((var(--flow) - var(--flow-dot)) / 2);top:calc((var(--ctl) - var(--flow-dot)) / 2);width:var(--flow-dot);height:var(--flow-dot);box-sizing:border-box;border:1.5px solid var(--dim);background:var(--surface);border-radius:50%;position:absolute}.flow-step:not(:last-child):after{content:"";inset-inline-start:calc(var(--flow) / 2 - 1px);top:calc((var(--ctl) + var(--flow-dot)) / 2 + 4px);background:var(--line);width:2px;position:absolute;bottom:4px}.flow-head{min-height:var(--ctl);font-size:var(--t-label);color:var(--ink);align-items:center;margin:0;font-weight:600;display:flex}.flow-head>p{flex:auto;margin:0}.filter-stage{min-width:0;display:grid}.fs-table .fs-type{width:30%}.fs-table td.fs-n{width:3ch;color:var(--dim);font-variant-numeric:tabular-nums}.fs-set,.fs-inner{align-items:center;gap:var(--s2);flex-wrap:wrap;flex:auto;min-width:0;display:inline-flex}.fs-toggle{width:24px;height:24px;min-height:0;color:var(--dim);justify-content:center;padding:0}.fs-inner{padding-inline-start:calc(24px + var(--s2));font-weight:400}.fs-inner-row td{color:var(--dim)}.fs-name{align-items:center;gap:var(--s2);flex-wrap:wrap;min-width:0;display:inline-flex}.fs-per-item{font-size:var(--t-caption);color:var(--dim);white-space:nowrap;font-weight:400}@media (width>=601px){.fs-table>:is(thead,tbody)>tr>:is(th,td){height:calc(var(--ctl) + var(--s3));padding-block:0}}.fs-format-row>td{background:color-mix(in srgb, var(--surface2) 70%, transparent)}.fs-format{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;min-width:0;display:inline-flex}.fs-format-name{align-items:center;gap:var(--s2);white-space:nowrap;font-weight:600;display:inline-flex}.fs-format-controls{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;font-weight:400;display:inline-flex}.fs-format-controls select{width:10rem}.fs-format-setting{align-items:center;gap:var(--s2);color:var(--dim);white-space:nowrap;display:inline-flex}table.dt-cards.fs-table td.fs-type:empty{display:none}@media (width<=600px){.flow{--flow:12px}.flow-step{padding-inline-start:calc(var(--flow) + var(--s2))}table.dt-cards.fs-table tbody tr{padding-inline-start:calc(var(--s3) + 3ch)}table.dt-cards.fs-table td.fs-n{top:var(--s2);left:var(--s3);height:var(--ctl);align-items:center;width:auto;display:flex;position:absolute}.fs-inner{padding-inline-start:0}table.dt-cards.fs-table .fs-type{width:auto}.fs-set{flex-wrap:nowrap}.fs-set .link-btn{min-width:0}.fs-toggle{flex:none}}.history{gap:var(--s3);grid-template-columns:minmax(0,1fr);display:grid}.hstatus{margin:0}.htable .runrow td{white-space:nowrap}.htable .scenrows>td{background:var(--surface2);vertical-align:top}.runlink{color:var(--amber);cursor:pointer}.htable time{white-space:nowrap}.htable .runrow td{vertical-align:middle}.hcomment{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:240px;display:inline-block;overflow:hidden}.hcomment.empty{color:var(--dim);letter-spacing:.12em}.scen-table td{white-space:nowrap}.hcols{gap:var(--s3);display:grid}.hcols .groups{gap:var(--s1);display:grid}.hcols h3{font-size:var(--t-label);color:var(--dim);margin:0;font-weight:600}.hcols label{align-items:center;gap:var(--s2);min-height:var(--ctl);font-size:var(--t-label);display:flex}@media (pointer:coarse),(width<=600px){.hcols label{min-height:var(--tap)}.htable td.dt-expand .icon-btn{min-width:var(--tap);min-height:var(--tap)}}@media (width<=600px){.htable,.htable :is(thead,tbody,tr,th,td){display:block}.htable thead{display:none}.htable>tbody>tr{border:1px solid var(--line);border-radius:var(--r-pane);margin-bottom:var(--s2);padding:var(--s2) var(--s3)}.htable td{padding:var(--s1) 0;border:0;height:auto}.htable td[data-label]{gap:var(--s2);white-space:normal;grid-template-columns:7.5rem minmax(0,1fr);align-items:baseline;display:grid}.htable td[data-label]:before{content:attr(data-label);font-size:var(--t-label);color:var(--dim);font-weight:600}.htable .hval{overflow-wrap:anywhere;min-width:0}.htable :is(th,td).num,.scen-table :is(th,td).num{text-align:left}.htable>tbody>.runrow{position:relative}.htable>tbody>.runrow:not(:has(>td.hrunid)){padding-top:calc(var(--tap) + var(--s2))}.htable .runrow>td.dt-expand{top:var(--s1);left:auto;right:var(--s1);width:auto;padding:0;position:absolute}.htable .runrow>td.hrunid{min-height:var(--tap);align-items:center;padding-right:96px;font-weight:600;display:flex}.htable .runrow>td.hrunid:before{content:none}.htable>tbody>.runrow.dt-open{border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.htable>tbody>.scenrows{background:var(--surface2);border-top:0;border-top-left-radius:0;border-top-right-radius:0}.htable .scenrows>td{background:0 0;padding:0}.scen-table tr+tr{border-top:1px solid var(--line)}.scen-table tr{padding:var(--s1) 0}}.hrerun{font-size:var(--t-note);display:block}.htable .hactions{width:1px;padding:0 var(--s1)}.htable>tbody>.runrow.fresh>td{background:var(--surface2)}.htable>tbody>.runrow.fresh>td:first-child{box-shadow:inset 3px 0 0 var(--amber)}@media (pointer:coarse),(width<=600px){.hactions .icon-btn,.hactions button{min-width:var(--tap);min-height:var(--tap)}}@media (width<=600px){.htable .runrow>td.hactions{top:var(--s1);width:auto;padding:0;position:absolute;right:48px}.htable>tbody>.runrow.fresh{border-color:var(--amber)}.htable>tbody>.runrow.fresh>td{background:0 0}.htable>tbody>.runrow.fresh>td:first-child{box-shadow:none}}.setup{gap:var(--s3);display:grid}.setup-sections{margin-bottom:var(--s3)}.setup-section{gap:var(--s3);display:grid}.setup-wizard{display:grid}.setup-wizard .ctx-head{margin-top:calc(-1 * var(--s5))}.wiz-list-name{display:block}.wiz-step-title{flex-basis:100%;display:block}.wiz-step-title.current{color:var(--ink);font-weight:600}.wiz-row-state.done{color:var(--sage)}.wiz-row-state.now{color:var(--ink);font-weight:600}.wiz-row-state.todo{color:var(--dim)}.ws-archived{margin-top:var(--s3)}.ws-table{margin-top:var(--s2)}.ws-address{align-items:center;gap:var(--s2);flex-wrap:wrap;display:inline-flex}.ws-regen{gap:var(--s1);font-size:var(--t-note)}.ws-regen-dialog{gap:var(--s3);display:grid}.ws-regen-rows{gap:var(--s2);margin:0;display:grid}.ws-regen-rows>div{gap:var(--s3);grid-template-columns:4rem 1fr;align-items:baseline;display:grid}.ws-regen-rows dt{color:var(--dim)}.ws-regen-rows dd{overflow-wrap:anywhere;margin:0}.setup-table{margin-top:var(--s3)}.setup-table td[data-label=Model],.setup-table td[data-label=Used\ by]{overflow-wrap:anywhere}.setup-endpoint,.setup-sets{color:var(--dim);overflow-wrap:anywhere}.setup-endpoint{overflow-wrap:break-word}.setup-sets{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.setup-attention{color:var(--rust)}.setup-table td[data-label=Model]{color:var(--ink);font-weight:500}.setup-row{cursor:pointer}.setup-profile{align-items:flex-start;gap:var(--s1);display:flex}.setup-profile-main{flex-direction:column;min-width:0;display:flex}.setup-profile-name{align-items:center;gap:var(--s2);min-height:var(--ctl);display:flex}.setup-sub{font-size:var(--t-note);color:var(--dim);font-weight:400}.setup-open{min-width:0;min-height:var(--ctl)}.setup-intro{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.setup-intro .note{margin:0}.setup-dot{width:var(--ctl);height:var(--ctl);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.setup-dot-mark{border-radius:var(--r-pill);background:var(--faint);width:9px;height:9px}.setup-dot.connected .setup-dot-mark{background:var(--sage)}.setup-dot.key-needed .setup-dot-mark{background:var(--amber)}.setup-dot.unreachable .setup-dot-mark{background:var(--rust)}.setup-dot:hover .setup-dot-mark{box-shadow:0 0 0 3px var(--surface2)}.setup-unset,.setup-used{color:var(--dim)}.setup-usedby{gap:var(--s1);display:grid}.setup-usedby-label{font-size:var(--t-note);color:var(--dim);font-weight:600}.setup-usedby-list{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.setup-usedby-list li{align-items:baseline;gap:var(--s2);display:flex}.setup-usedby-kind{font-size:var(--t-note);color:var(--dim)}@media (width<=600px){.wiz-table.dt-cards td.dt-title{padding-right:0}.wiz-table.dt-cards td.dt-menu{width:auto;margin-top:var(--s2);position:static}.setup-table.dt-cards .setup-profile{grid-template-columns:minmax(0,auto) auto;justify-content:start;align-items:center;display:grid}.setup-table.dt-cards .setup-profile-main{display:contents}.setup-table.dt-cards .setup-profile-name{grid-area:1/1;min-width:0}.setup-table.dt-cards .setup-dot{grid-area:1/2}.setup-table.dt-cards .setup-sub{grid-area:2/1/auto/-1}}.results{margin-top:var(--s4)}.results-bar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);display:flex}.rrback{flex:none}.rrcode{display:none}.rtabs{gap:var(--s1);flex-wrap:wrap;display:flex}.rtab{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);align-items:center;display:flex}.rtab.on{border-color:var(--amber)}.rname{color:var(--dim);min-height:var(--ctl);border-radius:calc(var(--r-ctl) - 1px) 0 0 calc(var(--r-ctl) - 1px);background:0 0;border:0;font-weight:500}.rtab.on .rname{color:var(--ink)}.rx{color:var(--faint);border:0;border-left:1px solid var(--line);min-height:var(--ctl);padding:0 var(--s2);border-radius:0 calc(var(--r-ctl) - 1px) calc(var(--r-ctl) - 1px) 0;background:0 0}.runhead{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.run-queue{align-items:baseline;gap:var(--s2);flex-wrap:wrap;flex:1 1 0;min-width:0;margin:0;display:flex}.run-state{color:var(--ink);font-weight:600}.run-item{overflow-wrap:anywhere}.stop-btn{margin-left:auto}.rrbar{align-items:center;gap:var(--s2);margin-top:var(--s2);min-height:24px;display:flex}.rrmeter{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);flex:1;height:24px;position:relative;overflow:hidden}.rrbarfill{background:var(--amber);position:absolute;inset:0 auto 0 0}.rrpct{height:100%;font-size:var(--t-note);font-variant-numeric:tabular-nums;color:var(--ink);background:linear-gradient(90deg, var(--on-amber) var(--pct,0%), var(--ink) var(--pct,0%));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;font-weight:600;display:flex;position:relative}.rrprogress{font-size:var(--t-label);color:var(--dim)}.rrstatus{margin-top:var(--s2)}.runstats{margin-top:var(--s3)}.runstats .fig-value code{font-size:inherit;color:inherit}.runstats .fig-comment{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:16rem;display:inline-block;overflow:hidden}.rrtable td{vertical-align:top}.rrtable tr.reasons td{background:var(--surface2)}.scenstats-label{font-weight:600;font-size:var(--t-label);color:var(--dim)}.rr-target{gap:var(--s-half);display:grid}.rr-asked{font-size:var(--t-note);color:var(--dim);overflow-wrap:anywhere;font-weight:400}.runview{--lead:34%}.runview :is(.rrtable,.egtable) :is(th,td){text-align:left}@media (width>=601px){.rrtable,.egtable{table-layout:fixed;min-width:calc(14rem + var(--scenarios,1) * 10rem)}:is(.rrtable th.col-item,.egtable th.col-eg){width:var(--lead)}}.runview .fbar-quick{margin-left:auto}.egtable td{height:auto;padding-block:var(--s2);vertical-align:top;overflow-wrap:anywhere}.eg-name{font-weight:600}.eg-ver,.col-egver{color:var(--dim);font-size:var(--t-label)}.eg-cell{align-items:center;gap:var(--s2);display:inline-flex}.eg-pct{font-variant-numeric:tabular-nums;font-size:var(--t-label);color:var(--ink)}.eg-none{color:var(--dim)}.eg-rule{color:var(--dim);font-size:var(--t-note);margin-left:var(--s1)}.egtable tr:has(+tr.eg-overall)>td{border-bottom-color:#0000}.egtable tr.eg-overall>td{border-bottom:0;background:var(--surface2)!important}.egtable tr.eg-overall>td:first-child{border-radius:var(--r-ctl) 0 0 var(--r-ctl)}.egtable tr.eg-overall>td:last-child{border-radius:0 var(--r-ctl) var(--r-ctl) 0}@media (width<=600px){.egtable,.egtable :is(tbody,tr){display:block}.egtable thead{display:none}.egtable>tbody>tr{padding:var(--s2) 0;border-top:1px solid var(--line)}.egtable>tbody>tr:first-child{border-top:0}.egtable>tbody>tr>td{justify-content:space-between;align-items:center;gap:var(--s3);border:0;padding:3px 0;display:flex}.egtable>tbody>tr>td.col-eg{padding-bottom:var(--s1)}.egtable>tbody>tr>td[data-label]:before{content:attr(data-label);color:var(--dim)}.egtable>tbody>tr>td[data-label][data-asked]:before{content:attr(data-label) ", " attr(data-asked)}.egtable>tbody>tr.eg-overall{margin-top:var(--s2);padding:var(--s2) var(--s3);background:var(--surface2);border-radius:var(--r-ctl);border-top:0}.egtable>tbody>tr.eg-overall>td{border-radius:0;background:0 0!important}.egtable>tbody>tr.scenstats>td.scenstat{padding-block:var(--s1);display:block}.egtable>tbody>tr.scenstats>td.scenstat:before{margin-bottom:var(--s1);display:block}}.reasons-none{font-size:var(--t-label);color:var(--sage)}.reasons-list{gap:var(--s-half);margin:0;padding:0;list-style:none;display:grid}.reasons-list li{border-radius:var(--r-ctl);background:linear-gradient(to right, color-mix(in srgb, var(--rust) 16%, transparent) var(--share), transparent var(--share))}.reason{align-items:baseline;gap:var(--s2);padding:3px var(--s2) 3px var(--s1);font-size:var(--t-label);color:var(--ink);border-radius:var(--r-ctl);grid-template-columns:2.5ch minmax(0,1fr);line-height:1.35;text-decoration:none;display:grid}.reason-n{text-align:right;font-variant-numeric:tabular-nums;color:var(--rust);font-weight:700}.reason-t{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reason-note{color:var(--dim);font-size:var(--t-note)}a.reason:hover .reason-t,a.reason:focus-visible .reason-t{color:var(--amber);text-underline-offset:2px;text-decoration:underline}@media (pointer:coarse),(width<=600px){.reason{min-height:var(--tap);align-items:center}}.rrtable .thumb{background:0 0;border:0;padding:0}.rrtable .thumb img{border-radius:var(--r-ctl);max-width:96px;display:block}.rrtable .meta{font-size:var(--t-note);color:var(--dim);overflow-wrap:anywhere}.rritem{align-items:center;gap:var(--s2);margin-top:var(--s1);display:flex}.rritem .meta{flex:auto;min-width:0;margin-top:0}.rritem :is(.rrname,.rrcall){-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rrloop{font-size:var(--t-note);color:var(--dim);font-variant-numeric:tabular-nums;flex:none}.rritem :is(.menu,.dt-chevron){flex:none}.verdict{text-transform:uppercase;font-weight:700;font-size:var(--t-label)}.verdict.pass{color:var(--sage)}.verdict.fail{color:var(--rust)}.verdict.skipped{color:var(--dim)}.eval-block{margin:0 0 var(--s2)}.eval-block+.eval-block{padding-top:var(--s2);border-top:1px solid var(--line)}.eval-head{align-items:baseline;column-gap:var(--s2);font-size:var(--t-label);flex-wrap:wrap;display:flex}.eval-group{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.eval-head .metric-score{color:var(--dim);font-variant-numeric:tabular-nums}.eval-block ul{margin:var(--s1) 0 0;gap:var(--s1);padding:0;list-style:none;display:grid}.eval-block li{font-size:var(--t-label);color:var(--ink);overflow-wrap:anywhere;align-items:baseline;gap:6px;display:flex}.eval-block li>.mark{flex:none;align-self:flex-start;margin-top:3px}.eval-block li.nil{color:var(--dim)}.mark.nil{width:14px;color:var(--dim);justify-content:center;line-height:14px}.metric-line{gap:var(--s-half);min-width:0;display:grid}.reply-stopped{margin-top:var(--s1);font-size:var(--t-label);color:var(--rust)}.metric-reason{color:var(--dim)}.metric-reason.err{color:var(--rust)}.pct{font-variant-numeric:tabular-nums;margin-left:var(--s2);font-size:var(--t-label)}.reasons{font-size:var(--t-note);margin-top:var(--s1)}.reasons.fault{color:var(--rust)}.reasons.hit{color:var(--sage)}.chips{gap:var(--s1);margin-top:var(--s2);flex-wrap:wrap;display:flex}.term.no{text-decoration:line-through}.hit{color:var(--sage)}.fault{color:var(--rust)}.rrtable tr.rrdetail>td{padding-top:0}.rrtable tr.hasdetail>td{border-bottom:0}.rrdetail-panel{padding:var(--s3);background:var(--ground);position:relative}.transcript{gap:var(--s4);min-width:0;display:grid}.tx-block{gap:var(--s2);border-radius:var(--r-ctl);min-width:0;display:grid}.tx-head{font:600 var(--t-label) / 1.4 var(--sans);margin:0}.tx-call{gap:var(--s2);display:grid}.tx-call+.tx-call{padding-top:var(--s2);border-top:1px solid var(--line)}.tx-part{gap:var(--s1);min-width:0;display:grid}.tx-label{font-size:var(--t-caption);color:var(--dim);font-weight:600}.tx-part pre{font:var(--t-note) / 1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tx-part .tx-text.err{color:var(--rust)}.tx-part .tx-text,.tx-part .json-view{max-height:24rem;overflow:auto}.rrtable td>pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.dropped summary{cursor:pointer;font-size:var(--t-note);color:var(--dim)}.droppedrow{align-items:center;gap:var(--s2);margin-top:var(--s1);display:flex}.lightbox-img{border-radius:var(--r-ctl);max-width:100%;max-height:60vh;margin:0 auto;display:block}@media (width<=600px){.results{z-index:calc(var(--z-sticky) + 1);background:var(--ground);padding:var(--s3);margin:0;position:fixed;inset:0;overflow-y:auto}.rtabs{display:none}.rrback{min-width:var(--tap);min-height:var(--tap)}.rrcode{padding:0 var(--s2);border:1px solid var(--amber);border-radius:var(--r-ctl);min-height:32px;font-size:var(--t-body);color:var(--ink);align-items:center;display:inline-flex}.rrtable,.rrtable :is(thead,tbody,tr,th,td){display:block}.rrtable thead tr:first-child{display:none}.rrtable tbody tr{border:1px solid var(--line);border-radius:var(--r-pane);margin-bottom:var(--s2);padding:var(--s2) var(--s3)}.rrtable td{border:0;height:auto}.rrtable td[data-label]:before{content:attr(data-label);font-size:var(--t-note);color:var(--dim);margin-bottom:var(--s1);font-weight:600;display:block}.rrtable td[data-label][data-asked]:before{content:attr(data-label) ", " attr(data-asked)}.rrtable tr.reasons td{border-bottom:1px solid var(--line)}.rrtable tr.reasons td:last-of-type{border-bottom:0}.rrtable .thumb img{width:100%;max-width:none}.rrtable td[data-label=Expected]{border-top:1px solid var(--line)}.rrtable td.col-item{flex-direction:column;align-items:stretch;display:flex}.rrtable tbody tr.hasdetail{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.rrtable tbody tr.rrdetail{border-top:0;border-top-left-radius:0;border-top-right-radius:0}}.eval-block .watched{margin-top:var(--s1)}.eval-block .watched>b{font-size:var(--t-label);color:var(--dim);font-weight:600}.rrorigin{margin:0}.egtable.recorded tr.eg-metric>td.col-eg{font-weight:400}.egtable.recorded .eg-metric-name{color:var(--dim);padding-left:var(--s3)}.egtable.recorded tr.eg-group:not(:first-child)>td{border-top:1px solid var(--line)}@media (width<=600px){.egtable.recorded .eg-metric-name{padding-left:0}}.rrcall{flex:auto;min-width:0}.rec-compare{gap:var(--s4);grid-template-columns:repeat(var(--scenarios,2), minmax(0, 1fr));display:grid}.rec-side{gap:var(--s2);align-content:start;min-width:0;display:grid}.rec-side-title{font-size:var(--t-label);margin:0;font-weight:600}.rec-checks{gap:var(--s-half);margin:0;padding:0;list-style:none;display:grid}.rec-checks li{justify-content:space-between;align-items:center;gap:var(--s2);font-size:var(--t-label);display:flex}.rec-checks .eval-name{color:var(--ink);min-width:0}@media (width<=600px){.rec-compare{grid-template-columns:1fr}}@media (pointer:coarse),(width<=600px){.eval-block li:has(>.metric-line>.metric-open)>.mark{margin-top:calc((var(--tap) - 14px) / 2)}}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:0 0}.app-head,.app-tabs,.results-bar,.menu,.undo-toast,.runview .fbar,.stop-btn,.rrtable .dt-chevron{display:none!important}.runview .scrollx{overflow:visible}.rrtable,.egtable{min-width:0}.runview tr{break-inside:avoid}.runview thead{display:table-header-group}.egtable tr.eg-overall>td{border-top:1px solid var(--line);background-color:#0000!important}}.app{max-width:1100px;padding:var(--s4);margin:0 auto;overflow-x:clip}.app .note a,.group-about a{color:var(--amber)}.app-head{align-items:center;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.app-head h1{font-size:var(--t-title);flex:auto;margin:0;font-weight:600}.sync{align-items:center;gap:var(--s2);font-size:var(--t-label);flex-wrap:wrap;margin:0;display:flex}.sync>span:first-child{margin-right:auto}.sync.bad{color:var(--rust)}.ws-archived-bar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);padding:var(--s2) var(--s3);background:var(--surface2);font-size:var(--t-label);color:var(--dim);flex-wrap:wrap;display:flex}.ws-archived-bar span{margin-right:auto}main[inert]{opacity:.5}.ws-gone{align-items:flex-start;gap:var(--s3);padding:var(--s4) 0;flex-direction:column;display:flex}.ws-gone p{color:var(--ink);margin:0}.ws-gone code{color:var(--dim)}@media (width<=600px){.app-head .sync{flex-basis:100%;order:1}.app{padding-inline:var(--s2)}}
|