@charset "UTF-8";@keyframes fr-mp-live-pulse{0%,to{opacity:1;box-shadow:0 0 6px rgba(34,197,94,.6)}50%{opacity:.4;box-shadow:0 0 2px rgba(34,197,94,.2)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes flag-reveal-shake-short{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes levelHighlight{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes flagRevealBadgePopIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fr-celebration-live-pulse{0%,to{opacity:1;box-shadow:0 0 6px #4ade80}50%{opacity:.4;box-shadow:0 0 2px rgba(74,222,128,.3)}}.flag-reveal-game .step{display:none}.flag-reveal-game .step.active{display:block}.flag-reveal-game .flag-container,.flag-reveal-game .game-header,.flag-reveal-game .guess-info-box,.flag-reveal-game .input-area{max-width:800px;margin-left:auto;margin-right:auto;width:100%}.flag-reveal-game .return-to-levels-link{color:#6b7280;text-decoration:none;font-size:.9375rem;transition:color .2s ease}.flag-reveal-game .return-to-levels-link:hover{color:#4b5563;text-decoration:underline}.flag-reveal-game .guess-info-box{background:linear-gradient(135deg,#f0fdf4 0,#dcfce7 100%);border:1px solid #bbf7d0;border-radius:10px;padding:12px 16px}.flag-reveal-game .guess-info-box p{margin:0;color:#166534}.flag-reveal-game .flag-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:8px;max-width:560px;margin:0 auto;aspect-ratio:4/3;width:100%;background-color:#f3f4f6;border-radius:12px;padding:8px;box-sizing:border-box}@media (max-width:640px){.flag-reveal-game .flag-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);aspect-ratio:4/3;max-width:100%}}.flag-reveal-game .flag-tile{position:relative;border-radius:8px;overflow:hidden;background-color:#d1d5db;cursor:pointer;width:100%;display:block}.flag-reveal-game .flag-tile.tile-hidden::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#9ca3af;z-index:1;transition:opacity .5s ease}.flag-reveal-game .flag-tile::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.flag-reveal-game .flag-tile.revealed::before{opacity:0;pointer-events:none}.flag-reveal-game .flag-tile.flip-reveal-container{perspective:600px}.flag-reveal-game .flag-tile .tile-overlay{transition:transform .65s cubic-bezier(.4,0,.2,1);backface-visibility:hidden;transform-style:preserve-3d}.flag-reveal-game .flag-tile.flip,.flag-reveal-game .flag-tile.flip-reveal-container .tile-overlay.flip-reveal{transform:rotateY(180deg)}.flag-reveal-game .input-area .flag-reveal-input{background:linear-gradient(to bottom,#fff 0,#f0fdf4 100%);border:2px solid #16a34a;border-radius:12px;padding:14px 18px;font-size:1.0625rem;font-weight:500;box-shadow:0 4px 14px rgba(22,163,74,.25),inset 0 1px 0 rgba(255,255,255,.9);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.flag-reveal-game .input-area .flag-reveal-input::placeholder{color:#059669;opacity:.85}.flag-reveal-game .input-area .flag-reveal-input:hover{border-color:#15803d;box-shadow:0 4px 18px rgba(22,163,74,.35),inset 0 1px 0 rgba(255,255,255,.9)}.flag-reveal-game .input-area .flag-reveal-input:focus{outline:0;border-color:#15803d;box-shadow:0 0 0 4px rgba(22,163,74,.35),0 4px 18px rgba(22,163,74,.3),inset 0 1px 0 rgba(255,255,255,.9);background:#fff}.flag-reveal-game .input-area #guessButton{background:linear-gradient(135deg,#16a34a 0,#22c55e 50%,#16a34a 100%)!important;border:0}.flag-reveal-game .input-area #guessButton:hover{background:linear-gradient(135deg,#15803d 0,#16a34a 50%,#15803d 100%)!important}.flag-reveal-game .input-area #guessButton:active{transform:scale(.98)}.flag-reveal-game .input-area .autocomplete-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.flag-reveal-game .input-area .autocomplete-list.hidden{display:none}.flag-reveal-game .input-area .autocomplete-list .autocomplete-item{padding:12px 16px;cursor:pointer;transition:background-color .2s}.flag-reveal-game .input-area .autocomplete-list .autocomplete-item:hover{background-color:#f3f4f6}.flag-reveal-game .input-area .autocomplete-list .autocomplete-item.selected{background-color:#dbeafe!important;color:#1e40af;font-weight:600}.flag-reveal-game .input-area .autocomplete-list .autocomplete-item.selected:hover{background-color:#bfdbfe!important}.flag-reveal-game .input-area .autocomplete-list .autocomplete-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.flag-reveal-game .input-area .autocomplete-list .autocomplete-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.flag-reveal-game .guess-history .guess-history-item{animation:slideIn .3s ease}.flag-reveal-game .game-header{padding:16px;background:linear-gradient(to right,#f3f4f6,#e5e7eb);border-radius:12px;margin-bottom:24px}.flag-reveal-game .game-header>div{font-size:.8125rem;font-weight:700;color:#1f2937}@media (min-width:768px){.flag-reveal-game .game-header>div{font-size:.875rem}}.flag-reveal-game #nameModal .bg-white{animation:modalFadeIn .3s ease}.flag-reveal-game #levelsList h2{color:#1e3a8a}.flag-reveal-game #levelsContainer .level-group .level-group-pagination button,.flag-reveal-game #levelsList #jumpToLevelInput,.flag-reveal-game #levelsList #levelSearchInput{transition:all .2s ease}.flag-reveal-game #levelsList #jumpToLevelInput:focus,.flag-reveal-game #levelsList #levelSearchInput:focus{outline:0}.flag-reveal-game #levelsContainer{min-height:1748px}@media (max-width:640px){.flag-reveal-game #levelsContainer{min-height:3668px}}.flag-reveal-game #levelsContainer .level-group{margin-bottom:2rem}.flag-reveal-game #levelsContainer .level-group button{text-align:left}.flag-reveal-game #levelsContainer .level-group button .level-group-icon{transition:transform .2s ease}.flag-reveal-game #levelsContainer .level-group .level-group-content{animation:fadeIn .3s ease}.flag-reveal-game #levelsContainer .level-group .level-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}@media (min-width:640px){.flag-reveal-game #levelsContainer .level-group .level-group-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:768px){.flag-reveal-game #levelsContainer .level-group .level-group-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (min-width:1024px){.flag-reveal-game #levelsContainer .level-group .level-group-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (min-width:1280px){.flag-reveal-game #levelsContainer .level-group .level-group-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.flag-reveal-game #levelsContainer .level-group .level-group-pagination button:hover:not(:disabled){background-color:#f3f4f6;transform:translateY(-1px)}.flag-reveal-game #levelsContainer .level-group .level-group-pagination button:disabled{cursor:not-allowed;opacity:.5}.flag-reveal-game #levelsContainer .level-item{position:relative;cursor:pointer;min-width:60px;height:52px;padding:10px 6px}.flag-reveal-game #levelsContainer .level-item .difficulty-badge{font-size:.75rem;font-weight:700;line-height:1}.flag-reveal-game #levelsContainer .level-item .level-complete-badge{top:-6px;right:-6px;left:auto;margin:0;width:16px;height:16px;background:#fff;border:2px solid #059669;color:transparent;font-size:0;box-shadow:0 2px 4px rgba(5,150,105,.3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:8px 8px;z-index:10}.flag-reveal-game #levelsContainer .level-item .level-complete-badge:not(.hidden){animation:flagRevealBadgePopIn .35s cubic-bezier(.175,.885,.32,1.275) forwards}.flag-reveal-game #levelsContainer .level-item:hover{transform:translateY(-2px)}.flag-reveal-game #levelsContainer .level-item.flag-reveal-level--locked{opacity:.92;cursor:not-allowed}.flag-reveal-game #levelsContainer .level-item.flag-reveal-level--locked-auth{border-color:#f59e0b}.flag-reveal-game #levelsContainer .level-item.flag-reveal-level--locked-progress{border-color:#a855f7}.flag-reveal-game #levelsContainer .level-item.flag-reveal-level--locked-both{border-color:#64748b;border-style:dashed}.flag-reveal-game #levelsContainer .level-item .flag-reveal-level-lock{position:absolute;top:2px;right:2px;font-size:.65rem;line-height:1;pointer-events:none}.flag-reveal-game #levelsContainer .level-item.shake-short{animation:flag-reveal-shake-short .5s ease-in-out}.flag-reveal-game #levelsContainer .level-item.ring-2{animation:levelHighlight .5s ease}.flag-reveal-game .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)}.flag-reveal-game .ultra-locked-popover.ultra-locked-message-visible{opacity:1;transform:translateY(0) scale(1)}.flag-reveal-game .ultra-locked-popover.ultra-locked-message-fade-out{opacity:0;transform:translateY(-4px) scale(.98)}.flag-reveal-game .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}.flag-reveal-game .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)}.flag-reveal-game .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%)}.flag-reveal-game .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}.flag-reveal-game .ultra-locked-popover__text{margin:0;font-size:.9375rem;line-height:1.5;color:#4b5563;font-weight:500}.flag-reveal-game .flag-reveal-results-locked-next{width:100%}.flag-reveal-game .flag-reveal-results-locked-next__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:22rem;padding:1.125rem 2.85rem 1.125rem 2rem;border:0;border-radius:9999px;font-size:1.125rem;font-weight:600;color:#fff;cursor:pointer;background:linear-gradient(135deg,#15803d 0,#16a34a 45%,#22c55e 100%);box-shadow:0 8px 20px rgba(22,163,74,.24);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}@media (min-width:768px){.flag-reveal-game .flag-reveal-results-locked-next__btn{font-size:1.25rem;max-width:24rem;padding:1.25rem 3.1rem 1.25rem 2.25rem}}.flag-reveal-game .flag-reveal-results-locked-next__btn:focus-visible,.flag-reveal-game .flag-reveal-results-locked-next__btn:hover{transform:scale(1.02);outline:0;box-shadow:0 10px 26px rgba(22,163,74,.32),0 0 0 3px rgba(34,197,94,.35)}.flag-reveal-game .flag-reveal-results-locked-next__lock{position:absolute;top:50%;right:1rem;width:1.125rem;height:1.125rem;margin-top:0;transform:translateY(-50%);pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.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;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}@media (min-width:768px){.flag-reveal-game .flag-reveal-results-locked-next__lock{right:1.125rem;width:1.25rem;height:1.25rem}}.flag-reveal-game .flag-reveal-results-account-cta--below-stats:not(.hidden){margin-top:.25rem}.flag-reveal-game .flag-reveal-account-cta__inner{padding:1rem 1.25rem;border-radius:1rem;border:1px solid #c7d2fe;background:linear-gradient(135deg,#eef2ff 0,#e0e7ff 100%);text-align:center}.flag-reveal-game .flag-reveal-account-cta__title{font-weight:700;color:#1e3a8a;margin:0 0 .5rem;font-size:1.125rem}.flag-reveal-game .flag-reveal-account-cta__body{margin:0 0 1rem;color:#4338ca;font-size:.9375rem;line-height:1.5}.flag-reveal-game .flag-reveal-account-cta__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.flag-reveal-game .flag-reveal-account-cta__btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.9375rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.flag-reveal-game .flag-reveal-account-cta__btn--primary{background:linear-gradient(135deg,#4f46e5 0,#6366f1 100%);color:#fff;box-shadow:0 4px 12px rgba(79,70,229,.35)}.flag-reveal-game .flag-reveal-account-cta__btn--primary:hover{transform:translateY(-1px)}.flag-reveal-game .flag-reveal-account-cta__btn--secondary{background:#fff;color:#4338ca;border:1px solid #a5b4fc}.flag-reveal-game .flag-reveal-account-cta__btn--secondary:hover{background:#f5f3ff}.flag-reveal-game .flag-reveal-signup-celebration__inner{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border-radius:1rem;border:1px solid #86efac;background:linear-gradient(135deg,#ecfdf5 0,#d1fae5 100%)}.flag-reveal-game .flag-reveal-signup-celebration__icon{font-size:1.75rem;flex-shrink:0}.flag-reveal-game .flag-reveal-signup-celebration__title{font-weight:700;color:#065f46;margin:0 0 .25rem;font-size:1.125rem}.flag-reveal-game .flag-reveal-signup-celebration__body{margin:0;color:#047857;font-size:.9375rem;line-height:1.5}.flag-reveal-game #suggestion-buttons .btn-next-level.flag-reveal-next-level-btn{font-size:1.125rem;min-height:2.875rem}@media (min-width:640px){.flag-reveal-game #suggestion-buttons .btn-next-level.flag-reveal-next-level-btn{font-size:1.25rem;min-height:3.25rem}}.fr-celebration-confetti-bg{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle,#fbbf24 3px,transparent 3px),radial-gradient(circle,#f472b6 3px,transparent 3px),radial-gradient(circle,#34d399 3px,transparent 3px),radial-gradient(circle,#60a5fa 3px,transparent 3px),radial-gradient(circle,#f87171 3px,transparent 3px);background-size:55px 55px,75px 75px,48px 48px,65px 65px,90px 90px;background-position:8px 8px,28px 38px,48px 18px,18px 52px,60px 6px;opacity:.35}.fr-celebration-btn{display:block;width:100%;padding:14px;border-radius:12px;font-size:1rem;font-weight:800;text-align:center;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.fr-celebration-btn:hover{transform:translateY(-2px);filter:brightness(1.12);text-decoration:none}.fr-celebration-btn:active{transform:translateY(0);filter:brightness(.96)}.fr-celebration-btn--gold{background:#fbbf24;color:#1e1b4b;box-shadow:0 4px 16px rgba(251,191,36,.3)}.fr-celebration-btn--gold:hover{box-shadow:0 8px 28px rgba(251,191,36,.5);color:#1e1b4b}.fr-celebration-btn--blue{background:#3b82f6;color:#fff;box-shadow:0 4px 16px rgba(59,130,246,.3)}.fr-celebration-btn--blue:hover{box-shadow:0 8px 28px rgba(59,130,246,.5);color:#fff}.fr-celebration-live-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80;animation:fr-celebration-live-pulse 1.5s ease-in-out infinite;flex-shrink:0}#finalFlagDisplay{margin-bottom:1rem}#finalFlagDisplay>div{max-width:200px;margin-left:auto;margin-right:auto}@media (max-width:767px){#finalFlagDisplay>div{max-width:150px}}#finalFlagDisplay img{max-width:100%;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}#finalFlagDisplay p{margin-top:.5rem;font-size:1.25rem}