@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scannerSweep{0%{top:10%;opacity:0}5%{opacity:1}95%{opacity:1}to{top:82%;opacity:0}}@keyframes markerSweepDown{0%{top:0}24%{top:0}86%{top:calc(100% - 100px)}to{top:calc(100% - 100px)}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}.scan-overlay-guide{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:100px;animation:overlayFadeIn 1s ease-out forwards}.scan-overlay-guide.fade-out{animation:overlayFadeOut .3s ease-out forwards}.scan-overlay-receipt{position:relative;width:50px;aspect-ratio:1 / 4;display:flex;align-items:center;justify-content:center}.scan-overlay-receipt>svg{width:100%;height:100%}.scan-overlay-corners{position:absolute;inset:10% 24px 18%;pointer-events:none}.scan-overlay-corner{position:absolute;width:28px;height:28px}.scan-overlay-corner.tl{top:0;left:0}.scan-overlay-corner.tr{top:0;right:0}.scan-overlay-corner.bl{bottom:0;left:0}.scan-overlay-corner.br{bottom:0;right:0}.scan-overlay-sweep-box{position:absolute;left:-5px;right:-5px;top:0;height:100px;animation:markerSweepDown 2.1s ease-in-out infinite;pointer-events:none}.scan-overlay-sweep-marker{position:absolute;width:10px;height:10px}.scan-overlay-sweep-marker.tl{top:0;left:0}.scan-overlay-sweep-marker.tr{top:0;right:0}.scan-overlay-sweep-marker.bl{bottom:0;left:0}.scan-overlay-sweep-marker.br{bottom:0;right:0}.scan-overlay-capturing{position:absolute;inset:0;z-index:12;pointer-events:none}.scan-overlay-scanner{position:absolute;left:24px;right:24px;height:2px;background:linear-gradient(90deg,transparent 0%,#F97316 30%,#F97316 70%,transparent 100%);box-shadow:0 0 12px 3px #f9731680;z-index:15;animation:scannerSweep 1s ease-in-out forwards;pointer-events:none}.scan-overlay-dots{position:absolute;bottom:14%;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:15}.scan-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;transition:background .3s ease,box-shadow .3s ease}.scan-dot.active{background:#f97316;box-shadow:0 0 8px 2px #f9731680}.scan-overlay-btn{position:absolute;bottom:26%;left:50%;transform:translate(-50%);background:#f97316;border:none;border-radius:100px;padding:14px 40px;cursor:pointer;box-shadow:0 4px 20px #f9731680;font-family:Nunito,sans-serif;font-weight:800;color:#fff;font-size:1.1rem;white-space:nowrap;z-index:14;transition:transform .1s ease}.scan-overlay-btn:active{transform:translate(-50%) scale(.95)}.scan-overlay-processing{position:absolute;inset:0;z-index:18;background:#000000f2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.scan-overlay-processing-text{font-family:Nunito,sans-serif;font-weight:800;color:#f97316;font-size:.95rem}.scan-overlay-director-hint{font-family:Nunito,sans-serif;font-weight:600;color:#fff9;font-size:.85rem;margin-top:8px}:root{--c-cream: #FDF6EC;--c-creamy: #FAF0DC;--c-white: #FFFFFF;--c-orange: #F97316;--c-orange-light: #FFF4EC;--c-orange-mid: #FDBA74;--c-dark: #1A1A1A;--c-mid: #4A4A4A;--c-secondary: #8A8078;--c-border: #EDE3D4;--c-green: #16A34A;--c-green-light: #DCFCE7}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--c-creamy);font-family:Nunito,sans-serif;-webkit-font-smoothing:antialiased}@keyframes mascotPulse{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.1) rotate(3deg)}}@keyframes btnBounce{0%,to{transform:translateY(0)}30%{transform:translateY(-5px)}60%{transform:translateY(-2px)}}@keyframes coinFloat{0%{opacity:1;transform:translateY(0) scale(.8)}40%{opacity:1;transform:translateY(-24px) scale(1.2)}to{opacity:0;transform:translateY(-56px) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes questSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes ellipsis{0%{content:"."}25%{content:".."}50%{content:"..."}75%{content:".."}to{content:"."}}.animated-ellipsis:after{content:"...";animation:ellipsis 1.2s infinite}@keyframes tilePress{0%{transform:scale(1)}40%{transform:scale(.93)}to{transform:scale(1)}}@keyframes streakPop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}@keyframes progressFill{0%{width:0%}to{width:var(--progress-to)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes earnCoinBounce{0%{transform:scale(0) rotate(-15deg);opacity:0}60%{transform:scale(1.3) rotate(5deg);opacity:1}80%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0)}}@keyframes greetingPop{0%{opacity:0;transform:translateY(8px) scale(.95)}60%{transform:translateY(-2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes taglineFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.greeting-pop{animation:greetingPop .55s cubic-bezier(.34,1.56,.64,1) both}.tagline-fade{animation:taglineFade .3s ease-out both}.earn-coin{font-size:6rem;display:inline-block;animation:earnCoinBounce .5s cubic-bezier(.34,1.56,.64,1) forwards}.mascot{animation:mascotPulse 3s ease-in-out infinite;display:inline-block}.dot-pulse:after{content:"...";display:inline-block;width:1em;text-align:left;animation:dotPulse 1.4s steps(3,end) infinite;overflow:hidden;vertical-align:bottom}@keyframes dotPulse{0%{width:0}to{width:1em}}.bounce{animation:btnBounce 1.8s ease-in-out infinite}.coin{animation:coinFloat .9s ease-out forwards;position:absolute;pointer-events:none;font-size:1.6rem}.fade-up{animation:fadeUp .35s ease-out}.pop{animation:streakPop .4s cubic-bezier(.34,1.56,.64,1) forwards}.tile{border:2px solid var(--c-border);background:var(--c-white);border-radius:14px;padding:12px 10px;cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;font-size:.9rem;color:var(--c-dark);text-align:center;transition:border-color .15s,background .15s,color .15s,transform .1s;user-select:none}.tile:active{transform:scale(.94)}.tile.on{background:var(--c-orange);border-color:var(--c-orange);color:#fff}.pill-btn{display:block;width:100%;padding:16px;border-radius:100px;border:none;background:var(--c-orange);color:#fff;font-family:Nunito,sans-serif;font-weight:800;font-size:1.05rem;cursor:pointer;letter-spacing:.01em;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #f9731659}.pill-btn:active{transform:scale(.97);box-shadow:0 2px 8px #f9731633}.pill-btn.outline{background:transparent;color:var(--c-orange);border:2px solid var(--c-orange);box-shadow:none}.pill-btn.ghost{background:var(--c-border);color:var(--c-secondary);box-shadow:none}.card{background:var(--c-white);border-radius:20px;padding:20px;box-shadow:0 2px 12px #b48c6414,0 1px 3px #b48c641f}@keyframes emojiPop{0%{transform:scale(1)}40%{transform:scale(1.45) rotate(-8deg)}70%{transform:scale(1.3) rotate(4deg)}to{transform:scale(1.32) rotate(0)}}@keyframes choicePop{0%{transform:scale(1)}40%{transform:scale(.96)}to{transform:scale(1)}}@keyframes coinShower{0%{opacity:1;transform:translateY(-20px) rotate(0)}to{opacity:0;transform:translateY(120px) rotate(360deg)}}@keyframes celebMsg{0%{opacity:0;transform:translateY(8px) scale(.9)}40%{opacity:1;transform:translateY(-2px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}.coin-shower-wrap{position:relative;overflow:hidden}.coin-shower-particle{position:absolute;top:-20px;font-size:1.2rem;pointer-events:none;animation:coinShower 2.5s ease-in forwards}.celeb-msg{animation:celebMsg .5s cubic-bezier(.34,1.56,.64,1) both}.emoji-row button{border:none;background:none;font-size:2rem;cursor:pointer;border-radius:50%;padding:6px;transition:filter .2s,transform .2s;filter:grayscale(0%) drop-shadow(0 0 0px transparent)}.emoji-row button:hover{transform:scale(1.15)}.emoji-row button.on{animation:emojiPop .35s cubic-bezier(.34,1.56,.64,1) forwards;filter:drop-shadow(0 4px 12px rgba(249,115,22,.55))}.emoji-row button:not(.on){opacity:.45;transform:scale(.9)}.emoji-row:not(:has(.on)) button{opacity:1;transform:scale(1)}.choice-btn{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:13px 16px;border-radius:12px;border:2px solid var(--c-border);background:var(--c-white);font-family:Nunito,sans-serif;font-weight:700;font-size:.92rem;color:var(--c-dark);cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .12s}.choice-btn:active{animation:choicePop .2s ease}.choice-btn.on{border-color:var(--c-orange);background:var(--c-orange);color:#fff}.choice-btn .check{width:20px;height:20px;border-radius:50%;background:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;opacity:0;transform:scale(0);transition:opacity .15s,transform .2s cubic-bezier(.34,1.56,.64,1)}.choice-btn.on .check{opacity:1;transform:scale(1)}input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:var(--c-border);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--c-orange);cursor:pointer;box-shadow:0 2px 8px #f9731666}.progress-bar-track{height:8px;border-radius:4px;background:var(--c-border);overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--c-orange),var(--c-orange-mid));animation:progressFill 1s ease-out forwards}.section-label{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-secondary);margin-bottom:12px}.divider{height:1px;background:var(--c-border);margin:28px 0}.scroll-hide{scrollbar-width:none;-ms-overflow-style:none}.scroll-hide::-webkit-scrollbar{display:none}.app-shell{max-width:390px}@media (min-width: 600px){.app-shell{max-width:580px}}
