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

.le .le-values{grid-template-columns:repeat(4,minmax(0,1fr))}.le .le-values span{min-height:3em}.le .le-node[data-node="count"] text{font-size:16px}.le .le-edges [hidden],.le .le-labels [hidden]{display:none!important}

