/* Main application styles - Imports managed by index.html for hashing */

/* Utility & layout classes replacing former inline styles (strict CSP: no style="") */

.section--alt {
  background: var(--color-bg-secondary);
}

.subtitle-centered {
  margin: 0 auto var(--space-8);
}

.u-maxw-700 {
  max-width: 700px;
}

.u-maxw-800 {
  max-width: 800px;
}

.u-mt-4 {
  margin-top: var(--space-4);
}

.u-mt-6 {
  margin-top: var(--space-6);
}

.u-mb-6 {
  margin-bottom: var(--space-6);
}

.u-text-sm {
  font-size: 0.875rem;
}

.u-w-full {
  width: 100%;
}

.prose-block {
  margin-top: var(--space-6);
  line-height: 1.6;
}

.callout-box {
  background: var(--color-bg-tertiary);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  margin-top: var(--space-6);
}

.icon-inline {
  display: inline-block;
  vertical-align: -0.125em;
}

/* Service-worker "update available" toast (injected by index.html) */
.sw-update-toast {
  position: fixed;
  left: 50%;
  bottom: 1.5rem;
  transform: translateX(-50%);
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-md, 8px);
  background: var(--color-bg-tertiary, #1a1a22);
  color: var(--color-text-primary, #f5f5f0);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  max-width: calc(100vw - 2rem);
}
