/* All rules are scoped. Removing data-vz-theme restores the existing design. */
html[data-vz-theme="halloween"]{--hw-pink:#f6b8da;--hw-lilac:#c7a1ef;--hw-gold:#ffd199;--hw-ink:#1c1426}
html[data-vz-theme="halloween"] body{background-color:#17111f;padding-bottom:60px}
html[data-vz-theme="halloween"] :is(.vz-header,.topbar){border-bottom-color:#a976b74d;background-color:#1b1323}
html[data-vz-theme="halloween"] :is(.vz-brand,.brand-wordmark,.sidebar .brand,.shell aside .brand){text-shadow:0 0 24px #d18ee44d}
html[data-vz-theme="halloween"] :is(.vz-backstage,.button.primary,button.primary){border-color:#f2bfd9;background-image:linear-gradient(115deg,#f1b0d4,#e4b6e8 65%,#ffd199);color:#25152b}
html[data-vz-theme="halloween"] :is(.box,.vz-resource,.guide-topic,.guide-step,.calendar){border-color:#a580b43d}
html[data-vz-theme="halloween"] :is(.hero,.guide-hero,.stage){background-image:radial-gradient(ellipse at 95% 10%,#84519b1a,transparent 55%)}
.hw-scene{position:fixed;inset:0;pointer-events:none!important;z-index:9;overflow:hidden;contain:strict}
.hw-scene *{pointer-events:none!important;box-sizing:border-box}.hw-scene svg,.hw-campaign svg{width:100%;height:100%;display:block}
.hw-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 0 40%,#b568d00b,transparent 35%),radial-gradient(ellipse at 100% 85%,#f1b16208,transparent 30%)}
.hw-web{position:absolute;top:0;width:140px;height:140px;color:#c4a0d8;opacity:.19}.hw-web-left{left:0}.hw-web-right{right:0;transform:scaleX(-1)}
.hw-moon{position:absolute;right:16px;top:115px;width:82px;height:82px;opacity:.35;animation:hw-float 13s ease-in-out infinite}
.hw-charm{position:absolute;bottom:22px;right:16px;width:96px;height:96px;opacity:.62;transform:rotate(8deg)}
.hw-bat{position:absolute;width:36px;height:20px;color:#c49bdf;opacity:.5;animation:hw-flight 18s ease-in-out infinite}
.hw-bat-0{left:3%;top:29%;--hw-dx:45px;--hw-dy:-60px;animation-delay:-4s}.hw-bat-1{right:4%;top:60%;--hw-dx:-48px;--hw-dy:55px;animation-delay:-10s;width:27px}.hw-bat-2{left:5%;top:83%;--hw-dx:50px;--hw-dy:-30px;animation-delay:-14s;width:23px;opacity:.3}
.hw-star{position:absolute;color:#f0c4e5;width:11px;height:11px;opacity:.35;animation:hw-twinkle 6s ease-in-out infinite}
.hw-star-0{left:2%;top:52%}.hw-star-1{right:3%;top:42%;animation-delay:-2s;color:#ffd199}.hw-star-2{left:6%;top:15%;animation-delay:-4s;width:8px}.hw-star-3{right:7%;top:80%;animation-delay:-1s;width:7px}.hw-star-4{left:2%;top:94%;animation-delay:-3s}
.hw-campaign{isolation:isolate;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);max-width:1320px;margin:24px auto 0;padding:32px 46px;min-height:275px;border:1px solid #ae7ba94d;border-radius:20px;background:radial-gradient(ellipse at 85% 60%,#81526b55,transparent 50%),linear-gradient(115deg,#23172f,#2b1b34 55%,#231722);color:#f9edf5;box-sizing:border-box}
.hw-campaign-copy{position:relative;z-index:2;align-self:center}.hw-eyebrow{display:block;font:600 10px/1.4 'Space Grotesk',sans-serif;letter-spacing:2.6px;color:#eac19d}
.hw-campaign h2{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:clamp(27px,3.3vw,46px);letter-spacing:-1.8px;line-height:1.08;max-width:540px;margin:16px 0 12px;color:#f5d3e9}.hw-campaign p{font:400 14px/1.7 'DM Sans',sans-serif;max-width:480px;margin:0;color:#c8b4d0}.hw-edition{display:inline-block;margin-top:20px;border:1px solid #a77ca45e;border-radius:30px;padding:7px 14px;font:500 9px/1.4 'Space Grotesk',sans-serif;letter-spacing:2.5px;color:#c7e1ad}
.hw-campaign-orbit{position:absolute;right:5%;top:-120px;width:510px;height:510px;border:1px solid #dab4df1f;border-radius:50%;transform:rotate(-30deg) scaleY(.6)}
.hw-campaign-art{position:relative;min-height:220px;align-self:stretch}.hw-art-pumpkin{position:absolute;right:8%;bottom:-28px;width:240px;height:240px;animation:hw-float 8s ease-in-out infinite}.hw-art-moon{position:absolute;right:3%;top:-10px;width:145px;height:145px;opacity:.65}.hw-art-mic{position:absolute;left:1%;top:58px;width:54px;height:145px;transform:rotate(-22deg);animation:hw-mic 10s ease-in-out infinite}.hw-art-star{position:absolute;left:28%;top:15px;width:30px;height:30px;color:#e8c5ed;animation:hw-twinkle 7s ease-in-out infinite}.hw-art-bat{position:absolute;left:32%;top:0;width:49px;height:25px;transform:rotate(-12deg);color:#c8a4dc}.hw-art-label{position:absolute;right:0;bottom:2px;color:#dfc5e4;font:600 9px/1.6 'Space Grotesk',sans-serif;letter-spacing:2px;transform:rotate(8deg)}
.hw-controls{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:14px;display:flex;flex-wrap:wrap;gap:7px;max-width:calc(100vw - 28px);z-index:21}
.hw-controls button{font:500 11px/1.4 'DM Sans',sans-serif;letter-spacing:.2px;color:#e4cce9;background:#251b30;border:1px solid #a47eb25e;border-radius:24px;min-height:36px;padding:8px 13px;cursor:pointer;box-shadow:0 3px 12px #0003}.hw-controls button:focus-visible{outline:2px solid #f4c298;outline-offset:4px}.hw-controls button:disabled{cursor:default;opacity:.65}
@keyframes hw-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}
@keyframes hw-flight{0%,100%{transform:translate(0,0) rotate(-10deg)}50%{transform:translate(var(--hw-dx),var(--hw-dy)) rotate(12deg)}}
@keyframes hw-twinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.75;transform:scale(1.1)}}
@keyframes hw-mic{0%,100%{transform:translateY(0) rotate(-22deg)}50%{transform:translateY(-8px) rotate(-14deg)}}
html[data-vz-intensity="lite"] .hw-scene :is(.hw-bat,.hw-star,.hw-charm){display:none}
html[data-vz-theme="halloween"] body:has(.arena) .hw-scene :is(.hw-bat,.hw-star){display:none}
body.vz-arena .hw-scene :is(.hw-bat,.hw-star,.hw-charm){display:none}
html[data-vz-motion="off"] :is(.hw-scene,.hw-campaign) *,html[data-vz-hidden] :is(.hw-scene,.hw-campaign) *,.hw-campaign.hw-offscreen *{animation-play-state:paused!important}
@media(min-width:1500px){.hw-web{width:180px;height:180px}.hw-moon{width:105px;height:105px}}
@media(max-width:1400px){.hw-campaign{margin-inline:4%}}
@media(max-width:900px){.hw-campaign{padding:26px;grid-template-columns:minmax(0,1.2fr) minmax(200px,1fr)}.hw-art-pumpkin{width:210px;height:210px;right:0}.hw-art-mic{left:0}.hw-art-label{display:none}}
@media(max-width:700px){.hw-campaign{margin:18px 16px 0;padding:25px 22px;grid-template-columns:1fr;min-height:0}.hw-campaign h2{font-size:32px;letter-spacing:-1px;max-width:310px}.hw-campaign p{font-size:12px;max-width:290px}.hw-campaign-art{height:170px;min-height:170px;margin-top:14px;max-width:340px;width:100%;justify-self:center}.hw-art-pumpkin{width:200px;height:200px;right:17%;bottom:-30px}.hw-art-moon{width:120px;height:120px;right:8%;top:-10px}.hw-art-mic{height:110px;width:44px;top:40px;left:10%;animation:none}.hw-art-star{left:28%;width:24px;animation:none}.hw-art-bat{left:33%;width:36px}.hw-eyebrow{font-size:8px;letter-spacing:1.9px}.hw-edition{margin-top:14px;font-size:8px}.hw-web{width:65px;height:65px;opacity:.12}.hw-moon{right:-10px;top:130px;width:58px;height:58px;animation:none;opacity:.2}.hw-charm{display:none}.hw-scene .hw-bat{display:none}.hw-scene .hw-star{display:none}.hw-scene .hw-star-0,.hw-scene .hw-star-1{display:block;width:7px;height:7px;opacity:.2}.hw-controls{left:10px}.hw-controls button{font-size:10px;min-height:36px}}
@media(prefers-reduced-motion:reduce){.hw-scene *,.hw-campaign *{animation:none!important;transition:none!important}}
@media print{.hw-scene,.hw-controls,.hw-campaign{display:none!important}}
/* The original rotated home ticker extends past its section; clip its decorative overhang. */
html[data-vz-theme="halloween"] .vz-home>main{overflow-x:clip}
/* The arena's existing effects switch also pauses the seasonal layer. */
body.no-effects .hw-scene *{animation-play-state:paused!important}
@media(max-width:700px){html[data-vz-theme="halloween"] .vz-home .hero-grid{grid-template-columns:minmax(0,1fr)}html[data-vz-theme="halloween"] .vz-home .hero-copy{min-width:0}html[data-vz-theme="halloween"] .vz-home .hero h1{font-size:clamp(34px,10vw,52px);letter-spacing:-2px}}
/* Winter Encore: a bounded SVG/CSS scene, with transform/opacity animation only. */
html[data-vz-theme="christmas"] body{background-color:#141c21;padding-bottom:60px}
html[data-vz-theme="christmas"] :is(.vz-header,.topbar){border-bottom-color:#bfa7844d;background-color:#17242a}
html[data-vz-theme="christmas"] :is(.vz-brand,.brand-wordmark,.sidebar .brand,.shell aside .brand){text-shadow:0 0 22px #f2b6d450}
html[data-vz-theme="christmas"] :is(.vz-backstage,.button.primary,button.primary){border-color:#ffe0b5;background-image:linear-gradient(115deg,#f0b8d2,#f6d0d9 60%,#f5dcad);color:#30232c}
html[data-vz-theme="christmas"] :is(.box,.vz-resource,.guide-topic,.guide-step,.calendar){border-color:#bfa78444}
html[data-vz-theme="christmas"] :is(.hero,.guide-hero,.stage){background-image:radial-gradient(ellipse at 95% 10%,#9ac6b51c,transparent 55%)}
.xm-scene .hw-wash{background:radial-gradient(ellipse at 0 35%,#c0dacc0b,transparent 35%),radial-gradient(ellipse at 100% 85%,#f0bccf0c,transparent 30%)}
.xm-lights{position:absolute;top:0;left:0;width:100%;height:22px;display:flex;justify-content:space-around;border-top:1px solid #91b8a647;transform:rotate(-.25deg)}
.xm-lights i{position:relative;width:7px;height:12px;margin-top:4px;border-radius:40% 40% 50% 50%;background:#f3c8d8;box-shadow:0 0 12px #f3c8d859;animation:xm-glow 5s ease-in-out infinite}
.xm-lights i:before{content:'';position:absolute;width:2px;height:6px;top:-6px;left:3px;background:#91b8a670}.xm-lights i:nth-child(3n){background:#ffe0ac;animation-delay:-2s}.xm-lights i:nth-child(3n + 1){background:#b6d8ca;animation-delay:-3s}
.xm-ornament{position:absolute;top:0;width:67px;height:115px;opacity:.35;transform-origin:50% 0;animation:xm-sway 10s ease-in-out infinite}.xm-ornament-left{left:12px}.xm-ornament-right{right:12px;width:51px;height:88px;animation-delay:-5s}
.xm-corner-bow{position:absolute;bottom:18px;right:12px;width:95px;height:70px;opacity:.4;transform:rotate(-12deg)}
.xm-snow{position:absolute;top:-28px;width:13px;height:13px;color:#f4dce9;opacity:0;animation:xm-snowfall 23s linear infinite;--snow-drift:18px}
.xm-snow-0{left:2%;animation-delay:-3s}.xm-snow-1{left:7%;animation-delay:-13s;width:9px}.xm-snow-2{left:16%;animation-delay:-7s}.xm-snow-3{left:27%;animation-delay:-18s;width:8px}.xm-snow-4{left:40%;animation-delay:-11s;width:7px}.xm-snow-5{right:42%;animation-delay:-21s;width:8px}.xm-snow-6{right:28%;animation-delay:-5s;width:7px}.xm-snow-7{right:16%;animation-delay:-16s}.xm-snow-8{right:7%;animation-delay:-9s;width:9px}.xm-snow-9{right:2%;animation-delay:-1s;--snow-drift:-18px}
.xm-campaign{background:radial-gradient(ellipse at 82% 65%,#9cc3ac22,transparent 55%),linear-gradient(115deg,#211e2a,#183235 65%,#192429);border-color:#dac29955}
.xm-campaign h2{color:#f9d7e5}.xm-campaign p{color:#c7d4cd}.xm-campaign .hw-eyebrow{color:#e6cca2}.xm-campaign .hw-edition{color:#f3c5d9;border-color:#e0ba9555}.xm-campaign .hw-art-star{color:#f4d9b2;left:9%;top:0}.xm-campaign .hw-art-mic{left:4%;top:72px;z-index:2}
.xm-art-tree{position:absolute;right:8%;bottom:-24px;width:252px;height:270px;animation:hw-float 12s ease-in-out infinite}
.xm-art-gift{position:absolute;right:0;bottom:-8px;width:112px;height:112px;transform:rotate(10deg)}
.xm-art-bow{position:absolute;left:6%;top:-10px;width:100px;height:70px;transform:rotate(-16deg)}
.xm-art-halo{position:absolute;right:8%;top:0;width:240px;height:240px;border:1px solid #d8b99555;border-radius:50%;background:radial-gradient(circle,#f2c9a111,transparent 70%)}
html[data-vz-theme="christmas"] .hw-controls button{background:#1c302f;border-color:#d4b78c66;color:#f3dbe6}
@keyframes xm-glow{0%,100%{opacity:.4}50%{opacity:.9}}
@keyframes xm-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes xm-snowfall{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}12%{opacity:.35}85%{opacity:.35}100%{transform:translate3d(var(--snow-drift),105vh,0) rotate(180deg);opacity:0}}
html[data-vz-intensity="lite"] .xm-scene :is(.xm-snow,.xm-corner-bow){display:none}
html[data-vz-theme="christmas"] body:has(.arena) .xm-snow,body.vz-arena .xm-scene :is(.xm-snow,.xm-ornament,.xm-corner-bow){display:none}
html[data-vz-motion="off"] .xm-snow{display:none}html[data-vz-motion="off"] .xm-lights i{opacity:.65}
html[data-vz-theme="christmas"] .vz-home>main{overflow-x:clip}
@media(max-width:900px){.xm-art-tree{width:225px;height:245px;right:4%}.xm-art-gift{width:85px;height:85px}.xm-art-bow{width:78px}}
@media(max-width:700px){.xm-ornament{width:38px;height:65px;opacity:.2;animation:none}.xm-ornament-right{right:0}.xm-ornament-left{left:0}.xm-corner-bow{display:none}.xm-snow{display:none}.xm-snow-0,.xm-snow-9{display:block;width:8px;height:8px}.xm-lights i:nth-child(even){display:none}.xm-lights i{animation:none;opacity:.6;width:5px;height:9px}.xm-art-tree{width:190px;height:205px;right:18%;bottom:-20px}.xm-art-gift{width:80px;height:80px;right:6%;bottom:-5px}.xm-art-halo{width:180px;height:180px;right:16%}.xm-art-bow{width:74px;left:6%;top:0}.xm-campaign .hw-art-mic{height:105px;width:42px;left:5%;top:58px}.xm-campaign .hw-art-star{left:20%;top:0}html[data-vz-theme="christmas"] .vz-home .hero-grid{grid-template-columns:minmax(0,1fr)}html[data-vz-theme="christmas"] .vz-home .hero-copy{min-width:0}html[data-vz-theme="christmas"] .vz-home .hero h1{font-size:clamp(34px,10vw,52px);letter-spacing:-2px}}
@media(prefers-reduced-motion:reduce){.xm-snow{display:none!important}.xm-lights i{opacity:.65}}
