.gacha-machine{--machine:#b86d56;position:relative;width:250px;height:380px;margin:20px auto 28px;filter:drop-shadow(0 16px 14px #243f4429);isolation:isolate;perspective:800px;pointer-events:none}
.gacha-top{position:absolute;top:0;left:21px;width:208px;height:69px;background:linear-gradient(110deg,#fff7e6,#e6d8ba);border-radius:35px 35px 12px 12px;border:3px solid #fdf4d8;z-index:4;transform:rotate(-2deg);box-shadow:0 5px 0 #754a3426;text-align:center;padding:6px;color:#3e5b5a;box-sizing:border-box}.gacha-top>span{display:block;font-size:8px;letter-spacing:4px}.gacha-top>b{display:block;font-size:16px;margin:3px 0}.gacha-top>small{display:block;font-size:6px;letter-spacing:2px}
.gacha-globe{position:absolute;top:49px;left:20px;width:210px;height:185px;border-radius:65px 65px 48px 48px;background:radial-gradient(ellipse at 32% 25%,#fef9eec9,#c5ddd29c 44%,#719d9b80);border:4px solid #f8efd7;box-shadow:inset -13px 0 20px #39585933,inset 7px 3px 10px #ffffff9e;overflow:hidden;z-index:2;box-sizing:border-box}.gacha-shine{position:absolute;inset:12px auto 20px 15px;width:18px;background:linear-gradient(#fff9,#fff1);border-radius:50%;transform:rotate(13deg);z-index:3}.gacha-glass-rim{position:absolute;inset:auto 0 0;height:15px;background:linear-gradient(#f6e8c3,#d5c6a4);z-index:3}
.machine-capsule,.rolling-capsule{display:block;position:absolute;width:49px;height:49px;border-radius:50%;background:linear-gradient(165deg,#fff9e8 0 49%,var(--capsule,#b4bba1) 50% 100%);box-shadow:inset -5px -5px 6px #32535425,inset 3px 4px 5px #ffffff8f,0 3px 5px #253c402b;left:calc(8px + mod(var(--i),4)*45px);top:calc(40px + round(down,var(--i)/4)*42px);transform:rotate(calc(var(--i)*37deg))}.c0{left:8px;top:85px}.c1{left:47px;top:110px}.c2{left:91px;top:115px}.c3{left:141px;top:99px}.c4{left:12px;top:125px}.c5{left:48px;top:65px}.c6{left:94px;top:73px}.c7{left:143px;top:59px}.c8{left:16px;top:32px}.c9{left:65px;top:21px}.c10{left:111px;top:28px}.c11{left:153px;top:20px}
.gacha-body{position:absolute;top:211px;left:11px;width:228px;height:146px;background:linear-gradient(105deg,color-mix(in srgb,var(--machine),#fff 16%),var(--machine) 55%,color-mix(in srgb,var(--machine),#233c40 25%));border-radius:14px 14px 25px 25px;border:3px solid #f3dfb9;box-shadow:inset 0 6px 2px #fff3,inset -8px -7px 0 #203f3e20;z-index:3;box-sizing:border-box}.gacha-star{position:absolute;left:12px;top:9px;font-size:23px;color:#f5dfad}.gacha-label{position:absolute;left:46px;top:11px;text-align:left;color:#fff2d4;font-size:12px;letter-spacing:2px}.gacha-label small{display:block;font-size:6px;letter-spacing:1px;margin-top:4px}.gacha-knob{position:absolute;right:17px;top:14px;width:45px;height:45px;background:linear-gradient(130deg,#f9ebc8,#c9b997);border-radius:50%;box-shadow:0 4px 3px #3042414d,inset 2px 2px 2px #fffbeb}.gacha-knob i{display:block;position:absolute;left:18px;top:3px;width:10px;height:37px;border-radius:5px;background:linear-gradient(90deg,#e2c9a0,#ffedc7);box-shadow:3px 1px 2px #71563838;transform:rotate(30deg)}.gacha-arrow{position:absolute;right:0;top:1px;color:#f6e4ba;font-size:20px}.gacha-chute{position:absolute;left:55px;top:63px;width:106px;height:60px;background:linear-gradient(#334c4e,#203639);border:4px solid #d5bb91;border-radius:20px 20px 13px 13px;overflow:hidden;box-shadow:inset 0 6px 10px #142b2e}.gacha-tray{position:absolute;bottom:5px;left:39px;width:139px;height:16px;border-radius:3px 3px 12px 12px;background:linear-gradient(#f5dfb4,#b79b78);box-shadow:0 5px 4px #38505026}.rolling-capsule{left:28px;top:-58px;background:linear-gradient(160deg,#fff3d2 0 49%,#a3b6a0 50%);z-index:3}.gacha-base{position:absolute;left:4px;top:354px;width:242px;height:17px;border-radius:7px;background:linear-gradient(#d9c6a1,#b89a75)}.gacha-ground{position:absolute;bottom:-5px;left:0;width:250px;height:15px;background:#56776826;border-radius:50%;filter:blur(6px)}
.is-turning .gacha-knob{animation:machine-knob 1.1s ease-in-out .1s both}.is-turning .machine-capsule{animation:capsule-tumble 1.4s ease-in-out;animation-delay:calc(var(--i)*35ms)}.is-turning .rolling-capsule{animation:capsule-drop 1.4s cubic-bezier(.22,.8,.46,1) 1.5s forwards}.is-turning .gacha-body{animation:machine-nudge .25s ease-in-out 1.1s 2}.gacha-opening .gacha-machine{margin-top:24px}.gacha-opening-status{font-size:11px;letter-spacing:1px;color:#718878;margin-bottom:10px}.gacha-opening .text-link{font-size:11px}.blindbox-choice .gacha-machine{transform:scale(.72);transform-origin:top center;margin:12px auto -85px}.blindbox-choice .blindbox-art{height:300px;display:block;overflow:visible}.blindbox-choice{overflow:hidden}.blindbox-choice:hover .gacha-knob{transform:rotate(20deg);transition:transform .4s}.gacha-reveal-stage{position:relative;height:210px;display:grid;place-items:center;margin:5px auto 10px;isolation:isolate}.gacha-reveal-stage:before{content:'';position:absolute;width:190px;height:190px;background:radial-gradient(#f6d88f70,transparent 70%);z-index:-1;animation:gift-halo 2.5s ease-in-out infinite}.gacha-reveal-stage .reveal-item{margin:0;animation:item-reveal .7s ease-out both}.capsule-half{position:absolute;width:96px;height:48px;border-radius:60px 60px 0 0;left:calc(50% - 48px);background:linear-gradient(120deg,#fff3d5,#d8c6a4);z-index:-1}.capsule-half.top{top:58px;animation:capsule-open-top .8s ease-out forwards}.capsule-half.bottom{bottom:40px;transform:rotate(180deg);background:linear-gradient(#b3c2aa,#8ca492);animation:capsule-open-bottom .8s ease-out forwards}.gacha-reveal-stage>span{position:absolute;right:20%;top:20px;color:#c99f52;font-size:24px}.reveal-message{max-width:420px;margin:12px auto 20px!important;line-height:1.9!important;font-size:14px!important;color:#54716c!important}.seed-gift-note{font-size:11px;line-height:1.9;background:#eaf0de;padding:12px;border-radius:10px;color:#63836a}.finish-panel p{line-height:2}
@keyframes machine-knob{0%{transform:rotate(0)}70%{transform:rotate(285deg)}100%{transform:rotate(270deg)}}@keyframes capsule-tumble{0%,100%{translate:0 0}25%{translate:9px -12px;rotate:25deg}60%{translate:-7px 4px;rotate:-15deg}}@keyframes capsule-drop{0%{top:-58px;rotate:0deg}55%{top:13px;rotate:160deg}75%{top:0;rotate:205deg}100%{top:10px;rotate:230deg}}@keyframes machine-nudge{50%{translate:2px 0}}@keyframes capsule-open-top{to{transform:translate(-55px,-50px) rotate(-25deg);opacity:.5}}@keyframes capsule-open-bottom{to{transform:translate(50px,30px) rotate(200deg);opacity:.5}}@keyframes item-reveal{from{transform:translateY(20px) scale(.65);opacity:0}to{transform:none;opacity:1}}@keyframes gift-halo{50%{transform:scale(1.18);opacity:.7}}
@media(max-width:760px){.blindbox-choice .gacha-machine{transform:scale(.68);margin-bottom:-110px}.blindbox-choice .blindbox-art{height:280px}.gacha-opening .gacha-machine{transform:scale(.82);transform-origin:top center;margin-bottom:-35px}.gacha-opening h2{font-size:25px}.gacha-opening .modal-subtitle{font-size:12px}.gacha-reveal-stage{height:170px}.gacha-reveal-stage .reveal-item{height:145px}.gacha-reveal-stage .reveal-item svg{height:145px}.reveal-message{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.gacha-machine *,.gacha-reveal-stage *,.gacha-reveal-stage:before{animation:none!important}.is-turning .rolling-capsule{top:10px}.capsule-half.top{transform:translate(-55px,-50px) rotate(-25deg)}.capsule-half.bottom{transform:translate(50px,30px) rotate(200deg)}}
