/* Opt-in forest experiment. The approved default scene keeps its own styling. */
#forest-atmosphere[hidden] { display: none !important; }
body.forest-scene {
  --bg: #f0f5eb;
  --surface: rgba(255, 255, 249, .94);
  --surface2: rgba(231, 240, 222, .91);
  --glass: rgba(249, 253, 242, .82);
  --muted: #425d50;
  --line: rgba(74, 109, 78, .22);
  isolation: isolate;
  background: #71927c;
}
body.forest-scene.dark {
  --bg: #102f31;
  --surface: rgba(18, 49, 52, .94);
  --surface2: rgba(29, 65, 61, .91);
  --glass: rgba(12, 41, 44, .85);
  --muted: #c5d7c8;
  --line: rgba(174, 202, 163, .23);
  background: #0a292c;
}
body.forest-scene #forest-atmosphere {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  contain: strict;
}
body.forest-scene .forest-backdrop {
  position: absolute;
  inset: -6px;
  z-index: 0;
  background-image:
    linear-gradient(155deg, rgba(183, 216, 178, .20), rgba(224, 239, 203, .15) 42%, rgba(18, 70, 47, .19)),
    url('/assets/forest-rain-bg.jpg');
  background-size: cover;
  background-position: center;
  filter: saturate(1.08) contrast(.96) brightness(1.02) blur(.75px);
}
body.forest-scene .forest-backdrop::before,
body.forest-scene .forest-backdrop::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}
body.forest-scene .forest-backdrop::before {
  background:
    radial-gradient(ellipse at 78% 3%, rgba(255, 243, 197, .38), transparent 58%),
    linear-gradient(124deg, transparent 42%, rgba(242, 249, 220, .08) 49%, transparent 59%);
}
body.forest-scene .forest-backdrop::after {
  background:
    radial-gradient(ellipse at 45% 105%, rgba(232, 245, 220, .26), transparent 67%),
    linear-gradient(0deg, rgba(17, 66, 45, .12), transparent 34%);
}
body.forest-scene.dark .forest-backdrop {
  background-image:
    linear-gradient(145deg, rgba(3, 27, 36, .40), rgba(11, 47, 42, .35) 48%, rgba(4, 27, 37, .47)),
    url('/assets/forest-rain-bg.jpg');
  filter: saturate(.98) contrast(1.03) brightness(.86) blur(.75px);
}
body.forest-scene.dark .forest-backdrop::before {
  background: radial-gradient(ellipse at 76% 4%, rgba(182, 221, 187, .16), transparent 58%);
}
body.forest-scene.dark .forest-backdrop::after {
  background:
    radial-gradient(ellipse at 47% 105%, rgba(129, 181, 153, .12), transparent 65%),
    linear-gradient(0deg, rgba(2, 21, 31, .20), transparent 39%);
}
body.forest-scene .forest-rain {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  opacity: .76;
  pointer-events: none;
}
body.forest-scene.dark .forest-rain { opacity: .67; }
body.forest-scene #app { position: relative; z-index: 1; }
body.forest-scene #main {
  border-radius: 24px;
  background: linear-gradient(155deg, rgba(249, 252, 241, .86), rgba(241, 249, 230, .79));
  box-shadow: 0 22px 70px rgba(8, 41, 29, .13), inset 0 1px 0 rgba(255, 255, 248, .60);
}
body.forest-scene.dark #main {
  background: linear-gradient(155deg, rgba(8, 35, 40, .87), rgba(12, 43, 42, .81));
  box-shadow: 0 22px 70px rgba(0, 11, 19, .24), inset 0 1px 0 rgba(219, 239, 207, .07);
}
body.forest-scene .header {
  background: linear-gradient(120deg, rgba(250, 253, 243, .88), rgba(241, 249, 230, .81));
  border: 1px solid rgba(242, 248, 221, .65);
  border-radius: 18px;
  box-shadow: 0 9px 32px rgba(11, 46, 31, .07), inset 0 1px 0 rgba(255, 255, 250, .80);
}
body.forest-scene.dark .header {
  background: linear-gradient(120deg, rgba(12, 41, 45, .91), rgba(17, 48, 46, .84));
  border-color: rgba(194, 214, 167, .17);
  box-shadow: 0 10px 35px rgba(1, 18, 24, .15), inset 0 1px 0 rgba(230, 243, 211, .07);
}
body.forest-scene .glass-sidebar {
  border-color: rgba(221, 217, 169, .74);
  box-shadow: 0 20px 65px rgba(6, 37, 25, .21), inset 0 1px 0 rgba(255, 255, 244, .85);
}
body.forest-scene.dark .glass-sidebar {
  border-color: rgba(194, 187, 135, .40);
  box-shadow: 0 20px 70px rgba(0, 14, 21, .31), inset 0 1px 0 rgba(230, 246, 224, .11);
}
body.forest-scene .founding {
  color: #2e4d3e;
  background: rgba(244, 251, 232, .77);
  border: 1px solid rgba(249, 253, 234, .43);
  border-radius: 12px;
  margin-bottom: 5px;
}
body.forest-scene.dark .founding {
  color: #d7e4ce;
  background: rgba(10, 37, 40, .82);
  border-color: rgba(190, 215, 166, .12);
}
body.forest-scene .hero {
  border: 1px solid rgba(235, 244, 212, .46);
  box-shadow: 0 23px 65px rgba(7, 38, 27, .22), inset 0 1px 0 rgba(255, 255, 236, .20);
}
body.forest-scene.dark .hero { border-color: rgba(198, 216, 175, .22); }
body.forest-scene :is(.support-strip, .initiative-card, .account-card, .reflections-empty, .auth-box) {
  border-color: rgba(177, 194, 143, .48);
  box-shadow: 0 13px 36px rgba(11, 45, 27, .075), inset 0 1px 0 rgba(255, 255, 249, .78);
}
body.forest-scene.dark :is(.support-strip, .initiative-card, .account-card, .reflections-empty, .auth-box) {
  border-color: rgba(177, 194, 143, .22);
  box-shadow: 0 13px 36px rgba(0, 15, 21, .16), inset 0 1px 0 rgba(226, 243, 209, .07);
}
body.forest-scene .initiatives-section {
  background: linear-gradient(140deg, rgba(233, 242, 225, .79), rgba(244, 245, 230, .70));
  border-color: rgba(129, 159, 115, .28);
}
body.forest-scene.dark .initiatives-section {
  background: linear-gradient(140deg, rgba(31, 63, 54, .64), rgba(20, 49, 50, .55));
  border-color: var(--line);
}
body.forest-scene .peace-section {
  background: radial-gradient(ellipse at 80% 20%, rgba(158, 151, 96, .11), transparent 55%), rgba(13, 47, 56, .96);
}
body.forest-scene .footer { border-color: rgba(150, 175, 130, .36); }
body.forest-scene .forest-preview-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 7px 12px;
  min-width: 0;
  margin: 10px 0 14px;
  padding: 6px 10px 6px 13px;
  border: 1px solid rgba(185, 171, 108, .54);
  border-radius: 14px;
  background: linear-gradient(120deg, rgba(252, 254, 242, .91), rgba(238, 247, 224, .81));
  color: var(--text);
  box-shadow: 0 8px 28px rgba(12, 46, 28, .08), inset 0 1px 0 rgba(255, 255, 244, .75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.forest-scene.dark .forest-preview-bar {
  background: linear-gradient(120deg, rgba(14, 43, 45, .92), rgba(24, 54, 46, .84));
  border-color: rgba(194, 181, 119, .36);
  box-shadow: 0 9px 30px rgba(0, 17, 24, .16), inset 0 1px 0 rgba(225, 241, 206, .08);
}
body.forest-scene .forest-preview-title { flex: 1 1 180px; min-width: 0; }
body.forest-scene .forest-preview-actions { display: flex; align-items: center; gap: 6px; min-width: 0; margin-inline-start: auto; }
body.forest-scene .forest-preview-caption { margin: 2px 0 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
body.forest-scene .forest-preview-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 145px;
  min-width: 0;
  color: var(--text);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
body.forest-scene .forest-preview-label .icon { width: 16px; height: 16px; color: var(--green); flex-shrink: 0; }
body.forest-scene .forest-preview-bar :is(button, .forest-original-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: auto;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.65;
  text-align: center;
  white-space: normal;
}
body.forest-scene .forest-preview-bar button .icon { width: 15px; height: 15px; flex-shrink: 0; }
body.forest-scene .forest-preview-bar .forest-original-link { border-color: rgba(174, 154, 89, .55); color: var(--focus); }
body.forest-scene .forest-preview-bar :is(button, .forest-original-link):hover { border-color: var(--gold); }
@media(max-width:650px) {
  body.forest-scene #main { border-radius: 18px; }
  body.forest-scene .forest-backdrop { background-position: 46% center; }
  body.forest-scene .header { border-radius: 14px; }
  body.forest-scene .founding { border-radius: 9px; margin-bottom: 4px; }
  body.forest-scene .forest-preview-bar { margin: 8px 0 10px; gap: 6px; padding: 7px 9px; border-radius: 12px; }
  body.forest-scene .forest-preview-title { flex-basis: 100%; }
  body.forest-scene .forest-preview-label { flex-basis: 100%; font-size: 10px; }
  body.forest-scene .forest-preview-actions { width: 100%; margin: 0; gap: 6px; }
  body.forest-scene .forest-preview-bar :is(button, .forest-original-link) { flex: 1 1 0; font-size: 10px; padding-inline: 9px; }
}
@media(forced-colors:active) {
  body.forest-scene #forest-atmosphere { display: none; }
  body.forest-scene .forest-preview-bar { border-color: CanvasText; background: Canvas; }
}
