*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100vh;width:100vw}.stats-panel{--sidebar-width:clamp(360px,32vw,440px);box-shadow:2px 0 8px #0000004d;display:flex;flex:0 0 var(--sidebar-width);flex-direction:column;gap:1.5rem;height:100%;max-width:var(--sidebar-width);min-width:var(--sidebar-width);overflow-x:hidden;overflow-y:auto;padding:1.5rem;position:relative;transition:transform .3s ease;width:var(--sidebar-width);z-index:1000}.stats-panel__close{align-items:center;background:#0000;border:none;border-radius:4px;color:inherit;cursor:pointer;display:none;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;opacity:.7;padding:.25rem;position:absolute;right:1rem;top:1rem;transition:background-color .2s ease,opacity .2s ease;width:32px;z-index:10}.stats-panel__close:hover{background-color:#0000001a;opacity:1}.stats-panel.dark .stats-panel__close:hover{background-color:#ffffff1a}.stats-panel__close:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}@media (max-width:1200px){.stats-panel{--sidebar-width:clamp(330px,38vw,380px)}}@media (max-width:900px){.stats-panel{--sidebar-width:310px}}@media (max-width:768px){.stats-panel{--sidebar-width:280px;height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:2000}.stats-panel.open{transform:translateX(0)}.stats-panel__close{display:flex}}@media (min-width:769px){.stats-panel{transform:translateX(0)!important}.stats-panel__close{display:none!important}}.stats-panel.dark::-webkit-scrollbar{width:8px}.stats-panel.dark::-webkit-scrollbar-track{background:#ffffff0d}.stats-panel.dark::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.stats-panel.dark::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.stats-panel.light::-webkit-scrollbar{width:8px}.stats-panel.light::-webkit-scrollbar-track{background:#f0f0f0}.stats-panel.light::-webkit-scrollbar-thumb{background:silver;border-radius:4px}.stats-panel.light::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.stats-panel.dark{background:#1e1e1e;color:#e0e0e0}.stats-panel.light{background:#fff;color:#333}.stats-panel.showing-details .stats-section:not(.node-details){display:none}.stats-section{display:flex;flex-direction:column;gap:.75rem}.stats-panel.dark .stats-section h2{border-bottom:2px solid #ffffff1a;color:#fff}.stats-panel.light .stats-section h2{border-bottom:2px solid #f0f0f0;color:#333}.stats-section h2{font-size:1rem;font-weight:600;margin:0;padding-bottom:.5rem}.stat-card{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;gap:1rem;padding:1rem}.stat-card.online{background:linear-gradient(135deg,#4caf50,#388e3c)}.stat-card.offline{background:linear-gradient(135deg,#f44336,#d32f2f)}.stat-icon{font-size:2rem}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.8rem;font-weight:700}.stat-label{font-size:.85rem;opacity:.9}.metric-bar{display:flex;flex-direction:column;gap:.4rem}.stats-panel.dark .metric-label{color:#bbb}.stats-panel.light .metric-label{color:#666}.metric-label{display:flex;font-size:.9rem;font-weight:500;justify-content:space-between}.stats-panel.dark .metric-value{color:#fff}.stats-panel.light .metric-value{color:#333}.metric-value{font-weight:600}.stats-panel.dark .progress-bar{background:#ffffff1a}.stats-panel.light .progress-bar{background:#f0f0f0}.progress-bar{border-radius:5px;height:10px;overflow:hidden;width:100%}.progress-fill{border-radius:5px;height:100%;transition:width .3s ease}.progress-fill.cpu{background:linear-gradient(90deg,#667eea,#764ba2)}.progress-fill.memory{background:linear-gradient(90deg,#f093fb,#f5576c)}.progress-fill.disk{background:linear-gradient(90deg,#4facfe,#00f2fe)}.throughput-cards{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.throughput-card{border-radius:8px;color:#fff;display:flex;flex-direction:column;gap:.2rem;padding:.75rem}.throughput-card.upload{background:linear-gradient(135deg,#00c6ff,#0072ff)}.throughput-card.download{background:linear-gradient(135deg,#f7971e,#ffd200)}.throughput-label{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.throughput-value{font-size:1.1rem;font-weight:600}.stats-panel.dark .provider-item{background:#ffffff0d}.stats-panel.light .provider-item{background:#f8f9fa}.provider-item{align-items:center;border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;padding:.6rem .8rem}.stats-panel.dark .provider-name{color:#e0e0e0}.stats-panel.light .provider-name{color:#555}.provider-name{font-weight:500;text-transform:capitalize}.provider-count{background:#667eea;border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:2px 10px}.stats-panel.dark .node-item{background:#ffffff0d;border-left:4px solid #555}.stats-panel.light .node-item{background:#f8f9fa;border-left:4px solid #ccc}.node-item{background-clip:padding-box;border:none;border-radius:6px;color:inherit;cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;font:inherit;gap:.35rem;padding:.6rem .8rem;text-align:left;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.node-item:focus-visible{outline:2px solid #667eea;outline-offset:2px}.node-item.active{box-shadow:0 6px 12px #0003;transform:translateX(4px)}.stats-panel.dark .node-item.active{background:#667eea33}.stats-panel.light .node-item.active{background:#667eea26}.node-item-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;min-width:0}.node-item.status-online{border-left-color:#4caf50}.node-item.status-warning{border-left-color:#ff9800}.node-item.status-offline{border-left-color:#f44336}.stats-panel.dark .node-name{color:#e0e0e0}.stats-panel.light .node-name{color:#333}.node-name{flex:1 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-panel.dark .node-status{color:#aaa}.stats-panel.light .node-status{color:#666}.node-status{font-size:.75rem;font-weight:600;text-transform:uppercase}.node-last-seen{font-feature-settings:"tnum";font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:500}.stats-panel.dark .node-last-seen{color:#aaa}.stats-panel.light .node-last-seen{color:#666}.node-last-seen.status-online{color:#4caf50}.node-last-seen.status-warning{color:#ff9800}.node-last-seen.status-offline{color:#f44336}.node-throughput{color:inherit;display:flex;font-size:.75rem;gap:.5rem;justify-content:space-between}.node-details{display:flex;flex-direction:column;gap:1rem}.node-details-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.node-details-close{align-items:center;background:#0000;border:none;border-radius:4px;color:inherit;cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;line-height:1;opacity:.7;padding:.25rem;transition:background-color .2s ease,opacity .2s ease;width:28px}.node-details-close:hover{background-color:#0000001a;opacity:1}.stats-panel.dark .node-details-close:hover{background-color:#ffffff1a}.node-details-close:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}.node-details-content{display:flex;flex-direction:column;gap:1rem}.node-details-title{border-bottom:1px solid;padding-bottom:.75rem}.stats-panel.dark .node-details-title{border-bottom-color:#ffffff1a}.stats-panel.light .node-details-title{border-bottom-color:#e0e0e0}.node-details-title-content{align-items:center;display:flex;gap:1rem}.node-character-image{border:3px solid;border-radius:12px;flex-shrink:0;height:64px;object-fit:cover;width:64px}.stats-panel.dark .node-character-image{border-color:#fff3}.stats-panel.light .node-character-image{border-color:#e0e0e0}.node-details-title-text{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.node-details-title-text h3{font-size:1.25rem;font-weight:600;margin:0}.node-quote{border-left:4px solid;border-radius:8px;font-style:italic;margin-bottom:1rem;padding:1rem}.stats-panel.dark .node-quote{background:#ffffff0d;border-left-color:#667eea}.stats-panel.light .node-quote{background:#f8f9fa;border-left-color:#667eea}.node-quote-text{font-size:.95rem;line-height:1.5}.stats-panel.dark .node-quote-text{color:#e0e0e0}.stats-panel.light .node-quote-text{color:#555}.node-quote-text.loading{opacity:.7}.quote-loading{font-style:normal;opacity:.6}.stats-panel.dark .node-details-title-text h3{color:#fff}.stats-panel.light .node-details-title-text h3{color:#333}.status-pill{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.status-pill.status-online{background:#4caf50;color:#fff}.status-pill.status-warning{background:#ff9800;color:#fff}.status-pill.status-offline{background:#f44336;color:#fff}.node-detail-item{display:flex;flex-direction:column;gap:.25rem}.node-detail-metric{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.node-detail-label{font-size:.85rem;font-weight:500}.stats-panel.dark .node-detail-label{color:#bbb}.stats-panel.light .node-detail-label{color:#666}.node-detail-value{font-size:.9rem;font-weight:600}.stats-panel.dark .node-detail-value{color:#e0e0e0}.stats-panel.light .node-detail-value{color:#333}.node-detail-value code{background:#0000001a;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;padding:.2rem .5rem}.stats-panel.dark .node-detail-value code{background:#ffffff1a;color:#e0e0e0}.stats-panel.light .node-detail-value code{background:#f0f0f0;color:#333}.metrics-box{border-radius:10px;overflow:hidden}.stats-panel.dark .metrics-box{background:#ffffff0a;border:1px solid #ffffff14}.stats-panel.light .metrics-box{background:#f8f9fa;border:1px solid #e8e8e8}.metrics-box-header{border-bottom:1px solid;font-size:.7rem;font-weight:600;letter-spacing:.08em;padding:.5rem .75rem;text-transform:uppercase}.stats-panel.dark .metrics-box-header{background:#ffffff08;border-bottom-color:#ffffff0f;color:#888}.stats-panel.light .metrics-box-header{background:#f0f0f0;border-bottom-color:#e0e0e0;color:#666}.metrics-box-grid{grid-gap:0;display:grid;gap:0}.metrics-box-grid.cols-3{grid-template-columns:repeat(3,1fr)}.metrics-box-grid.cols-4{grid-template-columns:repeat(4,1fr)}.metric-cell{align-items:center;border-bottom:1px solid;border-right:1px solid;display:flex;flex-direction:column;justify-content:center;padding:.75rem .5rem;text-align:center}.metric-cell:last-child{border-right:none}.stats-panel.dark .metric-cell{border-color:#ffffff0f}.stats-panel.light .metric-cell{border-color:#e8e8e8}.metrics-box-grid.cols-3 .metric-cell:nth-child(n+1):nth-last-child(-n+3),.metrics-box-grid.cols-3 .metric-cell:nth-child(n+1):nth-last-child(-n+3)~.metric-cell,.metrics-box-grid.cols-4 .metric-cell:nth-child(n+1):nth-last-child(-n+4),.metrics-box-grid.cols-4 .metric-cell:nth-child(n+1):nth-last-child(-n+4)~.metric-cell{border-bottom:none}.metric-cell-value{font-feature-settings:"tnum";font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.stats-panel.dark .metric-cell-value{color:#fff}.stats-panel.light .metric-cell-value{color:#333}.metric-cell-label{font-size:.65rem;font-weight:500;letter-spacing:.03em;margin-top:.25rem;text-transform:uppercase}.stats-panel.dark .metric-cell-label{color:#888}.stats-panel.light .metric-cell-label{color:#777}.metrics-box-row{align-items:center;border-bottom:1px solid;display:flex;justify-content:space-between;padding:.6rem .75rem}.metrics-box-row:last-child{border-bottom:none}.stats-panel.dark .metrics-box-row{border-bottom-color:#ffffff0f}.stats-panel.light .metrics-box-row{border-bottom-color:#e8e8e8}.metrics-row-label{font-size:.8rem;font-weight:500}.stats-panel.dark .metrics-row-label{color:#999}.stats-panel.light .metrics-row-label{color:#666}.metrics-row-value{font-feature-settings:"tnum";font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600}.stats-panel.dark .metrics-row-value{color:#e0e0e0}.stats-panel.light .metrics-row-value{color:#333}.metrics-row-value.code{border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;padding:.15rem .4rem}.stats-panel.dark .metrics-row-value.code{background:#ffffff14}.stats-panel.light .metrics-row-value.code{background:#e8e8e8}.io-row .io-value{display:flex;gap:.75rem}.io-up{color:#4facfe}.io-down{color:#43e97b}.warning-row{background:#ff980014}.stats-panel.dark .warning-row{background:#ff98001f}.metric-cell-value.temp-cool{color:#4caf50!important}.metric-cell-value.temp-warm{color:#ff9800!important}.metric-cell-value.temp-hot{color:#ff5722!important}.metric-cell-value.temp-critical{animation:pulse-warning 1.5s ease-in-out infinite;color:#f44336!important}.metric-cell-value.swap-warning,.metric-cell-value.throttled{color:#ff9800!important}.metrics-row-value.network-errors{color:#ff9800!important;font-size:.75rem}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.node-details-metrics{grid-gap:.75rem;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);padding:.75rem}.stats-panel.dark .node-details-metrics{background:#ffffff0d}.stats-panel.light .node-details-metrics{background:#f8f9fa}.node-details-header-buttons{align-items:center;display:flex;gap:8px}.interactive-mode-toggle{background:#0000;border:1px solid #fff3;border-radius:4px;cursor:pointer;font-size:16px;padding:4px 8px;transition:all .2s ease}.stats-panel.light .interactive-mode-toggle{border-color:#00000026}.interactive-mode-toggle:hover{background:#667eea33;border-color:#667eea}.interactive-mode-toggle.active{background:#667eea4d;border-color:#667eea}.ask-quote-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;margin-top:12px;padding:8px 16px;transition:all .2s ease;width:100%}.ask-quote-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ask-quote-button:disabled{cursor:not-allowed;opacity:.6}.ask-quote-button.rate-limited{background:linear-gradient(135deg,#6b7280,#4b5563);opacity:.7}.password-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;z-index:1000}.password-modal{background:#1a1a2e;box-shadow:0 8px 32px #0000004d;max-width:90vw;min-width:300px;padding:24px}.stats-panel.light .password-modal{background:#fff;box-shadow:0 8px 32px #00000026}.password-modal h4{margin:0 0 4px}.stats-panel.light .password-modal h4{color:#333}.password-modal-hint{color:#888;margin:0 0 16px}.password-modal input{border-radius:6px;font-size:.95rem;margin-bottom:8px;padding:10px 12px}.stats-panel.light .password-modal input{background:#f5f5f5;border-color:#00000026;color:#333}.password-modal input.error{border-color:#e74c3c}.error-text{color:#e74c3c;display:block;font-size:.85rem;margin-bottom:12px}.modal-buttons{gap:8px;margin-top:16px}.modal-button{border-radius:6px;font-size:.9rem;font-weight:500;padding:10px 16px}.modal-button.cancel{background:#0000;border:1px solid #fff3;color:#888}.stats-panel.light .modal-button.cancel{border-color:#00000026;color:#666}.modal-button.cancel:hover{background:#ffffff1a}.modal-button.submit{border:none}.modal-button.submit:hover{opacity:.9}.App{display:flex;flex-direction:column;height:100vh;width:100vw}.dark-mode .app-header{background:linear-gradient(135deg,#1a1a2e,#16213e);border-bottom:1px solid #ffffff1a;color:#fff}.light-mode .app-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #fff3;color:#fff}.app-header{box-shadow:0 2px 8px #0000004d;padding:1rem 2rem;z-index:1000}@media (max-width:768px){.app-header{padding:.75rem 1rem}}.header-content{justify-content:space-between}.header-content,.header-left{align-items:center;display:flex;gap:1rem}.sidebar-toggle{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.2rem;padding:.5rem 1rem;transition:all .3s ease}.sidebar-toggle:hover{background:#ffffff4d;transform:scale(1.1)}@media (max-width:768px){.sidebar-toggle{display:block}.header-left h1{font-size:1.2rem}}.app-header h1{font-size:1.5rem;font-weight:600;margin:0}.header-right{align-items:center;display:flex;gap:.75rem}.interactive-toggle,.theme-toggle{align-items:center;background:#fff3;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.5rem 1rem;transition:all .3s ease}.interactive-toggle:hover,.theme-toggle:hover{background:#ffffff4d}.interactive-toggle.active{background:#ffd70066;box-shadow:0 0 8px #ffd70080;transform:scale(1.1)}.error-banner{background-color:#f44336;border-radius:4px;color:#fff;font-size:.9rem;margin-top:.5rem;padding:.5rem 1rem}.error-banner.info-banner{background-color:#2196f3}.app-content{display:flex;flex:1 1;overflow:hidden;position:relative}.sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:1500}.sidebar-overlay.open{opacity:1;pointer-events:all}@media (max-width:768px){.sidebar-overlay{display:block}}.map-loading{align-items:center;display:flex;flex:1 1;font-size:1rem;justify-content:center}.dark-mode .map-loading,.map-loading{color:#ffffffbf}.light-mode .map-loading{color:#333}.loading-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:1rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.password-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.password-modal{background:#1e1e2f;border-radius:12px;box-shadow:0 10px 40px #0000004d;min-width:280px;padding:1.5rem}.light-mode .password-modal{background:#fff;box-shadow:0 10px 40px #00000026}.password-modal h4{color:#fff;font-size:1.1rem;margin:0 0 .25rem}.light-mode .password-modal h4{color:#333}.password-modal-hint{color:#fff9;font-size:.85rem;margin:0 0 1rem}.light-mode .password-modal-hint{color:#666}.password-modal input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1rem;margin-bottom:.5rem;padding:.75rem;width:100%}.light-mode .password-modal input{background:#f5f5f5;border-color:#ddd;color:#333}.password-modal input:focus{border-color:#667eea;outline:none}.password-modal input.error{border-color:#ff6b6b}.password-modal .error-text{color:#ff6b6b;display:block;font-size:.85rem;margin-bottom:.5rem}.modal-buttons{display:flex;gap:.5rem;margin-top:1rem}.modal-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.95rem;padding:.75rem;transition:all .2s ease}.modal-button.cancel{background:#ffffff1a;color:#ffffffb3}.light-mode .modal-button.cancel{background:#f0f0f0;color:#666}.modal-button.cancel:hover{background:#fff3}.light-mode .modal-button.cancel:hover{background:#e0e0e0}.modal-button.submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-button.submit:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}
/*# sourceMappingURL=main.eadbcf50.css.map*/