body.lab main,body.lab footer{max-width:70rem}
.lab .module,.lab-form{margin:1.4rem 0}
.lab summary{cursor:pointer;font-weight:600;padding:.5rem 0;min-height:44px}
.lab details[open]>summary{margin-bottom:.7rem}
.lab fieldset{min-width:0;margin:1.2rem 0;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius)}
.lab legend{font-size:1.1rem;padding:0 .5rem}
.lab-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.lab label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;min-width:0}
.lab-control{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.lab input,.lab select,.lab textarea{width:100%;min-width:0;max-width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid #506163;border-radius:8px;padding:.7rem;min-height:44px}
.lab textarea{resize:vertical}
.lab :is(select,textarea,summary,button):focus-visible{outline:2px solid var(--green);outline-offset:3px}
.lab-actions{display:flex;gap:1rem;flex-wrap:wrap}
.lab button[disabled]{opacity:.5;cursor:not-allowed}
.lab-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.lab-metrics dt{font-size:.8rem;color:var(--muted)}
.lab-metrics dd{margin:.3rem 0;font-size:1.25rem;font-variant-numeric:tabular-nums}
.lab-curve{margin:1rem 0}
.lab-curve svg{width:100%;height:auto;display:block}
.lab-curve polyline{fill:none;stroke:var(--green);stroke-width:2;vector-effect:non-scaling-stroke}
.lab-curve figcaption{color:var(--muted);font-size:.8rem}
.lab-trade{border-top:1px solid var(--line);padding:1rem 0;min-width:0}
.lab-trade p,.lab-trade li{font-size:.9rem}
.lab code{overflow-wrap:anywhere}
.lab ul{padding-left:1.3rem}
@media(max-width:700px){.lab-fields,.lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.lab-fields{grid-template-columns:minmax(0,1fr)}.lab fieldset{padding:1rem}.lab-metrics dd{font-size:1.05rem}.lab-actions button{width:100%;justify-content:center}}
