*{box-sizing:border-box;margin:0;padding:0}:root{--bg-gradient-start:#2f65a7;--bg-gradient-end:#00274c;--card-bg:white;--card-shadow:#0000001a;--text-primary:#333;--text-secondary:#575294;--text-heading:#00274c;--section-bg:#f7fafcaa;--section-border:#2f65a7;--input-bg:white;--input-border:#e2e8f0;--input-border-focus:#ffcd058a;--input-border-warning:#e53e3e;--input-bg-error:#fed7d7;--warning-bg:#ef44441a;--warning-border:#ef44444d;--warning-text:#dc2626;--results-bg:#ffcd053a;--results-text:#00274c;--breakdown-bg:#ffcd053a;--breakdown-border:#2f65a7;--partition-info-bg:#ffcd0538;--partition-info-border:#2f65a7;--array-input-bg:#f7fafcaa;--code-bg:#e2e8f0;--code-text:#00274c;--button-primary-bg:#00274c;--button-primary-text:white;--button-primary-border:#00274c;--button-hover-bg:#2f65a7;--button-hover-text:white;--button-hover-border:#ffcb05;--sbatch-bg:#2d3748;--sbatch-text:#e2e8f0;--sbatch-button-bg:#4a5568;--success-color:#28a745;--toggle-bg:white;--toggle-border:#2b2b2b4d;--toggle-hover-bg:#7070704d}[data-theme=dark]{--bg-gradient-start:#1a1a1a;--bg-gradient-end:#001930;--card-bg:#272b30;--card-shadow:#00000080;--text-primary:#e2e8f0;--text-secondary:#a0a0a0;--text-heading:#e2e8f0;--section-bg:#1a1a1a9f;--section-border:#1a1a1a;--input-bg:#272b30;--input-border:#1a1a1a;--input-border-focus:#ffcd058a;--input-border-warning:#ff6b6b;--input-bg-error:#ff6b6b1a;--warning-bg:#ff6b6b1a;--warning-border:#ff6b6b4d;--warning-text:#ff6b6b;--results-bg:#ffcd050e;--results-text:#e2e8f0;--breakdown-bg:#ffcd050e;--breakdown-border:#ffcb051a;--partition-info-bg:#ffcd050e;--partition-info-border:#555;--array-input-bg:#1a1a1a9f;--code-bg:#2a2a2a;--code-text:#e2e8f0;--button-primary-bg:#ffcb05;--button-primary-text:#00274c;--button-primary-border:#ffcb05;--button-hover-bg:#ffcd05b9;--button-hover-text:#00274c;--button-hover-border:#00274c;--sbatch-bg:#1a1a1a;--sbatch-text:#e2e8f0;--sbatch-button-bg:#404040;--success-color:#28a745;--toggle-bg:#ffcb051a;--toggle-border:#ffcb054d;--toggle-hover-bg:#ffcb0533}html{height:100%;min-height:100vh;overflow-x:hidden}html:before{content:"";background:linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end) 60%);z-index:-1;position:fixed;inset:-200vh 0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;color:var(--text-primary);background:0 0;max-width:100vw;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative;overflow:hidden auto}#root{flex-grow:1;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;overflow-x:hidden}.app{background:var(--card-bg);box-shadow:0 20px 40px var(--card-shadow);box-sizing:border-box;border-radius:16px;flex-direction:column;justify-content:flex-start;width:100%;max-width:600px;margin:0 5%;padding:40px;display:flex;position:relative}.header{text-align:center;margin-bottom:40px;padding-top:20px;position:relative}.top-controls{z-index:1000;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:16px;right:16px}.theme-toggle{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--input-border);cursor:pointer;width:40px;height:40px;box-shadow:0 2px 8px var(--card-shadow);border-radius:50%;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:8px;font-size:1.2rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.theme-toggle svg{flex-shrink:0;margin:0 auto;display:block}.theme-toggle:hover{color:var(--button-hover-text);background:var(--button-hover-bg);border-color:var(--button-hover-border);box-shadow:0 4px 12px var(--card-shadow);transform:translateY(-1px)scale(1.05)}.theme-toggle:focus{outline:none;box-shadow:0 0 0 3px #ffcb054d}.theme-toggle:active{transition:all .1s;transform:translateY(0)scale(.95)}.theme-icon{transform-origin:50%;margin:auto;transition:all .3s;display:block}.theme-toggle:hover .theme-icon{transform:rotate(15deg)scale(1.1)}.sun-icon{animation:.5s ease-in-out sunRotate}.moon-icon{animation:.5s ease-in-out moonSlide}@keyframes sunRotate{0%{opacity:0;transform:rotate(0)scale(.8)}to{opacity:1;transform:rotate(180deg)scale(1)}}@keyframes moonSlide{0%{opacity:0;transform:translate(-10px)scale(.8)}to{opacity:1;transform:translate(0)scale(1)}}.github-link{color:var(--text-primary);background:var(--card-bg);box-shadow:0 2px 8px var(--card-shadow);border:1px solid var(--input-border);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;text-decoration:none;transition:all .2s;display:flex}.github-link svg{fill:currentColor;width:24px;height:24px;display:block}.github-link:hover{color:var(--button-hover-text);background:var(--button-hover-bg);border-color:var(--button-hover-border);box-shadow:0 4px 12px var(--card-shadow);transform:translateY(-1px)}.github-link:focus{outline:none;box-shadow:0 0 0 3px #ffcb054d}.github-link:active{transform:translateY(0)}.header h1{color:var(--text-heading);margin-bottom:8px;font-size:2.5rem;font-weight:700}.header p{color:var(--text-secondary);font-size:1.1rem}.calculator{gap:30px;display:grid}.form-section{background:var(--section-bg);border:1px solid var(--section-border);border-radius:12px;padding:24px}.form-section h3{color:var(--text-heading);margin-bottom:16px;font-size:1.2rem;font-weight:600}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text-heading);margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}.form-group select,.form-group input{border:2px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:8px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:all .2s}.form-group textarea{border:2px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:8px;padding:12px 16px;font-family:Monaco,Consolas,Lucida Console,monospace;font-size:.95rem;transition:all .2s}.form-group select option{background:var(--input-bg);color:var(--text-primary)}.form-group input::placeholder{color:var(--text-secondary);opacity:.7}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{border-color:var(--input-border-focus);outline:none;box-shadow:0 0 0 3px #ffcb051a}.form-group input.warning{border-color:var(--input-border-warning)}.form-group input.warning:focus{border-color:var(--input-border-warning);box-shadow:0 0 0 3px #d860181a}.form-group input.error{border-color:var(--input-border-warning);background-color:var(--input-bg-error)}.form-group input.error:focus{border-color:var(--input-border-warning);box-shadow:0 0 0 3px #d8601833}.warning-message{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:8px 12px;font-size:.85rem;font-weight:500;animation:.5s fadeInSlideDown;display:flex}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-enter{opacity:0;transition:all .5s;transform:translateY(-10px)}.fade-enter-active{opacity:1;transform:translateY(0)}.fade-exit{opacity:1;transition:all .5s;transform:translateY(0)}.fade-exit-active{opacity:0;transform:translateY(-10px)}.runtime-warning{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:8px;margin-top:12px;padding:12px;animation:.5s fadeInSlideDown}.sbatch-section{transform-origin:top;animation:.5s fadeInSlideDown}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.time-inputs{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.time-inputs .form-group{margin-bottom:0}.results{background:var(--results-bg);color:var(--results-text);text-align:center;border-radius:12px;padding:24px}.results h3{margin-bottom:16px;font-size:1.3rem;font-weight:600}.cost-display{text-shadow:0 2px 4px #0000001a;margin-bottom:16px;font-size:3rem;font-weight:700}.cost-breakdown{background:var(--breakdown-bg);text-align:left;border-radius:8px;margin:0 5%;padding:16px}.cost-breakdown h4{text-align:center;margin-bottom:12px;font-size:1rem;font-weight:600}.breakdown-item{justify-content:space-between;align-items:center;padding:4px 12px;font-size:.9rem;display:flex}.breakdown-item:not(:last-child){border-bottom:1px solid var(--breakdown-border);margin-bottom:8px;padding-bottom:8px}.partition-info{background:var(--partition-info-bg);border:1px solid var(--partition-info-border);border-radius:8px;margin-top:12px;padding:12px}.partition-info p{color:var(--text-primary);margin:0;font-size:.85rem}.import-helptext{margin-bottom:12px}.import-helptext-title{color:var(--text-heading);margin-bottom:8px;font-size:.9rem;font-weight:700}.import-help-list{gap:6px;margin:0 0 10px 18px;padding-left:4px;display:grid}.import-help-list li{color:var(--text-primary);font-size:.85rem;line-height:1.45}.import-helptext p+p{margin-top:6px}.checkbox-group{align-items:center;gap:8px;margin-bottom:12px;display:flex}.checkbox-group input[type=checkbox]{accent-color:#ffcb05;width:auto;margin:0;transform:scale(1.2)}.checkbox-group label{color:var(--text-heading);cursor:pointer;align-items:center;gap:8px;margin:0;font-weight:500;display:flex}.collapsible-content{transition:max-height .3s,opacity .3s,padding .3s,margin .3s;overflow:hidden}.collapsible-content.expanded{opacity:1;max-height:800px}.collapsible-content.collapsed{opacity:0;max-height:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.array-input-container{background:var(--array-input-bg);border:1px solid var(--input-border);border-radius:8px;margin-top:12px;padding:16px;transition:all .3s}.sbatch-section{transition:all .3s}.sbatch-import-input{resize:vertical;min-height:150px;line-height:1.4}.import-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.import-header-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-header-row h3{margin-bottom:0}.import-toggle-button{background:var(--button-primary-bg);color:var(--button-primary-text);border:2px solid var(--button-primary-border);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:.85rem;font-weight:500;transition:all .2s}.import-toggle-button:hover{background:var(--button-hover-bg);color:var(--button-hover-text);border-color:var(--button-hover-border)}.import-actions button{background:var(--button-primary-bg);color:var(--button-primary-text);border:2px solid var(--button-primary-border);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.import-actions button:hover:not(:disabled){background:var(--button-hover-bg);color:var(--button-hover-text);border-color:var(--button-hover-border)}.import-actions button:disabled{opacity:.6;cursor:not-allowed}.sbatch-import-feedback{margin-top:16px}.sbatch-import-feedback h4{color:var(--text-heading);margin-bottom:10px}.import-message-group{margin-top:12px}.import-message-group h5{color:var(--text-heading);margin-bottom:8px;font-size:.92rem}.import-warning-text,.import-applied-text{margin-top:6px;font-size:.85rem}code{background:var(--code-bg);color:var(--code-text);border-radius:4px;padding:2px 4px;font-family:Monaco,Consolas,Lucida Console,monospace;font-size:.85em}.results button{background:var(--button-primary-bg)!important;color:var(--button-primary-text)!important;border:2px solid var(--button-primary-border)!important;cursor:pointer!important;border-radius:8px!important;padding:8px 16px!important;font-family:inherit!important;font-size:.9rem!important;font-weight:500!important;transition:all .2s!important}.results button:hover{background:var(--button-hover-bg)!important;color:var(--button-hover-text)!important;border-color:var(--button-hover-border)!important}.results button:focus{outline:none!important;box-shadow:0 0 0 3px #ffcb054d!important}.results button:active{transform:translateY(1px)!important}@media (width<=768px){.app{max-width:calc(100vw - 40px);padding:24px}.header{padding-top:20px}.header h1{font-size:2rem}.top-controls{gap:6px;top:10px;right:10px}.theme-toggle{width:40px;min-width:40px;height:40px;min-height:40px;padding:8px}.github-link{width:40px;height:40px;padding:8px}.github-link svg{width:24px;height:24px}.form-row,.time-inputs{grid-template-columns:1fr}.cost-display{font-size:2.5rem}}@media (width>=769px){.app{width:100%!important;max-width:768px!important}}
