body.loading{opacity:0;pointer-events:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0;padding:0;background:#264de4;color:#fff;height:100vh;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;text-align:center;transition:opacity .25s ease}#container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:2vw;box-sizing:border-box;max-width:none}.page{display:none;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100vw}.page.active{display:flex}.card{background:#ffffff26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:clamp(2rem,4vw,3rem);border-radius:24px;width:90%;max-width:clamp(380px,45vw,520px);display:flex;flex-direction:column;align-items:center;box-shadow:0 20px 60px #0000004d;margin-top:20px;border:1px solid rgba(255,255,255,.3)}.form-title{font-size:clamp(24px,3vw,32px);font-weight:700;color:#fff;margin:0 0 clamp(1.5rem,2.5vw,2rem) 0;text-align:center}.input-group{width:100%;margin-bottom:clamp(.8rem,1.2vw,1rem)}input[type=text],input[type=tel]{width:100%;padding:clamp(.9rem,1.6vw,1.2rem) clamp(1rem,1.8vw,1.4rem);margin:0;border-radius:12px;border:2px solid rgba(255,255,255,.3);font-size:clamp(15px,1.8vw,17px);box-shadow:0 2px 8px #0000001a;background-color:#fffffff2;transition:all .2s ease;font-weight:500;color:#1a1a1a;box-sizing:border-box}input[type=text]:focus,input[type=tel]:focus{outline:none;border-color:#fffc;background-color:#fff;box-shadow:0 0 0 4px #ffffff26}input::placeholder{color:#9ca3af;font-weight:400}.checkbox-label{display:flex;align-items:center;gap:.75rem;margin:clamp(.8rem,1.2vw,1rem) 0 clamp(1rem,1.5vw,1.5rem) 0;font-size:clamp(13px,1.5vw,15px);color:#fffffff2;text-align:left;width:100%;line-height:1.5;font-weight:400;cursor:pointer;-webkit-user-select:none;user-select:none}input[type=checkbox]{width:clamp(20px,2.2vw,24px);height:clamp(20px,2.2vw,24px);min-width:20px;min-height:20px;margin:0;cursor:pointer;flex-shrink:0;appearance:none;-webkit-appearance:none;background-color:#fff3;border:2px solid rgba(255,255,255,.5);border-radius:6px;position:relative;transition:all .2s ease}input[type=checkbox]:checked{background-color:#ffffff4d;border-color:#fffc}input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:clamp(14px,1.8vw,16px);font-weight:700}.checkbox-text{flex:1}.primary-btn{width:100%;padding:clamp(.95rem,1.7vw,1.2rem);margin:clamp(.4rem,.8vw,.6rem) 0;border-radius:12px;border:none;font-size:clamp(16px,1.8vw,18px);font-weight:600;background:linear-gradient(135deg,#2356ff,#6c8aef);color:#fff;cursor:pointer;box-shadow:0 4px 14px #1e3a8a66;transition:all .2s ease}.primary-btn:hover{background:linear-gradient(135deg,#0942fe,#0e3fc6);transform:translateY(-1px);box-shadow:0 6px 20px #1e3a8a80}.primary-btn:active{transform:translateY(0)}.link-text{margin-top:clamp(1rem,1.5vw,1.2rem);text-align:center;font-size:clamp(14px,1.6vw,15px);color:#ffffffd9;line-height:1.5}.link-btn{background:none;border:none;color:#fff;text-decoration:none;cursor:pointer;padding:0;font-size:clamp(14px,1.6vw,15px);font-weight:600;transition:color .2s ease;display:inline}.link-btn:hover{color:#fff;border-bottom-color:#fff}.checkin-icon-wrap{width:clamp(64px,10vw,88px);height:clamp(64px,10vw,88px);border-radius:50%;background:linear-gradient(135deg,#10b981,#34d399);display:flex;align-items:center;justify-content:center;margin:0 auto clamp(1rem,2vw,1.5rem);box-shadow:0 12px 32px #10b98166;animation:checkinPop .5s cubic-bezier(.34,1.56,.64,1) both}.checkin-check{width:46%;height:46%}@keyframes checkinPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.checkin-title{font-size:clamp(26px,3.4vw,36px);font-weight:800;margin:0 0 .4rem;text-align:center}.checkin-sub{font-size:clamp(15px,1.8vw,18px);color:#fffc;margin:0 0 clamp(1.2rem,2vw,1.6rem) 0;text-align:center}.checkin-next{width:100%;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:clamp(1rem,1.8vw,1.4rem);display:flex;flex-direction:column;align-items:center;gap:4px;box-sizing:border-box}.checkin-next-label{font-size:clamp(11px,1.2vw,13px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff9}.checkin-next-value{font-size:clamp(18px,2.2vw,22px);font-weight:700;text-align:center}.qr-title{margin-bottom:6px;font-size:18px}.qr-reward-text{opacity:.75;margin-bottom:14px;font-size:13px}.qr-code-box{background:#fff;padding:12px;border-radius:12px;display:inline-block;margin-bottom:10px}.qr-hint{opacity:.55;font-size:12px;line-height:1.5}#progress-bar{width:80%;height:12px;background-color:#ffffff4d;border-radius:6px;overflow:hidden;margin:12px 0}#progress-fill{background:#fff;height:100%;transition:width .3s ease}#fullscreen-prompt{position:fixed;inset:0;background:#000000eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;z-index:9999;text-align:center;padding:20px}.fullscreen-content{background:#ffffff14;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:clamp(2rem,4vw,3rem);max-width:450px;width:90%}.fullscreen-icon{width:clamp(48px,8vw,64px);height:clamp(48px,8vw,64px);margin:0 auto clamp(1rem,2vw,1.5rem);opacity:.9}.fullscreen-content h3{font-size:clamp(24px,3.5vw,32px);font-weight:700;margin:0 0 clamp(.75rem,1.2vw,1rem) 0;color:#fff}.fullscreen-content p{font-size:clamp(15px,2vw,17px);color:#fffc;margin:0 0 clamp(1.5rem,2.5vw,2rem) 0;line-height:1.5}.fullscreen-btn{padding:clamp(.9rem,1.6vw,1.1rem) clamp(1.5rem,2.5vw,2rem);font-size:clamp(15px,1.8vw,17px);font-weight:600;border-radius:12px;border:none;background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#fff;cursor:pointer;box-shadow:0 4px 14px #1e3a8a80;transition:all .2s ease;width:100%}.fullscreen-btn:hover{background:linear-gradient(135deg,#1e40af,#1e3a8a);transform:translateY(-1px);box-shadow:0 6px 20px #1e3a8a99}.fullscreen-btn:active{transform:translateY(0)}h1{font-size:clamp(36px,6vw,72px);font-weight:800;line-height:1.1;letter-spacing:-.01em;margin:0 0 1rem;word-break:break-word;white-space:normal;text-align:left}p,#next-reward{font-size:clamp(20px,4vw,36px);line-height:1.25;margin:0;padding:0;word-break:break-word;text-align:center}.reward-earned{display:flex;flex-direction:column;align-items:center;margin-top:4px}.reward-earned-badge{width:clamp(64px,9vw,80px);height:clamp(64px,9vw,80px);border-radius:50%;background:linear-gradient(135deg,#f59e0b,#fbbf24);display:flex;align-items:center;justify-content:center;font-size:clamp(28px,4vw,36px);margin-bottom:clamp(.7rem,1.2vw,1rem);animation:rewardPop .5s cubic-bezier(.34,1.56,.64,1) both,rewardGlow 2s ease-in-out infinite .5s}@keyframes rewardPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rewardGlow{0%,to{box-shadow:0 10px 28px #f59e0b73}50%{box-shadow:0 10px 40px #fbbf24cc}}.reward-earned-label{font-size:clamp(11px,1.2vw,13px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffa6;margin:0 0 .35rem}.reward-earned-text{font-size:clamp(22px,2.8vw,30px);font-weight:800;color:#fff;margin:0 0 clamp(1rem,1.8vw,1.4rem) 0;text-align:center;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.15)}.template-1,.template-2,.template-3,.template-4,.template-5{width:100%;max-width:1100px;margin:0 auto;padding:clamp(8px,2vw,24px);box-sizing:border-box;position:relative;border:none;border-radius:0;overflow:visible}.template-1{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,40px)}.template-1 .image-container{flex:0 1 50%;display:flex;align-items:center;justify-content:center}.template-1 img,.template-1 .image-placeholder{width:100%;height:auto;max-height:60vh;border-radius:20px;object-fit:cover}.template-1 .text-container{flex:0 1 45%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}.template-1 h1{font-size:clamp(40px,6vw,72px);font-weight:800;line-height:1.1;margin:0 0 1rem;text-align:left;max-width:12ch;word-break:keep-all;white-space:pre-line}.template-1 p{font-size:clamp(18px,2.8vw,28px);margin-top:.5rem;text-align:left;width:100%}.template-2{display:flex;flex-direction:column;align-items:center;justify-content:center}.template-2 img,.template-2 .image-placeholder{width:clamp(200px,60vw,640px);height:auto;max-height:46vh;border-radius:12px;object-fit:cover;margin-bottom:1rem}.template-3{display:flex;flex-direction:column;align-items:center;justify-content:center}.template-3 .image-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.4vw,16px);width:100%;max-width:min(92vw,1100px)}.template-3 img,.template-3 .image-placeholder{width:clamp(120px,18vw,200px);height:clamp(120px,18vw,200px);border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.5)}.template-4{display:flex;flex-direction:column;align-items:center;justify-content:center}.template-4 .text-emoji-row{display:flex;align-items:center;gap:clamp(8px,1.2vw,16px);margin-bottom:1rem}.template-4 .emoji{font-size:clamp(24px,5vw,40px)}.template-4 .image-row{display:flex;gap:clamp(8px,1.2vw,16px);margin-top:1rem}.template-4 img{width:clamp(60px,9vw,120px);height:clamp(60px,9vw,120px);border-radius:12px;object-fit:cover}.template-5{display:flex;flex-direction:column;align-items:center;justify-content:center}.template-5 img,.template-5 .image-placeholder{width:clamp(120px,20vw,200px);height:clamp(120px,20vw,200px);border-radius:50%;object-fit:cover;margin-bottom:1rem}.image-placeholder{background-color:#ccc;display:flex;flex-direction:column;justify-content:center;align-items:center}.image-placeholder span:first-child{font-size:2rem;color:#666}.image-placeholder span:last-child{font-size:1rem;color:#666;margin-top:.5rem}.emoji{position:absolute;pointer-events:none;z-index:9999;animation:fall 3s linear forwards}@keyframes fall{0%{transform:translateY(-2rem)}to{transform:translateY(100vh)}}.iti{width:100%;display:block}.iti__flag-container{position:absolute;inset:0 auto 0 0}.iti__selected-flag{background-color:transparent;border-radius:12px 0 0 12px;padding:0 0 0 12px;border-right:2px solid rgba(255,255,255,.2)}.iti input[type=tel]{padding-left:80px}.iti__country-list{border-radius:12px;box-shadow:0 8px 24px #0003;max-height:200px;background-color:#fff;margin-top:4px}
