:root{--color-primary: #10b981;--color-primary-light: #34d399;--color-primary-dark: #059669;--color-secondary: #f472b6;--color-success: #34d399;--color-warning: #fbbf24;--color-danger: #f87171;--color-bg: #0f172a;--color-bg-light: #1e293b;--color-text: #f1f5f9;--color-text-dim: #94a3b8;--font-main: "Nunito", "Segoe UI", system-ui, sans-serif;--shadow-glow: 0 0 20px rgba(16, 185, 129, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background:linear-gradient(135deg,var(--color-bg) 0%,#1a1a2e 100%);min-height:100vh;color:var(--color-text);overflow-x:hidden}#app{position:relative;z-index:1;min-height:100vh}.screen{display:none;flex-direction:column;align-items:center;padding:20px;min-height:100vh;animation:fadeIn .3s ease}.screen.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.home-link{position:absolute;top:20px;left:20px;color:var(--color-primary-light);text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px;transition:background .2s}.home-link:hover{background:#10b98133}.game-title{font-size:3.5rem;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;margin-top:40px}.subtitle{color:var(--color-text-dim);font-size:1.3rem;margin-bottom:40px}.difficulty-select{display:flex;flex-direction:column;gap:15px;width:100%;max-width:350px}.difficulty-select h2{text-align:center;color:var(--color-text);margin-bottom:10px}.difficulty-btn{display:flex;align-items:center;gap:15px;padding:20px;border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .2s ease;text-align:left;background:var(--color-bg-light);color:var(--color-text)}.difficulty-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow)}.difficulty-btn.easy{border-color:var(--color-success)}.difficulty-btn.easy:hover{background:#34d39933}.difficulty-btn.medium{border-color:var(--color-warning)}.difficulty-btn.medium:hover{background:#fbbf2433}.difficulty-btn.hard{border-color:var(--color-danger)}.difficulty-btn.hard:hover{background:#f8717133}.difficulty-btn .emoji{font-size:2.5rem}.difficulty-btn .label{font-size:1.5rem;font-weight:700;display:block}.difficulty-btn .desc{font-size:.9rem;color:var(--color-text-dim)}.start-links{display:flex;gap:10px;margin-top:30px;align-items:center;flex-wrap:wrap;justify-content:center}.stats-link{color:var(--color-primary-light);text-decoration:none;font-size:1.1rem;padding:10px 20px;border-radius:8px;transition:background .2s}.stats-link:hover{background:#10b98133}.gear-link{font-size:1.3rem;padding:8px 12px}.xp-bar{display:flex;align-items:center;gap:10px;width:100%;max-width:350px;margin-bottom:20px;padding:8px 16px;background:var(--color-bg-light);border-radius:12px}.xp-level{font-weight:700;color:var(--color-warning);font-size:.9rem;min-width:70px}.xp-bar-container{flex:1;height:8px;background:#334155;border-radius:4px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-warning));border-radius:4px;transition:width .5s ease}.xp-text{font-size:.85rem;color:var(--color-text-dim);min-width:50px;text-align:right}.mode-picker{display:flex;flex-direction:column;gap:12px;width:100%;max-width:350px;margin-top:30px}.mode-btn{display:flex;align-items:center;gap:12px;padding:18px 20px;border:2px solid var(--color-primary);border-radius:16px;cursor:pointer;transition:all .2s ease;background:var(--color-bg-light);color:var(--color-text);font-size:1rem}.mode-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow);background:#10b98126}.mode-btn.locked{opacity:.5;border-color:#475569;cursor:not-allowed}.mode-btn.locked:hover{transform:none;box-shadow:none;background:var(--color-bg-light)}.mode-btn.back{border-color:#475569;margin-top:5px}.mode-emoji{font-size:1.8rem}.mode-label{font-weight:700;font-size:1.2rem}.mode-lock{margin-left:auto;font-size:1.2rem}#game-screen{padding:10px;gap:10px}.game-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:700px;padding:10px;flex-wrap:wrap;gap:10px}#score-display{font-size:1.3rem;font-weight:700;color:var(--color-warning)}#streak-display{font-size:1.2rem;padding:5px 12px;background:var(--color-bg-light);border-radius:20px;transition:all .3s}#streak-display.active{background:linear-gradient(135deg,#f97316,#ef4444);animation:pulse .5s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}#timer-display{font-size:1.2rem;font-weight:600;padding:5px 12px;background:var(--color-bg-light);border-radius:8px}#timer-display.warning{color:var(--color-warning)}#timer-display.danger{color:var(--color-danger);animation:pulse .5s ease infinite}#lives-display{font-size:1.5rem;letter-spacing:3px}.prompt-container{background:var(--color-bg-light);padding:15px 30px;border-radius:16px;box-shadow:var(--shadow-glow);text-align:center;width:100%;max-width:700px}#prompt-display{font-size:1.8rem;font-weight:700;color:var(--color-text)}#progress-display{font-size:.9rem;color:var(--color-text-dim);margin-top:5px}.game-controls{display:flex;gap:10px;align-items:center}#hint-btn{padding:8px 16px;background:var(--color-primary-dark);color:#fff;border:2px solid var(--color-primary);border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}#hint-btn:hover:not(:disabled){background:var(--color-primary);transform:scale(1.05)}#hint-btn:disabled{opacity:.3;cursor:not-allowed}.map-container{width:100%;max-width:700px;background:var(--color-bg-light);border-radius:16px;padding:10px;position:relative;overflow:hidden}.map-container svg{width:100%;height:auto;display:block}.map-land-bg{fill:#283548;stroke:#374357;stroke-width:.5;pointer-events:none}.map-region{fill:#3b4a5e;fill-rule:evenodd;stroke:#64748b;stroke-width:.8;cursor:pointer;transition:fill .2s ease,opacity .2s ease}.map-region:hover{fill:#4b5e76;stroke:var(--color-primary-light);stroke-width:1.5}.map-region.found{fill:var(--color-primary);opacity:.7;cursor:default}.map-region.correct{fill:var(--color-success);animation:correctFlash .6s ease}@keyframes correctFlash{0%{fill:#6ee7b7}50%{fill:#34d399}to{fill:var(--color-success)}}.map-region.wrong{fill:var(--color-danger);animation:wrongFlash .4s ease}@keyframes wrongFlash{0%{fill:#fca5a5}to{fill:#334155}}.map-region.hint-pulse{animation:hintPulse 1s ease infinite}@keyframes hintPulse{0%,to{fill:#334155;stroke:#475569}50%{fill:#4c1d95;stroke:var(--color-secondary);stroke-width:3}}.map-label{fill:var(--color-text-dim);font-size:8px;font-family:var(--font-main);text-anchor:middle;pointer-events:none;font-weight:600}#message-display{min-height:35px;font-size:1.3rem;font-weight:600;color:var(--color-success);text-align:center}#message-display.animate{animation:popIn .3s ease}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}#funfact-display{min-height:24px;font-size:.95rem;color:var(--color-warning);text-align:center;font-style:italic;max-width:700px}#result-screen{justify-content:center}.result-content{text-align:center;background:var(--color-bg-light);padding:40px;border-radius:24px;box-shadow:var(--shadow-glow)}#result-title{font-size:2.5rem;margin-bottom:15px}#result-title.win{background:linear-gradient(135deg,var(--color-success),#6ee7b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#result-title.lose{color:var(--color-secondary)}#result-message{font-size:1.2rem;color:var(--color-text-dim);margin-bottom:20px}#final-score{font-size:2rem;font-weight:700;color:var(--color-warning);margin-bottom:10px}#result-stats{color:var(--color-text-dim);margin-bottom:25px;line-height:1.8}.result-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.primary-btn,.secondary-btn{padding:15px 30px;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.primary-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}.primary-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow)}.secondary-btn{background:var(--color-bg);color:var(--color-text);border:2px solid var(--color-primary)}.secondary-btn:hover{background:var(--color-primary)}.home-link-inline{display:inline-block;margin-top:20px;color:var(--color-primary-light);text-decoration:none;font-weight:600;font-size:1rem}.home-link-inline:hover{text-decoration:underline}#confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.confetti{position:absolute;width:10px;height:10px;top:-10px;animation:confetti-fall 3s ease-in forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.learn-card{text-align:center;background:var(--color-bg-light);padding:40px 30px;border-radius:24px;box-shadow:var(--shadow-glow);max-width:400px;width:100%;margin-top:60px;animation:cardFlip .4s ease}@keyframes cardFlip{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.learn-card-flag{font-size:4rem;margin-bottom:15px}.learn-card-name{font-size:2rem;font-weight:700;color:var(--color-text);margin-bottom:10px}.learn-card-capital{font-size:1.2rem;color:var(--color-primary-light);margin-bottom:10px}.learn-card-fact{font-size:1rem;color:var(--color-text-dim);font-style:italic;margin-bottom:20px;line-height:1.5}.learn-card-progress{font-size:.85rem;color:var(--color-text-dim);margin-bottom:20px}#learn-quiz-screen{padding:10px;gap:10px}#learn-quiz-prompt{font-size:1.8rem;font-weight:700;color:var(--color-text)}#learn-quiz-progress{font-size:.9rem;color:var(--color-text-dim);margin-top:5px}.learn-quiz-msg{min-height:35px;font-size:1.2rem;font-weight:600;color:var(--color-text-dim);text-align:center}.learn-quiz-msg.success{color:var(--color-success)}.learn-complete{text-align:center;background:var(--color-bg-light);padding:40px;border-radius:24px;box-shadow:var(--shadow-glow);max-width:400px;margin-top:60px}.learn-complete h1{font-size:2rem;color:var(--color-success);margin-bottom:20px}.learn-complete-stamps{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.stamp-earned{font-size:2.5rem;animation:stampBounce .5s ease}@keyframes stampBounce{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.learn-complete p{color:var(--color-text-dim);margin-bottom:20px;font-size:1.1rem}.learn-complete .primary-btn{margin-bottom:10px}.twoplayer-indicator{font-size:1.1rem;font-weight:700;padding:6px 16px;border-radius:20px;margin-top:40px}.twoplayer-indicator.layla{background:linear-gradient(135deg,#f472b6,#ec4899);color:#fff}.twoplayer-indicator.baba{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.switch-overlay{text-align:center;background:var(--color-bg-light);padding:60px 40px;border-radius:24px;box-shadow:var(--shadow-glow);margin-top:100px}.switch-title{font-size:2.5rem;background:linear-gradient(135deg,var(--color-primary-light),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:15px}.switch-overlay p{color:var(--color-text-dim);font-size:1.2rem;margin-bottom:30px}#twoplayer-result-screen{justify-content:center}.twoplayer-title{font-size:2.5rem;margin-bottom:20px}.twoplayer-title.win{background:linear-gradient(135deg,#f472b6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.twoplayer-title.lose{color:#60a5fa}.twoplayer-title.draw{color:var(--color-warning)}.twoplayer-scores{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.score-card{text-align:center;padding:15px 25px;border-radius:16px;background:var(--color-bg)}.score-card.layla{border:2px solid #f472b6}.score-card.baba{border:2px solid #60a5fa}.score-name{font-size:1rem;color:var(--color-text-dim);margin-bottom:5px}.score-value{font-size:2rem;font-weight:700;color:var(--color-warning)}.score-vs{font-size:1.5rem;color:var(--color-text-dim);font-weight:700}.twoplayer-record{color:var(--color-text-dim);margin-bottom:25px;font-size:.95rem}.level-up-notification{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:200;background:#000000b3;animation:fadeIn .3s ease}.level-up-content{text-align:center;background:var(--color-bg-light);padding:40px 60px;border-radius:24px;box-shadow:0 0 40px #fbbf2480;animation:levelUpPop .5s ease}@keyframes levelUpPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.level-up-content h2{font-size:2.5rem;color:var(--color-warning);margin-bottom:10px}.level-up-content p{font-size:1.3rem;color:var(--color-text)}#passport-app{min-height:100vh;padding:20px;font-family:var(--font-main);background:linear-gradient(135deg,var(--color-bg) 0%,#1a1a2e 100%);color:var(--color-text)}.passport-title{font-size:2.5rem;text-align:center;margin-top:40px;margin-bottom:20px;background:linear-gradient(135deg,var(--color-primary-light),var(--color-warning));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.passport-xp{display:flex;align-items:center;gap:10px;max-width:500px;margin:0 auto 20px;padding:10px 20px;background:var(--color-bg-light);border-radius:12px}.passport-level{font-weight:700;color:var(--color-warning)}.passport-xp-text{font-size:.9rem;color:var(--color-text-dim)}.passport-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:15px}.passport-tab{padding:8px 20px;border:2px solid #475569;border-radius:20px;background:var(--color-bg-light);color:var(--color-text);cursor:pointer;font-weight:600;transition:all .2s}.passport-tab.active{border-color:var(--color-primary);background:#10b98133}.passport-progress{text-align:center;font-size:1.1rem;color:var(--color-text-dim);margin-bottom:20px}.passport-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-width:700px;margin:0 auto}.stamp-cell{text-align:center;padding:12px 8px;border-radius:12px;background:var(--color-bg-light);transition:transform .2s}.stamp-cell.earned{border:2px solid var(--color-primary)}.stamp-cell.locked{opacity:.4;border:2px solid #334155}.stamp-icon{font-size:1.8rem;display:block;margin-bottom:4px}.stamp-name{font-size:.7rem;color:var(--color-text-dim);display:block}#parent-app{min-height:100vh;padding:20px;font-family:var(--font-main);background:linear-gradient(135deg,var(--color-bg) 0%,#1a1a2e 100%);color:var(--color-text)}.parent-title{font-size:2rem;text-align:center;margin-top:40px;margin-bottom:30px;color:var(--color-text)}.parent-section{max-width:500px;margin:0 auto 30px;padding:20px;background:var(--color-bg-light);border-radius:16px}.parent-section h2{font-size:1.3rem;margin-bottom:15px;color:var(--color-primary-light)}.parent-section h3{font-size:1rem;margin:15px 0 10px;color:var(--color-text-dim)}.parent-radio-group{display:flex;flex-direction:column;gap:10px}.parent-radio{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;cursor:pointer;transition:background .2s}.parent-radio:hover{background:#10b9811a}.parent-radio input{margin-top:4px}.parent-radio strong{display:block;color:var(--color-text)}.parent-radio p{font-size:.85rem;color:var(--color-text-dim);margin-top:2px}.parent-progress-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.9rem}.parent-bar-container{flex:1;height:8px;background:#334155;border-radius:4px;overflow:hidden}.parent-bar-fill{height:100%;background:var(--color-primary);border-radius:4px}.parent-xp-info{display:flex;flex-direction:column;gap:8px;font-size:.95rem}.parent-2p-record{display:flex;gap:20px;font-size:1rem;margin-bottom:10px}.match-row{font-size:.85rem;color:var(--color-text-dim);padding:4px 0}.parent-reset-buttons{display:flex;flex-direction:column;gap:10px}.parent-reset-buttons .secondary-btn{width:100%;padding:12px;font-size:.95rem}.secondary-btn.danger{border-color:var(--color-danger);color:var(--color-danger)}.secondary-btn.danger:hover{background:var(--color-danger);color:#fff}#confetti-container-2p{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}@media (max-width: 480px){.game-title{font-size:2.5rem}#prompt-display{font-size:1.4rem}.prompt-container{padding:12px 20px}.map-container{padding:5px}.map-label{font-size:6px}}
