@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root,.dark{--loom-bg:#070b0a;--loom-bg-secondary:#0a0f0e;--loom-surface:#0f2918;--loom-surface-elevated:#14331f;--loom-border:#26382b;--loom-border-hover:#35563c;--loom-primary:#7cff4d;--loom-primary-hover:#96ff70;--loom-primary-foreground:#071006;--loom-green:#22c55e;--loom-green-dark:#16a34a;--loom-text:#e6ffe6;--loom-text-secondary:#9ca89c;--loom-text-muted:#819081;--loom-warning:#f59e0b;--loom-error:#ef4444;--loom-info:#3b82f6;--loom-focus:#d5ffbe;--loom-space-1:4px;--loom-space-2:8px;--loom-space-3:12px;--loom-space-4:16px;--loom-space-5:20px;--loom-space-6:24px;--loom-space-8:32px;--loom-radius-small:6px;--loom-radius-control:8px;--loom-radius-panel:12px;--loom-radius-sm:var(--loom-radius-small);--loom-radius-md:var(--loom-radius-control);--loom-radius-lg:var(--loom-radius-panel);--loom-shadow-floating:0 16px 36px #00000047;--loom-motion-fast:.15s;--loom-motion-base:.2s;--loom-ease-out:cubic-bezier(.16, 1, .3, 1);--background:165 22.2% 3.5%;--foreground:120 100% 95.1%;--surface:141 46.4% 11%;--surface-foreground:120 100% 95.1%;--surface-raised:141 43.7% 13.9%;--surface-raised-foreground:120 100% 95.1%;--card:141 46.4% 11%;--card-foreground:120 100% 95.1%;--popover:141 43.7% 13.9%;--popover-foreground:120 100% 95.1%;--border:137 19.1% 18.4%;--border-strong:133 23.7% 27.3%;--input:137 19.1% 18.4%;--ring:104 100% 65.1%;--muted:168 20% 4.9%;--muted-foreground:120 6.5% 63.5%;--faint-foreground:120 6.3% 53.5%;--accent:104 100% 65.1%;--accent-hover:104 100% 72%;--accent-foreground:120 37% 4%;--accent-dim:104 100% 65.1%;--primary:104 100% 65.1%;--primary-foreground:120 37% 4%;--secondary:141 43.7% 13.9%;--secondary-foreground:120 100% 95.1%;--success:142 70.6% 45.3%;--success-foreground:120 37% 4%;--warning:38 92% 50%;--warning-foreground:120 37% 4%;--destructive:0 84% 60%;--destructive-foreground:120 100% 95.1%;--live:142 70.6% 45.3%;--radius:var(--loom-radius-small);--radius-sm:var(--loom-radius-small);--radius-lg:var(--loom-radius-control);--font-sans:"Inter Variable", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--loom-font-mono:var(--font-mono);--duration-fast:var(--loom-motion-fast);--duration-base:var(--loom-motion-base);--duration-slow:.24s;--ease-out:var(--loom-ease-out);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;border-color:hsl(var(--border))}html{color-scheme:dark;width:100%;height:100%;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--loom-bg);width:100%;height:100%;color:var(--loom-text);font-feature-settings:"cv11","ss01";margin:0;font-size:1rem;line-height:1.5;overflow:hidden}button,input,select,textarea{font:inherit}button:not(:disabled){cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--loom-focus);outline-offset:2px}#root{width:100%;height:100%;overflow:hidden}code,pre,kbd,samp,.font-mono,.loom-mono{font-family:var(--font-mono)}.tabular,.loom-tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.loom-heading{color:var(--loom-text);letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:600;line-height:1.2}.loom-heading--page{font-size:clamp(1.75rem,1.5rem + .8vw,2rem);line-height:1.25}.loom-heading--section{font-size:1.5rem;line-height:1.333}.loom-heading--label{color:var(--loom-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600}.loom-skip-link{z-index:100;border-radius:var(--loom-radius-small);background:var(--loom-primary);color:var(--loom-primary-foreground);padding:var(--loom-space-2) var(--loom-space-3);transition:transform var(--loom-motion-fast) var(--loom-ease-out);font-weight:700;position:fixed;inset-block-start:var(--loom-space-3);inset-inline-start:var(--loom-space-3);transform:translateY(-160%)}.loom-skip-link:focus{transform:translateY(0)}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink-0{flex-shrink:0}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}}::selection{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in srgb,var(--loom-primary) 34%,transparent)}}::selection{color:var(--loom-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--loom-bg)}::-webkit-scrollbar-thumb{border:2px solid var(--loom-bg);background:var(--loom-border-hover);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--loom-text-muted)}@keyframes loom-pulse{0%,to{opacity:1}50%{opacity:.58}}.loom-app-shell{background:var(--loom-bg);width:100%;min-width:0;height:100%;color:var(--loom-text);grid-template-rows:auto minmax(0,1fr);grid-template-columns:232px minmax(0,1fr);display:grid;overflow:hidden}.loom-logo{align-items:center;gap:.625rem;min-width:0;display:inline-flex}.loom-logo--stacked{flex-direction:column;gap:.375rem}.loom-logo__mark{object-fit:contain;display:block}.loom-logo__lockup{min-width:0;line-height:1;display:grid}.loom-logo--stacked .loom-logo__lockup{justify-items:center}.loom-logo__wordmark{color:var(--loom-text);letter-spacing:-.02em;font-size:1rem;font-weight:600}.loom-page{background:var(--loom-bg);min-width:0;min-height:0;color:var(--loom-text)}.loom-panel{border:1px solid var(--loom-border);border-radius:var(--loom-radius-panel);background:var(--loom-surface);min-width:0}.loom-panel--elevated{background:var(--loom-surface-elevated);box-shadow:var(--loom-shadow-floating)}.loom-panel__header{justify-content:space-between;align-items:center;gap:var(--loom-space-3);padding:var(--loom-space-4);border-block-end:1px solid var(--loom-border);display:flex}.loom-panel__body{min-width:0;padding:var(--loom-space-4)}.loom-section-header{justify-content:space-between;align-items:flex-start;gap:var(--loom-space-4);display:flex}.loom-section-header__copy{min-width:0}.loom-section-header__description{margin:var(--loom-space-1) 0 0;color:var(--loom-text-secondary);font-size:.8125rem}.loom-button{justify-content:center;align-items:center;gap:var(--loom-space-2);border-radius:var(--loom-radius-control);min-height:2.75rem;transition:background-color var(--loom-motion-fast) var(--loom-ease-out),border-color var(--loom-motion-fast) var(--loom-ease-out),box-shadow var(--loom-motion-fast) var(--loom-ease-out),transform var(--loom-motion-fast) var(--loom-ease-out);border:1px solid #0000;padding:.625rem .875rem;font-size:.875rem;font-weight:600;line-height:1.25;display:inline-flex}.loom-button--primary{background:var(--loom-primary);color:var(--loom-primary-foreground);box-shadow:0 6px 18px var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-button--primary{box-shadow:0 6px 18px color-mix(in srgb,var(--loom-primary) 16%,transparent)}}.loom-button--primary:hover:not(:disabled){background:var(--loom-primary-hover);box-shadow:0 9px 22px var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-button--primary:hover:not(:disabled){box-shadow:0 9px 22px color-mix(in srgb,var(--loom-primary) 22%,transparent)}}.loom-button--primary:hover:not(:disabled){transform:translateY(-1px)}.loom-button--primary:active:not(:disabled){box-shadow:0 2px 7px var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-button--primary:active:not(:disabled){box-shadow:0 2px 7px color-mix(in srgb,var(--loom-primary) 15%,transparent)}}.loom-button--primary:active:not(:disabled){transform:translateY(0)}.loom-button--secondary{border-color:var(--loom-border-hover);background:var(--loom-surface-elevated);color:var(--loom-text)}.loom-button--secondary:hover:not(:disabled){border-color:var(--loom-primary);background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-button--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--loom-primary) 8%,var(--loom-surface-elevated))}}.loom-button--ghost{color:var(--loom-text-secondary);background:0 0}.loom-button--ghost:hover:not(:disabled){background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-button--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--loom-primary) 9%,transparent)}}.loom-button--ghost:hover:not(:disabled){color:var(--loom-text)}.loom-button--danger{background:var(--loom-error);color:var(--loom-text)}.loom-button:disabled{cursor:not-allowed;opacity:.55}.loom-input{border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);min-width:0;min-height:2.75rem;color:var(--loom-text);transition:border-color var(--loom-motion-fast) var(--loom-ease-out),box-shadow var(--loom-motion-fast) var(--loom-ease-out);padding:.625rem .75rem}.loom-input::placeholder{color:var(--loom-text-muted)}.loom-input:hover{border-color:var(--loom-text-muted)}.loom-input:focus{border-color:var(--loom-primary)}.loom-search{align-items:center;display:flex;position:relative}.loom-search__icon{color:var(--loom-text-muted);pointer-events:none;position:absolute;inset-inline-start:.75rem}.loom-search .loom-input{width:100%;padding-inline-start:2.4rem}.loom-status-badge{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);min-height:1.875rem;color:var(--loom-text-secondary);border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .5625rem;font-size:.75rem;font-weight:600;line-height:1.2;display:inline-flex}.loom-status-badge[data-status=ready],.loom-status-badge[data-status=finished]{border-color:var(--loom-green)}@supports (color:color-mix(in lab,red,red)){.loom-status-badge[data-status=ready],.loom-status-badge[data-status=finished]{border-color:color-mix(in srgb,var(--loom-green) 40%,var(--loom-border))}}.loom-status-badge[data-status=ready],.loom-status-badge[data-status=finished]{color:var(--loom-green)}.loom-status-badge[data-status=starting],.loom-status-badge[data-status=running]{border-color:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-status-badge[data-status=starting],.loom-status-badge[data-status=running]{border-color:color-mix(in srgb,var(--loom-primary) 45%,var(--loom-border))}}.loom-status-badge[data-status=starting],.loom-status-badge[data-status=running]{color:var(--loom-primary)}.loom-status-badge[data-status=running] svg,.loom-status-badge[data-status=starting] svg{animation:loom-pulse 1.2s var(--loom-ease-out) infinite}.loom-status-badge[data-status=stopped]{color:var(--loom-warning)}.loom-status-badge[data-status=failed]{border-color:var(--loom-error)}@supports (color:color-mix(in lab,red,red)){.loom-status-badge[data-status=failed]{border-color:color-mix(in srgb,var(--loom-error) 44%,var(--loom-border))}}.loom-status-badge[data-status=failed]{color:var(--loom-error)}.loom-metric-card{gap:var(--loom-space-2);min-width:0;padding:var(--loom-space-4);border:1px solid var(--loom-border);border-radius:var(--loom-radius-panel);background:var(--loom-surface);display:grid}.loom-metric-card__label{min-width:0;color:var(--loom-text-secondary);align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.loom-metric-card__value{color:var(--loom-text);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(1.375rem,1.1rem + .6vw,1.875rem);font-weight:600;line-height:1.1;overflow:hidden}.loom-metric-card__footer{justify-content:space-between;align-items:center;gap:var(--loom-space-2);min-width:0;color:var(--loom-text-muted);font-size:.75rem;display:flex}.loom-delta{align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.loom-delta--positive{color:var(--loom-green)}.loom-delta--negative{color:var(--loom-error)}.loom-delta--neutral{color:var(--loom-text-secondary)}.loom-telemetry-panel{border:1px solid var(--loom-border);border-radius:var(--loom-radius-panel);background:linear-gradient(180deg,var(--loom-primary),transparent 42%),var(--loom-surface);min-width:0}@supports (color:color-mix(in lab,red,red)){.loom-telemetry-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--loom-primary) 4%,transparent),transparent 42%),var(--loom-surface)}}.loom-telemetry-panel{padding:var(--loom-space-4)}.loom-telemetry-panel__header{justify-content:space-between;align-items:center;gap:var(--loom-space-3);margin-block-end:var(--loom-space-4);display:flex}.loom-telemetry-panel__title{color:var(--loom-text);margin:0;font-size:.875rem;font-weight:600}.loom-table{border-collapse:collapse;width:100%;color:var(--loom-text-secondary);font-size:.8125rem}.loom-table th{border-block-end:1px solid var(--loom-border);color:var(--loom-text-muted);letter-spacing:.05em;text-align:start;text-transform:uppercase;font-size:.6875rem;font-weight:600}.loom-table th,.loom-table td{vertical-align:middle;padding:.75rem}.loom-table td{border-block-end:1px solid var(--loom-border)}@supports (color:color-mix(in lab,red,red)){.loom-table td{border-block-end:1px solid color-mix(in srgb,var(--loom-border) 76%,transparent)}}.loom-table tr:last-child td{border-block-end:0}.loom-table__numeric{text-align:end;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.loom-empty-state{place-items:center;gap:var(--loom-space-2);min-height:12rem;padding:var(--loom-space-8);color:var(--loom-text-secondary);text-align:center;display:grid}.loom-empty-state__title{color:var(--loom-text);margin:0;font-size:1rem;font-weight:600}.loom-empty-state__description{max-width:45ch;color:var(--loom-text-secondary);margin:0}.loom-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{border-radius:var(--loom-radius-control);min-height:2.5rem}.btn-primary{background:var(--loom-primary);color:var(--loom-primary-foreground);font-weight:700}.btn-primary:hover:not(:disabled){background:var(--loom-primary-hover)}.btn-secondary{border:1px solid var(--loom-border-hover);background:var(--loom-surface-elevated);color:var(--loom-text)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--loom-primary) 9%,var(--loom-surface-elevated))}}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){color:var(--loom-text)}.btn-danger{background:var(--loom-error);color:var(--loom-text)}.btn-ghost{color:var(--loom-text-secondary);background:0 0}.badge-locust,.badge-goose,.badge-k6{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);color:var(--loom-text-secondary)}.status-pill{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .5625rem;font-size:.6875rem;font-weight:600;display:inline-flex}.status-pill.ready,.status-pill.finished{color:var(--loom-green)}.status-pill.running{color:var(--loom-primary)}.status-pill.failed{color:var(--loom-error)}.pulse{animation:loom-pulse 1.2s var(--loom-ease-out) infinite}.loom-sidebar{border-inline-end:1px solid var(--loom-border);background:var(--loom-surface);width:100%;min-width:0;height:100%;color:var(--loom-text);-webkit-user-select:none;user-select:none;flex-direction:column;font-size:.8125rem;display:flex}.loom-sidebar__brand,.loom-sidebar__footer,.loom-topbar,.loom-topbar__actions,.loom-project-switcher__trigger,.loom-sidebar__quick-actions,.loom-sidebar__suite,.loom-engine-row,.loom-project-modal__header,.loom-project-modal__heading,.loom-onboarding__header,.loom-onboarding__brand,.loom-onboarding__title-row,.loom-onboarding__engine-header,.loom-onboarding__engine-name,.loom-onboarding__install-header,.loom-onboarding__checks>div,.loom-onboarding__footer{align-items:center;display:flex}.loom-runtime-setup{gap:14px;width:100%;display:grid}.loom-runtime-setup__intro p{color:var(--loom-text-secondary);margin:8px 0 0}.loom-runtime-setup__engines{gap:8px;display:grid}.loom-runtime-setup__engine{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-surface);cursor:pointer;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:11px 13px;display:grid}.loom-runtime-setup__engine:hover:not([data-ready=true]){border-color:var(--loom-border-hover);background:var(--loom-surface-elevated)}.loom-runtime-setup__engine input,.loom-runtime-setup__license input{width:16px;height:16px;accent-color:var(--loom-primary)}.loom-runtime-setup__engine-copy{gap:3px;min-width:0;display:grid}.loom-runtime-setup__engine-copy small{color:var(--loom-text-secondary);font-size:12px}.loom-runtime-setup__state{color:var(--loom-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.loom-runtime-setup__engine[data-ready=true] .loom-runtime-setup__state{color:var(--loom-green)}.loom-runtime-setup__license{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);color:var(--loom-text-secondary);align-items:flex-start;gap:10px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.loom-runtime-setup__progress{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);gap:8px;padding:12px;display:grid}.loom-runtime-setup__progress>div{align-items:center;gap:8px;min-width:0;display:flex}.loom-runtime-setup__progress>div span{color:var(--loom-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loom-runtime-setup__progress progress{width:100%;height:5px;accent-color:var(--loom-primary)}.loom-runtime-setup__error{color:var(--loom-warning);align-items:center;gap:8px;font-size:12px;display:flex}.loom-runtime-setup__actions{justify-content:space-between;gap:10px;display:flex}.loom-engines__runtime-action{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-surface);justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:14px 16px;display:flex}.loom-engines__runtime-action p{color:var(--loom-text-secondary);margin:0}@media(max-width:640px){.loom-runtime-setup__engine{grid-template-columns:18px minmax(0,1fr)}.loom-runtime-setup__state{grid-column:2}.loom-runtime-setup__actions{flex-wrap:wrap}}.loom-sidebar__brand{justify-content:space-between;gap:var(--loom-space-2);min-height:3.75rem;padding:0 var(--loom-space-4);border-block-end:1px solid var(--loom-border)}.loom-sidebar__project,.loom-sidebar__nav{padding:var(--loom-space-3);border-block-end:1px solid var(--loom-border)}.loom-sidebar__project{max-height:min(48vh,27rem);overflow-y:auto}.loom-sidebar__project-name{align-items:center;gap:var(--loom-space-2);min-width:0;min-height:2.5rem;margin-block:var(--loom-space-2);border:1px solid var(--loom-primary);display:flex}@supports (color:color-mix(in lab,red,red)){.loom-sidebar__project-name{border:1px solid color-mix(in srgb,var(--loom-primary) 34%,var(--loom-border))}}.loom-sidebar__project-name{border-radius:var(--loom-radius-control);background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-sidebar__project-name{background:color-mix(in srgb,var(--loom-primary) 8%,var(--loom-bg-secondary))}}.loom-sidebar__project-name{color:var(--loom-text);padding-inline:var(--loom-space-2);font-weight:600}.loom-sidebar__project-name svg{color:var(--loom-primary);flex:none}.loom-sidebar__empty{margin:var(--loom-space-2) 0 0;color:var(--loom-text-secondary);font-size:.75rem;line-height:1.5}.loom-sidebar__project-heading,.loom-sidebar__engines-heading{justify-content:space-between;align-items:center;gap:var(--loom-space-2);color:var(--loom-text-muted);letter-spacing:.07em;text-transform:uppercase;margin-block-end:.375rem;padding-inline:.25rem;font-size:.625rem;font-weight:700;display:flex}.loom-sidebar__new-project,.loom-project-switcher__create{color:var(--loom-primary);font:inherit;background:0 0;border:0;align-items:center;gap:.25rem;font-weight:700;display:inline-flex}.loom-sidebar__new-project:hover,.loom-project-switcher__create:hover{color:var(--loom-primary-hover)}.loom-project-switcher{position:relative}.loom-project-switcher__trigger{justify-content:space-between;gap:var(--loom-space-2);border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);width:100%;min-height:2.5rem;color:var(--loom-text);text-align:start;padding:.5rem .625rem}.loom-project-switcher__trigger:hover,.loom-project-switcher__trigger[aria-expanded=true]{border-color:var(--loom-primary)}.loom-project-switcher__name,.loom-sidebar__suite-name,.loom-engine-row__name,.loom-sidebar__engines-heading>span:first-child{align-items:center;gap:.5rem;min-width:0;display:flex}.loom-project-switcher__name svg,.loom-sidebar__explorer-heading svg,.loom-sidebar__engines-heading svg,.loom-sidebar__quick-actions svg{color:var(--loom-primary);flex:none}.loom-project-switcher__menu{z-index:30;border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-surface-elevated);box-shadow:var(--loom-shadow-floating);gap:.125rem;padding:.25rem;display:grid;position:absolute;inset:calc(100% + .375rem) 0 auto}.loom-project-switcher__option,.loom-project-switcher__create{justify-content:space-between;align-items:center;gap:var(--loom-space-2);border-radius:var(--loom-radius-small);min-width:0;color:var(--loom-text-secondary);text-align:start;background:0 0;border:0;padding:.5rem;font-size:.75rem;display:flex}.loom-project-switcher__option>span:last-child{color:var(--loom-text-muted);font-family:var(--font-mono);flex:none;font-size:.625rem}.loom-project-switcher__option:hover,.loom-project-switcher__option--active{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-project-switcher__option:hover,.loom-project-switcher__option--active{background:color-mix(in srgb,var(--loom-primary) 10%,transparent)}}.loom-project-switcher__option:hover,.loom-project-switcher__option--active{color:var(--loom-text)}.loom-project-switcher__option--active{color:var(--loom-primary)}.loom-sidebar__nav{gap:var(--loom-space-4);display:grid}.loom-sidebar__nav-group,.loom-sidebar__suite-list,.loom-sidebar__engine-list{gap:.25rem;display:grid}.loom-sidebar__section-label,.loom-sidebar__explorer-heading,.loom-sidebar__engines-heading{color:var(--loom-text-muted);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.625rem;font-weight:700}.loom-sidebar__section-label{padding:.25rem .5rem}.loom-nav-item,.loom-sidebar__explorer-heading,.loom-sidebar__suite,.loom-engine-row,.loom-sidebar__settings{color:var(--loom-text-secondary);background:0 0;border:1px solid #0000;align-items:center;display:flex}.loom-nav-item{border-radius:var(--loom-radius-small);text-align:start;gap:.625rem;min-height:2.25rem;padding:.5rem .625rem}.loom-nav-item:hover,.loom-nav-item--active{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-nav-item:hover,.loom-nav-item--active{background:color-mix(in srgb,var(--loom-primary) 10%,transparent)}}.loom-nav-item:hover,.loom-nav-item--active{color:var(--loom-text)}.loom-nav-item--active{border-color:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-nav-item--active{border-color:color-mix(in srgb,var(--loom-primary) 34%,var(--loom-border))}}.loom-nav-item--active{color:var(--loom-primary)}.loom-sidebar__explorer{min-height:0;padding:var(--loom-space-3);flex:1;overflow-y:auto}.loom-sidebar__explorer-section+.loom-sidebar__explorer-section{margin-block-start:var(--loom-space-5)}.loom-sidebar__explorer-heading{text-align:start;gap:.375rem;width:100%;padding:.25rem .5rem}.loom-sidebar__explorer-heading:hover{color:var(--loom-text)}.loom-sidebar__suite-list{border-inline-start:1px solid var(--loom-border);margin:.5rem 0 0 1rem;padding-inline-start:.5rem}.loom-sidebar__suite,.loom-engine-row{border-radius:var(--loom-radius-small);text-align:start;justify-content:space-between;gap:.375rem;width:100%;min-height:2.25rem;padding:.375rem .5rem}.loom-sidebar__suite:hover,.loom-sidebar__suite--active,.loom-engine-row:hover,.loom-engine-row--active{border-color:var(--loom-border-hover);background:var(--loom-surface-elevated);color:var(--loom-text)}.loom-sidebar__suite--active,.loom-engine-row--active{color:var(--loom-primary)}.loom-sidebar__suite-name{color:inherit}.loom-sidebar__suite-name svg{color:currentColor;flex:none}.loom-engine-row__availability,.loom-command__status{background:var(--loom-warning);border-radius:999px;flex:none;width:.5rem;height:.5rem;display:inline-block}.loom-engine-row__availability[data-ready=true],.loom-command__status[data-status=ready]{background:var(--loom-green);box-shadow:0 0 .75rem var(--loom-green)}@supports (color:color-mix(in lab,red,red)){.loom-engine-row__availability[data-ready=true],.loom-command__status[data-status=ready]{box-shadow:0 0 .75rem color-mix(in srgb,var(--loom-green) 42%,transparent)}}.loom-command__status[data-status=warning]{background:var(--loom-warning)}.loom-engine-tag,.loom-engine-tier{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;padding:.1875rem .4375rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-flex}.loom-engine-tier--core{border-color:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-engine-tier--core{border-color:color-mix(in srgb,var(--loom-primary) 32%,var(--loom-border))}}.loom-engine-tier--core{color:var(--loom-primary)}.loom-engine-tier--plugin{border-color:var(--loom-warning)}@supports (color:color-mix(in lab,red,red)){.loom-engine-tier--plugin{border-color:color-mix(in srgb,var(--loom-warning) 36%,var(--loom-border))}}.loom-engine-tier--plugin{color:var(--loom-warning)}.loom-sidebar__engines-heading>span:last-child{font-size:.5625rem}.loom-sidebar__footer{justify-content:space-between;gap:var(--loom-space-2);min-height:3.5rem;padding:0 var(--loom-space-3);border-block-start:1px solid var(--loom-border);background:var(--loom-bg-secondary)}.loom-sidebar__quick-actions{min-width:0;color:var(--loom-text-secondary);background:0 0;border:0;gap:.5rem;font-size:.75rem;font-weight:600}.loom-sidebar__quick-actions:hover{color:var(--loom-text)}.loom-sidebar__quick-actions kbd{border:1px solid var(--loom-border-hover);background:var(--loom-surface-elevated);color:var(--loom-text-muted);border-radius:.25rem;padding:.125rem .25rem;font-size:.625rem}.loom-sidebar__settings{border-radius:var(--loom-radius-small);justify-content:center;width:2.25rem;height:2.25rem}.loom-sidebar__settings:hover,.loom-sidebar__settings--active{border-color:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-sidebar__settings:hover,.loom-sidebar__settings--active{border-color:color-mix(in srgb,var(--loom-primary) 32%,var(--loom-border))}}.loom-sidebar__settings:hover,.loom-sidebar__settings--active{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-sidebar__settings:hover,.loom-sidebar__settings--active{background:color-mix(in srgb,var(--loom-primary) 10%,transparent)}}.loom-sidebar__settings:hover,.loom-sidebar__settings--active{color:var(--loom-primary)}.loom-topbar{justify-content:space-between;gap:var(--loom-space-3);border-block-end:1px solid var(--loom-border);background:var(--loom-surface);min-height:3.5rem;padding-inline:var(--loom-space-4)}.loom-topbar__tabs{align-self:stretch;align-items:stretch;gap:.125rem;min-width:0;display:flex;overflow-x:auto}.loom-tab{min-width:0;color:var(--loom-text-muted);white-space:nowrap;background:0 0;border:0;align-items:center;gap:.4375rem;padding:.75rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex;position:relative}.loom-tab>.loom-truncate{max-width:9.5rem}.loom-tab:hover,.loom-tab--active{color:var(--loom-text)}.loom-tab--active:after{background:var(--loom-primary);content:"";border-radius:999px 999px 0 0;height:2px;position:absolute;bottom:0;left:.625rem;right:.625rem}.loom-tab--active svg{color:var(--loom-primary)}.loom-topbar__actions{gap:var(--loom-space-2);flex:none}.loom-target-input{border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);min-height:2.5rem;color:var(--loom-text-secondary);font-family:var(--font-mono);align-items:center;gap:.4375rem;padding-inline:.625rem;font-size:.6875rem;display:flex}.loom-target-input:focus-within{border-color:var(--loom-primary)}.loom-target-input svg{color:var(--loom-primary)}.loom-target-input input{width:11rem;min-width:0;color:var(--loom-text);font:inherit;background:0 0;border:0;outline:0}.loom-topbar__run{min-height:2.5rem;padding-block:.5rem}.loom-topnav{background:var(--loom-surface);grid-area:1/1/auto/-1;min-width:0}.loom-sidebar-slot{grid-area:2/1;min-height:0}.loom-workspace{flex-direction:column;grid-area:2/2;min-width:0;min-height:0;display:flex;overflow:hidden}.loom-workspace__content,.loom-workspace__panel{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.loom-workspace__panel[hidden]{display:none}.loom-contextbar{justify-content:space-between;align-items:center;gap:var(--loom-space-3);border-block-end:1px solid var(--loom-border);min-height:3.625rem;padding:0 var(--loom-space-3);display:flex}.loom-contextbar__identity,.loom-contextbar__controls{align-items:center;gap:var(--loom-space-2);min-width:0;display:flex}.loom-contextbar__identity{flex:0 auto}.loom-contextbar__controls{flex:0 auto;justify-content:flex-end}.loom-contextbar__identity .loom-logo{flex:none;margin-inline-end:var(--loom-space-2)}.loom-contextbar__identity .loom-project-switcher{width:clamp(10rem,17vw,16rem);min-width:0}.loom-contextbar__identity .loom-project-switcher__trigger{min-height:2.375rem}.loom-project-switcher__empty{color:var(--loom-text-secondary);padding:var(--loom-space-2);margin:0;font-size:.75rem}.loom-contextbar__menu,.loom-contextbar__create,.loom-contextbar__icon,.loom-workspace-tabs__add-button,.loom-workspace-tab__close{border-radius:var(--loom-radius-small);width:2.375rem;height:2.375rem;color:var(--loom-text-secondary);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:grid}.loom-contextbar__menu{display:none}.loom-contextbar__create{color:var(--loom-primary)}.loom-contextbar__create:hover,.loom-contextbar__icon:hover,.loom-workspace-tabs__add-button:hover,.loom-workspace-tab__close:hover{border-color:var(--loom-border-hover);background:var(--loom-surface-elevated);color:var(--loom-text)}.loom-contextbar__engine{border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);min-height:2.375rem;color:var(--loom-text-secondary);font-family:var(--loom-font-mono);align-items:center;gap:.375rem;padding-inline:.625rem;font-size:.6875rem;display:flex}.loom-contextbar__engine select{max-width:7rem;color:var(--loom-text);font:inherit;background:0 0;border:0}.loom-contextbar__engine option{background:var(--loom-surface);color:var(--loom-text)}.loom-contextbar__engine:focus-within{border-color:var(--loom-primary)}.loom-contextbar__run-status{min-width:4.75rem;color:var(--loom-text-secondary);align-items:center;gap:.4rem;font-size:.75rem;display:inline-flex}.loom-contextbar__status-dot{background:var(--loom-text-muted);border-radius:50%;width:.5rem;height:.5rem;display:block}.loom-contextbar__engine-state{min-width:0;max-width:13rem;color:var(--loom-text-secondary);align-items:center;gap:.4rem;font-size:.6875rem;display:inline-flex}.loom-contextbar__engine-state>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loom-contextbar__engine-state.is-ready .loom-contextbar__status-dot{background:var(--loom-green)}.loom-contextbar__engine-state.is-missing .loom-contextbar__status-dot{background:var(--loom-warning)}.loom-contextbar__run-status.is-running{color:var(--loom-text)}.loom-contextbar__run-status.is-running .loom-contextbar__status-dot{background:var(--loom-green);animation:loom-pulse 1.2s var(--loom-ease-out) infinite}.loom-workspace-tabs{align-items:stretch;gap:var(--loom-space-1);border-block-end:1px solid var(--loom-border);background:var(--loom-bg-secondary);min-width:0;height:2.75rem;padding-inline-start:232px;display:flex}.loom-workspace-tabs__list{scrollbar-width:thin;min-width:0;display:flex;overflow-x:auto}.loom-workspace-tab{border-inline-end:1px solid var(--loom-border);flex:none;align-items:center;display:flex}.loom-workspace-tab.is-active{background:var(--loom-surface-elevated)}.loom-workspace-tab .loom-tab{min-height:2.75rem;padding:.625rem .375rem .625rem .75rem}.loom-workspace-tab .loom-tab>.loom-truncate{max-width:9rem}.loom-workspace-tab.is-active .loom-tab{color:var(--loom-text)}.loom-workspace-tab.is-active .loom-tab svg{color:var(--loom-primary)}.loom-workspace-tab__close{width:1.75rem;height:1.75rem;margin-inline:.125rem .375rem}.loom-workspace-tabs__add{flex:none;align-self:center;position:relative}.loom-workspace-tabs__add-button{width:2rem;height:2rem}.loom-workspace-tabs__menu{z-index:35;border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-surface-elevated);box-shadow:var(--loom-shadow-floating);padding:.25rem;display:grid;position:fixed}.loom-workspace-tabs__menu button{border-radius:var(--loom-radius-small);color:var(--loom-text);text-align:start;background:0 0;border:0;padding:.5rem}.loom-workspace-tabs__menu button:hover{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-workspace-tabs__menu button:hover{background:color-mix(in srgb,var(--loom-primary) 10%,transparent)}}.loom-workspace-tabs__menu p{color:var(--loom-text-secondary);margin:0;padding:.5rem;font-size:.75rem}.loom-sidebar-backdrop{display:none}@media(max-width:1200px){.loom-contextbar{flex-wrap:wrap;padding-block:.5rem}.loom-contextbar__controls{flex-wrap:wrap}}@media(max-width:760px){.loom-app-shell{grid-template-columns:minmax(0,1fr)}.loom-contextbar__menu{display:grid}.loom-contextbar__identity{width:100%}.loom-contextbar__identity .loom-project-switcher{flex:1}.loom-contextbar__controls{justify-content:flex-start;width:100%}.loom-contextbar__controls .loom-target-input{flex:12rem}.loom-contextbar__controls .loom-target-input input{width:100%}.loom-sidebar-slot{z-index:25;visibility:hidden;width:min(18rem,82vw);transition:transform .15s var(--loom-ease-out),visibility .15s;box-shadow:var(--loom-shadow-floating);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.loom-sidebar-slot.is-open{visibility:visible;transform:translate(0)}.loom-sidebar-backdrop{z-index:24;background:#0000008f;border:0;width:100%;display:block;position:fixed;top:0;right:0;bottom:0;left:0}.loom-workspace{grid-column:1}.loom-workspace-tabs{padding-inline-start:0}}.loom-modal-backdrop{z-index:50;padding:min(15vh,8rem) var(--loom-space-4) var(--loom-space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bd;justify-content:center;align-items:flex-start;display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.loom-modal-backdrop--centered{padding-block:var(--loom-space-4);align-items:center}.loom-modal{border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-panel);background:var(--loom-surface);width:min(100%,36rem);max-height:min(90vh,48rem);box-shadow:var(--loom-shadow-floating);overflow:hidden}.loom-command-modal{width:min(100%,36rem)}.loom-command{flex-direction:column;display:flex}.loom-command__search{align-items:center;gap:var(--loom-space-2);border-block-end:1px solid var(--loom-border);background:var(--loom-surface-elevated);color:var(--loom-primary);padding-inline:var(--loom-space-4);display:flex}.loom-command__input{width:100%;min-height:3rem;color:var(--loom-text);background:0 0;border:0;outline:0;font-size:.875rem}.loom-command__input::placeholder{color:var(--loom-text-muted)}.loom-command__list{max-height:22rem;padding:var(--loom-space-2);overflow-y:auto}.loom-command__group{padding:var(--loom-space-2) 0}.loom-command__group [cmdk-group-heading]{color:var(--loom-text-muted);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;padding:.25rem .5rem .375rem;font-size:.625rem;font-weight:700}.loom-command-item{border-radius:var(--loom-radius-small);color:var(--loom-text-secondary);align-items:center;gap:.75rem;padding:.625rem .5rem;font-size:.8125rem;display:flex}.loom-command-item svg{color:var(--loom-primary)}.loom-command-item[data-selected=true],.loom-command-item:hover{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-command-item[data-selected=true],.loom-command-item:hover{background:color-mix(in srgb,var(--loom-primary) 10%,transparent)}}.loom-command-item[data-selected=true],.loom-command-item:hover{color:var(--loom-text)}.loom-command-item--danger,.loom-command-item--danger svg{color:var(--loom-error)}.loom-command__empty{padding:var(--loom-space-6);color:var(--loom-text-muted);text-align:center}.loom-command-footer{justify-content:space-between;gap:var(--loom-space-3);border-block-start:1px solid var(--loom-border);background:var(--loom-bg-secondary);color:var(--loom-text-muted);padding:.625rem var(--loom-space-3);font-family:var(--font-mono);font-size:.625rem;display:flex}.loom-project-modal{width:min(100%,38rem)}.loom-project-modal__header,.loom-onboarding__header{justify-content:space-between;gap:var(--loom-space-4);border-block-end:1px solid var(--loom-border);background:var(--loom-surface-elevated);padding:var(--loom-space-5)}.loom-project-modal__heading,.loom-onboarding__brand{gap:var(--loom-space-3);min-width:0}.loom-project-modal__icon,.loom-onboarding__complete>span{border:1px solid var(--loom-primary);flex:none;place-items:center;width:2.5rem;height:2.5rem;display:inline-grid}@supports (color:color-mix(in lab,red,red)){.loom-project-modal__icon,.loom-onboarding__complete>span{border:1px solid color-mix(in srgb,var(--loom-primary) 36%,var(--loom-border))}}.loom-project-modal__icon,.loom-onboarding__complete>span{border-radius:var(--loom-radius-control);background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-project-modal__icon,.loom-onboarding__complete>span{background:color-mix(in srgb,var(--loom-primary) 10%,transparent)}}.loom-project-modal__icon,.loom-onboarding__complete>span{color:var(--loom-primary)}.loom-project-modal h2,.loom-onboarding h1,.loom-onboarding h2{color:var(--loom-text);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.loom-project-modal p,.loom-onboarding__brand p,.loom-onboarding__content>p,.loom-onboarding__complete p{color:var(--loom-text-secondary);margin:.25rem 0 0;font-size:.8125rem;line-height:1.55}.loom-icon-button{width:2.5rem;min-width:2.5rem;padding:0}.loom-project-form{gap:var(--loom-space-4);max-height:calc(min(90vh,48rem) - 5rem);padding:var(--loom-space-5);display:grid;overflow-y:auto}.loom-form-field{gap:.375rem;display:grid}.loom-form-field label,.loom-form-field legend,.loom-project-form__load-profile legend{color:var(--loom-text-secondary);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:700;display:flex}.loom-form-field label svg,.loom-form-field legend svg{color:var(--loom-primary)}.loom-form-field__optional{color:var(--loom-text-muted);font-size:.5625rem}.loom-project-form fieldset{border:0;min-width:0;padding:0}.loom-engine-choice-grid,.loom-project-form__load-grid{gap:var(--loom-space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin-block-start:.5rem;display:grid}.loom-engine-choice{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);min-width:0;color:var(--loom-text-secondary);padding:var(--loom-space-3);text-align:start;gap:.375rem;display:grid}.loom-engine-choice:hover,.loom-engine-choice--active{border-color:var(--loom-primary);background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-engine-choice:hover,.loom-engine-choice--active{background:color-mix(in srgb,var(--loom-primary) 8%,var(--loom-bg-secondary))}}.loom-engine-choice__header{justify-content:space-between;align-items:center;gap:var(--loom-space-2);color:var(--loom-text);font-size:.8125rem;display:flex}.loom-engine-choice>span:last-child{color:var(--loom-text-muted);font-family:var(--font-mono);font-size:.6875rem}.loom-project-form__load-profile{border-block-start:1px solid var(--loom-border)!important;padding-block-start:var(--loom-space-4)!important}.loom-project-form__actions{justify-content:flex-end;gap:var(--loom-space-2);border-block-start:1px solid var(--loom-border);padding-block-start:var(--loom-space-4);display:flex}.loom-onboarding{width:min(100%,47.5rem)}.loom-onboarding__title-row{gap:var(--loom-space-2)}.loom-onboarding__steps{align-items:center;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.loom-onboarding__steps li{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);width:1.75rem;height:1.75rem;color:var(--loom-text-muted);font-family:var(--font-mono);border-radius:999px;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.loom-onboarding__steps li[data-state=current]{border-color:var(--loom-primary);background:var(--loom-primary);color:var(--loom-primary-foreground)}.loom-onboarding__steps li[data-state=complete]{border-color:var(--loom-green)}@supports (color:color-mix(in lab,red,red)){.loom-onboarding__steps li[data-state=complete]{border-color:color-mix(in srgb,var(--loom-green) 52%,var(--loom-border))}}.loom-onboarding__steps li[data-state=complete]{color:var(--loom-green)}.loom-onboarding__body{max-height:min(62vh,31rem);padding:var(--loom-space-5);overflow-y:auto}.loom-onboarding__content{gap:var(--loom-space-4);display:grid}.loom-onboarding__section-title{color:var(--loom-primary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.loom-onboarding__terms{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);height:14rem;color:var(--loom-text-secondary);padding:var(--loom-space-4);font-family:var(--font-mono);font-size:.75rem;line-height:1.65;overflow-y:auto}.loom-onboarding__terms>strong{color:var(--loom-primary);margin-block-end:var(--loom-space-2);display:block}.loom-onboarding__terms p{margin:0 0 var(--loom-space-3)}.loom-onboarding__terms b{color:var(--loom-text)}.loom-onboarding__agreement{align-items:flex-start;gap:var(--loom-space-3);border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-surface-elevated);width:100%;color:var(--loom-text);padding:var(--loom-space-3);text-align:start;display:flex}.loom-onboarding__agreement:hover,.loom-onboarding__agreement--accepted{border-color:var(--loom-primary)}.loom-onboarding__agreement svg{color:var(--loom-primary);flex:none}.loom-onboarding__engine-list,.loom-onboarding__checks{gap:var(--loom-space-3);display:grid}.loom-onboarding__engine,.loom-onboarding__checks>div{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-surface-elevated);padding:var(--loom-space-3)}.loom-onboarding__engine{gap:var(--loom-space-2);display:grid}.loom-onboarding__engine-header{justify-content:space-between;gap:var(--loom-space-3)}.loom-onboarding__engine-name{gap:.5rem;min-width:0}.loom-onboarding__engine-name strong{color:var(--loom-text)}.loom-onboarding__availability,.loom-onboarding__install-header>span{font-family:var(--font-mono);flex:none;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:700;display:inline-flex}.loom-onboarding__availability--ready{color:var(--loom-green)}.loom-onboarding__availability--missing,.loom-onboarding__install-header>span{color:var(--loom-warning)}.loom-onboarding__version,.loom-onboarding__install>code{border:1px solid var(--loom-border);border-radius:var(--loom-radius-small);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);font-family:var(--font-mono);padding:.5rem;font-size:.6875rem;display:block}.loom-onboarding__install{border:1px solid var(--loom-warning);gap:.5rem;display:grid}@supports (color:color-mix(in lab,red,red)){.loom-onboarding__install{border:1px solid color-mix(in srgb,var(--loom-warning) 30%,var(--loom-border))}}.loom-onboarding__install{border-radius:var(--loom-radius-small);padding:var(--loom-space-3)}.loom-onboarding__install-header{justify-content:space-between;gap:var(--loom-space-2)}.loom-onboarding__copy{min-height:1.875rem;color:var(--loom-primary);font-family:var(--font-mono);padding:.25rem .5rem;font-size:.6875rem}.loom-onboarding__checks>div{justify-content:space-between;gap:var(--loom-space-4);color:var(--loom-text-secondary);font-size:.75rem}.loom-onboarding__checks span,.loom-onboarding__checks strong{align-items:center;gap:.5rem;display:flex}.loom-onboarding__checks svg,.loom-onboarding__checks strong{color:var(--loom-green)}.loom-onboarding__checks strong{font-family:var(--font-mono);flex:none;font-size:.6875rem}.loom-onboarding__complete{justify-items:center;gap:var(--loom-space-3);padding:var(--loom-space-8);text-align:center;display:grid}.loom-onboarding__complete>span{border-radius:999px;width:3.5rem;height:3.5rem}.loom-onboarding__complete p{max-width:35rem}.loom-onboarding__footer{justify-content:space-between;gap:var(--loom-space-3);border-block-start:1px solid var(--loom-border);background:var(--loom-surface-elevated);padding:var(--loom-space-4) var(--loom-space-5)}.loom-dashboard,.loom-history,.loom-engines{min-width:0;height:100%;padding:var(--loom-space-8);flex:1;overflow-y:auto}.loom-dashboard{align-content:start;gap:var(--loom-space-6);display:grid}.loom-dashboard__header{justify-content:space-between;align-items:flex-start;gap:var(--loom-space-4);border-block-end:1px solid var(--loom-border);padding-block-end:var(--loom-space-5);display:flex}.loom-dashboard__eyebrow{color:var(--loom-text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .375rem;font-size:.6875rem;font-weight:700}.loom-dashboard__eyebrow span{color:var(--loom-primary)}.loom-dashboard__title-row,.loom-dashboard__header-actions,.loom-dashboard__target,.loom-feature-card,.loom-feature-card__copy,.loom-feature-card__action,.loom-dashboard__engine,.loom-dashboard__engine-header,.loom-dashboard__engine-header>span:first-child,.loom-history__title,.loom-history__controls,.loom-engines__title,.loom-engine-card__header,.loom-engine-card__name,.loom-engine-card__install>div,.loom-engines__guarantee>div{align-items:center;display:flex}.loom-dashboard__title-row{gap:var(--loom-space-3)}.loom-dashboard__header-actions{gap:var(--loom-space-2);flex:none}.loom-dashboard__target{border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-surface);min-height:2.75rem;color:var(--loom-text-secondary);font-family:var(--font-mono);gap:.5rem;padding-inline:.75rem;font-size:.75rem}.loom-dashboard__target svg,.loom-history__title svg,.loom-engines__title svg{color:var(--loom-primary)}.loom-dashboard__metrics,.loom-dashboard__engine-grid{gap:var(--loom-space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.loom-resource-grid{gap:var(--loom-space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.loom-resource-summary{gap:var(--loom-space-2);display:grid}.loom-resource-summary strong{color:var(--loom-text);font-family:var(--font-mono);font-size:1.125rem}.loom-resource-summary small{color:var(--loom-text-muted);font-size:.6875rem}.loom-resource-summary{border-inline-start:1px solid var(--loom-border);padding-inline-start:var(--loom-space-5)}.loom-resource-summary>span{color:var(--loom-text-secondary);font-size:.75rem}.loom-data-wave{background:var(--loom-primary);height:1px;margin-block-start:var(--loom-space-5)}@supports (color:color-mix(in lab,red,red)){.loom-data-wave{background:color-mix(in srgb,var(--loom-primary) 42%,var(--loom-border))}}.loom-data-wave{box-shadow:0 0 1rem var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-data-wave{box-shadow:0 0 1rem color-mix(in srgb,var(--loom-primary) 16%,transparent)}}.loom-dashboard__features{gap:var(--loom-space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.loom-feature-card{justify-content:space-between;align-items:flex-start;gap:var(--loom-space-4);border:1px solid var(--loom-border);border-radius:var(--loom-radius-panel);background:var(--loom-surface);min-height:13.5rem;color:var(--loom-text-secondary);padding:var(--loom-space-5);text-align:start;flex-direction:column}.loom-feature-card:hover{border-color:var(--loom-primary);background:var(--loom-surface-elevated)}.loom-feature-card__icon{border:1px solid var(--loom-primary);place-items:center;width:2.75rem;height:2.75rem;display:grid}@supports (color:color-mix(in lab,red,red)){.loom-feature-card__icon{border:1px solid color-mix(in srgb,var(--loom-primary) 32%,var(--loom-border))}}.loom-feature-card__icon{border-radius:var(--loom-radius-control);background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-feature-card__icon{background:color-mix(in srgb,var(--loom-primary) 9%,transparent)}}.loom-feature-card__icon{color:var(--loom-primary)}.loom-feature-card__copy{flex-direction:column;align-items:flex-start;gap:.5rem}.loom-feature-card__copy strong{color:var(--loom-text);font-size:.9375rem;font-weight:600}.loom-feature-card__copy>span{color:var(--loom-text-secondary);font-size:.8125rem;line-height:1.55}.loom-feature-card__action{color:var(--loom-primary);font-family:var(--font-mono);gap:.375rem;font-size:.6875rem;font-weight:700}.loom-dashboard__engines,.loom-dashboard__recent{gap:var(--loom-space-4);display:grid}.loom-dashboard__engine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.loom-dashboard__engine{gap:var(--loom-space-3);border:1px solid var(--loom-border);border-radius:var(--loom-radius-panel);background:var(--loom-surface);min-width:0;color:var(--loom-text-secondary);padding:var(--loom-space-4);text-align:start;display:grid}.loom-dashboard__engine:hover{border-color:var(--loom-primary);background:var(--loom-surface-elevated)}.loom-dashboard__engine-header{justify-content:space-between;gap:var(--loom-space-2)}.loom-dashboard__engine-header>span:first-child{min-width:0;color:var(--loom-text);gap:.5rem;font-weight:600}.loom-dashboard__engine-header svg{color:var(--loom-primary)}.loom-dashboard__engine>span:not(.loom-dashboard__engine-header):not(.loom-dashboard__engine-action){color:var(--loom-text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.loom-dashboard__engine-action{color:var(--loom-primary);align-items:center;gap:.375rem;font-size:.75rem;font-weight:700;display:inline-flex}.loom-dashboard__recent-panel .loom-panel__body,.loom-history__panel .loom-panel__body{padding:0}.loom-dashboard__recent-panel .loom-empty-state,.loom-history__panel .loom-empty-state{padding:var(--loom-space-8)}.loom-history,.loom-engines{align-content:start;gap:var(--loom-space-5);display:grid}.loom-history__header,.loom-engines__header{border-block-end:1px solid var(--loom-border);padding-block-end:var(--loom-space-4)}.loom-history__title,.loom-engines__title{gap:.5rem}.loom-history__controls{gap:var(--loom-space-2)}.loom-history__controls .loom-search{width:min(20rem,30vw)}.loom-history__body,.loom-engines__body{min-width:0}.loom-engines__body,.loom-engines__list,.loom-engine-card .loom-panel__body{gap:var(--loom-space-4);display:grid}.loom-engine-card__header{justify-content:space-between;align-items:flex-start;gap:var(--loom-space-4)}.loom-engine-card__name{gap:var(--loom-space-2)}.loom-engine-card__name h2{color:var(--loom-text);margin:0;font-size:1rem;font-weight:600}.loom-engine-card__header p{color:var(--loom-text-muted);font-family:var(--font-mono);margin:.375rem 0 0;font-size:.6875rem}.loom-engine-card__version{justify-content:space-between;align-items:center;gap:var(--loom-space-3);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);padding:var(--loom-space-3);font-family:var(--font-mono);font-size:.75rem;display:flex}.loom-engine-card__version span{color:var(--loom-green);flex:none;font-size:.6875rem}.loom-engine-card__install{gap:var(--loom-space-2);border:1px solid var(--loom-warning);display:grid}@supports (color:color-mix(in lab,red,red)){.loom-engine-card__install{border:1px solid color-mix(in srgb,var(--loom-warning) 30%,var(--loom-border))}}.loom-engine-card__install{border-radius:var(--loom-radius-control);background:var(--loom-surface-elevated);padding:var(--loom-space-3)}.loom-engine-card__install>div{justify-content:space-between;gap:var(--loom-space-2);color:var(--loom-warning);font-size:.75rem;font-weight:600}.loom-engine-card__install>div>span{align-items:center;gap:.375rem;display:inline-flex}.loom-engine-card__copy{min-height:1.875rem;color:var(--loom-primary);font-family:var(--font-mono);padding:.25rem .5rem;font-size:.6875rem}.loom-engine-card__install pre{border:1px solid var(--loom-border);border-radius:var(--loom-radius-small);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);padding:var(--loom-space-3);font-family:var(--font-mono);white-space:pre-wrap;margin:0;font-size:.75rem;overflow-x:auto}.loom-engines__guarantee>div{align-items:flex-start;gap:var(--loom-space-3)}.loom-engines__guarantee svg{color:var(--loom-primary);flex:none}.loom-engines__guarantee p{color:var(--loom-text-secondary);margin:0;font-size:.8125rem;line-height:1.6}.loom-engines__guarantee strong{color:var(--loom-text)}.loom-runner{background:var(--loom-bg);flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.loom-runner__controls,.loom-runner__target-controls,.loom-runner__run-state,.loom-runner__engine-select,.loom-runner__target-input,.loom-runner__live-users,.loom-runner__subtabs,.loom-runner__views,.loom-runner__profile-grid label>span,.loom-runner__profile-grid label,.loom-runner__log-actions,.loom-runner__export-card>div{align-items:center;display:flex}.loom-runner__controls{justify-content:space-between;gap:var(--loom-space-4);border-block-end:1px solid var(--loom-border);background:var(--loom-surface);padding:var(--loom-space-3) var(--loom-space-4)}.loom-runner__target-controls,.loom-runner__run-state{gap:var(--loom-space-2);min-width:0}.loom-runner__target-controls{flex:1}.loom-runner__engine-select,.loom-runner__target-input,.loom-runner__live-users{border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);min-height:2.75rem;color:var(--loom-text-secondary);font-family:var(--font-mono);gap:.5rem;padding-inline:.75rem;font-size:.6875rem}.loom-runner__engine-select select,.loom-runner__target-input input{min-width:0;color:var(--loom-text);font:inherit;background:0 0;border:0;outline:0}.loom-runner__engine-select select{cursor:pointer}.loom-runner__target-input{flex:1}.loom-runner__target-input svg,.loom-runner__live-users svg{color:var(--loom-primary)}.loom-runner__target-input input{flex:1}.loom-runner__live-users input,.loom-runner__profile-grid input[type=range]{accent-color:var(--loom-primary)}.loom-runner__live-users strong{min-width:2ch;color:var(--loom-primary)}.loom-runner__configuration{border-block-end:1px solid var(--loom-border);background:var(--loom-surface)}.loom-runner__subtabs,.loom-runner__views{border-block-end:1px solid var(--loom-border);min-height:2.75rem;padding-inline:var(--loom-space-4);gap:.125rem;overflow-x:auto}.loom-runner__subtab,.loom-runner__view{min-height:2.75rem;color:var(--loom-text-secondary);white-space:nowrap;background:0 0;border:0;border-block-end:2px solid #0000;align-items:center;gap:.4375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.loom-runner__subtab:hover,.loom-runner__subtab--active,.loom-runner__view:hover,.loom-runner__view--active{border-block-end-color:var(--loom-primary);color:var(--loom-primary)}.loom-runner__config-panel{margin:var(--loom-space-3) var(--loom-space-4)}.loom-runner__profile-grid{gap:var(--loom-space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.loom-runner__profile-grid label,.loom-runner__script-path{align-items:stretch;gap:var(--loom-space-2);color:var(--loom-text-secondary);flex-direction:column;font-size:.75rem}.loom-runner__profile-grid label>span{gap:.4375rem}.loom-runner__profile-grid label>span svg{color:var(--loom-primary)}.loom-runner__profile-grid strong{color:var(--loom-text);font-family:var(--font-mono);font-size:.875rem}.loom-runner__header-preview{gap:var(--loom-space-2);grid-template-columns:1fr 1fr;display:grid}.loom-runner__header-preview code{border:1px solid var(--loom-border);border-radius:var(--loom-radius-small);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);padding:var(--loom-space-3);font-family:var(--font-mono);font-size:.6875rem}.loom-runner__script-path{display:grid}.loom-runner__script-path>span{color:var(--loom-text-secondary);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.loom-runner__metrics{gap:var(--loom-space-3);padding:var(--loom-space-4);border-block-end:1px solid var(--loom-border);background:var(--loom-surface);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.loom-runner__views{border-block-end:1px solid var(--loom-border);background:var(--loom-surface);flex:none;justify-content:flex-start}.loom-runner__views>.loom-status-badge{margin-inline-start:auto}.loom-runner__workspace{min-height:0;padding:var(--loom-space-4);flex:1;overflow-y:auto}.loom-runner__charts{gap:var(--loom-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.loom-chart{width:100%;height:12rem;display:block;overflow:visible}.loom-chart__value{color:var(--loom-text);font-family:var(--font-mono);margin-block-start:var(--loom-space-2);font-size:1.5rem;display:block}.loom-chart__legend{color:var(--loom-text-secondary);font-family:var(--font-mono);margin-block-start:var(--loom-space-2);font-size:.6875rem;display:block}.loom-runner__table-panel .loom-panel__body{padding:0}.loom-runner__table-scroll{overflow-x:auto}.loom-runner__failure{color:var(--loom-error)}.loom-live-log{background:var(--loom-bg-secondary);min-height:100%}.loom-live-log .loom-panel__header{flex-wrap:wrap}.loom-live-log .loom-panel__body{min-height:20rem;padding:0}.loom-runner__log-actions{gap:.375rem}.loom-runner__log-actions .loom-search{width:12rem}.loom-runner__log-actions .loom-button{min-height:2.25rem;padding:.375rem .5rem;font-size:.75rem}.loom-live-log__entries{min-height:20rem;padding:var(--loom-space-4);color:var(--loom-text);font-family:var(--font-mono);gap:.375rem;font-size:.75rem;line-height:1.55;display:grid;overflow-y:auto}.loom-live-log__entries p{overflow-wrap:anywhere;margin:0}.loom-live-log__entries p>span{color:var(--loom-text-muted);margin-inline-end:.5rem;font-weight:700}.loom-live-log__entries p[data-stream=stderr]{color:var(--loom-error)}.loom-runner__export-panel .loom-panel__body{gap:var(--loom-space-5);display:grid}.loom-runner__export-intro{color:var(--loom-text-secondary);margin:0;font-size:.8125rem}.loom-runner__export-grid{gap:var(--loom-space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.loom-runner__export-card{justify-content:space-between;gap:var(--loom-space-4);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);min-height:12rem;padding:var(--loom-space-4);flex-direction:column;display:flex}.loom-runner__export-card>div{align-items:flex-start;gap:var(--loom-space-2);flex-direction:column}.loom-runner__export-card svg{color:var(--loom-primary)}.loom-runner__export-card h2,.loom-runner__export-card p{margin:0}.loom-runner__export-card h2{color:var(--loom-text);font-size:.875rem;font-weight:600}.loom-runner__export-card p{color:var(--loom-text-secondary);font-size:.75rem;line-height:1.55}@media(max-width:1050px){.loom-topbar{padding-inline:var(--loom-space-3)}.loom-tab>.loom-truncate{max-width:6.5rem}.loom-target-input input{width:8rem}.loom-dashboard,.loom-history,.loom-engines{padding:var(--loom-space-5)}.loom-dashboard__metrics,.loom-dashboard__features,.loom-dashboard__engine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loom-resource-grid{grid-template-columns:1fr 1fr}.loom-resource-summary{border-block-start:1px solid var(--loom-border);border-inline-start:0;padding-block-start:var(--loom-space-3);padding-inline-start:0}.loom-dashboard__header,.loom-history__header{flex-direction:column;align-items:flex-start}.loom-history__controls .loom-search{width:18rem}.loom-runner__controls{flex-direction:column;align-items:stretch}.loom-runner__target-controls,.loom-runner__run-state{justify-content:space-between}.loom-runner__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.loom-runner__charts{grid-template-columns:1fr}}.loom-button--compact{min-height:2.125rem;padding:.375rem .625rem;font-size:.75rem}.loom-editor{background:var(--loom-bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.loom-editor__toolbar,.loom-editor__footer,.loom-flow-inspector__header,.loom-code-preview__header{border-color:var(--loom-border);background:var(--loom-surface);justify-content:space-between;align-items:center;display:flex}.loom-editor__toolbar{gap:var(--loom-space-3);min-height:3.625rem;padding:var(--loom-space-2) var(--loom-space-4);border-block-end:1px solid var(--loom-border)}.loom-editor__identity,.loom-editor__actions,.loom-editor__templates,.loom-editor__save-status,.loom-flow-inspector__header>span,.loom-code-preview__header>span,.loom-code-preview__controls{align-items:center;gap:var(--loom-space-2);min-width:0;display:flex}.loom-editor__identity>svg,.loom-flow-inspector__header>span>svg,.loom-code-preview__header>span>svg{width:1rem;height:1rem;color:var(--loom-primary)}.loom-file-chip{max-width:min(28rem,35vw);color:var(--loom-text);font-family:var(--loom-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.loom-editor__templates>span,.loom-editor__unsaved,.loom-editor__save-status{font-family:var(--loom-font-mono);font-size:.6875rem}.loom-editor__templates>span{color:var(--loom-text-muted)}.loom-editor__unsaved{color:var(--loom-warning)}.loom-editor__save-status{color:var(--loom-green)}.loom-editor__save-status svg{width:.875rem;height:.875rem}.loom-editor__template,.loom-code-preview__controls>button{border-radius:var(--loom-radius-sm);color:var(--loom-text-secondary);cursor:pointer;font-family:var(--loom-font-mono);background:0 0;border:1px solid #0000;padding:.375rem .5rem;font-size:.6875rem;line-height:1.25}.loom-editor__template:hover,.loom-code-preview__controls>button:hover{border-color:var(--loom-border-hover);color:var(--loom-text)}.loom-editor__template.is-active,.loom-code-preview__controls>button.is-active{border-color:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-editor__template.is-active,.loom-code-preview__controls>button.is-active{border-color:color-mix(in srgb,var(--loom-primary) 38%,var(--loom-border))}}.loom-editor__template.is-active,.loom-code-preview__controls>button.is-active{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-editor__template.is-active,.loom-code-preview__controls>button.is-active{background:color-mix(in srgb,var(--loom-primary) 12%,transparent)}}.loom-editor__template.is-active,.loom-code-preview__controls>button.is-active{color:var(--loom-primary)}.loom-code-surface{background:var(--loom-bg);flex:1;grid-template-columns:3.75rem minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.loom-code-surface__lines{border-inline-end:1px solid var(--loom-border);background:var(--loom-surface);color:var(--loom-text-muted);font-family:var(--loom-font-mono);padding:var(--loom-space-3) var(--loom-space-3) var(--loom-space-3) 0;text-align:end;-webkit-user-select:none;user-select:none;font-size:.8125rem;line-height:1.7;overflow:hidden}.loom-code-surface__input{resize:none;min-width:0;color:var(--loom-text);font-family:var(--loom-font-mono);padding:var(--loom-space-3);background:0 0;border:0;outline:0;font-size:.8125rem;line-height:1.7}.loom-code-surface__input::selection{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-code-surface__input::selection{background:color-mix(in srgb,var(--loom-primary) 25%,transparent)}}.loom-editor__footer{border-block-start:1px solid var(--loom-border);min-height:1.875rem;color:var(--loom-text-muted);font-family:var(--loom-font-mono);padding-inline:var(--loom-space-4);font-size:.6875rem}.loom-flow-builder{background:var(--loom-bg);flex:1;grid-template-columns:15rem minmax(20rem,1fr) 26.25rem;min-height:0;display:grid;overflow:hidden}.loom-editor__import-empty{align-content:center;justify-items:start;gap:var(--loom-space-3);width:min(100%,42rem);padding:var(--loom-space-6);margin:auto;display:grid}.loom-editor__import-empty h2{color:var(--loom-text);margin:0;font-size:1.25rem}.loom-editor__import-empty p{max-width:64ch;color:var(--loom-text-secondary);margin:0;font-size:.875rem;line-height:1.6}.loom-editor__import-empty button{border-radius:var(--loom-radius-control);background:var(--loom-primary);min-height:2.625rem;color:var(--loom-primary-foreground);cursor:pointer;padding-inline:var(--loom-space-4);border:0;font-weight:600}.loom-editor__import-empty button:disabled{cursor:wait;opacity:.55}.loom-editor>section[aria-label="Code editor"]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.loom-editor__monaco{flex:1 1 0;min-height:12rem;overflow:hidden}.loom-editor__problems{border-block-start:1px solid var(--loom-border);background:var(--loom-surface);min-height:5rem;padding:var(--loom-space-3) var(--loom-space-4);flex:0 15rem;overflow:auto}.loom-editor__problems>header{justify-content:space-between;align-items:center;gap:var(--loom-space-3);display:flex}.loom-editor__problems h2{color:var(--loom-text);margin:0;font-size:.875rem}.loom-editor__problems>header>span,.loom-editor__problems>p{color:var(--loom-text-secondary);font-size:.75rem}.loom-editor__problems>p{margin-block:var(--loom-space-2)}.loom-editor__problems ul{gap:var(--loom-space-2);margin:var(--loom-space-3) 0 0;padding:0;list-style:none;display:grid}.loom-editor__problem{align-items:baseline;gap:var(--loom-space-3);border-block-start:1px solid var(--loom-border);padding-block:var(--loom-space-2);grid-template-columns:5rem 10rem minmax(0,1fr);display:grid}.loom-editor__problem>span,.loom-editor__problem>code{font-family:var(--loom-font-mono);font-size:.6875rem}.loom-editor__problem>span{color:var(--loom-text-secondary);text-transform:capitalize}.loom-editor__problem>code{color:var(--loom-info)}.loom-editor__problem>p{color:var(--loom-text);margin:0;font-size:.8125rem}.loom-editor__problem--error>span{color:var(--loom-error)}.loom-editor__problem--warning>span{color:var(--loom-warning)}.loom-editor__problem--info>span{color:var(--loom-info)}.loom-scenario-studio{background:var(--loom-bg);min-height:0;color:var(--loom-text);flex:1;grid-template-columns:14rem minmax(20rem,1fr) 24rem;display:grid;overflow:hidden}.loom-scenario-palette,.loom-scenario-inspector{background:var(--loom-surface);min-width:0;min-height:0;padding:var(--loom-space-4);overflow:auto}.loom-scenario-palette{border-inline-end:1px solid var(--loom-border)}.loom-scenario-inspector{border-inline-start:1px solid var(--loom-border)}.loom-scenario-palette h2,.loom-scenario-canvas h2,.loom-scenario-inspector h2{margin:0;font-size:.9375rem;font-weight:600}.loom-scenario-palette>p,.loom-scenario-canvas__toolbar p,.loom-scenario-configs>p,.loom-scenario-artifacts>p,.loom-scenario-fields>p{color:var(--loom-text-secondary);font-size:.75rem;line-height:1.5}.loom-scenario-palette__item{align-items:center;gap:var(--loom-space-2);width:100%;min-height:2.625rem;margin-block:var(--loom-space-2);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);color:var(--loom-text);cursor:grab;text-align:start;padding:var(--loom-space-2) var(--loom-space-3);grid-template-columns:1rem 1fr auto;font-size:.8125rem;display:grid}.loom-scenario-palette__item svg{width:.875rem;height:.875rem;color:var(--loom-primary)}.loom-scenario-palette__item small{color:var(--loom-text-muted);font-family:var(--loom-font-mono);font-size:.625rem}.loom-scenario-palette__item:hover:not(:disabled){border-color:var(--loom-border-hover)}.loom-scenario-palette__item:disabled{cursor:not-allowed;opacity:.48}.loom-scenario-configs{border-block-start:1px solid var(--loom-border);margin-block-start:var(--loom-space-6);padding-block-start:var(--loom-space-4)}.loom-scenario-configs__heading{justify-content:space-between;align-items:center;gap:var(--loom-space-2);display:flex}.loom-scenario-configs__heading button,.loom-scenario-config-form button{border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-bg-secondary);min-height:1.875rem;color:var(--loom-text);cursor:pointer;padding-inline:var(--loom-space-2);font-size:.6875rem}.loom-scenario-config-form{gap:var(--loom-space-2);margin-block:var(--loom-space-2) var(--loom-space-4);border-block-end:1px solid var(--loom-border);padding-block-end:var(--loom-space-3);display:grid}.loom-scenario-config-form label{gap:var(--loom-space-1);color:var(--loom-text-secondary);font-size:.6875rem;display:grid}.loom-scenario-config-form input,.loom-scenario-config-form select,.loom-scenario-config-form textarea{border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-bg-secondary);width:100%;min-width:0;color:var(--loom-text);font-family:var(--loom-font-mono);padding:var(--loom-space-2);font-size:.6875rem}.loom-scenario-config-form textarea{resize:vertical;min-height:6rem}.loom-scenario-configs h3,.loom-scenario-artifacts h3{margin:0 0 var(--loom-space-2);color:var(--loom-text-secondary);font-family:var(--loom-font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:600}.loom-scenario-configs ul{gap:var(--loom-space-1);margin:0 0 var(--loom-space-4);padding:0;list-style:none;display:grid}.loom-scenario-configs li{justify-content:space-between;gap:var(--loom-space-2);color:var(--loom-text-secondary);font-size:.6875rem;display:flex}.loom-scenario-configs code,.loom-scenario-source-ref,.loom-scenario-artifacts code{font-family:var(--loom-font-mono)}.loom-scenario-diagnostic{margin-block:var(--loom-space-1);font-size:.6875rem}.loom-scenario-diagnostic--error,.loom-scenario-error{color:var(--loom-error)}.loom-scenario-diagnostic--warning,.loom-scenario-warning{color:var(--loom-warning)}.loom-scenario-diagnostic--info{color:var(--loom-info)}.loom-scenario-canvas{background:var(--loom-bg);min-width:0;min-height:0;padding:var(--loom-space-5);overflow:auto}.loom-scenario-canvas__toolbar{justify-content:space-between;align-items:center;gap:var(--loom-space-3);border-block-end:1px solid var(--loom-border);flex-wrap:wrap;padding-block-end:var(--loom-space-4);display:flex}.loom-scenario-canvas__toolbar p{margin:var(--loom-space-1) 0 0;font-family:var(--loom-font-mono)}.loom-scenario-engines{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);gap:2px;padding:2px;display:flex}.loom-scenario-engines button{border-radius:var(--loom-radius-sm);min-height:2rem;color:var(--loom-text-secondary);cursor:pointer;padding:0 var(--loom-space-3);background:0 0;border:0;font-size:.75rem}.loom-scenario-engines button[aria-selected=true]{background:var(--loom-surface-elevated);color:var(--loom-primary)}.loom-scenario-warning{margin-block:var(--loom-space-3);border:1px solid var(--loom-warning)}@supports (color:color-mix(in lab,red,red)){.loom-scenario-warning{border:1px solid color-mix(in srgb,var(--loom-warning) 40%,var(--loom-border))}}.loom-scenario-warning{border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);padding:var(--loom-space-2) var(--loom-space-3);font-size:.75rem}.loom-scenario-source-order{margin-block:var(--loom-space-3);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);padding:var(--loom-space-2) var(--loom-space-3);font-size:.75rem;line-height:1.5}.loom-scenario-flow{width:min(100%,44rem);margin:var(--loom-space-5) auto;padding:0;list-style:none;display:grid}.loom-scenario-flow__item{min-width:0}.loom-scenario-flow__row{align-items:center;gap:var(--loom-space-2);grid-template-columns:2rem minmax(0,1fr) 4rem;display:grid}.loom-scenario-flow__drag{border-radius:var(--loom-radius-sm);width:2rem;height:2.5rem;color:var(--loom-text-muted);cursor:grab;background:0 0;border:0;place-items:center;display:grid}.loom-scenario-flow__drag svg{width:1rem;height:1rem}.loom-scenario-node{gap:var(--loom-space-1);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-surface);min-width:0;min-height:3.25rem;color:var(--loom-text);cursor:pointer;padding:var(--loom-space-2) var(--loom-space-3);text-align:start;display:grid}.loom-scenario-node:hover{border-color:var(--loom-border-hover)}.loom-scenario-node.is-selected{border-color:var(--loom-primary);background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-scenario-node.is-selected{background:color-mix(in srgb,var(--loom-primary) 6%,var(--loom-surface))}}.loom-scenario-node>span{color:var(--loom-text-muted);font-family:var(--loom-font-mono);letter-spacing:.05em;font-size:.625rem}.loom-scenario-node strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.loom-scenario-node small{color:var(--loom-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.loom-scenario-flow__ordering{grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.loom-scenario-flow__ordering button,.loom-scenario-delete{border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-bg-secondary);width:1.875rem;height:1.875rem;color:var(--loom-text-secondary);cursor:pointer;place-items:center;display:grid}.loom-scenario-flow__ordering button:disabled{cursor:not-allowed;opacity:.35}.loom-scenario-flow__ordering svg,.loom-scenario-delete svg{width:.875rem;height:.875rem}.loom-scenario-flow__connector{background:var(--loom-border-hover);width:1px;height:1.125rem;margin-inline-start:3rem;display:block}.loom-scenario-empty{border:1px dashed var(--loom-border-hover);border-radius:var(--loom-radius-control);color:var(--loom-text-secondary);padding:var(--loom-space-4);font-size:.8125rem;line-height:1.6}.loom-scenario-load-more{min-height:2.5rem;margin:0 auto var(--loom-space-5);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);color:var(--loom-text-secondary);cursor:pointer;padding-inline:var(--loom-space-4);font-size:.75rem;display:block}.loom-scenario-load-more:hover{border-color:var(--loom-border-hover);color:var(--loom-text)}.loom-scenario-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.loom-scenario-inspector>header{align-items:center;gap:var(--loom-space-2);border-block-end:1px solid var(--loom-border);padding-block-end:var(--loom-space-3);display:flex}.loom-scenario-inspector>header>svg{width:1rem;height:1rem;color:var(--loom-primary)}.loom-scenario-inspector>header h2{flex:1}.loom-scenario-fields{gap:var(--loom-space-3);padding-block:var(--loom-space-4);display:grid}.loom-scenario-fields label{gap:var(--loom-space-1);color:var(--loom-text-secondary);font-family:var(--loom-font-mono);font-size:.6875rem;display:grid}.loom-scenario-fields input,.loom-scenario-fields select,.loom-scenario-fields textarea{border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-bg-secondary);width:100%;min-height:2.25rem;color:var(--loom-text);font-family:var(--loom-font-mono);padding:var(--loom-space-2);font-size:.75rem}.loom-scenario-fields textarea{resize:vertical;min-height:4rem}.loom-scenario-confirm{align-items:flex-start;gap:var(--loom-space-2);margin-block:var(--loom-space-3);color:var(--loom-text-secondary);font-size:.6875rem;line-height:1.5;display:flex}.loom-scenario-confirm input{accent-color:var(--loom-primary);margin-block-start:.125rem}.loom-scenario-source-ref{overflow-wrap:anywhere;color:var(--loom-text-muted)!important;font-size:.6875rem!important}.loom-scenario-native-source{border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-bg);max-height:12rem;color:var(--loom-text);font-family:var(--loom-font-mono);padding:var(--loom-space-2);white-space:pre-wrap;font-size:.6875rem;line-height:1.55;overflow:auto}.loom-scenario-artifacts{border-block-start:1px solid var(--loom-border);padding-block-start:var(--loom-space-4)}.loom-scenario-artifacts__header{justify-content:space-between;align-items:center;gap:var(--loom-space-2);display:flex}.loom-scenario-artifacts__header button,.loom-scenario-apply{border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-surface-elevated);min-height:2.125rem;color:var(--loom-text);cursor:pointer;padding-inline:var(--loom-space-3);font-size:.75rem}.loom-scenario-artifacts__header button:disabled,.loom-scenario-apply:disabled{cursor:not-allowed;opacity:.45}.loom-scenario-artifacts details{margin-block:var(--loom-space-2);border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-bg-secondary)}.loom-scenario-artifacts summary{justify-content:space-between;gap:var(--loom-space-2);cursor:pointer;color:var(--loom-text-secondary);padding:var(--loom-space-2);font-size:.6875rem;display:flex}.loom-scenario-artifacts summary span{color:var(--loom-text-muted);text-transform:uppercase}.loom-scenario-artifacts pre{border-block-start:1px solid var(--loom-border);max-height:15rem;color:var(--loom-text);font-family:var(--loom-font-mono);padding:var(--loom-space-3);white-space:pre;font-size:.6875rem;line-height:1.55;overflow:auto}.loom-scenario-apply{width:100%;margin-block:var(--loom-space-2);border-color:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-scenario-apply{border-color:color-mix(in srgb,var(--loom-primary) 40%,var(--loom-border))}}.loom-scenario-apply{color:var(--loom-primary)}@media(max-width:1150px){.loom-scenario-studio{grid-template-columns:12rem minmax(18rem,1fr);overflow:auto}.loom-scenario-inspector{border-block-start:1px solid var(--loom-border);border-inline-start:0;grid-column:1/-1}}@media(max-width:760px){.loom-scenario-studio{flex-direction:column;display:flex;overflow:auto}.loom-scenario-palette,.loom-scenario-inspector{border-inline:0;border-block-end:1px solid var(--loom-border);overflow:visible}.loom-scenario-canvas{min-height:26rem}.loom-scenario-canvas__toolbar{flex-direction:column;align-items:flex-start}}.loom-node-palette,.loom-flow-inspector{background:var(--loom-surface);min-height:0}.loom-node-palette{gap:var(--loom-space-2);border-inline-end:1px solid var(--loom-border);padding:var(--loom-space-4);flex-direction:column;display:flex;overflow-y:auto}.loom-overline{margin:0 0 var(--loom-space-1);color:var(--loom-text-muted);font-family:var(--loom-font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.loom-node-palette__button{align-items:center;gap:var(--loom-space-3);border:1px solid var(--loom-border);border-radius:var(--loom-radius-md);background:var(--loom-surface-elevated);width:100%;color:var(--loom-text);cursor:pointer;padding:var(--loom-space-3);text-align:start;display:flex}.loom-node-palette__button:hover{border-color:var(--loom-border-hover)}.loom-node-palette__button>span:last-child{gap:.125rem;display:grid}.loom-node-palette__button strong{font-size:.8125rem}.loom-node-palette__button small{color:var(--loom-text-secondary);font-size:.6875rem}.loom-node-palette__icon{border:1px solid var(--loom-primary);flex:none;place-items:center;width:2rem;height:2rem;display:grid}@supports (color:color-mix(in lab,red,red)){.loom-node-palette__icon{border:1px solid color-mix(in srgb,var(--loom-primary) 28%,var(--loom-border))}}.loom-node-palette__icon{border-radius:var(--loom-radius-sm);color:var(--loom-primary)}.loom-node-palette__icon svg{width:1rem;height:1rem}.loom-node-palette__hint{gap:var(--loom-space-1);border:1px solid var(--loom-border);border-radius:var(--loom-radius-md);background:var(--loom-surface-elevated);color:var(--loom-text-secondary);padding:var(--loom-space-3);margin-block-start:auto;font-size:.75rem;display:grid}.loom-node-palette__hint svg{width:1rem;height:1rem;color:var(--loom-primary)}.loom-node-palette__hint strong{color:var(--loom-text);font-size:.8125rem}.loom-canvas{min-height:0;padding:var(--loom-space-8);background-color:var(--loom-bg);position:relative;overflow:auto}.loom-canvas__flow{width:min(100%,28rem);margin-inline:auto;display:grid}.loom-canvas__step{justify-items:center;display:grid}.loom-canvas__node-row{align-items:start;gap:var(--loom-space-2);grid-template-columns:minmax(0,1fr) auto;width:100%;display:grid}.loom-node{gap:var(--loom-space-2);border:1px solid var(--loom-border);border-radius:var(--loom-radius-lg);background:var(--loom-surface);width:100%;color:var(--loom-text);cursor:pointer;padding:var(--loom-space-4);text-align:start;display:grid}.loom-node:hover{border-color:var(--loom-border-hover)}.loom-node--selected{border-color:var(--loom-primary);box-shadow:0 0 0 2px var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-node--selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--loom-primary) 16%,transparent)}}.loom-node__title{align-items:center;gap:var(--loom-space-2);min-width:0;display:flex}.loom-node__title>svg{width:1rem;height:1rem;color:var(--loom-primary)}.loom-node__title strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.loom-node__detail{color:var(--loom-text-secondary);font-family:var(--loom-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.loom-node__method{border:1px solid var(--loom-info)}@supports (color:color-mix(in lab,red,red)){.loom-node__method{border:1px solid color-mix(in srgb,var(--loom-info) 40%,var(--loom-border))}}.loom-node__method{border-radius:var(--loom-radius-sm);color:var(--loom-info);font-family:var(--loom-font-mono);padding:.125rem .25rem;font-size:.6875rem;font-weight:700}.loom-node__start-dot{background:var(--loom-green);border-radius:50%;width:.625rem;height:.625rem}.loom-node__delete{margin-block-start:var(--loom-space-2)}.loom-icon-button{border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-surface-elevated);width:2rem;height:2rem;color:var(--loom-text-secondary);cursor:pointer;place-items:center;display:grid}.loom-icon-button:hover{border-color:var(--loom-error)}@supports (color:color-mix(in lab,red,red)){.loom-icon-button:hover{border-color:color-mix(in srgb,var(--loom-error) 45%,var(--loom-border))}}.loom-icon-button:hover{color:var(--loom-error)}.loom-icon-button svg{width:.875rem;height:.875rem}.loom-canvas__connector{width:1px;height:1.75rem;margin:var(--loom-space-1);background:var(--loom-border-hover);display:block}.loom-flow-inspector{border-inline-start:1px solid var(--loom-border);flex-direction:column;display:flex}.loom-flow-inspector__header{gap:var(--loom-space-2);border-block-end:1px solid var(--loom-border);min-height:3.625rem;padding:var(--loom-space-2) var(--loom-space-3);color:var(--loom-text);font-size:.8125rem;font-weight:700}.loom-flow-inspector__fields{gap:var(--loom-space-3);border-block-end:1px solid var(--loom-border);max-height:19rem;padding:var(--loom-space-4);display:grid;overflow-y:auto}.loom-form-field,.loom-form-field-row{gap:var(--loom-space-1);color:var(--loom-text-secondary);font-family:var(--loom-font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:600;display:grid}.loom-form-field-row{gap:var(--loom-space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.loom-form-field input,.loom-form-field select,.loom-form-field textarea{border:1px solid var(--loom-border);border-radius:var(--loom-radius-sm);background:var(--loom-surface-elevated);width:100%;color:var(--loom-text);font-family:var(--loom-font-mono);letter-spacing:normal;text-transform:none;outline:0;padding:.5rem .625rem;font-size:.75rem;font-weight:400}.loom-form-field input,.loom-form-field select{min-height:2.125rem}.loom-form-field textarea{resize:vertical}.loom-form-field input:focus,.loom-form-field select:focus,.loom-form-field textarea:focus{border-color:var(--loom-primary);box-shadow:0 0 0 2px var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-form-field input:focus,.loom-form-field select:focus,.loom-form-field textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--loom-primary) 15%,transparent)}}.loom-code-preview{background:var(--loom-bg);flex-direction:column;flex:1;min-height:0;display:flex}.loom-code-preview__header{gap:var(--loom-space-2);border-block-end:1px solid var(--loom-border);min-height:2.75rem;padding:var(--loom-space-2) var(--loom-space-3);color:var(--loom-text);font-family:var(--loom-font-mono);flex-wrap:wrap;font-size:.75rem;font-weight:600}.loom-code-preview__controls{gap:.25rem}.loom-code-preview__copy{align-items:center;gap:.25rem;display:inline-flex}.loom-code-preview__copy svg{width:.75rem;height:.75rem}.loom-code-preview pre{min-height:0;color:var(--loom-text);font-family:var(--loom-font-mono);padding:var(--loom-space-4);white-space:pre;flex:1;margin:0;font-size:.75rem;line-height:1.65;overflow:auto}.loom-action-error{margin:var(--loom-space-3) var(--loom-space-4) 0;border:1px solid var(--loom-error)}@supports (color:color-mix(in lab,red,red)){.loom-action-error{border:1px solid color-mix(in srgb,var(--loom-error) 45%,var(--loom-border))}}.loom-action-error{border-radius:var(--loom-radius-control);background:var(--loom-error)}@supports (color:color-mix(in lab,red,red)){.loom-action-error{background:color-mix(in srgb,var(--loom-error) 9%,var(--loom-surface))}}.loom-action-error{color:var(--loom-text);padding:var(--loom-space-2) var(--loom-space-3);font-size:.8125rem}@media(max-width:1100px){.loom-flow-builder{grid-template-columns:13rem minmax(18rem,1fr)}.loom-flow-inspector{border-block-start:1px solid var(--loom-border);border-inline-start:0;grid-column:1/-1;grid-template-columns:minmax(16rem,.8fr) minmax(20rem,1.2fr);max-height:27rem;display:grid}.loom-flow-inspector__header{grid-column:1/-1}.loom-flow-inspector__fields{border-block-end:0;border-inline-end:1px solid var(--loom-border)}}@media(max-width:760px){.loom-editor__toolbar,.loom-editor__actions,.loom-editor__templates{flex-wrap:wrap;align-items:flex-start}.loom-editor__toolbar{flex-direction:column}.loom-file-chip{max-width:72vw}.loom-editor__problem{gap:var(--loom-space-2);grid-template-columns:4rem minmax(5rem,auto)}.loom-editor__problem>p{grid-column:1/-1}.loom-flow-builder{flex-direction:column;display:flex;overflow:auto}.loom-node-palette{border-block-end:1px solid var(--loom-border);border-inline-end:0}.loom-node-palette__hint{margin-block-start:var(--loom-space-2)}.loom-canvas{min-height:34rem;padding:var(--loom-space-5)}.loom-flow-inspector{border-block-start:1px solid var(--loom-border);max-height:none;display:flex}.loom-flow-inspector__fields{border-block-end:1px solid var(--loom-border);border-inline-end:0;max-height:none}}@media(pointer:coarse){.loom-nav-item,.loom-sidebar__suite,.loom-engine-row,.loom-sidebar__explorer-heading{min-height:2.75rem}}.loom-toast-region{z-index:80;top:var(--loom-space-4);right:var(--loom-space-4);gap:var(--loom-space-2);width:min(22rem,100vw - 2rem);display:grid;position:fixed}.loom-toast{justify-content:space-between;align-items:center;gap:var(--loom-space-3);border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-control);background:var(--loom-surface-elevated);box-shadow:var(--loom-shadow-floating);color:var(--loom-text);padding:var(--loom-space-3) var(--loom-space-4);font-size:.8125rem;display:flex}.loom-toast--success{border-color:var(--loom-green)}@supports (color:color-mix(in lab,red,red)){.loom-toast--success{border-color:color-mix(in srgb,var(--loom-green) 44%,var(--loom-border))}}.loom-toast--error{border-color:var(--loom-error)}@supports (color:color-mix(in lab,red,red)){.loom-toast--error{border-color:color-mix(in srgb,var(--loom-error) 50%,var(--loom-border))}}.loom-toast--error{color:var(--loom-text)}.loom-toast__message{overflow-wrap:anywhere;min-width:0}.loom-toast__dismiss{color:var(--loom-text-muted);background:0 0;border:0;flex:none;padding:.25rem;font-size:1rem;line-height:1}.loom-toast__dismiss:hover{color:var(--loom-text)}.loom-dock{z-index:30;border-block-start:1px solid var(--loom-border-hover);background:var(--loom-surface);color:var(--loom-text);position:fixed;bottom:0;left:232px;right:0}.loom-dock__bar{justify-content:space-between;align-items:center;gap:var(--loom-space-2);min-height:2.5rem;padding-inline:var(--loom-space-4);display:flex}.loom-dock__toggle{color:var(--loom-text-secondary);background:0 0;border:0;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;display:inline-flex}.loom-dock__toggle:hover{color:var(--loom-text)}.loom-dock__toggle svg{color:var(--loom-primary)}.loom-dock__count{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);min-width:1.5rem;color:var(--loom-text-secondary);font-family:var(--font-mono);border-radius:999px;place-items:center;padding:.125rem .375rem;font-size:.6875rem;display:inline-grid}.loom-dock__live{color:var(--loom-green);font-family:var(--font-mono);animation:loom-pulse 1.2s var(--loom-ease-out) infinite;font-size:.6875rem}.loom-dock__clear{color:var(--loom-text-secondary);background:0 0;border:0;align-items:center;gap:.375rem;padding:.375rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.loom-dock__clear:hover{color:var(--loom-text)}.loom-dock__grip{cursor:ns-resize;background:0 0;height:.375rem}.loom-dock__grip:hover{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-dock__grip:hover{background:color-mix(in srgb,var(--loom-primary) 18%,transparent)}}.loom-dock__body{max-height:calc(100% - 2.875rem);padding:0 var(--loom-space-4) var(--loom-space-3);color:var(--loom-text);font-family:var(--font-mono);font-size:.75rem;line-height:1.55;overflow-y:auto}.loom-dock__body p{overflow-wrap:anywhere;margin:0 0 .375rem}.loom-dock__body p>span{color:var(--loom-text-muted);margin-inline-end:.5rem;font-weight:700}.loom-dock__body p[data-stream=stderr]{color:var(--loom-error)}.loom-dock__empty{color:var(--loom-text-muted)}.loom-drawer-backdrop{z-index:60;background:#0000008f;position:fixed;top:0;right:0;bottom:0;left:0}.loom-drawer{z-index:61;border-inline-start:1px solid var(--loom-border-hover);background:var(--loom-surface);width:min(26rem,90vw);box-shadow:var(--loom-shadow-floating);color:var(--loom-text);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.loom-drawer__header{justify-content:space-between;align-items:center;gap:var(--loom-space-3);border-block-end:1px solid var(--loom-border);padding:var(--loom-space-4);display:flex}.loom-drawer__close{border:1px solid var(--loom-border-hover);border-radius:var(--loom-radius-small);background:var(--loom-surface-elevated);color:var(--loom-text-secondary);align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.75rem;display:inline-flex}.loom-drawer__close:hover{color:var(--loom-text)}.loom-drawer__tabs{gap:var(--loom-space-1);border-block-end:1px solid var(--loom-border);padding-inline:var(--loom-space-4);display:flex}.loom-drawer__tab{color:var(--loom-text-secondary);background:0 0;border:0;border-block-end:2px solid #0000;padding:.75rem .5rem;font-size:.75rem;font-weight:600}.loom-drawer__tab:hover,.loom-drawer__tab--active{border-block-end-color:var(--loom-primary);color:var(--loom-primary)}.loom-drawer__summary{gap:var(--loom-space-3);padding:var(--loom-space-4);margin:0;display:grid;overflow-y:auto}.loom-drawer__summary>div{gap:var(--loom-space-2);grid-template-columns:7rem minmax(0,1fr);font-size:.8125rem;display:grid}.loom-drawer__summary dt{color:var(--loom-text-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.loom-drawer__summary dd{color:var(--loom-text);overflow-wrap:anywhere;margin:0}.loom-drawer__config{background:var(--loom-bg-secondary);color:var(--loom-text-secondary);font-family:var(--font-mono);padding:var(--loom-space-4);white-space:pre-wrap;flex:1;margin:0;font-size:.75rem;line-height:1.6;overflow:auto}.loom-drawer__footer{justify-content:flex-end;gap:var(--loom-space-2);border-block-start:1px solid var(--loom-border);padding:var(--loom-space-4);display:flex}.loom-issues .loom-panel__body{gap:var(--loom-space-3);display:grid}.loom-issues__list{gap:var(--loom-space-2);margin:0;padding:0;list-style:none;display:grid}.loom-issues__row{align-items:center;gap:var(--loom-space-2);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-bg-secondary);width:100%;color:var(--loom-text);padding:var(--loom-space-2) var(--loom-space-3);text-align:start;font-size:.8125rem;display:flex}.loom-issues__row:hover{border-color:var(--loom-warning)}.loom-issues__row svg{color:var(--loom-warning);flex:none}.loom-issues__empty{color:var(--loom-green);margin:0;font-size:.8125rem;font-weight:600}.loom-quickstart{gap:var(--loom-space-4);display:grid}.loom-quickstart__steps{gap:var(--loom-space-3);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.loom-quickstart__step{gap:var(--loom-space-2);border:1px solid var(--loom-border);border-radius:var(--loom-radius-control);background:var(--loom-surface);padding:var(--loom-space-3);display:flex}.loom-quickstart__step[data-done=true]{border-color:var(--loom-green)}@supports (color:color-mix(in lab,red,red)){.loom-quickstart__step[data-done=true]{border-color:color-mix(in srgb,var(--loom-green) 40%,var(--loom-border))}}.loom-quickstart__marker{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);width:1.5rem;height:1.5rem;color:var(--loom-text-muted);font-family:var(--font-mono);border-radius:999px;flex:none;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.loom-quickstart__step[data-done=true] .loom-quickstart__marker{border-color:var(--loom-green);background:var(--loom-green);color:var(--loom-primary-foreground)}.loom-quickstart__copy{gap:.25rem;min-width:0;display:grid}.loom-quickstart__copy strong{color:var(--loom-text);font-size:.75rem}.loom-quickstart__copy>span{color:var(--loom-text-secondary);font-size:.75rem;line-height:1.5}.loom-dashboard__projects{gap:var(--loom-space-4);display:grid}.loom-project-cards{gap:var(--loom-space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.loom-project-card{gap:var(--loom-space-2);border:1px solid var(--loom-border);border-radius:var(--loom-radius-panel);background:var(--loom-surface);color:var(--loom-text-secondary);cursor:pointer;padding:var(--loom-space-4);text-align:start;display:grid}.loom-project-card:hover{border-color:var(--loom-primary);background:var(--loom-surface-elevated)}.loom-project-card__header{justify-content:space-between;align-items:center;gap:var(--loom-space-2);color:var(--loom-text);font-size:.9375rem;display:flex}.loom-project-card__engine-dot{background:var(--loom-warning);border-radius:999px;flex:none;width:.5rem;height:.5rem;display:inline-block}.loom-project-card__engine-dot[data-ready=true]{background:var(--loom-green);box-shadow:0 0 .75rem var(--loom-green)}@supports (color:color-mix(in lab,red,red)){.loom-project-card__engine-dot[data-ready=true]{box-shadow:0 0 .75rem color-mix(in srgb,var(--loom-green) 42%,transparent)}}.loom-project-card__meta{font-family:var(--font-mono);font-size:.6875rem}.loom-project-card__badge{border:1px solid var(--loom-border-hover);background:var(--loom-bg-secondary);width:fit-content;color:var(--loom-text-secondary);font-family:var(--font-mono);border-radius:999px;align-items:center;padding:.1875rem .5625rem;font-size:.625rem;font-weight:700;display:inline-flex}.loom-project-card__open{color:var(--loom-primary);background:0 0;border:0;justify-self:start;padding:.25rem 0;font-size:.75rem;font-weight:700}.loom-project-card__open:hover{color:var(--loom-primary-hover)}.loom-sidebar__filter{width:100%;min-height:2.25rem;margin-block:var(--loom-space-2);font-size:.75rem}.loom-sidebar__suite-row{align-items:center;gap:.25rem;min-width:0;display:flex}.loom-sidebar__suite-row .loom-sidebar__suite{flex:1}.loom-sidebar__suite-run{border-radius:var(--loom-radius-small);width:1.75rem;height:1.75rem;color:var(--loom-text-muted);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:grid}.loom-sidebar__suite-run:hover{border-color:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-sidebar__suite-run:hover{border-color:color-mix(in srgb,var(--loom-primary) 34%,var(--loom-border))}}.loom-sidebar__suite-run:hover{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-sidebar__suite-run:hover{background:color-mix(in srgb,var(--loom-primary) 10%,transparent)}}.loom-sidebar__suite-run:hover{color:var(--loom-primary)}.loom-table__row--clickable{cursor:pointer}.loom-table__row--clickable:hover td{background:var(--loom-primary)}@supports (color:color-mix(in lab,red,red)){.loom-table__row--clickable:hover td{background:color-mix(in srgb,var(--loom-primary) 5%,transparent)}}@media(max-width:1050px){.loom-dock{left:0}.loom-quickstart__steps,.loom-project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
