/* Seasonal decoration only: no layout, navigation, or brand-color overrides. */
.cbs-halloween{position:fixed;inset:0;z-index:4;pointer-events:none!important;overflow:hidden;contain:strict;color:#d5b17a}
.cbs-halloween *{pointer-events:none!important}
.cbs-halloween__web{position:absolute;top:0;width:clamp(108px,11vw,144px);height:auto;opacity:.48}
.cbs-halloween__web--left{left:0}
.cbs-halloween__web--right{right:0;transform:scaleX(-1)}
.cbs-halloween__sprite{position:absolute;top:var(--top);left:0;width:var(--size);height:auto;opacity:0;animation:cbs-halloween-flight var(--duration) ease-in-out both;will-change:transform,opacity}
.cbs-halloween__sprite--ghost{color:#efe9df;filter:drop-shadow(0 0 5px #c9a25a33)}
.cbs-halloween__sprite--bat{color:#c9a25a}
.cbs-halloween__wing{transform-box:fill-box;transform-origin:center;animation:cbs-halloween-flap .45s ease-in-out infinite alternate}
@keyframes cbs-halloween-flight{0%{opacity:0;transform:translate3d(var(--x-start),24px,0) rotate(-7deg)}18%{opacity:.72}50%{transform:translate3d(var(--x-mid),-10px,0) rotate(5deg)}78%{opacity:.62}100%{opacity:0;transform:translate3d(var(--x-end),-65px,0) rotate(-5deg)}}
@keyframes cbs-halloween-flap{to{transform:scaleY(.55)}}
@media(max-width:600px){.cbs-halloween__web{width:96px;opacity:.42}.cbs-halloween__sprite--ghost{filter:none}}
.cbs-halloween__walker{position:absolute;top:48px;left:0;width:44px;--walk-edge:64px;--walk-from:calc(100vw - var(--walk-edge) - 44px);--walk-to:var(--walk-edge);color:#f0e6d2;opacity:0;animation:cbs-halloween-walk var(--walk-duration) linear both;will-change:transform,opacity}
.cbs-halloween__walker svg{display:block;width:100%;height:auto;overflow:visible}
.cbs-halloween__walker[data-direction="ltr"]{--walk-from:var(--walk-edge);--walk-to:calc(100vw - var(--walk-edge) - 44px)}
.cbs-halloween__walker[data-direction="rtl"] svg{transform:scaleX(-1)}
.cbs-halloween__bones{animation:cbs-halloween-bob .65s ease-in-out infinite alternate}
.cbs-halloween__limb{transform-box:view-box;animation:cbs-halloween-step .65s ease-in-out infinite alternate}
.cbs-halloween__limb--front-leg,.cbs-halloween__limb--back-leg{transform-origin:32px 65px}
.cbs-halloween__limb--front-arm{transform-origin:24px 36px;animation-direction:alternate-reverse}
.cbs-halloween__limb--back-arm{transform-origin:40px 36px}
.cbs-halloween__limb--back-leg{animation-direction:alternate-reverse}
@keyframes cbs-halloween-walk{0%{opacity:0;transform:translate3d(var(--walk-from),0,0)}6%,94%{opacity:.78}100%{opacity:0;transform:translate3d(var(--walk-to),0,0)}}
@keyframes cbs-halloween-step{from{transform:rotate(-22deg)}to{transform:rotate(22deg)}}
@keyframes cbs-halloween-bob{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@media(max-width:600px){.cbs-halloween__walker{top:38px;width:34px;--walk-edge:34px;--walk-from:calc(100vw - var(--walk-edge) - 34px)}.cbs-halloween__walker[data-direction="ltr"]{--walk-to:calc(100vw - var(--walk-edge) - 34px)}}
@media(prefers-reduced-motion:reduce){.cbs-halloween__sprite,.cbs-halloween__walker{display:none!important;animation:none!important}.cbs-halloween__wing,.cbs-halloween__bones,.cbs-halloween__limb{animation:none!important}}
.cbs-halloween-toggle{position:fixed;z-index:16;left:12px;bottom:16px;min-height:44px;padding:8px 12px;border:1px solid #84704e;border-radius:3px;background:#151313;color:#e5d1ad;font:12px/1.2 Arial,sans-serif;cursor:pointer}
.cbs-halloween-toggle:focus-visible{outline:2px solid #f2e1b7;outline-offset:3px}
.cbs-halloween-toggle[hidden]{display:none}
.cbs-halloween-toggle[aria-pressed="true"]{border-color:#f2e1b7;background:#403321;box-shadow:inset 0 0 0 1px #f2e1b7}
@media(max-width:760px){.cbs-halloween-toggle{bottom:78px}}
/* Annual Thanksgiving, Christmas and New Year's layers; Halloween rules above retained. */
.cbs-seasonal__corner{position:absolute;top:0;width:clamp(115px,12vw,165px);height:auto;opacity:.78}
.cbs-seasonal__corner--left{left:0}
.cbs-seasonal__corner--right{right:0;transform:scaleX(-1)}
.cbs-seasonal__lights{animation:cbs-seasonal-glow 4s ease-in-out infinite alternate}
.cbs-seasonal[data-running="false"] .cbs-seasonal__lights{animation:none}
.cbs-seasonal__particle{position:absolute;top:-44px;left:var(--particle-x);width:var(--particle-size);height:var(--particle-size);opacity:0;animation:cbs-seasonal-fall var(--particle-duration) linear both;will-change:transform,opacity}
.cbs-seasonal__particle svg{display:block;width:100%;height:auto}
.cbs-seasonal__particle--leaf{height:auto}
.cbs-seasonal__particle--snow{border-radius:50%;background:#f3eee3}
.cbs-seasonal__particle--sparkle{background:#ecd29d;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%)}
.cbs-seasonal__particle--confetti{height:13px;background:#c9a25a;border-radius:1px}
@keyframes cbs-seasonal-fall{0%{opacity:0;transform:translate3d(0,0,0) rotate(-12deg)}10%,75%{opacity:.72}100%{opacity:0;transform:translate3d(var(--particle-drift),calc(100vh + 90px),0) rotate(155deg)}}
@keyframes cbs-seasonal-glow{from{opacity:.6}to{opacity:1}}
@media(max-width:600px){.cbs-seasonal__corner{width:108px;opacity:.72}}
@media(prefers-reduced-motion:reduce){.cbs-seasonal__particle{display:none!important;animation:none!important}.cbs-seasonal__lights{animation:none!important}}
@media print{.cbs-halloween,.cbs-halloween-toggle{display:none!important}}
