/* The standard egg silhouette, carved by hand with a gently pulsing candle. */
.mini-event-name {
 color:#ffad52;background:var(--halloween-egg-gradient,linear-gradient(110deg,#ffad52 8%,#ed7b2b 48%,#62606a 92%));
 -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
 filter:drop-shadow(0 1px 0 #19171d);
}
.mini-egg[data-mini-theme="halloween"] {
 position:relative;width:54px;height:68px;border:0;
 border-radius:52% 52% 46% 46% / 62% 62% 38% 38%;
 background:
  radial-gradient(ellipse at 28% 21%,#ffd27665 0 8%,transparent 40%),
  linear-gradient(100deg,transparent 21%,#ac471220 24%,transparent 28% 69%,#8a351630 74%,transparent 79%),
  linear-gradient(145deg,#ffa939 8%,#eb7a17 67%,#ae441c);
 box-shadow:inset -6px -7px 12px #5426154d,inset 5px 5px 8px #ffd96d66,inset 0 0 0 1px #824220,0 8px 16px #0004;
}
.mini-egg[data-mini-theme="halloween"]::before {
 content:"";position:absolute;left:9%;top:35%;width:82%;height:52%;
 background:
  linear-gradient(135deg,transparent 35%,#74311185 36% 65%,transparent 66%) 0 1px/5px 4px no-repeat,
  linear-gradient(45deg,transparent 35%,#74311185 36% 65%,transparent 66%) 100% 5px/4px 4px no-repeat,
  linear-gradient(110deg,transparent 35%,#74311175 36% 65%,transparent 66%) 92% 90%/3px 5px no-repeat,
  linear-gradient(60deg,transparent 35%,#74311175 36% 65%,transparent 66%) 22% 100%/3px 4px no-repeat;
 pointer-events:none;
}
.mini-egg[data-mini-theme="halloween"] i,
.mini-egg[data-mini-theme="halloween"] b,
.mini-egg[data-mini-theme="halloween"] em {
 position:absolute;margin:0;border:0;border-radius:0;
 background:linear-gradient(160deg,#ffdc79,#b74d14);
 box-shadow:inset 0 2px 2px #542813;
 animation:mini-halloween-candle 3.8s ease-in-out infinite;
}
.mini-egg[data-mini-theme="halloween"] i,
.mini-egg[data-mini-theme="halloween"] b {top:24px;width:14px;height:14px;bottom:auto;}
.mini-egg[data-mini-theme="halloween"] i {
 left:9px;right:auto;transform:rotate(-8deg);
 clip-path:polygon(2% 14%,78% 0,100% 7%,89% 30%,66% 96%,57% 100%,0 35%,5% 26%);
}
.mini-egg[data-mini-theme="halloween"] b {
 left:auto;right:8px;transform:rotate(7deg);
 clip-path:polygon(0 5%,13% 0,92% 18%,100% 30%,44% 100%,31% 94%,5% 24%);
}
.mini-egg[data-mini-theme="halloween"] em {
 left:8px;top:44px;width:39px;height:15px;bottom:auto;transform:none;
 clip-path:polygon(0 0,10% 42%,21% 29%,29% 56%,43% 39%,53% 69%,65% 42%,77% 58%,85% 26%,92% 37%,100% 0,96% 68%,83% 75%,75% 100%,64% 77%,52% 100%,42% 73%,28% 96%,20% 72%,7% 74%);
}
.mini-egg[data-mini-theme="halloween"]::after {content:none;animation:none;}
.mini-egg-compact[data-mini-theme="halloween"] {width:36px;height:46px;}
.mini-egg-compact[data-mini-theme="halloween"] i,
.mini-egg-compact[data-mini-theme="halloween"] b {top:16px;width:10px;height:10px;}
.mini-egg-compact[data-mini-theme="halloween"] i {left:6px;}
.mini-egg-compact[data-mini-theme="halloween"] b {right:5px;}
.mini-egg-compact[data-mini-theme="halloween"] em {left:5px;top:30px;width:26px;height:10px;}
@keyframes mini-halloween-candle {
 0%,100% {filter:brightness(.5) drop-shadow(0 0 0 #ffbc4800);}
 50% {filter:brightness(1.6) drop-shadow(0 0 3px #ffd66f);}
}
@media (prefers-reduced-motion:reduce) {
 .mini-egg[data-mini-theme="halloween"] i,
 .mini-egg[data-mini-theme="halloween"] b,
 .mini-egg[data-mini-theme="halloween"] em {animation:none;filter:brightness(1.1);}
}
/* A shared reveal for both the event page and Mini Companions. */
.halloween-hatch{width:min(420px,calc(100vw - 32px));box-sizing:border-box;padding:26px 24px 22px;border:1px solid #e5a36166;border-radius:22px;background:radial-gradient(ellipse at 50% 40%,#382232,#17121e 75%);color:#f4e6d9;text-align:center;overflow:hidden;box-shadow:0 20px 90px #0009}
.halloween-hatch::backdrop{background:#090610cc;backdrop-filter:blur(5px)}
.halloween-hatch h2{font-family:inherit;font-weight:800;margin:9px 0 0;font-size:23px;line-height:1.3}
.halloween-hatch-eyebrow{font-size:10px;letter-spacing:.14em;color:#ffbf88;font-weight:800}
.halloween-hatch-caption{font-size:12px;min-height:34px;line-height:1.6;color:#cdb6d3;margin:9px 0 16px}
.halloween-hatch .button{font:inherit;font-size:13px;background:#d78b4e;color:#211521;border:0;border-radius:9px;padding:11px 22px;cursor:pointer}
.halloween-hatch .button:focus-visible{outline:2px solid #eacbff;outline-offset:4px}
.halloween-hatch-stage{height:220px;position:relative;display:grid;place-items:center;isolation:isolate;--hatch-energy:#ffac54}
.halloween-hatch-stage>.mini-egg{position:absolute;left:calc(50% - 27px);top:78px;animation:harvest-lantern-wake .8s ease-in-out infinite;z-index:2}
.halloween-hatch-wisp,.halloween-hatch-ring,.halloween-hatch-moon,.halloween-hatch-lightning{display:none;position:absolute;pointer-events:none;z-index:0}
.halloween-hatch.rarity-uncommon .halloween-hatch-stage{--hatch-energy:#bc8be9}
.halloween-hatch.rarity-uncommon .halloween-hatch-wisp{display:block;width:110px;height:110px;border:10px solid #b38cdf33;border-left-color:transparent;border-radius:50%;filter:blur(5px);animation:harvest-mist-swirl 1.3s linear infinite}
.halloween-hatch .wisp-one{left:calc(50% - 82px);top:60px}.halloween-hatch .wisp-two{left:calc(50% - 32px);top:62px;animation-direction:reverse!important;animation-delay:-.6s}
.halloween-hatch.rarity-uncommon .mini-egg{animation:harvest-ghost-float 1.1s ease-in-out infinite;filter:drop-shadow(0 0 12px #bc8be9)}
.halloween-hatch.rarity-rare .halloween-hatch-stage{--hatch-energy:#84e1aa}
.halloween-hatch.rarity-rare .halloween-hatch-lightning{display:block;inset:15px 0;width:100%;height:190px;stroke:#a4f4c4;stroke-width:3;fill:none;stroke-linejoin:round;filter:drop-shadow(0 0 6px #6bf1a2);animation:harvest-storm-flash 1.2s ease-in-out infinite}
.halloween-hatch.rarity-rare .halloween-hatch-ring{display:block;width:160px;height:160px;border:2px dashed #72dba980;border-radius:50%;animation:harvest-storm-ring 1.7s linear infinite}
.halloween-hatch.rarity-rare .mini-egg{animation:harvest-storm-shake .16s linear infinite;filter:drop-shadow(0 0 15px #8bf6b5)}
.halloween-hatch.rarity-legendary .halloween-hatch-stage{--hatch-energy:#ed8582}
.halloween-hatch.rarity-legendary .halloween-hatch-moon{display:block;width:146px;height:146px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fa8475,#a83a55 65%,#432140);box-shadow:0 0 40px #e05d7666;animation:harvest-blood-moon 1.5s ease-in-out infinite}
.halloween-hatch.rarity-legendary .halloween-hatch-ring{display:block;width:192px;height:120px;border:3px solid #ffd38299;border-right-color:transparent;border-left-color:transparent;border-radius:50%;transform:rotate(-25deg);animation:harvest-portal-orbit 1.1s ease-in-out infinite}
.halloween-hatch.rarity-legendary .mini-egg{animation:harvest-portal-rise 1.4s ease-in-out infinite;filter:drop-shadow(0 0 15px #ffd079)}
.halloween-hatch[data-phase=revealed] .halloween-hatch-stage>.mini-egg{display:none}
.halloween-hatch-sprite{position:absolute;width:200px;height:184px;left:calc(50% - 100px);top:18px;overflow:hidden;z-index:3;filter:drop-shadow(0 0 12px var(--hatch-energy));animation:harvest-mini-emerge .7s ease-out both}
.halloween-hatch-sprite[hidden]{display:none}.halloween-hatch-sprite img{position:absolute;image-rendering:pixelated;max-width:none}
.halloween-hatch[data-phase=revealed] .halloween-hatch-lightning{animation:none;opacity:.15}
@keyframes harvest-lantern-wake{0%,100%{transform:rotate(-3deg);filter:drop-shadow(0 0 4px #ffb159)}50%{transform:rotate(3deg);filter:drop-shadow(0 0 18px #ffb159)}}
@keyframes harvest-mist-swirl{to{transform:rotate(360deg)}}
@keyframes harvest-ghost-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-13px) rotate(4deg)}}
@keyframes harvest-storm-flash{0%,100%{opacity:.15}50%{opacity:.7}}
@keyframes harvest-storm-ring{to{transform:rotate(-360deg)}}
@keyframes harvest-storm-shake{0%,100%{transform:translateX(-2px) rotate(-4deg)}50%{transform:translateX(2px) rotate(4deg)}}
@keyframes harvest-blood-moon{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1);opacity:1}}
@keyframes harvest-portal-orbit{0%,100%{transform:rotate(-25deg) scale(.95)}50%{transform:rotate(25deg) scale(1.1)}}
@keyframes harvest-portal-rise{0%,100%{transform:translateY(4px) scale(1)}50%{transform:translateY(-22px) scale(1.12)}}
@keyframes harvest-mini-emerge{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.halloween-hatch *{animation:none!important;transition:none!important}.halloween-hatch-lightning{opacity:.15}}
.halloween-hatch .button{min-height:44px}

.mini-halloween-machine .mini-event-candy-balance{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:0;padding:3px 8px;border:1px solid #e7a25935;border-radius:8px;background:#d7811710;font-size:11px;color:#d9b88f}.mini-event-candy-balance svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mini-event-candy-balance strong{font-size:13px;color:#ffd09b}
