/* ============================================================
   Editor de texto do Neon — a folha branca no meio, as ferramentas
   em cima, e na impressão (o PDF) só a folha.
   ============================================================ */
.ed-corpo{ margin: 0; background: var(--caixa); color: var(--tinta); }
.ed-corpo button, .ed-corpo select{
  font: 13px/1.1 var(--mono); min-height: 38px; padding: 6px 10px; border-radius: 8px; cursor: pointer;
  border: 1.5px solid var(--linha-forte); background: var(--papel); color: var(--tinta);
}
.ed-corpo button:hover, .ed-corpo select:hover{ border-color: var(--tinta); }
.ed-corpo button.forte{ background: var(--tinta); color: var(--papel); border-color: var(--tinta); font-weight: 700; }
.ed-corpo button[aria-pressed="true"]{ background: var(--tinta); color: var(--papel); border-color: var(--tinta); }

/* ---- o topo: nome, ações e a barra de formatação */
.ed-topo{ position: sticky; top: 0; z-index: 20; background: var(--papel); border-bottom: 1px solid var(--linha); padding-top: env(safe-area-inset-top, 0px); }
.ed-linha{ display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; padding: 10px 16px; }
.ed-volta{ font: 13px var(--mono); color: var(--dim); text-decoration: none; }
.ed-titulo{
  flex: 1 1 200px; min-width: 0; font: 700 17px/1.3 var(--mono); color: var(--tinta);
  background: transparent; border: 1.5px solid transparent; border-radius: 8px; padding: 7px 8px;
}
.ed-titulo:hover, .ed-titulo:focus{ border-color: var(--linha-forte); outline: none; }
.ed-salvo{ font: 12px var(--mono); color: var(--dim); }
.ed-acoes{ display: flex; flex-wrap: wrap; gap: 6px; }
.ed-barra{ display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 6px 16px 10px; }
.ed-grupo{ display: flex; flex-wrap: wrap; gap: 4px; align-items: center; padding-right: 8px; border-right: 1px solid var(--linha); }
.ed-grupo:last-child{ border-right: 0; }
.ed-rot{ display: inline-flex; gap: 4px; align-items: center; font: 11px var(--mono); color: var(--dim); }
.ed-barra button{ min-width: 38px; }
.ed-barra svg{ width: 16px; height: 16px; display: block; margin: 0 auto; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; }
.ed-barra .cores button{ min-width: 26px; width: 26px; min-height: 26px; height: 26px; padding: 0; border-radius: 50%; font-size: 12px; }
.ed-barra .cores button.marca{ border-radius: 6px; color: #333; }

/* ---- a folha */
.ed-mesa{ padding: 24px 16px 40px; }
.ed-pagina{
  box-sizing: border-box; max-width: 210mm; min-height: 297mm; margin: 0 auto; padding: 22mm 20mm;
  background: #fff; color: #1a1a1a; box-shadow: 0 2px 18px rgba(0,0,0,.16); outline: none;
  font-size: 16px; line-height: 1.6; overflow-wrap: break-word; caret-color: #1a1a1a;
}
.ed-pagina[data-fonte="serif"]{ font-family: "Source Serif 4", Georgia, "Times New Roman", serif; }
.ed-pagina[data-fonte="sans"]{ font-family: Inter, Arial, Helvetica, sans-serif; }
.ed-pagina[data-fonte="mono"]{ font-family: "JetBrains Mono", "Courier New", monospace; font-size: 15px; }
.ed-pagina[data-fonte="mao"]{ font-family: Caveat, "Comic Sans MS", cursive; font-size: 22px; line-height: 1.45; }
.ed-pagina > :first-child{ margin-top: 0; }
.ed-pagina p{ margin: 0 0 .8em; }
.ed-pagina h1{ font-size: 2em; line-height: 1.15; margin: .9em 0 .45em; }
.ed-pagina h2{ font-size: 1.5em; line-height: 1.2; margin: .9em 0 .4em; }
.ed-pagina h3{ font-size: 1.2em; line-height: 1.25; margin: .8em 0 .35em; }
.ed-pagina ul, .ed-pagina ol{ margin: 0 0 .8em; padding-left: 1.6em; }
.ed-pagina li{ margin: .2em 0; }
.ed-pagina blockquote{ margin: 0 0 .8em; padding: .3em 0 .3em 1em; border-left: 4px solid #c9ced6; color: #444; }
.ed-pagina pre{ margin: 0 0 .8em; padding: .8em 1em; background: #f3f4f6; border-radius: 6px; white-space: pre-wrap; font: 14px/1.5 "JetBrains Mono", "Courier New", monospace; }
.ed-pagina code{ font-family: "JetBrains Mono", "Courier New", monospace; font-size: .9em; background: #f3f4f6; padding: .05em .3em; border-radius: 4px; }
.ed-pagina pre code{ background: none; padding: 0; }
.ed-pagina hr{ border: 0; border-top: 1.5px solid #c9ced6; margin: 1.2em 0; }
.ed-pagina table{ border-collapse: collapse; margin: 0 0 .9em; width: 100%; font-size: .95em; }
.ed-pagina th, .ed-pagina td{ border: 1px solid #c9ced6; padding: 6px 9px; text-align: left; vertical-align: top; }
.ed-pagina th{ background: #f3f4f6; }
.ed-pagina a{ color: #1f5fa8; }

.ed-rodape{ max-width: 210mm; margin: 0 auto; padding: 0 16px 90px; font: 12.5px/1.6 var(--mono); color: var(--dim); }

/* ---- a janela de colar o texto da IA */
.ed-dialogo{ width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 32px); box-sizing: border-box; padding: 18px; border: 1.5px solid var(--tinta); border-radius: 12px; background: var(--papel); color: var(--tinta); }
.ed-dialogo::backdrop{ background: rgba(0,0,0,.45); }
.ed-dialogo h2{ margin: 0 0 8px; font-size: 20px; }
.ed-dialogo p{ margin: 0 0 10px; font-size: 15px; }
.ed-dialogo textarea{ display: block; width: 100%; box-sizing: border-box; min-height: 220px; padding: 10px; font: 13px/1.5 var(--mono); border: 1.5px solid var(--linha-forte); border-radius: 8px; background: var(--caixa); color: var(--tinta); resize: vertical; }
.ed-marcar{ display: flex; gap: 8px; align-items: center; margin: 10px 0 0; font: 13px var(--mono); }
.ed-dialogo-acoes{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

@media (max-width: 700px){
  .ed-barra{ flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ed-grupo{ flex-wrap: nowrap; }
  .ed-mesa{ padding: 12px 8px 30px; }
  .ed-pagina{ min-height: 70vh; padding: 22px 18px; }
}

/* ---- o PDF: só a folha, em A4 */
@page{ size: A4; margin: 18mm; }
@media print{
  .ed-topo, .ed-rodape, .ed-dialogo, .nm-barra, .nm-painel, .nx-barra, #vlibras, [vw]{ display: none !important; }
  html, body.ed-corpo{ background: #fff !important; }
  .ed-mesa{ padding: 0; }
  .ed-pagina{ max-width: none; min-height: 0; margin: 0; padding: 0; box-shadow: none; }
  .ed-pagina h1, .ed-pagina h2, .ed-pagina h3{ break-after: avoid; }
  .ed-pagina pre, .ed-pagina blockquote, .ed-pagina tr, .ed-pagina li{ break-inside: avoid; }
}
