/* Решетка, не лента · три колони, редовете растат надолу */
.nx-bot{position:sticky;bottom:0;display:flex;flex-direction:column;gap:var(--nx-s2);
  padding:var(--nx-s2) var(--nx-s2) calc(var(--nx-s2) + env(safe-area-inset-bottom));
  background:var(--nx-surface-1);border-top:1px solid var(--nx-line)}
.nx-bot__play{display:flex;align-items:center;gap:var(--nx-s2);padding:0 var(--nx-s1)}
.nx-bot__time{font-size:11.5px;color:var(--nx-text-3);font-variant-numeric:tabular-nums}
.nx-bot__line{flex:1;height:4px;border-radius:var(--nx-pill);background:var(--nx-surface-3);overflow:hidden}
.nx-bot__line b{display:block;height:100%;background:var(--nx-accent)}
.nx-bot__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nx-s2)}
.nx-bot__key{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--nx-s1);
  min-height:64px;padding:var(--nx-s2);border-radius:var(--nx-r2);border:1px solid var(--nx-line);
  background:var(--nx-surface-2);color:var(--nx-text);font-size:11.5px;overflow:hidden}
.nx-bot__key svg{width:20px;height:20px}
.nx-bot__key[data-w="3"]{min-height:80px;font-size:13px;background:var(--nx-surface-3)}
.nx-bot__key[data-w="3"] svg{width:24px;height:24px}
.nx-bot__key[data-w="2"]{min-height:72px;font-size:12px}
.nx-bot__key[data-tone="ok"]{border-color:var(--nx-ok);color:var(--nx-ok)}
.nx-bot__key[data-tone="stop"]{border-color:var(--nx-err);color:var(--nx-err);background:var(--nx-err-bg)}
.nx-bot__key[data-tone="go"]{border-color:var(--nx-accent);color:var(--nx-accent)}
.nx-bot__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nx-bot__key:active{transform:scale(.97)}
.nx-bot__key.is-flip svg{transform:rotate(180deg)}

/* Гласът е РЕКОРД, не плочка: кръгъл, червен, личи си от метър (owner 18.09) */
.nx-bot__key.is-rec{border-radius:var(--nx-pill);border-width:2px;border-color:var(--nx-err);
  color:var(--nx-err);background:var(--nx-err-bg)}
.nx-bot__key.is-rec svg{display:none}
.nx-bot__key.is-rec::before{content:"";width:22px;height:22px;border-radius:var(--nx-pill);
  background:var(--nx-err);display:block}
.nx-bot__key.is-rec[data-tone="stop"]::before{border-radius:6px;animation:nx-rec 1.1s ease-in-out infinite}
@keyframes nx-rec{50%{opacity:.35}}
