/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

:root {
  --bg-base: #0f172a;
  --bg-surface: #1f2937;
  --bg-muted: #111827;
  --border-muted: #374151;
  --text-primary: #e5e7eb;
  --text-muted: #9ca3af;
  --accent: #60a5fa;
}

body {
  background: var(--bg-base);
  color: var(--text-primary);
  font-family: "Nunito", "Inter", "Helvetica Neue", Arial, sans-serif;
}

@font-face {
  font-family: "Nunito";
  font-weight: 200 900;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/nunito/v25/XRXV3I6Li01BKofINeaBTMnFcQ.woff2") format("woff2");
}

a {
  color: var(--accent);
}

/* Surface overrides */
.bg-white,
.bg-gray-50,
.bg-gray-100 {
  background-color: var(--bg-surface) !important;
  color: var(--text-primary) !important;
}

.bg-gray-200 {
  background-color: #1f2937 !important;
}

.nav-hover {
  transition: background-color 150ms ease, transform 150ms ease;
}

.nav-hover.active {
  background-color: transparent !important;
  transform: none;
}

.nav-hover:hover {
  background-color: #1f2937 !important;
  transform: translateX(2px);
}

.border-gray-200,
.border-gray-300 {
  border-color: var(--border-muted) !important;
}

.text-gray-800,
.text-gray-700,
.text-gray-600,
.text-gray-500,
.text-gray-900 {
  color: var(--text-primary) !important;
}

.text-gray-500 {
  color: var(--text-muted) !important;
}

/* Pastel button tweaks for dark theme */
.bg-blue-200 {
  background-color: #1d4ed8 !important;
}

.text-blue-900 {
  color: #dbeafe !important;
}

.bg-green-100 {
  background-color: #15803d !important;
  color: #dcfce7 !important;
}

.text-green-900 {
  color: #dcfce7 !important;
}

.bg-yellow-100 {
  background-color: #f59e0b !important;
  color: #fef3c7 !important;
}

.text-yellow-900 {
  color: #fef3c7 !important;
}

.bg-red-200 {
  background-color: #b91c1c !important;
  color: #fee2e2 !important;
}

.text-red-900 {
  color: #fee2e2 !important;
}

.bg-blue-100,
.hover\:bg-blue-100:hover {
  background-color: #1e40af !important;
}

.bg-gray-100,
.hover\:bg-gray-50:hover,
.hover\:bg-gray-100:hover {
  background-color: #111827 !important;
}

.border-blue-100 {
  border-color: #1d4ed8 !important;
}

.border-green-200 {
  border-color: #16a34a !important;
}

.border-yellow-200 {
  border-color: #f59e0b !important;
}

.border-red-100 {
  border-color: #b91c1c !important;
}

#notice {
  background: #064e3b !important;
  color: #d1fae5 !important;
}

/* Markdown content tweaks */
.markdown-body ul,
.markdown-body ol {
  padding-left: 1.25rem;
  margin: 0.5rem 0;
}

.markdown-body ul {
  list-style: disc;
}

.markdown-body ol {
  list-style: decimal;
}

.markdown-body ul.task-list,
.markdown-body .task-list {
  list-style: none;
  padding-left: 0;
}

.markdown-body li.task-list-item {
  list-style: none;
  margin-left: 0;
}

.markdown-body li {
  margin: 0.25rem 0;
}

.markdown-body input[type="checkbox"] {
  margin-right: 0.5rem;
  vertical-align: middle;
}
