:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0f17;--surface:#1a1a28;--card:#1e1e2e;--rim:#2a2a3e;--accent:#7c3aed;--cyan:#06b6d4;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--field-bg:#131726;--field-bg-focus:#171b2d;--field-text:#eef2ff;--field-placeholder:#7c879c;--text:#e2e8f0;--muted:#94a3b8;--dim:#4a5568;--lcd-bg:#07150a;--lcd-frame:#040e06;--font-ui:"Segoe UI", "Liberation Sans", sans-serif;--font-mono:"Consolas", "DejaVu Sans Mono", monospace}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui)}button,input,select,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#root{width:min(1120px,100%);margin:0 auto}.app-shell{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1rem 0;font-size:.94rem;display:flex;position:relative}.animated-grid{z-index:-1;background-color:#0d0e14;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:48px 48px;animation:20s linear infinite grid-pan;position:fixed;inset:0;overflow:hidden}.animated-grid:before{content:"";background:radial-gradient(ellipse 55% 45% at 50% 50%, color-mix(in srgb, var(--accent,#8b5cf6) 18%, transparent) 0%, transparent 70%);animation:12s ease-in-out infinite alternate glow-drift;position:absolute;inset:-20%}.animated-grid:after{content:"";background:radial-gradient(100% 100%,#0000 40%,#0d0e14 100%);position:absolute;inset:0}@keyframes grid-pan{0%{background-position:0 0,0 0}to{background-position:48px 48px,48px 48px}}@keyframes glow-drift{0%{opacity:.7;transform:translate(-8%,-6%)scale(1)}50%{opacity:1;transform:translate(5%,8%)scale(1.08)}to{opacity:.8;transform:translate(8%,-4%)scale(.96)}}.topbar,.statusbar{background:var(--surface);padding:.78rem .95rem}.topbar,.connection-row,.brand-row,.action-row,.statusbar{align-items:center;gap:.9rem;display:flex}.topbar{border-bottom:1px solid var(--rim);flex-wrap:wrap;justify-content:space-between}.statusbar{border-top:1px solid var(--rim)}.brand-title{font-weight:700}.brand-by{color:var(--accent);font-style:italic}.primary-button,.secondary-button,.good-button,.danger-button,.tab-button{border:1px solid var(--rim);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding:.35rem .72rem;display:inline-flex}.primary-button{background:var(--accent);color:#fff}.secondary-button{background:var(--surface);color:var(--text)}.tab-button.active{background:var(--card);border-color:var(--accent)}.status-pill{border-radius:999px;width:10px;height:10px;display:inline-block}.status-pill-red{background:var(--red)}.status-pill-amber{background:var(--amber)}.status-pill-green{background:var(--green)}.connection-label{color:var(--dim)}.connection-label-red{color:var(--red)}.connection-label-amber{color:var(--amber)}.connection-label-green{color:var(--green)}.warning-banner{border:1px solid color-mix(in srgb, var(--amber) 50%, var(--rim));background:color-mix(in srgb, var(--amber) 10%, var(--surface));color:var(--text);border-radius:10px;margin:.7rem .85rem 0;padding:.68rem .8rem}.workspace-shell{border:1px solid var(--rim);background:var(--surface);border-radius:18px;width:min(1100px,100% - 1.7rem);margin:0;overflow:hidden}.lcd-wrap{border:1px solid color-mix(in srgb, #2d4d2d 70%, var(--rim));background:linear-gradient(#041309f5 0%,#041008fa 100%);border-radius:16px;flex-direction:column;width:100%;min-height:220px;padding:.7rem .7rem .9rem;display:flex;box-shadow:inset 0 1px #84ba6e14,0 18px 40px #0208044d}.lcd-heading{color:color-mix(in srgb, #8daa8a 75%, var(--muted));margin:0 0 .65rem;font-size:.82rem}.lcd-canvas{background:var(--lcd-frame);border-radius:12px;width:100%;max-width:100%;height:auto;display:block}.display-row{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, #041707) 0%, color-mix(in srgb, var(--surface) 100%, #06180a) 100%);grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;gap:.85rem;padding:1rem 1rem .9rem;display:grid}.tile-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-self:stretch;gap:.58rem;width:100%;display:grid}.tile{border:1px solid color-mix(in srgb, var(--rim) 82%, #364159);background:linear-gradient(#242437 0%,#26263b 100%);border-radius:10px;flex-direction:column;justify-content:space-between;gap:.45rem;min-height:0;padding:.78rem .65rem .56rem;display:flex;box-shadow:inset 0 1px #ffffff08}.tile-label{color:#a2afc6;font-size:.78rem;display:block}.tile-reading{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.tile-value{letter-spacing:-.04em;font-size:1.9rem;font-weight:700;line-height:1;display:block}.tile-unit{color:#667189;font-size:.72rem}.tile-meter{background:#ffffff0a;border-radius:999px;height:9px;display:block;overflow:hidden}.tile-meter:after{content:"";height:100%;width:var(--tile-meter-fill,0%);border-radius:inherit;transition:width .18s;display:block}.tile-meter-red:after{background:linear-gradient(90deg,#ef4444 0%,#f87171 100%)}.tile-meter-amber:after{background:linear-gradient(90deg,#f59e0b 0%,#fbbf24 100%)}.tile-meter-muted:after{background:linear-gradient(90deg,#64748b 0%,#94a3b8 100%)}.tile-meter-cyan:after{background:linear-gradient(90deg,#06b6d4 0%,#22d3ee 100%)}.tile-meter-accent:after{background:linear-gradient(90deg,#7c3aed 0%,#8b5cf6 100%)}.tile-value-red{color:var(--red)}.tile-value-amber{color:var(--amber)}.tile-value-muted{color:var(--muted)}.tile-value-cyan{color:var(--cyan)}.tile-value-accent{color:var(--accent)}.tab-shell{border-top:1px solid var(--rim);background:0 0}.tab-panels{flex:1;padding:.55rem .95rem .95rem}.tab-panel{min-height:1px}.tabbar{background:0 0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:.6rem;padding:.85rem .95rem 0;display:grid}.tab-button{border-radius:10px 10px 0 0;justify-content:center;align-items:center;gap:.52rem;width:100%;min-height:38px;display:inline-flex}.tab-button svg{flex:none;display:block}.tab-button.active{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-color:var(--accent);z-index:1;position:relative}.tab-panel.active{background:0 0;padding:.5rem 0}.feature-stack{flex-direction:column;gap:1.05rem;display:flex}.card{border:1px solid var(--rim);background:var(--surface);border-radius:12px;padding:1.12rem}.control-card,.pid-card{flex-direction:column;gap:.625rem;display:flex}.control-field{flex-direction:column;gap:.55rem;display:flex}.control-field+.control-field{border-top:1px solid var(--rim);padding-top:.85rem}.pid-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid;overflow:hidden}.control-row,.subrow,.dialog-actions{flex-wrap:wrap;align-items:center;gap:.88rem;display:flex}.control-label,.subrow-label{min-width:120px;font-weight:600}.control-slider-row{grid-template-columns:120px minmax(0,320px);align-items:center;gap:.82rem;display:grid}.control-slider-spacer{width:120px}.value-entry,.dialog-field select,.dialog-field input,.table-entry,.mono-entry{border:1px solid var(--rim);background:var(--field-bg);color:var(--field-text);caret-color:var(--accent);border-radius:8px;box-shadow:inset 0 1px #ffffff08}.value-entry::placeholder,.dialog-field select::placeholder,.dialog-field input::placeholder,.table-entry::placeholder,.mono-entry::placeholder{color:var(--field-placeholder)}.value-entry:focus-visible,.dialog-field select:focus-visible,.dialog-field input:focus-visible,.table-entry:focus-visible,.mono-entry:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px;border-color:color-mix(in srgb, var(--accent) 70%, var(--rim));background:var(--field-bg-focus)}.range-entry{appearance:none;background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 55%, var(--cyan)) 0%, var(--rim) 100%);width:100%;height:.45rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rim) 80%, transparent);border-radius:999px}.range-entry::-webkit-slider-thumb{appearance:none;border:2px solid color-mix(in srgb, white 35%, var(--accent));background:var(--accent);cursor:pointer;border-radius:999px;width:.95rem;height:.95rem;box-shadow:0 0 0 3px #7c3aed2e}.range-entry::-moz-range-thumb{border:2px solid color-mix(in srgb, white 35%, var(--accent));background:var(--accent);cursor:pointer;border-radius:999px;width:.95rem;height:.95rem;box-shadow:0 0 0 3px #7c3aed2e}.range-entry::-moz-range-track{background:0 0;border-radius:999px;height:.45rem}.range-entry:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:3px}.dialog-field option{background:var(--field-bg);color:var(--field-text)}.value-entry{font:inherit;padding:.5rem .62rem}.bold-entry{font-weight:600}.large-entry{min-width:140px}.pid-field{align-content:start;gap:.68rem;min-width:0;padding:.95rem 1rem;display:grid}.pid-field:nth-child(odd){border-right:1px solid var(--rim)}.pid-field:nth-child(-n+2){border-bottom:1px solid var(--rim)}.pid-field .control-label{min-width:0}.pid-input-row{flex-wrap:wrap;align-items:center;gap:.62rem;display:flex}.pid-entry{width:112px;min-width:112px}.compact-button{padding-inline:.7rem}.preset-button-row{flex-wrap:wrap;gap:.78rem;display:flex}.tab-note{color:var(--muted)}.preset-dialog-shell{z-index:20;background:#08060d73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.preset-dialog{width:min(100%,460px)}.preset-dialog-body{border:1px solid var(--rim);background:var(--surface);border-radius:16px;flex-direction:column;gap:.875rem;padding:1rem;display:flex}.preset-dialog-body h2{margin:0}.dialog-field{flex-direction:column;gap:.4rem;display:flex}.dialog-field select,.dialog-field input{font:inherit;padding:.5rem .6rem}.dialog-copy{color:var(--muted);margin:0}.good-button,.danger-button{color:#fff;border-color:#0000}.good-button{background:#1d8f52}.danger-button{background:#bb3f45}.status-copy{color:var(--muted)}.calibration-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.calibration-card{flex-direction:column;gap:1rem;display:flex}.calibration-card h3{margin:0}.calibration-inline-editor{flex-wrap:wrap;align-items:center;gap:.95rem;display:inline-flex}.calibration-compact-input{width:120px}.table-note{color:var(--muted)}.table-card{overflow-x:auto}.calibration-table{border-collapse:collapse;width:100%}.calibration-table th,.calibration-table td{border:1px solid var(--rim);text-align:center;padding:.4rem}.table-entry{width:72px;font:inherit;padding:.3rem .4rem}.calibration-cell-button{border:1px solid var(--rim);background:color-mix(in srgb, var(--panel) 82%, #111522);color:var(--text);cursor:pointer;border-radius:10px}.calibration-cell-button:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--rim))}.calibration-cell-button.is-dirty{background:color-mix(in srgb, var(--accent) 30%, #111522);border-color:color-mix(in srgb, var(--accent) 72%, #c4b5fd);color:#f5f3ff;box-shadow:inset 0 1px 0 #ffffff14, 0 0 0 1px color-mix(in srgb, var(--accent) 42%, transparent)}.calibration-cell-button.is-dirty:hover{border-color:color-mix(in srgb, var(--accent) 82%, #ddd6fe)}.table-entry.is-dirty,.value-entry.is-dirty{border-color:color-mix(in srgb, var(--accent) 60%, var(--rim));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.log-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;display:flex}.log-head h2{margin:0}.log-output{border:1px solid var(--rim);color:#d9e0f2;background:#0f1320;border-radius:12px;height:260px;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;overflow-y:auto}.log-entry{margin:0 0 .35rem}.manual-row{align-items:center;gap:.88rem;display:flex}.manual-prefix{color:var(--accent);font-weight:700}.mono-entry{font:inherit;flex:1;padding:.5rem .6rem;font-family:JetBrains Mono,Fira Code,monospace}.statusbar{color:var(--dim);flex-wrap:wrap;justify-content:space-between;margin-top:auto}.action-row{margin-left:auto}@media (height<=760px) and (width>=921px){#root{width:min(1040px,100%)}.app-shell{font-size:.86rem}.topbar,.statusbar{padding:.5rem .625rem}.primary-button,.secondary-button,.good-button,.danger-button,.tab-button{padding:.35rem .72rem}.warning-banner{margin:.45rem .55rem 0;padding:.48rem .58rem}.workspace-shell{margin:0 .5rem .5rem}.display-row{grid-template-columns:minmax(0,1fr) 320px;gap:.7rem;padding:.7rem .7rem .6rem}.lcd-wrap{min-height:360px;padding:.45rem .45rem .65rem}.lcd-canvas{max-width:100%}.tile-stack{gap:.4rem}.tile{padding:.55rem .48rem .42rem}.tile-unit{font-size:.66rem}.tile-label{font-size:.7rem}.tile-value{font-size:1.35rem}.tabbar{padding:.4rem .5rem 0}.tab-panels{padding:.15rem .5rem .5rem}.tab-button{min-height:34px}.feature-stack,.control-card,.pid-card{gap:.65rem}.card{padding:.65rem}.control-row,.subrow,.dialog-actions,.pid-input-row{gap:.55rem}.pid-field{padding:.65rem .75rem}.control-slider-row{grid-template-columns:120px minmax(0,260px);gap:.55rem}.control-field+.control-field{padding-top:.65rem}}@media (width<=920px){.display-row{grid-template-columns:minmax(0,1fr)}.lcd-wrap{min-height:0}.tabbar{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.action-row{margin-left:0}.calibration-row,.pid-card{grid-template-columns:minmax(0,1fr)}.pid-field{border-right:0}.pid-field:not(:last-child){border-bottom:1px solid var(--rim)}}@media (width<=640px){.topbar{align-items:stretch}.brand-row,.connection-row,.action-row{flex-wrap:wrap;justify-content:space-between;width:100%}.tabbar{grid-template-columns:minmax(0,1fr)}.control-row,.pid-field,.subrow,.dialog-actions{align-items:stretch}.control-slider-row{grid-template-columns:minmax(0,1fr)}.control-slider-spacer{display:none}.control-label,.subrow-label{min-width:100%}.manual-row{flex-wrap:wrap;align-items:stretch}.tab-button{justify-content:center}.tile-stack{grid-template-columns:minmax(0,1fr)}.tile-value{font-size:1.28rem}}
