*{margin:0;padding:0;box-sizing:border-box}:root{--bg-gradient-start: #2F65A7;--bg-gradient-end: #00274C;--card-bg: white;--card-shadow: rgba(0, 0, 0, .1);--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: rgba(239, 68, 68, .1);--warning-border: rgba(239, 68, 68, .3);--warning-text: #dc2626;--results-bg: rgba(255, 205, 5, .227);--results-text: #00274C;--breakdown-bg: rgba(255, 205, 5, .227);--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: rgba(43, 43, 43, .3);--toggle-hover-bg: rgba(112, 112, 112, .3)}[data-theme=dark]{--bg-gradient-start: #1a1a1a;--bg-gradient-end: #001930;--card-bg: #272b30;--card-shadow: rgba(0, 0, 0, .5);--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: rgba(255, 107, 107, .1);--warning-bg: rgba(255, 107, 107, .1);--warning-border: rgba(255, 107, 107, .3);--warning-text: #ff6b6b;--results-bg: #ffcd050e;--results-text: #e2e8f0;--breakdown-bg: #ffcd050e;--breakdown-border: rgba(255, 203, 5, .1);--partition-info-bg: #ffcd050e;--partition-info-border: #555555;--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: rgba(255, 203, 5, .1);--toggle-border: rgba(255, 203, 5, .3);--toggle-hover-bg: rgba(255, 203, 5, .2)}html{min-height:100vh;height:100%;overflow-x:hidden}html:before{content:"";position:fixed;top:-200vh;left:0;right:0;bottom:-200vh;background:linear-gradient(135deg,var(--bg-gradient-start),var(--bg-gradient-end) 60%);z-index:-1}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:transparent;min-height:100vh;min-height:100dvh;color:var(--text-primary);overflow-x:hidden;overflow-y:auto;max-width:100vw;position:relative}#root{min-height:100vh;display:flex;flex-grow:1;align-items:center;justify-content:center;padding:20px;overflow-x:hidden}.app{background:var(--card-bg);border-radius:16px;box-shadow:0 20px 40px var(--card-shadow);padding:40px;max-width:600px;width:100%;display:flex;flex-direction:column;justify-content:flex-start;margin:0 5%;box-sizing:border-box;position:relative}.header{text-align:center;margin-bottom:40px;position:relative;padding-top:20px}.top-controls{position:fixed;top:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;align-items:center}.theme-toggle{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:50%;padding:8px;cursor:pointer;font-size:1.2rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px;box-shadow:0 2px 8px var(--card-shadow);position:relative;overflow:hidden;min-width:40px;min-height:40px}.theme-toggle svg{display:block;margin:0 auto;flex-shrink:0}.theme-toggle:hover{color:var(--button-hover-text);background:var(--button-hover-bg);border-color:var(--button-hover-border);transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px var(--card-shadow)}.theme-toggle:focus{outline:none;box-shadow:0 0 0 3px #ffcb054d}.theme-toggle:active{transform:translateY(0) scale(.95);transition:all .1s ease}.theme-icon{transition:all .3s ease;transform-origin:center;display:block;margin:auto}.theme-toggle:hover .theme-icon{transform:rotate(15deg) scale(1.1)}.sun-icon{animation:sunRotate .5s ease-in-out}.moon-icon{animation:moonSlide .5s ease-in-out}@keyframes sunRotate{0%{transform:rotate(0) scale(.8);opacity:0}to{transform:rotate(180deg) scale(1);opacity:1}}@keyframes moonSlide{0%{transform:translate(-10px) scale(.8);opacity:0}to{transform:translate(0) scale(1);opacity:1}}.github-link{color:var(--text-primary);text-decoration:none;transition:all .2s ease;background:var(--card-bg);border-radius:50%;padding:8px;box-shadow:0 2px 8px var(--card-shadow);border:1px solid var(--input-border);display:flex;align-items:center;justify-content:center;width:40px;height:40px}.github-link svg{width:24px;height:24px;fill:currentColor;display:block}.github-link:hover{color:var(--button-hover-text);background:var(--button-hover-bg);border-color:var(--button-hover-border);transform:translateY(-1px);box-shadow:0 4px 12px var(--card-shadow)}.github-link:focus{outline:none;box-shadow:0 0 0 3px #ffcb054d}.github-link:active{transform:translateY(0)}.header h1{color:var(--text-heading);font-size:2.5rem;font-weight:700;margin-bottom:8px}.header p{color:var(--text-secondary);font-size:1.1rem}.calculator{display:grid;gap:30px}.form-section{background:var(--section-bg);padding:24px;border-radius:12px;border:1px solid var(--section-border)}.form-section h3{color:var(--text-heading);font-size:1.2rem;font-weight:600;margin-bottom:16px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;color:var(--text-heading);font-weight:500;margin-bottom:6px;font-size:.9rem}.form-group select,.form-group input{width:100%;padding:12px 16px;border:2px solid var(--input-border);border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s ease;background:var(--input-bg);color:var(--text-primary)}.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{outline:none;border-color:var(--input-border-focus);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);padding:8px 12px;border-radius:6px;margin-top:6px;border:1px solid var(--warning-border);font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:6px;animation:fadeInSlideDown .5s ease}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-enter{opacity:0;transform:translateY(-10px);transition:all .5s ease}.fade-enter-active{opacity:1;transform:translateY(0)}.fade-exit{opacity:1;transform:translateY(0);transition:all .5s ease}.fade-exit-active{opacity:0;transform:translateY(-10px)}.runtime-warning{background:var(--warning-bg);color:var(--warning-text);padding:12px;border-radius:8px;margin-top:12px;border:1px solid var(--warning-border);animation:fadeInSlideDown .5s ease}.sbatch-section{animation:fadeInSlideDown .5s ease;transform-origin:top}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.time-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.time-inputs .form-group{margin-bottom:0}.results{background:var(--results-bg);color:var(--results-text);padding:24px;border-radius:12px;text-align:center}.results h3{font-size:1.3rem;font-weight:600;margin-bottom:16px}.cost-display{font-size:3rem;font-weight:700;margin-bottom:16px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.cost-breakdown{background:var(--breakdown-bg);padding:16px;border-radius:8px;text-align:left;margin:0 5%}.cost-breakdown h4{font-size:1rem;font-weight:600;margin-bottom:12px;text-align:center}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;font-size:.9rem}.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);padding:12px;border-radius:8px;margin-top:12px}.partition-info p{color:var(--text-primary);font-size:.85rem;margin:0}.checkbox-group{display:flex;align-items:center;gap:8px;margin-bottom:12px}.checkbox-group input[type=checkbox]{width:auto;margin:0;accent-color:#FFCB05;transform:scale(1.2)}.checkbox-group label{margin:0;font-weight:500;color:var(--text-heading);cursor:pointer;display:flex;align-items:center;gap:8px}.collapsible-content{overflow:hidden;transition:max-height .3s ease,opacity .3s ease,padding .3s ease,margin .3s ease}.collapsible-content.expanded{max-height:800px;opacity:1}.collapsible-content.collapsed{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0}.array-input-container{background:var(--array-input-bg);border:1px solid var(--input-border);border-radius:8px;padding:16px;margin-top:12px;transition:all .3s ease}.sbatch-section{transition:all .3s ease}code{background:var(--code-bg);padding:2px 4px;border-radius:4px;font-family:Monaco,Consolas,Lucida Console,monospace;font-size:.85em;color:var(--code-text)}.results button{background:var(--button-primary-bg)!important;color:var(--button-primary-text)!important;border:2px solid var(--button-primary-border)!important;border-radius:8px!important;padding:8px 16px!important;cursor:pointer!important;font-size:.9rem!important;font-weight:500!important;font-family:inherit!important;transition:all .2s ease!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 (max-width: 768px){.app{padding:24px;max-width:calc(100vw - 40px)}.header{padding-top:20px}.header h1{font-size:2rem}.top-controls{top:10px;right:10px;gap:6px}.theme-toggle{width:40px;height:40px;padding:8px;min-width:40px;min-height:40px}.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 (min-width: 769px){.app{max-width:768px!important;width:100%!important}}
