body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.header{background:linear-gradient(135deg,#fff,#f8f9ff);box-shadow:0 2px 15px #667eea1a;border-bottom:2px solid rgba(102,126,234,.2)}.welcome-screen{text-align:center;padding:1.5rem 2rem 3rem;position:relative}.welcome-controls{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:1rem}.logo-large{width:140px;height:140px;margin:0 auto 1.5rem;animation:float 3s ease-in-out infinite}.logo-large svg{width:100%;height:100%;filter:drop-shadow(0 4px 20px rgba(102,126,234,.3))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.welcome-screen h1{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .75rem;font-size:3.5rem;font-weight:900;letter-spacing:-1px}.tagline{font-size:1.3rem;color:#666;margin-bottom:1.25rem;font-weight:500}.best-score-display{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ffd70026,#ffc10726);padding:.7rem 1.4rem;border-radius:25px;margin-bottom:1.25rem;border:2px solid rgba(255,215,0,.3);font-size:1.05rem;color:#333}.trophy-icon{font-size:1.4em}.best-score-display strong{color:#667eea;font-weight:700}.duration-select{padding:.6rem 1rem;font-size:.9rem;border:2px solid rgba(102,126,234,.3);border-radius:20px;background:#fff;color:#333;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:180px}.duration-select:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.duration-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.stats-btn-corner{background:transparent;color:#667eea;border:2px solid #667eea;padding:.6rem 1.25rem;font-size:.9rem;border-radius:20px;cursor:pointer;transition:all .3s ease;font-weight:600;white-space:nowrap}.stats-btn-corner:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.stats-panel{margin-top:1.5rem;padding:1.75rem;background:linear-gradient(135deg,#667eea14,#764ba214);border-radius:20px;border:2px solid rgba(102,126,234,.2);max-width:600px;margin-left:auto;margin-right:auto;animation:slideIn .3s ease}.stats-panel h3{margin-bottom:1.5rem;color:#667eea;font-size:1.5rem;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.stat-item{background:#fff;padding:1.25rem;border-radius:15px;box-shadow:0 2px 8px #00000014;transition:transform .2s ease}.stat-item:hover{transform:translateY(-3px);box-shadow:0 4px 12px #667eea26}.stat-value{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.stat-label{font-size:.9rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.recent-games{margin-top:2rem;padding-top:2rem;border-top:2px solid rgba(102,126,234,.15)}.recent-games h4{font-size:1.2rem;color:#667eea;margin-bottom:1rem;font-weight:700}.games-list{display:flex;flex-direction:column;gap:.75rem}.game-history-item{display:flex;align-items:center;gap:1rem;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 2px 6px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.game-history-item:hover{transform:translate(5px);box-shadow:0 3px 10px #667eea26}.game-rank{font-size:1.1rem;font-weight:800;color:#667eea;min-width:35px;text-align:center}.game-details{flex:1}.game-score{font-size:1rem;font-weight:700;color:#333;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.best-badge{font-size:.9em;animation:pulse 1s ease infinite}.game-meta{font-size:.85rem;color:#999;font-weight:500}.no-games-message{text-align:center;padding:2rem 1rem;color:#999;font-style:italic;font-size:.95rem}.clear-stats-btn{margin-top:2rem;padding:.75rem 1.5rem;background:transparent;color:#dc3545;border:2px solid #dc3545;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.clear-stats-btn:hover{background:#dc3545;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1800px;margin:0 auto}.logo-section{display:flex;align-items:center;gap:.75rem}.home-btn{background:transparent;color:#667eea;border:2px solid #667eea;padding:.5rem;border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.home-btn:hover{background:#667eea;color:#fff;transform:scale(1.05)}.home-btn svg{display:block}.logo-small{width:36px;height:36px}.app-name{font-size:1.4rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.game-stats{display:flex;gap:1.5rem;align-items:center}.start-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.9rem 2.5rem;font-size:1.15rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:700;box-shadow:0 4px 15px #667eea4d;text-transform:uppercase;letter-spacing:1px}.start-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea80}.start-btn:active{transform:translateY(-1px)}.timer,.score{font-size:1.1rem;font-weight:700;color:#333;padding:.5rem 1rem;background:#667eea14;border-radius:20px;display:flex;align-items:center;gap:.4rem;border:2px solid rgba(102,126,234,.15)}.reset-btn{background:transparent;color:#667eea;border:2px solid #667eea;padding:.5rem 1rem;border-radius:20px;cursor:pointer;transition:all .2s ease;font-weight:600;display:flex;align-items:center;gap:.3rem;font-size:.9rem}.reset-btn:hover{background:#667eea;color:#fff;transform:scale(1.05)}.reset-btn svg{width:16px;height:16px}.game-over{animation:slideIn .5s ease;background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:2rem;border-radius:16px;border:2px solid rgba(102,126,234,.3)}.game-over h2{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;font-size:2.5rem;font-weight:800}.game-over p{font-size:1.5rem;margin-bottom:1.5rem;color:#555;font-weight:600}.game-over p:before{content:"🎉 ";font-size:1.2em}.new-record{background:linear-gradient(135deg,#ffd70033,#ffc10733);border:2px solid rgba(255,215,0,.5);border-radius:15px;padding:.75rem 1.5rem;margin:1rem 0;color:#d97706;font-weight:700;font-size:1.1rem;animation:pulse .5s ease}.new-record:before{content:"🎊 "}.game-over-stats{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0;font-size:1rem;color:#666;font-weight:600}.game-over-stats span{padding:.5rem 1rem;background:#667eea14;border-radius:12px}.game-over-buttons{display:flex;gap:1rem;justify-content:center;align-items:center;margin-top:1.5rem;flex-wrap:wrap}.home-btn-large{background:transparent;color:#667eea;border:2px solid #667eea;padding:.9rem 2rem;font-size:1.15rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:700;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:.5rem}.home-btn-large:hover{background:#667eea;color:#fff;transform:translateY(-3px);box-shadow:0 6px 20px #667eea80}.home-btn-large:active{transform:translateY(-1px)}.home-btn-large svg{display:block}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.main-content{width:100%;min-height:calc(100vh - 80px);height:auto;position:relative}.map-container{width:100%;min-height:calc(100vh - 80px);background:linear-gradient(135deg,#f8f9ff,#fff);padding:0;position:relative;overflow:hidden}.input-panel{position:absolute;bottom:2rem;left:2rem;width:90%;max-width:450px;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:1.5rem;box-shadow:0 10px 40px #00000026;border:2px solid rgba(102,126,234,.2);z-index:100}.input-panel form{display:flex;gap:.75rem;margin-bottom:1rem}.country-input{flex:1;padding:1rem 1.5rem;font-size:1.05rem;border:2px solid rgba(102,126,234,.2);border-radius:50px;transition:all .3s ease;background:#fff;font-weight:500}.country-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;transform:translateY(-1px)}.country-input::placeholder{color:#999}.submit-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:1rem 2rem;font-size:1rem;border-radius:50px;cursor:pointer;transition:all .3s ease;font-weight:700;box-shadow:0 4px 12px #4caf504d;text-transform:uppercase;letter-spacing:.5px}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.submit-btn:active{transform:translateY(0)}.guessed-list-compact{margin-top:.5rem}.countries-count-mobile{display:none}.guessed-countries-scroll{display:flex;flex-wrap:wrap;gap:.5rem;max-height:120px;overflow-y:auto;padding:.75rem;background:#667eea0d;border-radius:12px;scrollbar-width:thin;scrollbar-color:#667eea rgba(102,126,234,.1)}.guessed-country-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.4rem .9rem;border-radius:15px;font-size:.85rem;font-weight:600;text-transform:capitalize;animation:fadeIn .3s ease;white-space:nowrap;box-shadow:0 2px 6px #667eea4d}.placeholder-text{color:#999;font-size:.9rem;font-style:italic;display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem}.guessed-countries-scroll::-webkit-scrollbar{width:6px;height:6px}.guessed-countries-scroll::-webkit-scrollbar-track{background:#667eea0d;border-radius:3px}.guessed-countries-scroll::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.guessed-countries-scroll::-webkit-scrollbar-thumb:hover{background:#5568d3}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:1024px){.game-header{flex-direction:column;gap:1rem;padding:1rem}.game-stats{width:100%;justify-content:center}.input-panel{left:1rem;right:1rem;width:auto;max-width:none;bottom:1rem;padding:1.25rem}}@media(max-width:768px){.stats-panel{padding:1.5rem}.welcome-controls{flex-wrap:wrap;justify-content:center}}@media(max-width:640px){.welcome-screen{padding:1rem 1rem 2rem}.welcome-controls{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.5rem}.duration-select{width:100%}.stats-btn-corner{width:100%;text-align:center}.welcome-screen h1{font-size:2.5rem}.logo-large{width:120px;height:120px}.tagline{font-size:1.1rem}.app-name{font-size:1.2rem}.game-header{padding:.75rem}.map-container{display:flex;flex-direction:column;min-height:auto}.input-panel{position:relative;bottom:auto;left:auto;right:auto;width:100%;max-width:100%;margin:0;border-radius:0;box-shadow:0 -4px 20px #00000026}.input-panel form{flex-direction:column;margin-bottom:0}.submit-btn{width:100%}.guessed-list-compact{margin-top:1rem}.countries-count-mobile{display:block;text-align:center;font-size:1.1rem;font-weight:700;color:#667eea;padding:.75rem;background:#667eea0d;border-radius:12px}.guessed-countries-scroll{display:none}.game-stats{flex-direction:column;gap:.75rem}.timer,.score{width:100%;justify-content:center}.best-score-display{font-size:1rem;padding:.6rem 1.2rem}.stats-grid{grid-template-columns:1fr}.game-over-buttons{flex-direction:column;width:100%}.home-btn-large,.game-over .start-btn{width:100%;justify-content:center}}.feedback{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-weight:600;text-align:center;animation:fadeIn .3s ease}.feedback-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.feedback-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.feedback-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.country-input.error{border-color:#dc3545;animation:shake .5s ease}.country-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.country-input.success{border-color:#4caf50;animation:pulse .3s ease}.country-input.success:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.world-map{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.map-svg{width:100%;height:100%;display:block}.map-svg path{transition:fill .3s ease;transform-origin:center;transform-box:fill-box}.map-svg path.unguessed:hover{fill:#d0d0d0}.map-svg path.guessed{filter:drop-shadow(0 0 3px rgba(76,175,80,.4))}.map-svg path.just-guessed{animation:satisfyingPop .8s cubic-bezier(.34,1.56,.64,1)}@keyframes satisfyingPop{0%{transform:scale(1);filter:drop-shadow(0 0 0px rgba(76,175,80,0))}15%{transform:scale(1.15);filter:drop-shadow(0 0 12px rgba(76,175,80,.9)) brightness(1.3)}30%{transform:scale(.95);filter:drop-shadow(0 0 8px rgba(76,175,80,.7)) brightness(1.15)}45%{transform:scale(1.08);filter:drop-shadow(0 0 10px rgba(76,175,80,.8)) brightness(1.25)}60%{transform:scale(.98);filter:drop-shadow(0 0 6px rgba(76,175,80,.6)) brightness(1.1)}75%{transform:scale(1.03);filter:drop-shadow(0 0 8px rgba(76,175,80,.5)) brightness(1.15)}to{transform:scale(1);filter:drop-shadow(0 0 3px rgba(76,175,80,.4)) brightness(1)}}@media(prefers-reduced-motion:reduce){.map-svg path.just-guessed{animation:simplePop .4s ease}@keyframes simplePop{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}}.map-stats{position:absolute;top:1.5rem;right:1.5rem;z-index:50}.map-stats p{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#667eea;padding:.75rem 1.25rem;border-radius:20px;display:inline-block;box-shadow:0 4px 15px #0000001a;font-weight:700;font-size:1rem;border:2px solid rgba(102,126,234,.2)}.map-stats p:before{content:"🌍 ";font-size:1.1em;margin-right:.4em}@media(max-width:640px){.map-stats{display:none}}
