:root[data-theme='light'] {
  --bg: #ffffff;
  --text: #000000;
  --modal-bg: rgba(0, 0, 0, 0.5);
  --panel-bg: #f5f5f5;
}

:root[data-theme='dark'] {
  --bg: #111111;
  --text: #ffffff;
  --modal-bg: rgba(0, 0, 0, 0.7);
  --panel-bg: #1e1e1e;
}

body {
  background-color: var(--bg);
  color: var(--text);
  font-family: sans-serif;
  margin: 0;
  padding: 0;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.nav-bar {
  background: #333;
  color: #fff;
  padding: 10px;
  text-align: center;
}

.nav-link {
  color: #fff;
  margin: 0 10px;
  text-decoration: none;
}

.nav-link.active,
.nav-link[aria-current="page"] {
  text-decoration: underline;
  font-weight: bold;
}

header {
  padding: 1em;
  text-align: center;
  background-color: var(--panel-bg);
}

header h1 {
  margin: 0;
}

main {
  padding: 2em;
}

section {
  margin-bottom: 2em;
}

.tier-notice {
  font-style: italic;
  margin-top: 0.5em;
}

.hidden {
  display: none;
}

.small-print {
  font-size: 0.85em;
  margin-top: 0.5em;
}

textarea {
  width: 100%;
  height: 150px;
  padding: 1em;
  font-family: monospace;
  font-size: 1em;
  border: 1px solid #ccc;
  background-color: var(--panel-bg);
  color: var(--text);
}

button {
  padding: 0.6em 1.2em;
  margin-top: 1em;
  font-size: 1em;
  cursor: pointer;
  background-color: var(--text);
  color: var(--bg);
  border: none;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

button:hover {
  background-color: #444;
  color: #fff;
}

.settings-btn {
  position: fixed;
  top: 1rem;
  right: 1rem;
  background-color: var(--text);
  color: var(--bg);
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  font-size: 1.25rem;
  line-height: 44px;           /* Vertically center the emoji/icon */
  text-align: center;          /* Horizontally center */
  cursor: pointer;
  z-index: 1001;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s ease;
  padding: 0;                  /* Remove default padding */
}


.settings-btn:hover {
  background-color: #444;
  color: #fff;
}

/* Modal Styling */
.modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: var(--modal-bg);
}

.modal-content {
  background-color: var(--bg);
  color: var(--text);
  margin: 10% auto;
  padding: 20px;
  border-radius: 8px;
  width: 90%;
  max-width: 500px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.modal-content h2 {
  margin-top: 0;
}

.close {
  color: var(--text);
  float: right;
  font-size: 1.5em;
  font-weight: bold;
  cursor: pointer;
}

.centered-container {
  max-width: 700px;      /* limit width */
  margin-left: auto;      /* center horizontally */
  margin-right: auto;     /* center horizontally */
  text-align: center;     /* center text */
  padding-left: 1rem;     /* optional padding */
  padding-right: 1rem;    /* optional padding */
  display: block;         /* ensure block element */
}

/* Formatted Output */
#formattedOutput {
  white-space: pre-wrap;
  word-break: break-word;
}

/* Blog Editor */
#blogChunks .chunk {
  border: 1px solid #ccc;
  padding: 0.75em;
  margin-bottom: 0.5em;
  background-color: var(--panel-bg);
}

#blogChunks .chunk:focus {
  outline: 2px solid #007bff;
}

/* Transcript Editor */
#transcriptChunks .chunk {
  border: 1px solid #ccc;
  padding: 0.75em;
  margin-bottom: 0.5em;
  background-color: var(--panel-bg);
}

#transcriptChunks .chunk:focus {
  outline: 2px solid #007bff;
}

/* Responsive Tweaks */
@media (max-width: 768px) {
  header {
    padding: 0.5em;
  }

  main {
    padding: 1em;
  }

  .modal-content {
    width: 95%;
  }
}
