@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:1.5rem;position:relative;overflow:hidden}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;overflow:hidden}.confetti-particle{position:absolute;border-radius:2px;animation:confettiFall 1.4s cubic-bezier(.25,.46,.45,.94) forwards;opacity:0}.confetti-circle{border-radius:50%}.confetti-heart:before{content:"♥";font-size:inherit;line-height:1}@keyframes confettiFall{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(var(--vx),calc(var(--vy) + 200px)) rotate(var(--rot)) scale(.3)}}.bg-decoration{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.bg-heart{position:absolute;font-size:8rem;color:var(--rose-200);opacity:.25;animation:float 20s ease-in-out infinite}.bg-heart-1{top:8%;left:3%;animation-delay:0s}.bg-heart-2{top:55%;right:5%;font-size:6rem;animation-delay:-7s}.bg-heart-3{bottom:12%;left:12%;font-size:4rem;animation-delay:-14s}.bg-heart-4{top:30%;right:15%;font-size:3rem;opacity:.15;animation-delay:-3s}.bg-heart-5{bottom:35%;left:60%;font-size:5rem;opacity:.12;animation-delay:-10s}@keyframes float{0%,to{transform:translateY(0) rotate(-5deg)}33%{transform:translateY(-15px) rotate(3deg)}66%{transform:translateY(-8px) rotate(-3deg)}}.falling-hearts{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.falling-heart{position:absolute;top:-5%;color:var(--rose-300);animation:heartFall linear infinite;will-change:transform}@keyframes heartFall{0%{transform:translateY(-10vh) rotate(0);opacity:0}10%{opacity:var(--opacity, .15)}90%{opacity:var(--opacity, .15)}to{transform:translateY(110vh) rotate(360deg);opacity:0}}.qr-badge{position:fixed;top:1.5rem;right:1.5rem;z-index:100;display:none}@media (min-width: 769px){.qr-badge{display:block;animation:qrFadeIn .6s ease .5s both}}@keyframes qrFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.qr-inner{background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;padding:.75rem;box-shadow:0 8px 32px #0000001a,0 0 0 1px #f43f5e1a;border:2px solid var(--rose-200);display:flex;flex-direction:column;align-items:center;gap:.4rem;transition:transform .2s ease,box-shadow .2s ease}.qr-inner:hover{transform:scale(1.05);box-shadow:0 12px 40px #00000026,0 0 0 1px #f43f5e33}.qr-inner svg{display:block}.qr-label{font-size:.7rem;font-weight:600;color:var(--rose-600);text-transform:uppercase;letter-spacing:.1em}.header{text-align:center;margin-bottom:.25rem;position:relative;z-index:1;animation:slideDown .5s ease both}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.title{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,3.5rem);font-weight:700;color:var(--gray-900);letter-spacing:-.02em;line-height:1.1}.subtitle{font-size:clamp(.75rem,1.5vw,1rem);font-weight:500;color:var(--rose-500);text-transform:uppercase;letter-spacing:.2em;margin-top:.25rem}.streak-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fed7aa;border-radius:100px;margin-bottom:.25rem;position:relative;z-index:1;animation:streakPop .4s cubic-bezier(.34,1.56,.64,1)}.streak-fire{font-size:1.1rem;line-height:1;animation:fireWiggle .6s ease-in-out infinite alternate}@keyframes fireWiggle{0%{transform:rotate(-5deg) scale(1)}to{transform:rotate(5deg) scale(1.1)}}.streak-count{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:#c2410c;line-height:1}@keyframes streakPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.instruction{font-size:clamp(1rem,2vw,1.25rem);font-weight:500;color:var(--gray-600);margin-bottom:.75rem;min-height:2rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.result-text{font-family:var(--font-display);font-weight:700;font-size:clamp(1.25rem,3vw,1.75rem);padding:.5rem 1.5rem;border-radius:.75rem;animation:resultPop .4s cubic-bezier(.34,1.56,.64,1)}.result-text.correct{background:var(--success-bg);color:#166534}.result-text.wrong{background:var(--error-bg);color:#991b1b}@keyframes resultPop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.game-area{display:flex;align-items:stretch;justify-content:center;gap:clamp(.75rem,2vw,1.5rem);width:100%;max-width:900px;flex:1;position:relative;z-index:1;transition:opacity .4s ease,transform .4s ease}.game-area.transitioning{opacity:0;transform:scale(.95)}.card-enter{animation:cardSlideIn .5s cubic-bezier(.22,1,.36,1) both}.card-enter-delay{animation-delay:.1s}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.card{flex:1;max-width:400px;background:var(--white);border-radius:1.5rem;overflow:hidden;box-shadow:var(--shadow-card);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);border:3px solid var(--gray-200)}.card.clickable{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.card.clickable:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-2xl);border-color:var(--rose-300)}.card.clickable:active{transform:translateY(-2px) scale(1.005);transition-duration:.1s}.card.selected{border-color:var(--rose-500);box-shadow:var(--shadow-rose)}.card.is-correct{border-color:var(--success);box-shadow:0 8px 32px #22c55e4d;animation:correctPulse .5s ease}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.card.is-wrong{border-color:var(--error);box-shadow:0 8px 32px #ef44444d;animation:wrongShake .4s ease}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.card.revealed{cursor:default}.card-image-container{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:linear-gradient(135deg,var(--rose-50) 0%,var(--gray-100) 100%)}.image-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,var(--gray-100) 25%,var(--rose-50) 37%,var(--gray-100) 63%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s cubic-bezier(.4,0,.2,1),filter .4s ease,opacity .3s ease;filter:saturate(1.05) contrast(1.02)}.card-image.loading{opacity:0}.card-image.loaded{opacity:1}.card.clickable:hover .card-image{transform:scale(1.08);filter:saturate(1.15) contrast(1.05) brightness(1.02)}.card-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.35) 0%,rgba(0,0,0,.08) 35%,transparent 65%);pointer-events:none;transition:opacity .3s ease}.card.clickable:hover .card-image-overlay{opacity:.8}.card-content{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.card-title{font-family:var(--font-display);font-size:clamp(.85rem,1.8vw,1.15rem);font-weight:700;color:var(--gray-900);text-align:center;line-height:1.25;min-height:2.5em;display:flex;align-items:center}.price-tag{font-family:var(--font-body);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;padding:.4rem 1.25rem;border-radius:100px;transition:all .4s cubic-bezier(.34,1.56,.64,1);background:var(--gradient-rose);color:var(--white);box-shadow:var(--shadow-rose)}.price-tag.mystery{background:var(--gray-100);color:var(--gray-400);box-shadow:none;font-size:clamp(1.5rem,4vw,2rem)}.price-tag.revealed{animation:priceReveal .5s cubic-bezier(.34,1.56,.64,1)}@keyframes priceReveal{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.tap-hint{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);text-align:center;opacity:0;transition:opacity .3s ease}.tap-hint span{font-size:.85rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.card.clickable:hover .tap-hint{opacity:1}.result-badge{position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--white);animation:badgePop .3s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-lg)}.result-badge.correct{background:var(--success)}.result-badge.wrong{background:var(--error)}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.divider{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:0 .25rem;flex-shrink:0}.divider-line{width:2px;height:1.5rem;background:linear-gradient(to bottom,transparent,var(--rose-300),transparent);border-radius:1px}.vs-badge{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;background:var(--gradient-rose);border-radius:50%;box-shadow:0 4px 20px #f43f5e59,0 0 0 3px #fffc;animation:vsPulse 2s ease-in-out infinite}.vs-heart{font-size:.6rem;color:#ffffffb3;line-height:1;margin-bottom:-2px}.vs-text{font-family:var(--font-display);font-size:.85rem;font-weight:800;color:var(--white);letter-spacing:.05em;line-height:1}@keyframes vsPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.footer{margin-top:1rem;text-align:center;position:relative;z-index:1}.footer p{font-size:clamp(.75rem,1.5vw,.85rem);color:var(--gray-400)}.qr-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gradient-bg);padding:2rem;gap:2rem}.qr-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;animation:fadeIn .6s ease}.qr-page-title{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,3rem);font-weight:800;color:var(--gray-900);line-height:1.15}.qr-page-heart{color:var(--rose-500)}.qr-page-code-wrapper{background:var(--white);border-radius:2rem;padding:1.75rem;box-shadow:0 20px 60px #0000001a,0 0 0 1px #f43f5e14;border:3px solid var(--rose-200)}.qr-page-code{display:flex}.qr-page-code svg{display:block}.qr-page-steps-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.qr-step-compact{display:flex;align-items:center;gap:.5rem;background:var(--white);border-radius:100px;padding:.6rem 1.25rem;box-shadow:0 2px 12px #0000000f;border:2px solid var(--rose-100)}.qr-step-compact-icon{font-size:1.25rem;line-height:1}.qr-step-compact-text{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--gray-900);white-space:nowrap}.lb-section{width:100%;max-width:600px;animation:fadeIn .6s ease .2s both}.lb-card-wide{background:var(--white);border-radius:1.5rem;padding:1.25rem 1.5rem;box-shadow:0 4px 20px #0000000f;border:2px solid var(--rose-100)}.lb-delete{background:none;border:none;color:var(--gray-400);font-size:.85rem;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:color .15s ease,background .15s ease;flex-shrink:0;opacity:.4}.lb-delete:hover{color:var(--error);background:var(--error-bg);opacity:1}@media (max-width: 768px){.qr-page{padding:2rem 1.25rem 1.25rem;gap:1.5rem;justify-content:flex-start}.qr-page-code svg{width:200px!important;height:200px!important}.qr-page-code-wrapper{padding:1.25rem;border-radius:1.5rem}.qr-page-steps-row{gap:.5rem}.qr-step-compact{padding:.4rem .75rem}.qr-step-compact-icon{font-size:1rem}.qr-step-compact-text{font-size:.75rem}.lb-section{max-width:100%}}@media (min-width: 1280px){.qr-page{padding:3rem;gap:2rem}.qr-page-code svg{width:320px!important;height:320px!important}.qr-page-code-wrapper{padding:2rem;border-radius:2rem}.qr-step-compact{padding:.75rem 1.5rem}.qr-step-compact-icon{font-size:1.5rem}.qr-step-compact-text{font-size:1.1rem}.lb-section{max-width:700px}.lb-card-wide{padding:1.5rem 2rem}}@media (min-width: 1920px){.qr-page{gap:2.5rem}.qr-page-title{font-size:3.5rem}.qr-page-code svg{width:420px!important;height:420px!important}.qr-page-code-wrapper{padding:2.5rem}.qr-step-compact{padding:1rem 2rem}.qr-step-compact-icon{font-size:2rem}.qr-step-compact-text{font-size:1.4rem}.lb-section{max-width:900px}.lb-card-wide{padding:2rem 2.5rem}.lb-title{font-size:2rem}.lb-name,.lb-streak{font-size:1.35rem}.lb-rank{font-size:1.35rem;min-width:2.5rem}.lb-row{padding:.75rem 0}}.lb-card{background:var(--white);border-radius:1.5rem;padding:1.25rem 1.5rem;box-shadow:0 4px 20px #0000000f;border:2px solid var(--rose-100)}.lb-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.lb-trophy{font-size:1.5rem;line-height:1}.lb-title{font-family:var(--font-display);font-size:1.35rem;font-weight:800;color:var(--gray-900)}.lb-flex{font-size:.7rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;margin-left:auto;background:var(--gray-100);padding:.2rem .6rem;border-radius:100px}.lb-empty{font-size:.9rem;color:var(--gray-400);text-align:center;padding:1.5rem 0}.lb-list{display:flex;flex-direction:column}.lb-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--gray-100)}.lb-row:last-child{border-bottom:none}.lb-rank{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--gray-400);min-width:2rem;text-align:center;flex-shrink:0}.lb-top-1 .lb-rank{color:#d97706}.lb-top-2 .lb-rank{color:#6b7280}.lb-top-3 .lb-rank{color:#b45309}.lb-top-1{background:linear-gradient(90deg,rgba(251,191,36,.08),transparent);border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.lb-top-2{background:linear-gradient(90deg,rgba(156,163,175,.08),transparent);border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.lb-top-3{background:linear-gradient(90deg,rgba(180,83,9,.06),transparent);border-radius:.5rem;padding-left:.5rem;padding-right:.5rem}.lb-name{font-weight:600;font-size:1rem;color:var(--gray-900);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-streak{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--rose-600);display:flex;align-items:center;gap:.25rem;flex-shrink:0}.lb-streak-fire{font-size:.85em}.name-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:1rem}.name-modal{background:var(--white);border-radius:2rem;padding:2rem;max-width:380px;width:100%;text-align:center;box-shadow:0 25px 80px #0000004d;border:3px solid var(--rose-200);animation:modalSlideUp .4s cubic-bezier(.34,1.56,.64,1)}.name-streak-display{display:flex;align-items:baseline;justify-content:center;gap:.35rem;margin-bottom:.5rem}.name-streak-fire{font-size:2rem;line-height:1}.name-streak-num{font-family:var(--font-display);font-size:3rem;font-weight:800;color:var(--rose-600);line-height:1}.name-streak-label{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--gray-400)}.name-title{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--gray-900);margin-bottom:.25rem}.name-desc{font-size:.85rem;color:var(--gray-400);margin-bottom:1.25rem}.name-form{display:flex;gap:.5rem;margin-bottom:.75rem}.name-input{flex:1;padding:.75rem 1rem;border-radius:.75rem;border:2px solid var(--gray-200);font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--gray-900);outline:none;transition:border-color .2s ease;background:var(--gray-50)}.name-input:focus{border-color:var(--rose-400);background:var(--white)}.name-input::placeholder{color:var(--gray-400)}.name-submit-btn{background:var(--gradient-rose);color:var(--white);border:none;padding:.75rem 1.5rem;border-radius:.75rem;font-family:var(--font-display);font-size:1rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-rose);transition:transform .2s ease,opacity .2s ease;flex-shrink:0}.name-submit-btn:hover:not(:disabled){transform:scale(1.05)}.name-submit-btn:disabled{opacity:.5;cursor:not-allowed}.name-skip-btn{background:none;border:none;color:var(--gray-400);font-size:.85rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;transition:color .2s ease}.name-skip-btn:hover{color:var(--gray-600)}.wheel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.wheel-modal{background:var(--white);border-radius:2rem;padding:2rem;max-width:420px;width:100%;text-align:center;box-shadow:0 25px 80px #0000004d;border:3px solid var(--rose-200);animation:modalSlideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.wheel-title{font-family:var(--font-display);font-size:1.75rem;font-weight:800;color:var(--rose-600);margin-bottom:.25rem}.wheel-note{font-size:.8rem;font-weight:500;color:var(--gray-400);margin-bottom:.25rem}.wheel-wrapper{position:relative;width:280px;height:280px;margin:.75rem auto}.wheel-pointer{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:1.75rem;color:var(--gray-900);z-index:10;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));line-height:1}.wheel-svg{display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 5px var(--gray-900),0 0 0 9px var(--rose-300),0 8px 28px #00000038;transform-origin:center center}.wheel-svg-label{font-family:var(--font-body);font-size:11px;font-weight:700;fill:#fff;text-transform:uppercase;letter-spacing:.04em;paint-order:stroke;stroke:#0000004d;stroke-width:3px;stroke-linejoin:round}.wheel-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.25rem}.wheel-spin-btn,.wheel-continue-btn{background:var(--gradient-rose);color:var(--white);border:none;padding:.875rem 2.5rem;border-radius:100px;font-family:var(--font-display);font-size:1.25rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-rose);transition:transform .2s ease,box-shadow .2s ease;text-transform:uppercase;letter-spacing:.05em}.wheel-spin-btn:hover:not(:disabled),.wheel-continue-btn:hover{transform:scale(1.05);box-shadow:0 12px 32px #f43f5e66}.wheel-spin-btn:active:not(:disabled),.wheel-continue-btn:active{transform:scale(.98)}.wheel-spin-btn:disabled{opacity:.7;cursor:not-allowed}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:100vh;font-size:1.25rem;color:var(--rose-500)}.loading-heart{font-size:4rem;animation:heartbeat 1s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width: 640px){.app{padding:.75rem .5rem;padding-top:env(safe-area-inset-top,.75rem);padding-bottom:env(safe-area-inset-bottom,.75rem)}.header{margin-bottom:.15rem}.title{font-size:1.5rem}.subtitle{font-size:.65rem;letter-spacing:.15em}.instruction{margin-bottom:.5rem;font-size:.9rem;min-height:1.75rem}.result-text{font-size:1.1rem;padding:.35rem 1rem}.game-area{flex-direction:column;gap:.35rem;max-width:100%}.card{max-width:100%;width:100%;border-radius:1rem;border-width:2px}.card-image-container{aspect-ratio:16/9}.card-content{padding:.5rem .75rem .65rem;gap:.35rem}.card-title{min-height:auto;font-size:.8rem}.price-tag{font-size:1.1rem;padding:.3rem 1rem}.price-tag.mystery{font-size:1.3rem}.divider{flex-direction:row;padding:.15rem 0;gap:.5rem}.divider-line{width:1.5rem;height:2px;background:linear-gradient(to right,transparent,var(--rose-300),transparent)}.vs-badge{width:2.25rem;height:2.25rem}.vs-text{font-size:.65rem}.vs-heart{font-size:.4rem}.tap-hint.visible-on-mobile{opacity:.7;padding:.4rem}.tap-hint span{font-size:.7rem}.card.clickable:active{transform:scale(.97);transition-duration:.08s}.bg-heart{font-size:4rem;opacity:.1}.bg-heart-1{font-size:4rem}.bg-heart-2{font-size:2.5rem}.bg-heart-3{font-size:2rem}.bg-heart-4,.bg-heart-5,.falling-hearts{display:none}.result-badge{width:2rem;height:2rem;font-size:1rem;top:.5rem;right:.5rem}.footer{margin-top:.5rem}.footer p{font-size:.7rem}.wheel-modal{padding:1.25rem 1rem;border-radius:1.25rem;max-width:340px}.wheel-wrapper{width:220px;height:220px;margin:.5rem auto}.wheel-title{font-size:1.25rem}.wheel-note{font-size:.7rem}.wheel-svg-label{font-size:8.5px}.wheel-spin-btn,.wheel-continue-btn{padding:.7rem 2rem;font-size:1.1rem}.wheel-actions{margin-top:.75rem}.streak-badge{padding:.15rem .5rem;margin-bottom:.15rem}.streak-fire,.streak-count{font-size:.85rem}.name-modal{padding:1.5rem 1.25rem;border-radius:1.25rem;max-width:340px}.name-streak-fire{font-size:1.5rem}.name-streak-num{font-size:2.25rem}.name-streak-label{font-size:1rem}.name-title{font-size:1.25rem}.name-desc{font-size:.8rem;margin-bottom:1rem}.name-form{flex-direction:column;gap:.5rem}.name-input{padding:.75rem 1rem;font-size:16px;border-radius:.75rem}.name-submit-btn{padding:.75rem;width:100%;border-radius:.75rem}.name-skip-btn{font-size:.8rem;padding:.5rem}}@media (max-width: 375px){.app{padding:.5rem .35rem}.title{font-size:1.3rem}.card-image-container{aspect-ratio:16/8}.card-content{padding:.4rem .6rem .5rem;gap:.25rem}.card-title{font-size:.72rem}.price-tag{font-size:1rem;padding:.25rem .8rem}.vs-badge{width:2rem;height:2rem}.vs-text{font-size:.6rem}.vs-heart{display:none}.wheel-wrapper{width:190px;height:190px}.name-modal{max-width:300px}}@media (min-width: 641px) and (max-width: 1024px){.card{max-width:340px}.card-image-container{aspect-ratio:1}.card-content{padding:1rem 1.25rem 1.25rem}}@media (min-width: 1280px){.app{padding:2rem}.game-area{gap:2rem;max-width:1000px}.card{border-radius:2rem;max-width:450px}.card-content{padding:1.25rem 1.5rem 1.5rem}.qr-badge{top:2rem;right:2rem}.qr-inner{padding:1rem}.qr-inner svg{width:120px!important;height:120px!important}.qr-label{font-size:.8rem}.vs-badge{width:3.5rem;height:3.5rem}.vs-text{font-size:1rem}}@media (min-width: 2560px){.app{padding:4rem}.game-area{max-width:1400px;gap:3rem}.card{max-width:550px;border-radius:2.5rem}.result-badge{width:4rem;height:4rem;font-size:2rem}.qr-inner svg{width:160px!important;height:160px!important}}@media (min-width: 3840px){.game-area{max-width:2000px}.card{max-width:700px}}@media (max-height: 500px) and (orientation: landscape){.app{padding:.5rem 1rem}.header{margin-bottom:.125rem}.title{font-size:1.25rem}.subtitle{font-size:.65rem;margin-top:0}.streak-badge{margin-bottom:.125rem;padding:.15rem .5rem}.streak-fire,.streak-count{font-size:.8rem}.instruction{margin-bottom:.5rem;font-size:.85rem;min-height:1.5rem}.result-text{font-size:1rem;padding:.25rem .75rem}.game-area{flex-direction:row;gap:.75rem}.card{max-width:260px;border-radius:1rem}.card-image-container{aspect-ratio:4/3}.card-content{padding:.5rem .6rem .6rem;gap:.35rem}.card-title{font-size:.85rem;min-height:auto}.price-tag{font-size:.9rem;padding:.2rem .6rem}.price-tag.mystery{font-size:1rem}.divider-line{height:1rem}.vs-badge{width:2.25rem;height:2.25rem}.vs-text{font-size:.65rem}.vs-heart,.footer,.bg-decoration,.falling-hearts{display:none}.result-badge{width:1.75rem;height:1.75rem;font-size:.9rem;top:.4rem;right:.4rem}.tap-hint{padding:.4rem}.tap-hint span{font-size:.65rem}}@media (min-width: 1920px) and (min-height: 900px){.app{padding:5vh 5vw}}@media (prefers-reduced-motion: reduce){.bg-heart,.loading-heart,.card-image,.card,.game-area,.price-tag,.result-badge,.result-text,.card-image-overlay,.tap-hint,.wheel-svg,.wheel-overlay,.wheel-modal,.confetti-particle,.falling-heart,.card-enter,.vs-badge,.streak-fire,.streak-badge{animation:none!important;transition:none!important}.card.clickable:hover .card-image,.card.clickable:hover{transform:none}}.card:focus-visible{outline:3px solid var(--rose-400);outline-offset:3px}.wheel-spin-btn:focus-visible,.wheel-continue-btn:focus-visible{outline:3px solid var(--rose-400);outline-offset:3px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none}:root{--rose-50: #fff1f2;--rose-100: #ffe4e6;--rose-200: #fecdd3;--rose-300: #fda4af;--rose-400: #fb7185;--rose-500: #f43f5e;--rose-600: #e11d48;--rose-700: #be123c;--rose-800: #9f1239;--rose-900: #881337;--gold: #d4af37;--gold-light: #f5e6c8;--white: #ffffff;--gray-50: #fafafa;--gray-100: #f4f4f5;--gray-200: #e4e4e7;--gray-400: #a1a1aa;--gray-600: #52525b;--gray-800: #27272a;--gray-900: #18181b;--success: #22c55e;--success-bg: #dcfce7;--error: #ef4444;--error-bg: #fee2e2;--gradient-rose: linear-gradient(135deg, var(--rose-500) 0%, var(--rose-700) 100%);--gradient-gold: linear-gradient(135deg, #f5e6c8 0%, #d4af37 50%, #b8962e 100%);--gradient-dark: linear-gradient(135deg, var(--gray-800) 0%, var(--gray-900) 100%);--gradient-bg: linear-gradient(180deg, var(--rose-50) 0%, var(--white) 50%, var(--rose-100) 100%);--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl: 0 25px 50px -12px rgba(0,0,0,.25);--shadow-rose: 0 20px 40px -10px rgba(244, 63, 94, .3);--shadow-card: 0 4px 40px rgba(0,0,0,.08);--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--gray-800);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100%;min-height:100dvh;background:var(--gradient-bg);background-attachment:fixed;-webkit-overflow-scrolling:touch}#root{min-height:100vh;min-height:100dvh}@media (min-width: 1920px){:root{font-size:18px}}@media (min-width: 2560px){:root{font-size:22px}}@media (min-width: 3840px){:root{font-size:28px}}@media (max-width: 480px){:root{font-size:15px}}
