@keyframes shake-short{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-6px)}20%,40%,60%,80%{transform:translateX(6px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes glow{0%{text-shadow:0 2px 4px rgba(0,0,0,.7),0 0 12px rgba(251,191,36,.6)}to{text-shadow:0 2px 4px rgba(0,0,0,.7),0 0 20px rgba(251,191,36,.9),0 0 30px rgba(251,191,36,.6)}}@keyframes correctPulse{0%,30%,60%,to{transform:scale(1);filter:drop-shadow(0 0 8px #10b981) drop-shadow(0 0 16px #10b981)}15%,45%{transform:scale(1.2);filter:drop-shadow(0 0 25px #10b981) drop-shadow(0 0 45px #10b981) drop-shadow(0 0 65px #10b981)}75%{transform:scale(1.15);filter:drop-shadow(0 0 20px #10b981) drop-shadow(0 0 35px #10b981) drop-shadow(0 0 50px #10b981)}}@keyframes correctPulseOpacity{0%,25%,50%,75%,to{opacity:1;filter:brightness(1) drop-shadow(0 0 10px #10b981)}12%,37%{opacity:.8;filter:brightness(1.4) drop-shadow(0 0 25px #10b981) drop-shadow(0 0 50px #10b981) drop-shadow(0 0 75px #10b981)}62%{opacity:.9;filter:brightness(1.3) drop-shadow(0 0 20px #10b981) drop-shadow(0 0 40px #10b981) drop-shadow(0 0 60px #10b981)}87%{opacity:.95;filter:brightness(1.2) drop-shadow(0 0 15px #10b981) drop-shadow(0 0 30px #10b981)}}@keyframes sparkleAnimation{0%{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}to{opacity:0;transform:scale(.5) rotate(360deg)}}@keyframes correctAnswerPulse{0%,to{transform:scale(1);transform-origin:center;fill:#10b981;stroke:#059669}25%{transform:scale(1.3);transform-origin:center;fill:#10b981;stroke:#059669}50%{transform:scale(1.1);transform-origin:center;fill:#10b981;stroke:#059669}75%{transform:scale(1.2);transform-origin:center;fill:#10b981;stroke:#059669}}@keyframes hintPulse{0%,40%,80%{opacity:1;filter:drop-shadow(0 0 10px #fbbf24) drop-shadow(0 0 20px #f59e0b)}20%,60%{opacity:.9;filter:drop-shadow(0 0 25px #fbbf24) drop-shadow(0 0 40px #f59e0b) drop-shadow(0 0 60px #fbbf24)}to{opacity:.7;filter:drop-shadow(0 0 5px #fbbf24) drop-shadow(0 0 10px #f59e0b)}}@keyframes mp-live-glow{0%,to{opacity:1;box-shadow:0 0 4px 1px rgba(239,68,68,.4)}50%{opacity:.35;box-shadow:0 0 8px 3px rgba(239,68,68,.15)}}@keyframes timerBlip{0%{transform:scale(1);color:inherit}25%{transform:scale(1.4);color:#10b981;text-shadow:0 0 15px rgba(16,185,129,.8),0 0 25px rgba(16,185,129,.4)}50%{transform:scale(1.3);color:#059669;text-shadow:0 0 20px rgba(16,185,129,.9),0 0 30px rgba(16,185,129,.5)}75%{transform:scale(1.1);color:#10b981;text-shadow:0 0 10px rgba(16,185,129,.6)}to{transform:scale(1);color:inherit;text-shadow:none}}.maps-page #difficulty-screen .map-difficulty-btn--level-6.shake-short{animation:shake-short .5s ease-in-out}.maps-page #difficulty-screen .ultra-locked-popover{position:fixed;z-index:50;width:320px;pointer-events:none;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .35s ease-out,transform .35s cubic-bezier(.34,1.56,.64,1)}.maps-page #difficulty-screen .ultra-locked-popover.ultra-locked-message-visible{opacity:1;transform:translateY(0) scale(1)}.maps-page #difficulty-screen .ultra-locked-popover.ultra-locked-message-fade-out{opacity:0;transform:translateY(-4px) scale(.98)}.maps-page #difficulty-screen .ultra-locked-popover__card{position:relative;padding:1rem 1.25rem;background:linear-gradient(145deg,#fff 0,#f8f7ff 100%);border-radius:16px;box-shadow:0 20px 40px rgba(124,58,237,.2),0 8px 16px rgba(0,0,0,.08),0 0 0 1px rgba(124,58,237,.08);text-align:center}.maps-page #difficulty-screen .ultra-locked-popover__card::before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%,-50%) rotate(45deg);width:14px;height:14px;background:linear-gradient(135deg,#fff 0,#f8f7ff 100%);border-left:1px solid rgba(124,58,237,.08);border-top:1px solid rgba(124,58,237,.08);box-shadow:-2px -2px 4px rgba(0,0,0,.04)}.maps-page #difficulty-screen .ultra-locked-popover__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto .75rem;border-radius:12px;background:linear-gradient(135deg,rgba(124,58,237,.15) 0,rgba(139,92,246,.12) 100%);color:#6b7280}.maps-page #difficulty-screen .ultra-locked-popover__icon::before{content:"";display:block;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") no-repeat center;background-size:contain}.maps-page #difficulty-screen .ultra-locked-popover__text{margin:0;font-size:.9375rem;line-height:1.5;color:#4b5563;font-weight:500}.maps-page #question{display:block;width:100%;margin:0;padding:.75rem 1rem;background:#fff;text-align:center;border:0;border-bottom:1px solid #e5e7eb;border-radius:0;box-shadow:none}.maps-page .map-level-badge{font-size:1rem}.maps-page .map-game-stats-bar #correct-count,.maps-page .map-game-stats-bar #correct-count-mobile,.maps-page .map-level-badge.level-1{color:#16a34a}.map-game .faq-section .faq-content .faq-list .faq-item .faq-question:hover,.maps-page .map-level-badge.level-2{color:#2563eb}.maps-page .map-level-badge.level-3{color:#9333ea}.maps-page .map-level-badge.level-4{color:#ea580c}.maps-page .map-game-stats-bar #wrong-count,.maps-page .map-game-stats-bar #wrong-count-mobile,.maps-page .map-level-badge.level-5{color:#dc2626}.maps-page .map-level-wrap-desktop,.maps-page .map-stats-counters-desktop{display:none}@media (min-width:768px){.maps-page .map-level-wrap-desktop:not(.hidden){display:flex}}@media (min-width:768px){.maps-page .map-stats-counters-desktop{display:flex}.maps-page .map-game-stats-bar-mobile,.maps-page .map-level-mobile-row{display:none}}.maps-page #game-container{max-width:1200px;margin:0 auto;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:.5rem 1.5rem 1.5rem;position:relative;overflow:hidden}.maps-page .map-game-stats-bar{padding:.75rem 1rem}.maps-page .map-game-stats-bar .map-stats-icon{font-size:1.25rem;line-height:1;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center}.maps-page .map-game-stats-bar #skip-count,.maps-page .map-game-stats-bar #skip-count-mobile{color:#eab308}.maps-page .map-game-stats-bar-mobile{background:#e9e9f5}.maps-page .map-level-mobile-row{background:0 0}.maps-page .map-question-wrapper{background:#fff;border-radius:12px;overflow:hidden}.maps-page #map{height:520px;overflow:hidden;position:relative;background:#fff}.maps-page #map svg{cursor:grab;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.maps-page #map svg:active{cursor:grabbing}.maps-page #map svg path{-webkit-tap-highlight-color:transparent}.maps-page #map #hint-button,.maps-page #map #reset-view,.maps-page #map #zoom-in,.maps-page #map #zoom-out{color:#17175b;border:2px solid rgba(255,255,255,.4);box-shadow:0 4px 12px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.15);transition:all .2s ease}.maps-page #map #hint-button:hover,.maps-page #map #reset-view:hover,.maps-page #map #zoom-in:hover,.maps-page #map #zoom-out:hover{background:#efeeee;box-shadow:0 6px 16px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.2);transform:scale(1.05)}.maps-page #map #hint-button{border-color:#d4af37;border-width:1px}.maps-page #map .question-on-map{position:absolute;top:15px;left:50%;transform:translateX(-50%);z-index:999999;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border:2px solid rgba(102,126,234,.3);border-radius:12px;padding:12px 24px;box-shadow:0 8px 32px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.05);text-align:center;max-width:500px;width:90%;height:50px;display:flex;align-items:center;justify-content:center;visibility:visible;opacity:1;pointer-events:none}#hint-button,.maps-page #map .question-on-map .question-content{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.maps-page #map .question-on-map .question-content .question-text{font-size:1.2rem;font-weight:700;color:#fff;text-align:center;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 8px rgba(255,255,255,.3);letter-spacing:.3px;line-height:1.3}.maps-page #map .question-on-map .question-content .question-text .target-location{color:#fbbf24;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#f59e0b;text-underline-offset:3px;text-shadow:0 2px 4px rgba(0,0,0,.7),0 0 12px rgba(251,191,36,.6);display:inline}@media (max-width:768px){.maps-page #map .question-on-map{top:15px;padding:10px 20px;max-width:350px}.maps-page #map .question-on-map .question-content .question-text{font-size:1.1rem}}@media (max-width:480px){.maps-page #map .question-on-map{top:10px;padding:8px 15px;max-width:300px}.maps-page #map .question-on-map .question-content .question-text{font-size:1rem}}#hint-button{position:absolute;top:1rem;left:1rem;z-index:10;background-color:#fff;color:#000;border-radius:9999px;box-shadow:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -2px rgba(0,0,0,.2);transition:all .2s ease;padding:.5rem 1rem;font-weight:600;border:2px solid #fff;cursor:pointer;font-size:.875rem}#hint-button:hover:not(:disabled){background-color:#f6f6f6;transform:translateY(-1px);box-shadow:0 20px 25px -5px rgba(147,51,234,.5),0 10px 10px -5px rgba(0,0,0,.3)}#hint-button:active:not(:disabled){transform:translateY(0)}#hint-button:disabled{opacity:.5;cursor:not-allowed;background-color:#d1d5db;border-color:#9ca3af}@media (max-width:768px){#hint-button{margin-top:18px;font-size:10px;padding:4px 8px}}.map-game .map-container{position:relative;width:100%;height:600px;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#f9fafb}.map-game .map-container svg{width:100%;height:100%;cursor:pointer}.map-game .map-container svg path{transition:all .2s ease;cursor:pointer}.map-game .map-container svg path:hover:not(.wrong):not(.correct):not(.correct-celebration):not(.hint-glow){fill:#ddd6fe;stroke:#8b5cf6;stroke-width:2px}.map-game .map-container svg path.highlighted{fill:#10b981;stroke:#059669;stroke-width:2px;opacity:1}.map-game .map-container svg path.wrong{fill:#dc2626;stroke:#991b1b;stroke-width:3px;opacity:1}.map-game .map-container svg path.correct{fill:#10b981;stroke:#059669;stroke-width:2px;opacity:1}.map-game .map-container svg path.correct-celebration{fill:#10b981;stroke:#059669;stroke-width:2px;filter:drop-shadow(0 0 15px #059669) drop-shadow(0 0 30px #10b981) drop-shadow(0 0 45px #34d399);transform-origin:center;animation:correctAnswerPulse .9s ease-in-out forwards}.map-game .map-container svg path.hint-glow{fill:#fbbf24;stroke:#f59e0b;stroke-width:2px;opacity:1;animation:hintPulse 2.5s ease-in-out forwards}.map-game .map-container svg path.multi-hover{fill:#ddd6fe;stroke:#8b5cf6;stroke-width:2px;opacity:.7;transition:all .2s ease}.map-game .zoom-controls{position:absolute;top:16px;right:16px;z-index:50}.map-game .welcome-screen{text-align:center}.map-game .welcome-screen .hero-subtitle{font-size:20px;color:#374151;margin-bottom:32px}.map-game .welcome-screen .start-button{padding:16px 32px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:20px;font-weight:600;border:0;border-radius:50px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);margin-bottom:64px}.map-game .welcome-screen .start-button:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.map-game .welcome-screen .features-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:48px}@media (min-width:768px){.map-game .welcome-screen .features-grid{grid-template-columns:repeat(3,1fr)}}.map-game .welcome-screen .features-grid .feature-card{background:#f3f4f6;padding:24px;border-radius:12px}.map-game .welcome-screen .features-grid .feature-card .feature-icon{font-size:48px;margin-bottom:12px}.map-game .welcome-screen .features-grid .feature-card .feature-title{font-size:18px;font-weight:600;color:#7c3aed;margin-bottom:8px}.map-game .welcome-screen .features-grid .feature-card .feature-description{color:#6b7280;line-height:1.5}.map-game .faq-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);overflow:hidden;margin-top:4rem}.map-game .faq-section .faq-content{padding:2rem}@media (min-width:768px){.map-game .faq-section .faq-content{padding:2.5rem}}.map-game .faq-section .faq-content .faq-title{font-size:1.5rem;font-weight:700;color:#1e40af;margin-bottom:1rem}@media (min-width:768px){.map-game .faq-section .faq-content .faq-title{font-size:1.875rem}}.map-game .faq-section .faq-content .faq-intro{font-size:1.125rem;color:#4b5563;margin-bottom:2rem;line-height:1.6}.map-game .faq-section .faq-content .faq-list{space-y:1.5rem}.map-game .faq-section .faq-content .faq-list .faq-item{border-bottom:1px solid #e5e7eb;padding-bottom:1.5rem}.map-game .faq-section .faq-content .faq-list .faq-item:last-child{border-bottom:none;padding-bottom:0}.map-game .faq-section .faq-content .faq-list .faq-item .faq-question{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;background:0 0;border:0;cursor:pointer;transition:color .2s ease}.map-game .faq-section .faq-content .faq-list .faq-item .faq-question h3{font-size:1.125rem;font-weight:600;color:#1f2937;padding-right:1rem;margin:0}.map-game .faq-section .faq-content .faq-list .faq-item .faq-question .faq-icon{color:#2563eb;font-size:1.25rem;font-weight:700;transition:transform .2s ease;flex-shrink:0}.map-game .faq-section .faq-content .faq-list .faq-item .faq-answer{color:#4b5563;line-height:1.6;padding-left:0;margin-top:.5rem}.map-game .faq-section .faq-content .faq-list .faq-item .faq-answer.hidden{display:none}.map-game .faq-section .faq-content .faq-list .faq-item .faq-answer p{margin:0}.map-game #difficulty-screen,.map-game .difficulty-screen{text-align:center}.map-game #difficulty-screen .difficulty-title,.map-game .difficulty-screen .difficulty-title{font-size:36px;font-weight:700;color:#7c3aed;margin-bottom:16px}.map-game #difficulty-screen .ultra-locked-popover,.map-game .difficulty-screen .ultra-locked-popover{position:fixed;z-index:50;width:320px;pointer-events:none;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .35s ease-out,transform .35s cubic-bezier(.34,1.56,.64,1)}.map-game #difficulty-screen .ultra-locked-popover.ultra-locked-message-visible,.map-game .difficulty-screen .ultra-locked-popover.ultra-locked-message-visible{opacity:1;transform:translateY(0) scale(1)}.map-game #difficulty-screen .ultra-locked-popover.ultra-locked-message-fade-out,.map-game .difficulty-screen .ultra-locked-popover.ultra-locked-message-fade-out{opacity:0;transform:translateY(-4px) scale(.98)}.map-game #difficulty-screen .ultra-locked-popover__card,.map-game .difficulty-screen .ultra-locked-popover__card{position:relative;padding:1rem 1.25rem;background:linear-gradient(145deg,#fff 0,#f8f7ff 100%);border-radius:16px;box-shadow:0 20px 40px rgba(124,58,237,.2),0 8px 16px rgba(0,0,0,.08),0 0 0 1px rgba(124,58,237,.08);text-align:center}.map-game #difficulty-screen .ultra-locked-popover__card::before,.map-game .difficulty-screen .ultra-locked-popover__card::before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%,-50%) rotate(45deg);width:14px;height:14px;background:linear-gradient(135deg,#fff 0,#f8f7ff 100%);border-left:1px solid rgba(124,58,237,.08);border-top:1px solid rgba(124,58,237,.08);box-shadow:-2px -2px 4px rgba(0,0,0,.04)}.map-game #difficulty-screen .ultra-locked-popover__icon,.map-game .difficulty-screen .ultra-locked-popover__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto .75rem;border-radius:12px;background:linear-gradient(135deg,rgba(124,58,237,.15) 0,rgba(139,92,246,.12) 100%);color:#6b7280}.map-game #difficulty-screen .ultra-locked-popover__icon::before,.map-game .difficulty-screen .ultra-locked-popover__icon::before{content:"";display:block;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") no-repeat center;background-size:contain}.map-game #difficulty-screen .ultra-locked-popover__text,.map-game .difficulty-screen .ultra-locked-popover__text{margin:0;font-size:.9375rem;line-height:1.5;color:#4b5563;font-weight:500}.map-game #difficulty-screen .map-difficulty-btn--level-6.locked,.map-game .difficulty-screen .map-difficulty-btn--level-6.locked{position:relative;opacity:.88}.map-game #difficulty-screen .map-difficulty-btn--level-6.locked>*,.map-game .difficulty-screen .map-difficulty-btn--level-6.locked>*{position:relative;z-index:1}.map-game #difficulty-screen .map-difficulty-btn--level-6.locked::after,.map-game .difficulty-screen .map-difficulty-btn--level-6.locked::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:rgba(0,0,0,.08);pointer-events:none}.map-game #difficulty-screen .map-difficulty-btn--level-6.shake-short,.map-game .difficulty-screen .map-difficulty-btn--level-6.shake-short{animation:shake-short .5s ease-in-out}.map-game #results .result-percentile-line{font-size:20px;color:#374151;margin-bottom:16px;min-height:1.5em;font-weight:500}.map-game #results .result-percentile-line .result-percentile-value{font-weight:700;color:#7c3aed;font-size:1.15em}.map-game #results .result-percentile-line.result-percentile-loading::after{content:"";display:inline-block;width:4px;height:4px;margin-left:4px;border-radius:50%;background:currentColor;animation:result-percentile-dots 1.2s ease-in-out infinite}.map-game #results .suggested-map-card .btn-secondary,.map-game #results .suggested-map-card h3{margin-top:0;margin-bottom:0}.map-game #results .suggested-map-card-image-container{height:200px!important;min-height:200px!important;margin-top:0;margin-bottom:0}.map-game #results .suggested-map-card-image{height:200px!important;min-height:200px!important;max-height:200px!important;width:auto;max-width:100%;object-fit:contain}@media (max-width:768px){.maps-page #question{font-size:18px;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}#map .zoom-controls{bottom:30px;top:inherit;flex-direction:row}.maps-page #map,.maps-page .map-container{height:400px}.maps-page .welcome-screen .hero-subtitle{font-size:18px}.maps-page .welcome-screen .start-button{font-size:18px;padding:14px 28px}.maps-page .difficulty-screen .difficulty-title{font-size:28px}}#results .suggested-map-mp-live-indicator{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:9999px;background:rgba(255,255,255,.85);font-size:.7rem;font-weight:700;color:#ef4444;text-transform:uppercase;letter-spacing:.05em;line-height:1}#results .suggested-map-mp-live-dot{width:7px;height:7px;border-radius:50%;background:#ef4444;animation:mp-live-glow 2s ease-in-out infinite}#timer.timer-blip{animation:timerBlip .6s ease-out;display:inline;transform-origin:center;vertical-align:baseline}