@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes unwrap{0%{transform:scale(1) rotate(0deg)}30%{transform:scale(1.2) rotate(180deg)}60%{transform:scale(0.8) rotate(360deg)}100%{transform:scale(0) rotate(720deg);opacity:0}}@keyframes sparkle{0%,100%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.5)}}@keyframes revealPrize{0%{transform:translate(-50%, -21=0%) scale(0) rotate(180deg);opacity:0}60%{transform:translate(-50%, -20%) scale(1.1) rotate(-10deg);opacity:1}100%{transform:translate(-50%, -20%) scale(1) rotate(0deg);opacity:1}}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes token-spin{0%,100%{transform:rotateY(0deg)}50%{transform:rotateY(180deg)}}@keyframes fadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{box-shadow:0 5px 15px rgba(0,0,0,.2)}50%{box-shadow:0 5px 25px rgba(255,215,0,.6)}}@keyframes glow{0%,100%{text-shadow:0 0 10px hsla(0,0%,100%,.5)}50%{text-shadow:0 0 20px hsla(0,0%,100%,.8),0 0 30px rgba(255,215,0,.5)}}@keyframes shine{0%{transform:rotate(45deg) translate(-100%, -100%)}100%{transform:rotate(45deg) translate(100%, 100%)}}@keyframes leafWave{0%,100%{transform:translateX(-50%) rotate(-45deg) scale(1)}50%{transform:translateX(-50%) rotate(-35deg) scale(1.1)}}@keyframes celebrationPop{0%{transform:translate(-50%, -50%) scale(0)}80%{transform:translate(-50%, -50%) scale(1.2)}100%{transform:translate(-50%, -50%) scale(1)}}@keyframes buttonPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes buttonShine{0%{background-position:-100px}40%,100%{background-position:200px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;background:#000;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;max-width:100vw}body::before{content:"";position:fixed;top:0px;left:0;width:100%;height:100%;background-image:url("../images/bg.png");background-size:cover;background-position:center;z-index:1}.container{text-align:center;position:relative;z-index:10;width:100%;height:100%;height:100vh;display:flex;flex-direction:column;align-items:center;padding:1rem 1rem 2.5rem;overflow:hidden}.logo-section{width:100%;animation:fadeInDown 1s ease-out;margin-top:auto;max-width:900px}.logo{max-width:220px;height:auto;filter:drop-shadow(0 5px 15px rgba(0, 0, 0, 0.3));transition:transform .3s ease;cursor:pointer;border-radius:50%;margin-top:20px;margin-bottom:-20px}.logo:hover{transform:scale(1.05)}.instruction img{width:100%;max-width:520px}.instruction.hide{display:none}.instruction1{display:none}.instruction1 img{width:60%}.instruction1.show{display:block}.ketupat-wrapper{position:relative;width:100%;max-width:800px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;cursor:pointer;transition:transform .3s ease}.ketupat-wrapper:hover:not(.opened){transform:scale(1.05)}.ketupat-wrapper.opened{cursor:not-allowed;pointer-events:none}.ketupat{position:relative;padding-top:2rem;width:100%;margin:0 auto;animation:float 3s ease-in-out infinite}.ketupat.unwrapping{animation:unwrap 1.5s ease-out forwards}.ketupat-body{position:relative;max-width:260px;width:60%;margin:auto}.ketupat-body img{width:100%}.ketupat-body::before{content:"";position:absolute;top:-50%;right:auto;bottom:auto;left:-50%;width:200%;height:200%;transform:rotate(45deg);animation:shine 3s infinite}.weave-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(45deg, transparent, transparent 15px, rgba(255, 255, 255, 0.2) 15px, rgba(255, 255, 255, 0.2) 30px),repeating-linear-gradient(-45deg, transparent, transparent 15px, rgba(0, 100, 0, 0.2) 15px, rgba(0, 100, 0, 0.2) 30px);border-radius:20px}.h1{width:100%;max-width:520px;z-index:999;position:relative}.sparkle{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:100%}.sparkle .sparkle-dot{position:absolute;top:auto;right:auto;bottom:auto;left:auto;width:10px;height:10px;background:gold;border-radius:50%;animation:sparkle 2s ease-in-out infinite;box-shadow:0 0 10px gold}.sparkle .sparkle-dot:nth-child(1){top:10%;left:20%;animation-delay:0s}.sparkle .sparkle-dot:nth-child(2){top:30%;right:15%;animation-delay:.5s}.sparkle .sparkle-dot:nth-child(3){bottom:20%;left:25%;animation-delay:1s}.sparkle .sparkle-dot:nth-child(4){bottom:15%;right:30%;animation-delay:1.5s}.prize-reveal{position:absolute;top:40px;right:auto;bottom:auto;left:50%;transform:translate(-50%, -50%) scale(0);top:3rem;opacity:0;z-index:100;min-width:450px;width:90%;max-width:480px;z-index:100;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:all !important}.prize-reveal.show{animation:revealPrize .8s ease-out forwards 1.5s}.prize-reveal .prize-bg{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100%;z-index:-1;height:auto}.prize-reveal .token-icon img{max-width:400px;border-radius:50%}.prize-box{width:40%;height:auto;display:block;margin-left:auto;margin-right:auto}.prize-title{color:#fff;font-weight:bold;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.prize-amount{font-size:48px;color:gold;font-weight:bold;margin-top:30px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.prize-message{font-size:20px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.2);margin-bottom:10px}.prize-message span{color:#fff;font-weight:bold;font-size:32px}.token-icon{font-size:3rem;margin-bottom:.5rem}.claim-btn{background:none;cursor:pointer;transition:all .3s ease;animation:buttonPulse 2s ease-in-out infinite;border:0px}.claim-btn img{width:33%;max-width:200px}.claim-btn::before{content:"";position:absolute;top:0;left:-100px;width:100px;height:100%;transform:skewX(-20deg);animation:buttonShine 3s ease-in-out infinite}.claim-btn:active{transform:translateY(0)}.already-opened{width:80%;padding:1rem 2rem;display:none}.already-opened.show{display:block}.already-opened img{width:90%;max-width:500px}.confetti{position:fixed;width:10px;height:10px;top:-10px;z-index:99;animation:confetti-fall 3s linear}.control-buttons{position:fixed;top:30px;right:30px;display:flex;gap:20px;z-index:1000;width:100%;justify-content:flex-end;animation:slideInRight .8s ease-out}.control-buttons .control-btn{width:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;cursor:pointer;transition:all .3s ease}.control-buttons .control-btn img{width:100%}.control-buttons .control-btn:hover{transform:scale(1.1);background:hsla(0,0%,100%,.35)}.control-buttons .control-btn:active{transform:scale(0.95)}.control-buttons .control-btn.music-btn.playing{animation:pulse 2s ease-in-out infinite}.volume-control{position:fixed;bottom:20px;right:20px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(10px);padding:15px;border-radius:30px;display:flex;align-items:center;gap:10px;z-index:1000;animation:slideInUp .8s ease-out;border:2px solid hsla(0,0%,100%,.3)}.volume-control span{color:#fff;font-size:1.2rem}.volume-control input{width:100px;height:5px;-webkit-appearance:none;background:linear-gradient(90deg, #fbff00, #feffbe);border-radius:5px;outline:none}.volume-control input::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.3);-webkit-transition:transform .2s;transition:transform .2s}.volume-control input::-webkit-slider-thumb:hover{transform:scale(1.2)}.celebration-message{position:fixed;top:50%;left:50%;width:auto;height:auto;transform:translate(-50%, -50%);z-index:1000;animation:celebrationPop .5s ease-out;display:none}.celebration-message img{width:100%}.celebration-message.show{display:block}.gold-text{font-weight:900;font-size:60px;margin-top:9rem !important;background:linear-gradient(to bottom, #fff7be, #ffe58f, #ffbf00, #d49b00, #fff1a8);-webkit-background-clip:text;-webkit-text-stroke:.7px #ffe17e;-webkit-text-fill-color:rgba(0,0,0,0)}@media(max-width: 768px){.container{padding:4rem 1rem 3rem}body{overflow:hidden;position:relative}body::before{width:100%;height:100%;background-image:url("../images/bg.png");background-position:center;z-index:1}.instruction{width:100%}.instruction img{width:100%}.instruction1{width:100%}.instruction1 img{width:100%}.control-buttons{top:20px;right:20px}.volume-control{bottom:10px;right:10px;padding:10px}.volume-control input{width:50px}.ketupat-body{position:relative;height:auto}.ketupat-body::before{content:"";position:absolute;top:-50%;right:auto;bottom:auto;left:-50%;width:200%;height:200%;transform:rotate(45deg);animation:shine 3s infinite}.celebration-message{top:50%;left:50%;width:83%;height:auto;transform:translate(-50%, -50%)}.prize-message{font-size:17px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.2);margin-bottom:10px}.prize-message span{color:#fff;font-weight:bold;font-size:24px}.logo-section{width:100%;animation:fadeInDown 1s ease-out;margin-top:auto}.logo{max-width:170px;height:auto;filter:drop-shadow(0 5px 15px rgba(0, 0, 0, 0.3));transition:transform .3s ease;cursor:pointer;border-radius:50%;margin-top:0px}.logo:hover{transform:scale(1.05)}.prize-reveal{min-width:380px}.prize-amount{font-size:54px;margin-top:10rem !important}.claim-btn{width:120%;height:auto;margin-left:-30px}.already-opened{width:100%}}@media print{body{background:#858585}.control-buttons,.volume-control,.ketupat-wrapper,.claim-btn{display:none}}