diff --git a/README.md b/README.md
index 68f44c0..4f8f5a4 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,9 @@ restauração) e autenticação por **token** (Bearer para API / cookie HttpOnly
- **Marcador de coluna** customizável — padrão **80** (linha vertical no editor, exibida com
quebra de linha desligada, como no Mousepad/gedit).
- **Quebrar linha** ligado/desligável (alternável também pelo menu Exibir).
+ - **Tecla Tab**: insere N espaços (padrão **4**, configurável 1–16) **ou** o caractere de
+ tabulação `\t`; o valor também define a largura exibida do `\t` (`tab-size`) no editor e no
+ realce, mantendo as camadas alinhadas.
- **Fonte** (DejaVu Sans Mono, Ubuntu Mono, Cascadia Code, Liberation Mono, Courier New ou
monoespaçada do sistema) e **tamanho** (10–32 px).
- **Esquema de cores / tema**: Claro (Greybird), Escuro (Adwaita), Solarizado claro e
diff --git a/web/css/app.css b/web/css/app.css
index 58e1d61..5cc2a5f 100644
--- a/web/css/app.css
+++ b/web/css/app.css
@@ -309,7 +309,7 @@ body.no-gutter #gutter { display: none; }
white-space: pre-wrap;
overflow-wrap: break-word;
pointer-events: none;
- tab-size: 4;
+ tab-size: var(--tab-size, 4);
}
#hl.nowrap { white-space: pre; overflow-wrap: normal; }
.hl-line { min-height: var(--line-h); }
@@ -339,7 +339,7 @@ body.no-gutter #gutter { display: none; }
background: transparent;
color: transparent;
caret-color: var(--fg);
- tab-size: 4;
+ tab-size: var(--tab-size, 4);
}
#editor:focus { outline: none; }
#editor::selection { background: rgba(53, 132, 228, .30); }
@@ -894,6 +894,7 @@ html[data-theme="solar-escuro"] #revisions-list li:hover { background: #0c4450;
background: var(--panel);
color: var(--fg);
}
+.dialog .row select.compact { flex: 0 1 auto; }
.dialog .num { width: 74px; flex: none; }
/* diálogos no celular (depois das regras base de .dialog) */
diff --git a/web/index.html b/web/index.html
index 640a986..6ce802d 100644
--- a/web/index.html
+++ b/web/index.html
@@ -34,6 +34,14 @@
+