@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700;9..144,800&family=Inter:wght@400;500;600;700&display=swap";:root{--font-display: "Fraunces", "Georgia", serif;--font-body: "Inter", system-ui, sans-serif;--color-card-bg: rgba(253, 250, 243, .98);--color-card-border: rgba(198, 161, 91, .35);--color-text: #202a3c;--color-muted: #6c7385;--color-primary: #a97a2f;--color-primary-dark: #8a621f;--color-teal: #0f5c56;--color-success: #2f6f4e;--color-success-bg: #e7f1e9;--color-danger: #a24a35;--color-danger-bg: #f6e9e4;--color-gold: #c6a15b;--radius-lg: 18px;--radius-md: 12px;--shadow-card: 0 24px 60px rgba(6, 12, 26, .45)}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}body{font-family:var(--font-body);color:var(--color-text);background-image:linear-gradient(#0b1830b8,#16324fb8),url(/assets/background-mobile-DySg3sYm.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;padding:24px;position:relative;overflow-x:hidden}@media (min-width: 768px){body{background-image:linear-gradient(#0b1830b8,#16324fb8),url(/assets/background-desktop-x6Ch1fbM.jpg);background-attachment:fixed}}#root{width:100%;display:flex;justify-content:center}.app-shell{width:100%;max-width:560px;margin:32px 0;position:relative;z-index:1;transition:max-width .25s ease}@media (min-width: 768px){.app-shell--game{max-width:960px}}.screen{background:var(--color-card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--color-card-border);border-top:3px solid var(--color-gold);padding:32px 28px;text-align:center;animation:pop-in .35s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.game-title{font-family:var(--font-display);font-size:2.1rem;font-weight:700;margin:0 0 4px;line-height:1.15;letter-spacing:.01em}.btn{font-family:var(--font-body);font-weight:600;font-size:1rem;border:none;border-radius:var(--radius-md);padding:12px 24px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-2px)}.btn:not(:disabled):active{transform:translateY(0)}.btn-primary{background:var(--color-primary);color:#fff8ec;box-shadow:0 8px 20px #a97a2f66}.btn-primary:not(:disabled):hover{background:var(--color-primary-dark)}.btn-secondary{background:transparent;color:var(--color-teal);border:2px solid var(--color-teal)}.btn-big{padding:16px 32px;font-size:1.1rem}.start-fact{color:var(--color-muted);font-size:.9rem;font-style:italic;line-height:1.5;margin:12px 0 4px}.start-screen .btn-big{margin-top:8px}.scoring-info{margin-top:24px;padding-top:18px;border-top:1px dashed var(--color-card-border);text-align:left}.scoring-info h2{font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin:0 0 10px;text-align:center}.scoring-list{margin:0;padding-left:20px;color:var(--color-muted);font-size:.88rem;line-height:1.6}.scoring-list li+li{margin-top:4px}.game-screen{padding-top:16px;padding-bottom:16px}.game-hud{display:flex;justify-content:space-between;font-size:.9rem;color:var(--color-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}.hud-item strong{font-family:var(--font-display);color:var(--color-text);font-size:1.15rem;letter-spacing:normal;text-transform:none}.timer-track{width:100%;height:8px;border-radius:999px;background:#a97a2f26;overflow:hidden;margin-bottom:12px}.timer-fill{height:100%;background:var(--color-teal);border-radius:inherit;transition:width 1s linear,background-color .3s ease}.timer-fill.is-urgent{background:var(--color-danger);animation:pulse .6s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.country-card{margin-bottom:10px}.country-flag{width:104px;height:78px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:2.8rem;line-height:1;animation:bounce-in .4s ease}@keyframes bounce-in{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.country-prompt{margin:0;color:var(--color-muted);font-size:.95rem}.country-name{font-family:var(--font-display);margin:4px 0 0;font-size:1.85rem;font-weight:700;line-height:1.2;min-height:2.4em}.world-map{margin-bottom:10px}.world-map-svg{overflow:hidden;border-radius:var(--radius-md);aspect-ratio:2.8 / 1;display:flex;align-items:center;justify-content:center}.world-map-svg svg{width:100%;height:auto;flex-shrink:0;display:block;transition:transform .6s ease}.world-map-svg path{fill:#0f5c5624;stroke:var(--color-card-bg);stroke-width:.5;transition:fill .3s ease}.world-map-credit{margin:4px 0 0;font-size:.72rem;color:var(--color-muted);text-align:right}.world-map-credit a{color:inherit}.answer-form{display:flex;gap:10px}.answer-input{flex:1;font-family:var(--font-body);font-size:1.05rem;padding:12px 16px;border-radius:var(--radius-md);border:2px solid rgba(169,122,47,.25);outline:none;background:#fff;transition:border-color .15s ease}.answer-input:focus{border-color:var(--color-primary)}.answer-input:disabled{background:#a97a2f0f}.feedback-banner{margin-top:12px;padding:10px 16px;border-radius:var(--radius-md);font-weight:600;min-height:84px}.feedback-banner.is-hidden{visibility:hidden}.feedback-banner p{margin:0}.feedback-banner.is-correct{background:var(--color-success-bg);color:var(--color-success);animation:pop-in .25s ease}.feedback-banner.is-close{background:#c6a15b38;color:var(--color-primary-dark);animation:pop-in .25s ease}.feedback-banner.is-wrong,.feedback-banner.is-timeout{background:var(--color-danger-bg);color:var(--color-danger);animation:shake .4s ease}.points-earned{font-weight:700;opacity:.85}.feedback-banner .fun-fact{margin-top:8px;padding-top:8px;border-top:1px dashed currentColor;opacity:.85;font-weight:500;font-size:.92rem}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.final-score{font-size:1.05rem;color:var(--color-muted);margin:8px 0 20px}.final-score span{font-family:var(--font-display);font-size:2.6rem;font-weight:700;color:var(--color-primary);display:block}.save-score-form label{display:block;margin-bottom:8px;color:var(--color-muted);font-size:.95rem}.save-score-row{display:flex;gap:10px}.save-score-row input{flex:1;font-family:var(--font-body);font-size:1rem;padding:10px 14px;border-radius:var(--radius-md);border:2px solid rgba(169,122,47,.25);outline:none}.save-score-row input:focus{border-color:var(--color-primary)}.save-confirmation{font-weight:600;color:var(--color-success)}.save-error{margin:8px 0 0;font-size:.9rem;color:var(--color-danger)}.leaderboard-panel{margin-top:28px;padding-top:20px;border-top:1px dashed var(--color-card-border)}.leaderboard-panel h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin:0 0 12px}.leaderboard-empty{color:var(--color-muted);font-style:italic}.leaderboard-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;text-align:left}.leaderboard-row{display:flex;align-items:center;gap:12px;background:#a97a2f0f;border:1px solid rgba(169,122,47,.12);border-radius:var(--radius-md);padding:10px 14px}.leaderboard-row.is-new{background:#c6a15b29;outline:2px solid var(--color-gold);animation:pop-in .4s ease}.leaderboard-rank{font-family:var(--font-display);font-weight:700;width:2ch}.leaderboard-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-score{color:var(--color-muted);font-weight:600}.bg-decor{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.bg-decor-item{position:absolute;left:var(--x);top:var(--y);font-size:var(--size, 2.5rem);color:var(--color-gold);opacity:.16;animation:float-drift var(--duration, 8s) ease-in-out infinite;animation-delay:var(--delay, 0s)}@keyframes float-drift{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-20px) rotate(3deg)}}@media (max-width: 480px){.bg-decor-item{opacity:.1}}@media (max-width: 480px){.screen{padding:24px 18px}.country-name{font-size:1.5rem}.answer-form,.save-score-row{flex-direction:column}}
