.lab{max-width:1000px;margin:0 auto;padding:0 1rem 3rem;line-height:1.6;overflow-wrap:anywhere}
.lab section{margin:2.2rem 0;padding-top:.5rem;border-top:1px solid currentColor}
.lab h2{margin-top:.5rem}
.lab label{font-weight:600}
.lab select,.lab input[type=text],.lab textarea{max-width:100%;font:inherit;padding:.5rem}
.lab textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,Consolas,monospace}
.lab button{font:inherit;padding:.55rem 1rem;margin:.15rem .25rem .15rem 0;cursor:pointer;min-height:44px}
.lab button:disabled{cursor:not-allowed;opacity:.55}
.lab :focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.lab-help{font-size:.92rem;opacity:.85}
.lab-error{color:#b00020;font-weight:600;min-height:1.2em}
.lab-error:empty{min-height:0}
.lab [aria-invalid=true]{border:2px solid #b00020}
.lab-pool{margin:1rem 0}
.lab-diagram{display:flex;flex-wrap:wrap;gap:3px;max-width:100%}
.lab-diagram .cell{width:12px;height:12px;border:1.5px solid currentColor;box-sizing:border-box}
.lab-diagram .cell.on{background:currentColor}
.lab-facts{display:grid;grid-template-columns:minmax(10rem,18rem) 1fr;gap:.35rem 1rem}
.lab-facts dt{font-weight:700}.lab-facts dd{margin:0}
@media (max-width:600px){.lab-facts{grid-template-columns:1fr}.lab-facts dd{margin-bottom:.6rem}}
.table-scroll{overflow-x:auto;max-width:100%}
.lab table{border-collapse:collapse;min-width:100%}
.lab th,.lab td{border:1px solid currentColor;padding:.4rem .6rem;text-align:left;vertical-align:top}
.lab-chart{width:100%;height:auto;max-width:640px}
.lab figure{margin:1rem 0}
#sim-status[data-kind=error]{color:#b00020;font-weight:600}
.lab progress{width:100%;max-width:480px}
.lab-nav{margin:1rem 0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
