:root{--buncss-light:initial;--buncss-dark: ;color-scheme:light dark;box-sizing:border-box;--color-bg-1:oklch(.1 .03 263.02/65%);--color-bg-2:oklch(.22 .03 263.02);--color-fg-1:oklch(.9 .03 263.02);--color-fg-2:oklch(.6 .03 263.02);--color-fg-3:oklch(.3 .03 263.02);--color-fg-primary:oklch(.74 .1485 263.02);--color-fg-secondary:oklch(.74 .1466 318.17);--color-fg-tertiary:oklch(.74 .1202 60.71);--color-fg-highlight:var(--color-fg-primary);--color-bg-secondary:oklch(.54 .1466 318.17);--color-bg-primary:oklch(.54 .1485 263.02);--color-bg-tertiary:oklch(.54 .1202 60.71);--color-bg-success:oklch(.54 .3 150);--color-bg-error:#d02d2d;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--border-radius-sm:.5rem;--border-radius-md:1rem;--blur-radius:16px;--shadow-radius:16px;--snackbar-duration:5s;color:var(--color-fg-1);background-color:var(--color-bg-2);font-family:IBM Plex Sans,San Francisco,Helvetica,Arial,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--buncss-light: ;--buncss-dark:initial}}:focus{outline:none}:focus-visible{outline:3px solid #fff;outline-offset:3px}html,body{height:100%;margin:0}.icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}#app{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content;gap:var(--spacing-md);height:100%}.title{position:sticky;z-index:2;top:var(--spacing-md);margin:var(--spacing-md);padding:var(--spacing-md);display:flex;box-sizing:border-box;backdrop-filter:blur(var(--blur-radius));box-shadow:0px 0px 0px 1px #ffffff26,0px 5px var(--shadow-radius)#0000004d;width:calc(768px - var(--spacing-md)*2);border-radius:var(--border-radius-md);background:linear-gradient(240deg,color-mix(in hsl,transparent 40%,var(--color-bg-success)60%),color-mix(in hsl,var(--color-bg-1)70%,var(--color-bg-success)30%)30%,var(--color-bg-1)50%);background-size:200% 100%;justify-content:space-between;justify-self:center;align-items: center;transition:top .1s ease-out,margin .1s ease-out,border-radius .1s ease-out,background-size .5s ease-out}.title h1{cursor:default;margin:0;font-size:x-large}@media screen and (max-width:480px){.title h1{font-size:large}}#app.connected .title{background-size:100% 100%}@media screen and (max-width:768px){.title{justify-self:unset;border-radius:0;width:100%;margin:0;top:0}}.title .connectionChip{box-sizing:border-box;anchor-name:--chip-anchor;border-radius:1rem;height:1rem;padding:1rem}.title .connectionChip .icon{display:none}#app.connected-serial :is(.title .connectionChip) .serial.icon{display:block}#app.connected-bluetooth :is(.title .connectionChip) .bluetooth.icon{display:block}.title .connectionChip .connectionChip-connected{display:none;align-items: center;gap:var(--spacing-sm)}#app.connected :is(.title .connectionChip){background-color:var(--color-bg-success);cursor:pointer}#app.connected :is(.title .connectionChip):hover{background-color:color-mix(in lab,var(--color-bg-success)80%,white 20%)}#app.connected :is(.title .connectionChip) .connectionChip-disconnected{display:none}#app.connected :is(.title .connectionChip) .connectionChip-connected{display:flex;font-weight:700}#connectedPopover{position:absolute;position-anchor:--chip-anchor;position-area:end span-start;border-radius:var(--border-radius-md);box-shadow:0px 0px 0px 1px #ffffff26,0px 5px var(--shadow-radius)#0000004d;backdrop-filter:blur(var(--blur-radius));background-color:var(--color-bg-1);padding:var(--spacing-sm);color:inherit;opacity:0;transition:transform .1s ease-in-out,inset .1s ease-in-out,opacity .1s ease-in-out,overlay .1s allow-discrete,display .1s allow-discrete;border:none;width:200px;margin:0;top:0;right:0;transform:scale(.95)}#connectedPopover:popover-open{opacity:1;top:var(--spacing-sm);transform:scale(1)}@starting-style{#connectedPopover:popover-open{opacity:0;top:0;transform:scale(.95)}}@keyframes popover-show{0%{opacity:0}to{opacity:1;top:var(--spacing-sm);transform:scale(1)}}.menu{list-style:none;display:flex;gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0}.menu *{box-sizing:border-box}.menu li{border-radius:var(--border-radius-sm)}.menu .menuItem{padding:var(--spacing-sm);border-radius:var(--border-radius-sm);width:100%}.menu .menuButton{padding:var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;color:inherit;font:inherit;--color-bg-button:var(--color-bg-2);background-color:var(--color-bg-button);border:none;width:100%;transition:background-color .1s ease-in-out}.menu .menuButton.menuButton:hover{background-color:color-mix(in lab,var(--color-fg-1)20%,var(--color-bg-button)80%)}.menu .menuButton.menuButton:active{background-color:color-mix(in lab,var(--color-bg-1)20%,var(--color-bg-button)80%)}.menu .menuButton.destructive{--color-bg-button:var(--color-bg-error)}.connectionInformation dt{color:var(--color-fg-2);cursor:default;font-size:.875rem}.connectionInformation dt:not(:first-child){margin-top:var(--spacing-sm)}.connectionInformation dd{margin:0}.disconnectedApp{display:grid;grid-template-columns:1fr [col-start-1]330px [col-end-1 col-start-2]330px [col-end-2]1fr;align-self: center;gap:var(--spacing-md)}#app.connected .disconnectedApp{display:none}@media screen and (max-width:768px){.disconnectedApp{grid-template-columns:0 [col-start-1 col-start-2]1fr [col-end-1 col-end-2]0;align-self: flex-start}}.disconnectedApp .attribution{grid-column-start:col-start-1;grid-column-end:col-end-2;text-align:center;color:var(--color-fg-2);margin-top:var(--spacing-md)}.disconnectedApp .attribution a{color:inherit}.disconnectedApp .attribution a:link{color:inherit}.disconnectedApp .attribution a:visited{color:inherit}.disconnectedApp .attribution .icon{position:relative;top:.125em}.disconnectedApp .connectBox form{display:flex;gap:var(--spacing-md);flex-direction:column}.disconnectedApp .connectBox .formControls{gap:var(--spacing-sm)}.disconnectedApp .connectBox form{display:none}.disconnectedApp .connectBox .unsupportedCallout{display:none}.disconnectedApp .connectBox.supported form{display:flex}.disconnectedApp .connectBox.unsupported .unsupportedCallout{display:flex}.disconnectedApp .connectBox.serial{grid-column-start:col-start-1;grid-column-end:col-end-1}.disconnectedApp .connectBox.serial #connectSerial-baudRateSelect{width:100%}.disconnectedApp .connectBox.bluetooth{grid-column-start:col-start-2;grid-column-end:col-end-2}.inputCluster{display:flex;gap:var(--spacing-sm);width:100%}.connectedApp{display:none;grid-template-columns:1fr [col-start-1]600px [col-end-1 col-start-2]600px [col-end-2]1fr;align-self: flex-start;gap:var(--spacing-md)}@media screen and (max-width:1280px){.connectedApp{grid-template-columns:0 [col-start-1 col-start-2]1fr [col-end-1 col-end-2]0;align-self: flex-start}}#app.connected .connectedApp{display:grid}.connectedApp-output{grid-column-start:col-start-1;grid-column-end:col-end-1}.connectedApp-output .distanceIndicator.distanceIndicator-detectionDistance{--color-fg-highlight:var(--color-fg-primary);--color-bg-highlight:var(--color-bg-primary)}.connectedApp-output .distanceIndicator.distanceIndicator-movementTargetDistance{--color-fg-highlight:var(--color-fg-secondary);--color-bg-highlight:var(--color-bg-secondary)}.connectedApp-output .distanceIndicator.distanceIndicator-stationaryTargetDistance{--color-fg-highlight:var(--color-fg-tertiary);--color-bg-highlight:var(--color-bg-tertiary)}.connectedApp-output .distanceIndicator dt{display:flex;gap:var(--spacing-md)}.connectedApp-output .distanceIndicator dd{position:relative;display:flex;flex-direction:column;margin:0}.connectedApp-output .distanceIndicator data{font-size:x-large;font-weight:700}.connectedApp-output .distanceIndicator .value{color:var(--color-fg-highlight)}.connectedApp-output .distanceIndicator .unit{color:var(--color-fg-2)}.connectedApp-output .distanceIndicator data:after{--transition-percentage:calc(calc(min(attr(value px),400px)/400px)*100%);content:"";display:block;box-sizing:border-box;background:linear-gradient(to right,var(--color-fg-highlight),var(--color-fg-highlight)50%,var(--color-fg-3)50%,var(--color-fg-3));background-size:200% 100%;background-position-x:calc(100% - var(--transition-percentage));width:100%;height:.5rem;transition:background-position .2s ease-in-out}.connectedApp-output .distanceIndicator .distanceIndicator-detected{opacity:0;background-color:var(--color-bg-highlight);transition:opacity .2s ease-in-out;font-size:.8em}.connectedApp-output .distanceIndicator[data-detected] .distanceIndicator-detected{opacity:1}.connectedApp-output .energyIndicators{border-spacing:var(--spacing-md);width:100%}.connectedApp-output .energyIndicators thead{text-transform:uppercase;color:var(--color-fg-2)}.connectedApp-output .energyIndicators td:first-child{white-space:nowrap;text-transform:uppercase;color:var(--color-fg-2);width:1%}.connectedApp-output .energyIndicators td:nth-child(2){width:50%}.connectedApp-output .energyIndicators td:nth-child(3){width:50%}.connectedApp-output .energyIndicators .energyIndicator-rest{width:100%;font-weight:700}.connectedApp-output .energyIndicators .energyIndicator-motion{width:100%;font-weight:700}.connectedApp-output .energyIndicators .energyIndicator-motion{--color-fg-highlight:var(--color-fg-secondary);--color-bg-highlight:var(--color-bg-secondary)}.connectedApp-output .energyIndicators .energyIndicator-rest{--color-fg-highlight:var(--color-fg-tertiary);--color-bg-highlight:var(--color-bg-tertiary)}.connectedApp-output .energyIndicators .energyIndicator-rest:after{--transition-percentage:calc(calc(attr(value px)/100px)*100%);content:"";display:block;box-sizing:border-box;background:linear-gradient(to right,var(--color-fg-highlight),var(--color-fg-highlight)50%,var(--color-fg-3)50%,var(--color-fg-3));background-size:200% 100%;background-position-x:calc(100% - var(--transition-percentage));width:100%;height:.5rem;transition:background-position .2s ease-in-out}.connectedApp-output .energyIndicators .energyIndicator-motion:after{--transition-percentage:calc(calc(attr(value px)/100px)*100%);content:"";display:block;box-sizing:border-box;background:linear-gradient(to right,var(--color-fg-highlight),var(--color-fg-highlight)50%,var(--color-fg-3)50%,var(--color-fg-3));background-size:200% 100%;background-position-x:calc(100% - var(--transition-percentage));width:100%;height:.5rem;transition:background-position .2s ease-in-out}.connectedApp-parameters{grid-column-start:col-start-2;grid-column-end:col-end-2}.connectedApp-parameters .sensitivityInputs{border-spacing:var(--spacing-md);width:100%}.connectedApp-parameters .sensitivityInputs thead{text-transform:uppercase;color:var(--color-fg-2)}.connectedApp-parameters .sensitivityInputs td:first-child{white-space:nowrap;text-transform:uppercase;color:var(--color-fg-2);width:1%}.connectedApp-parameters .sensitivityInputs td:nth-child(2){width:50%}.connectedApp-parameters .sensitivityInputs td:nth-child(3){width:50%}.connectedApp-parameters .sensitivityInputs input[type=range]{width:100%;font-weight:700}.connectedApp-parameters .numberInputs{display:flex;gap:var(--spacing-md);flex-direction:column;width:100%}.connectedApp-parameters .numberInputs input{width:160px}.connectedApp-parameters .numberInputs button[type=submit]{display:none}.monitor{position:sticky;backdrop-filter:blur(var(--blur-radius));bottom:var(--spacing-md);margin:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--border-radius-md);background-color:var(--color-bg-1);overflow:hidden;display:flex;box-shadow:0px 0px 0px 1px #ffffff26,0px 5px var(--shadow-radius)#0000004d;flex-direction:column;max-height:40vh;transition:bottom .1s ease-out,margin .1s ease-out,border-radius .1s ease-out}@media screen and (max-width:768px){.monitor{border-radius:0;margin:0;bottom:0}}.monitor.minimized .monitor-log{display:none}.monitor.minimized .monitor-hideRadarOutputInput{display:none}.monitor.minimized #monitor-scrollToBottomButton{display:none}.monitor .monitorHeader{display:flex;justify-content:space-between;align-items: center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);flex-wrap:wrap}.monitor .monitorHeader .monitorHeader-start{display:flex;align-items: center;gap:var(--spacing-sm)}.monitor .monitorHeader .monitorHeader-end{display:flex;align-items: center;gap:var(--spacing-sm)}.monitor .monitor-log{list-style:none;padding:var(--spacing-sm)var(--spacing-md)var(--spacing-md)var(--spacing-md);overflow-y:auto;display:flex;gap:var(--spacing-xs);flex-direction:column;min-height:25vh;max-height:100%;margin:0}.monitor .monitor-log:empty{padding:0}.monitor .monitor-log.hideRadarOutput .monitorLogEntry.radarOutput{display:none}.monitor .monitor-log .monitorLogEntry{display:flex;flex-direction:column;align-items:stretch}@media screen and (max-width:480px){.monitor .monitor-log .monitorLogEntry{gap:var(--spacing-sm)}}.monitor .monitor-log .monitorLogEntry .logMetadata{display:flex;align-items: center;gap:var(--spacing-sm);flex-wrap:wrap}@media screen and (max-width:480px){.monitor .monitor-log .monitorLogEntry .logMetadata .chip{font-size:.7em}}.monitor .monitor-log .monitorLogEntry time{color:var(--color-fg-2);font-weight:700}.monitor .monitor-log .monitorLogEntry svg{flex-shrink:0}.monitor .monitor-log .monitorLogEntry code{margin-left:var(--spacing-md)}.monitor .monitor-log .monitorLogEntry.read svg{color:var(--color-fg-primary)}.monitor .monitor-log .monitorLogEntry.write svg{color:var(--color-fg-secondary)}.iconButton{display:flex;border-radius:var(--border-radius-sm);font:inherit;color:inherit;padding:var(--spacing-sm);cursor:pointer;position:relative;box-sizing:border-box;background-color:#0000;border:none;justify-content:center;align-items: center}.iconButton:hover{background-color:var(--color-bg-2)}.iconButton input[type=checkbox]{position:absolute;width:0;height:0;margin:0}.iconButton input[type=checkbox]:focus-visible{outline-offset:calc(2*var(--spacing-sm))}.iconButton .checkedIcon{display:none}.iconButton .uncheckedIcon{display:unset}.iconButton :checked~.checkedIcon{display:unset}.iconButton :checked~.uncheckedIcon{display:none}.box{background-color:var(--color-bg-1);padding:var(--spacing-md);border-radius:var(--border-radius-md);margin:0}.connectBox{display:flex;flex-direction:column;justify-content:space-between}.iconHeader{display:flex;align-items: center;gap:var(--spacing-sm);color:var(--color-fg-2);position:relative;margin:0;font-size:1.1rem;font-weight:700}.label{display:block;color:var(--color-fg-2);cursor:default;font-size:.875rem}select{font:inherit;padding:var(--spacing-sm)var(--spacing-sm);border-radius:var(--border-radius-sm);background-color:var(--color-bg-2);border:none;flex-grow:1}input[type=text],input[type=number]{font:inherit;padding:var(--spacing-sm)var(--spacing-sm);border-radius:var(--border-radius-sm);background-color:var(--color-bg-2);border:none;flex-grow:1;line-height:0}.button{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--border-radius-sm);color:var(--color-fg-1);border:none}.button.primary{background-color:var(--color-bg-primary)}.button.secondary{background-color:var(--color-bg-secondary)}.button:disabled{color:var(--color-fg-2)}.chip{padding:.05em var(--spacing-sm);color:var(--color-fg-1);display:flex;cursor:default;outline:none;background-color:var(--color-bg-2);border:none;border-radius:.5em;align-items: center;font-size:.9em}.chip span{display:flex;align-items: center}.chip.primary{background-color:var(--color-bg-primary)}.chip.secondary{background-color:var(--color-bg-secondary)}.chip.error{background-color:var(--color-bg-error)}.chip.success{background-color:var(--color-bg-success)}.callout{border-radius:var(--border-radius-sm);padding:var(--spacing-sm);gap:var(--spacing-sm);display:flex;align-items:baseline}.callout .icon{flex-shrink:0}.callout.info{background-color:var(--color-bg-primary)}.callout.error{background-color:var(--color-bg-error)}.snackbarRegion{position:fixed;bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);display:flex;pointer-events:none;flex-direction:column;align-items: center}@media screen and (max-width:768px){.snackbarRegion{justify-content:stretch}}.snackbar{animation:snackbar-in .1s ease-out;opacity:1;margin:0 0 var(--spacing-md)0;transition:display 1s allow-discrete,opacity 1s ease-out;list-style:none;box-shadow:0px 0px 0px 1px #ffffff26,0px 5px var(--shadow-radius)#0000004d;border-radius:var(--border-radius-sm);max-width:500px;padding:0}@media screen and (max-width:768px){.snackbar{flex-grow:1;max-width:none}}.snackbar.dead{opacity:0;display:none}@keyframes snackbar-in{0%{transform:scaleY(.7);opacity:0;margin-bottom:0}to{transform:scaleY(1);opacity:1;margin-bottom:var(--spacing-md)}}
