.lb{--ink:#263238;--loop:#1268a0;--match:#087b69;--line:#586771;color:var(--ink);font-family:system-ui,sans-serif;container-type:inline-size;margin:28px 0;letter-spacing:0}
.lb *{box-sizing:border-box;letter-spacing:0}.lb [hidden]{display:none!important}
.lb .lb-layout{display:grid;grid-template-columns:minmax(175px,.65fr) minmax(0,1.4fr);gap:22px;align-items:start}.lb .lb-settings,.lb .lb-player{min-width:0}
.lb h3,.lb h4{font-size:18px;line-height:1.5;margin:0 0 14px;padding:0;border:0;background:none;color:var(--ink)}.lb h4{font-size:15px;margin-top:16px}
.lb label{display:grid;gap:6px;font-size:14px;font-weight:600;min-width:0;margin-bottom:12px}.lb .lb-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lb button,.lb input,.lb select{font:inherit;font-size:14px;line-height:1.4;border:1px solid #bac8c2;border-radius:4px;color:var(--ink);background:white;max-width:100%;min-height:42px}
.lb input,.lb select{width:100%;padding:8px}.lb button{padding:9px 7px;cursor:pointer;white-space:normal;font-weight:600}.lb button:hover{background:#eef5f2}.lb button:disabled{opacity:.45;cursor:default}
.lb button:focus-visible,.lb input:focus-visible,.lb select:focus-visible,.lb summary:focus-visible{outline:3px solid #1268a0;outline-offset:2px}
.lb .lb-config,.lb .lb-feedback,.lb .lb-error{font-size:14px;line-height:1.7;margin:10px 0}.lb .lb-error:empty{display:none}.lb .lb-error{color:#a32c36}
.lb .lb-quiz{display:grid;gap:8px;border-top:1px solid #dbe3df;padding-top:16px;margin-top:16px}.lb .lb-quiz label{margin:0}.lb .lb-quiz button{background:var(--loop);color:white}.lb .lb-feedback{min-height:48px}
.lb .lb-presets{display:grid;gap:7px}.lb .lb-presets button{text-align:left;font-size:13px}
.lb .lb-console{background:#fff;border-top:2px solid var(--match);border-bottom:1px solid #dbe3df;padding:10px 12px}
.lb .lb-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lb .lb-values span{font-size:12px;display:block}.lb .lb-values strong{font-size:24px;line-height:1.4;font-variant-numeric:tabular-nums}.lb .lb-values div:first-child{color:var(--loop)}.lb .lb-values div:last-child{color:var(--match)}
.lb .lb-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.lb .lb-actions button{font-size:13px;padding:7px 2px}
.lb .lb-status{font-size:13px;line-height:1.5;min-height:4.5em;margin:7px 0 0}
.lb .lb-diagram{display:block;width:100%;height:auto;max-width:440px;margin:12px auto}
.lb .lb-edges path{fill:none;stroke:var(--line);stroke-width:2;marker-end:url(#lb-arrow)}.lb marker path{fill:var(--line)}
.lb .lb-labels text{font-size:15px;fill:#45555e;text-anchor:middle}.lb .lb-node rect,.lb .lb-node polygon{fill:#fff;stroke:var(--line);stroke-width:2}.lb .lb-node text{font-size:17px;font-weight:600;fill:var(--ink);text-anchor:middle;dominant-baseline:middle}
.lb .lb-loop polygon{stroke:var(--loop);fill:#f2f7fc}.lb .lb-match rect,.lb .lb-match polygon{stroke:var(--match);fill:#f0f8f4}.lb .lb-terminal rect{fill:#f4f6f7}
.lb .lb-node.is-active rect,.lb .lb-node.is-active polygon{stroke:#b65e09;stroke-width:4;fill:#fff4da}.lb .lb-edges path.is-active{stroke:#b65e09;stroke-width:3}
.lb .lb-legend{font-size:12px;line-height:1.6;margin:6px 0}.lb .lb-numbers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.lb .lb-number{display:flex;gap:4px;align-items:center;justify-content:center;min-height:34px;border:1px solid #c7d2cf;border-radius:4px;background:#f5f7f6;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}.lb .lb-number.yes{background:#e4f2ec;border-color:var(--match);color:#075c4d}.lb .lb-number.no{background:#f4f4f4;color:#555}.lb .lb-number.current{outline:2px solid #b65e09;outline-offset:-2px}
.lb details{border-top:1px solid #dbe3df;margin-top:16px;padding:12px 0}.lb summary{font-size:15px;font-weight:600;cursor:pointer}.lb details p,.lb .lb-history ol{font-size:14px;line-height:1.7}.lb .lb-history ol{max-height:220px;overflow:auto;padding-left:24px}
@container(max-width:590px){.lb .lb-layout{grid-template-columns:1fr;gap:20px}.lb .lb-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lb .lb-presets{grid-template-columns:1fr 1fr}.lb .lb-feedback{min-height:0}}
