@charset "UTF-8";@keyframes remap-ants{to{stroke-dashoffset:-16}}@keyframes remap-wrong-flash{0%,to{fill:#7eb3d8}50%{fill:rgba(239,68,68,.6)}}@keyframes remap-wrong-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}@keyframes remap-correct-place{0%{filter:drop-shadow(0 0 0 transparent);transform:scale(.96);opacity:.7}35%{filter:drop-shadow(0 0 16px rgba(34,197,94,.9)) drop-shadow(0 0 24px rgba(74,222,128,.6));transform:scale(1.04);opacity:1}70%{filter:drop-shadow(0 0 10px rgba(34,197,94,.5));transform:scale(1.01)}to{filter:drop-shadow(0 0 4px rgba(34,197,94,.2));transform:scale(1);opacity:1}}@keyframes remap-place-toast{0%{opacity:0;transform:translate(-50%,-35%) scale(.85)}18%{opacity:1;transform:translate(-50%,-55%) scale(1)}70%{opacity:1;transform:translate(-50%,-90%) scale(1)}to{opacity:0;transform:translate(-50%,-130%) scale(.95)}}.remap-page .page{margin-top:0}#remap-name-modal.hidden,#remap-suggestion-buttons .remap-hidden,.remap-game-wrapper .remap-step.hidden{display:none!important}@media (max-width:640px){.remap-game-wrapper{padding:8px!important}}.remap-game-wrapper .remap-step-level-select,.remap-game-wrapper .remap-step-results,.remap-game-wrapper .remap-step-welcome{padding:2rem 1rem}.remap-game-wrapper .remap-level-btn .remap-level-check{display:none;position:absolute;top:8px;right:8px;width:22px;height:22px;background:#22c55e;border-radius:50%;align-items:center;justify-content:center;font-size:12px;color:#fff;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}.remap-game-wrapper .remap-level-btn .remap-level-check::after{content:"✓"}.remap-game-wrapper .remap-level-btn.completed .remap-level-check{display:flex}.remap-game-wrapper .remap-step-results #remap-result-emoji{line-height:1}.remap-game-wrapper .remap-step-results #remap-result-title{margin-bottom:.5rem}.remap-game-wrapper .remap-step-results #remap-result-stats{color:#4b5563}.remap-game-wrapper .remap-step-results #remap-result-leaderboard-link a{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;font-size:.875rem;text-decoration:none;transition:opacity .15s ease}.remap-game-wrapper .remap-step-results #remap-result-leaderboard-link a:hover{opacity:.9}.remap-game-wrapper .remap-page-heading{text-align:center;margin-bottom:16px}.remap-game-wrapper .remap-page-heading h1{font-size:1.5rem;font-weight:700;color:#312e81;margin:0 0 4px}.remap-game-wrapper .remap-page-heading .remap-page-subtitle{font-size:1rem;color:#4b5563;margin:0}@media (max-width:640px){.remap-game-wrapper .remap-page-heading{margin-bottom:10px}.remap-game-wrapper .remap-page-heading h1{font-size:1.25rem}.remap-game-wrapper .remap-page-heading .remap-page-subtitle{font-size:.875rem}}.remap-game-wrapper .remap-root{max-width:1400px;margin:0 auto;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden}@media (max-width:640px){.remap-game-wrapper .remap-root{border-radius:.5rem}}.remap-game-wrapper .remap-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;background:#eef2ff;border-bottom:1px solid #e0e7ff}.remap-game-wrapper .remap-header .remap-header__spacer{flex:1}.remap-game-wrapper .remap-header .stats-bar{display:flex;align-items:center;gap:8px;font-size:.875rem}.remap-game-wrapper .remap-header .stats-bar .stat{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:9999px;background:#fff;border:1px solid #e0e7ff;box-shadow:0 1px 2px rgba(15,23,42,.05);color:#4b5563;white-space:nowrap}.remap-game-wrapper .remap-header .stats-bar .stat strong{color:#312e81;font-weight:600;font-variant-numeric:tabular-nums}.remap-game-wrapper .remap-header .stats-bar .stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#4f46e5}.remap-game-wrapper .remap-header .stats-bar .stat-sep{color:#9ca3af}.remap-game-wrapper .remap-header .lives-display{display:inline-flex;gap:2px}.remap-game-wrapper .remap-header .lives-display .heart{color:#ef4444;transition:color .25s ease,opacity .25s ease,transform .25s ease}.remap-game-wrapper .remap-header .lives-display .heart.lost{color:#e5e7eb;opacity:.5;transform:scale(.85)}.remap-game-wrapper .remap-header .remap-btn{padding:6px 14px;cursor:pointer;border:1px solid #e0e7ff;background:#fff;color:#4f46e5;border-radius:9999px;font-size:.875rem;font-weight:500;transition:all .15s ease}.remap-game-wrapper .remap-header .remap-btn:hover{background:#4f46e5;border-color:#4f46e5;color:#fff}@media (max-width:640px){.remap-game-wrapper .remap-header{gap:6px 10px;padding:8px 12px;justify-content:center}.remap-game-wrapper .remap-header .remap-header__spacer{display:none}.remap-game-wrapper .remap-header .stats-bar{order:2;width:100%;justify-content:center;gap:10px;font-size:.75rem}.remap-game-wrapper .remap-header .remap-btn{order:3;padding:4px 12px;font-size:.75rem}}.remap-game-wrapper .remap-progress{height:5px;background:#e0e7ff;overflow:hidden}.remap-game-wrapper .remap-progress-bar{width:0;height:100%;border-radius:0 9999px 9999px 0;background-image:linear-gradient(90deg,#6366f1 0,#22c55e 100%);box-shadow:0 0 10px rgba(34,197,94,.45);transition:width .4s cubic-bezier(.22,1,.36,1)}.remap-game-wrapper .remap-main-wrap{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;height:70vh;min-height:400px}@media (max-width:768px){.remap-game-wrapper .remap-main-wrap{flex-direction:column;height:auto;min-height:0}}.remap-game-wrapper .map-section{flex:1 1 0%;min-width:0;overflow:hidden;height:100%;display:flex;flex-direction:column}@media (max-width:768px){.remap-game-wrapper .map-section{height:auto;min-height:0}}.remap-game-wrapper .remap-map-container{background-image:radial-gradient(circle at 30% 20%,#f2fbff 0,#dceffb 45%,#c7e3f6 100%);overflow:hidden;width:100%;height:100%;min-width:280px;min-height:280px;position:relative;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}@media (max-width:768px){.remap-game-wrapper .remap-map-container{height:46vh;min-height:280px;max-height:420px}.remap-game-wrapper .remap-map-container svg{height:100%}}.remap-game-wrapper .remap-map-container:active{cursor:grabbing}.remap-game-wrapper .remap-map-container .remap-map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#4b5563;font-size:.875rem;font-weight:500;pointer-events:none}.remap-game-wrapper .remap-map-container .remap-guides{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;transition:opacity .15s ease}.remap-game-wrapper .remap-map-container .remap-guides.active{opacity:1}.remap-game-wrapper .remap-map-container .remap-guides .remap-guide{position:absolute;will-change:transform}.remap-game-wrapper .remap-map-container .remap-guides .remap-guide-h{top:0;left:0;right:0;height:0;border-top:1px dashed rgba(79,70,229,.55)}.remap-game-wrapper .remap-map-container .remap-guides .remap-guide-v{top:0;bottom:0;left:0;width:0;border-left:1px dashed rgba(79,70,229,.55)}.remap-game-wrapper .remap-map-container .remap-drag-hint{position:absolute;left:50%;bottom:12px;z-index:7;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 14px;border-radius:9999px;background:rgba(255,255,255,.92);color:#312e81;font-size:.75rem;font-weight:600;line-height:1.3;text-align:center;box-shadow:0 2px 10px rgba(15,23,42,.15);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.remap-game-wrapper .remap-map-container .remap-drag-hint .remap-drag-hint-icon{font-size:.9rem}@media (max-width:640px){.remap-game-wrapper .remap-map-container .remap-drag-hint{bottom:8px;padding:5px 10px;font-size:.68rem}}.remap-game-wrapper .remap-map-container.remap-dragging .remap-drag-hint,.remap-game-wrapper .remap-map-container.remap-hint-done .remap-drag-hint{opacity:0;transform:translateX(-50%) translateY(8px)}.remap-game-wrapper .remap-map-container .remap-zoom-controls{position:absolute;top:12px;right:12px;z-index:10;display:flex;flex-direction:column;gap:6px}.remap-game-wrapper .remap-map-container .remap-zoom-controls button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.9);color:#312e81;font-size:1.2rem;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .15s ease}.remap-game-wrapper .remap-map-container .remap-zoom-controls button:hover{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.25);transform:scale(1.08)}.remap-game-wrapper .remap-map-container svg{width:100%;height:100%;display:block;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y}.remap-game-wrapper .remap-map-container path{stroke:none}.remap-game-wrapper .remap-map-container path.country-context{fill:#cbd8e4!important;stroke:none!important;transition:fill .25s,opacity .25s}.remap-game-wrapper .remap-map-container path.ghost-slot{fill:#9cc6e6!important;stroke:#fff!important;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;transition:fill .2s,filter .2s,stroke .2s}.remap-game-wrapper .remap-map-container path.ghost-slot.highlight{fill:#4ade80!important;stroke:#15803d!important;stroke-width:2;stroke-dasharray:none;animation:none;filter:drop-shadow(0 0 10px rgba(34,197,94,.65))}.remap-game-wrapper .remap-map-container path.ghost-slot.wrong-flash{animation:remap-wrong-flash .4s ease,remap-wrong-shake .45s ease}.remap-game-wrapper .remap-map-container.remap-dragging path.country-context{fill:#d8e2ec!important;opacity:.65}.remap-game-wrapper .remap-map-container.remap-dragging path.ghost-slot{fill:#8fc0e6!important;stroke:#4f46e5!important;stroke-width:1.6;stroke-dasharray:5 3;animation:remap-ants .9s linear infinite}.remap-game-wrapper .remap-map-container path.country-filled{stroke:rgba(255,255,255,.85)!important;stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .3s}.remap-game-wrapper .remap-map-container path.country-filled.correct-place-effect{transform-origin:center;animation:remap-correct-place .9s ease-out forwards}.remap-game-wrapper.remap-region-world .remap-map-container{min-height:340px;min-width:320px}.remap-game-wrapper.remap-region-europe .remap-map-container{min-height:380px;min-width:280px}.remap-game-wrapper.remap-region-asia .remap-map-container{min-height:360px;min-width:300px}.remap-game-wrapper.remap-region-africa .remap-map-container{min-height:380px;min-width:280px}.remap-game-wrapper.remap-region-united-states .remap-map-container{min-height:320px;min-width:320px}@media (max-width:768px){.remap-game-wrapper.remap-region-africa .remap-map-container,.remap-game-wrapper.remap-region-asia .remap-map-container,.remap-game-wrapper.remap-region-europe .remap-map-container,.remap-game-wrapper.remap-region-united-states .remap-map-container,.remap-game-wrapper.remap-region-world .remap-map-container{min-height:280px;min-width:0}}@media (prefers-reduced-motion:reduce){.remap-game-wrapper .remap-map-container.remap-dragging path.ghost-slot{animation:none}}.remap-game-wrapper .bank-section{flex:0 0 280px;min-width:260px;max-width:280px;height:100%;background:#f8fafc;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;min-height:0}@media (max-width:768px){.remap-game-wrapper .bank-section{flex:0 0 auto;width:100%;height:auto;min-width:0;max-width:none;max-height:320px;border-left:none;border-top:1px solid #e5e7eb}}.remap-game-wrapper .bank-section .section-label{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px 6px;font-size:.75rem;color:#4f46e5;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.remap-game-wrapper .bank-section .remap-bank-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 6px;border-radius:9999px;background:#4f46e5;color:#fff;font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:0}.remap-game-wrapper .piece-bank{display:flex;flex-wrap:wrap;gap:10px;padding:8px 14px 14px;overflow-y:auto;flex:1;min-height:0;align-content:flex-start;justify-content:center}.remap-game-wrapper .piece-wrap{display:flex;flex-direction:column;align-items:center;width:80px;cursor:grab;user-select:none;touch-action:none;-webkit-touch-callout:none;padding:6px;border-radius:.5rem;transition:background .15s ease,transform .15s ease}.remap-game-wrapper .piece-wrap:hover{background:#fff}.remap-game-wrapper .piece-wrap:active{cursor:grabbing}.floating-piece,.remap-game-wrapper .piece-wrap.dragging{pointer-events:none;opacity:.35;transform:scale(.94)}.remap-game-wrapper .piece-wrap .piece-svg{width:70px;height:50px;padding:3px;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.remap-game-wrapper .piece-wrap:hover .piece-svg{border-color:#4f46e5;box-shadow:0 6px 16px rgba(99,102,241,.25);transform:translateY(-3px) scale(1.04)}.remap-game-wrapper .piece-wrap .piece-label{font-size:.65rem;color:#374151;font-weight:500;margin-top:3px;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.remap-game-wrapper .remap-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2000;align-items:center;justify-content:center;padding:20px}.remap-game-wrapper .remap-overlay.visible{display:flex}.remap-game-wrapper .remap-overlay-box{background:#fff;padding:32px;border-radius:16px;text-align:center;max-width:360px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.remap-game-wrapper .remap-overlay-box h2{margin-bottom:12px;font-size:1.5rem;font-weight:700;color:#312e81}.remap-game-wrapper .remap-overlay-box p{margin-bottom:20px;color:#4b5563}.remap-game-wrapper .remap-overlay-box .remap-win-time{margin-bottom:16px;color:#4b5563}.remap-game-wrapper .remap-overlay-box .remap-btn{margin-top:8px;background:#4f46e5;color:#fff;border:0;padding:10px 24px;border-radius:9999px;font-weight:600;cursor:pointer;transition:background .15s ease}.remap-game-wrapper .remap-overlay-box .remap-btn:hover{background:#4338ca}.remap-game-wrapper .game-over-box h2{color:#dc2626}.floating-piece{position:fixed;z-index:1000;transform:scale(1.12);opacity:.92;filter:drop-shadow(0 8px 18px rgba(15,23,42,.35));background:0 0!important;border:0!important;border-radius:0!important;transition:filter .15s ease,transform .15s ease}.floating-piece.over-slot{transform:scale(1.22);filter:drop-shadow(0 0 10px rgba(34,197,94,.95)) drop-shadow(0 8px 18px rgba(15,23,42,.3))}.remap-place-toast{position:fixed;z-index:1001;transform:translate(-50%,-50%);padding:5px 12px;border-radius:9999px;background:rgba(22,163,74,.95);color:#fff;font-size:.8rem;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px rgba(22,163,74,.35);animation:remap-place-toast 1.1s ease-out forwards}#remap-suggestion-buttons{align-items:center}#remap-suggestion-buttons .btn-next-level{order:1;background-image:linear-gradient(135deg,#16a34a 0,#22c55e 50%,#16a34a 100%);animation:btnNextLevelPulse 2s ease-in-out infinite}#remap-suggestion-buttons .btn-next-level:hover{background-image:linear-gradient(135deg,#17a84c 0,#17a84c 50%,#17a84c 100%);animation:none;transform:scale(1.02)}#remap-suggestion-buttons #remap-btn-play-again{order:2}#remap-suggestion-buttons .remap-btn-choose-level{order:3;padding:8px 20px;border:1px solid #d1d5db;border-radius:9999px;background:0 0;color:#4b5563;font-size:.875rem;font-weight:500;transition:all .15s ease}#remap-suggestion-buttons .remap-btn-choose-level:hover{background:#fff;border-color:#4f46e5;color:#4f46e5}@media (prefers-reduced-motion:reduce){#remap-suggestion-buttons .btn-next-level{animation:none}}.remap-page-cta-btn{display:inline-block;margin-top:12px;padding:8px 24px;background:#4f46e5;color:#fff!important;font-weight:500;border-radius:9999px;text-decoration:none;transition:background .15s ease}.remap-page-cta-btn:hover{background:#4338ca;color:#fff!important}