:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:"Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--border-width:1px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--gutter:16px;--header-h:52px;--control-h:34px;--control-h-sm:28px;--ws-gap:10px;--panel-pad:12px;--panel-head-h:38px;--card-pad-y:8px;--log-min-h:220px;--loop-label-fs:var(--fs-sm);--loop-value-fs:var(--fs-lg);--loop-value-h:24px;--ind-size:20px;--card-title-fs:var(--fs-md);--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.9375rem;--fs-lg:1.0625rem;--bg:#0b0d11;--bg-grad:radial-gradient(1200px 500px at 10% -10%, #be123014, transparent 60%);--surface-1:#161a22;--surface-2:#1f242e;--surface-3:#2a303b;--surface-inset:#0e1116;--border:#ffffff17;--border-strong:#ffffff30;--text:#e9ebf0;--text-muted:#a7aebb;--text-subtle:#9aa2b0;--text-on-brand:#fff;--brand:#e11d48;--brand-hover:#f43f5e;--brand-soft:#e11d4824;--info:#38bdf8;--info-soft:#38bdf81f;--success:#22c55e;--success-soft:#22c55e1f;--warning:#f59e0b;--warning-soft:#f59e0b21;--danger:#f87171;--danger-soft:#f871711f;--focus:#7cc4ff;--shadow-1:0 1px 2px #0006;--shadow-2:0 10px 30px #00000073;--overlay:#0009;--wordmark:#e9ebf0;--ind-blue:#3b82f6;--ind-red:#ef4444;--ind-ring:#fff6;--ind-glyph:#fff;--panel-border:#ffffff57;--card-border:#ffffff47;--term-bg:#0a0d11;--term-border:#ffffff12;--term-fg:#d8dee8;--term-muted:#8a94a4;--term-tx:#facc15;--term-rx:#4ade80;--term-err:#f87171;--term-warn:#fb923c;--term-state:#c4b5fd;--term-drop:#fdba74;--term-info:#7dd3fc;--term-blue:#60a5fa;--term-success:#4ade80;--term-group-bg:#7dd3fc12}@media (width>=1200px) and (height<=1020px){:root{--header-h:44px;--control-h:28px;--control-h-sm:24px;--ws-gap:6px;--panel-pad:8px;--panel-head-h:30px;--card-pad-y:5px;--log-min-h:122px;--loop-label-fs:.75rem;--loop-value-fs:var(--fs-md);--loop-value-h:20px;--ind-size:18px;--card-title-fs:var(--fs-sm)}}@media (width<=767px){:root{--control-h:38px;--control-h-sm:32px;--header-h:56px}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9ecf1;--bg-grad:radial-gradient(1200px 500px at 10% -10%, #be12300f, transparent 60%);--surface-1:#fff;--surface-2:#f2f4f7;--surface-3:#e5e8ed;--surface-inset:#fff;--border:#d9dde5;--border-strong:#c7ccd5;--text:#14171c;--text-muted:#4d5562;--text-subtle:#646c79;--brand:#b80f2e;--brand-hover:#9f1239;--brand-soft:#b80f2e17;--info:#0369a1;--info-soft:#0369a114;--success:#15803d;--success-soft:#15803d17;--warning:#b45309;--warning-soft:#b453091a;--danger:#b91c1c;--danger-soft:#b91c1c14;--focus:#1d4ed8;--shadow-1:0 1px 2px #1018280f;--shadow-2:0 12px 32px #10182829;--overlay:#0f121873;--wordmark:#14171c;--ind-blue:#2563eb;--ind-red:#dc2626;--ind-ring:#14171c73;--panel-border:#8b94a4;--card-border:#a7afbd}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=blue]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#bcd8e3;--bg-grad:linear-gradient(180deg, #c7e0ea 0%, #b4d1dd 100%);--surface-1:#eef5f9;--surface-2:#dcebf2;--surface-3:#c8dee8;--surface-inset:#fff;--border:#a8c9d7;--border-strong:#7ea8ba;--text:#0d2430;--text-muted:#34505d;--text-subtle:#4a6573;--text-on-brand:#fff;--brand:#a3102b;--brand-hover:#870d23;--brand-soft:#a3102b1a;--info:#035e8c;--info-soft:#035e8c1a;--success:#146c34;--success-soft:#146c341c;--warning:#8f4507;--warning-soft:#b453091f;--danger:#b0151b;--danger-soft:#b0151b17;--focus:#1d4ed8;--shadow-1:0 1px 2px #0d24301f;--shadow-2:0 12px 32px #0d243033;--overlay:#0d243073;--wordmark:#0d2430;--ind-blue:#1d4ed8;--ind-red:#d01f26;--ind-ring:#0d243080;--panel-border:#5f8fa6;--card-border:#7ea8ba}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg-grad), var(--bg);min-width:320px;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;line-height:1.45}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--brand);color:var(--text-on-brand);font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.panel{background:var(--surface-1);border:2px solid var(--panel-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-1);flex-direction:column;display:flex}.panel__header{align-items:center;gap:var(--space-2) var(--space-3);min-height:var(--panel-head-h);padding:4px var(--panel-pad);border-bottom:var(--border-width) solid var(--panel-border);flex-wrap:wrap;display:flex}.panel__title{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--text);flex:none;align-items:center;gap:7px;font-size:.875rem;font-weight:700;display:flex}.panel__title svg{color:var(--brand);flex:none}.panel__hint{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--fs-sm);color:var(--text-muted);flex:1 1 0;font-weight:500;overflow:hidden}.panel__actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.panel__body{padding:var(--panel-pad);gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.panel--strip{flex-flow:wrap;align-items:center}.panel--strip .panel__header{border-bottom:0;padding-right:0}.panel--strip .panel__body{padding:6px var(--panel-pad);flex-flow:wrap;flex:260px;align-items:center}.btn{--btn-bg:var(--surface-3);--btn-fg:var(--text);--btn-border:var(--border-strong);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);border:var(--border-width) solid var(--btn-border);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;font-weight:600;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover:not([aria-disabled=true]){border-color:var(--text-subtle)}.btn:active:not([aria-disabled=true]){transform:translateY(1px)}.btn--primary{--btn-bg:var(--brand);--btn-fg:var(--text-on-brand);--btn-border:var(--brand)}.btn--primary:hover:not([aria-disabled=true]){--btn-bg:var(--brand-hover);border-color:var(--brand-hover)}.btn--danger{--btn-bg:transparent;--btn-fg:var(--danger);--btn-border:var(--danger)}.btn--ghost{--btn-bg:transparent;--btn-border:transparent}.btn--ghost:hover:not([aria-disabled=true]){--btn-bg:var(--surface-3)}.btn--sm{min-height:var(--control-h-sm);font-size:var(--fs-xs);padding:0 10px}.btn--icon{width:var(--control-h);flex:none;padding:0}.btn--sm.btn--icon{width:var(--control-h-sm)}.btn--block{width:100%}.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn .spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tip{max-width:100%;display:inline-flex;position:relative}.tip--block{display:flex}.tip__bubble{z-index:40;transform:translateX(calc(-50% + var(--tip-shift,0px)));width:max-content;max-width:min(280px,80vw);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:var(--border-width) solid var(--border-strong);background:var(--surface-3);color:var(--text);font-size:var(--fs-xs);white-space:normal;text-align:left;box-shadow:var(--shadow-2);pointer-events:none;opacity:0;visibility:hidden;font-weight:500;line-height:1.4;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%}.tip--below .tip__bubble{top:calc(100% + 8px);bottom:auto}.tip--error .tip__bubble{border-color:var(--danger);background:var(--surface-1);color:var(--danger);font-size:var(--fs-sm);max-width:min(320px,80vw);font-weight:600}.tip:hover .tip__bubble{opacity:1;visibility:visible}.tip:has(:focus-visible) .tip__bubble{opacity:1;visibility:visible}.field{flex-direction:column;gap:3px;min-width:0;display:flex}.field__label{min-width:0;color:var(--text-muted);letter-spacing:.02em;align-items:center;gap:5px;font-size:.6875rem;font-weight:600;line-height:1.25;display:flex}.field__label-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.field--inline{grid-template-columns:var(--inline-label-w,88px) minmax(0, 1fr);align-items:center;column-gap:var(--space-2);row-gap:2px;display:grid}.field--inline .field__label{font-size:var(--fs-xs)}.field--inline .field__error{grid-column:2}.field__changed{color:var(--info);flex:none;align-items:center;font-size:.6875rem;font-weight:700;display:inline-flex}.field__error{color:var(--danger);align-items:center;gap:4px;font-size:.6875rem;font-weight:600;line-height:1.25;display:flex}.input,.select{width:100%;min-height:var(--control-h);height:var(--control-h);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-inset);color:var(--text);font-size:var(--fs-sm);padding:0 10px}.input:disabled,.select:disabled{opacity:.55;cursor:not-allowed}.input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.input--changed:not([aria-invalid=true]){border-color:var(--info)}.input-group{align-items:stretch;min-width:0;display:flex}.input-group .input{font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-top-right-radius:0;border-bottom-right-radius:0}.input-group__unit{border:var(--border-width) solid var(--border-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface-3);color:var(--text-muted);font-size:var(--fs-xs);border-left:0;align-items:center;padding:0 8px;font-weight:600;display:flex}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.range{width:100%;accent-color:var(--brand)}.switch{align-items:center;gap:var(--space-2);cursor:pointer;min-height:26px;font-size:var(--fs-sm);font-weight:500;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch__track{border:var(--border-width) solid var(--border-strong);background:var(--surface-3);border-radius:999px;flex:none;width:32px;height:18px;transition:background .15s;position:relative}.switch__track:after{content:"";background:var(--text-muted);border-radius:50%;width:12px;height:12px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.switch input:checked+.switch__track{background:var(--brand);border-color:var(--brand)}.switch input:checked+.switch__track:after{background:var(--text-on-brand);transform:translate(14px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--focus);outline-offset:2px}.switch--disabled{cursor:not-allowed;opacity:.55}.switch__state{font-size:var(--fs-xs);color:var(--text-subtle);margin-left:auto;font-weight:700}.segmented{border-radius:var(--radius-md);border:var(--border-width) solid var(--border);background:var(--surface-inset);gap:3px;padding:3px;display:flex}.segmented>*{flex:1 1 0;min-width:0}.segmented>:first-child{flex:none}.segmented__item{width:100%;min-width:0;min-height:calc(var(--control-h) - 6px);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;text-align:center;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:flex;position:relative}.segmented__item--unknown{min-width:40px;padding:0 12px}.segmented__num{background:var(--surface-3);width:16px;height:16px;color:var(--text-subtle);border-radius:4px;flex:none;place-items:center;font-size:.625rem;font-weight:700;display:inline-grid}.segmented__item[aria-checked=true] .segmented__num{background:var(--brand);color:var(--text-on-brand)}.segmented__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.segmented__item:hover:not([aria-disabled=true]):not([aria-checked=true]){background:var(--surface-3);color:var(--text)}.segmented__item[aria-checked=true]{background:var(--brand-soft);border-color:var(--brand);color:var(--text)}.segmented__item[aria-disabled=true]:not([aria-checked=true]){opacity:.45;cursor:not-allowed}.pill{border:var(--border-width) solid var(--border-strong);background:var(--surface-2);min-height:22px;color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-weight:700;display:inline-flex}.pill--success{color:var(--success);border-color:var(--success);background:var(--success-soft)}.pill--warning{color:var(--warning);border-color:var(--warning);background:var(--warning-soft)}.pill--danger{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.pill--info{color:var(--info);border-color:var(--info);background:var(--info-soft)}.pill--brand{color:var(--text);border-color:var(--brand);background:var(--brand-soft)}.chip{border-radius:var(--radius-sm);border:var(--border-width) solid var(--border-strong);min-height:22px;color:var(--text-muted);letter-spacing:.05em;white-space:nowrap;align-items:center;padding:0 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.note{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:var(--border-width) solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);align-items:flex-start;display:flex}.note svg{flex:none;margin-top:1px}.note--compact{padding:3px var(--space-2);align-items:center;font-size:.6875rem}.note--compact>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.note--warning{border-color:var(--warning);background:var(--warning-soft);color:var(--text)}.note--warning svg{color:var(--warning)}.note--danger{border-color:var(--danger);background:var(--danger-soft);color:var(--text)}.note--danger svg{color:var(--danger)}.note--info svg{color:var(--info)}.empty{justify-content:center;align-items:center;gap:var(--space-2);min-height:90px;padding:var(--space-4);border:var(--border-width) dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-subtle);font-size:var(--fs-sm);text-align:center;flex-direction:column;display:flex}.dialog{width:min(640px, calc(100vw - 2 * var(--gutter)));max-height:calc(100dvh - 2 * var(--gutter));border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-1);color:var(--text);box-shadow:var(--shadow-2);padding:0}.dialog--wide{width:min(980px, calc(100vw - 2 * var(--gutter)))}.dialog::backdrop{background:var(--overlay)}.dialog__inner{max-height:calc(100dvh - 2 * var(--gutter));flex-direction:column;display:flex}.dialog__header{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5);border-bottom:var(--border-width) solid var(--border);display:flex}.dialog__title{font-size:var(--fs-lg);font-weight:700}.dialog__body{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow:auto}.dialog__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:var(--border-width) solid var(--border);flex-wrap:wrap;display:flex}.toaster{z-index:60;right:var(--gutter);top:calc(var(--header-h) + var(--space-2));gap:var(--space-2);width:min(380px, calc(100vw - 2 * var(--gutter)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-strong);background:var(--surface-2);box-shadow:var(--shadow-2);font-size:var(--fs-sm);pointer-events:auto;border-left-width:4px;align-items:flex-start;animation:.18s ease-out toast-in;display:flex}.toast__icon{flex:none;margin-top:1px}.toast__body{flex:1;min-width:0}.toast__sev{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:700;display:block}.toast--success{border-left-color:var(--success)}.toast--success .toast__icon,.toast__detail{color:var(--text-muted);font-size:var(--fs-sm);margin-top:2px;display:block}.syslog-row__detail{color:var(--text-muted)}.toast--success .toast__sev{color:var(--success)}.toast--info{border-left-color:var(--info)}.toast--info .toast__icon,.toast--info .toast__sev{color:var(--info)}.toast--warning{border-left-color:var(--warning)}.toast--warning .toast__icon,.toast--warning .toast__sev{color:var(--warning)}.toast--error{border-left-color:var(--danger)}.toast--error .toast__icon,.toast--error .toast__sev{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.help-icon{color:var(--text-subtle);cursor:help;border-radius:50%;display:inline-flex}.app{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}.app-header{z-index:30;align-items:center;gap:var(--space-3);height:var(--header-h);padding:0 var(--gutter);border-bottom:var(--border-width) solid var(--border);background:color-mix(in srgb, var(--surface-1) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:none;display:flex;position:sticky;top:0}.brand{min-width:0;color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.brand__eagle{object-fit:contain;flex:none;width:30px;height:30px}.brand__text{flex-direction:column;gap:2px;min-width:0;display:flex}.brand__wordmark{background:var(--wordmark);width:80px;height:12px;display:block;-webkit-mask-position:0;mask-position:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.brand__title{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.brand__family{color:var(--brand);border-color:var(--brand)}.app-header__controls{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.header-clock{margin-right:var(--space-3);color:var(--text);font-size:var(--fs-md);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.header-control{height:var(--control-h-sm);padding:0 var(--space-2);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.header-control__select{color:var(--text);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:2px 0;font-weight:600}.header-control__select option{background:var(--surface-2);color:var(--text)}.header-control--lang{padding:0 3px 0 var(--space-2)}.lang-btn{min-width:30px;height:calc(var(--control-h-sm) - 6px);border:var(--border-width) solid transparent;color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:4px;font-weight:700}.lang-btn[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand);color:var(--text)}.header-manual{text-decoration:none}.dashboard{width:100%;max-width:1760px;padding:var(--ws-gap) var(--gutter);gap:var(--ws-gap);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}.dashboard>*{grid-column:1/-1}@media (width>=768px){.dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.area-commands,.area-answer{grid-column:auto}}@media (width>=900px){.area-syslog,.area-techlog{grid-column:auto}}@media (width>=1200px){.dashboard{--gutter:12px;min-height:calc(100dvh - var(--header-h));grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto auto minmax(var(--log-min-h), 1fr)}.area-connection{grid-column:1/8}.area-mode{grid-column:8/13}.area-loops,.area-config{grid-column:1/-1}.area-commands{grid-column:1/8}.area-answer{grid-column:8/13}.area-syslog{grid-column:1/7}.area-techlog{grid-column:7/13}}@media (width<=767px){.dashboard{padding-bottom:84px}}.conn-row{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.conn-row__port{flex:180px;min-width:150px}.conn-row__baud{flex:0 0 100px}.conn-row__parity,.conn-row__addr{flex:0 0 92px}.conn-row__actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.port-row{gap:6px;display:flex}.port-row .select{flex:1;min-width:0}.add-device-btn{white-space:nowrap;flex:none}@media (width<=640px){.conn-row__port{flex-basis:100%}.conn-row__baud,.conn-row__parity,.conn-row__addr{flex:1 1 0}.conn-row__actions{flex:100%;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.conn-row__actions .btn{width:100%}}@media (width<=420px){.conn-row__actions .btn svg{display:none}}.mode-row{align-items:stretch;gap:var(--space-2);display:flex}.mode-row>.segmented{flex:auto;min-width:0}.mode-helper{white-space:nowrap;text-overflow:ellipsis;font-size:var(--fs-xs);color:var(--text-subtle);line-height:1.35;overflow:hidden}.mode-helper--warning{color:var(--warning);font-weight:600}@media (width<=480px){.mode-row{flex-wrap:wrap}.mode-row>.segmented{flex-wrap:wrap;flex-basis:100%}.segmented>*,.segmented>:first-child{flex:40%}.mode-helper{white-space:normal}}.loop-grid,.config-grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.config-grid{border:0;min-width:0;margin:0;padding:0}@media (width<=1199px){.loop-grid,.config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.loop-grid,.config-grid{grid-template-columns:1fr}}.loop-card,.channel-card{min-width:0;padding:var(--card-pad-y) 10px;border-radius:var(--radius-md);border:2px solid var(--card-border);background:var(--surface-2);flex-direction:column;gap:5px;display:flex}.loop-card__header,.channel-card__header{align-items:center;gap:var(--space-2);min-height:22px;display:flex}.loop-card__header h3,.channel-card__header h3{font-size:var(--card-title-fs);font-weight:700}.loop-card__index{background:var(--brand-soft);border:var(--border-width) solid var(--brand);width:22px;height:22px;color:var(--text);font-size:var(--fs-xs);border-radius:5px;flex:none;place-items:center;font-weight:700;display:inline-grid}.metrics{grid-template-columns:minmax(max-content,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:6px 10px;margin:0;display:grid}.metric{flex-direction:column;gap:1px;min-width:0;display:flex}.metric dt{white-space:nowrap;text-overflow:ellipsis;font-size:var(--loop-label-fs);color:var(--text-muted);cursor:help;font-weight:600;line-height:1.25;overflow:hidden}.metric dd{min-height:var(--loop-value-h);white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--loop-value-fs);color:var(--text);align-items:center;margin:0;font-weight:700;line-height:1.3;display:flex;overflow:hidden}.metric--ind dd{overflow:visible}.loop-card--idle .metric dd{color:var(--text-subtle);font-weight:500}.lamp{cursor:help;align-items:center;gap:7px;max-width:100%;display:inline-flex}.lamp__text{text-overflow:ellipsis;font-family:var(--font-sans);font-size:var(--loop-value-fs);color:var(--text);font-weight:600;overflow:hidden}@media (width>=1200px) and (width<=1499px){.lamp__text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.lamp--none .lamp__text,.lamp--normal .lamp__text{color:var(--text-muted)}.lamp--error .lamp__text{color:var(--danger)}.ind{width:var(--ind-size);height:var(--ind-size);color:var(--ind-glyph);border:2px solid #0000;border-radius:50%;flex:none;place-items:center;display:inline-grid}.ind--status-normal{border-color:var(--text-subtle)}.ind--status-error,.ind--channel-red{background:var(--ind-red);box-shadow:0 0 0 1px var(--ind-ring)}.ind--channel-blue{background:var(--ind-blue);box-shadow:0 0 0 1px var(--ind-ring)}.ind--status-none,.ind--channel-none{border:2px dashed var(--text-subtle);color:var(--text-subtle)}.channel-card--dirty{border-color:var(--info)}.channel-card--invalid{border-color:var(--danger)}.channel-card__badge{margin-left:auto}.channel-card__badge+.channel-card__badge{margin-left:0}.channel-card__header h3{flex:none}.channel-form{--inline-label-w:72px;flex-direction:column;gap:4px;display:flex}.tol-control{align-items:center;gap:var(--space-2);min-width:0;display:flex}.tol-control .range{flex:auto;min-width:40px}.tol-control .input-group{flex:0 0 64px}.channel-switches{min-height:var(--control-h);padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--surface-inset);border:var(--border-width) solid var(--border);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:0 10px;display:flex}.channel-switches .switch{font-size:var(--fs-xs);white-space:nowrap;font-weight:600}.channel-pair{gap:4px var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.channel-pair .field{gap:2px}.cmd-row{gap:var(--space-2);flex:360px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.cmd-restore{padding:3px 4px 3px var(--space-2);flex:100%;align-items:center}.cmd-restore__text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}@media (width<=480px){.cmd-row{grid-template-columns:1fr}}.radio-cards{gap:var(--space-2);flex:auto;min-width:0;display:flex}.radio-cards>*{flex:1 1 0;min-width:0}.radio-card{align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:var(--control-h);border-radius:var(--radius-sm);border:var(--border-width) solid var(--border-strong);background:var(--surface-2);cursor:pointer;font-size:var(--fs-sm);white-space:nowrap;padding:0 10px;font-weight:600;display:flex;position:relative}.radio-card__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.radio-card input{accent-color:var(--brand);flex:none;width:15px;height:15px;margin:0}.radio-card--checked{border-color:var(--brand);background:var(--brand-soft)}.radio-card--disabled{cursor:not-allowed;opacity:.55}.radio-card__value{background:var(--surface-3);border-radius:4px;flex:none;place-items:center;width:18px;height:18px;font-size:.6875rem;display:inline-grid}.answer-info{padding:2px}@media (width<=400px){.radio-cards{flex-direction:column}}.diff-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diff-grid .diff-table th,.diff-grid .diff-table td{padding:3px var(--space-2)}.diff-grid .diff-group__title{margin-bottom:4px}.diff-grid>.diff-group--full{grid-column:1/-1}@media (width<=720px){.diff-grid{grid-template-columns:minmax(0,1fr)}}.diff-group__title{font-size:var(--fs-sm);margin-bottom:var(--space-2);font-weight:700}.diff-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--fs-sm)}.diff-table th:first-child{width:32%}.diff-table th:nth-child(3){width:2em}.diff-table th,.diff-table td{padding:6px var(--space-2);border-bottom:var(--border-width) solid var(--border);text-align:left;vertical-align:top}.diff-table thead th{font-size:var(--fs-xs);color:var(--text-subtle);font-weight:600}.diff-table tbody th{color:var(--text-muted);font-weight:600}.diff-table__before{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--text-subtle);text-decoration-color:var(--text-subtle)}.diff-table__after{color:var(--text);font-weight:700}.diff-table__arrow{color:var(--text-subtle);width:1em}.log-panel .panel__body{flex:auto;min-height:0;padding:0}.log{height:300px;padding:var(--space-2) var(--space-3);background:var(--term-bg);color:var(--term-fg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:0 0 var(--radius-lg) var(--radius-lg);font-family:var(--font-mono);font-size:var(--fs-xs);position:relative;overflow:auto}@media (width>=1200px){.log-panel{min-height:0}.log{contain:size;flex:1 1 0;height:auto;min-height:0}}.log__empty{color:var(--term-muted)}.log__empty:before{content:"> "}.log-count{font-size:var(--fs-xs);white-space:nowrap}.log-toggle{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-weight:600;display:inline-flex}.log-toggle input{accent-color:var(--brand)}.syslog-row{gap:var(--space-2);border-bottom:1px solid var(--term-border);font-size:var(--fs-xs);grid-template-columns:auto auto 1fr;align-items:start;padding:3px 0;line-height:1.5;display:grid}.syslog-row__time{color:var(--term-muted)}.syslog-row__icon{margin-top:2px}.syslog-row--info .syslog-row__icon{color:var(--term-info)}.syslog-row--success .syslog-row__icon{color:var(--term-success)}.syslog-row--warning .syslog-row__icon,.syslog-row--warning .syslog-row__text{color:var(--term-warn)}.syslog-row--error .syslog-row__icon,.syslog-row--error .syslog-row__text{color:var(--term-err)}.syslog-row--error .syslog-row__text{font-weight:700}.tech-row{border-bottom:1px dashed var(--term-border);padding:2px 0;line-height:1.45}.tech-row__head{gap:0 var(--space-2);flex-wrap:wrap;display:flex}.tech-row__meta{color:var(--term-muted);white-space:nowrap}.tech-row__msg{color:var(--term-fg);opacity:.85}.tech-row__hex{color:var(--term-fg);overflow-wrap:anywhere;padding-left:var(--space-3)}.tech-kind--info{color:var(--term-blue);font-weight:700}.tech-row--tx .tech-row__meta{color:var(--term-tx)}.tech-row--rx .tech-row__meta{color:var(--term-rx)}.tech-row--err .tech-row__meta,.tech-row--err .tech-row__msg{color:var(--term-err);opacity:1}.tech-row--warn .tech-row__meta,.tech-row--warn .tech-row__msg{color:var(--term-warn);opacity:1}.tech-row--state .tech-row__meta,.tech-row--state .tech-row__msg{color:var(--term-state);opacity:1}.tech-row--drop .tech-row__meta,.tech-row--retry .tech-row__meta{color:var(--term-drop)}.tech-group{border-bottom:1px dashed var(--term-border)}.tech-group__head{align-items:center;gap:0 var(--space-2);border:1px solid var(--term-border);background:var(--term-group-bg);width:100%;color:var(--term-rx);font:inherit;text-align:left;cursor:pointer;border-radius:4px;flex-wrap:wrap;margin:2px 0;padding:2px 6px;display:flex}.tech-group__head:hover{border-color:var(--term-muted)}.tech-group__chev{flex:none;transition:transform .12s}.tech-group--open .tech-group__chev{transform:rotate(90deg)}.tech-group__title{font-weight:700}.tech-group__meta{color:var(--term-muted);white-space:nowrap}.tech-group__body{padding-left:var(--space-2);border-left:2px solid var(--term-border);margin-left:6px}.tech-group__body .tech-row:last-child{border-bottom:0}.mobile-actions{display:none}@media (width<=767px){.mobile-actions{z-index:35;gap:var(--space-2);padding:var(--space-2) var(--gutter) calc(var(--space-2) + env(safe-area-inset-bottom));border-top:var(--border-width) solid var(--border-strong);background:var(--surface-1);box-shadow:var(--shadow-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.header-clock,.brand__family,.header-manual__text{display:none}}@media (width<=520px){.brand__wordmark{display:none}.header-control__select{max-width:78px}}@media (width<=430px){.brand__text{display:none}}.manual{width:100%;max-width:980px;padding:var(--space-6) var(--gutter);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.manual__hero{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.manual__hero h1{align-items:center;gap:var(--space-2);margin:var(--space-2) 0 4px;font-size:1.75rem;display:flex}.manual__back{margin-left:auto;text-decoration:none}.manual__intro{color:var(--text-muted);max-width:70ch}.manual__steps{padding:var(--space-4);gap:var(--space-3);flex-direction:column;margin:0;list-style:none;display:flex}.manual__steps li{gap:var(--space-3);align-items:flex-start;display:flex}.manual__step-no{background:var(--brand);width:26px;height:26px;color:var(--text-on-brand);font-size:var(--fs-xs);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.manual__h2{font-size:var(--fs-lg);margin-bottom:var(--space-3)}.manual__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.manual__card{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:var(--border-width) dashed var(--border-strong);background:var(--surface-1);flex-direction:column;display:flex}.manual__card svg{color:var(--brand)}.manual__card h3{font-size:var(--fs-md)}.manual__footer{justify-content:center;gap:var(--space-2) var(--space-5);padding-top:var(--space-3);border-top:var(--border-width) solid var(--border);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}
