.lab{max-width:46rem;box-sizing:border-box;padding:.5rem .25rem;font-size:1rem;line-height:1.65}
.lab h1,.lab h2{font-size:1.05rem;line-height:1.4;font-weight:600;margin:.25rem 0 .8rem}
.lab p{margin:.7rem 0}.lab .muted{color:var(--ink2);font-size:.875rem}
.lab .controls{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:1rem 0;align-items:center}
.lab .controls label{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;font-size:.9375rem}
.lab .controls label input[type=range]{width:9rem;max-width:100%;min-height:2.5rem}
.lab output,.lab .value{font-variant-numeric:tabular-nums;font-family:var(--mono)}
.lab select{font:inherit;font-size:.9375rem;color:var(--ink);background:var(--card);padding:.5rem;border:1px solid var(--line);border-radius:.25rem;max-width:100%}
.lab .table-wrap{overflow-x:auto;margin:1rem 0}.lab table{border-collapse:collapse;width:100%;font-size:.9375rem;text-align:left;font-variant-numeric:tabular-nums}
.lab th,.lab td{padding:.55rem .6rem;border-bottom:1px solid var(--line);white-space:nowrap}.lab th{font-weight:500;color:var(--ink2)}
.lab .readout{padding:.7rem 0;border-block:1px solid var(--line);font-size:1rem;line-height:1.8;margin:1rem 0}
.lab .readout p{margin:.3rem 0}.lab .active{background:var(--color-background-secondary)}
.lab button[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:var(--color-background-secondary)}
.lab svg{max-width:30rem;margin:1rem auto;font-family:var(--sans);color:var(--ink)}
.lab .legend{display:flex;gap:1.2rem;flex-wrap:wrap;font-size:.875rem;color:var(--ink2)}
.lab .legend span::before{content:'';display:inline-block;width:.7rem;height:.7rem;margin-right:.4rem;background:var(--mark,var(--ink));border-radius:50%}
.lab .matrix-choices{display:flex;gap:.4rem;flex-wrap:wrap}.lab .matrix-choices button{font-family:var(--mono)}
.lab .payoff-table td{padding:.3rem}.lab .payoff-table button{width:100%;min-height:4.5rem;font-size:1rem;color:var(--ink)}
.lab .best{border-bottom:2px solid var(--teal);font-weight:700}.lab .payoff-owner{font-size:.8125rem;color:var(--ink2);display:block}
.lab .tree{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0}
.lab .branch{border:1px solid var(--line);padding:.8rem}.lab .branch.chosen{border-color:var(--teal);border-width:2px;padding:calc(.8rem - 1px)}
.lab .stage-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;font-size:.875rem}.lab .stage-list li{padding:.2rem .6rem;border-bottom:2px solid var(--line)}.lab .stage-list .current{border-color:var(--ink);color:var(--ink)}
.lab [hidden]{display:none!important}.lab :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:420px){.lab .controls{gap:.65rem}.lab th,.lab td{padding:.45rem .4rem}.lab .tree{grid-template-columns:1fr}.lab .payoff-table button{padding:.5rem}.lab .controls label{width:100%}}

@media(max-width:520px){.lab .table-wrap::before{content:"Scroll across to see every column if needed.";display:block;font-size:.8125rem;color:var(--ink2);margin-bottom:.4rem}}
