/* Bacon cipher tool (reuses the .at-* look of the Atbash page; key table is 4 columns of letter/code pairs) */
.tool-in label.at-inl { display: inline; margin: 0; font-weight: 600; }
.at-opts { gap: 14px 22px; }
.at-opts input[type="radio"], .at-opts input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--accent); margin: 0; }
.at-grp { display: inline-flex; gap: 14px 22px; flex-wrap: wrap; }
.at-opts [hidden], .bc-car[hidden] { display: none !important; }
#bc-out { background: var(--bg-subtle); font-family: var(--font-mono); }
#bc-in { font-family: var(--font-mono); }
.at-scroll { overflow-x: auto; padding: 8px 10px; background: var(--bg-subtle); border-radius: var(--radius-sm); }
.bc-keybox table { border-collapse: collapse; margin: 0 auto; font: 600 14px/1.4 var(--font-mono); display: block; }
.bc-keybox tbody { display: grid; grid-template-columns: repeat(4, auto); gap: 4px 18px; justify-content: center; }
.bc-keybox tr { display: flex; gap: 8px; align-items: baseline; }
.bc-keybox th { text-align: right; min-width: 3.2em; color: var(--muted); font-weight: 700; }
.bc-keybox td { letter-spacing: .08em; }
.bc-car { margin-top: 18px; }
.bc-carout { font: 400 17px/1.7 var(--font-sans); word-break: break-word; white-space: pre-wrap; margin: 8px 0 0; }
.bc-carout b { font-weight: 800; }
.at-sheet .bc-keybox table { color: #0f172a; font-size: 15px; }
.at-sh { margin: 14px 0 6px; font-weight: 700; color: #0f172a; }
.at-pmsg { font: 600 20px/1.6 var(--font-mono); letter-spacing: .04em; word-break: break-word; white-space: pre-wrap; color: #0f172a; }
.at-lines { border-bottom: 1px solid #64748b; height: 30px; }
@media (max-width: 560px) { .bc-keybox tbody { grid-template-columns: repeat(3, auto); gap: 4px 12px; } .at-sheet { padding: 20px 14px; } }
@media (max-width: 380px) { .bc-keybox tbody { grid-template-columns: repeat(2, auto); } }
@media print {
  .at-sh { color: #000; }
  .bc-keybox table { font-size: 11pt; color: #000; }
  .at-pmsg { font-size: 15pt; color: #000; }
  .at-lines { height: 26pt; border-color: #000; }
}
