.tarot-card-wrapper{width:150px;height:220px;perspective:1000px;cursor:pointer}.tarot-card-flip{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.tarot-card-flip.revealed{transform:rotateY(180deg)}.tarot-card-front,.tarot-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 20px #667eea4d}.tarot-card-front{background:linear-gradient(145deg,#ffffff,#f0f0f0);border:2px solid #667eea;transform:rotateY(180deg);padding:10px;box-sizing:border-box}.tarot-card-back{background:linear-gradient(145deg,#667eea,#764ba2);color:#fff}.tarot-card-image{width:100%;height:160px;object-fit:contain;border-radius:8px;margin-bottom:8px}.tarot-card-title{font-weight:600;color:#764ba2;font-size:.75rem;text-align:center}.card-back-pattern{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.mystical-symbol{font-size:3rem;margin-bottom:15px;animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.click-prompt{font-weight:600;font-size:.9rem;text-align:center;color:#fff}.tarot-card-wrapper:hover .tarot-card-back{background:linear-gradient(145deg,#5a67d8,#6b46a1)}.birthday-app{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow-x:hidden}.floating-pineapples{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.floating-pineapples .pineapple{position:absolute;font-size:3rem;animation:float 6s ease-in-out infinite}.floating-pineapples .pineapple:nth-child(1){left:10%;top:20%;animation-delay:0s}.floating-pineapples .pineapple:nth-child(2){left:80%;top:40%;animation-delay:1s}.floating-pineapples .pineapple:nth-child(3){left:50%;top:60%;animation-delay:2s}.floating-pineapples .pineapple:nth-child(4){left:20%;top:80%;animation-delay:3s}.floating-pineapples .pineapple:nth-child(5){left:70%;top:15%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(5deg)}}.welcome-screen.extravagant{z-index:2;max-width:900px;margin:30px auto;background:linear-gradient(145deg,#ffffff,#f0f0f0);border-radius:30px;padding:50px;box-shadow:0 30px 90px #0006,0 0 50px #667eea4d;border:3px solid transparent;background-clip:padding-box;position:relative}.welcome-screen.extravagant:before{content:"";position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;background:linear-gradient(45deg,#667eea,#764ba2,#f093fb,#667eea);border-radius:30px;z-index:-1;animation:borderGlow 3s linear infinite;background-size:300% 300%}@keyframes borderGlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.welcome-screen,.completion-screen{max-width:600px;margin:50px auto;background:white;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000004d;position:relative;z-index:2}.birthday-header{text-align:center;margin-bottom:30px;position:relative}.extravagant-header{margin-bottom:40px}.title-glow{position:relative}.mega-title{font-size:3.5rem;background:linear-gradient(45deg,#667eea,#764ba2,#f093fb,#4facfe);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite;margin:0;text-shadow:0 0 30px rgba(102,126,234,.5);font-weight:900;letter-spacing:2px}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.subtitle-sparkle{font-size:1.5rem;color:#667eea;margin-top:15px;font-weight:600;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.birthday-header h1{font-size:2.5rem;color:#667eea;margin:0;animation:bounce 1s ease infinite}.confetti{font-size:3rem;position:absolute;top:-20px;right:20px;animation:twinkle 1.5s ease-in-out infinite}.confetti:after{content:"🍍";position:absolute;left:-60px;animation:twinkle 1.8s ease-in-out infinite}.ascii-welcome-box{display:flex;gap:30px;align-items:flex-start;margin:30px 0;background:linear-gradient(135deg,#f6f9fc 0%,#e9f0f7 100%);padding:30px;border-radius:20px;border:2px solid #667eea}.ascii-art,.emoji-art{font-family:Courier New,monospace;font-size:10px;line-height:1;color:#764ba2;animation:pulse 3s ease-in-out infinite;white-space:pre;flex-shrink:0}.emoji-art{font-size:120px;line-height:1}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.speech-bubble{background:white;padding:20px;border-radius:15px;position:relative;box-shadow:0 5px 20px #0000001a}.speech-bubble:before{content:"";position:absolute;left:-15px;top:20px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:15px solid white}.roar-text{font-size:1.3rem;font-weight:700;color:#764ba2;margin:0 0 15px;font-style:italic}.welcome-content{text-align:center}.birthday-message{font-size:1.1rem;color:#4a5568;margin-bottom:30px;line-height:1.8}.game-info-extravagant{margin:40px 0}.info-header h2{font-size:2rem;color:#667eea;margin-bottom:30px;text-transform:uppercase;letter-spacing:3px}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px}.rule-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:25px;border-radius:15px;box-shadow:0 10px 30px #667eea4d;transition:transform .3s ease,box-shadow .3s ease}.rule-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #667eea80}.rule-icon{font-size:2.5rem;margin-bottom:10px}.rule-card p{margin:0;font-weight:600;font-size:1rem}.game-info{background:#f7fafc;border-radius:10px;padding:20px;margin:20px 0;text-align:left}.game-info strong{color:#667eea;font-size:1.1rem}.game-info ul{margin-top:10px;padding-left:20px}.game-info li{margin:8px 0;color:#4a5568}.start-button,.restart-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:15px 40px;font-size:1.2rem;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:20px}.extravagant-button{position:relative;font-size:1.5rem;padding:20px 60px;font-weight:800;text-transform:uppercase;letter-spacing:2px;overflow:hidden;box-shadow:0 10px 40px #667eea80}.extravagant-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{left:-50%}to{left:150%}}.start-button:hover,.restart-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 15px 50px #667eea99}.ascii-challenge-header{display:flex;gap:20px;align-items:center;margin-bottom:20px}.ascii-art-small,.emoji-art-small{font-family:Courier New,monospace;font-size:8px;line-height:1;color:#667eea;white-space:pre;flex-shrink:0}.emoji-art-small{font-size:80px;line-height:1}.challenge-speech-bubble{flex:1}.spirit-guide-name{font-size:.9rem;color:#764ba2;font-weight:600;margin-bottom:10px;font-style:italic}.challenge-container{max-width:800px;margin:0 auto}.progress-bar{background:white;border-radius:15px;padding:15px;margin-bottom:20px;box-shadow:0 4px 15px #0003}.progress-text{text-align:center;font-weight:600;color:#667eea;margin-bottom:10px}.progress-track{background:#e2e8f0;height:10px;border-radius:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);height:100%;transition:width .5s ease;border-radius:10px}.challenge-card{background:white;border-radius:20px;padding:30px;box-shadow:0 20px 60px #0000004d}.question{font-size:1.5rem;color:#2d3748;margin-bottom:20px;line-height:1.4}.challenge-images{display:flex;gap:15px;margin:20px 0;flex-wrap:wrap;justify-content:center}.challenge-image{margin:20px 0;text-align:center;flex:1;min-width:200px;max-width:250px}.challenge-image img{max-width:100%;border-radius:10px;box-shadow:0 4px 15px #0000001a;height:200px;object-fit:cover}.context-box{background:#edf2f7;border-left:4px solid #667eea;padding:15px;margin:20px 0;border-radius:5px;color:#4a5568;font-style:italic}.hints-section{margin:30px 0}.hints-section h3{color:#667eea;margin-bottom:15px}.hint-item{margin:10px 0}.hint-button{background:#edf2f7;border:2px solid #667eea;color:#667eea;padding:10px 20px;border-radius:25px;cursor:pointer;transition:all .2s;font-weight:500}.hint-button:hover{background:#667eea;color:#fff}.hint-revealed{background:#f0fff4;border:1px solid #9ae6b4;padding:12px;border-radius:8px;color:#2d3748}.hint-number{font-weight:600;color:#667eea}.answer-section{margin-top:30px}.answer-input{width:100%;padding:15px;font-size:1.1rem;border:2px solid #e2e8f0;border-radius:10px;transition:border-color .3s;box-sizing:border-box}.answer-input:focus{outline:none;border-color:#667eea}.answer-input.correct{border-color:#48bb78;background:#f0fff4}.answer-input.shake{animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.coordinates-input{display:flex;gap:15px;margin-bottom:15px}.coordinate-field{flex:1;padding:15px;font-size:1.1rem;border:2px solid #e2e8f0;border-radius:10px;transition:border-color .3s}.coordinate-field:focus{outline:none;border-color:#667eea}.action-buttons{display:flex;gap:10px;margin-top:15px}.submit-button{flex:1;background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.submit-button:hover:not(:disabled){background:#5a67d8}.video-container{margin:20px 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000026}.coordinates-hint,.lookup-hint{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:15px;border-radius:12px;text-align:center;margin:20px 0;font-weight:500}.tarot-cards{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin:25px auto;flex-wrap:nowrap;width:100%;max-width:600px}.reveal-message{margin-top:15px;padding:15px;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1));border-left:4px solid #667eea;border-radius:8px;font-style:italic;color:#444}.submit-button:disabled{background:#cbd5e0;cursor:not-allowed}.reveal-button{background:#fc8181;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:background .2s}.reveal-button:hover{background:#f56565}.feedback{margin-top:15px;padding:15px;border-radius:8px;text-align:center;font-weight:600}.correct-feedback{background:#f0fff4;color:#38a169;border:2px solid #9ae6b4}.correct-feedback .emoji{font-size:1.5rem;margin-right:10px}.reveal-box{background:#fff5f5;border:2px solid #feb2b2;padding:20px;border-radius:10px;margin-top:15px;text-align:center}.reveal-box h4{color:#c53030;margin-bottom:10px}.revealed-answer{font-size:1.3rem;font-weight:600;color:#2d3748;margin:15px 0}.next-button{background:#667eea;color:#fff;border:none;padding:12px 30px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:15px;transition:background .2s}.next-button:hover{background:#5a67d8}.celebration{text-align:center}.completion-message{font-size:1.3rem;color:#4a5568;margin-bottom:30px}.stats{background:#f7fafc;border-radius:10px;padding:20px;margin:20px 0}.stats h3{color:#667eea;margin-bottom:15px}.stats p{color:#4a5568;margin:8px 0;font-size:1.1rem}.score-message{font-weight:700;color:#667eea;margin-top:15px}.festive-finale{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%);overflow:hidden}.festive-celebration{position:relative;z-index:2;background:rgba(255,255,255,.95);padding:60px 40px;border-radius:30px;box-shadow:0 20px 60px #0000004d;max-width:900px;width:90%}.video-finale{margin:40px 0;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0003}.finale-video{width:100%;max-width:800px;min-height:450px;display:block;border-radius:15px;border:none}.finale-message{margin-top:30px}.festive-text{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media (max-width: 768px){.birthday-app{padding:10px}.welcome-screen,.completion-screen{padding:20px}.welcome-screen.extravagant{padding:30px 20px}.mega-title{font-size:2.5rem}.subtitle-sparkle{font-size:1.2rem}.birthday-header h1{font-size:2rem}.question{font-size:1.2rem}.action-buttons{flex-direction:column}.ascii-welcome-box,.ascii-challenge-header{flex-direction:column;text-align:center}.rules-grid{grid-template-columns:1fr}.extravagant-button{font-size:1.2rem;padding:18px 40px}}
