/* Self-contained seasonal layer. No layout changes, pointer interception or external assets. */
.autumn-leaves-backdrop {
  position: fixed;
  inset: 0;
  z-index: 7;
  pointer-events: none;
  backdrop-filter: blur(var(--autumn-blur-radius, 2.5px));
  -webkit-backdrop-filter: blur(var(--autumn-blur-radius, 2.5px));
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--autumn-blur-duration, 360ms) ease, backdrop-filter var(--autumn-blur-duration, 360ms) ease, -webkit-backdrop-filter var(--autumn-blur-duration, 360ms) ease, visibility 0s linear var(--autumn-blur-duration, 360ms);
}
.autumn-leaves-backdrop[data-visible="true"] {
  opacity: 1;
  visibility: visible;
  transition: opacity var(--autumn-blur-duration, 360ms) ease, backdrop-filter var(--autumn-blur-duration, 360ms) ease, -webkit-backdrop-filter var(--autumn-blur-duration, 360ms) ease, visibility 0s;
}
.autumn-leaves-canvas {
  position: fixed;
  inset: 0;
  z-index: 8;
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: none;
  user-select: none;
  contain: strict;
}
.autumn-leaves-toggle {
  position: fixed;
  right: calc(24px + env(safe-area-inset-right, 0px) + var(--leaf-viewport-right, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px) + var(--leaf-viewport-bottom, 0px));
  z-index: 39;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1px solid var(--border-soft);
  border-radius: 50%;
  color: var(--accent);
  background: #fff8edd9;
  box-shadow: 0 4px 0 #45233724, 0 8px 24px #45233724, inset 0 1px 0 #ffffffb3;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  /* Reveal near the end of the first wave, while leaves still fly past. */
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: scale(1);
  transform-origin: right bottom;
  transition: background 200ms ease, border-color 200ms ease, opacity 200ms ease;
}
html[data-theme="dark"] .autumn-leaves-toggle { background: #382334d9; box-shadow: 0 4px 0 #130d1259, 0 8px 24px #130d1240, inset 0 1px 0 #ffffff26; }
.autumn-leaves-toggle[data-revealed="true"] {
  visibility: visible;
  opacity: .88;
  pointer-events: auto;
  transform: scale(1);
}
.autumn-leaves-toggle[data-revealed="true"]:not(:disabled) {
  animation: autumn-leaves-button-appear 720ms cubic-bezier(.33, 0, .67, 1);
}
@keyframes autumn-leaves-button-appear {
  /* A short, damped elastic settle. Transform/opacity only, once per page. */
  0% { opacity: 0; transform: scale(2); }
  24% { opacity: .88; }
  34% { transform: scale(.9); }
  54% { transform: scale(1.06); }
  72% { transform: scale(.975); }
  87% { transform: scale(1.008); }
  100% { opacity: .88; transform: scale(1); }
}
.autumn-leaves-toggle:hover, .autumn-leaves-toggle:focus-visible { background: var(--accent-soft); border-color: var(--accent); opacity: 1; }
.autumn-leaves-toggle[aria-pressed="true"] { background: var(--accent-soft); }
.autumn-leaves-toggle svg { width: 28px; height: 28px; stroke-width: 1.35; }
.autumn-leaf-icon { fill: currentColor; fill-opacity: .15; }
.autumn-leaf-off { display: none; }
.autumn-leaves-toggle[aria-pressed="false"] .autumn-leaf-off { display: block; }
.autumn-leaves-toggle[data-promo-only="true"] .autumn-leaf-off { display: none; }
.autumn-leaves-toggle:disabled { cursor: default; opacity: .55; }
.autumn-leaves-toggle.autumn-promo-pumpkin {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  isolation: isolate;
  touch-action: manipulation;
}
.autumn-leaves-toggle.autumn-promo-pumpkin[data-revealed="true"] { opacity: 1; }
.autumn-leaves-toggle.autumn-promo-pumpkin::before {
  content: "";
  position: absolute;
  inset: 8px 3px 0;
  z-index: -1;
  border-radius: 50%;
  background: #ffc77720;
  box-shadow: 0 0 20px 5px #df963c20;
  pointer-events: none;
}
/* Do not duplicate the artwork if the optional Halloween layer is enabled later. */
html .autumn-leaves-toggle.autumn-promo-pumpkin::after { display: none; }
.autumn-pumpkin-icon {
  position: absolute;
  inset: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  max-width: none;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 4px 4px #28152245);
  transform: rotate(-5deg);
  transition: transform 220ms ease;
}
.autumn-promo-pumpkin:is(:hover, :focus-visible) .autumn-pumpkin-icon { transform: rotate(5deg) scale(1.07); }
.autumn-promo-pumpkin:active .autumn-pumpkin-icon { transform: rotate(0) scale(.94); }
.access-modal-open .autumn-leaves-toggle { visibility: hidden; pointer-events: none; }
@media (max-width: 560px) {
  .autumn-leaves-toggle {
    width: 52px;
    height: 52px;
    right: calc(16px + env(safe-area-inset-right, 0px) + var(--leaf-viewport-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--leaf-viewport-bottom, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .autumn-leaves-backdrop { transition: none; }
  .autumn-leaves-canvas { display: none !important; }
  .autumn-leaves-toggle[data-revealed="true"] { animation: none; transform: none; }
  .autumn-pumpkin-icon { transition: none; }
  .autumn-promo-pumpkin:is(:hover, :focus-visible, :active) .autumn-pumpkin-icon { transform: rotate(-5deg); }
}
@media print {
  .autumn-leaves-canvas, .autumn-leaves-toggle, .autumn-leaves-backdrop { display: none !important; }
}
