:root{--yellow:#ffd447;--coral:#ff6f61;--turquoise:#38c7c1;--blue:#72d7e9;--green:#2d9b72;--ink:#263c4a;--cream:#fff8e8;--round:"Baloo 2",cursive;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans)}.page-shell{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(180deg,var(--yellow) 0%,#ffc95d 46%,var(--turquoise) 100%)}.grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.sun{position:absolute;top:80px;left:50%;width:390px;height:390px;border-radius:50%;background:#ffe98a;transform:translateX(-50%);opacity:.65}.cloud{position:absolute;width:115px;height:30px;border-radius:40px;background:#ffffff59}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud:before{width:45px;height:45px;left:20px;bottom:0}.cloud:after{width:62px;height:62px;left:51px;bottom:0}.cloud-one{top:22%;left:6%;animation:drift 13s ease-in-out infinite}.cloud-two{top:28%;right:7%;transform:scale(.72);animation:drift 17s ease-in-out -4s infinite reverse}.topbar{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:24px 6vw}.logo{color:var(--ink);font:800 1.7rem var(--round);letter-spacing:-.06em}.logo span{font-weight:500}.logo b{display:inline-block;margin-left:3px;color:var(--coral);font-size:1rem;transform:rotate(-8deg)}.topbar-note{padding:8px 15px;border:1px solid #263c4a40;border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.hero{position:relative;z-index:2;display:flex;min-height:calc(100vh - 100px);align-items:center;justify-content:center;padding:50px 22px 180px;text-align:center}.hero-content{position:relative;z-index:4;width:min(100%,650px)}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:99px;background:var(--coral);color:white;font-size:.68rem;font-weight:800;letter-spacing:.1em;box-shadow:4px 4px #263c4a22;animation:bob 4s ease-in-out infinite}.badge-dot{width:7px;height:7px;border-radius:50%;background:#ffe56e;box-shadow:0 0 0 4px #ffe56e38}h1{margin:20px 0 14px;color:var(--ink);font:800 clamp(3.5rem,8vw,6.6rem)/.86 var(--round);letter-spacing:-.075em}h1 span{display:inline-block;color:var(--cream);text-shadow:5px 5px 0 var(--coral);transform:rotate(-2deg)}.intro{max-width:470px;margin:24px auto 30px;color:#365462;font-size:1rem;line-height:1.6}.check-card{margin:0 auto;padding:25px;border:3px solid var(--ink);border-radius:25px;background:var(--cream);box-shadow:8px 9px 0 var(--ink);text-align:left}.check-card label{display:block;margin-bottom:9px;font:700 1.12rem var(--round)}.input-row{display:flex;gap:8px}.input-row input{min-width:0;flex:1;padding:15px 16px;border:2px solid #b5c3bc;border-radius:12px;outline:0;background:white;color:var(--ink);font:inherit;transition:border-color .2s,box-shadow .2s}.input-row input:focus{border-color:var(--turquoise);box-shadow:0 0 0 4px #38c7c133}.input-row button{padding:0 17px;border:0;border-radius:12px;background:var(--coral);color:white;cursor:pointer;font:700 1rem var(--round);transition:transform .2s,background .2s}.input-row button:hover{background:#ef5b50;transform:translateY(-2px) rotate(-1deg)}.input-row button span{margin-left:5px;font-size:1.2rem}.form-note,.fine-print{color:#6b7b78;font-size:.72rem}.form-note{margin:14px 0 0}.form-error{display:none;margin:10px 0 0;color:#d84642;font-size:.78rem;font-weight:600}.form-error.is-visible{display:block}.fine-print{margin-top:21px;opacity:.8}.palm{position:absolute;z-index:1;width:155px;height:300px;bottom:110px}.palm-left{left:2%;transform:scale(1.05) rotate(-6deg)}.palm-right{right:1%;transform:scaleX(-1) rotate(-5deg)}.palm i{position:absolute;bottom:0;left:67px;width:22px;height:230px;border-radius:100% 0;background:var(--green);transform:rotate(11deg)}.palm b,.palm em,.palm strong{position:absolute;top:25px;left:45px;width:110px;height:27px;border-radius:100% 0;background:var(--green);transform-origin:0 50%}.palm b{transform:rotate(-8deg)}.palm em{transform:rotate(-43deg) scale(.9)}.palm strong{transform:rotate(31deg) scale(.9)}.palm:before,.palm:after{content:"";position:absolute;top:24px;left:47px;width:100px;height:24px;border-radius:100% 0;background:#54b875;transform-origin:0 50%}.palm:before{transform:rotate(63deg) scale(.83)}.palm:after{transform:rotate(-70deg) scale(.75)}.fruit{position:absolute;z-index:3;font-size:3rem;filter:drop-shadow(3px 5px #263c4a2e);animation:float 4.5s ease-in-out infinite}.fruit-pineapple{left:17%;top:34%;transform:rotate(-15deg)}.fruit-coconut{right:18%;top:48%;animation-delay:-1.4s}.fruit-orange{left:15%;bottom:25%;font-size:2.5rem;animation-delay:-2.4s}.island{position:absolute;right:-5%;bottom:-105px;left:-5%;height:205px;border-radius:50% 50% 0 0;background:var(--blue);transform:rotate(-2deg)}.wave{position:absolute;left:0;width:100%;height:12px;border-top:3px solid #ffffff99;border-radius:50%}.wave-one{top:45px}.wave-two{top:90px;opacity:.5}.flower{position:absolute;color:#fff;font-size:2rem}.flower-one{left:28%;top:38px}.flower-two{right:28%;top:80px;color:var(--yellow)}@keyframes float{0%,100%{margin-top:0}50%{margin-top:-13px}}@keyframes bob{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg) translateY(-3px)}}@keyframes drift{0%,100%{margin-left:0}50%{margin-left:28px}}@media(max-width:700px){.topbar{padding:18px 20px}.topbar-note{display:none}.hero{padding:55px 20px 150px;min-height:auto}.palm{opacity:.55;transform:scale(.65)!important}.palm-left{left:-52px;bottom:54px}.palm-right{right:-52px;bottom:74px}.fruit-pineapple{left:5%;top:28%;font-size:2.1rem}.fruit-coconut{right:6%;top:42%;font-size:2.2rem}.fruit-orange{left:6%;bottom:22%;font-size:2rem}.check-card{padding:20px 16px;box-shadow:5px 6px 0 var(--ink)}.input-row{display:block}.input-row input{width:100%}.input-row button{width:100%;margin-top:9px;padding:13px}.sun{top:130px;width:310px;height:310px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* Emoji palm override: reliable across browsers and intentionally oversized. */
.palm{width:auto;height:auto;bottom:54px;font-size:clamp(10rem,22vw,19rem);line-height:.75;filter:drop-shadow(8px 12px 0 rgba(38,60,74,.16));transform-origin:bottom center;animation:palm-sway 6s ease-in-out infinite}
.palm-left{left:-1%;transform:rotate(-8deg)}
.palm-right{right:-1%;transform:scaleX(-1) rotate(-8deg);animation-delay:-2.4s}
.palm i,.palm b,.palm em,.palm strong{display:none}
.fruit{font-size:clamp(3.5rem,7vw,6rem)}
.fruit-pineapple{left:14%;top:31%}.fruit-coconut{right:14%;top:46%}.fruit-orange{left:13%;font-size:clamp(3rem,6vw,5rem)}
@keyframes palm-sway{0%,100%{margin-bottom:0}50%{margin-bottom:7px}}
@media(max-width:700px){.palm{bottom:42px;font-size:clamp(8rem,36vw,13rem);opacity:.9}.palm-left{left:-35px}.palm-right{right:-35px}.fruit-pineapple{left:3%;top:27%;font-size:3rem}.fruit-coconut{right:4%;top:42%;font-size:3rem}.fruit-orange{left:5%;bottom:21%;font-size:3rem}}
/* Final composition: one still palm, visible water and varied fruit scale. */
.page-shell{min-height:100svh}
.hero{min-height:calc(100svh - 70px);padding-bottom:230px}
.palm-left{left:4%;bottom:64px;z-index:3;animation:none;transform:rotate(-8deg)}
.palm-right{display:none}
.island{bottom:-58px;height:190px;z-index:2}
.fruit-pineapple{font-size:clamp(4.5rem,8vw,7rem)}
.fruit-coconut{font-size:clamp(3rem,5vw,4.5rem)}
.fruit-orange{font-size:clamp(2rem,4vw,3.5rem)}
@media(max-width:700px){.hero{min-height:calc(100svh - 58px);padding-bottom:210px}.palm-left{left:-20px;bottom:58px;font-size:clamp(9rem,38vw,14rem);opacity:1}.island{bottom:-48px;height:155px}.fruit-pineapple{left:3%;top:27%;font-size:4rem}.fruit-coconut{right:4%;top:42%;font-size:2.8rem}.fruit-orange{left:5%;bottom:21%;font-size:2.2rem}}
@media(max-width:700px){.hero h1{font-size:clamp(4.2rem,17vw,6.5rem);line-height:.84}}
.fruit-orange{left:auto;right:9%;bottom:31%;font-size:clamp(4rem,8vw,6.5rem)}
@media(max-width:700px){.fruit-orange{left:auto;right:8%;bottom:25%;font-size:3.4rem}}
.moon{position:absolute;z-index:1;top:13%;right:23%;font-size:clamp(3rem,6vw,5rem);filter:drop-shadow(3px 5px 0 rgba(38,60,74,.14));transform:rotate(-14deg);animation:moon-bob 5s ease-in-out infinite}
.cloud{z-index:1;width:auto;height:auto;border-radius:0;background:none;font-size:clamp(2.8rem,5vw,4.5rem);line-height:1;filter:drop-shadow(3px 5px 0 rgba(38,60,74,.1));animation:drift 13s ease-in-out infinite}
.cloud:before,.cloud:after{display:none}
.cloud-one{top:22%;left:7%}.cloud-two{top:30%;right:6%;animation-delay:-4s;animation-direction:reverse}
@keyframes moon-bob{0%,100%{margin-top:0}50%{margin-top:-8px}}
@media(max-width:700px){.moon{top:15%;right:13%;font-size:3.3rem}.cloud-one{top:22%;left:3%;font-size:2.8rem}.cloud-two{top:29%;right:2%;font-size:2.7rem}}
h1 span{color:var(--coral)}
h1 span{text-shadow:5px 5px 0 #fff}
.checking-page,.result-page{min-height:100svh}.checking-content,.result-content{position:relative;z-index:4;width:min(100% - 40px,650px);margin:0 auto;padding:4vh 0 190px;text-align:center}.checking-content h1{margin-top:18px}.checking-content h1 span{color:var(--coral)}.checking-illustration{position:relative;width:180px;height:125px;margin:0 auto 5px}.spinner-ring{position:absolute;inset:12px 20px;border:5px dashed var(--coral);border-radius:50%;animation:spin 8s linear infinite}.spinner-fruit{position:absolute;top:23px;left:54px;font-size:4rem;animation:float 3s ease-in-out infinite}.spinner-palm{position:absolute;right:5px;bottom:2px;font-size:4.2rem;transform:rotate(-12deg)}.status-card{margin:26px auto 0;padding:10px 20px;border:3px solid var(--ink);border-radius:24px;background:var(--cream);box-shadow:7px 8px 0 var(--ink);text-align:left}.status-line{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px dashed #b5c3bc;color:#9ba7a2;font-size:.8rem;opacity:.4;transition:opacity .4s,color .4s}.status-line:last-child{border-bottom:0}.status-line span{font:700 .75rem var(--round)}.status-line b{flex:1;font-weight:600}.status-line i{font-style:normal;color:var(--turquoise);opacity:0}.status-line.active,.status-line.complete{opacity:1;color:var(--ink)}.status-line.active i{opacity:1;animation:pulse .9s infinite}.status-line.complete i{opacity:1}.checking-foot{color:#6b7b78;font-size:.75rem}.result-content{padding-top:7vh}.result-kicker{max-width:390px;margin:24px auto 8px;color:#365462;font-size:.9rem;line-height:1.5}.result-content h1{margin:0;font-size:clamp(4rem,9vw,7rem)}.result-content h1 span{color:var(--coral)}.result-note{max-width:475px;margin:22px auto 30px;color:#365462;line-height:1.6}.prize-card{position:relative;margin:auto;padding:25px 25px 23px;border:3px solid var(--ink);border-radius:25px;background:var(--cream);box-shadow:8px 9px 0 var(--ink)}.prize-icon{font-size:3rem}.prize-label{margin:4px 0 4px;color:var(--coral);font-size:.7rem;font-weight:800;letter-spacing:.12em}.prize-card h2{margin:0;font:800 clamp(2rem,5vw,3rem)/.95 var(--round);letter-spacing:-.04em}.prize-card h2 em{color:var(--turquoise);font-style:normal}.prize-details{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px}.prize-details span{padding:7px 10px;border-radius:99px;background:#e8f4e9;color:#365462;font-size:.7rem;font-weight:600}.personal-note{margin:31px auto 24px;color:#365462;font-size:.85rem;line-height:1.35}.personal-note p{margin:4px}.personal-note strong{color:var(--coral)}.accept-button{padding:15px 23px;border:3px solid var(--ink);border-radius:14px;background:var(--coral);color:#fff;cursor:pointer;font:800 1.05rem var(--round);box-shadow:5px 6px 0 var(--ink);transition:transform .2s,box-shadow .2s}.accept-button:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:7px 9px 0 var(--ink)}.accept-button span{margin-left:10px}.accept-button.accepted{background:var(--turquoise)}.accepted-message{display:none;margin:20px 0 0;color:var(--coral);font:800 1.7rem var(--round);text-shadow:2px 2px #fff}.accepted-message.show{display:block;animation:pop .6s ease-out}.confetti{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-20px;width:12px;height:22px;background:var(--coral);animation:confetti-fall 6s linear infinite}.confetti i:nth-child(2n){background:var(--turquoise);width:9px;height:16px;animation-delay:-2s}.confetti i:nth-child(3n){background:#fff;width:15px;height:9px;animation-delay:-4s}.confetti i:nth-child(1){left:8%;transform:rotate(24deg)}.confetti i:nth-child(2){left:20%;animation-delay:-1s}.confetti i:nth-child(3){left:36%;animation-delay:-3s}.confetti i:nth-child(4){left:53%;animation-delay:-4.5s}.confetti i:nth-child(5){left:68%;animation-delay:-2.6s}.confetti i:nth-child(6){left:79%;animation-delay:-.7s}.confetti i:nth-child(7){left:91%;animation-delay:-3.4s}.confetti i:nth-child(8){left:28%;animation-delay:-5s}.confetti i:nth-child(9){left:61%;animation-delay:-1.8s}.confetti i:nth-child(10){left:96%;animation-delay:-4s}
.travel-info{max-width:430px;margin:18px auto 0;color:#6b7b78;font-size:.75rem;line-height:1.5}
.result-content .accept-button{display:inline-block;margin-top:30px}
@media(max-width:700px){.result-content .accept-button{margin-top:22px}}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.25)}}@keyframes pop{0%{transform:scale(.7);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes confetti-fall{0%{top:-30px;opacity:0}10%{opacity:1}100%{top:110%;transform:translateX(35px) rotate(480deg);opacity:.15}}
@media(max-width:700px){.checking-content,.result-content{padding-top:3vh;padding-bottom:155px}.checking-content h1,.result-content h1{font-size:clamp(3.7rem,16vw,5.8rem)}.status-card{padding:8px 14px}.status-line{gap:8px;font-size:.72rem}.prize-card{padding:20px 14px}.prize-details{gap:5px}.prize-details span{font-size:.65rem}.personal-note{font-size:.8rem}}
.result-content{max-width:620px}
@media(max-width:700px){.result-content{padding-top:2vh;padding-bottom:125px}.result-content h1{font-size:clamp(3rem,13vw,5rem);line-height:.88}.result-kicker{margin:12px auto 5px;font-size:.78rem}.result-note{margin:12px auto 17px;font-size:.8rem;line-height:1.4}.prize-card{padding:14px 12px 15px}.prize-icon{font-size:2.2rem}.prize-label{font-size:.62rem}.prize-card h2{font-size:1.75rem}.prize-details{margin-top:11px}.travel-info{margin-top:11px;font-size:.68rem}.personal-note{margin:18px auto 14px;font-size:.74rem;line-height:1.25}.accept-button{padding:12px 18px;font-size:.92rem}.accepted-message{margin-top:14px;font-size:1.3rem}}
.final-page{min-height:100svh;background:linear-gradient(180deg,var(--turquoise) 0%,#51cfc2 45%,#70d9e7 100%)}.final-content{position:relative;z-index:4;width:min(100% - 40px,620px);margin:0 auto;padding:7vh 0 190px;text-align:center}.final-emoji{margin-bottom:7px;font-size:clamp(2.3rem,6vw,4rem);letter-spacing:.08em;animation:pop .8s ease-out}.final-content h1{margin:18px 0 14px;color:var(--ink);font-size:clamp(4rem,9vw,7rem)}.final-content h1 span{color:var(--coral);text-shadow:5px 5px 0 #fff}.final-lede{max-width:440px;margin:0 auto 28px;color:#365462;line-height:1.55}.details-card{padding:23px 25px;border:3px solid var(--ink);border-radius:25px;background:var(--cream);box-shadow:8px 9px 0 var(--ink);text-align:left}.details-label{margin:0 0 7px;color:var(--coral);font-size:.7rem;font-weight:800;letter-spacing:.12em}.details-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px dashed #b5c3bc}.details-row:last-child{border-bottom:0;padding-bottom:0}.details-row span{font-size:1.3rem}.details-row p{margin:2px 0 0;color:#365462;font-size:.83rem;line-height:1.4}.final-signoff{margin:28px 0 0;color:var(--coral);font:700 1.35rem var(--round)}.confetti-final i{animation-duration:3.8s;animation-iteration-count:infinite}.confetti-final i:nth-child(2n){animation-delay:-1.2s}.confetti-final i:nth-child(3n){animation-delay:-2.3s}
@media(max-width:700px){.final-content{padding-top:4vh;padding-bottom:150px}.final-emoji{font-size:2.3rem}.final-content h1{font-size:clamp(3.5rem,15vw,5.5rem)}.final-lede{font-size:.85rem;margin-bottom:19px}.details-card{padding:18px 15px}.details-row{padding:10px 0}.details-row p{font-size:.75rem}.final-signoff{margin-top:20px;font-size:1.15rem}}
