
:root {
  --fw-bg-start: #f4f9fb;
  --fw-bg-end:   #eaf6fa;

  --fw-card:   #ffffff;
  --fw-border: #d9eef5;
  --fw-text:   #163a45;
  --fw-muted:  #5c7f8a;

  --fw-accent: #1aa3c8;

  --fw-code-bg:     #eaf4f8;
  --fw-code-border: #cfeaf3;

  --fw-shadow: 0 10px 40px rgba(0,0,0,0.05);
  --fw-shadow-dark: 0 12px 50px rgba(0,0,0,0.35);
}

[data-bs-theme="dark"] {
  --fw-bg-start: #06161b;
  --fw-bg-end:   #0b252d;

  --fw-card:   #0e2b33;
  --fw-border: #164a55;
  --fw-text:   #cce9f2;
  --fw-muted:  #7faab5;

  --fw-accent: #4fd3ff;

  --fw-code-bg:     #0b2027;
  --fw-code-border: #164a55;
}

html, body { min-height: 100%; }

body {
  background: linear-gradient(to bottom, var(--fw-bg-start), var(--fw-bg-end));
  color: var(--fw-text);
}

main .row > .col-md-9,
main .row > .col-lg-9 {
  background: var(--fw-card);
  border: 1px solid var(--fw-border);
  border-radius: 12px;
  padding: 32px;
  box-shadow: var(--fw-shadow);
  border-top: 4px solid var(--fw-accent);
}

[data-bs-theme="dark"] main .row > .col-md-9,
[data-bs-theme="dark"] main .row > .col-lg-9 {
  box-shadow: var(--fw-shadow-dark);
}

#pkgdown-sidebar .list-group-item { border-radius: 8px; }

.navbar { border-bottom: 3px solid var(--fw-accent); }

pre,
pre.sourceCode,
div.sourceCode > pre {
  border: 1px solid var(--fw-code-border) !important;
  background: var(--fw-code-bg) !important;
  border-radius: 8px;
}

:not(pre) > code {
  background: color-mix(in srgb, var(--fw-code-bg) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--fw-code-border) 70%, transparent);
  border-radius: 6px;
  padding: 0.12em 0.35em;
}

.text-muted, .text-body-secondary { color: var(--fw-muted) !important; }

h1 { font-size: 2.4rem; }