textarea { resize: vertical; min-height: 100px; }
.btn-small {
  padding: 0.35rem 0.9rem;
  font-size: 0.85rem;
}

.status-bar {
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  font-size: 0.875rem;
  margin-bottom: 1rem;
  font-weight: 500;
}
.status-bar.loading {
  background: #fef3c7;
  color: #92400e;
}
.status-bar.ready {
  background: #dcfce7;
  color: #166534;
}
.status-bar.error {
  background: #fee2e2;
  color: #991b1b;
}

.options-row {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.option-group {
  flex: 1;
  min-width: 200px;
  margin-bottom: 0;
}
.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.radio-label {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.9rem;
  color: var(--text);
  font-weight: normal;
  cursor: pointer;
  margin-bottom: 0;
}
.radio-label input[type="radio"] {
  width: auto;
  margin: 0;
}

.result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.result-title {
  font-size: 0.875rem;
  color: var(--text-sub);
  font-weight: 500;
}

.preview-area {
  padding: 0.75rem;
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-size: 1.1rem;
  line-height: 2.2;
  margin-bottom: 0.75rem;
  min-height: 60px;
  word-break: break-all;
}
.preview-area ruby { ruby-align: center; }
.preview-area rt { font-size: 0.6em; color: var(--text-sub); }

html[data-theme="dark"] .status-bar.loading {
  background: #3b2f08;
  color: #fcd34d;
}
html[data-theme="dark"] .status-bar.ready {
  background: #052e16;
  color: #86efac;
}
html[data-theme="dark"] .preview-area {
  background: #0f172a;
}
