:root{--text:#44425a;--text-muted:#6b6375;--text-h:#08060d;--bg:aliceblue;--border:#e5e4e7;--accent:#0d6efd;--accent-dark:#0b58c9;--sans:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, Consolas, "Liberation Mono", monospace;font:17px/1.5 var(--sans);letter-spacing:.15px;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4{color:var(--text-h);font-weight:500}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}#root{flex-direction:column;max-width:1600px;min-height:100svh;margin:0 auto;padding:0 24px;display:flex}.app{background:#fff;border-radius:5px;flex-direction:column;flex:1;margin-bottom:10px;padding:20px;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.app-header{text-align:center}.app-header h1{letter-spacing:-.5px;margin:0 0 8px;font-size:30px}.app-header .lead{color:var(--text-muted);font-size:17px}hr{border:none;border-top:1px solid var(--border);margin:18px 0}.layout{grid-template-columns:minmax(280px,340px) 1fr;align-items:start;gap:20px;display:grid}.panel{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.controls-panel{background:#f8f9fa;padding:10px}.controls{flex-direction:column;gap:14px;display:flex}.card-title{margin:8px 0 0;font-size:18px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:#000;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.tooltip{background:var(--border);width:16px;height:16px;color:var(--text-h);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex;position:relative}.tooltip:after{content:attr(data-help);background:var(--text-h);color:#fff;opacity:0;pointer-events:none;z-index:10;border-radius:6px;width:max-content;max-width:220px;padding:8px 10px;font-size:13px;font-weight:400;line-height:1.4;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:hover:after,.tooltip:focus-visible:after{opacity:1}.text-input,.number-input{width:100%;font:15px var(--mono);color:var(--text-h);border:1px solid var(--border);background:#fcfcfc;border-radius:6px;padding:8px 10px}.text-input:focus,.number-input:focus{outline:2px solid var(--accent);outline-offset:1px}.schematic-wrap{justify-content:center;display:flex}.schematic{width:100%;max-width:100px;height:auto}.controls-actions{gap:10px;margin-top:4px;display:flex}.button{font:600 15px var(--sans);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:1;padding:10px 14px;transition:background .15s}.button:disabled{opacity:.5;cursor:not-allowed}.button-danger{background:var(--accent)}.button-danger:hover:not(:disabled){background:var(--accent-dark)}.button-dark{background:#34323e}.button-dark:hover:not(:disabled){background:#211f28}.computing{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;font-size:14px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-track{background:var(--border);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .1s linear}.error{color:var(--accent);font-size:14px}.plot-panel{min-height:400px;padding:12px}.band-plot{width:100%;height:750px}.plot-placeholder{height:750px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:24px;display:flex}.app-footer{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:24px;padding:8px 0 24px;font-size:15px;display:flex}.footer-credits{text-align:right}@media (width<=900px){.layout{grid-template-columns:1fr}.footer-credits{text-align:left}}
