body,html{background-color:var(--background);height:100vh;margin:0;font-family:Inter,sans-serif;font-weight:600;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#10b9810f 0%,#0000 60%);width:150%;height:80%;position:fixed;top:-30%;left:50%;transform:translate(-50%)}#root{z-index:1;position:relative}::-webkit-scrollbar{background:var(--background);width:12px}::-webkit-scrollbar-track{background:var(--background);border-radius:10px;margin:5px}::-webkit-scrollbar-thumb{background:var(--light-gray);border:3px solid var(--background);border-radius:10px;min-height:40px}::-webkit-scrollbar-thumb:hover{background:var(--subtext)}::-webkit-scrollbar-thumb:active{background:var(--white)}.speedtest-icon{color:var(--white);margin-right:10px;font-size:26pt}.container-icon{width:35px;height:35px;color:var(--white);font-size:26pt}.help-icon{cursor:help}.icon-red{color:var(--accent-danger)}.icon-error{color:var(--accent-danger);filter:brightness(.9)}.icon-green{color:var(--accent-primary)}.icon-orange{color:var(--accent-warning)}.icon-blue{color:#3b82f6}main{flex-direction:column;align-items:center;margin-left:1rem;margin-right:1rem;display:flex}@keyframes opacity{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0;filter:blur(2px);transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;filter:blur(2px);transform:scale(.95)}}@media (width<=730px){::-webkit-scrollbar{width:5px}}.lds-ellipsis{width:80px;height:80px;display:inline-block;position:relative}.lds-ellipsis div{background:var(--white);border-radius:50%;width:13px;height:13px;animation-timing-function:cubic-bezier(0,1,1,0);position:absolute;top:33px}.lds-ellipsis div:first-child{animation:.6s infinite lds-ellipsis1;left:8px}.lds-ellipsis div:nth-child(2){animation:.6s infinite lds-ellipsis2;left:8px}.lds-ellipsis div:nth-child(3){animation:.6s infinite lds-ellipsis2;left:32px}.lds-ellipsis div:nth-child(4){animation:.6s infinite lds-ellipsis3;left:56px}@keyframes lds-ellipsis1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes lds-ellipsis3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes lds-ellipsis2{0%{transform:translate(0)}to{transform:translate(24px)}}header{z-index:200;position:relative}.header-main{color:var(--white);grid-template-columns:1fr auto 1fr;align-items:center;margin-top:3rem;padding:0 10%;display:grid}.header-right{justify-content:flex-end;gap:15px;display:flex}.header-main *{font-size:24pt}.header-left{text-overflow:ellipsis;justify-content:flex-start;align-items:center;gap:.5rem;display:flex;overflow:hidden}.demo-info{cursor:pointer;background-color:var(--dark-gray);color:var(--accent-primary);justify-content:center;align-items:center;margin:0;font-size:14pt;display:flex}.header-main h2{border-radius:.75rem;align-items:center;gap:1rem;margin:0;padding:.5rem 1rem;display:flex}.header-logo{border-radius:6px;flex-shrink:0;width:30px;height:30px}.header-about{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:.75rem;gap:.75rem;padding:.45rem .75rem;transition:background-color .15s,border-color .15s}.header-about:hover{background-color:var(--dark-gray);border-color:var(--light-gray)}.header-icon{cursor:pointer;width:30px;height:30px;color:var(--subtext);transition:all .15s ease-in-out;display:flex}.header-icon:hover{color:var(--accent-primary);transform:scale(1.1)}.test-running{color:var(--accent-primary);border-radius:150px;animation:2s infinite pulse}.update-icon{border-radius:150px;animation:2s infinite pulse-update}.update-icon:hover{color:var(--accent-warning);filter:brightness(1.2)}@keyframes pulse-update{0%{box-shadow:0 0 0 0 var(--accent-warning)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@media (width<=768px){.header-main{grid-template-columns:1fr 1fr}}@media screen and (width<=650px){.header-left{flex-direction:column}}@media (width<=530px){.header-left div{margin-right:0}.header-icon{width:25px;height:25px}}@media (width<=480px){.header-icon{width:20px;height:20px}}@media screen and (width<=365px){.demo-info{padding:0;font-size:12pt}}.dropdown{visibility:visible;opacity:1;-webkit-user-select:none;user-select:none;transition:all .15s ease-in-out;transform:translate(0)translateY(0)scale(1)}.dropdown-content{float:right;border:1px solid var(--light-gray);z-index:200;background-color:var(--dark-gray);-webkit-backdrop-filter:blur(4px);border-radius:10px;width:auto;margin-right:10%;padding:15px;display:inline-block;position:absolute;right:0;overflow:auto;box-shadow:0 8px 16px #0000004d}.dropdown-invisible{visibility:hidden;opacity:0;transform:translate(20px)translateY(-10px)scale(.98)}.dropdown-content h2{color:var(--subtext);margin:0;font-size:16pt}.dropdown-hr{border:1px solid var(--light-gray);width:30px;margin:5px}.dropdown-entries{flex-direction:column;margin-top:10px;display:flex}.dropdown-item{cursor:pointer;color:var(--white);align-items:center;margin:5px 10px;display:flex}.dropdown-item *{margin:0;font-size:16pt;font-weight:500}.dropdown-item:hover{color:var(--accent-primary)}.dropdown-item svg{width:25px;height:25px}.dropdown-item h3{margin-left:15px}.center{justify-content:center;display:flex}@media (width<=390px){.dropdown-content{margin-right:0}}.dialog-btn-danger:hover,.dialog-secondary:hover{border-color:var(--accent-danger);color:var(--accent-danger)}.input-error,.input-error:focus{border-color:var(--accent-danger)}@media (width<=600px){.dialog{min-width:280px;max-width:95vw;padding:1rem}.dialog-text{font-size:1.15rem}.dialog-description{font-size:1rem}.dialog-btn{padding:.6rem 1rem;font-size:.95rem}}.welcome-banner{-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;width:32rem;display:flex}.welcome-banner .welcome-inner{height:100%}.welcome-banner .welcome-actions{justify-content:space-between;align-items:center;margin-top:1.5rem;display:flex}.welcome-banner .welcome-actions h3{color:var(--subtext);margin:0;font-size:1rem;font-weight:500}.welcome-banner .welcome-actions .dialog-btn{border-radius:.6rem;padding:.6rem 1.5rem}.welcome-banner .slide-in{animation:.5s forwards slide-in}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media screen and (width<=600px){.welcome-banner{width:100%}.slide-in{animation:.5s forwards slide-in}}.welcome-greetings{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;height:100%;margin:1rem 0;display:flex}.welcome-greetings img{height:5rem}.welcome-greetings h2{color:var(--white);margin:0;font-size:1.75rem;font-weight:600}.welcome-greetings p{color:var(--subtext);margin:0;padding-left:2rem;padding-right:2rem;font-size:1.1rem}.provider-chooser h2{color:var(--subtext);margin:0 0 .75rem;font-size:1.15rem;font-weight:500}.provider-chooser p{color:var(--subtext);margin:0;font-size:1rem}.provider-chooser .provider-list{margin-top:1.25rem}.provider-dialog-wrapper{width:28rem;max-width:95vw}.provider-dialog-wrapper .dialog-main{display:block}.provider-content{-webkit-user-select:none;user-select:none;margin:1rem .5rem}.provider-list{margin-bottom:1.25rem}.provider-list .selectable-option-image{border-radius:.3rem;width:1.75rem;height:1.75rem}.provider-settings{border-top:1px solid var(--light-gray);flex-direction:column;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.provider-setting{justify-content:space-between;align-items:center;gap:1rem;display:flex}.provider-setting-label{white-space:nowrap;flex-shrink:0;align-items:center;gap:.6rem;display:flex}.provider-setting-label svg{color:var(--subtext);width:1rem;font-size:1rem}.provider-setting-label h3{color:var(--subtext);margin:0;font-size:.95rem;font-weight:500}.provider-input{box-sizing:border-box;text-align:left;width:14rem;min-width:14rem;max-width:14rem;height:2.5rem;padding:.6rem .875rem;font-size:.95rem;margin:0!important}.provider-license{border-top:1px solid var(--light-gray);cursor:pointer;align-items:flex-start;gap:.75rem;margin:1.25rem 0 0;padding-top:1.25rem;display:flex}.provider-license input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0;margin-top:.15rem}.provider-license span{color:var(--subtext);font-size:.9rem;line-height:1.5}.provider-license a{color:var(--accent-primary)}@media screen and (width<=520px){.provider-setting{flex-direction:column;align-items:flex-start;gap:.5rem}.provider-input{width:100%}}.toast-notification{z-index:5;background-color:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--light-gray);cursor:pointer;border-radius:.75rem;transition:all .2s;animation:.5s cubic-bezier(.4,0,.2,1) moveIn;position:fixed;bottom:2rem;right:1rem;box-shadow:0 8px 24px #00000040}.toast-hidden{visibility:hidden;transition:all 0s .5s;animation:.5s cubic-bezier(.4,0,.2,1) moveOut}.toast-green{border-left:4px solid var(--accent-primary)}.toast-green .toast-content svg{color:var(--accent-primary)}.toast-green:hover{border-color:var(--light-gray);border-left-color:var(--accent-primary);transform:translate(-4px)}.toast-red{border-left:4px solid var(--accent-danger)}.toast-red .toast-content svg{color:var(--accent-danger)}.toast-red:hover{border-color:var(--light-gray);border-left-color:var(--accent-danger);transform:translate(-4px)}.toast-content{color:var(--white);align-items:center;padding:1rem 1.25rem;font-size:14px;font-weight:500;display:flex}.toast-content svg{width:1.75rem;height:1.75rem;margin-right:1rem}.toast-content h2{margin:0;font-size:1.25rem;font-weight:600}@keyframes moveIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes moveOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media screen and (width<=425px){.toast-notification{bottom:1rem;left:1rem;right:1rem}@keyframes moveIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes moveOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}}.selectable-list{flex-direction:column;gap:.5rem;display:flex}.selectable-option{border:1px solid var(--light-gray);cursor:pointer;border-radius:.75rem;align-items:center;gap:1rem;padding:.875rem 1.125rem;transition:all .15s;display:flex}.selectable-option:hover{background-color:var(--darker-gray)}.selectable-option-icon{color:var(--subtext);flex-shrink:0;width:1.5rem;font-size:1.25rem}.selectable-option-image{object-fit:contain;border-radius:.25rem;flex-shrink:0;width:2.25rem;height:auto}.selectable-option-text{flex:1;min-width:0}.selectable-option-text h3{color:var(--subtext);margin:0;font-size:1rem;font-weight:500}.selectable-option-text p{color:var(--subtext);opacity:.7;margin:.15rem 0 0;font-size:.85rem}.selectable-option-radio{border:2px solid var(--subtext);border-radius:50%;flex-shrink:0;width:1.15rem;height:1.15rem;transition:border-color .15s;position:relative}.selectable-option-radio-active{border-color:var(--accent-primary)}.selectable-option-radio-active:after{content:"";background-color:var(--accent-primary);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.selectable-option-active{background-color:var(--light-gray);border-color:var(--accent-primary)}.selectable-option-active .selectable-option-icon,.selectable-option-active .selectable-option-text h3{color:var(--white)}.selectable-option-active:hover{background-color:var(--light-gray)}@media screen and (width<=425px){.selectable-option{padding:.75rem 1rem}}.data-helper h2{color:var(--subtext);margin:0 0 .75rem;font-size:1.15rem;font-weight:500}.data-helper p{color:var(--subtext);margin:0;font-size:1rem}.data-helper .speeds{justify-content:center;gap:2rem;margin-top:1.25rem;display:flex}.data-helper .speeds .speed{flex-direction:column;align-items:center;display:flex}.data-helper .speeds .speed input{box-sizing:border-box;width:100%}.data-helper .speeds .speed .speed-header{white-space:nowrap;align-items:center;margin-bottom:.75rem;display:flex}.data-helper .speeds .speed .speed-header svg{color:#10b981;margin-right:.5rem;font-size:1.75rem}.data-helper .speeds .speed .speed-header .speed-text h2{color:var(--subtext);margin:0;font-size:1.1rem;font-weight:500}.data-helper .speeds .speed .speed-header .speed-text p{color:var(--subtext);margin:0;font-size:.95rem}@media screen and (width<=600px){.data-helper .speeds{flex-direction:column;gap:1.25rem;margin-top:.75rem}.data-helper .speeds .speed{flex-direction:row;justify-content:space-between;width:100%}.data-helper .speeds .speed input{width:50%}}.ookla-license h2{color:var(--subtext);margin:0 0 .75rem;font-size:1.15rem;font-weight:500}.ookla-license p{color:var(--subtext);margin:0;font-size:1rem}.ookla-license .documents{flex-direction:column;margin-top:1.25rem;display:flex}.ookla-license .documents .document{color:#10b981;align-items:center;margin:.4rem 0;text-decoration:none;display:flex}.ookla-license .documents .document svg{margin-right:.6rem;font-size:1.4rem}.ookla-license .documents .document p{color:#10b981;font-size:1.05rem;font-weight:500}.integrations-wrapper{flex-direction:column;gap:1.25rem;width:34rem;margin-top:1rem;display:flex}.preview-warning{border:1px solid var(--accent-danger);color:var(--accent-danger);background-color:#ef44441a;border-radius:.75rem;align-items:center;gap:.6rem;padding:.875rem 1.25rem;font-size:1rem;font-weight:500;display:flex}.preview-warning svg{flex-shrink:0}.empty-state{text-align:center;color:var(--subtext);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:3rem 2rem;display:flex}.empty-state svg{opacity:.6;font-size:3.5rem}.empty-state p{margin:0;font-size:1.1rem}.integrations-list{flex-direction:column;gap:.875rem;max-height:20rem;display:flex;overflow-y:auto}@media (width<=600px){.integrations-wrapper{width:85vw}.integrations-list{max-height:50vh}}.toggle-switch{flex-shrink:0;width:2.5rem;height:1.375rem;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--light-gray);border-radius:.75rem;transition:background-color .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:var(--white);border-radius:50%;width:1rem;height:1rem;transition:transform .2s;position:absolute;top:50%;left:.1875rem;transform:translateY(-50%);box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateY(-50%)translate(1.125rem)}.toggle-disabled{opacity:.5;pointer-events:none}.form-field{justify-content:space-between;align-items:center;gap:1rem;display:flex}.form-field label:first-child{color:var(--subtext);flex:1;font-size:.95rem;font-weight:500}.form-field-error{color:var(--accent-danger)!important}.form-field-input{background-color:var(--dark-gray);border:1px solid var(--light-gray);width:55%;color:var(--white);border-radius:.6rem;flex-shrink:0;padding:.6rem .875rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.form-field-input:focus{border-color:var(--accent-primary);outline:none}.form-field-input.input-error{border-color:var(--accent-danger)}.form-field-input::placeholder{color:var(--subtext);opacity:.6}.form-field-input:disabled{opacity:.5;cursor:not-allowed}.form-field-textarea{resize:vertical;min-height:4rem}@media (width<=600px){.form-field{flex-direction:column;align-items:flex-start;gap:.5rem}.form-field .form-field-input{width:100%}}.expandable-card{background-color:var(--darker-gray);border:1px solid var(--light-gray);border-radius:.875rem;transition:all .2s}.expandable-card.card-error{border-color:var(--accent-danger)}.expandable-card.card-success{border-color:var(--accent-primary)}.expandable-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:1rem 1.125rem;display:flex}.expandable-card-header:hover{background-color:#ffffff05;border-radius:.875rem}.expandable-card-info{align-items:center;gap:.875rem;display:flex}.expandable-card-icon{background-color:var(--light-gray);width:2.75rem;height:2.75rem;color:var(--white);border-radius:.6rem;justify-content:center;align-items:center;display:flex}.expandable-card-icon svg{font-size:1.2rem}.expandable-card-details h3{color:var(--white);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;margin:0;font-size:1.05rem;font-weight:500;overflow:hidden}.expandable-card-status{align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.status-dot{border-radius:50%;width:.5rem;height:.5rem}.status-dot.status-active{background-color:var(--accent-primary)}.status-dot.status-inactive{background-color:var(--light-gray)}.status-dot.status-error{background-color:var(--accent-danger)}.status-text{color:var(--subtext);font-size:.85rem}.expandable-card-actions{align-items:center;gap:.35rem;display:flex}.card-action-btn{width:2.25rem;height:2.25rem;color:var(--subtext);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;transition:all .15s;display:flex}.card-action-btn:hover{background-color:var(--light-gray)}.card-action-btn svg{font-size:1rem}.card-action-btn.save-btn:hover{color:var(--accent-primary)}.card-action-btn.delete-btn:hover{color:var(--accent-danger)}.card-action-btn.delete-btn.confirm{color:var(--accent-danger);background-color:#ef44441a}.card-action-btn.success-indicator{color:var(--accent-primary);cursor:default}.card-action-btn.success-indicator:hover{background:0 0}.expandable-card-body{border-top:1px solid var(--light-gray);flex-direction:column;gap:.875rem;margin-top:.5rem;padding:1.125rem;display:flex}@media (width<=600px){.expandable-card-details h3{max-width:8rem}}.dropdown-select-container{outline:none;justify-content:flex-end;display:flex;position:relative}.dropdown-select-btn{background-color:var(--darker-gray);border:1px solid var(--light-gray);color:var(--subtext);cursor:pointer;border-radius:.6rem;align-items:center;gap:.6rem;padding:.7rem 1.125rem;font-size:1rem;font-weight:500;transition:all .15s;display:flex}.dropdown-select-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.dropdown-select-btn svg{font-size:1rem}.dropdown-select-chevron{margin-left:.25rem;transition:transform .2s}.dropdown-select-chevron.rotated{transform:rotate(180deg)}.dropdown-select-menu{background-color:var(--darker-gray);border:1px solid var(--light-gray);z-index:1000;border-radius:.6rem;min-width:13rem;position:absolute;top:auto;bottom:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 8px 24px #0000004d}.dropdown-select-item{color:var(--subtext);cursor:pointer;align-items:center;gap:.875rem;padding:.875rem 1.125rem;transition:all .15s;display:flex}.dropdown-select-item:hover{background-color:var(--light-gray);color:var(--white)}.dropdown-select-item svg{width:1.2rem;font-size:1.1rem}.dropdown-select-item span{font-size:1rem}.language-dialog{width:22rem}.language-dialog .dialog-main{display:block}.language-content{-webkit-user-select:none;user-select:none;margin:1rem .5rem}.language-list{max-height:22rem;padding-right:.25rem;overflow-y:auto}.language-list::-webkit-scrollbar{width:.4rem}.language-list::-webkit-scrollbar-track{background:0 0}.language-list::-webkit-scrollbar-thumb{background:var(--light-gray);border-radius:.25rem}.language-list::-webkit-scrollbar-thumb:hover{background:var(--subtext)}@media screen and (height<=500px){.language-list{max-height:14rem}}@media screen and (width<=425px){.language-dialog{width:90vw}}.storage-dialog-wrapper{width:48rem;max-width:95vw}.storage-dialog-wrapper .dialog-main{display:block}.storage-dialog{-webkit-user-select:none;user-select:none;gap:2rem;margin:1rem .5rem;display:flex}.storage-options{flex-direction:column;justify-content:space-between;display:flex}.storage-top{-webkit-user-select:none;user-select:none;flex-direction:column;gap:.5rem;display:flex}.storage-tab{color:var(--subtext);cursor:pointer;border:1px solid #0000;border-radius:.6rem;align-items:center;gap:.6rem;padding:.6rem .875rem;transition:all .15s;display:flex}.storage-tab:hover{background-color:var(--darker-gray)}.storage-tab svg{flex-shrink:0;width:1.2rem;height:1.2rem}.storage-tab p{margin:0;font-size:1rem;font-weight:500}.reset-cursor{cursor:default}.reset-cursor:hover{background-color:#0000}.storage-item-active{background-color:var(--light-gray);border-color:var(--accent-primary);color:var(--white)}.storage-item-active:hover{background-color:var(--light-gray)}.storage-manager{flex-direction:column;flex:1;gap:1rem;min-height:18rem;display:flex}.storage-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.storage-row .storage-row-label{align-items:center;gap:.6rem;display:flex}.storage-row .storage-row-label svg{color:var(--subtext);width:1rem;font-size:1rem}.storage-row .storage-row-label h3{color:var(--subtext);margin:0;font-size:1rem;font-weight:500}.storage-row .storage-row-value{color:var(--white);margin:0;font-size:1rem;font-weight:600}.storage-row .storage-row-actions{gap:.5rem;display:flex}.storage-row .dialog-btn{padding:.5rem 1rem}.storage-select,.storage-input{background-color:var(--darker-gray);border:1px solid var(--light-gray);color:var(--white);cursor:pointer;box-sizing:border-box;border-radius:.6rem;outline:none;align-items:center;padding:.5rem 1rem;font-family:inherit;font-size:1rem;font-weight:500;line-height:1.25;transition:all .15s;display:inline-flex}.storage-select:hover,.storage-input:hover,.storage-select:focus,.storage-input:focus{border-color:var(--accent-primary)}.storage-select.input-error,.storage-select.input-error:focus,.storage-input.input-error,.storage-input.input-error:focus{border-color:var(--accent-danger)}.storage-input{cursor:text;text-align:left;appearance:textfield}.storage-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.storage-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.storage-retention-select-wrap{display:inline-flex;position:relative}.storage-retention-select-wrap:after{content:"";border-right:2px solid var(--subtext);border-bottom:2px solid var(--subtext);pointer-events:none;width:.5rem;height:.5rem;transition:border-color .15s;position:absolute;top:50%;right:.85rem;transform:translateY(-70%)rotate(45deg)}.storage-retention-select-wrap:hover:after{border-color:var(--accent-primary)}.storage-select{appearance:none;padding-right:2.25rem}.storage-select::-ms-expand{display:none}.storage-retention-controls{flex-wrap:nowrap;align-items:center}.storage-retention-controls .storage-retention-select-wrap{flex:0 auto}.storage-retention-controls .storage-input-wrap{flex:0 7.5rem;align-items:center;display:inline-flex;position:relative}.storage-retention-controls .storage-input-wrap .storage-input{width:100%;padding-right:3rem}.storage-retention-controls .storage-input-wrap .storage-input-suffix{color:var(--subtext);pointer-events:none;font-size:.875rem;font-weight:500;position:absolute;right:.85rem}.storage-icon-btn{background-color:var(--darker-gray);border:1px solid var(--light-gray);width:2.4rem;height:2.4rem;color:var(--subtext);cursor:pointer;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.storage-icon-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.storage-icon-btn svg{font-size:.9rem}@media (width<=781px){.storage-dialog-wrapper{width:95vw}.storage-dialog{flex-direction:column;gap:1rem}.storage-bottom{display:none}.storage-manager{border-top:1px solid var(--light-gray);padding-top:1rem}.storage-top{flex-direction:row;justify-content:center;gap:.5rem}.storage-manager{min-height:0}.storage-row{flex-direction:column;align-items:flex-start;gap:.5rem}.storage-row .storage-row-actions{width:100%}.storage-row .storage-row-actions .dialog-btn,.storage-row .storage-retention-controls .storage-retention-select-wrap,.storage-row .storage-retention-controls .storage-input-wrap{flex:1}.storage-row .storage-retention-controls .storage-select{width:100%}}.optimal-values-dialog{width:28rem;max-width:95vw}.optimal-values-dialog .dialog-main{display:block}.optimal-values-content{-webkit-user-select:none;user-select:none;margin:1rem 0}.optimal-values-content .optimal-values-speeds{justify-content:center;gap:1.5rem;display:flex}.optimal-values-content .optimal-values-speeds .optimal-values-speed{flex-direction:column;align-items:center;display:flex}.optimal-values-content .optimal-values-speeds .optimal-values-speed input{box-sizing:border-box;text-align:center;width:7.5rem;height:2.5rem;margin:0}.optimal-values-content .optimal-values-speeds .optimal-values-speed .optimal-values-speed-header{align-items:center;margin-bottom:.75rem;display:flex}.optimal-values-content .optimal-values-speeds .optimal-values-speed .optimal-values-speed-header svg{color:#10b981;margin-right:.5rem;font-size:1.6rem}.optimal-values-content .optimal-values-speeds .optimal-values-speed .optimal-values-speed-header .optimal-values-speed-text h2{color:var(--subtext);margin:0;font-size:1.1rem;font-weight:500}.optimal-values-content .optimal-values-speeds .optimal-values-speed .optimal-values-speed-header .optimal-values-speed-text p{color:var(--subtext);margin:0;font-size:.95rem}@media screen and (width<=600px){.optimal-values-content .optimal-values-speeds{flex-direction:column;gap:1.25rem}.optimal-values-content .optimal-values-speeds .optimal-values-speed{flex-direction:row;justify-content:space-between;width:100%}.optimal-values-content .optimal-values-speeds .optimal-values-speed input{width:40%}}.frequency-dialog{width:28rem;max-width:95vw}.frequency-dialog .dialog-main{display:block}.frequency-content{-webkit-user-select:none;user-select:none;margin:1rem .5rem}.frequency-advanced-toggle{border:1px solid var(--light-gray);width:100%;color:var(--subtext);cursor:pointer;background:0 0;border-radius:.6rem;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;transition:all .15s;display:flex}.frequency-advanced-toggle:hover{background-color:var(--darker-gray)}.frequency-advanced-toggle svg{font-size:.85rem;transition:transform .2s}.frequency-advanced-toggle.frequency-advanced-open{background-color:var(--darker-gray);border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.frequency-advanced-toggle.frequency-advanced-open svg{transform:rotate(180deg)}.frequency-custom{background-color:var(--darker-gray);border:1px solid var(--light-gray);border-top:none;border-radius:0 0 .6rem .6rem;padding:1rem}.frequency-custom-input{align-items:center;gap:.75rem;display:flex}.frequency-custom-input .dialog-input{box-sizing:border-box;text-align:center;flex:1;height:2.5rem;margin:0}.frequency-help{color:var(--subtext);padding:.25rem;font-size:1.1rem;transition:color .15s}.frequency-help:hover{color:var(--accent-primary)}.frequency-next-run{color:var(--subtext);text-align:center;margin:.75rem 0 0;font-size:.85rem}.frequency-option{border:1px solid var(--light-gray);cursor:pointer;border-radius:.75rem;align-items:center;gap:.875rem;margin-top:1rem;padding:.875rem 1rem;transition:all .15s;display:flex}.frequency-option:hover{background-color:var(--darker-gray)}.frequency-option-text{flex:1}.frequency-option-text h3{color:var(--subtext);margin:0;font-size:.95rem;font-weight:500}.frequency-option-text p{color:var(--subtext);opacity:.7;margin:.15rem 0 0;font-size:.8rem}.frequency-toggle{background-color:var(--light-gray);border-radius:12px;flex-shrink:0;width:42px;height:24px;transition:background-color .2s;position:relative}.frequency-toggle-knob{background-color:var(--white);border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.frequency-toggle-active{background-color:var(--accent-primary)}.frequency-toggle-active .frequency-toggle-knob{transform:translate(18px)}.password-dialog{width:28rem;max-width:95vw}.password-dialog .dialog-main{display:block}.password-content{-webkit-user-select:none;user-select:none;flex-direction:column;gap:1.25rem;margin:1rem .5rem;display:flex}.password-section{justify-content:space-between;align-items:center;gap:1rem;display:flex}.password-label{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.password-label svg{width:1rem;color:var(--subtext);font-size:1rem}.password-label h3{color:var(--subtext);margin:0;font-size:1rem;font-weight:500}.password-input-wrapper{align-items:center;width:14rem;display:flex;position:relative}.password-input-wrapper .dialog-input{box-sizing:border-box;width:100%;height:2.5rem;margin:0;padding-right:2.5rem}.password-toggle{color:var(--subtext);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:color .15s;display:flex;position:absolute;right:.75rem}.password-toggle:hover{color:var(--white)}.access-section{border-top:1px solid var(--light-gray);flex-direction:column;gap:.75rem;padding-top:1.25rem;display:flex}.access-label{align-items:center;gap:.6rem;margin-bottom:.25rem;display:flex}.access-label svg{width:1rem;color:var(--subtext);font-size:1rem}.access-label h3{color:var(--subtext);margin:0;font-size:1rem;font-weight:500}@media screen and (width<=520px){.password-section{flex-direction:column;align-items:flex-start;gap:.5rem}.password-input-wrapper{width:100%;max-width:100%}}.pause-dialog{width:28rem;max-width:95vw}.pause-dialog .dialog-main{display:block}.pause-content{-webkit-user-select:none;user-select:none;margin:1rem .5rem}.pause-custom-toggle{border:1px solid var(--light-gray);width:100%;color:var(--subtext);cursor:pointer;background:0 0;border-radius:.6rem;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;transition:all .15s;display:flex}.pause-custom-toggle:hover{background-color:var(--darker-gray)}.pause-custom-toggle svg{font-size:.85rem;transition:transform .2s}.pause-custom-toggle.pause-custom-open{background-color:var(--darker-gray);border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.pause-custom-toggle.pause-custom-open svg{transform:rotate(180deg)}.pause-custom{background-color:var(--darker-gray);border:1px solid var(--light-gray);border-top:none;border-radius:0 0 .6rem .6rem;padding:1rem}.pause-input{box-sizing:border-box;text-align:center;width:100%;height:2.5rem;margin:0}.preferences-dialog{width:26rem;max-width:95vw}.preferences-dialog .dialog-main{display:block}.preferences-content{-webkit-user-select:none;user-select:none;flex-direction:column;gap:1.5rem;margin:1rem .5rem;display:flex}.preferences-section{flex-direction:column;gap:.75rem;display:flex}.preferences-section-header{align-items:center;gap:.875rem;padding:0 .25rem;display:flex}.preferences-section-header svg{color:var(--accent-primary);flex-shrink:0;width:1.25rem;font-size:1.1rem}.preferences-section-header h3{color:var(--white);margin:0;font-size:1rem;font-weight:600}.preferences-section-header p{color:var(--subtext);opacity:.8;margin:.1rem 0 0;font-size:.8rem}@media screen and (width<=425px){.preferences-dialog{width:90vw}}.pagination{background-color:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:2px solid var(--light-gray);box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:1rem;justify-content:center;gap:1rem;padding:.7rem .8rem;display:flex;position:relative;overflow:hidden}.pagination .pagination-item{color:var(--subtext);cursor:pointer;z-index:1;border-radius:.5rem;justify-content:center;align-items:center;gap:1rem;padding:.5rem 1.5rem;display:flex;position:relative}.pagination .pagination-item:hover{color:var(--white)}.pagination .pagination-item p{margin:0;font-size:16pt;font-weight:500}.pagination .pagination-item svg{font-size:16pt}.pagination .page-active{color:var(--white)}.pagination .pagination-active-background{top:50%;left:var(--active-left,0);width:var(--active-width,0);background-color:var(--light-gray);z-index:0;border-radius:.8rem;height:calc(100% - 1rem);transition:left .3s,width .3s;position:absolute;transform:translateY(-50%)}@media (width<=968px){.pagination-item{gap:.5rem}.pagination-item p{display:none}}@media (width<=768px){.pagination{z-index:100;box-shadow:0 0 10px 0 var(--light-gray);position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}}.about-dialog{width:28rem;max-width:95vw}.about-dialog .dialog-main{display:block}.about-title{align-items:center;gap:.75rem;min-width:0;display:inline-flex}.about-title img{border-radius:.4rem;flex-shrink:0;width:28px;height:28px}.about-content{-webkit-user-select:none;user-select:none;flex-direction:column;gap:1.25rem;margin:1rem 0 0;display:flex}.about-version{background-color:var(--darker-gray);border:1px solid var(--light-gray);color:var(--subtext);white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.85rem;font-weight:600;line-height:1}.about-description{color:var(--subtext);margin:0;font-size:1rem;font-weight:500;line-height:1.55}.about-links{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.about-dialog .about-link{background-color:var(--darker-gray);border:1px solid var(--light-gray);color:var(--subtext);border-radius:.7rem;align-items:center;gap:.75rem;padding:.8rem .9rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:flex}.about-dialog .about-link svg{background-color:var(--dark-gray);width:1.2rem;height:1.2rem;color:var(--subtext);border-radius:.5rem;flex-shrink:0;padding:.45rem;transition:background-color .15s,color .15s}.about-dialog .about-link:hover{background-color:var(--light-gray);border-color:var(--light-gray);color:var(--white)}.about-dialog .about-link:hover svg{background-color:var(--darker-gray);color:var(--white)}.about-footer{color:var(--subtext);border-top:1px solid var(--light-gray);justify-content:center;align-items:center;gap:.4rem;padding-top:1.25rem;font-size:.95rem;font-weight:500;display:flex}.about-footer svg{color:var(--accent-danger);font-size:.9rem}.about-footer a{color:var(--subtext);font-weight:600;text-decoration:none}.about-footer a:hover{color:var(--white);text-decoration:underline}.about-dialog .about-footer a:hover{color:var(--white)}.tooltip-wrapper{display:inline-flex;position:relative}.tooltip-wrapper:hover .tooltip-popup{opacity:1;visibility:visible}.tooltip-popup{z-index:1000;pointer-events:none;opacity:0;visibility:hidden;justify-content:center;transition:opacity .15s,visibility .15s;display:flex;position:absolute;left:0;right:0}.tooltip-content{color:var(--white);background-color:var(--dark-gray);border:1px solid var(--light-gray);-webkit-backdrop-filter:blur(12px);white-space:nowrap;border-radius:.5rem;padding:.5rem .75rem;font-size:.85rem;font-weight:500;display:inline-block;position:relative;box-shadow:0 8px 24px #00000040,0 4px 8px #00000026}.tooltip-arrow{background-color:var(--dark-gray);border:1px solid var(--light-gray);width:10px;height:10px;margin-left:-5px;position:absolute;left:50%}.tooltip-top{padding-bottom:8px;bottom:100%}.tooltip-top .tooltip-arrow{border-top:none;border-left:none;bottom:3px;transform:rotate(45deg)}.tooltip-bottom{padding-top:8px;top:100%}.tooltip-bottom .tooltip-arrow{border-bottom:none;border-right:none;top:3px;transform:rotate(45deg)}@media (width<=600px){.tooltip-content{padding:.4rem .6rem;font-size:.8rem}}.loading{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:absolute}.error-page{min-height:100vh;color:var(--white);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:0;display:flex}.no-reload{width:unset;height:unset;position:center;display:unset}.error-page svg{color:#ef4444}.error-page h1{padding-left:1rem;padding-right:1rem}.error-page h2{margin:0;padding-left:.5rem;padding-right:.5rem}.error-page span{color:#10b981}.dialog-area{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-sizing:border-box;background-color:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem 0;transition:all .2s;animation:.3s opacity;display:flex;position:fixed;inset:0;overflow:hidden auto}.dialog-area-hidden{opacity:0;animation:.3s reverse opacity}.dialog{background-color:var(--dark-gray);-webkit-backdrop-filter:blur(4px);border:1px solid var(--light-gray);box-sizing:border-box;border-radius:1rem;flex-direction:column;flex-shrink:0;min-width:320px;max-width:min(500px,90vw);max-height:calc(100vh - 2rem);padding:1.25rem;animation:.3s fadeIn;display:flex;box-shadow:0 20px 40px #0000004d}.dialog.storage-dialog-wrapper,.dialog.integration-dialog,.dialog.welcome-dialog{max-width:90vw}.dialog-hidden{visibility:hidden;opacity:0;animation:.3s fadeOut}.dialog-header{-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.dialog a{color:var(--accent-primary);cursor:pointer;transition:color .15s}.dialog a:hover{color:var(--accent-secondary)}.dialog-main{box-sizing:border-box;flex-direction:column;flex:auto;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden auto}.dialog-main::-webkit-scrollbar{width:.4rem}.dialog-main::-webkit-scrollbar-track{background:0 0}.dialog-main::-webkit-scrollbar-thumb{background:var(--light-gray);border-radius:.25rem}.dialog-main::-webkit-scrollbar-thumb:hover{background:var(--subtext)}.dialog-buttons{flex-shrink:0;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.dialog-text{color:var(--white);margin:0;font-size:1.25rem;font-weight:700}.dialog-description{color:var(--subtext);word-wrap:break-word;overflow-wrap:break-word;max-width:100%;margin:14px 2px 2px;font-size:1.05rem;font-weight:600;line-height:1.6}.dialog-description a{color:var(--accent-primary);text-decoration:underline}.dialog-value{color:var(--accent-primary);font-weight:600}.dialog-icon{cursor:pointer;color:var(--subtext);font-size:1.1rem;transition:color .15s}.dialog-icon:hover{color:var(--accent-danger)}.dialog-btn{background-color:var(--darker-gray);border:1px solid var(--light-gray);color:var(--white);cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;gap:.6rem;padding:.7rem 1.25rem;font-size:1rem;font-weight:500;transition:all .15s;display:flex}.dialog-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.dialog-btn svg{font-size:1rem}.dialog-btn-danger:hover,.dialog-secondary:hover{border-color:var(--accent-danger);color:var(--accent-danger)}.dialog-input{background-color:var(--darker-gray);width:100%;color:var(--white);border:1px solid var(--light-gray);text-align:center;box-sizing:border-box;border-radius:.6rem;outline:none;margin-top:15px;margin-bottom:15px;padding:.7rem 1rem;font-size:1rem;font-weight:500;transition:all .15s}.dialog-input::placeholder{color:var(--subtext)}.dialog-input:focus{border-color:var(--accent-primary)}.input-error,.input-error:focus{border-color:var(--accent-danger)}.dialog-loading{justify-content:center;align-items:center;min-width:200px;min-height:100px;display:flex}@media (width<=600px){.dialog{min-width:280px;max-width:95vw;padding:1rem}.dialog-text{font-size:1.15rem}.dialog-description{font-size:1rem}.dialog-btn{padding:.6rem 1rem;font-size:.95rem}}.route-error-page{text-align:center;min-height:calc(100vh - 5rem);color:var(--white);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.route-error-content{flex-direction:column;align-items:center;gap:1rem;max-width:500px;display:flex}.route-error-icon{background:var(--dark-gray);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:1rem;display:flex}.route-error-icon svg{color:#ef4444}.route-error-title{color:var(--white);margin:0;font-size:3rem;font-weight:700;line-height:1}.route-error-subtitle{color:var(--white);margin:0;font-size:1.5rem;font-weight:600}.route-error-description{color:var(--subtext);margin:.5rem 0 1rem;font-size:1rem;line-height:1.5}.route-error-details{background:var(--darker-gray);border:1px solid var(--light-gray);color:#ef4444;white-space:pre-wrap;word-break:break-word;border-radius:.5rem;max-width:100%;margin:.5rem 0 1rem;padding:1rem;font-size:.875rem;overflow-x:auto}.route-error-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.node-page{min-height:100vh;color:var(--white);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;margin:0;display:flex}.node-page hr{margin:0}.node-area{flex-direction:column;gap:1.5rem;margin-top:1rem;display:flex}.node-add{border:2px solid var(--light-gray);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(16px);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:15px;justify-content:center;align-items:center;gap:.5rem;width:53rem;display:flex}.node-add h1{color:var(--subtext);margin-right:1rem;font-size:22pt;font-weight:700}.node-add svg{margin-left:1rem;font-size:22pt}.node-add:hover{border:2px solid #10b981}.node-add:hover h1{color:var(--white)}.node-disabled{border:2px dashed var(--light-gray);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(16px);cursor:not-allowed;-webkit-user-select:none;user-select:none;border-radius:15px;width:53rem}.node-disabled:hover{border:2px dashed var(--light-gray)}.node-disabled:hover h1{color:var(--subtext)}@media screen and (width<=862px){.node-add{cursor:pointer;border-radius:15px;width:calc(20vw + 11rem)}.node-add h1{font-size:22pt}}.node-header{align-items:center;gap:1rem;display:flex}.node-header img{border-radius:50%;width:5.3rem;height:5.3rem}.node-header h1{margin:0;font-size:38pt;font-weight:700}.node-item{border:2px solid var(--light-gray);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(16px);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:15px;justify-content:space-between;align-items:center;width:50rem;padding:1rem 1.5rem;display:flex}.hover-green:hover{border:2px solid #10b981}.hover-orange:hover{border:2px solid #f59e0b}.hover-red:hover{border:2px solid #ef4444}.node-info-area{align-items:center;gap:1rem;display:flex}.node-info-area svg{font-size:30pt}.node-info-area h1{margin:0;font-size:16pt}.node-info-area p{color:var(--subtext);margin:0;font-size:11pt}.node-info{flex-direction:column;align-items:flex-start;display:flex}.node-info *{text-overflow:ellipsis;white-space:nowrap;max-width:11rem;overflow:hidden}.speed-area{gap:1rem;display:flex}.icon-text{align-items:center;gap:.5rem;display:flex}.icon-text h2{color:var(--subtext);margin:0}.speed-item{gap:.5rem;display:flex}.speed-item svg{font-size:24pt}.speed-item h1{color:var(--subtext);margin:0;font-size:20pt}.speed-icon{font-size:28pt}@media screen and (width<=862px){.node-item{flex-direction:column;gap:1rem;width:calc(20vw + 8rem)}.speed-area{flex-direction:column;gap:.5rem}.icon-text h2{font-size:14pt}}.context-menu{z-index:1000;background-color:var(--dark-gray);border:1px solid var(--light-gray);border-radius:10px;outline:none;min-width:160px;padding:6px;animation:.15s ease-in-out contextMenuFadeIn;position:fixed;box-shadow:0 8px 16px #0000004d}.context-menu:focus{outline:none}@keyframes contextMenuFadeIn{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.context-menu-item{cursor:pointer;color:var(--subtext);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:background-color .1s;display:flex}.context-menu-item svg{flex-shrink:0;width:14px;height:14px}.context-menu-item span{font-size:11pt}.context-menu-item:hover,.context-menu-item.context-menu-focused{background-color:var(--darker-gray);color:var(--white)}.context-menu-item:hover svg,.context-menu-item.context-menu-focused svg{color:var(--white)}.context-menu-danger,.context-menu-danger svg{color:#ef4444}.context-menu-danger:hover,.context-menu-danger.context-menu-focused{color:#ef4444;background-color:#ef44441a}.context-menu-danger:hover svg,.context-menu-danger.context-menu-focused svg{color:#ef4444}.context-menu-divider{background-color:var(--light-gray);height:1px;margin:6px 0}.create-node-dialog .dialog-main{display:block}.server-dialog{flex-direction:column;gap:1rem;margin:1rem .5rem .5rem;display:flex}.server-group{flex-direction:column;gap:.6rem;display:flex}.server-label{align-items:center;gap:.6rem;display:flex}.server-label svg{color:#10b981;font-size:1.15rem}.server-label h3{color:#10b981;margin:0;font-size:1.05rem;font-weight:500}.server-input{text-align:left;margin:0!important}.server-error .server-input{border-color:#ef4444}.date-range-picker{min-width:0;max-width:100%;display:inline-flex;position:relative}.date-range-trigger{background-color:var(--dark-gray);border:1px solid var(--light-gray);cursor:pointer;border-radius:.6rem;align-items:center;gap:.5rem;min-width:0;max-width:100%;padding:.6rem 1rem;transition:all .2s ease-in-out;display:flex}.date-range-trigger:hover{border-color:var(--accent-primary)}.calendar-icon{color:var(--subtext);flex-shrink:0;font-size:1rem}.date-range-text{color:var(--white);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.date-range-popover{z-index:1000;background-color:var(--dark-gray);border:1px solid var(--light-gray);border-radius:.75rem;padding:1rem;animation:.2s ease-out popoverFadeIn;position:absolute;top:calc(100% + .375rem);left:0;overflow:hidden;box-shadow:0 8px 24px #00000040}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.nav-btn{border:1px solid var(--light-gray);width:1.75rem;height:1.75rem;color:var(--subtext);cursor:pointer;background:0 0;border-radius:.375rem;justify-content:center;align-items:center;font-size:.85rem;transition:all .15s;display:flex}.nav-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--white);background-color:var(--darker-gray)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.current-month{color:var(--white);font-size:.95rem;font-weight:600}.calendar-grid{min-width:240px}.weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:.375rem;display:grid}.weekday{text-align:center;color:var(--subtext);text-transform:uppercase;padding:.375rem 0;font-size:.75rem;font-weight:600}.days{grid-template-columns:repeat(7,1fr);display:grid}.day-btn{width:100%;height:30px;color:var(--white);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;transition:background-color .1s,color .1s;display:flex}.day-btn:hover:not(.disabled):not(.selected):not(.in-range){background-color:var(--darker-gray);border-radius:.25rem}.day-btn.other-month{color:var(--subtext);opacity:.4}.day-btn.in-range{background-color:#10b98133}.day-btn.range-start{background-color:var(--accent-primary);color:#fff;border-radius:.25rem 0 0 .25rem;font-weight:600}.day-btn.range-start.range-end{border-radius:.25rem}.day-btn.range-end{background-color:var(--accent-primary);color:#fff;border-radius:0 .25rem .25rem 0;font-weight:600}.day-btn.today:not(.selected){font-weight:600;position:relative}.day-btn.today:not(.selected):after{content:"";background-color:var(--accent-primary);border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.day-btn.disabled{opacity:.25;cursor:not-allowed}@media screen and (width<=600px){.date-range-trigger{gap:.4rem;padding:.55rem .75rem}.date-range-text{font-size:.85rem}.date-range-popover{width:calc(100vw - 2rem);max-width:22rem;max-height:calc(100vh - 2rem);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.calendar-grid{min-width:unset;width:100%}.day-btn{height:28px;font-size:.8rem}}@media screen and (width<=360px){.date-range-trigger{padding:.5rem .6rem}.date-range-text{font-size:.8rem}}.chart-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;justify-content:center;align-items:center;padding:1.5rem;animation:.25s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.chart-modal-content{background-color:var(--dark-gray);-webkit-backdrop-filter:blur(4px);border:1px solid var(--light-gray);border-radius:1rem;width:fit-content;min-width:400px;max-width:min(1400px,100vw - 3rem);max-height:90vh;animation:.25s ease-out scaleIn;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000004d}.chart-modal-content.modal-chart{width:min(100%,100vw - 3rem)}.chart-modal-close{color:var(--subtext);cursor:pointer;z-index:10;background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.1rem;transition:color .15s;display:flex;position:absolute;top:1rem;right:1rem}.chart-modal-close:hover{color:var(--accent-danger)}.chart-modal-body{padding:1.25rem}.chart-modal-body .chart-container,.chart-modal-body .stats-container{cursor:default;width:100%;box-shadow:none;border:none;max-height:none;overflow:visible;transform:none!important}.chart-modal-body .chart-container:hover,.chart-modal-body .stats-container:hover{box-shadow:none;border:none;transform:none!important}.chart-modal-body.modal-body-chart .chart-container{min-height:min(70vh,500px);max-height:75vh}.chart-modal-body.modal-body-chart .chart-body{min-height:min(60vh,400px);max-height:65vh}.chart-modal-body .stats-header{padding:.5rem 3rem .75rem .25rem}.chart-modal-body .stats-content{height:auto;min-height:auto;max-height:none;padding:0 .25rem .5rem;overflow:visible}.chart-modal-body .consistency-container{flex:none;gap:2rem;height:auto;min-height:0}.chart-modal-body .consistency-container .consistency-item svg{width:3rem;height:3rem}.chart-modal-body .consistency-container .consistency-item .consistency-info h2,.chart-modal-body .consistency-container .consistency-item .consistency-info p{font-size:1.25rem}.chart-modal-body .consistency-container .consistency-item .consistency-info .consistency-detail{font-size:.95rem}.chart-modal-body .overview-items{gap:1.5rem}.chart-modal-body .overview-items .overview-item .info-area svg{width:3rem;height:3rem}.chart-modal-body .overview-items .overview-item .info-area .text-area h2{font-size:1.25rem}.chart-modal-body .overview-items .overview-item .info-area .text-area p{font-size:.9rem}.chart-modal-body .overview-items .overview-item h2{font-size:1.75rem}.chart-modal-body .info-container{gap:2rem}.chart-modal-body .info-container .test-container svg{width:3rem;height:3rem}.chart-modal-body .info-container .test-container .test-info h2{font-size:1.25rem}.chart-modal-body .info-container .test-container .test-info p{font-size:1.1rem}.chart-modal-body .value-container{gap:2rem}.chart-modal-body .value-container .value-item svg{width:3rem;height:3rem}.chart-modal-body .value-container .value-item .value-info h2{font-size:1.25rem}.chart-modal-body .value-container .value-item .value-info p{font-size:1.1rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media screen and (width<=768px){.chart-modal-backdrop{padding:.75rem}.chart-modal-content{min-width:auto;max-width:calc(100vw - 1.5rem);max-height:85vh}.chart-modal-content.modal-chart{width:calc(100vw - 1.5rem)}.chart-modal-body{padding:.75rem}.chart-modal-body.modal-body-chart .chart-container{min-height:min(50vh,300px);max-height:60vh}.chart-modal-body.modal-body-chart .chart-body{min-height:min(40vh,250px);max-height:50vh}}@media screen and (width<=500px){.chart-modal-content{border-radius:.75rem}.chart-modal-body.modal-body-chart .chart-container{min-height:min(45vh,280px);max-height:55vh}.chart-modal-body.modal-body-chart .chart-body{min-height:min(35vh,220px);max-height:45vh}}.chart-container{border:1px solid var(--light-gray);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(8px);cursor:pointer;contain:layout style;border-radius:1rem;flex-direction:column;flex:30%;min-width:16rem;max-width:100%;transition:border-color .2s,box-shadow .2s,transform .2s;animation:.25s ease-out fadeIn;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001a}.chart-container:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.chart-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.chart-title{color:var(--white);letter-spacing:-.01em;margin:0;font-size:15pt;font-weight:600}.chart-body{flex:auto;min-height:14rem;max-height:20rem;padding:0 1.25rem 1.25rem;position:relative;overflow:hidden}.chart-body canvas{max-width:100%!important;max-height:100%!important}@media screen and (width<=900px){.chart-container{flex:100%;min-width:100%;max-width:100%}.chart-body{min-height:12rem;max-height:16rem}}@media screen and (width<=500px){.chart-container{border-radius:.75rem;padding:.5rem}.chart-body{min-height:10rem;max-height:14rem}}.stats-container{border:1px solid var(--light-gray);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(8px);cursor:pointer;contain:layout style;border-radius:1rem;flex-direction:column;flex:15%;min-width:16rem;max-width:100%;transition:border-color .2s,box-shadow .2s,transform .2s;animation:.25s ease-out fadeIn;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.stats-container:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.container-running,.container-running:hover{border-color:var(--light-gray)}.stats-header{color:var(--white);letter-spacing:-.01em;border-radius:1rem 1rem 0 0;flex-shrink:0;padding:1rem .75rem .75rem 1.25rem;font-size:15pt;font-weight:600}.stats-content{height:14rem;max-height:16rem;padding-bottom:1.25rem;padding-left:1.5rem;padding-right:1.5rem;display:flex;overflow:hidden}.container-center{justify-content:center;align-items:center}.container-small{flex:5%}.container-normal{flex:30%}.container-large{flex:35%}@media screen and (width<=900px){.stats-container{flex:100%;min-width:100%}.stats-content{height:auto;min-height:10rem;max-height:none}}.border-animation-svg{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.info-container{flex-direction:column;justify-content:center;gap:1.75rem;width:100%;display:flex}.test-container{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.test-container svg{flex-shrink:0;width:2.5rem;height:2.5rem}.test-container .test-info{min-width:0}.test-container .test-info h2{color:var(--white);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.test-container .test-info p{align-items:center;margin:0;font-size:1.1rem;font-weight:600;display:flex}.test-container .test-info p .jitter-value{color:var(--subtext);border-left:2px solid var(--light-gray);opacity:.7;align-items:center;gap:.2rem;margin-left:.35rem;padding-left:.35rem;font-size:.9rem;font-weight:500;display:inline-flex}.test-container .test-info p .jitter-value .jitter-icon{width:.8rem;height:.8rem}.overview-items{flex-direction:column;justify-content:center;width:100%;display:flex;overflow-y:clip}.overview-item{justify-content:space-between;display:flex}.overview-item .info-area{place-content:center;align-items:center;gap:1rem;display:flex}.overview-item .info-area svg{width:2.25rem;height:2.25rem;color:var(--subtext)}.overview-item .info-area .text-area h2{color:var(--white);margin:0;font-size:1rem;font-weight:600}.overview-item .info-area .text-area p{color:var(--subtext);margin:0;font-size:.9rem;font-weight:500}.overview-item h2{color:var(--accent-primary);font-weight:700}@media screen and (width<=1500px){.overview-item{flex-flow:wrap}}@media screen and (width<=1400px){.info-area svg{display:none}.overview-item .info-area h2{white-space:nowrap;text-overflow:ellipsis;width:15rem;display:inline-block;overflow:hidden!important}.overview-item .info-area .text-area p{display:none}}@media screen and (width<=1000px){.overview-item .info-area h2{width:10rem}}.value-container{flex-direction:column;justify-content:center;gap:1.75rem;width:100%;display:flex}.value-item{justify-content:space-between;align-items:center;display:flex}.value-item svg{width:2.25rem;height:2.25rem;color:var(--accent-primary)}.value-item .value-info h2{color:var(--white);margin:0;font-size:15pt;font-weight:600}.value-item .value-info p{color:var(--accent-primary);margin:0;font-size:1.1rem;font-weight:600}.consistency-container{flex-direction:column;flex:1;justify-content:space-between;gap:.5rem;width:100%;min-height:0;display:flex}.consistency-item{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.consistency-item svg{flex-shrink:0;width:2.25rem;height:2.25rem}.consistency-item .consistency-info{min-width:0}.consistency-item .consistency-info h2{color:var(--white);word-break:break-word;overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600}.consistency-item .consistency-info p{margin:0;font-size:1.1rem;font-weight:600}.consistency-item .consistency-info .consistency-detail{color:var(--subtext);text-overflow:ellipsis;white-space:nowrap;margin-top:.125rem;font-size:.9rem;font-weight:500;display:block;overflow:hidden}.export-button-container{flex-shrink:0;display:inline-flex;position:relative}.export-button{background-color:var(--dark-gray);border:1px solid var(--light-gray);cursor:pointer;color:var(--white);white-space:nowrap;border-radius:.6rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s ease-in-out;display:flex}.export-button:hover:not(:disabled){border-color:var(--accent-primary)}.export-button:disabled{opacity:.6;cursor:not-allowed}.export-icon{color:var(--subtext);flex-shrink:0;font-size:1rem}.export-text{white-space:nowrap}.chevron-icon{color:var(--subtext);font-size:.75rem;transition:transform .2s}.chevron-icon.open{transform:rotate(180deg)}.export-dropdown{z-index:1000;background-color:var(--dark-gray);border:1px solid var(--light-gray);border-radius:.6rem;padding:6px;animation:.15s ease-out dropdownFadeIn;position:absolute;top:calc(100% + .375rem);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000004d}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.export-option{color:var(--subtext);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:all .15s;display:flex}.export-option:hover{background-color:var(--darker-gray);color:var(--white)}.export-option:hover svg{color:var(--white)}.export-option svg{flex-shrink:0;width:14px;height:14px}.export-option span{font-size:.95rem;font-weight:500}@media screen and (width<=600px){.export-text{display:none}.export-button{aspect-ratio:1;justify-content:center;padding:.55rem .7rem}.chevron-icon{display:none}.export-dropdown{width:calc(100vw - 2rem);max-width:20rem;position:fixed;inset:auto auto 1rem 50%;transform:translate(-50%)}}.statistic-area{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;gap:2rem;width:100%;max-width:calc(100% - 2rem);margin-bottom:2rem;padding-top:1.5rem;padding-left:20rem;padding-right:20rem;display:flex}.statistic-stale{opacity:.7;transition:opacity .2s}.statistic-loading .skeleton-picker{background:linear-gradient(90deg, var(--darker-gray) 25%, var(--dark-gray) 50%, var(--darker-gray) 75%);opacity:0;background-size:200% 100%;border-radius:.6rem;width:280px;height:48px;transform:translateY(10px)}.statistic-loading .skeleton-picker.skeleton-visible{animation:1.5s infinite skeleton-shimmer,.3s forwards skeleton-fade-in}.statistic-loading .skeleton-chart{background:linear-gradient(90deg, var(--darker-gray) 25%, var(--dark-gray) 50%, var(--darker-gray) 75%);border:1px solid var(--light-gray);opacity:0;background-size:200% 100%;border-radius:1rem;flex:30%;min-width:16rem;height:18rem;transform:translateY(10px)}.statistic-loading .skeleton-chart.skeleton-visible{animation:1.5s infinite skeleton-shimmer,.3s forwards skeleton-fade-in}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.statistics-header{justify-content:space-between;align-items:center;gap:1rem;width:100%;min-width:0;margin-bottom:.5rem;display:flex}.statistics-header>.date-range-picker{flex:auto;min-width:0}.statistics-header>.export-button-container{flex:none}.statistics-empty{justify-content:center;align-items:center;width:100%;padding:6rem 2rem;display:flex}.statistics-empty p{color:var(--subtext);text-align:center;font-size:1.1rem;font-weight:500}@media screen and (width<=1472px){.statistic-area{padding-left:10rem;padding-right:10rem}}@media screen and (width<=600px){.statistics-header{gap:.5rem}}@media screen and (width<=425px){.statistic-area{padding-left:3rem;padding-right:3rem}}@media screen and (width<=375px){.statistic-area{padding-left:1rem;padding-right:1rem}}.analyse-area{border:1px solid var(--light-gray);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(16px);box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:1rem;justify-content:center;align-items:center;width:100%;margin-top:2rem;margin-bottom:2rem;padding:2.5rem 2rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 1px 3px #0000001a}.pulse{border-color:var(--accent-primary);animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 12px #10b98100}to{box-shadow:0 0 #10b98100}}.test-running{border:1px solid var(--light-gray);animation:none;position:relative}.loading-value{animation:1.5s ease-in-out infinite value-pulse;display:inline-block}@keyframes value-pulse{0%,to{opacity:.3}50%{opacity:.6}}.inner-container{margin-left:2rem;margin-right:2rem;transition:margin .5s;animation:.5s ease-out fadeIn}.container-header{align-items:center;display:flex}.tests-paused{border-color:var(--accent-warning)}.container-text{color:var(--white);white-space:nowrap;margin:0 0 0 25px;font-size:24pt;font-weight:500}.container-subtext{color:var(--subtext);margin-left:10px;font-size:15pt;font-weight:400}.container-main{text-align:center;color:var(--subtext)}.container-main h2{justify-content:center;align-items:center;margin:1rem;font-size:28pt;font-weight:600;display:flex}.jitter-suffix{color:var(--subtext);cursor:pointer;border-left:2px solid var(--light-gray);opacity:.7;align-items:center;gap:.25rem;margin-left:.4rem;padding-left:.4rem;font-size:14pt;font-weight:400;transition:opacity .2s;display:flex}.jitter-suffix:hover{opacity:1}@media (width<=1351px){.inner-container{margin-left:1rem;margin-right:1rem}}@media (width<=1200px){.analyse-area{flex-wrap:wrap}.mobile-break{width:100%}.analyse-area{justify-content:space-evenly}}@media (width<=730px){.analyse-area{flex-direction:column}}@media (width<=475px){.analyse-area{padding-top:1rem;padding-bottom:1rem;padding-left:1rem}.inner-container{margin:0}}.speedtest{border:1px solid var(--light-gray);background-color:var(--glass-bg);-webkit-backdrop-filter:blur(16px);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;width:100%;margin-bottom:2rem;padding:1.5rem 2rem;transition:all .25s cubic-bezier(.4,0,.2,1);animation:.5s ease-out fadeIn;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.speedtest:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:0 12px 24px #00000026,0 0 0 1px #10b9811a}.speedtest-hidden{visibility:hidden;opacity:0;animation:.3s fadeOut}.speedtest-row,.date{align-items:center;display:flex}.date-text{color:var(--subtext);margin:0 0 0 1rem;font-size:24pt;font-weight:500}.speedtest-text{color:var(--subtext);align-items:center;margin:0;font-size:28pt;font-weight:500;display:flex}.jitter-suffix{color:var(--subtext);border-left:2px solid var(--light-gray);opacity:.7;align-items:center;gap:.25rem;margin-left:.4rem;padding-left:.4rem;font-size:14pt;font-weight:400;display:flex}.jitter-suffix .jitter-icon{width:.9rem;height:.9rem}@media (width<=605px){.speedtest{flex-direction:column}.date-text,.speedtest-text{font-size:32pt}.jitter-suffix{font-size:16pt}}:root{--background:#0f1419;--light-gray:#2a3441;--dark-gray:#1a2029;--darker-gray:#151b23;--white:#e7edf4;--subtext:#8b99ab;--blue:#3b82f6;--accent-primary:#10b981;--accent-secondary:#06b6d4;--accent-tertiary:#8b5cf6;--accent-warning:#f59e0b;--accent-danger:#ef4444;--glass-bg:#1a202999;--chart-download:#06b6d4;--chart-upload:#8b5cf6;--chart-ping:#f59e0b;--chart-average:#ec4899;--chart-grid:#2a344199;--chart-tooltip-bg:#151b23;--chart-tooltip-border:#2a3441}[data-theme=light]{--background:#f8fafc;--light-gray:#e2e8f0;--dark-gray:#fff;--darker-gray:#f1f5f9;--white:#1e293b;--subtext:#64748b;--glass-bg:#ffffffd9;--chart-grid:#e2e8f0cc;--chart-tooltip-bg:#fff;--chart-tooltip-border:#e2e8f0}.floating-date-indicator{-webkit-user-select:none;user-select:none;z-index:50;background:var(--dark-gray);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--light-gray) 2px solid;text-align:center;color:var(--white);box-shadow:0 0 15px rgba(var(--light-gray), .5);border-radius:12px;padding:12px 24px;font-weight:600;animation:.3s ease-out slideInDown;display:flex;position:fixed;top:30px;left:50%;transform:translate(-50%)}.floating-date-indicator span{letter-spacing:.5px;font-size:22px}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.loading-more,.end-of-list{text-align:center;color:var(--subtext);padding:20px;font-style:italic}.error-text{text-align:center;color:var(--subtext);margin:0;font-size:26pt;font-weight:700}@media (width<=605px){.error-text{width:28rem}.floating-date-indicator{padding:10px 20px;top:15px}.floating-date-indicator span{font-size:13px}.back-to-top-button{width:48px;height:48px;bottom:20px;right:20px}.back-to-top-button svg{width:20px;height:20px}}@media (width<=475px){.error-text{width:20rem}}.back-to-top-button{z-index:50;background:var(--dark-gray);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:var(--light-gray) 2px solid;width:56px;height:56px;color:var(--white);cursor:pointer;box-shadow:0 0 15px rgba(var(--light-gray), .5);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;animation:.3s ease-out slideInUp;display:flex;position:fixed;bottom:30px;right:30px}.back-to-top-button:hover{box-shadow:0 4px 20px rgba(var(--light-gray), .7);background:var(--light-gray);transform:translateY(-3px)}.back-to-top-button:active{transform:translateY(-1px)}.back-to-top-button svg{width:24px;height:24px}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
