/* SEASONAL OCT (Oct 12 to Nov 9, owner Daryl). Decorative only: no text, no layout change.
   Remove on Nov 9: delete this file, assets/oct-theme.js, and the one SEASONAL OCT line in each page's <head>.
   v6: motion runs only while the visitor scrolls (html.jr-oct-moving).
   v10 (2026-10-09, Jasmine's 10/8 email): NO ghosts. v11 (2026-10-10, Daryl): toggle icon = pumpkin in both light and dark. */

/* ---------- sky layer: glow, sparkles, falling leaves (never takes clicks) ---------- */
.jr-oct-sky{ position:fixed; inset:0; pointer-events:none; z-index:45; overflow:hidden; color:#C9A24E; }
.jr-oct-sky .og{ position:absolute; border-radius:50%; filter:blur(24px); }
.jr-oct-sky .og1{ width:560px; height:560px; right:-180px; top:-180px; background:radial-gradient(circle, rgba(212,179,102,.30) 0%, rgba(212,179,102,0) 70%); }
.jr-oct-sky .og2{ width:520px; height:520px; left:-200px; bottom:-220px; background:radial-gradient(circle, rgba(232,120,40,.28) 0%, rgba(232,120,40,0) 70%); }
[data-theme="dark"] .jr-oct-sky .og{ mix-blend-mode:screen; }
[data-theme="light"] .jr-oct-sky .og{ opacity:1; mix-blend-mode:multiply; }
[data-theme="light"] .jr-oct-sky .og1{ background:radial-gradient(circle, rgba(232,160,60,.42) 0%, rgba(232,160,60,0) 70%); }
[data-theme="light"] .jr-oct-sky .og2{ background:radial-gradient(circle, rgba(232,110,30,.36) 0%, rgba(232,110,30,0) 70%); }
.jr-oct-sky .osp{ position:absolute; width:3px; height:3px; border-radius:50%; background:#E2C47E; box-shadow:0 0 8px 2px rgba(212,179,102,.75); opacity:.55; animation:jrOctTwinkle 4s ease-in-out infinite; }
.jr-oct-sky .osp.big{ width:4px; height:4px; box-shadow:0 0 12px 3px rgba(230,190,110,.8); }
[data-theme="light"] .jr-oct-sky .osp{ width:4px; height:4px; background:#F2A93B; box-shadow:0 0 6px 2px rgba(242,150,40,.9), 0 0 16px 5px rgba(255,190,90,.55); }
[data-theme="light"] .jr-oct-sky .osp.big{ width:5px; height:5px; box-shadow:0 0 8px 3px rgba(242,150,40,.95), 0 0 22px 8px rgba(255,190,90,.6); }
.jr-oct-sky .ofall{ position:absolute; top:-40px; width:20px; opacity:.5; animation:jrOctFall linear infinite; }
.jr-oct-sky .ofall svg{ display:block; width:100%; height:auto; animation:jrOctSpin ease-in-out infinite alternate; }

/* ---------- roaming pumpkins (JS moves them while scrolling; no clicks) ---------- */
.jr-oct-roam{ position:fixed; inset:0; pointer-events:none; z-index:44; overflow:hidden; }
.jr-oct-roam .rb{ position:absolute; left:0; top:0; display:block; will-change:transform; }
.jr-oct-roam .ri{ display:block; }
.jr-oct-roam svg{ display:block; width:100%; height:auto; }
.jr-oct-roam .rp .ri{ opacity:.42; filter:drop-shadow(0 0 7px rgba(255,150,40,.4)); }

/* ---------- still unless scrolling ---------- */
.jr-oct-sky .osp, .jr-oct-sky .ofall, .jr-oct-sky .ofall svg{ animation-play-state:paused; }
html.jr-oct-moving .jr-oct-sky .osp, html.jr-oct-moving .jr-oct-sky .ofall, html.jr-oct-moving .jr-oct-sky .ofall svg{ animation-play-state:running; }

/* ---------- theme toggle: pumpkin in BOTH modes (v11, Daryl 10-10: uniform); site's sun + moon hidden ---------- */
html.jr-oct-toggle .theme-toggle .tt-sun, html.jr-oct-toggle .theme-toggle .tt-moon{ display:none; }
html.jr-oct-toggle .theme-toggle .tt-pk{ grid-area:1/1; display:block; width:26px; opacity:1; scale:1; transition:filter .3s ease-out; }
html.jr-oct-toggle .theme-toggle .tt-pk svg{ display:block; width:100%; height:auto; }
html.jr-oct-toggle .theme-toggle:hover .tt-pk{ filter:drop-shadow(0 0 8px rgba(255,160,50,.95)); animation:jrOctNudge .7s ease-in-out; }
html.jr-oct-toggle .theme-toggle .tt-pk .face{ animation:jrOctCandle 2.6s ease-in-out infinite; }

@keyframes jrOctTwinkle{ 0%,100%{ opacity:.15; scale:.5; } 50%{ opacity:1; scale:1.15; } }
@keyframes jrOctFall{ 0%{ translate:0 0; } 100%{ translate:var(--drift,40px) 115vh; } }
@keyframes jrOctSpin{ 0%{ rotate:-35deg; } 100%{ rotate:55deg; } }
@keyframes jrOctCandle{ 0%,100%{ opacity:1; } 30%{ opacity:.78; } 45%{ opacity:.95; } 60%{ opacity:.7; } 80%{ opacity:.92; } }
@keyframes jrOctNudge{ 0%,100%{ translate:0 0; rotate:0deg; } 30%{ translate:0 -3px; rotate:-8deg; } 65%{ translate:0 -1px; rotate:6deg; } }

@media (max-width:700px){
  .jr-oct-sky .og1{ width:340px; height:340px; }
  .jr-oct-sky .og2{ width:300px; height:300px; }
}
@media print{ .jr-oct-sky, .jr-oct-roam{ display:none; } }
@media (prefers-reduced-motion: reduce){
  .jr-oct-sky .osp, .jr-oct-sky .ofall svg, .theme-toggle .tt-pk, .theme-toggle .face{ animation:none !important; }
  .jr-oct-sky .ofall{ display:none; }
}
