.dlb-lontara-text,
.dlb-key,
.dlb-converter textarea.dlb-lontara-text {
  font-family: "Noto Sans Buginese", "Noto Sans", "Segoe UI Historic", sans-serif;
}

.dlb-converter {
  --dlb-border: #e5e7eb;
  --dlb-text: #111827;
  --dlb-muted: #6b7280;
  --dlb-surface: #ffffff;
  --dlb-soft: #f8fafc;
  --dlb-primary: #5e43be;
  box-sizing: border-box;
  max-width: 1100px;
  margin: 24px 0;
  padding: 22px;
  border: 1px solid var(--dlb-border);
  border-radius: 18px;
  background: var(--dlb-surface);
  color: var(--dlb-text);
  box-shadow: 0 12px 40px rgba(15,23,42,.06);
}

.dlb-converter * { box-sizing: border-box; }
.dlb-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; }
.dlb-head h3 { margin:0 0 4px; font-size:22px; line-height:1.25; }
.dlb-head p { margin:0; color:var(--dlb-muted); }
.dlb-direction { min-width:180px; padding:9px 12px; border:1px solid var(--dlb-border); border-radius:10px; background:#fff; }
.dlb-fields { display:grid; grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr); align-items:center; gap:12px; }
.dlb-field label { display:block; margin:0 0 7px; font-weight:600; }
.dlb-field textarea { width:100%; min-height:160px; resize:vertical; padding:14px; border:1px solid var(--dlb-border); border-radius:12px; background:var(--dlb-soft); color:var(--dlb-text); font-size:17px; line-height:1.8; outline:none; }
.dlb-field textarea:focus { border-color:var(--dlb-primary); box-shadow:0 0 0 3px rgba(94,67,190,.10); }
.dlb-field textarea.dlb-lontara-text { font-size:26px; }
.dlb-swap { width:42px; height:42px; align-self:center; margin-top:24px; border:1px solid var(--dlb-border); border-radius:50%; background:#fff; cursor:pointer; font-size:20px; }
.dlb-actions { display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
.dlb-btn, .dlb-keyboard-toggle { border:0; border-radius:10px; padding:10px 15px; cursor:pointer; font-weight:600; }
.dlb-copy { background:var(--dlb-primary); color:#fff; }
.dlb-clear, .dlb-keyboard-toggle { background:#eef2f7; color:#1f2937; }
.dlb-keyboard-wrap { margin-top:16px; padding-top:16px; border-top:1px solid var(--dlb-border); }
.dlb-keyboard { display:grid; grid-template-columns:repeat(10,minmax(42px,1fr)); gap:7px; margin-top:12px; }
.dlb-key { min-height:44px; padding:7px; border:1px solid var(--dlb-border); border-radius:9px; background:#fff; font-size:22px; cursor:pointer; }
.dlb-key:hover { border-color:var(--dlb-primary); background:#f6f3ff; }
.dlb-help { margin:14px 0 0; color:var(--dlb-muted); font-size:13px; }
.dlb-admin-wrap { max-width:1180px; }
.dlb-admin-grid { display:grid; grid-template-columns:2fr 1fr; gap:18px; margin:20px 0; }
.dlb-admin-card, .dlb-note { background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:20px; }
.dlb-admin-card h2 { margin-top:0; }
.dlb-note { margin:18px 0; border-left:4px solid #5e43be; }

@media (max-width: 782px) {
  .dlb-converter { padding:16px; border-radius:14px; }
  .dlb-head { flex-direction:column; }
  .dlb-direction { width:100%; }
  .dlb-fields { grid-template-columns:1fr; }
  .dlb-swap { margin:0 auto; transform:rotate(90deg); }
  .dlb-keyboard { grid-template-columns:repeat(5,minmax(42px,1fr)); }
  .dlb-admin-grid { grid-template-columns:1fr; }
}

/* v1.1 Translator */
.dlb-translator {
  --dlb-border: #e5e7eb;
  --dlb-text: #111827;
  --dlb-muted: #6b7280;
  --dlb-surface: #ffffff;
  --dlb-soft: #f8fafc;
  --dlb-primary: #5e43be;
  box-sizing: border-box;
  max-width: 1100px;
  margin: 24px 0;
  padding: 22px;
  border: 1px solid var(--dlb-border);
  border-radius: 18px;
  background: var(--dlb-surface);
  color: var(--dlb-text);
  box-shadow: 0 12px 40px rgba(15,23,42,.06);
}
.dlb-translator * { box-sizing: border-box; }
.dlb-translate-direction { min-width: 200px; padding: 9px 12px; border: 1px solid var(--dlb-border); border-radius: 10px; background: #fff; }
.dlb-translate-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; align-items: stretch; }
.dlb-translator .dlb-field textarea { min-height: 245px; }
.dlb-result-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 12px; }
.dlb-result-box { min-height: 112px; padding: 14px; border: 1px solid var(--dlb-border); border-radius: 12px; background: var(--dlb-soft); overflow-wrap: anywhere; }
.dlb-result-label { display: block; margin-bottom: 8px; color: var(--dlb-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.dlb-translation-output { font-size: 18px; line-height: 1.7; white-space: pre-wrap; }
.dlb-lontara-output { font-size: 28px; line-height: 1.8; white-space: pre-wrap; }
.dlb-translate-button { background: var(--dlb-primary); color: #fff; }
.dlb-translate-button:disabled { opacity: .65; cursor: wait; }
.dlb-copy-translation, .dlb-copy-lontara, .dlb-translate-clear { background: #eef2f7; color: #1f2937; }
.dlb-translation-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 14px; padding: 10px 12px; border-radius: 10px; background: #f8fafc; color: #475569; font-size: 13px; }
.dlb-coverage { font-weight: 700; }
.dlb-unknown { color: #9a3412; }
.dlb-version { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: #eef2ff; color: #5e43be; font-size: 12px; vertical-align: middle; }
.dlb-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dlb-card-head h2 { margin: 0; }
.dlb-table-scroll { overflow-x: auto; margin-top: 15px; }
.dlb-table-scroll .dlb-lontara-text { font-size: 21px; }

@media (max-width: 782px) {
  .dlb-translator { padding: 16px; border-radius: 14px; }
  .dlb-translate-direction { width: 100%; }
  .dlb-translate-grid { grid-template-columns: 1fr; }
  .dlb-translator .dlb-field textarea { min-height: 170px; }
  .dlb-card-head { align-items: flex-start; flex-direction: column; }
}
