:root{--bg: #F5F6F8;--surface: #FFFFFF;--surface-2: #EDF0F4;--line: #D5DAE2;--text: #131820;--text-muted: #5B6776;--accent-safe: #1FA968;--accent-warn: #C77A07;--accent-fail: #C8323A;--accent-data: #1E72D6;--c-missing-hole: #1E72D6;--c-mouse-bite: #C77A07;--c-open-circuit: #8344CC;--c-short: #C8323A;--c-spur: #1FA968;--c-spurious-copper: #D85A36;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--fs-2xs: 12px;--fs-xs: 14px;--fs-sm: 16px;--fs-md: 17px;--fs-kpi: 30px;color-scheme:light;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:radial-gradient(1200px 800px at 20% 0%,rgba(30,114,214,.06),transparent 60%),radial-gradient(800px 600px at 100% 100%,rgba(31,169,104,.05),transparent 60%),var(--bg);background-attachment:fixed}.mono{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,monospace}.muted{color:var(--text-muted)}.hairline{border:1px solid var(--line)}button{font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}button:hover{background:var(--surface-2);border-color:var(--accent-data)}button:active{transform:translateY(1px)}::selection{background:#1e72d640;color:var(--text)}@keyframes blink-1hz{0%,49%{opacity:1}50%,to{opacity:.25}}@keyframes scanline{0%{transform:translateY(0);opacity:0}10%{opacity:.85}90%{opacity:.85}to{transform:translateY(100%);opacity:0}}@keyframes chevron{0%{background-position:0 0}to{background-position:24px 0}}.dotgrid{background-image:radial-gradient(rgba(91,103,118,.22) 1px,transparent 1px);background-size:14px 14px}.tile.svelte-xltr9j{display:flex;flex-direction:column;padding:8px;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-align:left;width:100%;height:100%;transition:transform .12s ease,border-color .12s ease,background .12s ease;cursor:grab}.tile.svelte-xltr9j:hover{transform:scale(1.02);border-color:var(--accent-data);background:var(--surface-2)}.tile.svelte-xltr9j:active{cursor:grabbing}.thumb.svelte-xltr9j{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:var(--r-sm);background:var(--surface-2)}.thumb.svelte-xltr9j img:where(.svelte-xltr9j){width:100%;height:100%;object-fit:cover;pointer-events:none}.layout.svelte-xltr9j{position:absolute;top:4px;left:4px;background:#0e1116c7;color:var(--text);font-size:var(--fs-xs);padding:1px 6px;border-radius:2px;letter-spacing:.04em}.meta.svelte-xltr9j{display:flex;justify-content:space-between;font-size:var(--fs-sm);align-items:center}.serial.svelte-xltr9j{color:var(--text)}.muted.svelte-xltr9j{color:var(--text-muted)}.conveyor.svelte-7scpd7{display:flex;flex-direction:column;height:100%;background:var(--surface);border-right:1px solid var(--line);min-width:0}header.svelte-7scpd7{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-sm)}.title.svelte-7scpd7{font-size:var(--fs-sm);letter-spacing:.16em;color:var(--accent-data);transition:color .2s ease}header.halted.svelte-7scpd7 .title:where(.svelte-7scpd7){color:var(--accent-warn)}.count.svelte-7scpd7{font-size:var(--fs-sm)}.rail.svelte-7scpd7{position:relative;flex:1;overflow:hidden;padding:10px;display:flex;flex-direction:column}.chevrons.svelte-7scpd7{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 10px,rgba(62,166,255,.05) 10px,rgba(62,166,255,.05) 12px,transparent 12px,transparent 24px);animation:chevron 1s linear infinite;opacity:.6;pointer-events:none;transition:opacity .4s ease}.chevrons.paused.svelte-7scpd7{animation-play-state:paused;opacity:.12}.tiles.svelte-7scpd7{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow:hidden}.tiles.svelte-7scpd7 li:where(.svelte-7scpd7){flex:1;min-height:0}.card.svelte-1r7q0ep{display:flex;flex-direction:column;gap:6px;width:160px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);flex-shrink:0}.thumb.svelte-1r7q0ep{position:relative;aspect-ratio:1.4 / 1;overflow:hidden;border-radius:var(--r-sm);background:var(--surface-2)}.thumb.svelte-1r7q0ep img:where(.svelte-1r7q0ep){width:100%;height:100%;object-fit:cover}.badge.svelte-1r7q0ep{position:absolute;top:4px;right:4px;font-size:var(--fs-xs);padding:2px 6px;border-radius:2px;letter-spacing:.06em}.badge[data-verdict=PASS].svelte-1r7q0ep{background:#2bd17e2e;color:var(--accent-safe)}.badge[data-verdict=FAIL].svelte-1r7q0ep{background:#e5484d2e;color:var(--accent-fail)}.meta.svelte-1r7q0ep{display:flex;justify-content:space-between;font-size:var(--fs-xs)}.summary.svelte-1r7q0ep{display:flex;flex-wrap:wrap;gap:3px;font-size:var(--fs-xs)}.chip.svelte-1r7q0ep{padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--c) 8%,transparent);border:1px solid var(--c);color:var(--c)}.bay.svelte-50by56{display:flex;flex-direction:column;height:100%;background:var(--bg);border-right:1px solid var(--line);min-width:0;position:relative}.bay.drop.svelte-50by56{outline:2px dashed var(--accent-data);outline-offset:-8px}header.svelte-50by56{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-sm)}.status-group.svelte-50by56{display:flex;align-items:center;gap:8px}.status.svelte-50by56{font-size:var(--fs-sm);letter-spacing:.14em}.led.svelte-50by56{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:blink-1hz 2s linear infinite}.led[data-state=scanning].svelte-50by56{background:var(--accent-data)}.led[data-state=warming].svelte-50by56{background:var(--accent-warn)}.led[data-state=result].svelte-50by56{background:var(--accent-safe);animation:none}.led[data-state=error].svelte-50by56{background:var(--accent-fail)}.controls.svelte-50by56{display:flex;gap:8px}.toggle.svelte-50by56{display:flex;align-items:center;gap:8px}.toggle.svelte-50by56 .dot:where(.svelte-50by56){width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background .16s ease}.toggle.svelte-50by56 .dot[data-on=true]:where(.svelte-50by56){background:var(--accent-safe)}.toggle.svelte-50by56:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.line-ctrl.svelte-50by56{display:flex;align-items:center;gap:7px;letter-spacing:.1em;border-color:var(--accent-safe);color:var(--accent-safe);transition:background .12s ease,border-color .12s ease,color .12s ease}.line-ctrl.svelte-50by56:hover{background:color-mix(in srgb,var(--accent-safe) 10%,transparent)}.line-ctrl.running.svelte-50by56{border-color:var(--accent-warn);color:var(--accent-warn)}.line-ctrl.running.svelte-50by56:hover{background:color-mix(in srgb,var(--accent-warn) 10%,transparent)}.line-dot.svelte-50by56{width:8px;height:8px;border-radius:50%;background:var(--accent-safe);transition:background .16s ease;box-shadow:0 0 0 0 var(--accent-safe)}.line-dot[data-active=true].svelte-50by56{background:var(--accent-warn);animation:svelte-50by56-pulse-warn 2s ease-in-out infinite}@keyframes svelte-50by56-pulse-warn{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent-warn) 60%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-warn) 0%,transparent)}}.stage.svelte-50by56{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.overlay-msg.svelte-50by56{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.awaiting.svelte-50by56{letter-spacing:.18em;color:var(--accent-data);animation:blink-1hz 2.4s ease-in-out infinite}.overlay-msg.error.svelte-50by56 .awaiting:where(.svelte-50by56){color:var(--accent-fail)}.overlay-msg.line-halted.svelte-50by56 .awaiting:where(.svelte-50by56){color:var(--accent-warn);animation:blink-1hz 1.6s ease-in-out infinite}.halt-bars.svelte-50by56{font-size:28px;color:var(--accent-warn);letter-spacing:4px;opacity:.85}.hint.svelte-50by56{font-size:var(--fs-md);max-width:360px}.ring.svelte-50by56{width:64px;height:64px;border:1.5px dashed var(--line);border-radius:50%}.progress.svelte-50by56{width:240px;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden;margin-top:8px}.progress.svelte-50by56 .bar:where(.svelte-50by56){height:100%;background:linear-gradient(90deg,var(--accent-warn),var(--accent-data));width:0;animation-name:svelte-50by56-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes svelte-50by56-fill{0%{width:0}to{width:100%}}.board-wrap.svelte-50by56{position:relative;max-width:90%;max-height:90%;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:var(--surface-2)}.board-wrap.svelte-50by56 img:where(.svelte-50by56){display:block;max-width:100%;max-height:70vh;object-fit:contain}.scanline.svelte-50by56{position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(180deg,transparent,rgba(62,166,255,.65),transparent);box-shadow:0 0 16px 4px #3ea6ff73;animation:scanline 1.2s ease-in-out forwards}.bbox.svelte-50by56{position:absolute;border:1.5px solid var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);pointer-events:none}.bbox-label.svelte-50by56{position:absolute;top:-22px;left:0;font-size:var(--fs-xs);padding:1px 5px;background:#0e1116d9;color:var(--c);border:1px solid var(--c);border-radius:2px;white-space:nowrap}.phases.svelte-50by56{display:flex;gap:6px;padding:8px 14px;border-top:1px solid var(--line);background:var(--surface)}.phases.svelte-50by56 .chip:where(.svelte-50by56){flex:1;display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:var(--fs-xs);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);opacity:.45;transition:opacity .2s ease,border-color .2s ease,color .2s ease}.phases.svelte-50by56 .chip.done:where(.svelte-50by56){opacity:1;border-color:var(--accent-data);color:var(--accent-data)}.phases.svelte-50by56 .label:where(.svelte-50by56){letter-spacing:.14em}.verdict.svelte-50by56{padding:10px 14px;text-align:center;letter-spacing:.18em;font-size:var(--fs-md);border-top:1px solid var(--line)}.verdict[data-verdict=PASS].svelte-50by56{color:var(--accent-safe);background:color-mix(in srgb,var(--accent-safe) 12%,transparent)}.verdict[data-verdict=FAIL].svelte-50by56{color:var(--accent-fail);background:color-mix(in srgb,var(--accent-fail) 12%,transparent)}.completed-rail.svelte-50by56{border-top:1px solid var(--line);background:var(--surface);padding:8px 14px;display:flex;align-items:center;gap:12px}.rail-label.svelte-50by56{font-size:var(--fs-xs);letter-spacing:.18em;flex-shrink:0}.completed-rail.svelte-50by56 .rail:where(.svelte-50by56){display:flex;gap:8px;overflow-x:auto;flex:1;min-width:0}.kpi.svelte-u1pf02{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.head.svelte-u1pf02{display:flex;justify-content:space-between;align-items:baseline}.label.svelte-u1pf02{font-size:var(--fs-xs);letter-spacing:.14em;color:var(--text-muted)}.window.svelte-u1pf02{font-size:var(--fs-2xs);letter-spacing:.08em}.value.svelte-u1pf02{display:flex;align-items:baseline;gap:6px}.num.svelte-u1pf02{font-size:var(--fs-kpi);font-weight:600}.unit.svelte-u1pf02{font-size:var(--fs-xs)}.spark.svelte-18qpfvr{width:100%;height:40px;display:block}.mix.svelte-1b6apr1{display:flex;flex-direction:column;gap:8px}.bar.svelte-1b6apr1{display:flex;height:10px;border-radius:4px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line)}.seg.svelte-1b6apr1{display:block}.seg.empty.svelte-1b6apr1{background:transparent}.legend.svelte-1b6apr1{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;font-size:var(--fs-xs)}.legend.svelte-1b6apr1 li:where(.svelte-1b6apr1){display:flex;align-items:center;gap:6px;min-width:0}.swatch.svelte-1b6apr1{width:8px;height:8px;border-radius:2px;flex-shrink:0}.name.svelte-1b6apr1{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count.svelte-1b6apr1{flex-shrink:0}.ind.svelte-4bc2tt{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);letter-spacing:.12em}.led.svelte-4bc2tt{width:8px;height:8px;border-radius:50%;animation:blink-1hz 2s linear infinite;flex-shrink:0}.label.svelte-4bc2tt{color:var(--text-muted);font-size:var(--fs-xs)}.state.svelte-4bc2tt{margin-left:auto}.ind[data-tone=safe].svelte-4bc2tt .led:where(.svelte-4bc2tt){background:var(--accent-safe);animation:none}.ind[data-tone=safe].svelte-4bc2tt .state:where(.svelte-4bc2tt){color:var(--accent-safe)}.ind[data-tone=warn].svelte-4bc2tt .led:where(.svelte-4bc2tt){background:var(--accent-warn)}.ind[data-tone=warn].svelte-4bc2tt .state:where(.svelte-4bc2tt){color:var(--accent-warn)}.ind[data-tone=muted].svelte-4bc2tt .led:where(.svelte-4bc2tt){background:var(--text-muted)}.ind[data-tone=muted].svelte-4bc2tt .state:where(.svelte-4bc2tt){color:var(--text-muted)}.log.svelte-1wjtlbg{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:6px 8px;overflow:hidden}.row.svelte-1wjtlbg{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;padding:2px 0;align-items:baseline;white-space:nowrap;overflow:hidden}.row.empty.svelte-1wjtlbg{display:block;text-align:center;padding:6px 0}.t.svelte-1wjtlbg{color:var(--text-muted)}.serial.svelte-1wjtlbg{overflow:hidden;text-overflow:ellipsis}.verdict.svelte-1wjtlbg{text-align:right}.row[data-verdict=PASS].svelte-1wjtlbg .verdict:where(.svelte-1wjtlbg){color:var(--accent-safe)}.row[data-verdict=FAIL].svelte-1wjtlbg .verdict:where(.svelte-1wjtlbg){color:var(--accent-fail)}.summary.svelte-1wjtlbg{overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.telemetry.svelte-dl5lzf{display:flex;flex-direction:column;gap:12px;height:100%;background:var(--surface);border-left:1px solid var(--line);padding:12px;overflow-y:auto;min-width:0}header.svelte-dl5lzf{display:flex;justify-content:space-between;align-items:center}.title.svelte-dl5lzf{font-size:var(--fs-sm);letter-spacing:.16em;color:var(--accent-data)}.kpi-grid.svelte-dl5lzf{display:grid;grid-template-columns:1fr 1fr;gap:8px}.panel.svelte-dl5lzf{display:flex;flex-direction:column;gap:6px}.panel-head.svelte-dl5lzf{display:flex;justify-content:space-between;font-size:var(--fs-xs);letter-spacing:.12em}.hmi.svelte-1uha8ag{display:grid;grid-template-columns:20% 60% 20%;height:100vh;min-height:600px}.region.svelte-1uha8ag{min-width:0;min-height:0}@media (max-width: 900px){.hmi.svelte-1uha8ag{grid-template-columns:1fr;grid-template-rows:220px minmax(360px,1fr) auto;height:auto;min-height:100vh}.telemetry-region.svelte-1uha8ag{max-height:none}}
