.gacha-shell{display:flex;height:auto;min-height:482px;flex-direction:column;gap:12px}
.gacha-shell .mini-machine-stage{flex:none;min-height:270px}
.gacha-shell .mini-machine-heading{flex:none;min-height:40px}
.gacha-shell .mini-machine-heading>div:first-child{flex:1}
.gacha-shell .mini-machine-meta{flex:none}
.gacha-shell .mini-roll-button{height:auto;min-height:44px;white-space:normal;overflow-wrap:anywhere}
.gacha-shell[data-gacha-part-shell]{background:var(--gacha-shell)}
.gacha-shell .gacha-machine[data-gacha-part-body]{background:var(--gacha-body)}
.gacha-shell .gacha-machine[data-gacha-part-base]::after{background:var(--gacha-base)}
.gacha-shell .gacha-machine[data-gacha-part-window] .mini-machine-window{background:var(--gacha-window)}
.gacha-shell .gacha-machine[data-gacha-part-knob] .mini-machine-knob{background:var(--gacha-knob)}
.gacha-shell .gacha-machine[data-gacha-part-handle] .mini-machine-knob i{background:var(--gacha-handle)}
.gacha-shell .gacha-machine[data-gacha-part-slot] .mini-machine-slot{background:var(--gacha-slot)}
.gacha-machine[data-gacha-custom]{box-shadow:inset 0 0 0 6px #ffffff14,inset 0 -18px 32px #3c0b174d,0 20px 42px #0006,0 0 20px var(--gacha-glow)}
.gacha-shell[data-gacha-part-label] .mini-machine-heading strong{background:var(--gacha-label);background-clip:text;-webkit-background-clip:text;color:transparent}
.gacha-shell .gacha-machine[data-gacha-part-border]{border-color:transparent}
.gacha-shell .gacha-machine[data-gacha-part-border]::before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:var(--gacha-border);padding:2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:10}
.gacha-machine-decoration{position:absolute;z-index:8;left:50%;top:3px;transform:translateX(-50%);font-size:27px;color:var(--gacha-label,#fff0ab);text-shadow:0 0 8px var(--gacha-glow,#b894ed)}
.gacha-description{font-size:13px;color:#aba0bc;margin:6px 0 13px;line-height:1.5}
.gacha-admin-label{display:inline-block;padding:3px 7px;margin:7px 0 0;border:1px solid #c5a4f26e;border-radius:6px;color:#d9c3ff;font-size:10px}
.gacha-pile-egg{background:transparent!important;box-shadow:none!important}
/* The standard machine pile angles its Eggs; custom Egg artwork stays upright. */
.mini-machine-pile-egg.gacha-pile-egg{transform:scale(var(--egg-scale,1))}
.gacha-pile-egg>.mini-egg{position:absolute;width:19px;height:25px;margin:0;left:0;top:0}
.gacha-egg{isolation:isolate;background:var(--gacha-egg-trim,#655477)!important;border:0;box-shadow:0 4px 8px #0004}
.gacha-egg::before{content:"";position:absolute;inset:2px;border-radius:inherit;background:var(--gacha-egg-shell,#f4f2f7);width:auto;height:auto;left:2px;top:2px;box-shadow:none}
.gacha-egg::after{content:none!important}
.gacha-egg i,.gacha-egg b,.gacha-egg em{position:absolute;z-index:2;background:var(--gacha-egg-markings,#9689b4);box-shadow:none}
.gacha-pattern-dots i{width:20%;height:20%;left:20%;top:32%;border-radius:50%}
.gacha-pattern-dots b{width:15%;height:17%;left:64%;top:21%;border-radius:50%}
.gacha-pattern-dots em{width:12%;height:14%;left:57%;top:67%;border-radius:50%}
.gacha-pattern-none i,.gacha-pattern-none b,.gacha-pattern-none em{display:none}
.gacha-pattern-stripes i,.gacha-pattern-zigzag i{inset:3px;width:auto;height:auto;border-radius:inherit;mask:repeating-linear-gradient(145deg,#000 0 6px,transparent 6px 13px);-webkit-mask:repeating-linear-gradient(145deg,#000 0 6px,transparent 6px 13px)}
.gacha-pattern-stripes b,.gacha-pattern-stripes em,.gacha-pattern-zigzag b,.gacha-pattern-zigzag em{display:none}
.gacha-pattern-zigzag i{mask:repeating-conic-gradient(from 45deg,#000 0 90deg,transparent 90deg 180deg) 0 0/12px 12px;-webkit-mask:repeating-conic-gradient(from 45deg,#000 0 90deg,transparent 90deg 180deg) 0 0/12px 12px}
.gacha-pattern-stars i,.gacha-pattern-stars b,.gacha-pattern-stars em{clip-path:polygon(50% 0,62% 34%,98% 36%,71% 60%,80% 97%,50% 76%,20% 97%,29% 60%,2% 36%,38% 34%);border-radius:0;width:25%;height:25%}
/* Costume Party stays upright and unlit; the egg outline clips its starfield.
   This is a cosmetic-only override, leaving other Gacha Eggs unaffected. */
.gacha-egg[data-gacha-egg-key="costume-party"]{
  /* The regular Egg shell, recolored pale lavender; no Gacha trim or tilt. */
  background:linear-gradient(145deg,#fbf5ff 8%,#e3caf5 67%,#b999da)!important;
  box-shadow:inset -8px -10px 16px #48305422,inset 7px 7px 10px #fff9,0 8px 16px #0004;
  animation:none!important;transform:none!important;filter:none!important;
  overflow:hidden;
}
.gacha-egg[data-gacha-egg-key="costume-party"]::before{content:none!important}
/* Costume Party-only starfield: the egg keeps the standard star motif, but
   each of its eight stars has a distinct size and nonoverlapping position. */
.gacha-egg[data-gacha-egg-key="costume-party"].gacha-pattern-stars i{left:19%;top:30%;width:18%;height:18%}
.gacha-egg[data-gacha-egg-key="costume-party"].gacha-pattern-stars b{left:54%;top:24%;width:23%;height:23%}
.gacha-egg[data-gacha-egg-key="costume-party"].gacha-pattern-stars em{left:45%;top:54%;width:14%;height:14%}
.gacha-egg[data-gacha-egg-key="costume-party"] .gacha-extra-star{position:absolute;z-index:2;display:block;background:var(--gacha-egg-markings,#ffdaff);clip-path:polygon(50% 0,62% 34%,98% 36%,71% 60%,80% 97%,50% 76%,20% 97%,29% 60%,2% 36%,38% 34%)}
.gacha-egg[data-gacha-egg-key="costume-party"] .gacha-extra-star-1{left:38%;top:12%;width:10%;height:10%}
.gacha-egg[data-gacha-egg-key="costume-party"] .gacha-extra-star-2{left:19%;top:54%;width:16%;height:16%}
.gacha-egg[data-gacha-egg-key="costume-party"] .gacha-extra-star-3{left:72%;top:48%;width:12%;height:12%}
.gacha-egg[data-gacha-egg-key="costume-party"] .gacha-extra-star-4{left:32%;top:76%;width:8%;height:8%}
.gacha-egg[data-gacha-egg-key="costume-party"] .gacha-extra-star-5{left:54%;top:69%;width:20%;height:20%}
.gacha-pattern-snowflakes i,.gacha-pattern-snowflakes b,.gacha-pattern-snowflakes em{clip-path:polygon(43% 0,57% 0,57% 35%,82% 10%,92% 20%,66% 44%,100% 44%,100% 57%,65% 57%,90% 82%,80% 92%,57% 66%,57% 100%,43% 100%,43% 65%,17% 90%,7% 80%,34% 57%,0 57%,0 43%,34% 43%,10% 17%,20% 7%,43% 34%);border-radius:0;width:26%;height:26%}
.gacha-egg-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0}
.gacha-egg-option{display:flex;align-items:center;gap:10px;background:#ffffff04;border:1px solid #ffffff16;border-radius:10px;color:#eee8f8;text-align:left;padding:9px 11px;font:inherit;cursor:pointer;min-width:0}
.gacha-egg-option.is-selected{border-color:#b895ee;background:#b895ee12}
.gacha-egg-option>.mini-egg{flex:none;margin:0;width:26px;height:35px}
.gacha-egg-option span{min-width:0}.gacha-egg-option strong{display:block;font-size:12px;overflow-wrap:anywhere}.gacha-egg-option small{display:block;font-size:10px;color:#b1a5bf;margin-top:3px}
.gacha-contents{margin:10px 0;font-size:12px;color:#bcb0cf}.gacha-contents summary{cursor:pointer;padding:5px}.gacha-contents ul{list-style:none;max-height:260px;overflow:auto;padding:5px 8px}.gacha-contents li{display:flex;justify-content:space-between;gap:15px;padding:5px 0;border-bottom:1px solid #ffffff08}.gacha-contents li strong{white-space:nowrap;color:#e7dcfa}
.gacha-idle-float{animation:gacha-float 3s ease-in-out infinite}.gacha-idle-pulse{animation:gacha-pulse 2.7s ease-in-out infinite}.gacha-idle-wiggle{animation:gacha-wiggle 3.2s ease-in-out infinite}
.cosmetic-motion-paused .gacha-egg{animation-play-state:paused!important}
[data-gacha-motion]{animation-duration:var(--gacha-duration,1450ms)!important;animation-iteration-count:1!important;animation-fill-mode:both!important}
[data-gacha-motion="shake"]{animation-name:gacha-shake!important}[data-gacha-motion="bounce"]{animation-name:gacha-bounce!important}[data-gacha-motion="spin"]{animation-name:gacha-spin!important}[data-gacha-motion="wobble"]{animation-name:gacha-wobble!important}
[data-gacha-reveal="glow"]{animation:gacha-glow var(--gacha-duration,700ms) ease-out}
.gacha-fx{position:absolute;inset:0;pointer-events:none;z-index:20;color:var(--gacha-fx-color,#ffd45e)}
.gacha-fx i{position:absolute;left:50%;top:50%;font-style:normal;animation:gacha-particle var(--gacha-duration,700ms) ease-out both}
.gacha-fx-confetti i{width:5px;height:9px;background:currentColor}
@keyframes gacha-float{50%{transform:translateY(-3px)}}@keyframes gacha-pulse{50%{filter:drop-shadow(0 0 5px var(--gacha-egg-glow,#b894ed))}}@keyframes gacha-wiggle{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-4deg)}92%{transform:rotate(4deg)}}
@keyframes gacha-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(calc(var(--gacha-strength,2)*-1px)) rotate(-1deg)}40%,80%{transform:translateX(calc(var(--gacha-strength,2)*1px)) rotate(1deg)}}
@keyframes gacha-bounce{0%,100%{transform:translateY(0)}35%,70%{transform:translateY(calc(var(--gacha-strength,2)*-3px))}}
@keyframes gacha-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes gacha-wobble{0%,100%{transform:rotate(0)}25%,75%{transform:rotate(calc(var(--gacha-strength,2)*-2deg))}50%{transform:rotate(calc(var(--gacha-strength,2)*2deg))}}
@keyframes gacha-glow{35%{filter:drop-shadow(0 0 14px var(--gacha-fx-color,#ffd45e))}100%{filter:none}}@keyframes gacha-particle{0%{opacity:0;transform:translate(0,0)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rot))}}
@media(prefers-reduced-motion:reduce){.gacha-egg,[data-gacha-motion],[data-gacha-reveal],.gacha-fx i{animation:none!important}}
@media(max-width:480px){.gacha-egg-options{grid-template-columns:1fr}.gacha-shell{padding:14px}.gacha-egg-option{padding:8px}}
