@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--color-rose-200:oklch(89.2% .058 10.001);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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{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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.visible{visibility:visible}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.flex{display:flex}.grid{display:grid}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-16{width:calc(var(--spacing) * 16)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[1500px\]{max-width:1500px}.min-w-0{min-width:calc(var(--spacing) * 0)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.px-4{padding-inline:calc(var(--spacing) * 4)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.68rem\]{font-size:.68rem}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-rose-200{color:var(--color-rose-200)}.text-slate-100{color:var(--color-slate-100)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[0\.65fr_1\.35fr\]{grid-template-columns:.65fr 1.35fr}.xl\:grid-cols-\[0\.72fr_1\.28fr\]{grid-template-columns:.72fr 1.28fr}.xl\:grid-cols-\[0\.92fr_1\.08fr\]{grid-template-columns:.92fr 1.08fr}.xl\:grid-cols-\[1\.35fr_0\.65fr\]{grid-template-columns:1.35fr .65fr}.xl\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--radius:.5rem}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}html[data-theme=dark]{color-scheme:dark}html[data-theme=light]{color-scheme:light}html{overflow-x:hidden;background:#090c10}#root{min-height:100vh;max-width:100vw;overflow-x:hidden}body{margin:0;overflow-x:hidden;background:#090c10}.sensor-app-shell{position:relative;width:100%;overflow-x:hidden;background:linear-gradient(120deg,#090c10fa,#101211f5),radial-gradient(circle at 72% 0%,rgba(64,217,255,.16),transparent 30%),linear-gradient(90deg,rgba(255,190,85,.06),transparent 32%,rgba(126,231,135,.05));color:#eef3f8;font-family:Inter,Segoe UI,system-ui,sans-serif}.signal-rail{position:fixed;inset:0 auto 0 0;z-index:0;width:.7rem;pointer-events:none;background:linear-gradient(#40d9ff,#ffbe55,#7ee787),repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,255,255,.8) 10px 12px);background-blend-mode:overlay;box-shadow:0 0 34px #40d9ff47}.sensor-app-shell>section{position:relative;z-index:1;padding-top:5.5rem}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1.25rem;background:#0f1418cc;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 18px 70px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-title{margin-top:.35rem;color:#f8fbff;font-size:clamp(2.1rem,4vw,4.5rem);font-weight:650;line-height:.94}.sensor-eyebrow{color:#ffbe55;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;text-transform:uppercase}.sensor-panel{min-width:0;padding:1.15rem;overflow:hidden;background:linear-gradient(180deg,#161b20f0,#0e1115f0),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 96px);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 16px 60px #00000038}.sensor-panel-title{margin-top:.2rem;color:#f8fbff;font-size:1.05rem;font-weight:650}.dashboard-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;max-width:100%;padding:.35rem;background:#05070a57;border:1px solid rgba(255,255,255,.1);border-radius:.55rem}.primary-command,.command-button,.icon-command{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.4rem;height:2.4rem;padding:0 .65rem;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.74rem;font-weight:700;line-height:1;white-space:nowrap;border-radius:.4rem;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.primary-command svg,.command-button svg,.icon-command svg{width:1rem;height:1rem;flex:0 0 auto}.primary-command{background:#40d9ff;color:#061014;border:1px solid rgba(64,217,255,.68);box-shadow:inset 0 1px #ffffff6b,0 0 24px #40d9ff33}.primary-command:hover{background:#79e7ff;transform:translateY(-1px)}.command-button,.icon-command{color:#f3f7fb;background:#ffffff0e;border-color:#ffffff29}.command-button:hover,.icon-command:hover{color:#fff;background:#ffffff1c;border-color:#40d9ff52;transform:translateY(-1px)}.command-button:disabled,.icon-command:disabled{cursor:not-allowed;opacity:.5;transform:none}.icon-command{width:2.4rem;min-width:2.4rem;padding:0}.stream-pill{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 .85rem;color:#dce6ee;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px}.stream-pill:before{width:.48rem;height:.48rem;margin-right:.45rem;content:"";background:#9da8b7;border-radius:999px}.stream-pill--open:before{background:#7ee787;box-shadow:0 0 16px #7ee7878c}.stream-pill--connecting:before{background:#ffbe55}.stream-pill--error:before{background:#ff6f91}.status-pill{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 .85rem;color:#dce6ee;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px}.status-pill:before{width:.48rem;height:.48rem;margin-right:.45rem;content:"";background:#9da8b7;border-radius:999px}.status-pill--receiving_data:before,.status-pill--connected:before{background:#7ee787;box-shadow:0 0 16px #7ee7878c}.status-pill--searching:before,.status-pill--connecting:before,.status-pill--reading_metadata:before{background:#ffbe55}.status-pill--error:before{background:#ff6f91}.alert-strip{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;color:#ffd9e2;background:#ff6f911f;border:1px solid rgba(255,111,145,.26);border-radius:.5rem}.alert-strip--warning{color:#fff1d4;background:#ffbe551f;border-color:#ffbe5547}.reconnect-spin{animation:reconnect-spin 1s linear infinite}@keyframes reconnect-spin{to{transform:rotate(360deg)}}.dashboard-metric-card{display:flex;min-width:0;min-height:7rem;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:linear-gradient(180deg,#161b20f5,#0d1014f0),linear-gradient(90deg,rgba(64,217,255,.07),transparent 58%);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 16px 60px #00000038}.dashboard-metric-card--disabled{opacity:.58}.dashboard-metric-label{display:flex;align-items:center;gap:.45rem;color:#9da8b7;font-size:.74rem;font-weight:650;text-transform:uppercase}.dashboard-metric-value{margin-top:.55rem;overflow-wrap:anywhere;color:#f8fbff;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:1.8rem;font-weight:650;line-height:1}.dashboard-metric-subvalue{margin-top:.55rem;color:#9da8b7;font-size:.78rem}.dashboard-sparkline{display:flex;width:6rem;height:3.5rem;flex-shrink:0;align-items:flex-end;gap:.25rem}.dashboard-sparkline span{width:.25rem;background:currentColor;border-radius:.15rem}.metric-cell{min-width:0;min-height:5.3rem;padding:.85rem;background:#ffffff0b;border:1px solid rgba(255,255,255,.09);border-radius:.45rem}.metric-cell>div>p,.metric-cell>p:first-child{font-size:.74rem}.metric-cell>p:last-child{margin-top:.65rem;overflow:hidden;color:#f8fbff;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.92rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.chart-frame{width:100%;min-height:280px}.chart-frame--short{min-height:190px}.chart-empty{display:grid;min-height:280px;place-items:center;color:#9da8b7;font-size:.9rem;background:linear-gradient(90deg,rgba(64,217,255,.08) 1px,transparent 1px),linear-gradient(rgba(64,217,255,.08) 1px,transparent 1px);background-size:32px 32px;border:1px dashed rgba(255,255,255,.13);border-radius:.45rem}.combined-chart-panel{display:flex;min-height:26rem;flex-direction:column;padding:1rem;overflow:hidden;background:linear-gradient(180deg,#161b20f0,#0e1115f0),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 96px);border:1px solid rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 16px 60px #00000038}.combined-chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.combined-chart-header h2{color:#f8fbff;font-size:.95rem;font-weight:700;text-transform:uppercase}.combined-chart-header p{margin-top:.3rem;color:#9da8b7;font-size:.78rem}.combined-chart-toggles{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.sensor-toggle{display:inline-flex;align-items:center;gap:.45rem;min-height:2rem;max-width:15rem;padding:.3rem .55rem;color:#9da8b7;font-size:.75rem;background:#ffffff09;border:1px solid rgba(255,255,255,.1);border-radius:.35rem}.sensor-toggle.is-visible{color:#f8fbff;background:#ffffff13}.sensor-toggle span{width:.5rem;height:.5rem;flex-shrink:0;border-radius:999px}.sensor-toggle small{overflow:hidden;max-width:8rem;color:#9da8b7;text-overflow:ellipsis;white-space:nowrap}.combined-chart-canvas{min-height:0;flex:1;margin-top:.85rem}.combined-chart-canvas canvas{width:100%;height:100%;min-height:20rem}.sensor-detail-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem}.sensor-detail-toolbar button,.sensor-detail-toolbar label{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .6rem;color:#cfd7df;font-size:.76rem;font-weight:650;background:#ffffff0b;border:1px solid rgba(255,255,255,.12);border-radius:.35rem}.sensor-detail-toolbar button.is-active{color:#061014;background:#40d9ff;border-color:#40d9ff}.sensor-detail-toolbar input{margin-right:.4rem;accent-color:#40d9ff}.dashboard-waveform-frame{width:100%;height:17rem;background:#05070a85;border:1px dashed rgba(255,255,255,.13);border-radius:.45rem}.sensor-select{max-width:11rem;height:2.25rem;padding:0 .65rem;color:#f8fbff;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:.4rem}.sensor-select option{color:#111820}.sensor-frame{min-width:0;padding:.9rem;background:#0b0f13b3;border:1px solid rgba(255,255,255,.1);border-radius:.45rem}.sensor-frame--interactive{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.sensor-frame--interactive:hover,.sensor-frame--interactive:focus-visible{outline:none;background:#11181fdb;border-color:#40d9ff5c;transform:translateY(-1px)}.sensor-frame h3{color:#f8fbff;font-size:.98rem;font-weight:650}.sensor-frame-band,.sensor-frame-description{overflow:hidden;text-overflow:ellipsis}.sensor-frame-band{margin-top:.25rem;color:#ffbe55;font-size:.72rem;white-space:nowrap}.sensor-frame-description{display:-webkit-box;min-height:2.1rem;margin-top:.7rem;color:#9da8b7;font-size:.76rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.sensor-frame-waveform{display:block;width:100%;height:5.5rem;margin-top:.8rem;padding:0;overflow:hidden;background:#05070a85;border:1px dashed rgba(255,255,255,.12);border-radius:.4rem}.sensor-frame-waveform:hover{border-color:#40d9ff5c}.sensor-dot{width:.7rem;height:.7rem;border-radius:999px;box-shadow:0 0 18px currentColor}.sensor-frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.sensor-frame-grid dt{color:#9da8b7;font-size:.72rem}.sensor-frame-grid dd{margin-top:.2rem;overflow:hidden;color:#eef3f8;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.event-list,.history-list,.raw-log{display:grid;gap:.65rem;max-height:28rem;overflow:auto;padding-right:.2rem}.event-list--history{max-height:none}.event-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;background:#ffffff0b;border:1px solid rgba(255,255,255,.1);border-left:3px solid #7ee787;border-radius:.45rem}.event-row--warning{border-left-color:#ffbe55}.event-row--critical{border-left-color:#ff6f91}.empty-copy{color:#9da8b7;font-size:.9rem}.raw-log-row{padding:.8rem;background:#05070aad;border:1px solid rgba(255,255,255,.09);border-radius:.45rem}.raw-log-row--error{border-color:#ff6f9147}.raw-log-row--parsed{border-color:#7ee78733}.raw-log-row--chunk{border-color:#ffbe5538}.raw-log-row pre{max-height:7.5rem;margin-top:.55rem;overflow:auto;color:#d7edf7;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;white-space:pre-wrap;word-break:break-word}.history-session{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;color:#dce6ee;text-align:left;background:#ffffff0b;border:1px solid rgba(255,255,255,.1);border-radius:.45rem}.history-session:hover,.history-session.is-selected{color:#fff;background:#40d9ff1a;border-color:#40d9ff59}.history-session strong,.history-session small{display:block}.history-session strong{overflow:hidden;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.history-session small{margin-top:.35rem;color:#9da8b7;font-size:.75rem}.sensor-detail-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:1rem;background:#030609b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sensor-detail-window{width:min(100%,1100px);max-height:min(92vh,920px);overflow:auto;padding:1rem;background:linear-gradient(180deg,#161b20fa,#0a0d11fa),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 96px);border:1px solid rgba(255,255,255,.16);border-radius:.5rem;box-shadow:0 28px 90px #00000085}.sensor-detail-window-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sensor-detail-window-header h2{margin-top:.25rem;overflow-wrap:anywhere;color:#f8fbff;font-size:clamp(1.8rem,4vw,3.6rem);font-weight:650;line-height:.95}.sensor-detail-window-subtitle{margin-top:.45rem;color:#40d9ff;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;text-transform:uppercase}.sensor-detail-window-copy{max-width:55rem;margin-top:.45rem;color:#9da8b7;font-size:.86rem;line-height:1.5}.sensor-detail-window-status,.sensor-detail-bands{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.sensor-detail-window-status span,.sensor-detail-bands span{display:inline-flex;align-items:center;gap:.45rem;min-height:2rem;padding:.35rem .65rem;color:#cfd7df;background:#ffffff0e;border:1px solid rgba(255,255,255,.12);border-radius:.35rem}.sensor-detail-window-status span.is-live{color:#7ee787;border-color:#7ee78752;background:#7ee78714}.sensor-detail-controls{margin-top:1rem}.sensor-detail-window-chart{height:min(52vh,27rem);min-height:20rem;margin-top:.5rem;background:#05070a94;border:1px dashed rgba(255,255,255,.14);border-radius:.45rem}.sensor-detail-bands i{width:.5rem;height:.5rem;border-radius:999px}.sensor-detail-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:1rem}.sensor-detail-events{display:grid;gap:.65rem;margin-top:1rem}.sensor-detail-events h3{color:#f8fbff;font-size:.86rem;font-weight:700;text-transform:uppercase}.history-database-grid{display:grid;gap:1.25rem;grid-template-columns:minmax(0,.86fr) minmax(0,1.34fr);align-items:start}.history-list-panel{position:sticky;top:5.25rem}.history-table-head{display:grid;grid-template-columns:minmax(0,1.35fr) 6.5rem 5.5rem 5.5rem 1.25rem;gap:.65rem;padding:0 .75rem .55rem;color:#9da8b7;font-size:.68rem;font-weight:700;text-transform:uppercase}.history-session--table{display:grid;grid-template-columns:minmax(0,1.35fr) 6.5rem 5.5rem 5.5rem 1.25rem;align-items:center;gap:.65rem}.history-table-value{min-width:0}.history-table-value small,.history-table-value strong{display:block}.history-table-value small{color:#9da8b7;font-size:.66rem}.history-table-value strong{margin-top:.25rem;overflow:hidden;color:#eef3f8;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.history-status-cell{min-width:0}.history-status-badge{display:inline-flex;align-items:center;max-width:100%;min-height:1.8rem;padding:.25rem .5rem;overflow:hidden;color:#dce6ee;font-size:.68rem;font-weight:700;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:999px}.history-status-badge--active{color:#7ee787;background:#7ee78714;border-color:#7ee78747}.history-status-badge--completed{color:#40d9ff;background:#40d9ff14;border-color:#40d9ff47}.history-status-badge--interrupted{color:#ffbe55;background:#ffbe5514;border-color:#ffbe5547}.history-detail-stack{display:grid;gap:1.25rem;min-width:0}.history-sensor-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.history-sensor-card{min-width:0;padding:.9rem;background:#0b0f13b3;border:1px solid rgba(255,255,255,.1);border-radius:.45rem}.history-sensor-card h3{overflow:hidden;color:#f8fbff;font-size:.96rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.history-sensor-card p{margin-top:.25rem;overflow:hidden;color:#ffbe55;font-size:.72rem;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.history-sensor-waveform{width:100%;height:5.5rem;margin-top:.8rem;background:#05070a85;border:1px dashed rgba(255,255,255,.12);border-radius:.4rem}.router-nav{position:fixed;top:1rem;right:1rem;z-index:50;display:flex;align-items:center;max-width:calc(100vw - 2rem);gap:.35rem;padding:.35rem;background:#090c10c7;border:1px solid rgba(255,255,255,.14);border-radius:.5rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.router-link-group{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.router-link{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .65rem;color:#cfd7df;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem;text-decoration:none;border-radius:.35rem}.router-link:hover,.router-link.active{color:#061014;background:#40d9ff}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2rem;padding:.35rem .65rem;color:#cfd7df;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem;border:1px solid rgba(255,255,255,.14);border-radius:.35rem;background:#ffffff0f}.theme-toggle:hover{color:#061014;background:#ffbe55;border-color:#ffbe55}html[data-theme=light],html[data-theme=light] body{background:#f4f7fb}html[data-theme=light] .sensor-app-shell{color:#17202a;background:linear-gradient(120deg,#f4f7fbfa,#e8eff6f5),radial-gradient(circle at 72% 0%,rgba(20,132,157,.13),transparent 30%),linear-gradient(90deg,rgba(255,190,85,.14),transparent 32%,rgba(45,148,86,.11))}html[data-theme=light] .signal-rail{box-shadow:0 0 28px #14849d38}html[data-theme=light] .dashboard-header,html[data-theme=light] .sensor-panel,html[data-theme=light] .combined-chart-panel,html[data-theme=light] .dashboard-metric-card,html[data-theme=light] .sensor-detail-window{background:linear-gradient(180deg,#fffffff0,#f6fafdf0),repeating-linear-gradient(90deg,rgba(20,132,157,.055) 0 1px,transparent 1px 96px);border-color:#66798d42;box-shadow:0 16px 50px #2d405421}html[data-theme=light] .dashboard-header{background:#ffffffdb}html[data-theme=light] .dashboard-actions{background:#e8f0f7a8;border-color:#66798d38}html[data-theme=light] .dashboard-title,html[data-theme=light] .sensor-panel-title,html[data-theme=light] .dashboard-metric-value,html[data-theme=light] .combined-chart-header h2,html[data-theme=light] .sensor-frame h3,html[data-theme=light] .sensor-frame-grid dd,html[data-theme=light] .history-session strong,html[data-theme=light] .history-table-value strong,html[data-theme=light] .history-sensor-card h3,html[data-theme=light] .sensor-detail-window-header h2,html[data-theme=light] .sensor-detail-events h3{color:#121a23}html[data-theme=light] .sensor-eyebrow,html[data-theme=light] .sensor-frame-band,html[data-theme=light] .history-sensor-card p{color:#92630a}html[data-theme=light] .metric-cell,html[data-theme=light] .sensor-frame,html[data-theme=light] .history-sensor-card,html[data-theme=light] .event-row,html[data-theme=light] .history-session,html[data-theme=light] .raw-log-row,html[data-theme=light] .stream-pill,html[data-theme=light] .status-pill,html[data-theme=light] .history-status-badge,html[data-theme=light] .sensor-detail-window-status span,html[data-theme=light] .sensor-detail-bands span,html[data-theme=light] .sensor-toggle{color:#17202a;background:#ffffffb8;border-color:#66798d3d}html[data-theme=light] .metric-cell>p:last-child,html[data-theme=light] .raw-log-row pre{color:#17202a}html[data-theme=light] .dashboard-metric-label,html[data-theme=light] .dashboard-metric-subvalue,html[data-theme=light] .metric-cell>div,html[data-theme=light] .combined-chart-header p,html[data-theme=light] .sensor-toggle small,html[data-theme=light] .sensor-frame-description,html[data-theme=light] .sensor-frame-grid dt,html[data-theme=light] .empty-copy,html[data-theme=light] .history-session small,html[data-theme=light] .history-table-head,html[data-theme=light] .history-table-value small,html[data-theme=light] .sensor-detail-window-copy{color:#5e6b79}html[data-theme=light] .sensor-app-shell .text-slate-100{color:#17202a!important}html[data-theme=light] .sensor-app-shell .text-slate-300,html[data-theme=light] .sensor-app-shell .text-slate-400,html[data-theme=light] .sensor-app-shell .text-slate-500{color:#5e6b79!important}html[data-theme=light] .sensor-app-shell .text-rose-200{color:#be123c!important}html[data-theme=light] .command-button,html[data-theme=light] .icon-command,html[data-theme=light] .sensor-select,html[data-theme=light] .sensor-detail-toolbar button,html[data-theme=light] .sensor-detail-toolbar label{color:#17202a;background:#ffffffd1;border-color:#66798d47}html[data-theme=light] .command-button:hover,html[data-theme=light] .icon-command:hover,html[data-theme=light] .sensor-detail-toolbar button:hover{color:#0d1c24;background:#dceff5e6}html[data-theme=light] .primary-command,html[data-theme=light] .sensor-detail-toolbar button.is-active{color:#fff;background:#147f99;border-color:#147f99;box-shadow:inset 0 1px #ffffff47,0 0 22px #147f992e}html[data-theme=light] .primary-command:hover{background:#0f6b82}html[data-theme=light] .chart-empty{color:#5e6b79;background:linear-gradient(90deg,rgba(20,132,157,.11) 1px,transparent 1px),linear-gradient(rgba(20,132,157,.11) 1px,transparent 1px);background-size:32px 32px;border-color:#66798d42}html[data-theme=light] .dashboard-waveform-frame,html[data-theme=light] .sensor-frame-waveform,html[data-theme=light] .history-sensor-waveform,html[data-theme=light] .sensor-detail-window-chart{background:#e8f0f7d1;border-color:#66798d3d}html[data-theme=light] .sensor-frame--interactive:hover,html[data-theme=light] .sensor-frame--interactive:focus-visible,html[data-theme=light] .history-session:hover,html[data-theme=light] .history-session.is-selected{color:#0d1c24;background:#ddf3f9db;border-color:#147f995c}html[data-theme=light] .event-row--warning,html[data-theme=light] .alert-strip--warning{color:#7a4e00}html[data-theme=light] .alert-strip{color:#9f1239;background:#ff6f911a;border-color:#be123c38}html[data-theme=light] .alert-strip--warning{background:#ffbe5529;border-color:#92630a38}html[data-theme=light] .router-nav{background:#ffffffdb;border-color:#66798d42;box-shadow:0 12px 38px #2d40541f}html[data-theme=light] .router-link,html[data-theme=light] .theme-toggle{color:#42505f}html[data-theme=light] .router-link:hover,html[data-theme=light] .router-link.active{color:#fff;background:#147f99}html[data-theme=light] .theme-toggle{background:#e8f0f7b8;border-color:#66798d3d}html[data-theme=light] .theme-toggle:hover{color:#121a23;background:#f5c75f;border-color:#f5c75f}@media(max-width:860px){.sensor-app-shell>section{padding-top:7.75rem}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-actions{width:100%;justify-content:flex-start}.sensor-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.history-database-grid{grid-template-columns:1fr}.history-list-panel{position:static}.history-table-head{display:none}.history-session--table{grid-template-columns:minmax(0,1fr) 5.75rem 4.75rem 1.25rem}.history-session--table .history-status-cell{display:none}.history-sensor-grid{grid-template-columns:1fr}.router-nav{right:.75rem;left:1.25rem;flex-wrap:wrap;justify-content:space-between}.router-link-group{flex:1 1 28rem}.router-link{flex:1 1 9rem}}@media(max-width:520px){.sensor-app-shell>section{padding-top:9.5rem}.router-link{min-height:1.9rem;padding:.3rem .45rem;font-size:.68rem}.theme-toggle{flex:1 1 100%;min-height:1.9rem}.dashboard-actions{display:grid;grid-template-columns:minmax(0,1fr) 2.4rem}.dashboard-actions .status-pill,.dashboard-actions .stream-pill{grid-column:1 / -1;justify-content:center;width:100%}.dashboard-actions .primary-command,.dashboard-actions .command-button{width:100%;min-width:0}.dashboard-actions .primary-command{grid-column:1 / -1}.dashboard-actions .icon-command{justify-self:end;width:2.4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
