evals-lab 0.6.0 → 0.8.0
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 +108 -0
- package/bin/run.js +36 -5
- package/lab/VERSION +1 -1
- package/lab/evals-core.mjs +464 -75
- package/lab/flows/flowApi.mjs +153 -0
- package/lab/flows/record.mjs +495 -0
- package/lab/metrics/builtin.mjs +113 -52
- package/lab/run-evals.js +32 -8
- package/lab/server.py +1174 -179
- package/lab/web/dist/assets/gallery-SnUhXRBn.js +3 -0
- package/lab/web/dist/assets/main-Ca7o-nM0.css +1 -0
- package/lab/web/dist/assets/main-Dru4_P5G.js +20 -0
- package/lab/web/dist/assets/tokens-0az9gfTq.js +58 -0
- package/lab/web/dist/assets/tokens-CqWJKhOx.css +1 -0
- package/lab/web/dist/gallery.html +3 -3
- package/lab/web/dist/index.html +4 -4
- package/package.json +1 -1
- package/lab/web/dist/assets/gallery-D_MxkfLj.js +0 -3
- package/lab/web/dist/assets/main-DDoeU6hq.css +0 -1
- package/lab/web/dist/assets/main-nz6Q4jVm.js +0 -21
- package/lab/web/dist/assets/tokens-Bl8cOqkf.js +0 -59
- package/lab/web/dist/assets/tokens-DCHW9ru7.css +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{$ as e,A as t,Bt as n,D as r,E as i,F as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,U as h,V as g,Vt as _,W as v,X as y,Y as b,Z as x,a as ee,at as te,b as ne,ct as re,i as ie,it as ae,j as S,lt as oe,m as C,nt as w,ot as se,p as ce,rt as le,t as ue,tt as de,v as fe,y as pe,z as me}from"./tokens-0az9gfTq.js";var T=_(),he=n(),E=[{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`}]},{key:`preamble`,label:`Ignore preamble`,type:`checkbox`}]}],D=[{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:`, `})}],ge=[{name:`language`,type:`value`,value:`English UK`},{name:`geo-location`,type:`value`,value:`Hamilton, Waikato, New Zealand`},{name:`geo`,type:`block`,enabled:!1}],O=[{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:`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:`workspace/menu`,title:`Workspace trigger and its three-part menu`},{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/widths`,title:`Property table, a width per value`},{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:`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-none`,title:`Responses, read as text`},{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:`wizard/pill`,title:`Wizard pill, two of four steps done`},{path:`wizard/pill-open`,title:`Wizard pill, its checklist open on the current step`}],k=me(),A=()=>{},j=(...e)=>e.map(e=>({label:e,icon:e===`Remove`?p.remove:e===`Clone`?p.clone:p.rename,onSelect:A,destructive:e===`Remove`}));function M({start:e,min:t,max:n,locked:r}){let[i,a]=(0,T.useState)(e);return(0,k.jsx)(ce,{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:A,empty:`No targets yet.`,renderItem:(e,t,n)=>(0,k.jsx)(u,{id:`scenario-${t}`,title:e,level:3,actions:n,children:(0,k.jsx)(`p`,{className:`note`,children:`A Target profile and a prompt for each job.`})},`${e}-${t}`)})}function N(){let[e,t]=(0,T.useState)(ge),n=(n,r)=>t(e.map(e=>e.name===n?{...e,...r}:e));return(0,k.jsx)(ie,{mappings:e,onValue:(e,t)=>n(e,{value:t}),onEnabled:(e,t)=>n(e,{enabled:t}),onEdit:A,onRemove:n=>t(e.filter(e=>e.name!==n)),onAdd:()=>t([...e,{name:`token${e.length+1}`,type:`value`,value:``}])})}function P({start:e,format:t=!0,readAs:n}){let[r,i]=(0,T.useState)(e),[a,o]=(0,T.useState)(t),[s,c]=(0,T.useState)(n);return(0,k.jsx)(ee,{id:`output`,out:r,format:a,readAs:s,outputKinds:E,modifiers:D,onAddFormat:()=>o(!0),onRemoveFormat:()=>{o(!1),i({kind:`text`,modifiers:[]})},onReadAs:c,onKind:e=>i({kind:e,modifiers:r.modifiers.filter(t=>D.find(e=>e.id===t.type)?.accepts.includes(e))}),onModifier:(e,t)=>i({...r,modifiers:r.modifiers.map((n,r)=>r===e?t:n)}),onAddModifier:e=>i({...r,modifiers:[...r.modifiers,e]}),onRemoveModifier:e=>i({...r,modifiers:r.modifiers.filter((t,n)=>n!==e)})})}function F(){let[e,t]=(0,T.useState)(`Job 1`),[n,r]=(0,T.useState)(!0);return(0,k.jsx)(u,{id:`renaming`,title:e,actions:[{label:`Rename…`,icon:p.rename,onSelect:()=>r(!0)}],...n?{rename:{value:e,onCommit:n=>{t(n||e),r(!1)},onCancel:()=>r(!1)}}:{},children:(0,k.jsx)(`p`,{className:`note`,children:`Enter or leaving keeps the name; Escape cancels.`})})}function I(){let[e,t]=(0,T.useState)(`system`);return(0,k.jsx)(`div`,{className:`gallery-row`,style:{justifyContent:`flex-end`},children:(0,k.jsx)(fe,{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:A,onNew:A,onManage:A,theme:e,onTheme:t})})}function L({sections:e,menu:t,status:n,statusBad:r,outcome:a}){return(0,k.jsx)(i,{title:`Lab Ollama`,...n?{status:n}:{},...r?{statusBad:!0}:{},...t?{menu:t}:{},sections:e,actions:[{label:`Test connection`,icon:y,onSelect:A,outcome:a?{label:a,onOpen:A}:void 0}],onClose:A})}var R=()=>[{key:`name`,label:`Name`,required:!0,control:{type:`text`,value:`Lab Ollama`,onChange:A}},{key:`type`,label:`Type`,required:!0,control:{type:`select`,value:`ollama`,onChange:A,options:[{value:`ollama`,label:`Ollama (Local)`},{value:`anthropic`,label:`Anthropic`}]}},{key:`url`,label:`Address`,control:{type:`text`,value:``,placeholder:`the lab's Ollama`,onChange:A}},{key:`key`,label:`Key`,control:{type:`secret`,value:``,onChange:A}},{key:`model`,label:`Model`,control:{type:`text`,value:`minicpm-v4.6:latest`,onChange:A}}],z=()=>[{key:`seed`,label:`Seed`,control:{type:`text`,value:``,placeholder:`1234`,onChange:A}},{key:`nPredict`,label:`Reply tokens`,control:{type:`text`,value:``,size:`num`,onChange:A}},{key:`temperature`,label:`Temperature`,control:{type:`text`,value:`0.3`,onChange:A}},{key:`repeatPenalty`,label:`Repeat penalty`,control:{type:`text`,value:``,size:`num`,onChange:A}}],B=()=>[{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}`}}],V={key:`kind`,label:`Response Format`,required:!0,control:{type:`select`,value:`list`,onChange:A,options:E.map(e=>({value:e.id,label:e.label}))}};function H({actions:e}){return(0,k.jsx)(u,{id:`g`,title:`Actions`,children:(0,k.jsx)(m,{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,k.jsx)(f,{label:`Ask_Claude actions`,actions:e})}]})})}var _e=[[`home`,`Home`,w],[`runs`,`Runs`,te],[`history`,`History`,le],[`library`,`Library`,de],[`setup`,`Setup`,s]],ve=[[`datasets`,`Datasets`,oe],[`prompts`,`Prompts`,e],[`sources`,`Sources`,ae]],U=e=>(0,k.jsx)(S,{label:`Lab`,current:e,items:_e.map(([e,t,n])=>({key:e,label:t,icon:n,href:`#/${e}`}))}),W=e=>(0,k.jsx)(S,{label:`Library`,level:`section`,current:e,items:ve.map(([e,t,n])=>({key:e,label:t,icon:n,href:`#/library/${e}`}))}),G=({section:e,children:t})=>(0,k.jsxs)(`div`,{children:[U(e?`library`:`runs`),e&&W(e),t]}),K=(...e)=>e.map(e=>({label:e,icon:e===`Delete`?p.remove:e===`Clone`?p.clone:p.rename,onSelect:A,destructive:e===`Delete`})),ye={"header/pipeline":()=>(0,k.jsx)(G,{children:(0,k.jsx)(t,{kind:`Pipeline`,name:`Pipeline 1`,onPick:A,meta:`2 jobs, 3 targets`,primary:{label:`New pipeline`,icon:b,onSelect:A},actions:K(`Rename…`,`Clone`,`Export YAML`,`Import YAML…`,`Restore…`,`Delete`)})}),"header/dataset":()=>(0,k.jsx)(G,{section:`datasets`,children:(0,k.jsx)(t,{kind:`Dataset`,name:`Demo 1`,onPick:A,meta:`62 cases, 19 graded`,primary:{label:`New dataset`,icon:b,onSelect:A},actions:K(`Rename…`,`Clone`,`Import JSON…`,`Export JSON`,`Restore…`,`Delete`)})}),"header/switcher":()=>(0,k.jsx)(pe,{kind:`Pipeline`,value:`p5`,onPick:A,onClose:A,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:`Oct ${t+1}, 2026, 09:30`}:null}))}),"picker/fields":()=>(0,k.jsx)(u,{id:`g`,title:`Target A`,children:(0,k.jsx)(r,{label:`Target A setup`,rows:[{key:`profile`,label:`Profile`,control:{type:`picker`,kind:`Profile`,value:`p2`,usedLabel:`Last changed`,onChange:A,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:`Oct ${t+1}, 2026, 09:30`}:null}))]}},{key:`source`,label:`Source`,control:{type:`picker`,kind:`Source`,value:`gone`,usedLabel:`Last changed`,onChange:A,options:[{id:``,label:`Any`,fixed:!0},{id:`gone`,label:`Shoot 3 (missing)`},{id:`s1`,label:`Receipts`}]}}]})}),"header/source":()=>(0,k.jsx)(G,{section:`sources`,children:(0,k.jsx)(t,{kind:`Source`,name:`Demo 1 images`,onPick:A,meta:`File Library. 63 files, 48 MB`,primary:{label:`Upload…`,icon:g,onSelect:A},actions:K(`Rename…`,`Delete`)})}),"workspace/menu":()=>(0,k.jsx)(I,{}),"header/long":()=>(0,k.jsx)(G,{children:(0,k.jsx)(t,{kind:`Pipeline`,name:`Receipts and handwritten menus, second pass with the tighter prompt and a Contains metric`,onPick:A,meta:`12 jobs, 8 targets`,primary:{label:`New pipeline`,icon:b,onSelect:A},actions:K(`Rename…`,`Clone`,`Delete`)})}),"actionbar/states":()=>(0,k.jsxs)(`div`,{children:[U(`runs`),(0,k.jsx)(t,{kind:`Pipeline`,name:`Demo 1`,onPick:A,meta:`1 job, 2 targets`,docked:!0,primary:{label:`New pipeline`,icon:b,onSelect:A},actions:K(`Rename…`,`Delete`)}),(0,k.jsx)(C,{primary:{label:`Run`,icon:x,onSelect:A},status:(0,k.jsx)(`b`,{children:`Ready to run`})}),(0,k.jsxs)(`div`,{style:{display:`grid`,gap:`var(--s4)`,marginTop:`var(--s5)`},children:[(0,k.jsx)(C,{primary:{label:`Run`,icon:x,onSelect:A,disabled:!0},status:(0,k.jsxs)(k.Fragment,{children:[`Target profile "Vision" not found. `,(0,k.jsxs)(`a`,{href:`#/setup`,style:{whiteSpace:`nowrap`},children:[`Open`,`\xA0`,`Setup`]})]})}),(0,k.jsx)(C,{primary:{label:`Run`,icon:x,onSelect:A,disabled:!0},status:(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`b`,{children:`Running`}),` 12 of 42`]}),secondary:{label:`Stop`,icon:v,onSelect:A},progress:28,progressLabel:`Run progress`}),(0,k.jsx)(C,{primary:{label:`Run`,icon:x,onSelect:A},status:(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`b`,{children:`Done`}),` 42 in 2m`]})})]})]}),"tabs/main":()=>U(`runs`),"tabs/section":()=>(0,k.jsxs)(`div`,{children:[U(`library`),W(`datasets`)]}),"group/open":()=>(0,k.jsx)(u,{id:`g`,title:`Evals`,actions:j(`Change…`,`Remove`),children:(0,k.jsx)(`p`,{className:`note`,children:`The graded set.`})}),"group/closed":()=>(0,k.jsx)(u,{id:`g`,title:`Content`,open:!1,note:`Sample library, 63 files`,actions:j(`Change…`,`Remove`)}),"group/no-menu":()=>(0,k.jsx)(u,{id:`g`,title:`Mapping`,children:(0,k.jsx)(`p`,{className:`note`,children:`Nothing to do to it.`})}),"group/sub":()=>(0,k.jsx)(u,{id:`g`,title:`Job 1`,actions:j(`Rename…`,`Remove`),children:(0,k.jsx)(u,{id:`g-sub`,title:`Scenarios`,level:3,actions:j(`Clear`),children:(0,k.jsx)(`p`,{className:`note`,children:`Inside a pane.`})})}),"group/depth":()=>(0,k.jsxs)(u,{id:`g`,title:`Job 1`,actions:j(`Rename…`,`Remove`),children:[(0,k.jsxs)(u,{id:`g-scenarios`,title:`Scenarios`,level:3,children:[(0,k.jsx)(u,{id:`g-plain`,title:`Plain`,level:3,actions:j(`Rename…`,`Remove`),children:(0,k.jsx)(`p`,{className:`note`,children:`A pane, a section of it, and a thing with a name inside that section.`})}),(0,k.jsx)(u,{id:`g-strict`,title:`Strict`,level:3,actions:j(`Rename…`,`Remove`)})]}),(0,k.jsx)(u,{id:`g-output`,title:`Output`,level:3,children:(0,k.jsx)(`p`,{className:`note`,children:`The next section of the same pane.`})})]}),"group/renaming":()=>(0,k.jsx)(F,{}),"menu/disabled":()=>(0,k.jsx)(u,{id:`g`,title:`Target D`,actions:[{label:`Rename…`,icon:p.rename,onSelect:A},{label:`Clone`,icon:p.clone,onSelect:A,disabled:!0},{label:`Remove`,icon:p.remove,onSelect:A,destructive:!0}]}),"row/button":()=>(0,k.jsx)(H,{actions:[{label:`New pipeline`,icon:x,onSelect:A}]}),"row/menu":()=>(0,k.jsx)(H,{actions:[{label:`View…`,icon:se,onSelect:A},{label:`Download`,icon:re,onSelect:A},{label:`Remove`,icon:h,onSelect:A,destructive:!0}]}),"menu/busy":()=>(0,k.jsx)(u,{id:`g`,title:`History`,actions:[{label:`Export JSON`,icon:p.export,onSelect:A,busy:!0},{label:`Clear`,icon:p.clear,onSelect:A,destructive:!0}]}),"loading/group":()=>(0,k.jsx)(u,{id:`g`,title:`History`,actions:j(`Rename…`),children:(0,k.jsx)(o,{label:`Runs`,delay:0})}),"loading/error":()=>(0,k.jsx)(u,{id:`g`,title:`History`,children:(0,k.jsx)(o,{label:`Runs`,error:`Runs not loaded: server unreachable.`,onRetry:A})}),"loading/busy-button":()=>(0,k.jsx)(u,{id:`g`,title:`Run`,children:(0,k.jsxs)(`div`,{className:`gallery-row`,children:[(0,k.jsxs)(`button`,{type:`button`,className:`run`,disabled:!0,"aria-busy":!0,children:[(0,k.jsx)(c,{size:16}),`Run`]}),(0,k.jsxs)(`button`,{type:`button`,className:`ghost`,disabled:!0,"aria-busy":!0,children:[(0,k.jsx)(c,{}),`Older`]})]})}),"repeater/empty":()=>(0,k.jsx)(M,{start:[]}),"repeater/min":()=>(0,k.jsx)(M,{start:[`Target A`],min:1}),"repeater/between":()=>(0,k.jsx)(M,{start:[`Target A`,`Target B`],min:1,max:4}),"repeater/max":()=>(0,k.jsx)(M,{start:[`Target A`,`Target B`,`Target C`,`Target D`],min:1,max:4}),"repeater/locked":()=>(0,k.jsx)(M,{start:[`Reply`,`Target A`],locked:(e,t)=>t===0}),"props/controls":()=>(0,k.jsx)(r,{label:`Controls`,onRename:A,onRemove:A,onAdd:A,addLabel:`Add row`,rows:[V,{key:`language`,label:`{language}`,code:!0,control:{type:`text`,value:`English UK`,onChange:A}},{key:`geo`,label:`{geo}…{/geo}`,code:!0,control:{type:`static`,text:`Block`},enabled:{checked:!0,onChange:A}},{key:`image`,label:`Image`,control:{type:`checkbox`,checked:!0,label:`Send`,onChange:A}}]}),"props/required":()=>(0,k.jsx)(r,{label:`Output`,onRemove:A,rows:[V]}),"props/long":()=>(0,k.jsx)(r,{label:`Long`,onRemove:A,rows:[{key:`geo-location`,label:`{geo-location}`,code:!0,control:{type:`text`,value:`Hamilton, Waikato, New Zealand, Southern Hemisphere, Earth`,onChange:A}},{key:`averylongtokennamethatdoesnotbreak`,label:`{averylongtokennamethatdoesnotbreak}`,code:!0,control:{type:`text`,value:``,onChange:A}}]}),"props/widths":()=>(0,k.jsx)(r,{label:`Widths`,rows:[{key:`type`,label:`Type`,required:!0,control:{type:`select`,value:`ollama`,onChange:A,options:[{value:`ollama`,label:`Ollama (Local)`},{value:`anthropic`,label:`Anthropic`}]}},{key:`url`,label:`Address`,control:{type:`text`,value:``,placeholder:`the lab's Ollama`,onChange:A}},{key:`model`,label:`Model`,control:{type:`text`,value:`minicpm-v4.6:latest`,onChange:A}},{key:`seed`,label:`Seed`,control:{type:`text`,value:``,placeholder:`1234`,onChange:A}},{key:`nPredict`,label:`Reply tokens`,control:{type:`text`,value:``,size:`num`,onChange:A}},{key:`temperature`,label:`Temperature`,control:{type:`text`,value:`0.2`,onChange:A}},{key:`grammar`,label:`Grammar`,control:{type:`textarea`,value:`root ::= item (", " item)*
|
|
2
|
+
item ::= [a-z ]+`,onChange:A}}]}),"props/secret":()=>(0,k.jsx)(r,{label:`Keys`,rows:[{key:`held`,label:`Key`,control:{type:`secret`,value:`sk-not-a-real-key-0000`,onChange:A}},{key:`empty`,label:`Key`,control:{type:`secret`,value:``,onChange:A}},{key:`server`,label:`Key`,control:{type:`secret`,value:``,held:!0,onChange:A}}]}),"props/code":()=>(0,k.jsx)(r,{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,k.jsx)(Q,{count:4}),"table/paged":()=>(0,k.jsx)(Q,{count:35,pageSize:10}),"table/select":()=>(0,k.jsx)(Q,{count:5,picked:[]}),"table/select-on":()=>(0,k.jsx)(Q,{count:5,picked:[1,3]}),"table/filter":()=>(0,k.jsx)(Z,{}),"table/filter-on":()=>(0,k.jsx)(Z,{search:`IMG_40`,size:`large`}),"edit/form":()=>(0,k.jsx)(L,{outcome:`Connected`,menu:[{label:`Restore…`,icon:p.restore,onSelect:A},{label:`Apply preset: repeat 1.3`,icon:p.preset,onSelect:A}],sections:[{key:`identity`,rows:R()},{key:`settings`,title:`Settings`,rows:z()},{key:`debug`,title:`Debug`,rows:B(),folded:!0}]}),"edit/plain":()=>(0,k.jsx)(i,{title:`A mapping`,sections:[{key:`one`,rows:[V,{key:`with`,label:`Separator`,control:{type:`text`,value:`, `,onChange:A}}]}],onClose:A}),"edit/long":()=>(0,k.jsx)(L,{menu:[{label:`Restore…`,icon:p.restore,onSelect:A,disabled:!0}],sections:[{key:`identity`,rows:R()},{key:`settings`,title:`Settings`,rows:[...z(),{key:`grammar`,label:`Grammar`,control:{type:`textarea`,value:`root ::= item (", " item)*
|
|
3
|
+
item ::= [a-z ]+`,onChange:A}},{key:`imagePosition`,label:`Image position`,control:{type:`select`,value:`after`,onChange:A,options:[{value:`before`,label:`before the prompt`},{value:`after`,label:`after the prompt`}]}},{key:`cachePrompt`,label:`Cache prompt`,control:{type:`select`,value:`off`,onChange:A,options:[{value:`on`,label:`on`},{value:`off`,label:`off`}]}}]},{key:`debug`,title:`Debug`,rows:B(),folded:!0}]}),"edit/status":()=>(0,k.jsx)(L,{status:`the relay could not reach http://127.0.0.1:11434`,statusBad:!0,sections:[{key:`identity`,rows:R()}]}),"view/tokens":()=>(0,k.jsx)(u,{id:`g`,title:`Token mappings`,level:3,children:(0,k.jsx)(N,{})}),"view/output":()=>(0,k.jsx)(P,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`LOWER`}]}}),"view/output-text":()=>(0,k.jsx)(P,{start:{kind:`text`,modifiers:[]}}),"view/output-two":()=>(0,k.jsx)(P,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`TITLE`},{type:`join`,with:` | `}]}}),"view/output-twice":()=>(0,k.jsx)(P,{start:{kind:`list`,parse:`csv`,modifiers:[{type:`case`,mode:`TITLE`},{type:`case`,mode:`LOWER`}]}}),"view/output-none":()=>(0,k.jsx)(P,{start:{kind:`text`,modifiers:[]},format:!1}),"view/output-flow":()=>(0,k.jsx)(P,{start:{kind:`text`,modifiers:[]},readAs:`@body('Ask')?['content']?[0]?['text']`}),"view/field-chip":()=>(0,k.jsx)(u,{id:`g`,title:`Edited`,level:3,children:(0,k.jsxs)(`div`,{className:`prompt`,children:[(0,k.jsx)(`span`,{className:`prop-name`,children:`Prompt`}),(0,k.jsx)(ue,{words:`Summarise @{triggerBody()?['text']} in two short sentences for @{variables('Audience')}.`,was:`Summarise @{triggerBody()?['text']} in one sentence for @{variables('Audience')}.`})]})}),"multi/closed":()=>(0,k.jsx)(q,{}),"multi/open":()=>(0,k.jsx)(q,{open:!0}),"wizard/pill":()=>(0,k.jsx)(J,{}),"wizard/pill-open":()=>(0,k.jsx)(J,{open:!0})};function q({open:e=!1}){let[t,n]=(0,T.useState)([`better`,`same`]),i=[{value:`better`,label:`Better`},{value:`same`,label:`Same`},{value:`worse`,label:`Worse`}];return e?(0,k.jsx)(`div`,{style:{minHeight:180},children:(0,k.jsx)(d,{value:t,options:i,onChange:n,defaultOpen:!0})}):(0,k.jsx)(r,{label:`Judged against recorded`,rows:[{key:`expected`,label:`Expected`,required:!0,control:{type:`multi`,value:t,options:i,onChange:n}}]})}function J({open:e}){return(0,k.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,padding:`var(--s3)`},children:(0,k.jsx)(l,{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:A,onCancel:A,...e?{defaultOpen:!0}:{}})})}var Y=O.map(e=>({...e,render:ye[e.path]})),X=e=>Array.from({length:e},(e,t)=>({name:`IMG_${String(4e3+t*7919%97).padStart(4,`0`)}.jpg`,kb:t*37%900+40}));function Z({search:e=``,size:t=`all`}){let[n,r]=(0,T.useState)(e),[i,a]=(0,T.useState)(t),[o,s]=(0,T.useState)(`shoot`),c=X(12),l=c.filter(e=>e.name.toLowerCase().includes(n.trim().toLowerCase())&&(i===`all`||i===`large`==e.kb>=400));return(0,k.jsxs)(u,{id:`files`,title:`Files`,children:[(0,k.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,k.jsx)(m,{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,k.jsx)(`p`,{className:`note`,children:`No files match these filters.`})]})}function Q({count:e,pageSize:t,picked:n}){let r=X(e),[i,o]=(0,T.useState)(r),[s,c]=(0,T.useState)(()=>new Set((n??[]).map(e=>r[e].name)));return(0,k.jsx)(u,{id:`files`,title:`Files`,children:(0,k.jsx)(m,{label:`Files`,cards:!0,rows:i,rowKey:e=>e.name,pageSize:t??null,select:n&&{noun:`file`,selected:s,onChange:c,actions:e=>[{label:`Move…`,icon:p.rename,onSelect:A},{label:`Remove`,icon:p.remove,destructive:!0,onSelect:()=>{o(t=>t.filter(t=>!e.includes(t))),c(new Set)}},{label:`Export`,icon:g,onSelect:A}]},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,k.jsx)(a,{label:`${e.name} actions`,actions:[{label:`Rename…`,icon:p.rename,onSelect:A},{label:`Remove`,icon:p.remove,destructive:!0,onSelect:A}]})}]})})}var $=()=>decodeURIComponent(location.hash.replace(/^#\/?/,``));function be(){let[e,t]=(0,T.useState)($);(0,T.useEffect)(()=>{let e=()=>t($());return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[]);let n=Y.find(t=>t.path===e);return n?(0,k.jsxs)(`main`,{className:`gallery-one`,"data-route":n.path,children:[(0,k.jsxs)(`nav`,{className:`gallery-nav`,children:[(0,k.jsx)(`a`,{href:`#/`,children:`All`}),(0,k.jsx)(`span`,{children:n.title})]}),n.render()]}):(0,k.jsxs)(`main`,{className:`gallery-index`,"data-route":``,children:[(0,k.jsx)(`h1`,{children:`Components`}),(0,k.jsx)(`ul`,{children:Y.map(e=>(0,k.jsxs)(`li`,{children:[(0,k.jsx)(`a`,{href:`#/${e.path}`,children:e.title}),` `,(0,k.jsx)(`code`,{children:e.path})]},e.path))})]})}(0,he.createRoot)(document.getElementById(`root`)).render((0,k.jsx)(T.StrictMode,{children:(0,k.jsx)(be,{})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.figures{--fig-lead:32px;--fig-lead-dense:22px;align-items:stretch;gap:var(--s4);display:flex}.fig{align-content:start;gap:2px;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{width:100%;min-height:40vh;padding:var(--s3);resize:none;background:var(--surface2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-ctl);font:var(--t-note) / 1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;flex:1}.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-open{min-height:var(--tap);align-content:center}.eg-groups td[data-state=none]{display:none}}.caseform{gap:var(--s3);display:grid}.cfrow{gap:var(--s2);grid-template-columns:minmax(88px,30%) minmax(0,1fr);align-items:start;display:grid}.cflabel{font-size:var(--t-label);color:var(--dim);padding-top:var(--s1)}.cfgroups{gap:var(--s2);display:grid}.cf-group-note{font-size:var(--t-note);color:var(--dim)}.cfchips{gap:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.cfchips .chip{align-items:center;gap:var(--s1);display:inline-flex}.chipx{padding:0 var(--s1);color:var(--dim);font-size:var(--t-label);background:0 0;border:0;min-height:auto;line-height:1}.chipx:hover,.chipx:focus-visible{color:var(--rust)}@media (pointer:coarse),(width<=600px){.chipx{min-width:44px;min-height:44px}}.cfadd{gap:var(--s1);display:flex}.cfadd input{width:7em}.cfrow textarea{width:100%;min-height:64px;padding:var(--s2);border-radius:var(--r-ctl);background:var(--surface2);color:var(--ink);border:1px solid var(--line);font:inherit}.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}.spin{animation:1s linear infinite cfs-spin}@keyframes cfs-spin{to{transform:rotate(360deg)}}.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:44px;min-height:44px}}.dstable .ds-todo{color:var(--amber)}.ds-file{min-height:auto;font:inherit;color:var(--amber);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.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-note{text-overflow:ellipsis;white-space:nowrap;max-width:36ch;color:var(--dim);display:block;overflow:hidden}.ds-none{padding:var(--s4);border:1px dashed var(--line);border-radius:var(--r-pane);color:var(--dim);text-align:center;margin:0}.ds-add{width:fit-content;margin:var(--s3) 0 0 auto;display:flex}.item-picker .ip-search{box-sizing:border-box;width:100%;margin:var(--s3) 0}.item-picker .ip-items{gap:var(--s1);border:0;max-height:50vh;margin:0;padding:0;display:grid;overflow:auto}.item-picker .ip-items legend{margin-bottom:var(--s1)}.item-picker .ip-item{align-items:center;gap:var(--s3);min-height:var(--tap);padding:var(--s1) var(--s2);border-radius:var(--r-ctl);cursor:pointer;border:1px solid #0000;display:flex}.item-picker .ip-item.on{border-color:var(--amber);background:var(--surface2)}.item-picker .ip-item img,.item-picker .ip-thumb{object-fit:cover;background:var(--surface2);border:1px solid var(--line);border-radius:4px;flex:none;width:56px;height:42px}.item-picker .ip-name{font-size:var(--t-note);overflow-wrap:anywhere}@media (pointer:coarse),(width<=600px){.ds-file{min-height:44px}}.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}}.pl-open{width:100%;min-height:auto;font:inherit;text-align:left;color:var(--amber);background:0 0;border:0;justify-items:start;gap:2px;padding:0;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-default{border:1px solid var(--amber);border-radius:var(--r-pill);min-height:18px;color:var(--amber);font-size:var(--t-caption);align-items:center;padding:0 6px;font-weight:600;line-height:1;display:inline-flex}.pl-add{width:fit-content;margin:var(--s3) 0 0 auto;display:flex}.pl-run{color:var(--amber)}.pl-words-row td{padding-top:0}.pl-words{padding:var(--s2);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);max-height:240px;font:var(--t-note) / 1.5 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:auto}.edit-section .pltable{margin-top:var(--s1)}.edit .prop[data-key=text] textarea{min-height:180px}@media (pointer:coarse),(width<=600px){.pl-open{min-height:var(--tap);align-content:center}.pl-run{min-height:var(--tap);align-items:center;display:inline-flex}}@media (width<=600px){.pltable,.pltable :is(thead,tbody,th,td){display:block}.pltable thead{display:none}.pltable tbody tr{align-items:center;column-gap:var(--s2);row-gap:var(--s1);border:1px solid var(--line);border-radius:var(--r-pane);margin-bottom:var(--s2);padding:var(--s1) var(--s2);flex-wrap:wrap;display:flex}.pltable td{border:0;height:auto;padding:0}.pltable td:first-child{flex:1 1 calc(100% - var(--tap) - var(--s2))}.pltable .pl-menu{flex:none;order:1;width:auto}.pltable td:not(:first-child):not(.pl-menu){font-size:var(--t-label);order:2}.pltable td:not(:first-child):not(.pl-menu):before{content:attr(data-label) " ";color:var(--dim)}:is(.pltable,.pl-prompts) td[data-state=none]{display:none}.pltable tr.pl-words-row{margin-top:calc(-1 * var(--s2));border:0;padding:0}.pltable tr.pl-words-row td{flex:100%}}.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;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-pane);justify-items:start;font-weight:400;display:grid}.sp-pick:hover,.sp-pick:focus-visible{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(--faint);font-size:var(--t-note);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.sp-pager{justify-content:flex-end;align-items:center;gap:var(--s2);margin-top:var(--s3);display:flex}.sp-page{font-size:var(--t-label);color:var(--dim);font-variant-numeric:tabular-nums}.sources{gap:var(--s3);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}.suste{margin:0}.sview{border:1px solid var(--line);border-radius:var(--r-ctl);display:inline-flex;overflow:hidden}.sview button{padding:0 var(--s3);min-height:var(--ctl);font:var(--t-label) var(--sans);color:var(--dim);cursor:pointer;background:0 0;border:0}.sview button:hover{color:var(--ink)}.sview button.on{color:var(--on-amber);background:var(--amber)}.ssort{align-items:center;gap:var(--s1);display:flex}.ssort select{height:var(--field)}.sfilter{align-items:center;gap:var(--s1);color:var(--faint);flex:140px;min-width:0;display:flex}.sfilter input{flex:100%;min-width:0}.sfolders{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(140px,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);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane);color:var(--ink);cursor:pointer;font:var(--t-body) var(--sans);flex-direction:column;display:flex}.sfolder-open:hover,.sfolder-open:focus-visible{border-color:var(--amber)}.sfolder-open.off{opacity:.45;cursor:not-allowed}.sfolder-open .sfolder-ic{color:var(--amber)}.sfolder-name{text-align:left;word-break:break-word;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}.squota-none{color:var(--dim);font-size:var(--t-note);line-height:1}.squota-pop{visibility:hidden;right:0;top:calc(100% + var(--s1));z-index:20;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 svg{vertical-align:-2px;margin-right:var(--s1);color:var(--amber)}.sfiles{border:1px solid var(--line);border-radius:var(--r-pane);background:var(--surface);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));margin:0;list-style:none;display:grid}.stile{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-pane);width:100%;color:var(--ink);cursor:pointer;font:var(--t-body) var(--sans);flex-direction:column;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.stile.sel{border-color:var(--amber);outline:2px solid var(--amber);outline-offset:1px}.stile-img{aspect-ratio:1;object-fit:cover;background:var(--surface2);width:100%;display:block}.stile-type{aspect-ratio:1;width:100%;color:var(--faint);font-size:var(--t-note);justify-content:center;align-items:center;display:flex}.stile-name{padding:var(--s2);font-size:var(--t-note);text-align:left;word-break:break-word}.stile-check{top:var(--s2);right:var(--s2);border-radius:var(--r-pill);background:var(--amber);width:20px;height:20px;color:var(--on-amber);place-items:center;display:grid;position:absolute}.supload{gap:var(--s1);display:grid}.sdrop{color:var(--faint);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%)}}.srename{align-items:center;gap:var(--s2);display:flex}.srename input{flex:auto;min-width:0}.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}@media (pointer:coarse){.sview button{min-height:44px}.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}.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);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pane)}@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{background:var(--amber);border-color:var(--amber);color:var(--surface)}.home-line>.hub:after{background:var(--amber)}.home-line>.hub+.home-stop>.home-name .home-mark{border-color:var(--amber)}.start>.home-name .home-mark{border-color:var(--amber);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{color:var(--surface)}.home-fact{margin-left:var(--s2);color:var(--dim);font-size:var(--t-label);font-variant-numeric:tabular-nums}.home-start{margin-left:var(--s2);padding:1px var(--s2);border:1px solid var(--amber);border-radius:var(--r-pill);color:var(--amber);font-size:var(--t-note);vertical-align:1px}.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{align-items:baseline;gap:var(--s2);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-flex;overflow:hidden}.home-item code{font-size:var(--t-label)}.home-sub{color:var(--faint);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(--faint);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{margin:var(--s1) 0 0;display:table}.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}.jobs>.repeater>.repeater-items{gap:var(--s4)}.add-why{margin-top:var(--s1)}#pipelines select{min-width:min(16rem,100%)}.pick-list{gap:var(--s2);display:grid}.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){height:auto;padding-block:var(--s2);flex-direction:column;align-items:flex-start;gap:2px}.pick-about{font-size:var(--t-note);color:var(--dim);font-weight:400}.evals-empty{padding:var(--s3);border:1px dashed var(--line);border-radius:var(--r-ctl);text-align:center;margin:0}.eg-open{min-height:auto;font:inherit;text-align:left;color:var(--amber);overflow-wrap:anywhere;background:0 0;border:0;padding:0}.eval-flag{align-items:center;gap:var(--s1);color:var(--rust);display:inline-flex}.eval-flag svg{flex:none}.eg-add{width:fit-content;margin:var(--s3) 0 0 auto;display:flex}@media (pointer:coarse),(width<=600px){.eg-open{min-height:var(--tap);align-content:center}.eg-links td[data-state=none]{display:none}}.single-eval{gap:var(--s4);display:grid}.single-list{gap:var(--s1);display:grid}.wants-heading{font-size:var(--t-label);margin:0;font-weight:600}.evals-note{margin-top:var(--s3)}.chip{padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--dim)}.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:#fff;border-color:#0000}.mchip.todo{color:var(--rust);border-color:var(--line);background:0 0}.mchip.missing{color:var(--rust);border-color:var(--rust);background:0 0;border-style:dashed}.runbar{z-index:5;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;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.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))}.version-list{gap:var(--s2);display:grid}.version-row{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line);display:flex}.version-row:last-of-type{border-bottom:0}.version-when{font-size:var(--t-label);color:var(--dim);overflow-wrap:anywhere;min-width:0}.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 .stage-row:not(:last-child){border-bottom:1px solid var(--line)}.stages .repeater-items:has(>.stage-row){gap:0}.job-reply{margin:calc(-1 * var(--s1)) 0;font-size:var(--t-note);color:var(--faint);justify-content:center;align-items:center;gap:6px;display:flex}.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{box-sizing:border-box;border:1px solid var(--line);background:var(--surface2);width:22px;height:22px;font-size:var(--t-caption);border-radius:5px;justify-content:center;align-items:center;font-weight:700;display:flex}.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}@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}.recorded-replies pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);font-size:var(--t-note);background:var(--surface2);border-radius:var(--r-ctl);padding:var(--s2);margin:0}.history{gap:var(--s3);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}.linkish{color:var(--amber)}.htable time{white-space:nowrap}.htable .hexpand{width:1px;padding:0 0 0 var(--s1)}.htable .runrow td{vertical-align:middle}.hexpand svg{transition:transform .15s}.runrow.open .hexpand svg{transform:rotate(90deg)}.hvh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rchip{padding:1px var(--s2);border-radius:var(--r-pill);border:1px solid var(--line);font-size:var(--t-note);color:var(--dim);display:inline-block}.rchip.done{color:var(--sage);border-color:var(--sage)}.rchip.queued,.rchip.running{color:var(--amber);border-color:var(--amber)}.rchip.failed,.rchip.incomplete,.rchip.cancelled,.rchip.interrupted{color:var(--rust);border-color:var(--rust)}.hcomment{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:240px;display:inline-block;overflow:hidden}.hcomment.empty{color:var(--faint);letter-spacing:.12em}.scen-table td{white-space:nowrap}.older-btn{width:fit-content;margin:var(--s3) 0 0 auto;display:flex}.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}.hcols-actions{gap:var(--s2);justify-content:flex-end;display:flex}@media (pointer:coarse),(width<=600px){.hcols label{min-height:44px}.hexpand .icon-btn{min-width:44px;min-height:44px}}@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(--s3);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 .runrow>td.hexpand{top:var(--s1);right:var(--s1);width:auto;padding:0;position:absolute}.htable .runrow>td.hexpand+td{padding-right:48px}.htable>tbody>.runrow.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:44px;min-height:44px}}@media (width<=600px){.htable .runrow>td.hactions{top:var(--s1);width:auto;padding:0;position:absolute;right:48px}.htable .runrow>td.hexpand+td{padding-right:96px}.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{color:var(--ink);font-weight:600;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{color:var(--dim);font-size:var(--t-note);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.ws-regen:hover,.ws-regen:focus-visible{color:var(--amber)}.ws-current{color:var(--ink);font-weight:600}.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=Address],.setup-table td[data-label=Model]{overflow-wrap:anywhere}.setup-row{cursor:pointer}.setup-open{min-height:var(--ctl);color:var(--ink);font-size:inherit;font-weight:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0}.setup-open:hover,.setup-open:focus-visible{color:var(--amber)}.setup-note{font-size:var(--t-note);display:flex}.setup-table td[data-label=Key]{white-space:nowrap}.setup-unset{color:var(--dim)}@media (width<=600px){.setup-table td[data-label=Key]{white-space:normal}.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}}.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;overflow:hidden}.rtab.on{border-color:var(--amber)}.rname{color:var(--dim);min-height:var(--ctl);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);background:0 0}@media (pointer:coarse),(width<=600px){.rname,.rx{min-height:44px}}.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}.scrollx{overflow-x:auto}.rrtable td{vertical-align:top}.rrtable tr:is(.scenstats,.reasons) td{background:var(--surface2)}.scenstats-label{font-weight:600;font-size:var(--t-label);color:var(--dim)}.runview{--lead:34%;--lead-first:14%}@media (width>=601px){.rrtable,.egtable{table-layout:fixed;min-width:calc(14rem + var(--scenarios,1) * 10rem)}.rrtable th.col-item{width:var(--lead)}:is(.rrtable.graded th.col-item,.egtable th.col-eg){width:var(--lead-first)}:is(.rrtable th.col-expected,.egtable th.col-egver){width:calc(var(--lead) - var(--lead-first))}.egtable.unversioned th.col-eg{width:var(--lead)}}.egtable td{height:auto;padding-block:var(--s2);vertical-align:middle}.eg-name{font-weight:600}.col-eg{white-space:nowrap}.col-egver{color:var(--dim);font-size:var(--t-label);white-space:nowrap}.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-overall-name{white-space:nowrap}.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.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.eg-overall>td.col-egver{display:none}}@media (width>=601px){.rrtable tr.reasons td{border-top:1px solid var(--line)}}.reasons-none{font-size:var(--t-label);color:var(--sage)}.reasons-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.reasons-list li{background:linear-gradient(to right, color-mix(in srgb, var(--rust) 16%, transparent) var(--share), transparent var(--share));border-radius:5px}.reason{align-items:baseline;gap:var(--s2);padding:3px var(--s2) 3px var(--s1);font-size:var(--t-label);color:var(--ink);border-radius:5px;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}a.reason:focus-visible{outline:2px solid var(--amber);outline-offset:1px}@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 .menu{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)}.test-verdicts{margin:0 0 var(--s1);gap:2px;padding:0;list-style:none;display:grid}.test-verdicts li{gap:var(--s1);align-items:baseline;display:flex}.test-verdicts .test-name{font-size:var(--t-label);color:var(--dim)}.metric-readings{margin:0 0 var(--s1)}.metric-readings>.metric-score{margin-left:var(--s1);font-size:var(--t-label);color:var(--dim)}.metric-readings ul{gap:2px;margin:2px 0 0;padding:0;list-style:none;display:grid}.metric-readings li{font-size:var(--t-label);overflow-wrap:anywhere}.metric-readings li.fail .test-name{color:var(--rust)}.metric-readings .metric-reason{color:var(--dim)}.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{padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--r-ctl);font-size:var(--t-note);color:var(--dim)}.term.met{border-color:var(--sage);color:var(--sage)}.term.unmet{border-color:var(--rust);color:var(--rust)}.term.no{text-decoration:line-through}.term.drop{opacity:.5}.wants{align-items:center;gap:var(--s1);margin-top:var(--s2);font-size:var(--t-label);flex-wrap:wrap;display:flex}.wants b{color:var(--dim);font-weight:600}.hit{color:var(--sage)}.fault{color:var(--rust)}.rrtable tr.rrdetail>td{padding-top:0}.rrtable tr.hasdetail>td{border-bottom:0}.rrtable td>pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.transcript{margin-top:var(--s2)}.transcript pre{margin:var(--s1) 0;padding:var(--s2);background:var(--surface2);border:1px solid var(--line);border-radius:var(--r-ctl);font:var(--t-note) / 1.4 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.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:6;background:var(--ground);padding:var(--s3);margin:0;position:fixed;inset:0;overflow-y:auto}.rtabs{display:none}.rrback{min-width:44px;min-height:44px}.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(--s3);padding:var(--s2)}.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 tr:is(.scenstats,.reasons) td.scenstats-blank{display:none}.rrtable tr:is(.scenstats,.reasons) td{border-bottom:1px solid var(--line)}.rrtable tr:is(.scenstats,.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:first-child{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}}.metric-readings .watched{margin-top:var(--s1)}.metric-readings .watched>b{font-size:var(--t-label);color:var(--dim);font-weight:600}.metric-readings .watched li.met .eval-name{color:var(--sage)}.rrorigin{margin:0}.mark{vertical-align:-2px;display:inline-flex}.mark.met{color:var(--sage)}.mark.not{color:var(--rust)}.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{appearance:none;text-align:left;min-width:0;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;flex:auto;margin:0;padding:0}.rrcall:hover{text-decoration:underline}.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-side .raw{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);font-size:var(--t-note);background:var(--surface2);border-radius:var(--r-ctl);padding:var(--s2);margin:0}.rec-checks{gap:2px;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}}.app{max-width:1100px;padding:var(--s4);margin:0 auto}.app .note{color:var(--dim);font-size:var(--t-label);margin:0}.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);border:1px solid var(--line);border-radius:var(--r-pane);font-size:var(--t-label);color:var(--dim);flex-wrap:wrap;display:flex}.ws-archived-bar span{margin-right:auto}main[inert]{opacity:.6}.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)}}
|