/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.sensor-grid{display:grid;column-gap:var(--space-16);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}.sensor-card{display:flex;flex-direction:column;min-height:152px;max-width:300px;margin-bottom:var(--space-24);padding:var(--space-16) var(--space-24);border:1px solid var(--hair);border-radius:3px;background:var(--background);}a.sensor-card{color:inherit;text-decoration:none;transition:border-color 0.15s ease;}a.sensor-card:hover,a.sensor-card:focus-visible{border-color:var(--accent);}.sensor-card .name{display:flex;align-items:center;gap:var(--space-8);margin:0;font-family:var(--mono);font-size:11px;line-height:1;letter-spacing:0.08em;text-transform:uppercase;color:var(--meta);}.sensor-card .dot{flex:none;width:9px;height:9px;border-radius:50%;}.sensor-card .reading{margin:var(--space-16) 0 0;font-size:34px;font-weight:700;letter-spacing:-0.02em;line-height:1;color:var(--ink);}.sensor-card .reading .unit{margin-left:3px;font-size:18px;font-weight:400;letter-spacing:0;color:var(--meta);}.sensor-card.is-offline .reading{font-size:25px;color:var(--alert);}.sensor-card .metric{margin:var(--space-8) 0 0;font-size:17px;line-height:1.2;color:var(--body);}.sensor-card .footer{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-12);margin:auto 0 0;padding-top:var(--space-16);color:var(--meta);}.sensor-card .seen{margin:0;font-family:var(--mono);font-size:11px;}.sensor-card .more{flex:none;font-family:var(--mono);font-size:12px;}a.sensor-card:hover .more,a.sensor-card:focus-visible .more{color:var(--accent);}.sensor-card.is-online .dot{background:var(--ok);animation:pulse 2s ease-in-out infinite;}.sensor-card.is-offline .dot{background:var(--alert);}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--ok) 75%,transparent);}70%,100%{box-shadow:0 0 0 8px transparent;}}#datahub .tooltip{position:absolute;opacity:0;visibility:hidden;transition:opacity 0.2s ease-in-out;font-family:var(--mono);font-size:12px;border:1px solid var(--hair);background-color:var(--tint);padding:0.3em 0.7em;pointer-events:none;z-index:100;}#datahub p{margin:0 0 var(--gap-prose);}#datahub svg{margin:0 0 var(--space-16);max-width:574px;width:100%;height:auto;}#datahub svg text{font-family:var(--mono);}#datahub rect.is-active{stroke:var(--meta);stroke-width:2px;}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-24);margin:0 0 var(--space-16);font-family:var(--mono);font-size:12px;color:var(--meta);}.chart-legend .swatch{display:inline-block;width:12px;height:12px;margin-right:var(--space-8);border-radius:2px;vertical-align:-2px;}.chart-legend .line{display:inline-block;width:20px;height:0;margin-right:var(--space-8);border-top:3px solid;vertical-align:4px;}.readings{margin:0;padding:var(--space-8) 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}.readings > div{display:grid;grid-template-columns:132px 1fr;gap:var(--space-16);align-items:baseline;padding:var(--space-8) 0;}.readings dt{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--meta);}.readings dd{margin:0;font-size:15px;color:var(--body);font-variant-numeric:tabular-nums;}.readings-more{margin:0 0 var(--space-24);border-bottom:1px solid var(--hair);}.readings-more .readings{border:0;padding-top:0;}@media (max-width:560px){.readings > div{grid-template-columns:1fr;gap:2px;}}.battery{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-24) 0 var(--space-16);}.battery-body{position:relative;width:154px;height:72px;padding:var(--space-8);border:2px solid color-mix(in oklab,var(--ink) 30%,var(--background));border-radius:9px;}.battery-fill{height:100%;border-radius:3px;background:color-mix(in oklab,var(--ok),var(--background) 35%);}.battery-percentage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);}.battery-cap{width:7px;height:26px;background:color-mix(in oklab,var(--ink) 30%,var(--background));border-radius:0 3px 3px 0;}.battery-status{margin:0;font-size:17px;color:var(--body);}
