/* Раздел «Шрифты» */
#fonts-view .armor-layout { grid-template-columns: 300px minmax(0, 1fr); }
#fonts-view .armor-stage { overflow: hidden; }

.tf-editor {
  position: absolute; inset: 0; overflow-y: auto;
  display: flex; flex-direction: column; gap: var(--space-5);
  padding: var(--space-6) var(--space-6) var(--space-7);
}
.tf-editor[hidden] { display: none; }
.tf-editor > .bp-card { width: 100%; max-width: 780px; margin: 0 auto; flex: none; }
.tf-editor > .tf-msg { width: 100%; max-width: 780px; margin: 0 auto; }

.tf-item-ico {
  width: 32px; height: 32px; flex: none; display: grid; place-items: center;
  border-radius: var(--radius-sm); background: var(--color-bg-input); color: var(--color-accent);
  font: 700 13px/1 var(--font-sans);
}

.tf-row { display: flex; gap: var(--space-4); align-items: flex-start; }
.tf-row > .bp-field { flex: 1; min-width: 0; }

.tf-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: var(--radius-sm); background: var(--color-bg-input); border: 1px solid rgba(255,255,255,0.08); width: fit-content; }
.tf-seg button {
  border: 0; background: transparent; color: var(--color-text-3); cursor: pointer;
  padding: 7px 14px; border-radius: 6px; font: 600 12px/1 var(--font-sans);
  transition: background .15s, color .15s;
}
.tf-seg button:hover { color: var(--color-text-1); }
.tf-seg button.is-active { background: var(--color-accent); color: #fff; }

.tf-num { display: flex; align-items: stretch; gap: 0; }
.tf-num input { text-align: center; border-radius: 0 !important; min-width: 0; flex: 1; }
.tf-num button {
  width: 34px; border: 1px solid rgba(255,255,255,0.1); background: var(--color-bg-input); color: var(--color-text-2);
  cursor: pointer; font: 600 15px/1 var(--font-sans);
}
.tf-num button:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.tf-num button:last-child { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.tf-num button:hover { color: var(--color-text-1); border-color: var(--color-accent-ring); }

.tf-file { display: flex; align-items: center; gap: var(--space-4); }

.tf-msg {
  padding: 10px 14px; border-radius: var(--radius-sm); font: 500 12px/1.4 var(--font-sans);
  background: var(--color-accent-soft, rgba(54,112,226,0.12)); color: var(--color-text-1);
}
.tf-msg.is-bad { background: var(--color-danger-soft, rgba(239,68,68,0.12)); color: #fca5a5; }
.tf-msg[hidden] { display: none; }

.tf-prev-head, .tf-use-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); color: var(--color-text-1); font: 600 13px/1.2 var(--font-sans); }
.tf-prev-note { color: var(--color-text-4); font: 500 11px/1.2 var(--font-sans); }
.tf-sample { width: 100%; height: 36px; padding: 0 12px; border-radius: var(--radius-sm); border: 1px solid rgba(255,255,255,0.08); background: var(--color-bg-input); color: var(--color-text-1); font: 500 13px var(--font-sans); outline: none; }
.tf-sample:focus { border-color: var(--color-accent-ring); }
.tf-prev { border-radius: var(--radius-sm); overflow: hidden; border: 1px solid rgba(255,255,255,0.06); background: #0d0d0f; }
.tf-prev canvas { display: block; width: 100%; image-rendering: pixelated; }

.tf-hint { margin: 0; color: var(--color-text-3); font: 400 12px/1.5 var(--font-sans); }
.tf-hint code, .tf-use-head code { font-family: var(--font-mono); color: var(--color-text-2); }
.tf-del { align-self: flex-start; margin-top: var(--space-2); }
