.lo-rehearsal{margin:.8rem 0;text-align:center}
.lo-rehearsal-dialog{box-sizing:border-box;width:min(380px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:90dvh;overflow:auto;margin:auto;padding:12px;border:2px solid #ca9a06;border-radius:14px;background:#fff;color:#1e293b}
.lo-rehearsal-dialog::backdrop{background:#0f172a99}
.lo-rehearsal-dialog h2{font-size:1.15rem;margin:0 0 .5rem}
.lo-rehearsal-dialog p{font-size:.8rem;line-height:1.45;margin:.4rem 0;overflow-wrap:anywhere}
.lo-rehearsal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:.65rem 0}
.lo-rehearsal-cell{min-height:44px;min-width:44px;aspect-ratio:1;border:2px solid #475569;border-radius:6px;background:#1e1b4b;color:#e2e8f0;font-size:.9rem;cursor:pointer;touch-action:manipulation}
.lo-rehearsal-cell.is-on{background:#fde68a;color:#713f12}
.lo-rehearsal-cell.is-used{border-style:dashed}
.lo-rehearsal-cell.is-footprint{box-shadow:inset 0 0 0 2px #0284c7}
.lo-rehearsal-cell:focus-visible,.lo-rehearsal .btn:focus-visible{outline:3px solid #0284c7;outline-offset:2px}
.lo-rehearsal-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:.65rem}
.lo-rehearsal-actions .btn{flex:1 1 110px;min-height:44px;padding:.5rem .6rem;font-size:.8rem}
.lo-rehearsal-solved{font-weight:700}
