*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;padding:20px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{margin:0 auto;max-width:1200px}.App{display:flex;flex-direction:column;min-height:100vh;position:relative}.particles-background{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.particles-background .particles-container{pointer-events:auto}.App h1{color:#667eea;font-size:3rem;font-weight:700;margin-bottom:10px;margin-top:20px;text-align:center}.App .animated-gradient-text h1{color:#0000}.App .shiny-text{border-bottom:2px solid #fff3;display:block;font-size:1.1rem;margin-bottom:30px;padding-bottom:20px;text-align:center}.shiny-text{animation:shine 4s linear infinite;background:linear-gradient(120deg,#fff0 30%,#fff 50%,#fff0 70%);-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#fffc!important;display:inline-block}.shiny-text.disabled{animation:none}.tabs{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.tab-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;color:#ffffffb3;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:10px;overflow:hidden;padding:15px 30px;position:relative;transition:all .3s}.tab-button:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.tab-button:hover:before{left:100%}.tab-button:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 6px 20px #ffffff1a;color:#ffffffe6;transform:translateY(-2px)}.tab-button.active{background:#fff3;border-color:#fff6;box-shadow:0 4px 15px #ffffff26;color:#fff}.tab-button.active:after{animation:gradient-shift 3s linear infinite;background:linear-gradient(90deg,#40ffaa,#4079ff,#40ffaa);background-size:200% 100%;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}@keyframes gradient-shift{0%{background-position:0 50%}to{background-position:200% 50%}}.tab-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:1.3rem}.tab-content{animation:fadeIn .4s ease-in;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.App-footer{color:#ffffffe6;font-size:.9rem;padding:20px;text-align:center}.error-message{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#f4433626;border:1px solid #f443364d;border-radius:8px;color:#ff6b6b;margin:20px 0;padding:15px}@media (max-width:768px){.App h1{font-size:2rem}.tabs{flex-direction:column;gap:10px}.tab-button{justify-content:center;width:100%}}.query-form-container{width:100%}.query-form-container h2{color:#ffffffe6;font-size:1.8rem;margin-bottom:20px}.query-form{gap:20px}.form-group,.query-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#ffffffe6;font-size:.95rem;font-weight:600}.form-group input{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#ffffffe6;font-size:1rem;padding:12px;transition:border-color .3s}.form-group input::placeholder{color:#ffffff80}.form-group select option{background:#0009;padding:10px}.form-group select,.form-group select option{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffffe6}.form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#ffffff1a;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.9)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid #fff3;border-radius:8px;cursor:pointer;font-size:1rem;padding:12px 40px 12px 12px;transition:border-color .3s}.form-group input:focus{border-color:#fff6;box-shadow:0 0 0 3px #ffffff1a;outline:none}.form-group input:hover,.form-group select:hover{background:#ffffff26;border-color:#ffffff4d}.form-group small{color:#ffffffb3;font-size:.85rem;margin-top:4px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.time-range-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.time-btn{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#ffffffe6;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .2s}.time-btn:hover:not(:disabled){background:#fff3;border-color:#fff6;transform:translateY(-1px)}.time-btn:disabled{cursor:not-allowed;opacity:.6}.submit-btn{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#ffffffe6;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:10px;padding:15px 30px;transition:all .2s}.submit-btn:hover:not(:disabled){background:#fff3;border-color:#fff6;box-shadow:0 6px 20px #ffffff1a;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.delete-btn{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#f44;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:10px;padding:15px 30px;transition:all .2s}.delete-btn:hover:not(:disabled){background:#fff3;border-color:#fff6;box-shadow:0 6px 20px #ffffff1a;transform:translateY(-2px)}.delete-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.form-row{grid-template-columns:1fr}.time-range-buttons{flex-direction:column}.time-btn{width:100%}}.alert-overlay{animation:modalFadeIn .25s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#00000073;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.alert-card,.alert-overlay{align-items:center;display:flex}.alert-card{animation:modalScaleUp .3s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);background:#191e2db3;border:1px solid #ffffff1f;border-radius:20px;box-shadow:0 30px 70px #0009,inset 0 1px 0 #ffffff1a;flex-direction:column;max-width:440px;padding:35px 30px;text-align:center;width:90%}.alert-icon{animation:modalPulseIcon 2s ease-in-out infinite;font-size:3.2rem;line-height:1;margin-bottom:18px}.alert-content h3{color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:.3px;margin:0 0 12px}.alert-content p{color:#ffffffd9;font-size:.95rem;font-weight:400;line-height:1.6;margin:0 0 28px;white-space:pre-line}.alert-actions{display:flex;gap:12px;justify-content:center;width:100%}.alert-btn{border:1px solid #ffffff26;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;padding:11px 24px;transition:all .2s cubic-bezier(.16,1,.3,1)}.ok-btn{background:#ffffff26;color:#fff;width:100%}.ok-btn:hover{background:#ffffff40;border-color:#fff6;box-shadow:0 6px 20px #ffffff14;transform:translateY(-2px)}.cancel-btn{background:#ffffff0d;color:#fffc;flex:1 1}.cancel-btn:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff}.confirm-btn{background:#ff3b30;border-color:#ff3b304d;color:#fff;flex:1 1}.confirm-btn:hover{background:#ff453a;border-color:#ff3b3080;box-shadow:0 6px 20px #ff3b3059;transform:translateY(-2px)}.alert-success{border-color:#34c75959;box-shadow:0 30px 70px #00000080,0 0 40px #34c7591f}.alert-error{border-color:#ff3b3059;box-shadow:0 30px 70px #00000080,0 0 40px #ff3b301f}.alert-warning{border-color:#ff950059;box-shadow:0 30px 70px #00000080,0 0 40px #ff95001f}.alert-info{border-color:#0a84ff59;box-shadow:0 30px 70px #00000080,0 0 40px #0a84ff1f}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalPulseIcon{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.refresh-btn{background:none;border:none;color:#4facfe;cursor:pointer;font-size:.9rem;margin-left:10px;padding:0;transition:color .2s}.refresh-btn:hover{color:#00f2fe}.refresh-btn:disabled{color:#555;cursor:not-allowed}.query-results{border-top:2px solid #ffffff1a;margin-top:30px;padding-top:30px}.query-results h2{color:#ffffffe6;font-size:1.8rem;margin-bottom:20px}.results-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.result-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#ffffffe6;padding:25px;text-align:center;transition:transform .2s}.result-card:hover{transform:translateY(-5px)}.result-card.primary,.result-card:hover{background:#ffffff26;border-color:#ffffff4d}.result-card.primary{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffffe6}.result-label{animation:shine 4s linear infinite;background:linear-gradient(120deg,#ffffffe6 30%,#fff 50%,#ffffffe6 70%);-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#ffffffe6;display:inline-block;font-size:.9rem;font-weight:500;margin-bottom:10px}.result-card.primary .result-label,.result-label{-webkit-text-fill-color:#0000}.result-value{color:#ffffffe6;font-size:2rem;font-weight:700;margin-bottom:5px}.duration-unit{font-size:.75rem;font-weight:400}.result-operation{color:#fffc;font-size:.85rem;margin-top:5px}.results-details{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;margin-bottom:20px;padding:20px}.detail-row{border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:10px 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#ffffffe6;font-weight:600}.detail-value{color:#fffc;font-family:Courier New,monospace}.results-json{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#ffffffe6;overflow-x:auto;padding:20px}.results-json h3{color:#ffffffe6;font-size:1.1rem;margin-bottom:15px}.results-json pre{color:#ffffffe6;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;margin:0}@media (max-width:768px){.results-grid{grid-template-columns:1fr}.detail-row{flex-direction:column;gap:5px}}.realtime-monitor{padding:20px 0;width:100%}.monitor-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.monitor-header h2{color:#ffffffe6;font-size:1.8rem;margin:0}.header-controls{gap:20px}.connection-status,.header-controls{align-items:center;display:flex}.status-indicator{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;font-size:1rem;font-weight:600;padding:8px 16px}.status-indicator.connected{border:1px solid #4caf504d;color:#4caf50}.status-indicator.disconnected{border:1px solid #f443364d;color:#f44336}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:20px;text-align:center;transition:all .3s}.stat-card:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.stat-label{color:#ffffffb3;font-size:.9rem;font-weight:500;margin-bottom:10px}.stat-value{animation:shine 4s linear infinite;background:linear-gradient(120deg,#ffffffe6 30%,#fff 50%,#ffffffe6 70%);-webkit-background-clip:text;background-clip:text;background-size:200% 100%;color:#ffffffe6;font-size:2rem;font-weight:700}@keyframes shine{0%{background-position:100%}to{background-position:-100%}}.visualize-btn{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#ffffffe6;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s}.visualize-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.graph-container{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:25px;overflow:hidden;padding:20px;width:100%}.temperature-graph{background:#0000004d;border-radius:8px;display:block;height:400px;width:100%}.sensor-selector{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:20px}.sensor-btn{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#ffffffe6;cursor:pointer;font-size:1rem;font-weight:600;min-width:100px;padding:12px 24px;transition:all .2s}.sensor-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.sensor-btn.active{background:#fff3;border-color:#fff6;box-shadow:0 0 10px #fff3}.sensor-btn.sensor-1.active{background:#4caf504d;border-color:#4caf5099;box-shadow:0 0 15px #4caf5066;color:#4caf50}.sensor-btn.sensor-2.active{background:#2196f34d;border-color:#2196f399;box-shadow:0 0 15px #2196f366;color:#2196f3}.sensor-btn.sensor-3.active{background:#ff98004d;border-color:#ff980099;box-shadow:0 0 15px #ff980066;color:#ff9800}.data-stream{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;max-height:600px;min-height:400px;overflow-y:auto;padding:20px}.data-stream::-webkit-scrollbar{width:8px}.data-stream::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.data-stream::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.data-stream::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.no-data{align-items:center;color:#fff9;display:flex;font-size:1.1rem;font-style:italic;height:300px;justify-content:center}.data-list{display:flex;flex-direction:column;gap:12px}.data-item{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;padding:16px;transition:background .2s,border-color .2s,transform .2s}.data-item:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateX(5px)}.data-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.device-badge{border-radius:16px;color:#fff;font-size:.85rem;font-weight:700;padding:6px 14px;text-shadow:0 1px 2px #0000004d}.metric-name{color:#ffffffe6;flex:1 1;font-size:1rem;font-weight:600}.received-time{color:#fff9;font-family:Courier New,monospace;font-size:.85rem}.data-item-body{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.data-field{align-items:center;display:flex;gap:8px}.field-label{color:#ffffffb3;font-size:.9rem;font-weight:500}.field-value{color:#ffffffe6;font-family:Courier New,monospace;font-size:.95rem}.value-highlight{color:#4caf50;font-size:1.1rem;font-weight:700;text-shadow:0 0 10px #4caf504d}@media (max-width:768px){.stats-grid{grid-template-columns:1fr 1fr}.sensor-selector{flex-direction:column}.sensor-btn{width:100%}.data-item-header{align-items:flex-start;flex-direction:column}.data-item-body{grid-template-columns:1fr}}.data-item-anim-enter{opacity:0;transform:translateY(-20px)}.data-item-anim-enter-active{transition:opacity .5s ease-out,transform .5s ease-out}.data-item-anim-enter-active,.data-item-anim-exit{opacity:1;transform:translateY(0)}.data-item-anim-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s ease-in,transform .3s ease-in}.animated-gradient-text{--animation-duration:8s;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1.25rem;cursor:pointer;display:flex;flex-direction:row;font-weight:500;justify-content:center;margin:0 auto;max-width:-webkit-fit-content;max-width:fit-content;overflow:hidden;position:relative;transition:box-shadow .5s ease-out}.gradient-overlay{animation:gradient 8s linear infinite;animation:gradient var(--animation-duration,8s) linear infinite;background-size:300% 100%;bottom:0;pointer-events:none;right:0;z-index:0}.gradient-overlay,.gradient-overlay:before{border-radius:inherit;left:0;position:absolute;top:0}.gradient-overlay:before{background-color:#060010;content:"";height:calc(100% - 2px);left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 2px);z-index:-1}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.text-content{display:inline-block;position:relative;z-index:2}.gradient-text-element,.text-content>*{animation:gradient 8s linear infinite!important;animation:gradient var(--animation-duration,8s) linear infinite!important;background-clip:text!important;-webkit-background-clip:text!important;background-size:300% 100%!important;color:#0000!important}.animated-gradient-text .gradient-text-element,.animated-gradient-text .text-content h1{color:#0000!important}.particles-container{height:100%;position:relative;width:100%}.cluster-dashboard{color:#fff;padding:20px 0;width:100%}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.dashboard-header h2{color:#ffffffe6;font-size:1.8rem;margin:0}.cluster-meta{display:flex;gap:10px}.meta-badge{background:#ffffff1a;border:1px solid #ffffff26;border-radius:20px;font-size:.85rem;font-weight:500;padding:5px 12px}.node-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.node-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-left:4px solid #555;border-radius:12px;overflow:hidden;padding:20px;position:relative;transition:all .3s}.node-card:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.node-card.status-alive{border-left-color:#4caf50}.node-card.status-dead{border-left-color:#f44336}.node-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.node-header h3{color:#e2e8f0;font-family:monospace;font-size:1.2rem;margin:0}.status-indicator{border-radius:50%;height:12px;width:12px}.status-indicator.status-alive{animation:pulse-alive 2s infinite;background-color:#4caf50;box-shadow:0 0 10px #4caf5099}.status-indicator.status-dead{background-color:#f44336;box-shadow:0 0 10px #f4433699}@keyframes pulse-alive{0%{box-shadow:0 0 0 0 #4caf5066}70%{box-shadow:0 0 0 6px #4caf5000}to{box-shadow:0 0 0 0 #4caf5000}}.node-body{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;font-size:.9rem;justify-content:space-between}.info-row .label{color:#94a3b8}.info-row .value{color:#f8fafc;font-weight:500}.info-row .value.status-alive{color:#4caf50}.info-row .value.status-dead{color:#f44336}.error,.loading,.no-nodes{color:#94a3b8;font-size:1.1rem;padding:40px;text-align:center}.error{color:#f44336}
/*# sourceMappingURL=main.994b5582.css.map*/