@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}.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:.3;animation:float 20s ease-in-out infinite}.bg-heart-1{top:10%;left:5%;animation-delay:0s}.bg-heart-2{top:60%;right:8%;font-size:6rem;animation-delay:-7s}.bg-heart-3{bottom:15%;left:15%;font-size:4rem;animation-delay:-14s}@keyframes float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-20px) rotate(5deg)}}.header{text-align:center;margin-bottom:.25rem;position:relative;z-index:1}.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}.score-display{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem;position:relative;z-index:1}.score-number{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:var(--rose-600);line-height:1}.score-label{font-size:clamp(.75rem,1.5vw,1rem);font-weight:500;color:var(--gray-400);text-transform:lowercase}.instruction{font-size:clamp(1rem,2vw,1.25rem);font-weight:500;color:var(--gray-600);margin-bottom:1rem;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:.5;transform:scale(.98)}.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}.card.clickable:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-2xl);border-color:var(--rose-300)}.card.clickable:active{transform:translateY(-4px) scale(1.01)}.card.selected{border-color:var(--rose-500);box-shadow:var(--shadow-rose)}.card.is-correct{border-color:var(--success);box-shadow:0 8px 32px #22c55e40}.card.is-wrong{border-color:var(--error);box-shadow:0 8px 32px #ef444440}.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%)}.card-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s cubic-bezier(.4,0,.2,1),filter .4s ease;filter:saturate(1.05) contrast(1.02)}.card.clickable:hover .card-image{transform:scale(1.1);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,.4) 0%,rgba(0,0,0,.1) 40%,transparent 70%);pointer-events:none;transition:opacity .3s ease}.card.clickable:hover .card-image-overlay{opacity:.7}.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(1rem,2vw,1.35rem);font-weight:700;color:var(--gray-900);text-align:center;line-height:1.2}.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 .3s ease;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)}.tap-hint{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(to top,rgba(0,0,0,.7),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:var(--rose-200);border-radius:1px}.divider-text{font-family:var(--font-display);font-size:clamp(.85rem,1.5vw,1rem);font-weight:700;color:var(--rose-400);background:var(--white);padding:.4rem .6rem;border-radius:.4rem;box-shadow:var(--shadow-md)}.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)}.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:1rem .75rem}.game-area{flex-direction:column;gap:.5rem;max-width:100%}.card{max-width:100%;width:100%;border-radius:1.25rem}.card-image-container{aspect-ratio:16/10}.card-content{padding:.75rem 1rem 1rem;gap:.5rem}.divider{flex-direction:row;padding:.25rem 0;gap:.75rem}.divider-line{width:2rem;height:2px}.tap-hint{opacity:.8;padding:.5rem}.tap-hint span{font-size:.75rem}.bg-heart{font-size:4rem;opacity:.15}.bg-heart-1{font-size:5rem}.bg-heart-2{font-size:3rem}.bg-heart-3{font-size:2.5rem}.result-badge{width:2.5rem;height:2.5rem;font-size:1.25rem}}@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}}@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}}@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}.score-display{margin-bottom:.25rem}.score-number{font-size:1.5rem}.score-label{font-size:.7rem}.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}.price-tag{font-size:.9rem;padding:.2rem .6rem}.price-tag.mystery{font-size:1rem}.divider-line{height:1rem}.divider-text{font-size:.75rem;padding:.2rem .4rem}.footer,.bg-decoration{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{animation:none;transition:none}.card.clickable:hover .card-image,.card.clickable:hover{transform:none}}.card:focus-visible{outline:3px solid var(--rose-400);outline-offset:3px}*{margin:0;padding:0;box-sizing:border-box}: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}html{height:100%}body{min-height:100%;background:var(--gradient-bg);background-attachment:fixed}#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}}
