:root{--light-bg: #ffffff;--light-text: #000000;--light-input-bg: #f8f9fa;--light-border: #e0e0e0;--light-table-header: #f5f5f5;--light-table-border: #dee2e6;--light-info-bg: #f0f7ff;--dark-bg: #1a1a1a;--dark-text: #ffffff;--dark-input-bg: #2d2d2d;--dark-border: #404040;--dark-table-header: #2d2d2d;--dark-table-border: #404040;--dark-info-bg: #2d2d2d;--primary-purple: #4a148c;--primary-light-purple: #7c43bd}html{width:100%;overflow-x:auto}body{max-width:100%;margin:auto;background-color:var(--light-bg);color:var(--light-text);transition:background-color .3s,color .3s;padding:60px 24px 0;min-width:320px;width:100%;box-sizing:border-box}.App{transition:background-color .3s,color .3s}.dark-mode{background-color:var(--dark-bg);color:var(--dark-text)}.full-width-header{background-color:#fff;padding:12px 0;border-bottom:1.5px solid;border-image:linear-gradient(to right,#b06ab3,#4a148c) 1;height:60px;display:flex;align-items:center;transition:background-color .3s;position:fixed;top:0;left:0;right:0;width:100%;z-index:1000}.header-content{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 12px;min-width:280px}.header-logo{height:32px;flex-shrink:0;min-width:32px;padding:4px;background-color:#fff;border-radius:4px}.header-content h1{margin:0;color:#000;font-size:clamp(16px,4vw,24px);font-weight:700;text-align:center;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s}.dark-mode .full-width-header{background-color:var(--dark-bg);border-image:linear-gradient(to right,#ff1493,#7c43bd) 1}.dark-mode .header-logo{background-color:#fff}.dark-mode .header-content h1,.dark-mode .theme-label{color:var(--dark-text)}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-spinner{background:#fff;padding:40px;border-radius:12px;text-align:center;box-shadow:0 4px 20px #00000026}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #4a148c;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner p{margin:0;color:#333;font-size:16px;font-weight:500}.dark-mode .loading-spinner{background:var(--dark-input-bg);color:var(--dark-text)}.dark-mode .loading-spinner p{color:var(--dark-text)}.instructions-box{margin:20px auto;background-color:var(--light-info-bg);border-radius:8px;padding:12px 24px;max-width:800px;text-align:left;display:flex;align-items:center;gap:8px}.instructions-box h2{font-size:16px;font-weight:600;margin:0;white-space:nowrap}.instructions-box p{font-size:14px;font-weight:400;margin:0;line-height:1.4}.powered-by{margin-top:12px}.powered-by p{font-size:12px;color:#666;margin:0;line-height:1.4}.powered-by a{color:#4a148c;text-decoration:underline}.dark-mode .instructions-box{background-color:var(--dark-info-bg)}.dark-mode .powered-by p{color:#e0e0e0}.dark-mode .powered-by a{color:#b388ff}.selektor{width:100%;border-spacing:0 16px;margin-top:24px}.firstCol{font-weight:500;text-align:left;padding-right:16px;white-space:nowrap;width:180px}.centerForm{text-align:center;margin-top:24px}.standardIn{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:8px 12px;width:120px;font-size:14px;margin-right:8px}label{color:var(--light-text);transition:color .3s}.dark-mode label{color:var(--dark-text)}.helper-text{color:#666;transition:color .3s}.dark-mode .helper-text{color:#e0e0e0}.required{color:#dc3545;margin-left:4px}input[type=checkbox]{margin-right:8px;cursor:pointer}select{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:8px 12px;font-size:14px;width:120px;margin-right:8px;cursor:pointer}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-field{display:flex;flex-direction:column;gap:0px}.radio-field input[type=radio]{position:absolute;opacity:0;pointer-events:none}.radio-field label{position:relative;padding-left:24px;cursor:pointer;font-weight:500}.radio-field label:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #ccc;border-radius:50%;background:#fff}.radio-field input[type=radio]:checked+label:before{border-color:#363536}.radio-field input[type=radio]:checked+label:after{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:#4a148c}.radio-field .helper-text{margin:0;padding-left:24px;font-size:1rem;color:#666;line-height:1.2}.button,#clear{border-radius:4px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;min-width:160px;height:44px;box-sizing:border-box}.button{background-color:#4a148c;color:#fff;border:none}.button:hover{background-color:#7c43bd}#clear{background-color:#fff;color:#4a148c;border:1px solid #4a148c}#clear:hover{background-color:#f0e6ff;text-decoration:none}td:not(.firstCol){color:#666;font-size:14px}.b-series-text{color:#666;font-size:12px;margin-top:4px;max-width:200px}.dark-mode .standardIn,.dark-mode select{background-color:var(--dark-input-bg);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode td:not(.firstCol){color:#999}.dark-mode .helper-text,.dark-mode .b-series-text{color:#999}.results{width:100%;border-collapse:collapse;margin:20px 0;background-color:var(--light-bg)}.dark-mode .results{background-color:var(--dark-bg)}.dark-mode .resultsCell{border-color:var(--dark-table-border)}.theme-toggle-wrapper{position:relative;display:flex;align-items:center;gap:6px}.theme-toggle-container{display:flex;align-items:center;gap:6px;height:32px}.switch{position:relative;display:inline-block;width:36px;height:20px;display:flex;align-items:center}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:50%;transform:translateY(-50%);left:0;right:0;height:20px;background-color:#e0e0e0;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#4a148c}input:checked+.slider:before{transform:translate(16px)}.theme-label{font-size:14px;color:#000;white-space:nowrap;line-height:20px;display:flex;align-items:center}.dark-mode input:checked+.slider{background-color:var(--primary-light-purple)}@media (max-width: 950px){.instructions-box{flex-direction:column;text-align:center;gap:8px}.instructions-box h2{white-space:normal}}@media (max-width: 311px){.button{padding:1% 4%}.standardIn{width:75px;margin-right:5px}}@media (min-width: 312px) and (max-width: 551px){.button{padding:1% 2.5%}.standardIn{width:75px}}@media (min-width: 553px){.button{padding:1% 1.5%}.standardIn{width:60%}}@media (max-width: 355px){.results,.resultsHead,.resultsBody,.resultsRow,.returnCell{display:block}.resultsHead .resultsRow{position:absolute;top:-9999px;left:-9999px}.resultsRow{border:1px solid black}.returnCell{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%}.returnCell:before{position:absolute;top:0;left:6px;bottom:1px;width:45%;padding-right:10px;white-space:nowrap}.returnCell:nth-of-type(7){height:80.8px;padding-top:20px}.returnCell:nth-of-type(6),.returnCell:nth-of-type(2){height:60.6px;padding-top:15px}.returnCell:nth-of-type(8),.returnCell:nth-of-type(5),.returnCell:nth-of-type(4),.returnCell:nth-of-type(3){height:40.4px;padding-top:10px}.returnCell:nth-of-type(1):before{content:"VM Size"}.returnCell:nth-of-type(2):before{content:"Aggregate CPU (MHz)"}.returnCell:nth-of-type(3):before{content:"Num vCPUs"}.returnCell:nth-of-type(4):before{content:"Memory (MiB)"}.returnCell:nth-of-type(5):before{content:"Network (Mbps)"}.returnCell:nth-of-type(6):before{content:"Max Disk IOPS"}.returnCell:nth-of-type(7):before{content:"Max Disk Tput (MBps)"}.returnCell:nth-of-type(8):before{content:"Cost/hr ($)"}.returnCell:nth-of-type(9):before{content:"Cost/mo ($)"}.returnCell:nth-of-type(10):before{content:"Provider"}.returnCell:nth-of-type(11):before{content:"Region"}.json,.csv{display:block;margin:5px auto;padding:1% 1.5%}}@media (min-width: 356px) and (max-width: 415px){.results,.resultsHead,.resultsBody,.resultsRow,.returnCell{display:block}.resultsHead .resultsRow{position:absolute;top:-9999px;left:-9999px}.resultsRow{border:1px solid black}.returnCell{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%}.returnCell:before{position:absolute;top:0;left:6px;bottom:1px;width:45%;padding-right:10px;white-space:nowrap}.returnCell:nth-of-type(2),.returnCell:nth-of-type(7),.returnCell:nth-of-type(5),.returnCell:nth-of-type(6){height:40.4px;padding-top:10px}.returnCell:nth-of-type(1):before{content:"VM Size"}.returnCell:nth-of-type(2):before{content:"Aggregate CPU (MHz)"}.returnCell:nth-of-type(3):before{content:"Num vCPUs"}.returnCell:nth-of-type(4):before{content:"Memory (MiB)"}.returnCell:nth-of-type(5):before{content:"Network (Mbps)"}.returnCell:nth-of-type(6):before{content:"Max Disk IOPS"}.returnCell:nth-of-type(7):before{content:"Max Disk Tput (MBps)"}.returnCell:nth-of-type(8):before{content:"Cost/hr ($)"}.returnCell:nth-of-type(9):before{content:"Cost/mo ($)"}.returnCell:nth-of-type(10):before{content:"Provider"}.returnCell:nth-of-type(11):before{content:"Region"}.json,.csv{display:block;margin:5px auto;padding:1% 1.5%}}@media (min-width: 416px) and (max-width: 555px){.results,.resultsHead,.resultsBody,.resultsRow,.returnCell{display:block}.resultsHead .resultsRow{position:absolute;top:-9999px;left:-9999px}.resultsRow{border:1px solid black}.returnCell{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%}.returnCell:before{position:absolute;top:0;left:6px;bottom:1px;width:45%;padding-right:10px;white-space:nowrap}.returnCell:nth-of-type(2),.returnCell:nth-of-type(7){height:40.4px;padding-top:10px}.returnCell:nth-of-type(1):before{content:"VM Size"}.returnCell:nth-of-type(2):before{content:"Aggregate CPU (MHz)"}.returnCell:nth-of-type(3):before{content:"Num vCPUs"}.returnCell:nth-of-type(4):before{content:"Memory (MiB)"}.returnCell:nth-of-type(5):before{content:"Network (Mbps)"}.returnCell:nth-of-type(6):before{content:"Max Disk IOPS"}.returnCell:nth-of-type(7):before{content:"Max Disk Tput (MBps)"}.returnCell:nth-of-type(8):before{content:"Cost/hr ($)"}.returnCell:nth-of-type(9):before{content:"Cost/mo ($)"}.returnCell:nth-of-type(10):before{content:"Provider"}.returnCell:nth-of-type(11):before{content:"Region"}.json,.csv{display:block;margin:5px auto;padding:1% 1.5%}}@media (min-width: 556px) and (max-width: 850px){.results,.resultsHead,.resultsBody,.resultsRow,.returnCell{display:block}.resultsHead .resultsRow{position:absolute;top:-9999px;left:-9999px}.resultsRow{border:1px solid black}.results-container{padding:0 24px;width:auto}.returnCell{text-align:right;border:none;border-bottom:1px solid #eee;position:relative;padding:8px 12px 8px 50%}.returnCell:before{position:absolute;top:0;left:12px;bottom:1px;width:45%;padding-right:10px;white-space:nowrap;text-align:left;font-weight:500}.results{width:auto;margin:0 auto}.returnCell:nth-of-type(1):before{content:"VM Size"}.returnCell:nth-of-type(2):before{content:"Aggregate CPU (MHz)"}.returnCell:nth-of-type(3):before{content:"Num vCPUs"}.returnCell:nth-of-type(4):before{content:"Memory (MiB)"}.returnCell:nth-of-type(5):before{content:"Network (Mbps)"}.returnCell:nth-of-type(6):before{content:"Max Disk IOPS"}.returnCell:nth-of-type(7):before{content:"Max Disk Tput (MBps)"}.returnCell:nth-of-type(8):before{content:"Cost/hr ($)"}.returnCell:nth-of-type(9):before{content:"Cost/mo ($)"}.returnCell:nth-of-type(10):before{content:"Provider"}.returnCell:nth-of-type(11):before{content:"Region"}.json,.csv{display:block;margin:5px auto;padding:1% 1.5%}}@media (min-width: 851px){.returnCell{width:1px;border-right:1px solid black;white-space:nowrap;padding:10px;text-align:right}.json{margin-left:5%;padding:1% 1.5%;margin-bottom:3%}.csv{float:right;margin-right:5%;padding:1% 1.5%}}.form-container{display:flex;gap:48px;margin:24px 0;flex-wrap:wrap}.form-column{flex:1;min-width:280px;display:flex;flex-direction:column;gap:24px}@media (max-width: 768px){html,body{width:100vw!important;max-width:100vw!important;overflow-x:auto!important}.App{width:100%!important;max-width:100%!important}.form-container{flex-direction:column;align-items:center;max-width:400px;margin:24px auto}.form-column{width:100%;max-width:350px;display:flex;flex-direction:column;align-items:center}.form-field{display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.form-field label{text-align:center;margin-bottom:8px}.form-field .standardIn,.form-field .input-with-unit{width:100%;max-width:300px}.checkbox-group,.radio-group{display:flex;flex-direction:column;align-items:center}.checkbox-field,.radio-field{display:flex;align-items:center;justify-content:center;margin-bottom:8px;width:100%}.form-field.checkbox-field{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.form-field.checkbox-field input[type=checkbox]{margin-right:8px}.form-field.checkbox-field label{display:flex;align-items:center;justify-content:center;text-align:center}.helper-text{text-align:center;margin-top:4px}}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-weight:400;font-size:14px;color:#333}.form-field input,.form-field select{background-color:var(--light-input-bg);border:1px solid var(--light-border);color:var(--light-text);transition:all .3s}.dark-mode .form-field label,.dark-mode .unit{color:var(--dark-text)}.dark-mode .form-field input,.dark-mode .form-field select{background-color:var(--dark-input-bg);border-color:var(--dark-border);color:var(--dark-text)}.input-with-unit{display:flex;align-items:center;gap:8px;margin-bottom:8px}.unit{color:#666;font-size:14px;white-space:nowrap}.checkbox-group .checkbox-field{padding-left:16px;margin-top:-2px;margin-bottom:4px}.form-field.checkbox-field{margin-top:-8px}.checkbox-field{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:start}.checkbox-field input[type=checkbox]{grid-column:1;grid-row:1;margin:0;align-self:center}input[type=checkbox]:checked{accent-color:#4a148c}.checkbox-field label{grid-column:2;grid-row:1;cursor:pointer;font-weight:450;margin:0;align-self:center;max-width:200px;word-wrap:break-word;line-height:1.3}.checkbox-field .helper-text{grid-column:2;grid-row:2;margin:0;font-size:12px;color:#666;line-height:1.2;max-width:200px;word-wrap:break-word}.helper-text{font-size:12px;color:#666;margin-top:4px}.button-container{display:flex;align-items:center;gap:16px;margin-top:24px;justify-content:center}.dark-mode button[type=submit]{background:linear-gradient(to right,#ff1493,#7c43bd);color:#fff;border:none;transition:opacity .3s}.dark-mode button[type=submit]:hover{opacity:.9}.dark-mode #clear{background-color:var(--dark-input-bg);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode #clear:hover{background-color:#3d3d3d;text-decoration:none}.standardIn{width:200px;height:40px;padding:8px 12px;border:1px solid var(--light-border);border-radius:4px;font-size:14px}.standardIn.disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}.standardIn:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}select.standardIn{width:200px}.results-container{margin-top:48px;width:100%;overflow-x:auto}.results-header{display:flex;justify-content:center;align-items:center;margin-bottom:16px;position:relative;padding:10px 0}.results-header h2{font-size:24px;font-weight:700;margin:0;text-align:center}.download-container{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:9999;padding:2px 0}.download-button{background-color:#4a148c;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;margin:2px 0}.dropdown-arrow{font-size:10px}.download-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 2px 4px #0000001a;z-index:9999}.download-dropdown button{display:block;width:100%;padding:8px 16px;border:none;background:none;text-align:left;cursor:pointer;color:#333}.download-dropdown button:hover{background-color:#f5f5f5}.results{width:100%;border-collapse:collapse;border:1px solid #e0e0e0}.resultsCell,.returnCell{padding:8px 12px;text-align:center;border-bottom:1px solid #e0e0e0;position:relative;font-size:14px}.resultsHead .resultsCell{background-color:#fff;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;border-right:1px solid #e0e0e0;position:relative;padding-right:28px}.resultsHead .resultsCell:hover{background-color:#f8f8f8}.resultsHead .resultsCell:last-child{border-right:none}.returnCell{padding:8px 12px;text-align:center;white-space:nowrap;border-right:1px solid #e0e0e0}@media (min-width: 851px){.resultsRow:last-child .returnCell{border-bottom:none}}.resultsRow:hover{background-color:#f8f8f8}.sort-icon{height:16px;position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:.8}.sort-icon.active{opacity:1;filter:brightness(.2)}.dark-mode .results{border-color:var(--dark-border);background-color:var(--dark-input-bg)}.dark-mode .resultsCell,.dark-mode .returnCell{border-color:var(--dark-border);color:#fff}.dark-mode .resultsHead .resultsCell{background-color:var(--dark-input-bg);font-weight:600;color:var(--dark-text)}.dark-mode table.results tbody tr.resultsRow td.returnCell{color:#fff!important}.dark-mode table.results thead.resultsHead tr.resultsRow th.resultsCell{background-color:var(--dark-input-bg);color:#fff!important}.dark-mode .resultsHead .resultsCell:hover{background-color:#3d3d3d}.dark-mode .resultsRow:hover{background-color:#2d2d2d}.dark-mode .download-button{background-color:#646cff;color:#fff}.dark-mode .download-button:hover{background-color:#535bf2}.dark-mode .download-dropdown{background-color:var(--dark-input-bg);border-color:var(--dark-border)}.dark-mode .download-dropdown button{color:var(--dark-text)}.dark-mode .download-dropdown button:hover{background-color:#2d2d2d}.dark-mode .sort-icon{filter:brightness(2)}.dark-mode .sort-icon.active{filter:brightness(2.5)}.recaptcha-container{display:flex;justify-content:center;align-items:center;margin:24px 0}.main-content{padding-left:120px;padding-right:120px;max-width:1400px;margin:0 auto}.results-container{margin-left:-120px;margin-right:-120px;margin-top:48px;width:calc(100% + 240px);overflow-x:auto}@media (max-width: 850px){.main-content{padding-left:24px;padding-right:24px}.instructions-box{margin-left:0}.results-container{margin-left:-24px;margin-right:-24px;width:calc(100% + 48px)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:24px;border-radius:8px;min-width:300px;max-width:400px}.dark-mode .modal-content{background:var(--dark-input-bg);color:var(--dark-text)}.modal-checkbox{margin:16px 0;display:flex;align-items:center;gap:8px}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.modal-buttons button{padding:8px 16px;color:var(--light-text)}.dark-mode .modal-buttons button{color:var(--dark-text);background-color:var(--dark-input-bg);border:1px solid var(--dark-border)}.modal-checkbox input[type=checkbox]{margin:0;position:relative;top:0}.modal-checkbox label{margin:0;line-height:1}.unit-select{padding:4px 8px;border:1px solid var(--light-border);border-radius:0 4px 4px 0;background-color:#fff;font-size:14px;cursor:pointer}.dark-mode .unit-select{background-color:var(--dark-input-bg);border-color:var(--dark-border);color:var(--dark-text)}.input-with-unit{display:flex;align-items:center}.input-with-unit .standardIn{border-radius:4px 0 0 4px}.unit-selector-container{position:relative;display:inline-block}.unit-display{color:#66a3ff;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px}.unit-display span:first-child{text-decoration:underline}.unit-arrow{font-size:10px;color:#66a3ff;text-decoration:none}.unit-dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 2px 4px #0000001a;z-index:1000}.unit-dropdown div{padding:8px 16px;cursor:pointer}.unit-dropdown div:hover{background-color:#f5f5f5}.dark-mode .unit-dropdown{background:var(--dark-input-bg);border-color:var(--dark-border)}.dark-mode .unit-dropdown div:hover{background-color:#3d3d3d}.footer{margin:24px -120px;width:calc(100% + 240px);padding:0 20px;display:none}.footer.show{display:block}.footer p{margin:0;font-size:12px;color:#666;text-align:left;color:var(--light-text)}.dark-mode .footer p{color:var(--dark-text)}@media (max-width: 850px){.footer{margin-left:-24px;margin-right:-24px;width:calc(100% + 48px);padding:0 24px}}
