.simulation{gap:var(--space);align-items:start;margin-top:2rem;display:grid}.controls{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:1.5rem;min-width:0;margin:0;padding:1.25rem;display:grid}.controls legend{font:.8rem var(--mono);color:var(--primary);text-transform:uppercase;letter-spacing:.06em;padding-inline:.5rem}.control,.initial-values label{gap:.6rem;min-width:0;display:grid}.controls label{color:var(--muted);font-size:.85rem}.control label{flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;display:flex}.control output{color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums}.controls input[type=number],.controls select{border:1px solid var(--border);background:var(--background);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:.45rem;padding:.65rem}.controls input[type=number]:invalid{border-color:var(--method-euler)}.controls input[type=range]{width:100%;min-width:0;height:30px;accent-color:var(--primary);cursor:pointer;margin:0}.range-bounds{color:var(--muted);font:.7rem var(--mono);justify-content:space-between;display:flex}.initial-values{gap:1rem;display:grid}.advanced-options{gap:1.5rem;min-width:0;display:grid}.controls .exact-toggle{min-height:44px;color:var(--text);cursor:pointer;align-items:center;gap:.7rem;display:flex}.exact-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--primary);flex:none}.control-note{margin:0;font-size:.75rem}.method-options{border:0;min-width:0;margin:0;padding:0}.controls .method-options legend{color:var(--muted);font:inherit;text-transform:none;letter-spacing:normal;padding:0 0 .5rem}.controls .method-option{min-height:36px;color:var(--text);cursor:pointer;align-items:center;gap:.65rem;display:flex}.method-option input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.method-swatch{flex:none;width:.9rem;height:3px}.simulation-results{min-width:0}.lab-heading{font:.75rem var(--mono);color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.live-indicator{color:var(--primary);align-items:center;gap:.4rem;display:inline-flex}.live-indicator:before{content:"";background:currentColor;border-radius:50%;width:.4rem;height:.4rem}.plot-card{min-width:0;margin:0 0 var(--space);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.plot-card figcaption{padding:1rem 1.25rem 0;font-size:.95rem;font-weight:600}.plot{width:100%;min-height:420px}.plot-footer{justify-content:space-between;align-items:center;gap:.75rem;padding:0 .75rem .5rem 1.25rem;display:flex}.plot-hint{margin:0;font-size:.7rem}.plot-download{width:44px;height:44px;color:var(--muted);background:0 0;flex:none;padding:.65rem}.plot-download:hover{color:var(--text);background:0 0}.plot-download svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.plot-download:disabled{opacity:.5;cursor:wait}.table-scroll{overflow-x:auto}.csv-downloads{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 .5rem;margin-top:.5rem;display:flex}.csv-downloads button{min-height:44px;color:var(--muted);font:inherit;text-align:left;text-underline-offset:.25em;background:0 0;border:0;border-radius:0;padding:.25rem 0;font-size:.8rem}.csv-downloads button:hover,.csv-downloads button:focus-visible{color:var(--text);background:0 0;text-decoration:underline}table{border-collapse:collapse;width:100%;font:.8rem/1.6 var(--mono);font-variant-numeric:tabular-nums}caption{text-align:left;color:var(--muted);padding-block:.75rem}th,td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-weight:500}.result-details{border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;padding:1rem}.result-details p{font-size:.8rem}@media (width>=640px){.initial-values{grid-template-columns:1fr 1fr}}@media (width>=1000px){.simulation{grid-template-columns:300px minmax(0,1fr);gap:1.5rem}.initial-values{grid-template-columns:1fr}}
