:root{color-scheme:light dark;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;font-family:monospace;line-height:1.6;font-weight:var(--font-weight-normal);--background-color: light-dark(#ffffff, #121416);--background-translucent: light-dark(rgba(255, 255, 255, .98), rgba(18, 20, 22, .98));--text-color: light-dark(#121416, #ffffff);--text-secondary: light-dark(#374151, #d1d5db);--text-tertiary: light-dark(#4b5563, #9ca3af);--primary-color: light-dark(#1971c2, #4dabf7);--error-color: light-dark(#e03131, #ff8787);--border-color: light-dark(#dee2e6, #343a40);--hover-background: light-dark(#f1f3f5, #343a40);--hover-emphasis: light-dark(rgba(241, 243, 245, .6), rgba(52, 58, 64, .6));--active-emphasis: light-dark(rgba(241, 243, 245, .8), rgba(52, 58, 64, .8));--shadow-color: light-dark(rgba(0, 0, 0, .1), rgba(0, 0, 0, .3));--shadow-color-darker: light-dark(rgba(0, 0, 0, .25), rgba(0, 0, 0, .5));--overlay-background: light-dark(rgba(255, 255, 255, .95), rgba(18, 20, 22, .95));--spinner-background: light-dark(#e9ecef, #343a40);--spinner-foreground: var(--primary-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0}body{padding:1rem;background-color:var(--background-color);color:var(--text-color);font-size:var(--font-size-base)}body>#root{display:flex;flex-direction:column;gap:2rem;position:relative;width:100%;min-height:101vh;height:100%;margin:0 auto}#root>*:not(.grid):not(.visualizations):not(.sensors):not(.timeline){max-width:80ch}.intro{display:flex;flex-direction:column;gap:1rem}.intro p{margin:0;line-height:1.5}.sensors{display:flex;flex-direction:column;gap:1rem}.sensors h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-color)}.sensors-toggle{background:none;border:1px solid var(--border-color);padding:.5rem 1rem;font-family:inherit;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;border-radius:4px;display:flex;align-items:center;gap:.5rem;background-color:var(--background-color);align-self:flex-start}.sensors-toggle:hover{background-color:var(--hover-background);color:var(--text-color);border-color:var(--text-secondary)}.sensors-toggle:active{background-color:var(--active-emphasis)}.sensors-toggle:focus{outline:2px solid var(--primary-color);outline-offset:2px}.toggle-icon{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);line-height:1}.sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;transition:all .3s ease;overflow:hidden}@media (max-width: 768px){.sensor-grid.collapsed{max-height:0;opacity:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.sensor-grid.expanded{max-height:1000px;opacity:1;margin-top:1rem;margin-bottom:0}}@media (min-width: 769px){.sensors-toggle{display:none}.sensor-grid{max-height:none!important;opacity:1!important}}.sensor-item{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background-color:var(--hover-background);border-radius:4px;border:1px solid var(--border-color)}.sensor-name{font-weight:var(--font-weight-semibold);color:var(--text-color);font-size:var(--font-size-sm)}.sensor-desc{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}.visualizations{display:flex;flex-direction:column;gap:1rem;width:100%}.visualizations h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-color);max-width:80ch}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:2rem;width:100%}@media (max-width: 768px){.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.grid{grid-template-columns:repeat(1,1fr)}}.grid>*{display:flex;flex-direction:column;align-items:center}ul{display:flex;flex-direction:column;gap:.5rem;margin-left:2rem}footer{font-size:var(--font-size-sm)}footer *{color:var(--text-secondary)}h1{display:flex;flex-direction:row;gap:1rem;align-items:center}h1 img{width:26px;height:26px}@media (prefers-color-scheme: dark){h1 img{filter:invert(1)}}header{display:flex;flex-direction:column;gap:1rem}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}nav{display:flex;justify-content:flex-end}.nav-button{background:none;border:none;padding:.25rem .5rem;font-family:inherit;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;border-radius:2px}.nav-button:hover{background-color:var(--hover-background);color:var(--text-color)}.nav-button:active{background-color:var(--active-emphasis)}.nav-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}._image_d727h_1{width:100%;height:100%;object-fit:cover;border:1px solid var(--text-color);will-change:opacity;backface-visibility:hidden;transform:translateZ(0)}._loading_d727h_11,._error_d727h_12{padding:1rem;text-align:center}._error_d727h_12{color:#dc2626}._container_d727h_21{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}._toggleContainer_d727h_28{display:flex;gap:1rem;justify-content:flex-start}._toggleButton_d727h_34{background:none;border:none;color:#6b7280;font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border:1px solid var(--text-color);transition:all .2s ease;position:relative;will-change:transform,opacity}._toggleButton_d727h_34:hover{color:#374151;background-color:#f3f4f6;transform:translateY(-1px)}._toggleButton_d727h_34._active_d727h_53{color:#3b82f6;font-weight:500;box-shadow:0 2px 4px #3b82f633}._toggleButton_d727h_34:disabled{opacity:.5;cursor:not-allowed;transform:none}._toggleButton_d727h_34._loading_d727h_11{position:relative;color:#6b7280}._toggleButton_d727h_34._loading_d727h_11:after{content:"";position:absolute;top:50%;right:.5rem;width:.75rem;height:.75rem;margin-top:-.375rem;border:1px solid #6b7280;border-top-color:transparent;border-radius:50%;animation:_spin_d727h_1 1s linear infinite}._toggleButton_d727h_34._error_d727h_12{color:#dc2626;border-color:#dc2626}._toggleButton_d727h_34._error_d727h_12:hover{background-color:#fef2f2}@keyframes _spin_d727h_1{to{transform:rotate(360deg)}}
