*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;color:#fff;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;height:100%}body{min-width:320px;overscroll-behavior-y:contain}button{font:inherit;touch-action:manipulation}button,a,summary,[role=button]{-webkit-tap-highlight-color:transparent}.no-select{user-select:none;-webkit-user-select:none}.about{width:100%;max-width:460px;color:#c7d2fe;font-size:.85rem;line-height:1.4}.about-summary{display:flex;align-items:center;justify-content:center;min-height:48px;font-weight:700;cursor:pointer;list-style:none}.about-summary::-webkit-details-marker{display:none}.about-summary:before{content:"ⓘ";margin-right:6px}.about-summary:focus-visible{outline:4px solid #facc15;outline-offset:2px;border-radius:8px}.about-list{margin:0 0 4px;padding:10px 14px 10px 28px;border-radius:14px;background:#0f172ad9;display:grid;gap:4px}.country-filter{display:flex;flex:1 1 auto;gap:4px;padding:4px;border:2px solid rgba(255,255,255,.22);border-radius:999px;background:#0f172ab8}.country-filter-option{flex:1 1 0;min-height:48px;padding:6px 10px;border:none;border-radius:999px;background:transparent;color:#cbd5f5;font-size:1rem;font-weight:800;cursor:pointer;transition:background .15s ease,color .15s ease}.country-filter-option--on{background:#fff;color:#1e1b4b}.country-filter-option:focus-visible{outline:4px solid #facc15;outline-offset:2px}.country-map{display:block;width:100%;height:100%;overflow:visible}.country-map-land{fill:#dbe4f3;stroke:#94a3b8;stroke-width:1.5;stroke-linejoin:round}.country-map-inset{fill:#38bdf814;stroke:#94a3b8;stroke-width:2;stroke-dasharray:8 6}.country-map-halo{fill:#ef444447}.country-map-ring{fill:none;stroke:#fff}.country-map-dot{fill:#ef4444;stroke:#7f1d1d}.crest{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;background:#fff;overflow:hidden;flex:0 0 auto}.crest--large{width:min(100cqw,100cqh,340px);height:min(100cqw,100cqh,340px);padding:9%;border-radius:28px;box-shadow:0 16px 34px #00000073;container-type:size}@supports not (width: 1cqmin){.crest--large{width:min(70vw,40vh,320px);height:auto;container-type:normal}}.crest--small{width:56px;height:56px;padding:6px;border-radius:14px}.crest--tiny{width:40px;height:40px;padding:4px;border-radius:10px}.crest-image{width:100%;height:100%;object-fit:contain;display:block}.crest-badge{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:18%;font-size:1.1rem;font-weight:900;line-height:1}.crest--tiny .crest-badge{font-size:.85rem}.crest--large .crest-badge{font-size:34cqmin}@supports not (width: 1cqmin){.crest--large .crest-badge{font-size:clamp(3rem,18vw,7rem)}}.flash-card{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;min-height:0;padding:16px;border:2px solid rgba(255,255,255,.14);border-radius:28px;background:#ffffff0f;color:#fff;text-align:center}.flash-card--front{gap:8px;justify-content:center;font:inherit;cursor:pointer}.flash-card--front:focus-visible{outline:4px solid #facc15;outline-offset:3px}.flash-card--front:active{transform:scale(.99)}.flash-crest{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;container-type:size}.flash-name{font-size:clamp(1.8rem,8vw,2.6rem);font-weight:900;line-height:1.1;overflow-wrap:anywhere}.flash-league{margin:0;font-size:.95rem;font-weight:700;color:#c7d2fe}.flash-question{margin-top:4px;font-size:1.05rem;font-weight:600;color:#e0e7ff}.flash-card--back{gap:4px;padding:12px 14px 10px}.flash-back-team{display:flex;align-items:center;gap:12px;width:100%;text-align:left}.flash-back-team-text{min-width:0}.flash-back-name{margin:0;font-size:1.15rem;font-weight:800;line-height:1.2}.flash-city{margin:6px 0 0;font-size:clamp(2.2rem,11vw,3.4rem);font-weight:900;line-height:1.05;overflow-wrap:anywhere}.flash-city--long{font-size:clamp(1.8rem,8.5vw,2.8rem)}.flash-population{margin:0;font-size:clamp(1.2rem,5vw,1.5rem);font-weight:700;color:#fde68a}.flash-map{flex:1 1 auto;min-height:0;width:100%;padding:8px 4px 2px}.app{display:flex;flex-direction:column;align-items:center;gap:10px;height:100vh;height:100dvh;overflow:hidden;padding:max(10px,env(safe-area-inset-top,0px)) 14px calc(4px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,#1a1a2e,#16213e)}.app-header{flex:0 0 auto;display:flex;align-items:center;gap:10px;width:100%;max-width:460px}.app-progress{flex:0 0 auto;margin:0;font-size:.95rem;font-weight:700;color:#c7d2fe;white-space:nowrap;min-width:4.4em;text-align:right}.app-progress-count{font-size:1.3rem;font-weight:900;color:#fff}.app-main{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;max-width:460px}.app-actions{flex:0 0 auto;width:100%;max-width:460px}.grade-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary-button{display:block;width:100%;min-height:72px;padding:14px 16px;border:none;border-radius:20px;font-size:clamp(1.4rem,6vw,1.75rem);font-weight:800;color:#fff;cursor:pointer;box-shadow:0 8px #00000052;transition:transform .08s ease,box-shadow .08s ease}.primary-button:active{transform:translateY(4px);box-shadow:0 4px #00000052}.primary-button:focus-visible{outline:4px solid #facc15;outline-offset:4px}.primary-button--reveal{background:linear-gradient(180deg,#6366f1,#4338ca)}.primary-button--got{background:linear-gradient(180deg,#22c55e,#15803d)}.primary-button--missed{background:linear-gradient(180deg,#f87171,#b91c1c)}@media(min-width:700px){.app{gap:14px;padding:16px 24px 8px}.primary-button{min-height:84px;font-size:1.9rem}}@media(orientation:landscape)and (max-height:560px){.app{gap:6px;padding-top:6px}.primary-button{min-height:56px;font-size:1.2rem}}.app-caught-up{flex:0 0 auto;margin:0;font-size:.85rem;color:#94a3b8;text-align:center}
