/* Temporary Halloween homepage banner and its visual comparison page. */
.layout--home:has(.pumpkin-stage) {
  --pumpkin-orange: #dc914b;
  --pumpkin-highlight: #f0ad66;
  --pumpkin-shadow: #8d542d;
  --pumpkin-light: #ffe0a0;
  --pumpkin-glow: #ffb34e;
  --pumpkin-copper: #d98240;
  --pumpkin-copper-highlight: #efaa62;
  --pumpkin-outline: #d69a60;
  --pumpkin-outline-light: #ffedbf;
  --pumpkin-wash: #ffae4612;
  --pumpkin-stem: #78915c;
  --pumpkin-stem-highlight: #adb87a;
  --pumpkin-stem-shadow: #465b3b;
  --pumpkin-stem-cut: #b29568;
}
.seasonal-lab { padding: var(--space-5) var(--gutter); border-bottom: 1px dashed var(--term-border-2); }
.seasonal-lab__heading, .seasonal-lab__details { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.seasonal-lab__heading { font-size: var(--size-label); color: var(--neon); }
.seasonal-lab__heading a { color: var(--term-fg-dim); }
.seasonal-lab__options { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.seasonal-lab button, .seasonal-comparison summary { font: inherit; font-size: var(--size-label); cursor: pointer; }
.seasonal-lab button { color: var(--term-fg); background: var(--term-bg-1); border: 1px solid var(--term-border-2); padding: var(--space-3); }
.seasonal-lab button:hover { color: var(--term-fg-bright); border-color: var(--neon-dim); }
.seasonal-lab__options button[aria-pressed="true"] { color: var(--neon); border-color: var(--neon-dim); background: var(--term-bg-2); }
.seasonal-lab__details { margin-top: var(--space-3); font-size: var(--size-label); color: var(--term-fg-dim); }
.seasonal-lab__details p { margin: 0; }
.seasonal-lab__details button { flex-shrink: 0; padding: var(--space-2); }
.seasonal-comparison { margin-top: var(--space-3); }
.seasonal-comparison summary { color: var(--cyan); width: fit-content; padding-block: var(--space-2); }
.seasonal-comparison__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-3); }
.seasonal-comparison__grid button { min-width: 0; text-align: left; }
.pumpkin-stage { display: block; width: min(100%, 690px); container-type: inline-size; position: relative; isolation: isolate; margin: 0 0 var(--space-4); }
.pumpkin-stage::before { content: ""; position: absolute; z-index: -1; inset: 16% 9% 5%; background: radial-gradient(ellipse, var(--pumpkin-wash), transparent 67%); }
.pumpkin-art { font-family: var(--font-mono); font-size: 2.05cqw; font-weight: 500; line-height: 1.06; letter-spacing: 0; white-space: pre; margin: 0; overflow: visible; color: var(--pumpkin-orange); font-variant-ligatures: none; }
.pumpkin-art .rind { color: var(--pumpkin-orange); }
.pumpkin-art .lit-rind { color: var(--pumpkin-highlight); }
.pumpkin-art .shade { color: var(--pumpkin-shadow); }
.pumpkin-art .stem { color: var(--pumpkin-stem); }
.pumpkin-art .stem-highlight { color: var(--pumpkin-stem-highlight); }
.pumpkin-art .stem-shadow { color: var(--pumpkin-stem-shadow); }
.pumpkin-art .stem-cut { color: var(--pumpkin-stem-cut); }
.pumpkin-stage .carving { color: var(--pumpkin-light); text-shadow: 0 0 3px var(--pumpkin-light), 0 0 11px var(--pumpkin-glow), 0 0 25px var(--pumpkin-glow); animation: pumpkin-candle 6.7s ease-in-out infinite; }
.pumpkin-lettering { position: absolute; top: calc(38.9% + 2.173cqw); left: 50%; transform: translateX(-50%); margin: 0; font-family: var(--font-mono); font-size: 3.5cqw; line-height: 1.06; font-weight: 700; letter-spacing: 0; white-space: pre; }
.pumpkin-stage[data-pumpkin="copper"] .carving { animation-duration: 7.9s; animation-delay: -2s; text-shadow: 0 0 .43cqw var(--pumpkin-light), 0 0 1.3cqw var(--pumpkin-glow), 0 0 2.9cqw var(--pumpkin-glow); }
.pumpkin-art[data-style="copper"] { --pumpkin-orange: var(--pumpkin-copper); --pumpkin-highlight: var(--pumpkin-copper-highlight); }
.pumpkin-art[data-style="copper"] .carving { animation-duration: 7.9s; animation-delay: -2s; }
.pumpkin-art[data-style="outline"] { --pumpkin-orange: var(--pumpkin-outline); --pumpkin-light: var(--pumpkin-outline-light); }
.pumpkin-art[data-style="outline"] .carving { animation-duration: 8.3s; animation-delay: -4s; }
.seasonal-comparison .pumpkin-stage { margin-bottom: var(--space-3); }
.pumpkin-paused .pumpkin-stage .carving { animation: none; }
@keyframes pumpkin-candle {
  0%, 100% { opacity: .94; filter: brightness(1); }
  13% { opacity: .88; filter: brightness(.94); }
  19% { opacity: 1; filter: brightness(1.08); }
  32% { opacity: .93; filter: brightness(.98); }
  38% { opacity: .82; filter: brightness(.9); }
  43% { opacity: .97; filter: brightness(1.04); }
  61% { opacity: .91; filter: brightness(.96); }
  72% { opacity: 1; filter: brightness(1.06); }
  83% { opacity: .86; filter: brightness(.93); }
}
@media (max-width: 720px) {
  .seasonal-lab { padding: var(--space-4) var(--gutter-sm); }
  .seasonal-lab__heading { flex-wrap: wrap; gap: var(--space-2); }
  .seasonal-lab__options { display: grid; }
  .seasonal-lab__options button { text-align: left; }
  .seasonal-comparison__grid { grid-template-columns: 1fr; }
  .seasonal-lab__details { align-items: center; }
}
@media (prefers-reduced-motion: reduce) { .pumpkin-stage[data-pumpkin] .carving { animation: none; } }
