/* Palmer clean forest theme
   Lightweight replacement for palmer-glow-theme.
   Do not use on splash pages, vault login, or pages using palmer-fluid-bg. */

body.palmer-glow-theme {
  --bg: #020604;
  --bg-2: #06130a;
  --panel: rgba(6, 24, 13, 0.82);
  --panel-2: rgba(8, 31, 16, 0.84);
  --panel-3: rgba(10, 38, 19, 0.86);
  --line: rgba(95, 220, 128, 0.20);
  --line-strong: rgba(95, 220, 128, 0.38);
  --text: #f4fff6;
  --muted: rgba(222, 240, 225, 0.70);
  --muted-2: rgba(196, 222, 201, 0.58);
  --accent: #37d66b;
  --accent-soft: rgba(55, 214, 107, 0.14);
  --shadow: 0 22px 58px rgba(0,0,0,0.42), 0 0 28px rgba(15,122,53,0.12);

  min-height: 100vh;
  color: var(--text);
  color-scheme: dark;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 22% 18%, rgba(15, 122, 53, 0.26), transparent 30%),
    radial-gradient(circle at 78% 82%, rgba(7, 72, 32, 0.26), transparent 36%),
    linear-gradient(180deg, var(--bg), var(--bg-2) 56%, #010302) !important;
}

body.palmer-glow-theme > :not(script):not(style) {
  position: relative;
  z-index: 1;
}

body.palmer-glow-theme::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.42;
  background-image:
    linear-gradient(24deg, transparent 0 48%, rgba(95, 220, 128, 0.13) 49%, transparent 51% 100%),
    linear-gradient(116deg, transparent 0 46%, rgba(95, 220, 128, 0.10) 47%, transparent 49% 100%);
  background-size: 220px 150px, 320px 210px;
  background-position: 0 0, 40px 20px;
  animation: palmerForestDrift 22s linear infinite;
}

body.palmer-glow-theme::after {
  content: "";
  position: fixed;
  inset: -10% -40%;
  z-index: 0;
  pointer-events: none;
  opacity: 0.52;
  background: linear-gradient(108deg, transparent 31%, rgba(116, 245, 158, 0.09), transparent 44%);
  animation: palmerForestSweep 6.2s linear infinite;
}

body.palmer-glow-theme .hero,
body.palmer-glow-theme .job-panel,
body.palmer-glow-theme .section,
body.palmer-glow-theme .kpi,
body.palmer-glow-theme .mini-card,
body.palmer-glow-theme .footer-card,
body.palmer-glow-theme .card,
body.palmer-glow-theme .panel,
body.palmer-glow-theme .box,
body.palmer-glow-theme .tool-card,
body.palmer-glow-theme .manual-card,
body.palmer-glow-theme .download-card,
body.palmer-glow-theme .vault-card {
  background: linear-gradient(180deg, rgba(6, 24, 13, 0.82), rgba(2, 8, 5, 0.88)) !important;
  border-color: rgba(95, 220, 128, 0.20) !important;
  box-shadow: var(--shadow) !important;
  backdrop-filter: blur(7px);
}

body.palmer-glow-theme .homebar,
body.palmer-glow-theme header,
body.palmer-glow-theme nav {
  background: rgba(3, 12, 7, 0.72) !important;
  border-color: rgba(95, 220, 128, 0.18) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,0.34), 0 0 24px rgba(15,122,53,0.10) !important;
  backdrop-filter: blur(8px);
}

body.palmer-glow-theme a,
body.palmer-glow-theme .eyebrow,
body.palmer-glow-theme .accent {
  color: var(--accent) !important;
}

body.palmer-glow-theme .home-btn,
body.palmer-glow-theme button,
body.palmer-glow-theme .btn,
body.palmer-glow-theme input[type="button"],
body.palmer-glow-theme input[type="submit"] {
  background: linear-gradient(180deg, #8dffb0, #25bd57) !important;
  color: #001306 !important;
  border-color: rgba(150, 255, 185, 0.36) !important;
  box-shadow: 0 0 22px rgba(55,214,107,0.22) !important;
}

body.palmer-glow-theme input,
body.palmer-glow-theme select,
body.palmer-glow-theme textarea {
  background-color: rgba(3, 12, 7, 0.80) !important;
  color: var(--text) !important;
  border-color: rgba(95,220,128,0.22) !important;
}

body.palmer-glow-theme h1,
body.palmer-glow-theme h2,
body.palmer-glow-theme h3 {
  text-shadow: 0 0 24px rgba(55,214,107,0.13);
}

@keyframes palmerForestDrift {
  from { background-position: 0 0, 40px 20px; }
  to { background-position: 220px 150px, -280px 230px; }
}

@keyframes palmerForestSweep {
  from { transform: translateX(-45%); }
  to { transform: translateX(45%); }
}

@media (prefers-reduced-motion: reduce) {
  body.palmer-glow-theme::before,
  body.palmer-glow-theme::after {
    animation: none;
  }
}
