:root{--pink:#cf7da4;--soft:#f3d7e3;--ink:#181818;--card:#f8edf2}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Arial,Helvetica,sans-serif;background:#f6dce7;color:#222;overflow:hidden}
body{display:grid;place-items:center}.app{position:relative;width:100vw;height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#fff,#f7dbe7 70%)}
.stage{position:relative;width:min(100vw,calc(100vh * 1.77725));height:min(100vh,calc(100vw / 1.77725));overflow:hidden;background:#fff;box-shadow:0 0 40px #9f6d8160}
.slide{position:absolute;inset:0;background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease;transform:scale(1.01)}
.slide.active{opacity:1;pointer-events:auto;transform:scale(1)}
.hot{position:absolute;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hot:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px #cf7da4}
.yes1{left:39.5%;top:42.5%;width:27.5%;height:15%}.no1{left:39.5%;top:65.8%;width:27.5%;height:15%;transform-origin:center;transition:transform .18s ease,left .18s ease,top .18s ease,opacity .18s ease}
.yes2{left:31.6%;top:66.5%;width:41.3%;height:15.5%}
.input{position:absolute;border:2px solid #d89ab8;background:rgba(255,247,251,.95);color:#a85882;border-radius:8px;padding:0 18px;font-size:clamp(14px,2.1vw,32px);font-weight:600;outline:none;text-align:center;box-shadow:0 3px 10px #b5779225}
.input::placeholder{color:#c47ca1aa}.input:focus{border-color:#b65f8d;box-shadow:0 0 0 5px #e7b7cd66}
.name{left:32.5%;top:42.8%;width:41.7%;height:15.2%}.done3{left:32.5%;top:74.2%;width:41.7%;height:15.2%}
.wb4{left:31.5%;top:61.2%;width:18.8%;height:31%}.blue4{left:55.2%;top:61.2%;width:18.8%;height:31%}
.address{left:33.7%;top:40.5%;width:41.7%;height:20%}.wishlist{left:33.7%;top:69%;width:41.7%;height:18.3%}.next5{left:83.5%;top:47.5%;width:12.5%;height:17%}
.gift{left:33.4%;top:53.5%;width:42.8%;height:28%}.next6{left:83.5%;top:47.5%;width:12.5%;height:17%}
.finalBtn{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);border:0;border-radius:999px;background:linear-gradient(135deg,#f6b5d0,#cf6fa0);color:white;padding:13px 28px;font-size:clamp(16px,2vw,28px);font-weight:800;box-shadow:0 8px 24px #a65b7f55;cursor:pointer}
#status{position:absolute;left:50%;top:2%;transform:translateX(-50%);z-index:30;background:#ffffffdb;border:1px solid #e2a8c4;color:#7d3e60;padding:7px 13px;border-radius:999px;font-size:13px;opacity:0;pointer-events:none;transition:.25s}#status.show{opacity:1}
#scratch{position:absolute;inset:0;z-index:40;touch-action:none;cursor:grab}#scratchText{position:absolute;inset:0;z-index:41;display:grid;place-items:center;pointer-events:none;color:#a5507c;text-align:center;font-weight:900;font-size:clamp(28px,6vw,78px);text-shadow:0 2px #fff;letter-spacing:.02em}.scratchHint{display:block;font-size:.32em;margin-top:8px;font-weight:700}
.fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:50}.confetti{position:absolute;width:10px;height:18px;border-radius:3px;animation:fall 1.8s ease-out forwards}.balloon{position:absolute;width:38px;height:48px;border-radius:50% 50% 45% 45%;animation:rise 2.3s ease-in forwards;box-shadow:inset -7px -8px 0 #00000012}.balloon:after{content:'';position:absolute;left:50%;top:45px;width:1px;height:70px;background:#a77b8f}.heart{position:absolute;font-size:34px;animation:pop 1.4s ease-out forwards}
@keyframes fall{0%{transform:translateY(-12vh) rotate(0);opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}@keyframes rise{0%{transform:translateY(105vh);opacity:1}100%{transform:translateY(-120vh);opacity:0}}@keyframes pop{0%{transform:scale(.2);opacity:0}35%{opacity:1}100%{transform:translateY(-130px) scale(1.6) rotate(20deg);opacity:0}}
@media(max-width:700px){.input{padding:0 9px;border-width:1px}.finalBtn{bottom:2%;padding:9px 18px}}

.answersBtn{position:absolute;right:2.5%;bottom:2.5%;z-index:8;border:0;border-radius:999px;padding:10px 14px;background:#ffffffd9;color:#8e4b6c;font-weight:800;box-shadow:0 4px 14px #0002;cursor:pointer;font-size:clamp(11px,1.8vw,15px)}
